0.2.0-beta.2 • Published 5 years ago
graph-reducer v0.2.0-beta.2
Graph-Reducer
Something like lodash.merge() (a recursive version of Object.assign()) that specially designed for graph-stater.
It additionally supports functions (in payload(s) argument(s)) to make it possible to transform properties based on their previous states/values.
It also deeply compares the source state (source object) with the primary result (newState), during its original process and returns an additional value (noTransform) that shows the result of this comparison.
Installation
npm i graph-reduceror using yarn:
yarn add graph-reducerUsage
import graphReducer from 'graph-reducer'
const srcState = {
a: 'a',
n: 10,
v: {c: 'c'}
}
const payload = {
a: 'A',
v: {c: 'C'},
n: n => n * 2,
}
const {newState} = graphReducer(srcState, payload)
assert.deepStrictEqual(newState, { // import assert from 'assert' // https://nodejs.org/api/assert.html
a: 'A',
n: 20,
v: {c: 'C'}
})License
MIT © Mir-Ismaili
0.2.0-beta.2
5 years ago
0.2.0-beta.1
5 years ago