diff --git a/code/Context.js b/code/Context.js index e69de29..919cae9 100644 --- a/code/Context.js +++ b/code/Context.js @@ -0,0 +1,9 @@ +class Context { + constructor(level) { + this.level = 0; + } +} + +module.exports = { + Context, +} diff --git a/code/tree-logger.js b/code/tree-logger.js index 5450853..49f9040 100644 --- a/code/tree-logger.js +++ b/code/tree-logger.js @@ -1,4 +1,19 @@ -const treeLogger = (tree, 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); + } + } + } else if (context.level === 1) { + console.log('├── ' + tree.name); + } else { + + } +}; module.exports = { treeLogger diff --git a/task1.js b/task1.js index 8b8de9d..96a7c8b 100644 --- a/task1.js +++ b/task1.js @@ -10,4 +10,4 @@ treeLogger({ "name": 5, "items": [{ "name": 6 }] }] -}, new Context(false, 0)); +}, new Context(0));