camelHumps
Allow accessing object with snake_case property names using camelCase property names
Why do I need it?
One example is whenever you'd like to seamlessly destructure or access an API request or response that are described in snake_case, by using camelCase for having a consistent code
Why choosing camelHumps over other similar packages?
Basically camelHumps utilizes NodeJS Proxy class and doesn't deep-clone the original object as other similar packages do.
Which results in
✅ No overhead of deep-cloning objects
✅ Minimal effect on memory footprint
✅ Applied only to fields that have being accessed
✅ Supports both snake_case and kebab-case
✅ Can mutate the original object 😱
Install
npm i camel-humps
API
camelHumps(obj, options)
options:
- kebab (false) - given object properties are in kebeb-case
Usage
const camelHumps = ;
const snakeObj = ; // for snake_caseconst kebabObj = ; // for kebab-case
Examples
const body = ;console;// result: { // customer_details: { first_name: 'Jon', last_name: 'Stark' },// birth_place: 'Tower of Joy' } const camelBody = ;const characterDetails = camelBody;console;// result: { first_name: 'Jon', last_name: 'Stark' } const firstName lastName = characterDetails;console;// result: { first_name: 'Jon', last_name: 'Stark' } camelBodycharacterDetailsfirstName = 'Arya';camelBodybirthPlace = 'Winterfel';console;// result: {// characterDetails: { first_name: 'Arya', last_name: 'Stark' },// birthPlace: 'Winterfel' }