@@ -4,23 +4,23 @@ import { captureStoreUpdates, trackDeep, trackStore } from "../src/index.js";
4
4
import { createStore , reconcile , unwrap } from "solid-js/store" ;
5
5
6
6
const apis : {
7
- name : string
8
- fn : ( store : any ) => ( ) => void ,
9
- pojo : boolean ,
7
+ name : string ;
8
+ fn : ( store : any ) => ( ) => void ;
9
+ pojo : boolean ;
10
10
} [ ] = [
11
11
{
12
12
name : "trackDeep" ,
13
- fn : store => ( ) => trackDeep ( store ) ,
13
+ fn : store => ( ) => trackDeep ( store ) ,
14
14
pojo : true ,
15
15
} ,
16
16
{
17
17
name : "trackStore" ,
18
- fn : store => ( ) => trackStore ( store ) ,
18
+ fn : store => ( ) => trackStore ( store ) ,
19
19
pojo : false ,
20
20
} ,
21
21
{
22
22
name : "captureUpdates" ,
23
- fn : captureStoreUpdates ,
23
+ fn : captureStoreUpdates ,
24
24
pojo : false ,
25
25
} ,
26
26
] ;
@@ -166,112 +166,112 @@ for (const api of apis) {
166
166
} ) ;
167
167
168
168
test ( "circular reference" , ( ) => {
169
- type Ref = { ref : Ref , count : number } ;
170
- const ref : Ref = { ref : null as any , count : 0 }
171
- ref . ref = ref
169
+ type Ref = { ref : Ref ; count : number } ;
170
+ const ref : Ref = { ref : null as any , count : 0 } ;
171
+ ref . ref = ref ;
172
172
173
- const [ sign , set ] = createStore ( ref )
174
- const fn = api . fn ( sign )
173
+ const [ sign , set ] = createStore ( ref ) ;
174
+ const fn = api . fn ( sign ) ;
175
175
176
- let runs = 0
176
+ let runs = 0 ;
177
177
createRoot ( ( ) => {
178
178
createEffect ( ( ) => {
179
- fn ( )
180
- runs += 1
181
- } )
182
- } )
183
- expect ( runs ) . toBe ( 1 )
179
+ fn ( ) ;
180
+ runs += 1 ;
181
+ } ) ;
182
+ } ) ;
183
+ expect ( runs ) . toBe ( 1 ) ;
184
184
185
- set ( "count" , 1 )
186
- expect ( runs ) . toBe ( 2 )
187
- } )
185
+ set ( "count" , 1 ) ;
186
+ expect ( runs ) . toBe ( 2 ) ;
187
+ } ) ;
188
188
189
189
test ( "circular reference, two effects" , ( ) => {
190
- type Ref = { ref : Ref , count : number } ;
191
- const ref : Ref = { ref : null as any , count : 0 }
192
- ref . ref = ref
190
+ type Ref = { ref : Ref ; count : number } ;
191
+ const ref : Ref = { ref : null as any , count : 0 } ;
192
+ ref . ref = ref ;
193
193
194
- const [ sign , set ] = createStore ( ref )
195
- const fn_root = api . fn ( sign )
196
- const fn_leaf = api . fn ( sign . ref )
194
+ const [ sign , set ] = createStore ( ref ) ;
195
+ const fn_root = api . fn ( sign ) ;
196
+ const fn_leaf = api . fn ( sign . ref ) ;
197
197
198
- let runs_root = 0
199
- let runs_leaf = 0
198
+ let runs_root = 0 ;
199
+ let runs_leaf = 0 ;
200
200
201
201
createRoot ( ( ) => {
202
202
createEffect ( ( ) => {
203
- fn_root ( )
204
- runs_root += 1
205
- } )
203
+ fn_root ( ) ;
204
+ runs_root += 1 ;
205
+ } ) ;
206
206
createEffect ( ( ) => {
207
- fn_leaf ( )
208
- runs_leaf += 1
209
- } )
210
- } )
211
-
212
- expect ( runs_root ) . toBe ( 1 )
213
- expect ( runs_leaf ) . toBe ( 1 )
214
-
215
- set ( "count" , 1 )
216
- expect ( runs_root ) . toBe ( 2 )
217
- expect ( runs_leaf ) . toBe ( 2 )
218
- } )
207
+ fn_leaf ( ) ;
208
+ runs_leaf += 1 ;
209
+ } ) ;
210
+ } ) ;
211
+
212
+ expect ( runs_root ) . toBe ( 1 ) ;
213
+ expect ( runs_leaf ) . toBe ( 1 ) ;
214
+
215
+ set ( "count" , 1 ) ;
216
+ expect ( runs_root ) . toBe ( 2 ) ;
217
+ expect ( runs_leaf ) . toBe ( 2 ) ;
218
+ } ) ;
219
219
220
220
test ( "multiple references" , ( ) => {
221
- const obj = { count : 0 }
222
- const [ sign , set ] = createStore ( { a : obj , b : obj } )
221
+ const obj = { count : 0 } ;
222
+ const [ sign , set ] = createStore ( { a : obj , b : obj } ) ;
223
223
224
- const fn = api . fn ( sign )
224
+ const fn = api . fn ( sign ) ;
225
225
226
- let runs = 0
226
+ let runs = 0 ;
227
227
createRoot ( ( ) => {
228
228
createEffect ( ( ) => {
229
- fn ( )
230
- runs ++
231
- } )
232
- } )
229
+ fn ( ) ;
230
+ runs ++ ;
231
+ } ) ;
232
+ } ) ;
233
233
234
- expect ( runs ) . toBe ( 1 )
234
+ expect ( runs ) . toBe ( 1 ) ;
235
235
236
- set ( "a" , "count" , 1 )
237
- expect ( runs ) . toBe ( 2 )
236
+ set ( "a" , "count" , 1 ) ;
237
+ expect ( runs ) . toBe ( 2 ) ;
238
238
239
- set ( "b" , "count" , 2 )
240
- expect ( runs ) . toBe ( 3 )
241
- } )
239
+ set ( "b" , "count" , 2 ) ;
240
+ expect ( runs ) . toBe ( 3 ) ;
241
+ } ) ;
242
242
243
243
test ( "multiple references, two effects" , ( ) => {
244
- const obj = { count : 0 }
245
- const [ sign , set ] = createStore ( { a : obj , b : obj } )
244
+ const obj = { count : 0 } ;
245
+ const [ sign , set ] = createStore ( { a : obj , b : obj } ) ;
246
246
247
- const fn_a = api . fn ( sign . a )
248
- const fn_b = api . fn ( sign . b )
247
+ const fn_a = api . fn ( sign . a ) ;
248
+ const fn_b = api . fn ( sign . b ) ;
249
249
250
- let runs_a = 0
251
- let runs_b = 0
250
+ let runs_a = 0 ;
251
+ let runs_b = 0 ;
252
252
253
253
createRoot ( ( ) => {
254
254
createEffect ( ( ) => {
255
- fn_a ( )
256
- runs_a ++
257
- } )
255
+ fn_a ( ) ;
256
+ runs_a ++ ;
257
+ } ) ;
258
258
createEffect ( ( ) => {
259
- fn_b ( )
260
- runs_b ++
261
- } )
262
- } )
263
-
264
- expect ( runs_a ) . toBe ( 1 )
265
- expect ( runs_b ) . toBe ( 1 )
266
-
267
- set ( "a" , "count" , 1 )
268
- expect ( runs_a ) . toBe ( 2 )
269
- expect ( runs_b ) . toBe ( 2 )
270
-
271
- set ( "b" , "count" , 2 )
272
- expect ( runs_a ) . toBe ( 3 )
273
- expect ( runs_b ) . toBe ( 3 )
274
- } )
259
+ fn_b ( ) ;
260
+ runs_b ++ ;
261
+ } ) ;
262
+ } ) ;
263
+
264
+ expect ( runs_a ) . toBe ( 1 ) ;
265
+ expect ( runs_b ) . toBe ( 1 ) ;
266
+
267
+ set ( "a" , "count" , 1 ) ;
268
+ expect ( runs_a ) . toBe ( 2 ) ;
269
+ expect ( runs_b ) . toBe ( 2 ) ;
270
+
271
+ set ( "b" , "count" , 2 ) ;
272
+ expect ( runs_a ) . toBe ( 3 ) ;
273
+ expect ( runs_b ) . toBe ( 3 ) ;
274
+ } ) ;
275
275
276
276
test ( "doesn't trigger on unrelated changes" , ( ) => {
277
277
const [ sign , set ] = createStore < any > ( { a : { "a.b" : "thoughts" } } ) ;
0 commit comments