From c445309b10a24d3e8e343237ee9d8283d4a46b90 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 13 Nov 2024 22:00:55 -0500 Subject: [PATCH] return template --- .../phases/3-transform/client/visitors/RegularElement.js | 6 ++---- .../phases/3-transform/client/visitors/shared/utils.js | 8 +++++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/svelte/src/compiler/phases/3-transform/client/visitors/RegularElement.js b/packages/svelte/src/compiler/phases/3-transform/client/visitors/RegularElement.js index 097869104e..b602f5c749 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/visitors/RegularElement.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/visitors/RegularElement.js @@ -364,8 +364,7 @@ export function RegularElement(node, context) { let { value } = build_template_literal(trimmed, context.visit, child_state); // if the expression is inlinable we just push it to the template if (is_inlinable_expression(trimmed)) { - escape_template_quasis(value); - state.template.push(value); + state.template.push(escape_template_quasis(value)); } else { // else we programmatically set the value child_state.init.push( @@ -598,8 +597,7 @@ function build_element_attribute_update_assignment(element, node_id, attribute, return true; } else { if (inlinable_expression) { - escape_template_quasis(value, true); - context.state.template.push(` ${name}="`, value, '"'); + context.state.template.push(` ${name}="`, escape_template_quasis(value, true), '"'); } else { state.init.push(update); } diff --git a/packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/utils.js b/packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/utils.js index 916ae0022e..ea852151e8 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/utils.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/utils.js @@ -1,4 +1,4 @@ -/** @import { Expression, ExpressionStatement, Identifier, MemberExpression, Statement, Super, TemplateLiteral, Literal } from 'estree' */ +/** @import { Expression, ExpressionStatement, Identifier, MemberExpression, Statement, Super, TemplateLiteral, Node } from 'estree' */ /** @import { AST, SvelteNode } from '#compiler' */ /** @import { ComponentClientTransformState } from '../../types' */ import { walk } from 'zimmerframe'; @@ -35,12 +35,12 @@ export function get_states_and_calls(values) { /** * Escape the html in every quasi in the template literal - * @param {SvelteNode} template + * @param {Expression} template * @param {boolean} [is_attr] */ export function escape_template_quasis(template, is_attr) { walk( - template, + /** @type {Node} */ (template), {}, { TemplateLiteral(node, { next }) { @@ -59,6 +59,8 @@ export function escape_template_quasis(template, is_attr) { } } ); + + return template; } /**