Создает массив объектов с информацией о символах маски. Вход: "DDDD[-]DD[-]DD". Выход: [{ char: "-", pos: 5, posInVal: 4 }, { char: "-", pos: 10, posInVal: 7 }]
/**
* Создает массив объектов с информацией о символах маски
* @param {parameter type}
* @return {return type}
*/
function createMapMaskSymbols(mask){
var countBracket = 0;
var inBracket = false;
var mapMasks = _.map(mask, function(val, idx){
if(val === '[' || val === '{'){
countBracket++;
inBracket = true;
return;
}
if(val === ']' || val === '}'){
countBracket++;
inBracket = false;
}
if(inBracket){
return {
char: val,
// позиция в маске
pos: idx,
// позиция в значении после применения маски
posInVal: idx - countBracket
};
}
});
return _.compact(mapMasks);
}