function createTree(paths) {
let tree = { name: 'root', children: [] }
function findOrCreateNode(tree, name) {
let node = { name }
if (tree.children) {
for (const child of tree.children) {
if (child.name === name) {
return child
}
}
tree.children.push(node)
return node
} else {
tree.children = [node]
return node
}
}
for (const path of paths) {
const folders = path.split('/')
let current = tree
for (const folder of folders) {
current = findOrCreateNode(current, folder)
}
current.value = 1
}
return tree
}