Skip to content

Commit 4c404ac

Browse files
committed
{#if ...} {:else ...}
1 parent afd3cb4 commit 4c404ac

File tree

1 file changed

+18
-8
lines changed
  • packages/svelte/src/compiler/print

1 file changed

+18
-8
lines changed

packages/svelte/src/compiler/print/index.js

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -288,15 +288,25 @@ const visitors = {
288288
},
289289

290290
IfBlock(node, context) {
291-
context.write('{#if ');
292-
context.visit(node.test);
293-
context.write('}');
294-
295-
context.visit(node.consequent);
296-
297-
// TODO handle alternate/else if
291+
if (node.elseif) {
292+
context.write('{:else if ');
293+
context.visit(node.test);
294+
context.write('}');
295+
context.visit(node.consequent);
296+
} else {
297+
context.write('{#if ');
298+
context.visit(node.test);
299+
context.write('}');
298300

299-
context.write('{/if}');
301+
context.visit(node.consequent);
302+
if (node.alternate !== null) {
303+
if (!(node.alternate.type === 'IfBlock' && node.alternate.elseif)) {
304+
context.write('{:else}');
305+
}
306+
context.visit(node.alternate);
307+
}
308+
context.write('{/if}');
309+
}
300310
},
301311

302312
LetDirective(node, context) {

0 commit comments

Comments
 (0)