hierarchy-js
Version:
Elegant and lightweight library for working with data structures
22 lines (17 loc) • 621 B
JavaScript
var _require = require('../services/common'),
getParents = _require.getParents,
getChildren = _require.getChildren,
mergeChildren = _require.mergeChildren;
var createTreeHierarchy = function createTreeHierarchy(items, parent) {
var children = [];
if (parent) children = getChildren(parent, items);else children = getParents(items);
if (children.length) {
parent && mergeChildren(parent, children);
children.forEach(function (item) {
return createTreeHierarchy(items, item);
});
}
return children;
};
module.exports = { createTreeHierarchy: createTreeHierarchy };
;