diff --git a/packages/svelte/src/compiler/phases/3-transform/client/visitors/Attachment.js b/packages/svelte/src/compiler/phases/3-transform/client/visitors/Attachment.js index 735f3a2cab..8c8742769e 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/visitors/Attachment.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/visitors/Attachment.js @@ -9,26 +9,18 @@ import * as b from '../../../../utils/builders.js'; */ export function Attachment(node, context) { for (const attachment of node.attachments) { - if (attachment.type === 'SpreadElement') { - context.state.init.push( - b.stmt( - b.call( - '$.attach_all', - context.state.node, - b.thunk(/** @type {Expression} */ (context.visit(attachment.argument))) + context.state.init.push( + b.stmt( + b.call( + '$.attach', + context.state.node, + b.thunk( + /** @type {Expression} */ ( + context.visit(attachment.type === 'SpreadElement' ? attachment.argument : attachment) + ) ) ) - ); - } else { - context.state.init.push( - b.stmt( - b.call( - '$.attach', - context.state.node, - b.thunk(/** @type {Expression} */ (context.visit(attachment))) - ) - ) - ); - } + ) + ); } } diff --git a/packages/svelte/src/internal/client/dom/elements/attachments.js b/packages/svelte/src/internal/client/dom/elements/attachments.js index c758f20d07..6c491f3f5e 100644 --- a/packages/svelte/src/internal/client/dom/elements/attachments.js +++ b/packages/svelte/src/internal/client/dom/elements/attachments.js @@ -11,7 +11,7 @@ export function attach(node, get_fn) { if (Array.isArray(attachment)) { for (const fn of attachment) { if (fn) { - $effect(() => fn(node)); + effect(() => fn(node)); } } } else if (attachment) {