j-walk
tiny dot notation JavaScript object getter/setter
Install
npm install j-walk
API
jwalk(*selector*).get(*key*)
returns
undefined
if not found
jwalk(*selector*).set(*key*, *value*)
create and set property value if
undefined
through the nesting chain. Stops new value creation at firstundefined
array selector
jwalk(*selector*).exists(*key*)
truthy assertion if property is defined
get
let jwalk = ; let base = 'root': 42; ; // 42; // undefined let base = 'root': 'nested-a': 'nested-b': 'nested-c': 42 'sibling-a': 84 ; ; // 42; // 84 let base = 'id': 2 value: 21 'id': 4 value: 42 'id': 6 value: 84 name: 'scniro'; ; // 42; // undefined; // 84 let base = 'root': 'collectionA': id: 1 id: 2 collectionB: id: 10 value: 21 id: 20 value: 42 id: 30 value: 84 id: 3 ; // 42
set
let base = {}; ;;// base = { root: { sub: { nested: 42 } } } let base = 'root': id: 1 value: 10 id: 2 value: 20 id: 3 value: 30 ; ;// 'root': [{id: 1, value: 10}, {id: 2, value: 20, other: 'foo'}, [...]
exists
let base = 'root': null; // true // false