@agilebot/decamelize-keys
v2.0.2
Published
Convert object keys from camel case
Downloads
6
Maintainers
Readme
decamelize-keys
Convert object keys from camel case using
decamelize
Install
npm install decamelize-keys
Usage
import decamelizeKeys from 'decamelize-keys';
// Convert an object
decamelizeKeys({fooBar: true});
//=> {foo_bar: true}
// Convert an array of objects
decamelizeKeys([{fooBar: true}, {barFoo: false}]);
//=> [{foo_bar: true}, {bar_foo: false}]
API
decamelizeKeys(input, options?)
input
Type: object | object[]
An object or array of objects to decamelize.
options
Type: object
separator
Type: string
Default: '_'
The character or string used to separate words.
import decamelizeKeys from 'decamelize-keys';
decamelizeKeys({fooBar: true});
//=> {foo_bar: true}
decamelizeKeys({fooBar: true}, {separator: '-'});
//=> {'foo-bar': true}
exclude
Type: Array<string | RegExp>
Default: []
Exclude keys from being decamelized.
stopPaths
Type: string
Default: []
Exclude children at the given object paths in dot-notation from being decamel-cased. For example, with an object like {a: {b: '🦄'}}, the object path to reach the unicorn is 'a.b'.
decamelizeKeys({
aB: 1,
aC: {
cD: 1,
cE: {
eF: 1
}
}
}, {
deep: true,
stopPaths: [
'aC.cE'
]
}),
/*
{
a_b: 1,
a_c: {
c_d: 1,
c_e: {
eF: 1
}
}
}
*/
deep
Type: boolean
Default: false
Recurse nested objects and objects in arrays.
import decamelizeKeys from 'decamelize-keys';
decamelizeKeys({fooBar: true, nested: {unicornRainbow: true}}, {deep: true});
//=> {foo_bar: true, nested: {unicorn_rainbow: true}}
Related
- camelcase-keys - The inverse of this package.