Package Exports
- deep-map-keys
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (deep-map-keys) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Deep Map Keys
Deep Map Keys recurses through an object and transforms its keys – and the keys of any nested objects – according to some function.
Install
Install Deep Map Keys via npm.
npm install --save deep-map-keys
Usage
Suppose we want to change the keys of an object from snake case to camel case. We can do something like this:
const deepMapKeys = require('deep-map-keys');
let comment = {
comment_id: 42,
user_id: 1024,
user_name: 'Mufasa',
content: 'You deliberately disobeyed me.',
viewed_by: [
{ user_id: 3820, user_name: 'Rafiki' },
{ user_id: 8391, user_name: 'Zazu' }
]
};
let result = deepMapKeys(comment, key => {
return key.replace(/_(\w)/g, (match, char) => char.toUpperCase());
});
And the result will look like this:
{
commentId: 42,
userId: 1024,
userName: 'Mufasa',
content: 'You deliberately disobeyed me.',
viewedBy: [
{ userId: 3820, userName: 'Rafiki' },
{ userId: 8391, userName: 'Zazu' }
]
}
API
deepMapKeys(object, mapFn, [options])
Parameters
Param | Type | Description |
---|---|---|
object | any |
The object whose keys are to be transformed. Typically, this will be
a complex object containing other nested objects. This object may be an
Array , in which case the keys of any objects it
contains will be transformed.
|
mapFn | function |
The function used to transform each key. The function is
called with two arguments:
|
[options] | object |
An optional options object. The following option is accepted:
|
Returns
Returns a new object.
License
Copyright © 2016 Akim McMath. Licensed under the MIT License.