Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

field-normalizer-pro

yklydxtt5MIT0.0.1

A tiny lib for object field's normalization

object, field, key, normalizer, object-transform, object-normalization, transform

readme

Field Normalizer

Donate via Paypal Build Status Codacy Badge Coverage Status npm GitHub npm GitHub stars GitHub forks

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: 'john.connor@sky.net',
  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 caio.ribeiro.pereira@gmail.com
Twitter: https://twitter.com/crp_underground
About me: https://crpwebdev.github.io

changelog

0.0.8

  • Improvements: throw error when is an invalid transformation kleber-gueriero
  • Improvements: test improvements and added separate factories for clean tests

0.0.7

0.0.6

  • Improvements: fix deep keys transformation xingyeqishi

0.0.5

  • Feature: export transform factory function
  • Feature: export constant of allowed function
  • Feature: added isValidFunction() to avoid invalid params in transform() factory
  • Improvements: renamed isObject() to isValidObject()
  • Improvements: changed external transform() native params to internal NATIVE_FUNCTIONS
  • Improvements: added nodejs v11 support

0.0.4

  • Feature: added function and tests for toParamCase()
  • Feature: added function and tests for toHeaderCase()

0.0.3

  • Improvements: update documentation
  • Feature: added isObject() to avoid invalid params
  • Improvements: added nodejs v13 support
  • Improvements: added codacy support for code quality
  • Improvements: added coveralls for test coverage

0.0.2

  • Improvements: update readme and package description
  • Feature: added private function transforms()

0.0.1

  • Feature: added function and tests for toLowerCase()
  • Feature: added function and tests for toUpperCase()
  • Feature: added function and tests for toCamelCase()
  • Feature: added function and tests for toPascalCase()
  • Feature: added function and tests for toConstantCase()
  • Feature: added function and tests for toSnakeCase()