From 30d3479b1ec4226d846627cde748e1fa876e534f Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 15 Sep 2025 13:23:32 -0400 Subject: [PATCH] chore: simplify build_template --- .../3-transform/server/visitors/EachBlock.js | 2 +- .../server/visitors/shared/utils.js | 38 ++++++------------- 2 files changed, 12 insertions(+), 28 deletions(-) diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/EachBlock.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/EachBlock.js index 0d1c03b69563..eb0da556571d 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/EachBlock.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/EachBlock.js @@ -45,7 +45,7 @@ export function EachBlock(node, context) { ); if (node.fallback) { - const open = b.stmt(b.call(b.member(b.id('$$payload'), b.id('push')), block_open)); + const open = b.stmt(b.call(b.id('$$payload.push'), block_open)); const fallback = /** @type {BlockStatement} */ (context.visit(node.fallback)); diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/utils.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/utils.js index db708b7a6b86..166845b62f44 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/utils.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/utils.js @@ -103,11 +103,9 @@ function is_statement(node) { /** * @param {Array} template - * @param {Identifier} out - * @param {AssignmentOperator | 'push'} operator * @returns {Statement[]} */ -export function build_template(template, out = b.id('$$payload'), operator = 'push') { +export function build_template(template) { /** @type {string[]} */ let strings = []; @@ -118,32 +116,18 @@ export function build_template(template, out = b.id('$$payload'), operator = 'pu const statements = []; const flush = () => { - if (operator === 'push') { - statements.push( - b.stmt( - b.call( - b.member(out, b.id('push')), - b.template( - strings.map((cooked, i) => b.quasi(cooked, i === strings.length - 1)), - expressions - ) - ) - ) - ); - } else { - statements.push( - b.stmt( - b.assignment( - operator, - out, - b.template( - strings.map((cooked, i) => b.quasi(cooked, i === strings.length - 1)), - expressions - ) + statements.push( + b.stmt( + b.call( + b.id('$$payload.push'), + b.template( + strings.map((cooked, i) => b.quasi(cooked, i === strings.length - 1)), + expressions ) ) - ); - } + ) + ); + strings = []; expressions = []; };