/** * @tsplus getter Tree draw */ export function drawTree(tree: Tree): string { return tree.value + drawForest("\n", tree.forest) } function drawForest(indentation: string, forest: Chunk>): string { let r = "" const len = forest.length let tree: Tree for (let i = 0; i < len; i++) { tree = forest.unsafeGet(i) const isLast = i === len - 1 r += indentation + (isLast ? "└" : "├") + "─ " + tree.value r += drawForest(indentation + (len > 1 && !isLast ? "│ " : " "), tree.forest) } return r }