iu-ts

1.0.0 • Public • Published

iu-ts

Immutably and easily update deep nested objects

Note: This is a typescript module

This immutable object updater leaves the original object in tact and produces a new object.

It targets a specific object node and creates a new object with the particular node updated to the new value

If the node doesn't already exist, it will be created. If the node is updated to undefined / null / [] / {}, this will delete the node and any parent nodes that no longer have a child.

The first param is state - AKA the object to update

The second param is an array representing which node to target.

eg. ['lvl1', 'lvl2', 'val'] represents state.lvl1.lvl2.val

Note: the second parameter can also be a string delimted by '/' eg. 'lvl1/lvl2/val'

The third param is the value to update the node to

Example

 
import { iu } from 'iu-ts';
 
obj = {
    hi: {
        im: {
            deeply: 'nested'
        }
    }
};
 
const newObj = iu(obj, 'hi/im/deeply', { immutably : 'updated' });
 

/iu-ts/

    Package Sidebar

    Install

    npm i iu-ts

    Weekly Downloads

    0

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    4.3 kB

    Total Files

    4

    Last publish

    Collaborators

    • attack-monkey