UNPKG

vue-carousel-3d

Version:

Beautiful, flexible and touch supported 3D Carousel for Vue.js

57 lines (43 loc) 1.01 kB
'use strict'; const archy = require('archy'); function listRoute() { const routes = this.route.list().sort(); const tree = buildTree(routes); const nodes = buildNodes(tree); const s = archy({ label: `Total: ${routes.length}`, nodes }); console.log(s); } function buildTree(routes) { const obj = {}; let cursor; for (let i = 0, len = routes.length; i < len; i++) { const item = routes[i].split('/'); cursor = obj; for (let j = 0, lenj = item.length; j < lenj; j++) { const seg = item[j]; cursor = cursor[seg] = cursor[seg] || {}; } } return obj; } function buildNodes(tree) { const keys = Object.keys(tree); const nodes = []; for (let i = 0, len = keys.length; i < len; i++) { const key = keys[i]; const item = tree[key]; if (Object.keys(item).length) { nodes.push({ label: key, nodes: buildNodes(item) }); } else { nodes.push(key); } } return nodes; } module.exports = listRoute;