field-normalizer
v0.0.9
Published
A tiny lib for object field's normalization
Downloads
15
Maintainers
Readme
Field Normalizer
A tiny lib for object field's normalization.
About
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.
How to install
npm install --save field-normalizer
How to use
Object example:
const FNZ = require('field-normalizer');
const exampleObj = {
fullName: 'John Connor',
contactEmail: '[email protected]',
phoneNumber: '+05533334444',
};
Transforming all object fields to lower case:
FNZ.toLowerCase(exampleObj);
// { fullname, contactemail, phonenumber }
Transforming all object fields to upper case:
FNZ.toUpperCase(exampleObj);
// { FULLNAME, CONTACTEMAIL, PHONENUMBER }
Transforming all object fields to camel case:
FNZ.toCamelCase(exampleObj);
// { fullName, contactEmail, phoneNumber }
Transforming all object fields to pascal case:
FNZ.toPascalCase(exampleObj);
// { FullName, ContactEmail, PhoneNumber }
Transforming all object fields to constant case:
FNZ.toConstantCase(exampleObj);
// { FULL_NAME, CONTACT_EMAIL, PHONE_NUMBER }
Transforming all object fields to snake case:
FNZ.toSnakeCase(exampleObj);
// { full_name, contact_email, phone_number }
Transforming all object fields to header case:
FNZ.toHeaderCase(exampleObj);
// { Full-Name, Contact-Email, Phone-Number }
Transforming all object fields to param case:
FNZ.toParamCase(exampleObj);
// { full-name, contact-email, phone-number }
Constant of all public functions:
console.log(FNZ.FUNCTIONS)
Factory transform() for function dynamic invokation:
FNZ.transform(exampleObj, FNZ.FUNCTIONS.camelCase);
Author
Caio Ribeiro Pereira [email protected]
Twitter: https://twitter.com/crp_underground
About me: https://crpwebdev.github.io