@@ -453,17 +453,14 @@ function createState(values, parent) {
453
453
return s2 . value ;
454
454
if ( parent )
455
455
return parent [ key ] ;
456
- if ( sandbox . hasOwnProperty ( key ) )
457
- return sandbox [ key ] ;
456
+ return sandbox [ key ] ;
458
457
} ,
459
458
set ( values2 , key , v2 ) {
460
459
if ( _len ) {
461
460
if ( key === "length" ) {
462
461
n ( ( ) => {
463
462
for ( let i2 = v2 , l2 = signals . length ; i2 < l2 ; i2 ++ )
464
463
delete state [ i2 ] ;
465
- for ( let i2 = signals . length ; i2 < v2 ; i2 ++ )
466
- state [ i2 ] = null ;
467
464
_len . value = signals . length = values2 . length = v2 ;
468
465
} ) ;
469
466
return true ;
@@ -477,29 +474,25 @@ function createState(values, parent) {
477
474
s2 . _set ( v2 ) ;
478
475
else if ( Array . isArray ( v2 ) && Array . isArray ( cur ) ) {
479
476
s ( ( ) => n ( ( ) => {
480
- let i2 = 0 , l2 = v2 . length ;
477
+ let i2 = 0 , l2 = v2 . length , vals = values2 [ key ] ;
481
478
for ( ; i2 < l2 ; i2 ++ )
482
- cur [ i2 ] = values2 [ key ] [ i2 ] = v2 [ i2 ] ;
479
+ cur [ i2 ] = vals [ i2 ] = v2 [ i2 ] ;
483
480
cur . length = l2 ;
484
- s2 . value = null , s2 . value = cur ;
485
481
} ) ) ;
486
482
} else {
487
- if ( Array . isArray ( cur ) )
488
- cur . length = 0 ;
489
483
s2 . value = createState ( values2 [ key ] = v2 ) ;
490
484
}
491
485
if ( _len && key >= _len . peek ( ) )
492
486
_len . value = signals . length = values2 . length = Number ( key ) + 1 ;
493
487
return true ;
494
488
} ,
495
489
deleteProperty ( values2 , key ) {
496
- if ( key in signals )
497
- signals [ key ] . _del ?. ( ) , delete signals [ key ] , delete values2 [ key ] ;
490
+ signals [ key ] ?. _del ?. ( ) , delete signals [ key ] , delete values2 [ key ] ;
498
491
return true ;
499
492
}
500
493
} ) ;
501
494
for ( let key in values )
502
- values [ key ] , signals [ key ] = initSignals ?. [ key ] ?? null ;
495
+ signals [ key ] = initSignals ?. [ key ] ?? initSignal ( key ) ;
503
496
function initSignal ( key ) {
504
497
if ( values . hasOwnProperty ( key ) ) {
505
498
const desc = Object . getOwnPropertyDescriptor ( values , key ) ;
0 commit comments