refactoring
This commit is contained in:
parent
7263d9680d
commit
4830525440
|
@ -1,6 +1,7 @@
|
|||
class Context {
|
||||
constructor(level) {
|
||||
this.level = 0;
|
||||
constructor(level = 0, isLast = false) {
|
||||
this.level = level;
|
||||
this.isLast = isLast;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,15 +1,20 @@
|
|||
const {Context} = require("./Context");
|
||||
const treeLogger = (tree, context) => {
|
||||
if (context.level === 0) {
|
||||
console.log(tree.name);
|
||||
context.level += 1;
|
||||
|
||||
if (tree.items) {
|
||||
for (const subtree of tree.items) {
|
||||
treeLogger(subtree, context);
|
||||
for (let i = 0; i < tree.items.length; ++i) {
|
||||
const subtree = tree.items[i];
|
||||
const lastIndex = tree.items.length - 1;
|
||||
const ctx = new Context(context.level + 1, (i === lastIndex));
|
||||
|
||||
treeLogger(subtree, ctx);
|
||||
}
|
||||
}
|
||||
} else if (context.level === 1) {
|
||||
console.log('├── ' + tree.name);
|
||||
const rootChar = context.isLast ? '└ ' : '├ ';
|
||||
console.log(rootChar + tree.name);
|
||||
} else {
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue