util-helpers
Version:
31 lines (28 loc) • 841 B
JavaScript
import { __assign } from 'tslib';
import { isArray, isObject } from 'ut2';
function treeToList(tree, childrenField) {
var list = [];
if (!isArray(tree)) {
return list;
}
function recusion(arr) {
arr.forEach(function (item) {
if (isObject(item)) {
var newItem = __assign({}, item);
list.push(newItem);
if (newItem[childrenField]) {
if (isArray(newItem[childrenField]) && newItem[childrenField].length > 0) {
recusion(newItem[childrenField]);
}
delete newItem[childrenField];
}
}
else {
list.push(item);
}
});
}
recusion(tree);
return list;
}
export { treeToList as default };