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 83604380ca..6233119551 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 @@ -76,10 +76,7 @@ export function RenderTag(node, context) { '$.async', context.state.node, memoizer.async_values(), - b.arrow( - [context.state.node, ...memoizer.async.map((memo) => memo.id)], - b.block(statements) - ) + b.arrow([context.state.node, ...memoizer.async_ids()], b.block(statements)) ) ) ); diff --git a/packages/svelte/src/compiler/phases/3-transform/client/visitors/SlotElement.js b/packages/svelte/src/compiler/phases/3-transform/client/visitors/SlotElement.js index 1f5a13ffaf..fcc4952fd7 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/visitors/SlotElement.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/visitors/SlotElement.js @@ -85,10 +85,7 @@ export function SlotElement(node, context) { '$.async', context.state.node, async_values, - b.arrow( - [context.state.node, ...memoizer.async.map((memo) => memo.id)], - b.block(statements) - ) + b.arrow([context.state.node, ...memoizer.async_ids()], b.block(statements)) ) ) ); diff --git a/packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/component.js b/packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/component.js index 96a9b776b6..24ce0c1996 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/component.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/component.js @@ -509,7 +509,7 @@ export function build_component(node, component_name, context) { '$.async', anchor, async_values, - b.arrow([b.id('$$anchor'), ...memoizer.async.map(({ id }) => id)], b.block(statements)) + b.arrow([b.id('$$anchor'), ...memoizer.async_ids()], b.block(statements)) ) ); } 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 45b368034c..c82d2d6438 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 @@ -39,6 +39,10 @@ export class Memoizer { return all; } + async_ids() { + return this.async.map((memo) => memo.id); + } + async_values() { if (this.async.length === 0) return; return b.array(this.async.map((memo) => b.thunk(memo.expression, true)));