nested-prop-paths
Use when you don't know path to a key/prop. Finds null value prop. Returns all paths, then we can filter the path we want from list of paths or paths/values arrays.
- find all nested paths in an object for a given key/prop
- find all paths to a given value in an object
Install
npm install nested-prop-paths -P
Use
Require nested-property:
var propPaths = propPaths;var = ;
examples
see an example output run :
const runExample = runExample;console;
Try with mocked data = obj1
const propPaths = propPaths;const results = ;
results
generated keys for prop 'id':
[ [ 'id' ],
[ 'type', 'id' ],
[ 'validations', '0', 'id' ],
[ 'validations', '0', 'selection', 'id' ],
[ 'validations', '1', 'id' ],
[ 'validations', '1', 'selection', 'values', 'id' ] ]
get values from paths
const getVals = getVals;console;
getVals yields :
[ '100', '200', '300', '400', '500', '600' ]
Try a sub node in mock: obj2
obj2 nested obj2.id.id: { id:
[ { name: 'John', selection: [Object] },
{ name: 'Bill', selection: [Object] } ] }
The nested obj propkey 'selection' exists, but we expect hasOwnProperty == false which returns false
'propPaths' returns the path(s) to prop/key 'selection' as
[ [ 'id', '0', 'selection' ], [ 'id', '1', 'selection' ] ]
also find
We also can 'find' a value
; console;
to get paths(s) for all values of '400' in **obj1**
[ 'validations', '0', 'selection', 'id' ]
LICENSE
MIT