From 1aa17c572b5745b373cabbd132c6fbe6ecf6c65e Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 5 Mar 2025 16:18:38 -0500 Subject: [PATCH] more --- .../client/visitors/RegularElement.js | 20 +++++-------------- 1 file changed, 5 insertions(+), 15 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 fe014c4b8c..03150571a0 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 @@ -296,7 +296,10 @@ export function RegularElement(node, context) { continue; } - if (name === 'class') { + if (name === 'autofocus') { + let { value } = build_attribute_value(attribute.value, context); + context.state.init.push(b.stmt(b.call('$.autofocus', node_id, value))); + } else if (name === 'class') { const is_html = context.state.metadata.namespace === 'html' && node.name !== 'svg'; build_set_class(node, node_id, attribute, class_directives, context, is_html); } else if (name === 'style') { @@ -587,23 +590,10 @@ function build_element_attribute_update_assignment( const state = context.state; const name = get_attribute_name(element, attribute); - const is_autofocus = name === 'autofocus'; - let { value, has_state } = build_attribute_value(attribute.value, context, (value, metadata) => - metadata.has_call - ? // if it's autofocus we will not add this to a template effect so we don't want to get the expression id - // but separately memoize the expression - is_autofocus - ? memoize_expression(state, value) - : get_expression_id(state, value) - : value + metadata.has_call ? get_expression_id(state, value) : value ); - if (is_autofocus) { - state.init.push(b.stmt(b.call('$.autofocus', node_id, value))); - return; - } - /** @type {Statement} */ let update;