Skip to content
/ mutate Public

a few immutable.js-like mutation functions for plain objects

License

Notifications You must be signed in to change notification settings

jcoreio/mutate

Repository files navigation

@jcoreio/mutate

Build Status Coverage Status semantic-release Commitizen friendly

a few immutable.js-like mutation functions for plain objects

Beware of using Ramda.js! It always returns a new object, even if nothing changed!

Usage

pnpm install --save @jcoreio/mutate

API

setIn(obj: any, path: Iterable<any>, newValue: any): any

const { setIn } = require('@jcoreio/mutate')

Works just like setIn from Immutable.js but operates on nested JS Objects and Arrays.

updateIn(obj: any, path: Iterable<any>, [notSetValue: any], updater: (value: any) => any): any

const { updateIn } = require('@jcoreio/mutate')

Works just like updateIn from Immutable.js but operates on nested JS Objects and Arrays.