UNPKG

halis-state

Version:

Manage immutable state with these helpers for Objects and Arrays

67 lines (47 loc) 1.75 kB
# halis-state Manage immutable state with these helpers for Objects and Arrays ## Install ``` bash npm install halis-state --save ``` ## If you download the git repo ``` bash npm install && npm run test ``` ## Usage Minimal usage: ```js const util = require( 'halis-state' ); util.isObject( { hello: 'world' } ); // true util.isObject( new Date() ); // true util.isObject( [] ); // false util.isObject( function() { return 0; } ); // false util.isArray( [1, 2, 3] ); // true util.isArray( { hello: 'world' } ); // false util.isString( 'asdf' ); // true util.isString( false ); // false // return the object or an empty object util.defaultObject( null ); // {} util.defaultObject( { hello: 'world' } ); // { hello: 'world' } // return the array or an empty array util.defaultArray( null ); // [] util.defaultArray( [ 1, 2, 3 ] ); // [ 1, 2, 3 ] // returns a new copy of the object util.copyObject( { hello: 'world' } ); // { hello: 'world' } // can merge too util.copyObject( { hello: 'world' }, { name: 'bob' } ); // { hello: 'world', name: 'bob' } // returns a new copy of the array util.copyArray( [ 1, 2 ] ); // [ 1, 2 ] // can merge too util.copyArray( [ 1, 2 ], [ 3, 4 ] ); // [ 1, 2, 3, 4 ] // new copy of object with new key and value util.insertObject( { hello: 'world', 'name', 'bob' } ); // { hello: 'world', name: 'bob' } // new copy of array with new value pushed util.pushArray( [ 1, 2, 3 ], 4 ); // [ 1, 2, 3, 4 ] // remove key from object util.removeObjectKey( { hello: 'world' }, 'hello' ); // {} // new copy of array with index removed util.removeArrayIndex( [ 1, 2, 3 ], 1 ); // [ 1, 3 ] // new copy of array with negative index removed from end of aray util.removeArrayIndex( [ 1, 2, 3 ], -1 ); // [ 1, 2 ] ```