Map object keys and values into a new object
$ npm install map-obj
const mapObject = require('map-obj');
const newObject = mapObject({foo: 'bar'}, (key, value) => [value, key]);
//=> {bar: 'foo'}
const newObject = mapObject({FOO: true, bAr: {bAz: true}}, (key, value) => [key.toLowerCase(), value]);
//=> {foo: true, bar: {bAz: true}}
const newObject = mapObject({FOO: true, bAr: {bAz: true}}, (key, value) => [key.toLowerCase(), value], {deep: true});
//=> {foo: true, bar: {baz: true}}
Type: object
Source object to copy properties from.
Type: (sourceKey, sourceValue, source) => [targetKey, targetValue, mapperOptions?]
Mapping function.
Type: boolean
\
Default: true
Whether targetValue
should be recursed. Requires deep: true
.
Type: object
Type: boolean
\
Default: false
Recurse nested objects and objects in arrays.
Type: object
\
Default: {}
Target object to map properties on to.