{#snippet nodes(list: TreeNode[])} {#each list as node (`${node.type}:${node.path}`)} {#if node.type === "dir"} {@const open = !closed[node.path]} {@const id = `${uid}-${node.path}`} {#if open}
{@render nodes(node.children)}
{/if} {:else} { event.preventDefault(); onSelect(node.path); } : undefined} > {/if} {/each} {/snippet}
{@render nodes(tree)}