simplify a bit

pull/16126/head
Rich Harris 3 months ago
parent 75c448cb72
commit 4e7f26101d

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

Loading…
Cancel
Save