UNPKG

myy-common

Version:
39 lines (38 loc) 1.78 kB
"use strict"; // recursive.js Object.defineProperty(exports, "__esModule", { value: true }); exports.runDeepFirst = exports.runActionFirst = void 0; // item in arr to Children array var itemToForEachAble_Default = (function (itemInArr) { return itemInArr.directChildren; }); // flat first // action(item, index, arr, parantItem), function runActionFirst(recursiveItem, action, itemToForEachAble, parantItem) { if (itemToForEachAble === void 0) { itemToForEachAble = itemToForEachAble_Default; } if (recursiveItem != undefined && recursiveItem.length > 0) { itemToForEachAble = itemToForEachAble || itemToForEachAble_Default; recursiveItem.forEach(function (item, index) { action(item, index, recursiveItem, parantItem); if (itemToForEachAble) { var innerArr = itemToForEachAble(item); runActionFirst(innerArr, action, itemToForEachAble, item); } }); } } exports.runActionFirst = runActionFirst; // deep first // action(item, index, arr, parantItem), function runDeepFirst(recursiveItem, action, itemToDirectChildren, parantItem) { if (itemToDirectChildren === void 0) { itemToDirectChildren = itemToForEachAble_Default; } if (recursiveItem != undefined && recursiveItem.length > 0) { itemToDirectChildren = itemToDirectChildren || itemToForEachAble_Default; recursiveItem.forEach(function (item, index) { if (itemToDirectChildren) { var innerArr = itemToDirectChildren(item); runDeepFirst(innerArr, action, itemToDirectChildren, item); } action(item, index, recursiveItem, parantItem); }); } } exports.runDeepFirst = runDeepFirst;