Security News
The Push to Ban Ransom Payments Is Gaining Momentum
Ransomware costs victims an estimated $30 billion per year and has gotten so out of control that global support for banning payments is gaining momentum.
map-obj
Advanced tools
Package description
The map-obj package is a utility that allows you to map object keys and values into a new object. It provides a simple way to transform objects based on a mapping function.
Mapping keys and values
You can map the keys and values of an object to new keys and values. For example, you can take an object with keys 'foo' and 'bar' and transform them into 'newFoo' and 'newBar' with corresponding values.
{"newKey": "newValue"}
Custom mapping function
The package allows you to provide a custom mapping function that receives the key and value of each property and returns a new key-value pair array. This function is applied to each property in the original object.
const mapObj = require('map-obj');
const newObject = mapObj({ foo: 'bar' }, (key, value) => [key.toUpperCase(), value.repeat(3)]);
Deep mapping
map-obj supports deep mapping, which means you can apply the mapping function recursively to nested objects.
const mapObj = require('map-obj');
const newObject = mapObj({ foo: { bar: 'baz' } }, (key, value) => [key, value], { deep: true });
Target option
You can specify a target object to which the mapped properties will be assigned. This allows you to merge the new properties with an existing object.
const mapObj = require('map-obj');
const target = { existing: 'prop' };
const newObject = mapObj({ foo: 'bar' }, (key, value) => [key, value], { target });
lodash.mapkeys is a method from the Lodash library that allows you to create an object with the same values as the original object but with keys mapped using a provided function. It is similar to map-obj but is part of the larger Lodash utility library.
object-map is a package that provides a function to map the values of an object to new values based on a provided function. It is similar to map-obj but focuses only on mapping values, not keys.
deep-map-object is a package that allows deep mapping of object keys and values. It is similar to map-obj's deep mapping feature but is specifically designed for deep transformations.
Readme
Map object keys and values into a new object
$ npm install --save map-obj
const mapObj = require('map-obj');
const newObject = mapObj({foo: 'bar'}, (key, value) => [value, key]);
//=> {bar: 'foo'}
Type: Object
Source object to copy properties from.
Type: Function
Mapping function.
mapper(sourceKey, sourceValue, source)
.[targetKey, targetValue]
.Type: boolean
Default: false
Recurse nested objects and objects in arrays.
Type: Object
Default: {}
Target object to map properties on to.
MIT © Sindre Sorhus
FAQs
Map object keys and values into a new object
The npm package map-obj receives a total of 18,940,973 weekly downloads. As such, map-obj popularity was classified as popular.
We found that map-obj demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Ransomware costs victims an estimated $30 billion per year and has gotten so out of control that global support for banning payments is gaining momentum.
Application Security
New SEC disclosure rules aim to enforce timely cyber incident reporting, but fear of job loss and inadequate resources lead to significant underreporting.
Security News
The Python Software Foundation has secured a 5-year sponsorship from Fastly that supports PSF's activities and events, most notably the security and reliability of the Python Package Index (PyPI).