"use strict"; function handleTree(data, id, parentId, children) { let config = { id: id || "id", parentId: parentId || "parentId", childrenList: children || "children" }; var childrenListMap = {}; var nodeIds = {}; var tree = []; for (let d of data) { let parentId2 = d[config.parentId]; if (childrenListMap[parentId2] == null) { childrenListMap[parentId2] = []; } nodeIds[d[config.id]] = d; childrenListMap[parentId2].push(d); } for (let d of data) { let parentId2 = d[config.parentId]; if (nodeIds[parentId2] == null) { tree.push(d); } } for (let t of tree) { adaptToChildrenList(t); } function adaptToChildrenList(o) { if (childrenListMap[o[config.id]] !== null) { o[config.childrenList] = childrenListMap[o[config.id]]; } if (o[config.childrenList]) { for (let c of o[config.childrenList]) { adaptToChildrenList(c); } } } return tree; } exports.handleTree = handleTree; //# sourceMappingURL=../../.sourcemap/mp-weixin/utils/tree.js.map