setval
write values to a nested object like to a flat key value store
usage
npm install setval
var setval = // setval(state, path, value, [delimiter])// return `path` or `undefined` if set was not successfulvar state = a: b: 567 '': 3 // => { a: { b: [5,6,7] }, '': 3 } // => { a: { b: [5,6,7] }, '': 3 } // => { a: { b: [5,6,7] } } // => { a: { b: [5,6,7] }, '': 6 } // => { '': 6, a: { b: [5,6,7] } } // => { a: { b: [5,6,7] }, '': { '': 'yay' } } var state = a: b: 567 '': 3 // => { '': 3, a: 'm3h' } // => { '': 3 } // => { '': { a: { b: 5 } } } // => { '': { a: { b: 5, '': 123 } } } // => { '':{ a: { b:5,'':123 }, '':{'':'yay'}}}// => { '': { a: { b: 5,'': 123 }, '': { '': 'yay' } }, a: { '': { x: 5 } } } var state = // => { a: { b: 'hello world' } } // => { a: {} } // => { a: { b: 'hello world' } } // => { a: { b: 'hello world', c: 'foobar' } } // => { a: { b: 'hello world', c: null } } // => { a: { b: 'hello world' } } // => { a: { b: { c: true } } } var state = // => { a: { b: 'hello world' } } // => { a: [5,6,7] } // => { a: [5,6,7], b: { y: 2} } // => { a: [5,6,7], b: { y: 2, 0: { x: 2 } } } // => { a: [5,6,7], b: { 0: { x: 2 } } } // => { a: [5,{ x: 1 },7], b: { 0: { x: 2 } } } var x = a: 5 x: 1 7 b: 0: x: 2 xay = foo: 'bar' // works, but state is not JSON.stringifiable // => x var state = // => { a: { b: 'hello world' } }
Related
- see getval