From 9506889f80358f9c52dc8e4ae3b8981b0f3b5534 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 30 Jun 2025 21:41:54 -0400 Subject: [PATCH] tweak --- .../src/internal/client/reactivity/props.js | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/svelte/src/internal/client/reactivity/props.js b/packages/svelte/src/internal/client/reactivity/props.js index 1d27c2fb0f..37e53b5a6d 100644 --- a/packages/svelte/src/internal/client/reactivity/props.js +++ b/packages/svelte/src/internal/client/reactivity/props.js @@ -277,11 +277,17 @@ export function prop(props, key, flags, fallback) { // or `createClassComponent(Component, props)` var is_entry_props = STATE_SYMBOL in props || LEGACY_PROPS in props; - var setter = - (bindable && - (get_descriptor(props, key)?.set ?? - (is_entry_props && key in props && ((v) => (props[key] = v))))) || - undefined; + /** @type {((v: V) => void) | undefined} */ + var setter; + + /** @type {() => V} */ + var getter; + + if (bindable) { + setter = + get_descriptor(props, key)?.set ?? + (is_entry_props && key in props ? (v) => (props[key] = v) : undefined); + } var fallback_value = /** @type {V} */ (fallback); var fallback_dirty = true; @@ -307,11 +313,9 @@ export function prop(props, key, flags, fallback) { } prop_value = get_fallback(); - if (setter) setter(prop_value); + setter?.(prop_value); } - /** @type {() => V} */ - var getter; if (runes) { getter = () => { var value = /** @type {V} */ (props[key]);