Map object key/value into new object, but let you alter/delete some keys using functions
npm install --save map-value
mapValue({a:1, b:2}, {b: v=>v*2})
// {a:1, b:4}
const newObject = mapValue(
{a:1,b:2},
{
a: value => ({c:3}),
x: (value, key) => ({x:value, k:key, d: 1234})
}
)
Result:
{
b: 2,
c: 3,
x: undefined,
k: 'x',
d: 1234
}