File tree Expand file tree Collapse file tree 1 file changed +9
-10
lines changed
packages/svelte/src/internal/client Expand file tree Collapse file tree 1 file changed +9
-10
lines changed Original file line number Diff line number Diff line change @@ -1359,26 +1359,25 @@ if (DEV) {
1359
1359
}
1360
1360
1361
1361
/**
1362
- * Expects a value that was wrapped with `freeze` and makes it frozen in DEV or adds a symbol in prod .
1362
+ * Expects a value that was wrapped with `freeze` and makes it frozen in DEV.
1363
1363
* @template T
1364
1364
* @param {T } value
1365
1365
* @returns {Readonly<T> }
1366
1366
*/
1367
1367
export function freeze ( value ) {
1368
- if ( typeof value === 'object' && value != null && ! is_frozen ( value ) ) {
1368
+ if ( typeof value === 'object' && value != null && ! ( STATE_FROZEN_SYMBOL in value ) ) {
1369
1369
// If the object is already proxified, then snapshot the value
1370
- if ( STATE_SYMBOL in value ) {
1370
+ if ( STATE_SYMBOL in value || is_frozen ( value ) ) {
1371
1371
value = snapshot ( value ) ;
1372
1372
}
1373
- // Freeze the object in DEV, add the symbol in prod
1373
+ define_property ( value , STATE_FROZEN_SYMBOL , {
1374
+ value : true ,
1375
+ writable : true ,
1376
+ enumerable : false
1377
+ } ) ;
1378
+ // Freeze the object in DEV
1374
1379
if ( DEV ) {
1375
1380
object_freeze ( value ) ;
1376
- } else {
1377
- define_property ( value , STATE_FROZEN_SYMBOL , {
1378
- value : true ,
1379
- writable : true ,
1380
- enumerable : false
1381
- } ) ;
1382
1381
}
1383
1382
}
1384
1383
return value ;
You can’t perform that action at this time.
0 commit comments