ImmuFunc
Effective functions to keep data structure immutable
Install
npm install --save immu-func
Getting Started
Node
let immu = ;
Babel
; const a = b: 0 1 2 c: 5 console;// => { b: [ 0, 1, 2, { c: 6 } ] }
Modify State Tree
; const stateTree = a: b: c: 5 ; const branch = 'a' 'b';const newState = c: 6 ; const newStateTree = ; console;// => { a: { b: { c: 6 } } }
Polyfill
; const obj1 = a: b: 5 ;const obj2 = obj1; console;// => { a: { b: 6 } }
; const obj1 = a: b: 5 ;const obj2 = obj1; console;// => { a: { b: 6 } }
API Reference
clone
const arr1 = 1 2 3const arr2 = ; console;// => [ 1, 2, 3 ]; console;// => false; const obj1 = a: 5 ;const obj2 = ; console;// => { a: 5 } console;// => false
update
const obj1 = a: 5 const obj2 = ; console;// => { a: 6 }
setIn
const obj1 = a: b: c: 5 ;const obj2 = ; console;// => { a: { b: { c: 6 } } }
updateIn
const obj1 = a: b: c: 5 ;const obj2 = ; console;// => { a: { b: { c: 6 } } }
keys
console;// => [ 'a', 2, 'c' ]
assign
const obj1 = a: 5 const obj2 = b: 6 const obj3 = ; console;// => { a: 5, b: 6 } const arr1 = 0 1 2 3 4;const arr2 = 4: 1000 const arr3 = ; console;// => [ 0, 1, 2, 3, 1000 ];
deepMerge
const obj1 = a: 1 b: 0 1 2 c: 5 const obj2 = b: 3: c: 100 const obj3 = ;console;// => { a: 1, b: [ 0, 1, 2, { c: 100 } ] }
/*...*/ { /*...*/ } const obj1 = messages: /*...*/const obj2 = messages: /*...*/ const obj3 =
deepEqual
const obj1 = a: 1 b: 0 1 2 c: 5 const obj2 = a: 1 b: 0 1 2 c: 5 console;// => true const obj3 = ;console;// => false;
deepClone
const obj1 = /*...*/const obj2 =
setType
{ thiscontent = "hello!"; } { return thiscontent; } let state = message: let newState = ;newStatemessage = ;console;// => hello world!
Changelog
Visit Github Releases page for more infomation.