diff --git a/packages/svelte/src/compiler/phases/3-transform/client/visitors/CallExpression.js b/packages/svelte/src/compiler/phases/3-transform/client/visitors/CallExpression.js index dd336e397d..22b715868f 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/visitors/CallExpression.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/visitors/CallExpression.js @@ -23,11 +23,13 @@ export function CallExpression(node, context) { case '$state.raw': { let should_proxy = rune === '$state' && true; // TODO - return b.call( - '$.state', - node.arguments[0] && /** @type {Expression} */ (context.visit(node.arguments[0])), - should_proxy && b.true - ); + let value = node.arguments[0] && /** @type {Expression} */ (context.visit(node.arguments[0])); + + if (value && should_proxy) { + value = b.call('$.proxy', value); + } + + return b.call('$.state', value); } case '$derived':