From 5a732658cecb4a021c4cfaa6a32f58e20cf6f85d Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Tue, 25 Jun 2019 10:41:42 -0400 Subject: [PATCH] prevent empty if block --- .../compile/render_dom/wrappers/EachBlock.ts | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/compiler/compile/render_dom/wrappers/EachBlock.ts b/src/compiler/compile/render_dom/wrappers/EachBlock.ts index 6f592d3869..c2f6c50249 100644 --- a/src/compiler/compile/render_dom/wrappers/EachBlock.ts +++ b/src/compiler/compile/render_dom/wrappers/EachBlock.ts @@ -444,17 +444,24 @@ export default class EachBlockWrapper extends Wrapper { ${iterations}[#i].m(${update_mount_node}, ${anchor}); } ` - : deindent` - if (${iterations}[#i]) { - ${has_transitions && `@transition_in(${this.vars.iterations}[#i], 1);`} - } else { - ${iterations}[#i] = ${create_each_block}(child_ctx); - ${iterations}[#i].c(); - ${has_transitions && `@transition_in(${this.vars.iterations}[#i], 1);`} - ${iterations}[#i].m(${update_mount_node}, ${anchor}); - } - - `; + : has_transitions + ? deindent` + if (${iterations}[#i]) { + @transition_in(${this.vars.iterations}[#i], 1); + } else { + ${iterations}[#i] = ${create_each_block}(child_ctx); + ${iterations}[#i].c(); + @transition_in(${this.vars.iterations}[#i], 1); + ${iterations}[#i].m(${update_mount_node}, ${anchor}); + } + ` + : deindent` + if (!${iterations}[#i]) { + ${iterations}[#i] = ${create_each_block}(child_ctx); + ${iterations}[#i].c(); + ${iterations}[#i].m(${update_mount_node}, ${anchor}); + } + `; const start = this.block.has_update_method ? '0' : `old_length`;