A tiny lib for object field's normalization.
This is a tiny lib (~14kb size unpacked) compatible with Node.js v11+, useful to format the name of all keys in a object.
For example, imagine you have a frontend in JavaScript which uses the camelCase ({ fullName, contactInfo })
pattern for object's naming convention and you have a ruby on rails's backend api which uses the snakeCase convention ({ full_name, contact_info }), sometimes the data flow can be a messy if you don't keep these objects normalized between these frontend and backend, and that's why this tiny lib was born.
npm install --save field-normalizer
const FNZ = require('field-normalizer');
const exampleObj = {
fullName: 'John Connor',
contactEmail: '[email protected]',
phoneNumber: '+05533334444',
};
FNZ.toLowerCase(exampleObj);
// { fullname, contactemail, phonenumber }
FNZ.toUpperCase(exampleObj);
// { FULLNAME, CONTACTEMAIL, PHONENUMBER }
FNZ.toCamelCase(exampleObj);
// { fullName, contactEmail, phoneNumber }
FNZ.toPascalCase(exampleObj);
// { FullName, ContactEmail, PhoneNumber }
FNZ.toConstantCase(exampleObj);
// { FULL_NAME, CONTACT_EMAIL, PHONE_NUMBER }
FNZ.toSnakeCase(exampleObj);
// { full_name, contact_email, phone_number }
FNZ.toHeaderCase(exampleObj);
// { Full-Name, Contact-Email, Phone-Number }
FNZ.toParamCase(exampleObj);
// { full-name, contact-email, phone-number }
console.log(FNZ.FUNCTIONS)
FNZ.transform(exampleObj, FNZ.FUNCTIONS.camelCase);
Caio Ribeiro Pereira [email protected]
Twitter: https://twitter.com/crp_underground
About me: https://crpwebdev.github.io