From 2c2557aaa82934754a9ca97f510449f351a67a53 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 26 Jun 2025 09:45:12 -0400 Subject: [PATCH] tidy up --- .../3-transform/client/visitors/RenderTag.js | 25 ++++++++----------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/packages/svelte/src/compiler/phases/3-transform/client/visitors/RenderTag.js b/packages/svelte/src/compiler/phases/3-transform/client/visitors/RenderTag.js index e741634c89..b7187173e2 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/visitors/RenderTag.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/visitors/RenderTag.js @@ -13,10 +13,7 @@ import { get_expression_id, build_expression } from './shared/utils.js'; export function RenderTag(node, context) { context.state.template.push_comment(); - const expression = unwrap_optional(node.expression); - - const callee = expression.callee; - const raw_args = expression.arguments; + const call = unwrap_optional(node.expression); /** @type {Expression[]} */ let args = []; @@ -27,18 +24,16 @@ export function RenderTag(node, context) { /** @type {MemoizedExpression[]} */ const async_expressions = []; - for (let i = 0; i < raw_args.length; i++) { - let expression = build_expression( - context, - /** @type {Expression} */ (raw_args[i]), - node.metadata.arguments[i] - ); - const { has_call, has_await } = node.metadata.arguments[i]; + for (let i = 0; i < call.arguments.length; i++) { + const arg = /** @type {Expression} */ (call.arguments[i]); + const metadata = node.metadata.arguments[i]; + + let expression = build_expression(context, arg, metadata); - if (has_await || has_call) { + if (metadata.has_await || metadata.has_call) { expression = b.call( '$.get', - get_expression_id(has_await ? async_expressions : expressions, expression) + get_expression_id(metadata.has_await ? async_expressions : expressions, expression) ); } @@ -50,13 +45,13 @@ export function RenderTag(node, context) { }); /** @type {Statement[]} */ - const statements = expressions.map((memo, i) => + const statements = expressions.map((memo) => b.var(memo.id, create_derived(context.state, b.thunk(memo.expression))) ); let snippet_function = build_expression( context, - /** @type {Expression} */ (callee), + /** @type {Expression} */ (call.callee), node.metadata.expression );