@@ -28,7 +28,6 @@ export class ReactiveMap extends Map {
2828
2929 for ( var [ key , v ] of value ) {
3030 sources . set ( key , source ( v ) ) ;
31- super . set ( key , v ) ;
3231 }
3332
3433 this . #size. v = sources . size ;
@@ -62,7 +61,8 @@ export class ReactiveMap extends Map {
6261 forEach ( callbackfn , this_arg ) {
6362 get ( this . #version) ;
6463
65- return super . forEach ( callbackfn , this_arg ) ;
64+ var bound_callbackfn = callbackfn . bind ( this_arg ) ;
65+ this . #sources. forEach ( ( s , key ) => bound_callbackfn ( s . v , key , this ) ) ;
6666 }
6767
6868 /** @param {K } key */
@@ -96,7 +96,7 @@ export class ReactiveMap extends Map {
9696 set ( s , value ) ;
9797 }
9898
99- return super . set ( key , value ) ;
99+ return this ;
100100 }
101101
102102 /** @param {K } key */
@@ -105,13 +105,14 @@ export class ReactiveMap extends Map {
105105 var s = sources . get ( key ) ;
106106
107107 if ( s !== undefined ) {
108- sources . delete ( key ) ;
108+ var removed = sources . delete ( key ) ;
109109 set ( this . #size, sources . size ) ;
110110 set ( s , /** @type {V } */ ( UNINITIALIZED ) ) ;
111111 this . #increment_version( ) ;
112+ return removed ;
112113 }
113114
114- return super . delete ( key ) ;
115+ return false ;
115116 }
116117
117118 clear ( ) {
@@ -126,7 +127,6 @@ export class ReactiveMap extends Map {
126127 }
127128
128129 sources . clear ( ) ;
129- super . clear ( ) ;
130130 }
131131
132132 keys ( ) {
0 commit comments