{#if is_collapsible(value)}
{/if}
{#if key !== null}
"{key}":
{/if}
{#if is_collapsible(value)}
{Array.isArray(value) ? "[" : "{"}
{#if collapsed}
{Array.isArray(value) ? "]" : "}"}
{/if}
{:else if typeof value === "string"}
{@html toMarkdown(value)}
{:else if typeof value === "number"}
{value}
{:else if typeof value === "boolean"}
{value.toString()}
{:else if value === null}
null
{:else}
{value}
{/if}
{#if !is_last_item && (!is_collapsible(value) || collapsed)}
,
{/if}
{#if is_collapsible(value)}
{#each child_nodes as [subKey, subVal], i}
{/each}
{Array.isArray(value) ? "]" : "}"}
{#if !is_last_item},{/if}
{/if}