fix: correctly transform `$derived` private fields on server

gh-16889
ComputerGuy 15 hours ago
parent 30e2b23b59
commit 92a4ab2556

@ -0,0 +1,5 @@
---
'svelte': patch
---
fix: correctly transform `$derived` private fields on server

@ -7,11 +7,7 @@ import * as b from '#compiler/builders';
* @param {Context} context * @param {Context} context
*/ */
export function MemberExpression(node, context) { export function MemberExpression(node, context) {
if ( if (context.state.analysis.runes && node.property.type === 'PrivateIdentifier') {
context.state.analysis.runes &&
node.object.type === 'ThisExpression' &&
node.property.type === 'PrivateIdentifier'
) {
const field = context.state.state_fields?.get(`#${node.property.name}`); const field = context.state.state_fields?.get(`#${node.property.name}`);
if (field?.type === '$derived' || field?.type === '$derived.by') { if (field?.type === '$derived' || field?.type === '$derived.by') {

@ -9,7 +9,8 @@
} }
get embiggened1() { get embiggened1() {
return this.#doubled; const self = this;
return self.#doubled;
} }
get embiggened2() { get embiggened2() {

Loading…
Cancel
Save