{#snippet nodes(list: TreeNode[])} {#each list as node (node.path)} {#if node.type === "dir"} {@const open = !closed[node.path]} (closed[node.path] = !e.currentTarget.open)}> {#if open} {:else} {/if} {node.name} {@render nodes(node.children)} {:else}