util-helpers
Version:
33 lines (29 loc) • 850 B
JavaScript
;
var tslib = require('tslib');
var ut2 = require('ut2');
function treeToList(tree, childrenField) {
var list = [];
if (!ut2.isArray(tree)) {
return list;
}
function recusion(arr) {
arr.forEach(function (item) {
if (ut2.isObject(item)) {
var newItem = tslib.__assign({}, item);
list.push(newItem);
if (newItem[childrenField]) {
if (ut2.isArray(newItem[childrenField]) && newItem[childrenField].length > 0) {
recusion(newItem[childrenField]);
}
delete newItem[childrenField];
}
}
else {
list.push(item);
}
});
}
recusion(tree);
return list;
}
module.exports = treeToList;