{#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}
{@render nodes(node.children)}
{:else}
{/if} {/each} {/snippet} {@render nodes(tree)}