Deep Map Keys
Install | Usage | API | TypeScript | License
Deep Map Keys recurses through an object and transforms its keys – and the keys of any nested objects – according to some function. Circular references are supported.
To transform the values of an object rather than its keys, use Deep Map.
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 = ; 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' ; { return key;} let result = ;
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. The object may contain circular
references.
|
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.
TypeScript
TypeScript declarations are included in the package. Just import the module, and things will just work.
The shape of the returned object cannot be inferred from the inputs; however it can be defined by passing a single type argument.
; ; // Everything is OK :)
License
Copyright © 2016–2019 Akim McMath. Licensed under the MIT License.