1.0.0 • Published 8 years ago

halis-state v1.0.0

Weekly downloads
1
License
MIT
Repository
github
Last release
8 years ago

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 ]