From f914df732e7a47cafef1ce9c52c690af812d7306 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 19 Aug 2024 21:48:47 -0400 Subject: [PATCH] tweak --- packages/svelte/src/internal/client/proxy.js | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/packages/svelte/src/internal/client/proxy.js b/packages/svelte/src/internal/client/proxy.js index 68117b65de..b4e02dbbd0 100644 --- a/packages/svelte/src/internal/client/proxy.js +++ b/packages/svelte/src/internal/client/proxy.js @@ -73,14 +73,13 @@ export function proxy(value, parent = null, prev) { e.state_descriptors_fixed(); } - var value = descriptor.value; - var s = sources.get(prop); + if (s === undefined) { - s = source(value); + s = source(descriptor.value); sources.set(prop, s); } else { - set(s, proxy(value, metadata)); + set(s, proxy(descriptor.value, metadata)); } return true; @@ -132,10 +131,7 @@ export function proxy(value, parent = null, prev) { if (descriptor && 'value' in descriptor) { var s = sources.get(prop); - - if (s) { - descriptor.value = get(s); - } + if (s) descriptor.value = get(s); } else if (descriptor === undefined) { var source = sources.get(prop); var value = source?.v; @@ -173,6 +169,7 @@ export function proxy(value, parent = null, prev) { s = source(has ? proxy(target[prop], metadata) : UNINITIALIZED); sources.set(prop, s); } + var value = get(s); if (value === UNINITIALIZED) { return false;