{#if node instanceof Map}
{#each Array.from(node.values()) as file}
handleClick(e.detail.id)} />
{/each}
{:else if node instanceof GPXFile}
{#each node.children as child, i}
handleClick(e.detail.id)}
/>
{/each}
{#if node.wpt.length > 0}
handleClick(e.detail.id)} />
{/if}
{:else if node instanceof Track}
{#each node.children as child, i}
{/each}
{:else if Array.isArray(node) && node.length > 0 && node[0] instanceof Waypoint}
{#each node as wpt, i}
{/each}
{/if}