From 4c404ac44d485811db37a73541962b3fe4296eff Mon Sep 17 00:00:00 2001 From: ComputerGuy <63362464+Ocean-OS@users.noreply.github.com> Date: Mon, 16 Jun 2025 20:41:46 -0700 Subject: [PATCH] `{#if ...} {:else ...}` --- packages/svelte/src/compiler/print/index.js | 26 ++++++++++++++------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/packages/svelte/src/compiler/print/index.js b/packages/svelte/src/compiler/print/index.js index aaa1e1566a..3618a9c337 100644 --- a/packages/svelte/src/compiler/print/index.js +++ b/packages/svelte/src/compiler/print/index.js @@ -288,15 +288,25 @@ const visitors = { }, IfBlock(node, context) { - context.write('{#if '); - context.visit(node.test); - context.write('}'); - - context.visit(node.consequent); - - // TODO handle alternate/else if + if (node.elseif) { + context.write('{:else if '); + context.visit(node.test); + context.write('}'); + context.visit(node.consequent); + } else { + context.write('{#if '); + context.visit(node.test); + context.write('}'); - context.write('{/if}'); + context.visit(node.consequent); + if (node.alternate !== null) { + if (!(node.alternate.type === 'IfBlock' && node.alternate.elseif)) { + context.write('{:else}'); + } + context.visit(node.alternate); + } + context.write('{/if}'); + } }, LetDirective(node, context) {