Package Exports
- deep-for-each
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (deep-for-each) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
deep-for-each
Recursively iterates over arrays and objects. The iteration is made using a deep-first algorithm.
Installation
$ npm install deep-for-each
This library expects the host environment to be up-to-date or polyfilled with core-js or similar.
Usage
import deepForEach from 'deep-for-each';
deepForEach({
prop1: 'foo',
prop2: ['foo', 'bar'],
prop3: ['foo', 'foo'],
prop4: {
prop5: 'foo',
prop6: 'bar'
}
}, (value, prop, subject, path) => {
// `value` is the current property value
// `prop` is the current property name
// `subject` is either an array or an object
// `path` is the iteration path, e.g.: 'prop2[0]' and 'prop4.prop5'
console.log(`${path}: ${value}`);
});
Running the example above will print:
prop1: foo
prop2: ['foo', 'bar']
prop2[0]: foo
prop2[1]: bar
prop3: ['foo', 'foo']
prop3[0]: foo
prop3[1]: foo
prop4: {prop5: 'foo', prop6: 'bar'}
prop4.prop5: foo
prop4.prop6: bar
Tests
$ npm test
$ npm test -- --watch
during development
License
Released under the MIT License.