(d: DirNode)
| 36 | cur.directNodes.push(node); |
| 37 | } |
| 38 | function collect(d: DirNode): Set<number> { |
| 39 | const ids = new Set<number>(); |
| 40 | for (const n of d.directNodes) ids.add(n.id); |
| 41 | for (const c of d.children.values()) for (const id of collect(c)) ids.add(id); |
| 42 | d.nodeIds = ids; |
| 43 | return ids; |
| 44 | } |
| 45 | collect(root); |
| 46 | return root; |
| 47 | } |