From 5694c0692ec2aa1d33d8e2ae34ba5d1028ef737a Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 26 Jun 2025 11:50:36 -0400 Subject: [PATCH] tweak --- .../client/visitors/RegularElement.js | 16 ++++++++-------- .../client/visitors/shared/element.js | 18 ++++-------------- 2 files changed, 12 insertions(+), 22 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 49d4f278cc..1c4a75fb16 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 @@ -462,16 +462,16 @@ function setup_select_synchronization(value_binding, context) { /** * @param {AST.ClassDirective[]} class_directives + * @param {ComponentContext} context * @param {MemoizedExpression[]} async_expressions * @param {MemoizedExpression[]} expressions - * @param {ComponentContext} context * @return {ObjectExpression | Identifier} */ export function build_class_directives_object( class_directives, - async_expressions, - expressions, - context + context, + async_expressions = context.state.async_expressions, + expressions = context.state.expressions ) { let properties = []; let has_call_or_state = false; @@ -493,16 +493,16 @@ export function build_class_directives_object( /** * @param {AST.StyleDirective[]} style_directives + * @param {ComponentContext} context * @param {MemoizedExpression[]} async_expressions * @param {MemoizedExpression[]} expressions - * @param {ComponentContext} context * @return {ObjectExpression | ArrayExpression}} */ export function build_style_directives_object( style_directives, - async_expressions, - expressions, - context + context, + async_expressions = context.state.async_expressions, + expressions = context.state.expressions ) { let normal_properties = []; let important_properties = []; diff --git a/packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/element.js b/packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/element.js index 30f11e3ff6..869dd16956 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/element.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/element.js @@ -72,7 +72,7 @@ export function build_attribute_effect( b.prop( 'init', b.array([b.id('$.CLASS')]), - build_class_directives_object(class_directives, async_expressions, expressions, context) + build_class_directives_object(class_directives, context, async_expressions, expressions) ) ); } @@ -82,7 +82,7 @@ export function build_attribute_effect( b.prop( 'init', b.array([b.id('$.STYLE')]), - build_style_directives_object(style_directives, async_expressions, expressions, context) + build_style_directives_object(style_directives, context, async_expressions, expressions) ) ); } @@ -180,12 +180,7 @@ export function build_set_class(element, node_id, attribute, class_directives, c let next; if (class_directives.length) { - next = build_class_directives_object( - class_directives, - context.state.async_expressions, - context.state.expressions, - context - ); + next = build_class_directives_object(class_directives, context); has_state ||= class_directives.some((d) => d.metadata.expression.has_state); if (has_state) { @@ -258,12 +253,7 @@ export function build_set_style(node_id, attribute, style_directives, context) { let next; if (style_directives.length) { - next = build_style_directives_object( - style_directives, - context.state.async_expressions, - context.state.expressions, - context - ); + next = build_style_directives_object(style_directives, context); has_state ||= style_directives.some((d) => d.metadata.expression.has_state); if (has_state) {