halis-state
v1.0.0
Published
Manage immutable state with these helpers for Objects and Arrays
Downloads
18
Maintainers
Readme
halis-state
Manage immutable state with these helpers for Objects and Arrays
Install
npm install halis-state --save
If you download the git repo
npm install && npm run test
Usage
Minimal usage:
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 ]