UNPKG

@ng-doc/builder

Version:

<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>

55 lines 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getStructuredDocs = getStructuredDocs; /** * * @param pages * @param items */ function getStructuredDocs(items) { const structuredMap = new Map(); items.forEach((item) => { addLevel(structuredMap, createLevels(item)); }); return getStructuredDocsFromMap(structuredMap); } /** * * @param structuredMap */ function getStructuredDocsFromMap(structuredMap) { const structuredDocs = []; structuredMap.forEach(([map, item]) => { const children = getStructuredDocsFromMap(map); structuredDocs.push({ item, children }); }); return structuredDocs; } /** * * @param structuredMap * @param levels */ function addLevel(structuredMap, levels) { const [level, ...rest] = levels; if (level) { const route = level.route; const [map, item] = structuredMap.get(route) || [new Map(), level]; structuredMap.set(route, [map, item]); addLevel(map, rest); } } /** * * @param item */ function createLevels(item) { const levels = []; let level = item; while (level) { levels.unshift(level); level = level.parent; } return levels; } //# sourceMappingURL=get-structured-docs.js.map