diff --git a/packages/svelte/src/internal/client/proxy.js b/packages/svelte/src/internal/client/proxy.js index 6237655e49..66dd5b7549 100644 --- a/packages/svelte/src/internal/client/proxy.js +++ b/packages/svelte/src/internal/client/proxy.js @@ -24,21 +24,20 @@ import { tracing_mode_flag } from '../flags/index.js'; * @template T * @param {T} value * @param {string} [path] - * @param {number} [path_preservation] + * @param {PROXY_CHANGE_PATH | PROXY_PRESERVE_PATH} path_preservation * @returns {T} */ export function proxy(value, path, path_preservation = PROXY_PRESERVE_PATH) { // if `DEV`, change the proxy `path` since we don't know if its still "owned" by its original source if ( DEV && - (path_preservation & PROXY_PRESERVE_PATH) === 0 && + (path_preservation & PROXY_CHANGE_PATH) !== 0 && typeof value === 'object' && value !== null && STATE_SYMBOL in value && PROXY_PATH_SYMBOL in value ) { - value[PROXY_PATH_SYMBOL] = - (path_preservation & PROXY_CHANGE_PATH) === 0 ? '[$state proxy]' : path; + value[PROXY_PATH_SYMBOL] = path; } // if non-proxyable, or is already a proxy, return `value` if (typeof value !== 'object' || value === null || STATE_SYMBOL in value) {