@yookue/ts-lang-utils
Version:
Common lang utilities for typescript
24 lines • 798 B
JavaScript
import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
import { getProp } from "../ObjectUtils/getProp";
export function forEach(nodes, callback) {
var childrenKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'children';
if (!nodes || !nodes.length || !callback || !childrenKey) {
return;
}
var _iterator = _createForOfIteratorHelper(nodes),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var _node = _step.value;
callback(_node, nodes);
var children = getProp(_node, childrenKey);
if (children && Array.isArray(children)) {
forEach(children, callback, childrenKey);
}
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}