@@ -2,12 +2,11 @@ import { DEV } from 'esm-env';
2
2
import {
3
3
get ,
4
4
set ,
5
- update ,
6
5
updating_derived ,
7
6
batch_inspect ,
8
7
current_component_context ,
9
- set_ignore_mutation_validation ,
10
- untrack
8
+ untrack ,
9
+ set_signal_value
11
10
} from './runtime.js' ;
12
11
import { effect_active } from './reactivity/computations.js' ;
13
12
import {
@@ -150,6 +149,15 @@ export function unstate(value) {
150
149
) ;
151
150
}
152
151
152
+ /**
153
+ * @param {import('./types.js').Signal<number> } signal
154
+ * @param {1 | -1 } [d]
155
+ */
156
+ function update_version ( signal , d = 1 ) {
157
+ const value = untrack ( ( ) => get ( signal ) ) ;
158
+ set_signal_value ( signal , value + d ) ;
159
+ }
160
+
153
161
/** @type {ProxyHandler<import('./types.js').ProxyStateObject<any>> } */
154
162
const state_proxy_handler = {
155
163
defineProperty ( target , prop , descriptor ) {
@@ -185,9 +193,7 @@ const state_proxy_handler = {
185
193
if ( s !== undefined ) set ( s , UNINITIALIZED ) ;
186
194
187
195
if ( boolean ) {
188
- set_ignore_mutation_validation ( true ) ;
189
- update ( metadata . v ) ;
190
- set_ignore_mutation_validation ( false ) ;
196
+ update_version ( metadata . v ) ;
191
197
}
192
198
193
199
return boolean ;
@@ -308,9 +314,7 @@ const state_proxy_handler = {
308
314
set ( ls , length ) ;
309
315
}
310
316
}
311
- set_ignore_mutation_validation ( true ) ;
312
- update ( metadata . v ) ;
313
- set_ignore_mutation_validation ( false ) ;
317
+ update_version ( metadata . v ) ;
314
318
}
315
319
316
320
return true ;
0 commit comments