@jcoreio/mutate

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

Usage no npm install needed!

<script type="module">
  import jcoreioMutate from 'https://cdn.skypack.dev/@jcoreio/mutate';
</script>

README

@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

npm 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.