{#snippet tree( items: EntityTreeNode[] )} {#each items as node, i (i)} {#if node.kind === "text"} {node.text} {:else} {@render entity(node)} {/if} {/each} {/snippet} {#snippet entity( node: EntityNode )} {@const type = node.entity.type} {#if type === "bold"} {@render tree(node.children)} {:else if type === "italic"} {@render tree(node.children)} {:else if type === "underline"} {@render tree(node.children)} {:else if type === "strikethrough"} {@render tree(node.children)} {:else if type === "spoiler"} {@const key = spoilerKey(node.entity)} {:else if type === "code"} {@render tree(node.children)} {:else if type === "pre"}
{#if node.entity.language}{node.entity.language}{/if}{@render tree(node.children)}
{:else if type === "blockquote"}
{@render tree(node.children)}
{:else if type === "url" || type === "text_link" || type === "email" || type === "phone_number"} {@render tree(node.children)} {:else if type === "mention" || type === "text_mention" || type === "hashtag" || type === "cashtag" || type === "bot_command"} {@render tree(node.children)} {:else} {@render tree(node.children)} {/if} {/snippet} 0} class:jumbo-1={jumbo === 1}> {@render tree(nodes)}