diff --git a/packages/svelte/src/compiler/phases/3-transform/client/transform-client.js b/packages/svelte/src/compiler/phases/3-transform/client/transform-client.js index 6f461fadfb..4912b14f6b 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/transform-client.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/transform-client.js @@ -65,7 +65,7 @@ export function client_component(source, analysis, options) { preserve_whitespace: options.preserveWhitespace, public_state: new Map(), private_state: new Map(), - getters: new Map(), + getters: {}, in_constructor: false, // these are set inside the `Fragment` visitor, and cannot be used until then @@ -583,7 +583,7 @@ export function client_module(analysis, options) { legacy_reactive_statements: new Map(), public_state: new Map(), private_state: new Map(), - getters: new Map(), + getters: {}, in_constructor: false }; diff --git a/packages/svelte/src/compiler/phases/3-transform/client/utils.js b/packages/svelte/src/compiler/phases/3-transform/client/utils.js index bebc57494c..8fa3a4dbcd 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/utils.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/utils.js @@ -84,7 +84,7 @@ export function serialize_get_binding(node, state) { return b.call(node); } - const getter = state.getters.get(binding); + const getter = state.getters[node.name]; if (getter) { return typeof getter === 'function' ? getter(node) : getter; } diff --git a/packages/svelte/src/compiler/phases/3-transform/server/transform-server.js b/packages/svelte/src/compiler/phases/3-transform/server/transform-server.js index e354fce9f0..e861c09d05 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/transform-server.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/transform-server.js @@ -221,7 +221,7 @@ function serialize_get_binding(node, state) { ); } - const getter = state.getters.get(binding); + const getter = state.getters[binding.node.name]; if (getter) { return typeof getter === 'function' ? getter(node) : getter; } @@ -1988,7 +1988,7 @@ export function server_component(analysis, options) { namespace: options.namespace, preserve_whitespace: options.preserveWhitespace, private_derived: new Map(), - getters: new Map(), + getters: {}, skip_hydration_boundaries: false }; @@ -2300,7 +2300,7 @@ export function server_module(analysis, options) { // transform state as well as component transform state legacy_reactive_statements: new Map(), private_derived: new Map(), - getters: new Map() + getters: {} }; const module = /** @type {import('estree').Program} */ ( diff --git a/packages/svelte/src/compiler/phases/3-transform/types.d.ts b/packages/svelte/src/compiler/phases/3-transform/types.d.ts index 9e8eed15ec..eb92dbc861 100644 --- a/packages/svelte/src/compiler/phases/3-transform/types.d.ts +++ b/packages/svelte/src/compiler/phases/3-transform/types.d.ts @@ -8,5 +8,5 @@ export interface TransformState { readonly options: ValidatedModuleCompileOptions; readonly scope: Scope; readonly scopes: Map; - readonly getters: Map Expression)>; + readonly getters: Record Expression)>; }