halis-state

1.0.0 • Public • Published

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 ]
 

Package Sidebar

Install

npm i halis-state

Weekly Downloads

7

Version

1.0.0

License

MIT

Last publish

Collaborators

  • halis