Created by
Eduardo Matos
| const config = {
cep: chain(numbersOnly),
cpf: chain(numbersOnly),
cnpj: chain(numbersOnly),
nome: chain(trim, lowercase),
};
export default input => {
const output = { ...input };
Object.keys(output).forEach(key => {
if (key in config) {
output[key] = config[key](output[key]);
}
});
return output;
}
function numbersOnly (number) {
return number.replace(/\D+/g, '');
}
function trim (value) {
return value.trim();
}
function lowercase (value) {
return value.toLowerCase();
}
function chain (...filters) {
return value => {
return filters.reduce((output, filter) => filter(output), value);
};
};
|