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
:white_check_mark:
No overhead of deep-cloning objects
:white_check_mark:
Minimal effect on memory footprint
:white_check_mark:
Applied only to fields that have being accessed
:white_check_mark:
Supports both snake_case and kebab-case
:white_check_mark:
Can mutate the original object
:scream:
API
camelHumps(obj, options)
options:
- kebab (false) - given object properties are in kebeb-case
Usage
const camelHumps = require('camelHumps');
const snakeObj = camelHumps(obj);
const kebabObj = camelHumps(obj, {kebeb: true});
Examples
const body = fetchData('/313');
console.info(body);
const camelBody = camelHumps(body);
const { characterDetails } = camelBody;
console.info(characterDetails);
const { firstName, lastName } = characterDetails;
console.info({ firstName, lastName });
camelBody.characterDetails.firstName = 'Arya';
camelBody.birthPlace = 'Winterfel';
console.info(camelBody);