atom.io 0.27.4 → 0.27.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/data/dist/index.js +57 -72
  2. package/data/src/dict.ts +9 -12
  3. package/data/src/join.ts +25 -26
  4. package/data/src/struct-family.ts +17 -23
  5. package/data/src/struct.ts +9 -12
  6. package/dist/{chunk-JRENM6KL.js → chunk-6ABWLAGY.js} +177 -151
  7. package/dist/index.d.ts +3 -3
  8. package/dist/index.js +33 -53
  9. package/ephemeral/dist/index.js +1 -1
  10. package/ephemeral/src/find-state.ts +1 -1
  11. package/immortal/dist/index.js +2 -2
  12. package/immortal/src/seek-state.ts +2 -2
  13. package/internal/dist/index.d.ts +80 -62
  14. package/internal/dist/index.js +1 -1
  15. package/internal/src/atom/create-regular-atom.ts +3 -3
  16. package/internal/src/atom/create-standalone-atom.ts +7 -5
  17. package/internal/src/families/create-atom-family.ts +5 -5
  18. package/internal/src/families/create-readonly-selector-family.ts +20 -9
  19. package/internal/src/families/create-regular-atom-family.ts +15 -6
  20. package/internal/src/families/create-selector-family.ts +5 -5
  21. package/internal/src/families/create-writable-selector-family.ts +20 -10
  22. package/internal/src/families/dispose-from-store.ts +11 -14
  23. package/internal/src/families/find-in-store.ts +11 -11
  24. package/internal/src/families/init-family-member.ts +9 -9
  25. package/internal/src/families/seek-in-store.ts +10 -10
  26. package/internal/src/get-state/get-from-store.ts +32 -18
  27. package/internal/src/ingest-updates/ingest-atom-update.ts +1 -1
  28. package/internal/src/ingest-updates/ingest-creation-disposal.ts +5 -5
  29. package/internal/src/molecule/create-molecule-family.ts +1 -1
  30. package/internal/src/molecule/dispose-molecule.ts +1 -1
  31. package/internal/src/molecule/grow-molecule-in-store.ts +1 -1
  32. package/internal/src/molecule/make-molecule-in-store.ts +5 -5
  33. package/internal/src/mutable/create-mutable-atom-family.ts +15 -6
  34. package/internal/src/mutable/create-mutable-atom.ts +3 -3
  35. package/internal/src/mutable/get-json-token.ts +2 -2
  36. package/internal/src/mutable/tracker-family.ts +3 -3
  37. package/internal/src/mutable/tracker.ts +14 -18
  38. package/internal/src/selector/create-readonly-selector.ts +2 -2
  39. package/internal/src/selector/create-standalone-selector.ts +5 -5
  40. package/internal/src/selector/create-writable-selector.ts +2 -2
  41. package/internal/src/selector/register-selector.ts +9 -9
  42. package/internal/src/set-state/set-into-store.ts +8 -16
  43. package/internal/src/store/deposit.ts +53 -13
  44. package/internal/src/store/store.ts +1 -1
  45. package/internal/src/subscribe/index.ts +2 -0
  46. package/internal/src/subscribe/subscribe-in-store.ts +62 -0
  47. package/internal/src/timeline/time-travel.ts +1 -1
  48. package/internal/src/transaction/build-transaction.ts +6 -6
  49. package/introspection/dist/index.js +66 -87
  50. package/introspection/src/attach-atom-index.ts +5 -8
  51. package/introspection/src/attach-selector-index.ts +6 -8
  52. package/introspection/src/attach-timeline-family.ts +25 -28
  53. package/introspection/src/attach-timeline-index.ts +5 -8
  54. package/introspection/src/attach-transaction-index.ts +5 -8
  55. package/introspection/src/attach-transaction-logs.ts +21 -27
  56. package/json/dist/index.js +12 -15
  57. package/json/src/select-json-family.ts +4 -4
  58. package/json/src/select-json.ts +6 -9
  59. package/package.json +1 -1
  60. package/react/dist/index.js +7 -7
  61. package/react/src/parse-state-overloads.ts +2 -2
  62. package/react/src/use-i.ts +1 -1
  63. package/react/src/use-json.ts +2 -2
  64. package/react/src/use-o.ts +2 -2
  65. package/realtime-client/dist/index.js +35 -55
  66. package/realtime-client/src/pull-atom-family-member.ts +1 -1
  67. package/realtime-client/src/pull-atom.ts +1 -1
  68. package/realtime-client/src/pull-mutable-atom-family-member.ts +3 -3
  69. package/realtime-client/src/pull-mutable-atom.ts +3 -3
  70. package/realtime-client/src/sync-continuity.ts +27 -47
  71. package/realtime-react/dist/index.js +3 -3
  72. package/realtime-react/src/use-pull-atom-family-member.ts +1 -1
  73. package/realtime-react/src/use-pull-mutable-family-member.ts +1 -1
  74. package/realtime-react/src/use-pull-selector-family-member.ts +1 -1
  75. package/realtime-server/dist/index.js +32 -32
  76. package/realtime-server/src/realtime-continuity-synchronizer.ts +16 -16
  77. package/realtime-server/src/realtime-family-provider.ts +3 -3
  78. package/realtime-server/src/realtime-mutable-family-provider.ts +5 -5
  79. package/realtime-server/src/realtime-mutable-provider.ts +2 -2
  80. package/realtime-server/src/realtime-state-provider.ts +1 -1
  81. package/realtime-server/src/realtime-state-receiver.ts +1 -1
  82. package/realtime-testing/dist/index.js +7 -7
  83. package/realtime-testing/src/setup-realtime-test.tsx +7 -7
  84. package/src/atom.ts +2 -2
  85. package/src/dispose-state.ts +2 -2
  86. package/src/get-state.ts +9 -13
  87. package/src/molecule.ts +1 -1
  88. package/src/selector.ts +2 -2
  89. package/src/set-state.ts +10 -7
  90. package/src/silo.ts +23 -53
  91. package/src/subscribe.ts +3 -23
  92. package/src/timeline.ts +2 -2
  93. package/internal/src/families/throw-in-case-of-conflicting-family.ts +0 -18
@@ -28,13 +28,13 @@ export function parseStateOverloads<T, K extends Canonical>(
28
28
  const key = rest[1]
29
29
 
30
30
  if (store.config.lifespan === `immortal`) {
31
- const maybeToken = seekInStore(family, key, store)
31
+ const maybeToken = seekInStore(store, family, key)
32
32
  if (!maybeToken) {
33
33
  throw new NotFoundError(family, key, store)
34
34
  }
35
35
  token = maybeToken
36
36
  } else {
37
- token = findInStore(family, key, store)
37
+ token = findInStore(store, family, key)
38
38
  }
39
39
  } else {
40
40
  token = rest[0]
@@ -25,7 +25,7 @@ export function useI<T, K extends Canonical>(
25
25
  > = React.useRef(null)
26
26
  if (setter.current === null) {
27
27
  setter.current = (next) => {
28
- setIntoStore(token, next, store)
28
+ setIntoStore(store, token, next)
29
29
  }
30
30
  }
31
31
  return setter.current
@@ -31,8 +31,8 @@ export function useJSON<
31
31
  const store = React.useContext(StoreContext)
32
32
  const stateToken: ReadableToken<any> =
33
33
  token.type === `mutable_atom_family`
34
- ? findInStore(token, key as Key, store)
34
+ ? findInStore(store, token, key as Key)
35
35
  : token
36
- const jsonToken = getJsonToken(stateToken, store)
36
+ const jsonToken = getJsonToken(store, stateToken)
37
37
  return useO(jsonToken)
38
38
  }
@@ -21,7 +21,7 @@ export function useO<T, K extends Canonical>(
21
21
  const id = React.useId()
22
22
  return React.useSyncExternalStore<T>(
23
23
  (dispatch) => subscribeToState(token, dispatch, `use-o:${id}`, store),
24
- () => getFromStore(token, store),
25
- () => getFromStore(token, store),
24
+ () => getFromStore(store, token),
25
+ () => getFromStore(store, token),
26
26
  )
27
27
  }
@@ -8,7 +8,7 @@ import { optimisticUpdateQueue as optimisticUpdateQueue$1, confirmedUpdateQueue
8
8
 
9
9
  function pullAtom(token, socket, store) {
10
10
  const setServedValue = (data) => {
11
- setIntoStore(token, data, store);
11
+ setIntoStore(store, token, data);
12
12
  };
13
13
  socket.on(`serve:${token.key}`, setServedValue);
14
14
  socket.emit(`sub:${token.key}`);
@@ -26,7 +26,7 @@ function pullAtomFamilyMember(token, socket, store) {
26
26
  const { key: familyKey, subKey: serializedSubKey } = token.family;
27
27
  const subKey = parseJson(serializedSubKey);
28
28
  socket?.on(`serve:${token.key}`, (data) => {
29
- setIntoStore(token, data, store);
29
+ setIntoStore(store, token, data);
30
30
  });
31
31
  socket?.emit(`sub:${familyKey}`, subKey);
32
32
  return () => {
@@ -35,15 +35,15 @@ function pullAtomFamilyMember(token, socket, store) {
35
35
  };
36
36
  }
37
37
  function pullMutableAtom(token, socket, store) {
38
- const jsonToken = getJsonToken(token, store);
38
+ const jsonToken = getJsonToken(store, token);
39
39
  const updateToken = getUpdateToken(token);
40
40
  socket.on(`init:${token.key}`, (data) => {
41
- setIntoStore(jsonToken, data, store);
41
+ setIntoStore(store, jsonToken, data);
42
42
  });
43
43
  socket.on(
44
44
  `next:${token.key}`,
45
45
  (data) => {
46
- setIntoStore(updateToken, data, store);
46
+ setIntoStore(store, updateToken, data);
47
47
  }
48
48
  );
49
49
  socket.emit(`sub:${token.key}`);
@@ -62,14 +62,14 @@ function pullMutableAtomFamilyMember(token, socket, store) {
62
62
  const { key: familyKey, subKey: serializedSubKey } = token.family;
63
63
  const subKey = parseJson(serializedSubKey);
64
64
  socket.on(`init:${token.key}`, (data) => {
65
- const jsonToken = getJsonToken(token, store);
66
- setIntoStore(jsonToken, data, store);
65
+ const jsonToken = getJsonToken(store, token);
66
+ setIntoStore(store, jsonToken, data);
67
67
  });
68
68
  socket.on(
69
69
  `next:${token.key}`,
70
70
  (data) => {
71
71
  const trackerToken = getUpdateToken(token);
72
- setIntoStore(trackerToken, data, store);
72
+ setIntoStore(store, trackerToken, data);
73
73
  }
74
74
  );
75
75
  socket.emit(`sub:${familyKey}`, subKey);
@@ -195,8 +195,8 @@ function serverAction(token, socket, store) {
195
195
  }
196
196
  function syncContinuity(continuity, socket, store) {
197
197
  const continuityKey = continuity.key;
198
- const optimisticUpdates = getFromStore(optimisticUpdateQueue$1, store);
199
- const confirmedUpdates = getFromStore(confirmedUpdateQueue$1, store);
198
+ const optimisticUpdates = getFromStore(store, optimisticUpdateQueue$1);
199
+ const confirmedUpdates = getFromStore(store, confirmedUpdateQueue$1);
200
200
  const initializeContinuity = (epoch, payload) => {
201
201
  socket.off(`continuity-init:${continuityKey}`, initializeContinuity);
202
202
  let i = 0;
@@ -208,9 +208,9 @@ function syncContinuity(continuity, socket, store) {
208
208
  } else {
209
209
  v = x;
210
210
  if (`type` in k && k.type === `mutable_atom`) {
211
- k = getJsonToken(k, store);
211
+ k = getJsonToken(store, k);
212
212
  }
213
- setIntoStore(k, v, store);
213
+ setIntoStore(store, k, v);
214
214
  }
215
215
  i++;
216
216
  }
@@ -226,14 +226,10 @@ function syncContinuity(continuity, socket, store) {
226
226
  continuityKey,
227
227
  `reconciling updates`
228
228
  );
229
- setIntoStore(
230
- optimisticUpdateQueue$1,
231
- (queue) => {
232
- queue.shift();
233
- return queue;
234
- },
235
- store
236
- );
229
+ setIntoStore(store, optimisticUpdateQueue$1, (queue) => {
230
+ queue.shift();
231
+ return queue;
232
+ });
237
233
  if (optimisticUpdate.id === confirmedUpdate.id) {
238
234
  const clientResult = JSON.stringify(optimisticUpdate.updates);
239
235
  const serverResult = JSON.stringify(confirmedUpdate.updates);
@@ -356,15 +352,11 @@ function syncContinuity(continuity, socket, store) {
356
352
  `pushing confirmed update to queue`,
357
353
  confirmed
358
354
  );
359
- setIntoStore(
360
- confirmedUpdateQueue$1,
361
- (queue) => {
362
- queue.push(confirmed);
363
- queue.sort((a, b) => a.epoch - b.epoch);
364
- return queue;
365
- },
366
- store
367
- );
355
+ setIntoStore(store, confirmedUpdateQueue$1, (queue) => {
356
+ queue.push(confirmed);
357
+ queue.sort((a, b) => a.epoch - b.epoch);
358
+ return queue;
359
+ });
368
360
  }
369
361
  }
370
362
  } else {
@@ -414,15 +406,11 @@ function syncContinuity(continuity, socket, store) {
414
406
  continuityKey,
415
407
  `pushing confirmed update #${confirmed.epoch} to queue`
416
408
  );
417
- setIntoStore(
418
- confirmedUpdateQueue$1,
419
- (queue) => {
420
- queue.push(confirmed);
421
- queue.sort((a, b) => a.epoch - b.epoch);
422
- return queue;
423
- },
424
- store
425
- );
409
+ setIntoStore(store, confirmedUpdateQueue$1, (queue) => {
410
+ queue.push(confirmed);
411
+ queue.sort((a, b) => a.epoch - b.epoch);
412
+ return queue;
413
+ });
426
414
  }
427
415
  }
428
416
  }
@@ -450,15 +438,11 @@ function syncContinuity(continuity, socket, store) {
450
438
  continuityKey,
451
439
  `enqueuing new optimistic update`
452
440
  );
453
- setIntoStore(
454
- optimisticUpdateQueue$1,
455
- (queue) => {
456
- queue.push(clientUpdate);
457
- queue.sort((a, b) => a.epoch - b.epoch);
458
- return queue;
459
- },
460
- store
461
- );
441
+ setIntoStore(store, optimisticUpdateQueue$1, (queue) => {
442
+ queue.push(clientUpdate);
443
+ queue.sort((a, b) => a.epoch - b.epoch);
444
+ return queue;
445
+ });
462
446
  } else {
463
447
  store.logger.info(
464
448
  `\u{1F91E}`,
@@ -466,14 +450,10 @@ function syncContinuity(continuity, socket, store) {
466
450
  continuityKey,
467
451
  `replacing existing optimistic update at index ${optimisticUpdateIndex}`
468
452
  );
469
- setIntoStore(
470
- optimisticUpdateQueue$1,
471
- (queue) => {
472
- queue[optimisticUpdateIndex] = clientUpdate;
473
- return queue;
474
- },
475
- store
476
- );
453
+ setIntoStore(store, optimisticUpdateQueue$1, (queue) => {
454
+ queue[optimisticUpdateIndex] = clientUpdate;
455
+ return queue;
456
+ });
477
457
  }
478
458
  socket.emit(`tx-run:${continuityKey}`, {
479
459
  id: clientUpdate.id,
@@ -16,7 +16,7 @@ export function pullAtomFamilyMember<J extends Json.Serializable>(
16
16
  const { key: familyKey, subKey: serializedSubKey } = token.family
17
17
  const subKey = parseJson(serializedSubKey)
18
18
  socket?.on(`serve:${token.key}`, (data: J) => {
19
- setIntoStore(token, data, store)
19
+ setIntoStore(store, token, data)
20
20
  })
21
21
  socket?.emit(`sub:${familyKey}`, subKey)
22
22
  return () => {
@@ -9,7 +9,7 @@ export function pullAtom<J extends Json.Serializable>(
9
9
  store: Store,
10
10
  ): () => void {
11
11
  const setServedValue = (data: J) => {
12
- setIntoStore(token, data, store)
12
+ setIntoStore(store, token, data)
13
13
  }
14
14
  socket.on(`serve:${token.key}`, setServedValue)
15
15
  socket.emit(`sub:${token.key}`)
@@ -20,14 +20,14 @@ export function pullMutableAtomFamilyMember<
20
20
  const { key: familyKey, subKey: serializedSubKey } = token.family
21
21
  const subKey = parseJson(serializedSubKey)
22
22
  socket.on(`init:${token.key}`, (data: J) => {
23
- const jsonToken = getJsonToken(token, store)
24
- setIntoStore(jsonToken, data, store)
23
+ const jsonToken = getJsonToken(store, token)
24
+ setIntoStore(store, jsonToken, data)
25
25
  })
26
26
  socket.on(
27
27
  `next:${token.key}`,
28
28
  (data: T extends Transceiver<infer Signal> ? Signal : never) => {
29
29
  const trackerToken = getUpdateToken(token)
30
- setIntoStore(trackerToken, data, store)
30
+ setIntoStore(store, trackerToken, data)
31
31
  },
32
32
  )
33
33
  socket.emit(`sub:${familyKey}`, subKey)
@@ -12,15 +12,15 @@ export function pullMutableAtom<
12
12
  socket: Socket,
13
13
  store: Store,
14
14
  ): () => void {
15
- const jsonToken = getJsonToken(token, store)
15
+ const jsonToken = getJsonToken(store, token)
16
16
  const updateToken = getUpdateToken(token)
17
17
  socket.on(`init:${token.key}`, (data: J) => {
18
- setIntoStore(jsonToken, data, store)
18
+ setIntoStore(store, jsonToken, data)
19
19
  })
20
20
  socket.on(
21
21
  `next:${token.key}`,
22
22
  (data: T extends Transceiver<infer Update> ? Update : never) => {
23
- setIntoStore(updateToken, data, store)
23
+ setIntoStore(store, updateToken, data)
24
24
  },
25
25
  )
26
26
  socket.emit(`sub:${token.key}`)
@@ -27,8 +27,8 @@ export function syncContinuity<F extends Func>(
27
27
  store: Store,
28
28
  ): () => void {
29
29
  const continuityKey = continuity.key
30
- const optimisticUpdates = getFromStore(optimisticUpdateQueue, store)
31
- const confirmedUpdates = getFromStore(confirmedUpdateQueue, store)
30
+ const optimisticUpdates = getFromStore(store, optimisticUpdateQueue)
31
+ const confirmedUpdates = getFromStore(store, confirmedUpdateQueue)
32
32
 
33
33
  const initializeContinuity = (epoch: number, payload: Json.Array) => {
34
34
  socket.off(`continuity-init:${continuityKey}`, initializeContinuity)
@@ -41,9 +41,9 @@ export function syncContinuity<F extends Func>(
41
41
  } else {
42
42
  v = x
43
43
  if (`type` in k && k.type === `mutable_atom`) {
44
- k = getJsonToken(k, store)
44
+ k = getJsonToken(store, k)
45
45
  }
46
- setIntoStore(k, v, store)
46
+ setIntoStore(store, k, v)
47
47
  }
48
48
  i++
49
49
  }
@@ -65,14 +65,10 @@ export function syncContinuity<F extends Func>(
65
65
  continuityKey,
66
66
  `reconciling updates`,
67
67
  )
68
- setIntoStore(
69
- optimisticUpdateQueue,
70
- (queue) => {
71
- queue.shift()
72
- return queue
73
- },
74
- store,
75
- )
68
+ setIntoStore(store, optimisticUpdateQueue, (queue) => {
69
+ queue.shift()
70
+ return queue
71
+ })
76
72
  if (optimisticUpdate.id === confirmedUpdate.id) {
77
73
  const clientResult = JSON.stringify(optimisticUpdate.updates)
78
74
  const serverResult = JSON.stringify(confirmedUpdate.updates)
@@ -199,15 +195,11 @@ export function syncContinuity<F extends Func>(
199
195
  `pushing confirmed update to queue`,
200
196
  confirmed,
201
197
  )
202
- setIntoStore(
203
- confirmedUpdateQueue,
204
- (queue) => {
205
- queue.push(confirmed)
206
- queue.sort((a, b) => a.epoch - b.epoch)
207
- return queue
208
- },
209
- store,
210
- )
198
+ setIntoStore(store, confirmedUpdateQueue, (queue) => {
199
+ queue.push(confirmed)
200
+ queue.sort((a, b) => a.epoch - b.epoch)
201
+ return queue
202
+ })
211
203
  }
212
204
  }
213
205
  } else {
@@ -260,15 +252,11 @@ export function syncContinuity<F extends Func>(
260
252
  continuityKey,
261
253
  `pushing confirmed update #${confirmed.epoch} to queue`,
262
254
  )
263
- setIntoStore(
264
- confirmedUpdateQueue,
265
- (queue) => {
266
- queue.push(confirmed)
267
- queue.sort((a, b) => a.epoch - b.epoch)
268
- return queue
269
- },
270
- store,
271
- )
255
+ setIntoStore(store, confirmedUpdateQueue, (queue) => {
256
+ queue.push(confirmed)
257
+ queue.sort((a, b) => a.epoch - b.epoch)
258
+ return queue
259
+ })
272
260
  }
273
261
  }
274
262
  }
@@ -297,15 +285,11 @@ export function syncContinuity<F extends Func>(
297
285
  continuityKey,
298
286
  `enqueuing new optimistic update`,
299
287
  )
300
- setIntoStore(
301
- optimisticUpdateQueue,
302
- (queue) => {
303
- queue.push(clientUpdate)
304
- queue.sort((a, b) => a.epoch - b.epoch)
305
- return queue
306
- },
307
- store,
308
- )
288
+ setIntoStore(store, optimisticUpdateQueue, (queue) => {
289
+ queue.push(clientUpdate)
290
+ queue.sort((a, b) => a.epoch - b.epoch)
291
+ return queue
292
+ })
309
293
  } else {
310
294
  store.logger.info(
311
295
  `🤞`,
@@ -313,14 +297,10 @@ export function syncContinuity<F extends Func>(
313
297
  continuityKey,
314
298
  `replacing existing optimistic update at index ${optimisticUpdateIndex}`,
315
299
  )
316
- setIntoStore(
317
- optimisticUpdateQueue,
318
- (queue) => {
319
- queue[optimisticUpdateIndex] = clientUpdate
320
- return queue
321
- },
322
- store,
323
- )
300
+ setIntoStore(store, optimisticUpdateQueue, (queue) => {
301
+ queue[optimisticUpdateIndex] = clientUpdate
302
+ return queue
303
+ })
324
304
  }
325
305
  socket.emit(`tx-run:${continuityKey}`, {
326
306
  id: clientUpdate.id,
@@ -88,7 +88,7 @@ function usePullAtom(token) {
88
88
  }
89
89
  function usePullAtomFamilyMember(family, subKey) {
90
90
  const store = React.useContext(StoreContext);
91
- const token = findInStore(family, subKey, store);
91
+ const token = findInStore(store, family, subKey);
92
92
  useRealtimeService(
93
93
  `pull:${token.key}`,
94
94
  (socket) => RTC.pullAtomFamilyMember(token, socket, store)
@@ -105,7 +105,7 @@ function usePullMutable(token) {
105
105
  }
106
106
  function usePullMutableAtomFamilyMember(familyToken, key) {
107
107
  const store = React.useContext(StoreContext);
108
- const token = findInStore(familyToken, key, store);
108
+ const token = findInStore(store, familyToken, key);
109
109
  useRealtimeService(
110
110
  `pull:${token.key}`,
111
111
  (socket) => RTC.pullMutableAtomFamilyMember(token, socket, store)
@@ -122,7 +122,7 @@ function usePullSelector(token) {
122
122
  }
123
123
  function usePullSelectorFamilyMember(familyToken, key) {
124
124
  const store = React.useContext(StoreContext);
125
- const token = findInStore(familyToken, key, store);
125
+ const token = findInStore(store, familyToken, key);
126
126
  useRealtimeService(
127
127
  `pull:${token.key}`,
128
128
  (socket) => RTC.pullSelectorFamilyMember(token, socket, store)
@@ -13,7 +13,7 @@ export function usePullAtomFamilyMember<
13
13
  Key extends K,
14
14
  >(family: AtomIO.RegularAtomFamilyToken<J, K>, subKey: Key): J {
15
15
  const store = React.useContext(StoreContext)
16
- const token = findInStore(family, subKey, store)
16
+ const token = findInStore(store, family, subKey)
17
17
  useRealtimeService(`pull:${token.key}`, (socket) =>
18
18
  RTC.pullAtomFamilyMember(token, socket, store),
19
19
  )
@@ -15,7 +15,7 @@ export function usePullMutableAtomFamilyMember<
15
15
  Key extends K,
16
16
  >(familyToken: AtomIO.MutableAtomFamilyToken<T, J, K>, key: Key): T {
17
17
  const store = React.useContext(StoreContext)
18
- const token = findInStore(familyToken, key, store)
18
+ const token = findInStore(store, familyToken, key)
19
19
  useRealtimeService(`pull:${token.key}`, (socket) =>
20
20
  RTC.pullMutableAtomFamilyMember(token, socket, store),
21
21
  )
@@ -13,7 +13,7 @@ export function usePullSelectorFamilyMember<
13
13
  Key extends K,
14
14
  >(familyToken: AtomIO.SelectorFamilyToken<T, K>, key: Key): T {
15
15
  const store = React.useContext(StoreContext)
16
- const token = findInStore(familyToken, key, store)
16
+ const token = findInStore(store, familyToken, key)
17
17
  useRealtimeService(`pull:${token.key}`, (socket) =>
18
18
  RTC.pullSelectorFamilyMember(token, socket, store),
19
19
  )
@@ -484,7 +484,7 @@ function realtimeContinuitySynchronizer({
484
484
  socket.id,
485
485
  store
486
486
  ).userKeyOfSocket;
487
- const userKey = getFromStore(userKeyState, store);
487
+ const userKey = getFromStore(store, userKeyState);
488
488
  if (!userKey) {
489
489
  store.logger.error(
490
490
  `\u274C`,
@@ -518,28 +518,28 @@ function realtimeContinuitySynchronizer({
518
518
  );
519
519
  return;
520
520
  }
521
- const newSocketState = findInStore(socketAtoms, newSocketKey, store);
522
- const newSocket = getFromStore(newSocketState, store);
521
+ const newSocketState = findInStore(store, socketAtoms, newSocketKey);
522
+ const newSocket = getFromStore(store, newSocketState);
523
523
  socket = newSocket;
524
524
  },
525
525
  `sync-continuity:${continuityKey}:${userKey}`,
526
526
  store
527
527
  );
528
528
  const userUnacknowledgedQueue = findInStore(
529
+ store,
529
530
  userUnacknowledgedQueues,
530
- userKey,
531
- store
531
+ userKey
532
532
  );
533
533
  getFromStore(
534
- userUnacknowledgedQueue,
535
- store
534
+ store,
535
+ userUnacknowledgedQueue
536
536
  );
537
537
  const unsubscribeFunctions = [];
538
538
  const revealPerspectives = () => {
539
539
  const unsubFns = [];
540
540
  for (const perspective of continuity.perspectives) {
541
541
  const { viewAtoms } = perspective;
542
- const userViewState = findInStore(viewAtoms, userKey, store);
542
+ const userViewState = findInStore(store, viewAtoms, userKey);
543
543
  const unsubscribe = subscribeToState(
544
544
  userViewState,
545
545
  ({ oldValue, newValue }) => {
@@ -549,8 +549,8 @@ function realtimeContinuitySynchronizer({
549
549
  (token) => !newKeys.includes(token.key)
550
550
  );
551
551
  const revealed = newValue.filter((token) => !oldKeys.includes(token.key)).flatMap((token) => {
552
- const resourceToken = token.type === `mutable_atom` ? getJsonToken(token, store) : token;
553
- const resource = getFromStore(resourceToken, store);
552
+ const resourceToken = token.type === `mutable_atom` ? getJsonToken(store, token) : token;
553
+ const resource = getFromStore(store, resourceToken);
554
554
  return [resourceToken, resource];
555
555
  });
556
556
  store.logger.info(
@@ -580,21 +580,21 @@ function realtimeContinuitySynchronizer({
580
580
  const sendInitialPayload = () => {
581
581
  const initialPayload = [];
582
582
  for (const atom2 of continuity.globals) {
583
- const resourceToken = atom2.type === `mutable_atom` ? getJsonToken(atom2, store) : atom2;
584
- initialPayload.push(resourceToken, getFromStore(atom2, store));
583
+ const resourceToken = atom2.type === `mutable_atom` ? getJsonToken(store, atom2) : atom2;
584
+ initialPayload.push(resourceToken, getFromStore(store, atom2));
585
585
  }
586
586
  for (const perspective of continuity.perspectives) {
587
587
  const { viewAtoms, resourceAtoms } = perspective;
588
- const userViewState = findInStore(viewAtoms, userKey, store);
589
- const userView = getFromStore(userViewState, store);
588
+ const userViewState = findInStore(store, viewAtoms, userKey);
589
+ const userView = getFromStore(store, userViewState);
590
590
  store.logger.info(`\u{1F441}`, `atom`, resourceAtoms.key, `${userKey} can see`, {
591
591
  viewAtoms,
592
592
  resourceAtoms,
593
593
  userView
594
594
  });
595
595
  for (const visibleToken of userView) {
596
- const resourceToken = visibleToken.type === `mutable_atom` ? getJsonToken(visibleToken, store) : visibleToken;
597
- const resource = getFromStore(resourceToken, store);
596
+ const resourceToken = visibleToken.type === `mutable_atom` ? getJsonToken(store, visibleToken) : visibleToken;
597
+ const resource = getFromStore(store, resourceToken);
598
598
  initialPayload.push(resourceToken, resource);
599
599
  }
600
600
  }
@@ -609,13 +609,13 @@ function realtimeContinuitySynchronizer({
609
609
  continuity.perspectives.flatMap((perspective) => {
610
610
  const { viewAtoms } = perspective;
611
611
  const userPerspectiveTokenState = findInStore(
612
+ store,
612
613
  viewAtoms,
613
- userKey,
614
- store
614
+ userKey
615
615
  );
616
616
  const visibleTokens = getFromStore(
617
- userPerspectiveTokenState,
618
- store
617
+ store,
618
+ userPerspectiveTokenState
619
619
  );
620
620
  return visibleTokens.map((token) => {
621
621
  const key = token.type === `mutable_atom` ? `*` + token.key : token.key;
@@ -733,11 +733,11 @@ function realtimeAtomFamilyProvider({
733
733
  }
734
734
  };
735
735
  const fillSubRequest = (subKey) => {
736
- const exposedSubKeys = getFromStore(index, store);
736
+ const exposedSubKeys = getFromStore(store, index);
737
737
  for (const exposedSubKey of exposedSubKeys) {
738
738
  if (stringifyJson(exposedSubKey) === stringifyJson(subKey)) {
739
- const token = findInStore(family, subKey, store);
740
- socket.emit(`serve:${token.key}`, getFromStore(token, store));
739
+ const token = findInStore(store, family, subKey);
740
+ socket.emit(`serve:${token.key}`, getFromStore(store, token));
741
741
  const unsubscribe = subscribeToState(
742
742
  token,
743
743
  ({ newValue }) => {
@@ -779,14 +779,14 @@ function realtimeMutableFamilyProvider({
779
779
  }
780
780
  };
781
781
  const fillSubRequest = (subKey) => {
782
- const exposedSubKeys = getFromStore(index, store);
782
+ const exposedSubKeys = getFromStore(store, index);
783
783
  for (const exposedSubKey of exposedSubKeys) {
784
784
  if (stringifyJson(exposedSubKey) === stringifyJson(subKey)) {
785
- const token = findInStore(family, subKey, store);
786
- getFromStore(token, store);
787
- const jsonToken = getJsonToken(token, store);
785
+ const token = findInStore(store, family, subKey);
786
+ getFromStore(store, token);
787
+ const jsonToken = getJsonToken(store, token);
788
788
  const updateToken = getUpdateToken(token);
789
- socket.emit(`init:${token.key}`, getFromStore(jsonToken, store));
789
+ socket.emit(`init:${token.key}`, getFromStore(store, jsonToken));
790
790
  const unsubscribe = subscribeToState(
791
791
  updateToken,
792
792
  ({ newValue }) => {
@@ -819,7 +819,7 @@ function realtimeMutableProvider({
819
819
  }) {
820
820
  return function mutableProvider(token) {
821
821
  let unsubscribeFromStateUpdates = null;
822
- const jsonToken = getJsonToken(token, store);
822
+ const jsonToken = getJsonToken(store, token);
823
823
  const trackerToken = getUpdateToken(token);
824
824
  const fillUnsubRequest = () => {
825
825
  socket.off(`unsub:${token.key}`, fillUnsubRequest);
@@ -827,7 +827,7 @@ function realtimeMutableProvider({
827
827
  unsubscribeFromStateUpdates = null;
828
828
  };
829
829
  const fillSubRequest = () => {
830
- socket.emit(`init:${token.key}`, getFromStore(jsonToken, store));
830
+ socket.emit(`init:${token.key}`, getFromStore(store, jsonToken));
831
831
  unsubscribeFromStateUpdates = subscribeToState(
832
832
  trackerToken,
833
833
  ({ newValue }) => {
@@ -852,7 +852,7 @@ function realtimeStateProvider({
852
852
  return function stateProvider(token) {
853
853
  let unsubscribeFromStateUpdates;
854
854
  const fillSubRequest = () => {
855
- socket.emit(`serve:${token.key}`, getFromStore(token, store));
855
+ socket.emit(`serve:${token.key}`, getFromStore(store, token));
856
856
  unsubscribeFromStateUpdates = subscribeToState(
857
857
  token,
858
858
  ({ newValue }) => {
@@ -886,7 +886,7 @@ function realtimeStateReceiver({
886
886
  }) {
887
887
  return function stateReceiver(token) {
888
888
  const publish = (newValue) => {
889
- setIntoStore(token, newValue, store);
889
+ setIntoStore(store, token, newValue);
890
890
  };
891
891
  const fillPubUnclaim = () => {
892
892
  socket.off(`pub:${token.key}`, publish);