diff --git a/packages/svelte/src/compiler/phases/3-transform/client/visitors/AssignmentExpression.js b/packages/svelte/src/compiler/phases/3-transform/client/visitors/AssignmentExpression.js index 6885be810f..2e0d728a03 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/visitors/AssignmentExpression.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/visitors/AssignmentExpression.js @@ -68,13 +68,11 @@ function build_assignment(operator, left, right, context) { in_constructor: rune !== '$derived' && rune !== '$derived.by' }; - const field = context.state.state_fields[name]; - - const l = b.member(b.this, field.key); - - const r = /** @type {Expression} */ (context.visit(right, child_state)); - - return b.assignment(operator, l, r); + return b.assignment( + operator, + b.member(b.this, context.state.state_fields[name].key), + /** @type {Expression} */ (context.visit(right, child_state)) + ); } } diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/AssignmentExpression.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/AssignmentExpression.js index e80187d013..c10e757d73 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/AssignmentExpression.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/AssignmentExpression.js @@ -35,18 +35,16 @@ function build_assignment(operator, left, right, context) { const rune = get_rune(right, context.state.scope); if (rune) { - const field = context.state.state_fields[name]; - const key = left.property.type === 'PrivateIdentifier' || rune === '$state' || rune === '$state.raw' ? left.property - : field.key; - - const l = b.member(b.this, key, key.type === 'Literal'); - - const r = /** @type {Expression} */ (context.visit(right)); + : context.state.state_fields[name].key; - return b.assignment(operator, l, r); + return b.assignment( + operator, + b.member(b.this, key, key.type === 'Literal'), + /** @type {Expression} */ (context.visit(right)) + ); } } }