atom.io 0.26.0 → 0.27.0

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 (60) hide show
  1. package/data/dist/index.d.ts +3 -3
  2. package/data/src/dict.ts +3 -3
  3. package/dist/chunk-AK23DRMD.js +21 -0
  4. package/dist/index.d.ts +32 -54
  5. package/ephemeral/dist/index.d.ts +7 -7
  6. package/ephemeral/src/find-state.ts +7 -7
  7. package/immortal/dist/index.d.ts +7 -7
  8. package/immortal/src/seek-state.ts +8 -8
  9. package/internal/dist/index.d.ts +56 -59
  10. package/internal/dist/index.js +5 -10
  11. package/internal/src/families/create-atom-family.ts +4 -4
  12. package/internal/src/families/create-readonly-selector-family.ts +2 -2
  13. package/internal/src/families/create-regular-atom-family.ts +2 -2
  14. package/internal/src/families/create-selector-family.ts +4 -4
  15. package/internal/src/families/create-writable-selector-family.ts +2 -2
  16. package/internal/src/families/dispose-from-store.ts +3 -7
  17. package/internal/src/families/find-in-store.ts +9 -9
  18. package/internal/src/families/init-family-member.ts +25 -37
  19. package/internal/src/families/seek-in-store.ts +11 -10
  20. package/internal/src/get-state/get-from-store.ts +3 -3
  21. package/internal/src/molecule/grow-molecule-in-store.ts +9 -9
  22. package/internal/src/mutable/index.ts +0 -1
  23. package/internal/src/mutable/tracker-family.ts +2 -2
  24. package/internal/src/set-state/set-into-store.ts +4 -4
  25. package/internal/src/store/deposit.ts +3 -3
  26. package/internal/src/store/withdraw.ts +10 -9
  27. package/json/dist/index.d.ts +10 -27
  28. package/json/dist/index.js +2 -2
  29. package/json/src/index.ts +8 -3
  30. package/json/src/select-json-family.ts +4 -4
  31. package/package.json +20 -17
  32. package/react/dist/index.d.ts +4 -4
  33. package/react/src/parse-state-overloads.ts +4 -4
  34. package/react/src/use-i.ts +3 -3
  35. package/react/src/use-json.ts +3 -3
  36. package/react/src/use-o.ts +3 -3
  37. package/react-devtools/dist/index.d.ts +1 -1
  38. package/react-devtools/dist/index.js +15 -4
  39. package/react-devtools/src/StateIndex.tsx +5 -4
  40. package/realtime/dist/index.d.ts +3 -3
  41. package/realtime/src/realtime-continuity.ts +2 -2
  42. package/realtime-react/dist/index.d.ts +4 -4
  43. package/realtime-react/src/use-pull-atom-family-member.ts +2 -2
  44. package/realtime-react/src/use-pull-mutable-family-member.ts +2 -2
  45. package/realtime-react/src/use-pull-selector-family-member.ts +2 -2
  46. package/realtime-server/dist/index.d.ts +9 -9
  47. package/realtime-server/src/ipc-sockets/custom-socket.ts +2 -2
  48. package/realtime-server/src/realtime-family-provider.ts +3 -2
  49. package/realtime-server/src/realtime-mutable-family-provider.ts +2 -2
  50. package/src/atom.ts +15 -42
  51. package/src/dispose-state.ts +2 -2
  52. package/src/get-state.ts +4 -4
  53. package/src/index.ts +5 -5
  54. package/src/molecule.ts +4 -3
  55. package/src/selector.ts +17 -39
  56. package/src/set-state.ts +3 -2
  57. package/src/silo.ts +4 -4
  58. package/transceivers/set-rtx/src/set-rtx.ts +5 -5
  59. package/dist/chunk-BF4MVQF6.js +0 -44
  60. package/internal/src/mutable/is-mutable.ts +0 -16
@@ -1,6 +1,6 @@
1
1
  import * as atom_io from 'atom.io';
2
2
  import { TransactionToken, TransactionUpdate, TransactionOptions, ActorToolkit, RegularAtomToken, MutableAtomToken, AtomToken, WritableSelectorToken, ReadonlySelectorToken, SelectorToken, WritableToken, MoleculeToken, MoleculeFamily, MoleculeFamilyToken, ReadableToken, TimelineManageable, StateUpdate, TokenType, FamilyMetadata, StateCreation, StateDisposal, MoleculeConstructor, MoleculeCreation, MoleculeDisposal, TimelineUpdate, TimelineOptions, TimelineToken, WritableSelectorFamily, MutableAtomFamily, RegularAtomFamily, ReadonlySelectorFamily, AtomIOLogger, Logger, AtomFamily, ReadableFamily, SelectorFamily, WritableFamily, RegularAtomFamilyToken, MutableAtomFamilyToken, AtomFamilyToken, ReadonlySelectorFamilyToken, WritableSelectorFamilyToken, SelectorFamilyToken, ReadableFamilyToken, WritableFamilyToken, MutableAtomOptions, MutableAtomFamilyOptions, RegularAtomOptions, RegularAtomFamilyOptions, ReadonlySelectorFamilyOptions, WritableSelectorFamilyOptions, MoleculeKey, KeyedStateUpdate, MoleculeFamilyOptions, MoleculeParams, ReadonlySelectorOptions, WritableSelectorOptions, SetterToolkit, UpdateHandler, TransactionUpdateHandler } from 'atom.io';
3
- import { Json, JsonInterface } from 'atom.io/json';
3
+ import { Canonical, Json, JsonInterface } from 'atom.io/json';
4
4
  import { Join } from 'atom.io/data';
5
5
 
6
6
  type primitive = boolean | number | string | null;
@@ -155,10 +155,10 @@ declare function deposit<T>(state: WritableSelector<T>): WritableSelectorToken<T
155
155
  declare function deposit<T>(state: ReadonlySelector<T>): ReadonlySelectorToken<T>;
156
156
  declare function deposit<T>(state: Selector<T>): SelectorToken<T>;
157
157
  declare function deposit<T>(state: WritableState<T>): WritableToken<T>;
158
- declare function deposit<K extends Json.Serializable, S extends {
158
+ declare function deposit<K extends Canonical, S extends {
159
159
  [key: string]: any;
160
160
  }, P extends any[]>(state: Molecule<any>): MoleculeToken<any>;
161
- declare function deposit<K extends Json.Serializable, S extends {
161
+ declare function deposit<K extends Canonical, S extends {
162
162
  [key: string]: any;
163
163
  }, P extends any[]>(state: MoleculeFamily<any>): MoleculeFamilyToken<any>;
164
164
  declare function deposit<T extends Func>(state: Transaction<T>): TransactionToken<T>;
@@ -295,14 +295,14 @@ declare function withdraw<T>(token: ReadonlySelectorToken<T>, store: Store): Rea
295
295
  declare function withdraw<T>(token: SelectorToken<T>, store: Store): Selector<T>;
296
296
  declare function withdraw<T>(token: WritableToken<T>, store: Store): WritableState<T>;
297
297
  declare function withdraw<T>(token: ReadableToken<T>, store: Store): ReadableState<T>;
298
- declare function withdraw<T, K extends Json.Serializable>(token: RegularAtomFamilyToken<T, K>, store: Store): RegularAtomFamily<T, K>;
299
- declare function withdraw<T extends Transceiver<any>, J extends Json.Serializable, K extends Json.Serializable>(token: MutableAtomFamilyToken<T, J, K>, store: Store): MutableAtomFamily<T, J, K>;
300
- declare function withdraw<T, K extends Json.Serializable>(token: AtomFamilyToken<T>, store: Store): AtomFamily<T, any>;
301
- declare function withdraw<T, K extends Json.Serializable>(token: ReadonlySelectorFamilyToken<T, K>, store: Store): ReadonlySelectorFamily<T, any>;
302
- declare function withdraw<T, K extends Json.Serializable>(token: WritableSelectorFamilyToken<T, K>, store: Store): WritableSelectorFamily<T, any>;
303
- declare function withdraw<T, K extends Json.Serializable>(token: SelectorFamilyToken<T, K>, store: Store): SelectorFamily<T, any>;
304
- declare function withdraw<T, K extends Json.Serializable>(token: ReadableFamilyToken<T, K>, store: Store): ReadableFamily<T, any>;
305
- declare function withdraw<T, K extends Json.Serializable>(token: WritableFamilyToken<T, K>, store: Store): WritableFamily<T, any>;
298
+ declare function withdraw<T, K extends Canonical>(token: RegularAtomFamilyToken<T, K>, store: Store): RegularAtomFamily<T, K>;
299
+ declare function withdraw<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical>(token: MutableAtomFamilyToken<T, J, K>, store: Store): MutableAtomFamily<T, J, K>;
300
+ declare function withdraw<T, K extends Canonical>(token: AtomFamilyToken<T>, store: Store): AtomFamily<T, any>;
301
+ declare function withdraw<T, K extends Canonical>(token: ReadonlySelectorFamilyToken<T, K>, store: Store): ReadonlySelectorFamily<T, any>;
302
+ declare function withdraw<T, K extends Canonical>(token: WritableSelectorFamilyToken<T, K>, store: Store): WritableSelectorFamily<T, any>;
303
+ declare function withdraw<T, K extends Canonical>(token: SelectorFamilyToken<T, K>, store: Store): SelectorFamily<T, any>;
304
+ declare function withdraw<T, K extends Canonical>(token: ReadableFamilyToken<T, K>, store: Store): ReadableFamily<T, any>;
305
+ declare function withdraw<T, K extends Canonical>(token: WritableFamilyToken<T, K>, store: Store): WritableFamily<T, any>;
306
306
  declare function withdraw<M extends MoleculeConstructor>(token: MoleculeToken<M>, store: Store): Molecule<M>;
307
307
  declare function withdraw<M extends MoleculeConstructor>(token: MoleculeFamilyToken<M>, store: Store): MoleculeFamily<M>;
308
308
  declare function withdraw<T extends Func>(token: TransactionToken<T>, store: Store): Transaction<T extends Func ? T : never>;
@@ -329,9 +329,6 @@ declare const getJsonToken: <Core extends Transceiver<any>, SerializableCore ext
329
329
 
330
330
  declare const getUpdateToken: <Core extends Transceiver<any>, SerializableCore extends Json.Serializable>(mutableAtomToken: MutableAtomToken<Core, SerializableCore>) => RegularAtomToken<Signal<Core>>;
331
331
 
332
- declare function isMutable(atom: Atom<any>): atom is MutableAtom<any, any>;
333
- declare function isMutable(family: AtomFamily<any, any>): family is MutableAtomFamily<any, any, any>;
334
-
335
332
  /**
336
333
  * @internal Give the tracker a transceiver state and a store, and it will
337
334
  * subscribe to the transceiver's inner value. When the inner value changes,
@@ -350,7 +347,7 @@ declare class Tracker<Mutable extends Transceiver<any>> {
350
347
  constructor(mutableState: MutableAtomToken<Mutable, Json.Serializable>, store: Store);
351
348
  }
352
349
 
353
- declare class FamilyTracker<Core extends Transceiver<any>, FamilyMemberKey extends Json.Serializable> {
350
+ declare class FamilyTracker<Core extends Transceiver<any>, FamilyMemberKey extends Canonical> {
354
351
  private readonly Update;
355
352
  readonly latestUpdateAtoms: RegularAtomFamily<typeof this.Update | null, FamilyMemberKey>;
356
353
  readonly mutableAtoms: MutableAtomFamily<Core, any, FamilyMemberKey>;
@@ -394,46 +391,46 @@ declare function cacheValue<T extends Promise<any>>(key: string, value: T, subje
394
391
  declare const readCachedValue: <T>(token: ReadableState<any>, target: Store) => T;
395
392
  declare const evictCachedValue: (key: string, target: Store) => void;
396
393
 
397
- declare function createAtomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends Json.Serializable>(options: MutableAtomFamilyOptions<T, J, K>, store: Store): MutableAtomFamily<T, J, K>;
398
- declare function createAtomFamily<T, K extends Json.Serializable>(options: RegularAtomFamilyOptions<T, K>, store: Store): RegularAtomFamily<T, K>;
394
+ declare function createAtomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical>(options: MutableAtomFamilyOptions<T, J, K>, store: Store): MutableAtomFamily<T, J, K>;
395
+ declare function createAtomFamily<T, K extends Canonical>(options: RegularAtomFamilyOptions<T, K>, store: Store): RegularAtomFamily<T, K>;
399
396
 
400
- declare function createReadonlySelectorFamily<T, K extends Json.Serializable>(options: ReadonlySelectorFamilyOptions<T, K>, store: Store): ReadonlySelectorFamily<T, K>;
397
+ declare function createReadonlySelectorFamily<T, K extends Canonical>(options: ReadonlySelectorFamilyOptions<T, K>, store: Store): ReadonlySelectorFamily<T, K>;
401
398
 
402
- declare function createRegularAtomFamily<T, K extends Json.Serializable>(options: RegularAtomFamilyOptions<T, K>, store: Store): RegularAtomFamily<T, K>;
399
+ declare function createRegularAtomFamily<T, K extends Canonical>(options: RegularAtomFamilyOptions<T, K>, store: Store): RegularAtomFamily<T, K>;
403
400
 
404
- declare function createSelectorFamily<T, K extends Json.Serializable>(options: WritableSelectorFamilyOptions<T, K>, store: Store): WritableSelectorFamily<T, K>;
405
- declare function createSelectorFamily<T, K extends Json.Serializable>(options: ReadonlySelectorFamilyOptions<T, K>, store: Store): ReadonlySelectorFamily<T, K>;
401
+ declare function createSelectorFamily<T, K extends Canonical>(options: WritableSelectorFamilyOptions<T, K>, store: Store): WritableSelectorFamily<T, K>;
402
+ declare function createSelectorFamily<T, K extends Canonical>(options: ReadonlySelectorFamilyOptions<T, K>, store: Store): ReadonlySelectorFamily<T, K>;
406
403
 
407
404
  declare function disposeFromStore(token: MoleculeToken<any> | ReadableToken<any>, store: Store): void;
408
- declare function disposeFromStore<K extends Json.Serializable>(token: ReadableFamilyToken<any, K>, key: K, store: Store): void;
405
+ declare function disposeFromStore<K extends Canonical>(token: ReadableFamilyToken<any, K>, key: K, store: Store): void;
409
406
  declare function disposeFromStore<M extends MoleculeConstructor>(token: MoleculeFamilyToken<M>, key: MoleculeKey<M>, store: Store): void;
410
407
 
411
- declare function findInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Json.Serializable, Key extends K>(token: MutableAtomFamilyToken<T, J, K>, key: Key, store: Store): MutableAtomToken<T, J>;
412
- declare function findInStore<T, K extends Json.Serializable, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key, store: Store): RegularAtomToken<T>;
413
- declare function findInStore<T, K extends Json.Serializable, Key extends K>(token: AtomFamilyToken<T, K>, key: Key, store: Store): AtomToken<T>;
414
- declare function findInStore<T, K extends Json.Serializable, Key extends K>(token: WritableSelectorFamilyToken<T, K>, key: Key, store: Store): WritableSelectorToken<T>;
415
- declare function findInStore<T, K extends Json.Serializable, Key extends K>(token: ReadonlySelectorFamilyToken<T, K>, key: Key, store: Store): ReadonlySelectorToken<T>;
416
- declare function findInStore<T, K extends Json.Serializable, Key extends K>(token: SelectorFamilyToken<T, K>, key: Key, store: Store): SelectorToken<T>;
417
- declare function findInStore<T, K extends Json.Serializable, Key extends K>(token: WritableFamilyToken<T, K>, key: Key, store: Store): WritableToken<T>;
418
- declare function findInStore<T, K extends Json.Serializable, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key, store: Store): ReadableToken<T>;
419
-
420
- declare function initFamilyMemberInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Json.Serializable, Key extends K>(token: MutableAtomFamilyToken<T, J, K>, key: Key, store: Store): MutableAtomToken<T, J>;
421
- declare function initFamilyMemberInStore<T, K extends Json.Serializable, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key, store: Store): RegularAtomToken<T>;
422
- declare function initFamilyMemberInStore<T, K extends Json.Serializable, Key extends K>(token: AtomFamilyToken<T, K>, key: Key, store: Store): AtomToken<T>;
423
- declare function initFamilyMemberInStore<T, K extends Json.Serializable, Key extends K>(token: WritableSelectorFamilyToken<T, K>, key: Key, store: Store): WritableSelectorToken<T>;
424
- declare function initFamilyMemberInStore<T, K extends Json.Serializable, Key extends K>(token: ReadonlySelectorFamilyToken<T, K>, key: Key, store: Store): ReadonlySelectorToken<T>;
425
- declare function initFamilyMemberInStore<T, K extends Json.Serializable, Key extends K>(token: SelectorFamilyToken<T, K>, key: Key, store: Store): SelectorToken<T>;
426
- declare function initFamilyMemberInStore<T, K extends Json.Serializable, Key extends K>(token: WritableFamilyToken<T, K>, key: Key, store: Store): WritableToken<T>;
427
- declare function initFamilyMemberInStore<T, K extends Json.Serializable, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key, store: Store): ReadableToken<T>;
428
-
429
- declare function seekInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Json.Serializable, Key extends K>(token: MutableAtomFamilyToken<T, J, K>, key: Key, store: Store): MutableAtomToken<T, J> | undefined;
430
- declare function seekInStore<T, K extends Json.Serializable, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key, store: Store): RegularAtomToken<T> | undefined;
431
- declare function seekInStore<T, K extends Json.Serializable, Key extends K>(token: AtomFamilyToken<T, K>, key: Key, store: Store): AtomToken<T> | undefined;
432
- declare function seekInStore<T, K extends Json.Serializable, Key extends K>(token: WritableSelectorFamilyToken<T, K>, key: Key, store: Store): WritableSelectorToken<T> | undefined;
433
- declare function seekInStore<T, K extends Json.Serializable, Key extends K>(token: ReadonlySelectorFamilyToken<T, K>, key: Key, store: Store): ReadonlySelectorToken<T> | undefined;
434
- declare function seekInStore<T, K extends Json.Serializable, Key extends K>(token: SelectorFamilyToken<T, K>, key: Key, store: Store): SelectorToken<T> | undefined;
435
- declare function seekInStore<T, K extends Json.Serializable, Key extends K>(token: WritableFamilyToken<T, K>, key: Key, store: Store): WritableToken<T> | undefined;
436
- declare function seekInStore<T, K extends Json.Serializable, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key, store: Store): ReadableToken<T> | undefined;
408
+ declare function findInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(token: MutableAtomFamilyToken<T, J, K>, key: Key, store: Store): MutableAtomToken<T, J>;
409
+ declare function findInStore<T, K extends Canonical, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key, store: Store): RegularAtomToken<T>;
410
+ declare function findInStore<T, K extends Canonical, Key extends K>(token: AtomFamilyToken<T, K>, key: Key, store: Store): AtomToken<T>;
411
+ declare function findInStore<T, K extends Canonical, Key extends K>(token: WritableSelectorFamilyToken<T, K>, key: Key, store: Store): WritableSelectorToken<T>;
412
+ declare function findInStore<T, K extends Canonical, Key extends K>(token: ReadonlySelectorFamilyToken<T, K>, key: Key, store: Store): ReadonlySelectorToken<T>;
413
+ declare function findInStore<T, K extends Canonical, Key extends K>(token: SelectorFamilyToken<T, K>, key: Key, store: Store): SelectorToken<T>;
414
+ declare function findInStore<T, K extends Canonical, Key extends K>(token: WritableFamilyToken<T, K>, key: Key, store: Store): WritableToken<T>;
415
+ declare function findInStore<T, K extends Canonical, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key, store: Store): ReadableToken<T>;
416
+
417
+ declare function initFamilyMemberInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(token: MutableAtomFamilyToken<T, J, K>, key: Key, store: Store): MutableAtomToken<T, J>;
418
+ declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key, store: Store): RegularAtomToken<T>;
419
+ declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: AtomFamilyToken<T, K>, key: Key, store: Store): AtomToken<T>;
420
+ declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: WritableSelectorFamilyToken<T, K>, key: Key, store: Store): WritableSelectorToken<T>;
421
+ declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: ReadonlySelectorFamilyToken<T, K>, key: Key, store: Store): ReadonlySelectorToken<T>;
422
+ declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: SelectorFamilyToken<T, K>, key: Key, store: Store): SelectorToken<T>;
423
+ declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: WritableFamilyToken<T, K>, key: Key, store: Store): WritableToken<T>;
424
+ declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key, store: Store): ReadableToken<T>;
425
+
426
+ declare function seekInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(token: MutableAtomFamilyToken<T, J, K>, key: Key, store: Store): MutableAtomToken<T, J> | undefined;
427
+ declare function seekInStore<T, K extends Canonical, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key, store: Store): RegularAtomToken<T> | undefined;
428
+ declare function seekInStore<T, K extends Canonical, Key extends K>(token: AtomFamilyToken<T, K>, key: Key, store: Store): AtomToken<T> | undefined;
429
+ declare function seekInStore<T, K extends Canonical, Key extends K>(token: WritableSelectorFamilyToken<T, K>, key: Key, store: Store): WritableSelectorToken<T> | undefined;
430
+ declare function seekInStore<T, K extends Canonical, Key extends K>(token: ReadonlySelectorFamilyToken<T, K>, key: Key, store: Store): ReadonlySelectorToken<T> | undefined;
431
+ declare function seekInStore<T, K extends Canonical, Key extends K>(token: SelectorFamilyToken<T, K>, key: Key, store: Store): SelectorToken<T> | undefined;
432
+ declare function seekInStore<T, K extends Canonical, Key extends K>(token: WritableFamilyToken<T, K>, key: Key, store: Store): WritableToken<T> | undefined;
433
+ declare function seekInStore<T, K extends Canonical, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key, store: Store): ReadableToken<T> | undefined;
437
434
  declare function seekInStore<M extends MoleculeConstructor>(token: MoleculeFamilyToken<M>, key: MoleculeKey<M>, store: Store): MoleculeKey<M> | undefined;
438
435
 
439
436
  type EnvironmentData = {
@@ -443,7 +440,7 @@ declare function getEnvironmentData(store: Store): EnvironmentData;
443
440
 
444
441
  declare function getFromStore<T>(token: ReadableToken<T>, store: Store): T;
445
442
  declare function getFromStore<M extends MoleculeConstructor>(token: MoleculeToken<M>, store: Store): InstanceType<M> | undefined;
446
- declare function getFromStore<T, K extends Json.Serializable>(token: ReadableFamilyToken<T, K>, key: K, store: Store): T;
443
+ declare function getFromStore<T, K extends Canonical>(token: ReadableFamilyToken<T, K>, key: K, store: Store): T;
447
444
  declare function getFromStore<M extends MoleculeConstructor>(token: MoleculeFamilyToken<M>, key: MoleculeKey<M>, store: Store): InstanceType<M>;
448
445
 
449
446
  declare const readOrComputeValue: <T>(state: ReadableState<T>, target: Store) => T;
@@ -506,14 +503,14 @@ declare class Molecule<M extends MoleculeConstructor> implements MoleculeToken<M
506
503
  constructor(ctx: Molecule<any> | Molecule<any>[] | undefined, key: MoleculeKey<M>, family?: MoleculeFamilyToken<M>);
507
504
  }
508
505
 
509
- declare function growMoleculeInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Json.Serializable>(molecule: Molecule<any>, family: MutableAtomFamily<T, J, K>, store: Store): MutableAtomToken<T, J>;
510
- declare function growMoleculeInStore<T, K extends Json.Serializable>(molecule: Molecule<any>, family: RegularAtomFamily<T, K>, store: Store): RegularAtomToken<T>;
511
- declare function growMoleculeInStore<T, K extends Json.Serializable>(molecule: Molecule<any>, family: AtomFamily<T, K>, store: Store): AtomToken<T>;
512
- declare function growMoleculeInStore<T, K extends Json.Serializable>(molecule: Molecule<any>, family: WritableSelectorFamily<T, K>, store: Store): WritableSelectorToken<T>;
513
- declare function growMoleculeInStore<T, K extends Json.Serializable>(molecule: Molecule<any>, family: ReadonlySelectorFamily<T, K>, store: Store): ReadonlySelectorToken<T>;
514
- declare function growMoleculeInStore<T, K extends Json.Serializable>(molecule: Molecule<any>, family: SelectorFamily<T, K>, store: Store): SelectorToken<T>;
515
- declare function growMoleculeInStore<T, K extends Json.Serializable>(molecule: Molecule<any>, family: WritableFamily<T, K>, store: Store): WritableToken<T>;
516
- declare function growMoleculeInStore<T, K extends Json.Serializable>(molecule: Molecule<any>, family: ReadableFamily<T, K>, store: Store): ReadableToken<T>;
506
+ declare function growMoleculeInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical>(molecule: Molecule<any>, family: MutableAtomFamily<T, J, K>, store: Store): MutableAtomToken<T, J>;
507
+ declare function growMoleculeInStore<T, K extends Canonical>(molecule: Molecule<any>, family: RegularAtomFamily<T, K>, store: Store): RegularAtomToken<T>;
508
+ declare function growMoleculeInStore<T, K extends Canonical>(molecule: Molecule<any>, family: AtomFamily<T, K>, store: Store): AtomToken<T>;
509
+ declare function growMoleculeInStore<T, K extends Canonical>(molecule: Molecule<any>, family: WritableSelectorFamily<T, K>, store: Store): WritableSelectorToken<T>;
510
+ declare function growMoleculeInStore<T, K extends Canonical>(molecule: Molecule<any>, family: ReadonlySelectorFamily<T, K>, store: Store): ReadonlySelectorToken<T>;
511
+ declare function growMoleculeInStore<T, K extends Canonical>(molecule: Molecule<any>, family: SelectorFamily<T, K>, store: Store): SelectorToken<T>;
512
+ declare function growMoleculeInStore<T, K extends Canonical>(molecule: Molecule<any>, family: WritableFamily<T, K>, store: Store): WritableToken<T>;
513
+ declare function growMoleculeInStore<T, K extends Canonical>(molecule: Molecule<any>, family: ReadableFamily<T, K>, store: Store): ReadableToken<T>;
517
514
 
518
515
  declare function makeMoleculeInStore<M extends MoleculeConstructor>(store: Store, context: MoleculeToken<M> | MoleculeToken<M>[], familyToken: MoleculeFamilyToken<M>, key: MoleculeKey<M>, ...params: MoleculeParams<M>): MoleculeToken<M>;
519
516
 
@@ -547,7 +544,7 @@ declare const become: <T>(nextVersionOfThing: Modify<T> | T) => (originalThing:
547
544
  declare const setAtomOrSelector: <T>(state: WritableState<T>, value: T | ((oldValue: T) => T), store: Store) => void;
548
545
 
549
546
  declare function setIntoStore<T, New extends T>(token: WritableToken<T>, value: New | ((oldValue: T) => New), store: Store): void;
550
- declare function setIntoStore<T, K extends Json.Serializable, New extends T>(token: WritableFamilyToken<T, K>, key: K, value: New | ((oldValue: T) => New), store: Store): void;
547
+ declare function setIntoStore<T, K extends Canonical, New extends T>(token: WritableFamilyToken<T, K>, key: K, value: New | ((oldValue: T) => New), store: Store): void;
551
548
 
552
549
  declare const subscribeToRootAtoms: <T>(selector: Selector<T>, store: Store) => (() => void)[];
553
550
 
@@ -590,4 +587,4 @@ type Selector<T> = ReadonlySelector<T> | WritableSelector<T>;
590
587
  type WritableState<T> = Atom<T> | WritableSelector<T>;
591
588
  type ReadableState<T> = Atom<T> | Selector<T>;
592
589
 
593
- export { type Atom, type AtomIOState, type AtomKey, type ChildStore, type EnvironmentData, FamilyTracker, type Flat, type Func, Future, IMPLICIT, LazyMap, type Lineage, type Modify, Molecule, type MutableAtom, NotFoundError, type OperationProgress, type ReadableState, type ReadonlySelector, type ReadonlySelectorKey, type RegularAtom, type RootStore, type Selector, type SelectorKey, type Signal, type StateKey, StatefulSubject, Store, Subject, TRANSACTION_PHASES, type Timeline, type TimelineAtomUpdate, type TimelineMoleculeCreation, type TimelineMoleculeDisposal, type TimelineSelectorUpdate, type TimelineStateCreation, type TimelineStateDisposal, type TimelineTransactionUpdate, Tracker, type Transaction, type TransactionEpoch, type TransactionPhase, type TransactionProgress, type Transceiver, type TransceiverMode, type Withdrawable, type WritableSelector, type WritableState, abortTransaction, actUponStore, applyTransaction, arbitrary, assignTransactionToContinuity, become, buildTransaction, cacheValue, clearStore, closeOperation, createAtomFamily, createMoleculeFamily, createMutableAtom, createMutableAtomFamily, createReadonlySelector, createReadonlySelectorFamily, createRegularAtom, createRegularAtomFamily, createSelectorFamily, createStandaloneAtom, createStandaloneSelector, createTimeline, createTransaction, createWritableSelector, deposit, disposeAtom, disposeFromStore, disposeMolecule, disposeSelector, eldest, evictCachedValue, findInStore, getContinuityKey, getEnvironmentData, getEpochNumberOfAction, getEpochNumberOfContinuity, getFromStore, getJsonFamily, getJsonToken, getSelectorDependencyKeys, getUpdateToken, growMoleculeInStore, ingestAtomUpdate, ingestCreationEvent, ingestDisposalEvent, ingestMoleculeCreationEvent, ingestMoleculeDisposalEvent, ingestSelectorUpdate, ingestTransactionUpdate, initFamilyMemberInStore, isAtomDefault, isAtomKey, isChildStore, isDone, isMutable, isReadonlySelectorKey, isRootStore, isSelectorKey, isStateKey, isTransceiver, makeMoleculeInStore, markAtomAsDefault, markAtomAsNotDefault, markDone, newest, openOperation, readCachedValue, readOrComputeValue, registerSelector, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeToRootAtoms, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceAllSelectorAtoms, traceSelectorAtoms, updateSelectorAtoms, withdraw };
590
+ export { type Atom, type AtomIOState, type AtomKey, type ChildStore, type EnvironmentData, FamilyTracker, type Flat, type Func, Future, IMPLICIT, LazyMap, type Lineage, type Modify, Molecule, type MutableAtom, NotFoundError, type OperationProgress, type ReadableState, type ReadonlySelector, type ReadonlySelectorKey, type RegularAtom, type RootStore, type Selector, type SelectorKey, type Signal, type StateKey, StatefulSubject, Store, Subject, TRANSACTION_PHASES, type Timeline, type TimelineAtomUpdate, type TimelineMoleculeCreation, type TimelineMoleculeDisposal, type TimelineSelectorUpdate, type TimelineStateCreation, type TimelineStateDisposal, type TimelineTransactionUpdate, Tracker, type Transaction, type TransactionEpoch, type TransactionPhase, type TransactionProgress, type Transceiver, type TransceiverMode, type Withdrawable, type WritableSelector, type WritableState, abortTransaction, actUponStore, applyTransaction, arbitrary, assignTransactionToContinuity, become, buildTransaction, cacheValue, clearStore, closeOperation, createAtomFamily, createMoleculeFamily, createMutableAtom, createMutableAtomFamily, createReadonlySelector, createReadonlySelectorFamily, createRegularAtom, createRegularAtomFamily, createSelectorFamily, createStandaloneAtom, createStandaloneSelector, createTimeline, createTransaction, createWritableSelector, deposit, disposeAtom, disposeFromStore, disposeMolecule, disposeSelector, eldest, evictCachedValue, findInStore, getContinuityKey, getEnvironmentData, getEpochNumberOfAction, getEpochNumberOfContinuity, getFromStore, getJsonFamily, getJsonToken, getSelectorDependencyKeys, getUpdateToken, growMoleculeInStore, ingestAtomUpdate, ingestCreationEvent, ingestDisposalEvent, ingestMoleculeCreationEvent, ingestMoleculeDisposalEvent, ingestSelectorUpdate, ingestTransactionUpdate, initFamilyMemberInStore, isAtomDefault, isAtomKey, isChildStore, isDone, isReadonlySelectorKey, isRootStore, isSelectorKey, isStateKey, isTransceiver, makeMoleculeInStore, markAtomAsDefault, markAtomAsNotDefault, markDone, newest, openOperation, readCachedValue, readOrComputeValue, registerSelector, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeToRootAtoms, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceAllSelectorAtoms, traceSelectorAtoms, updateSelectorAtoms, withdraw };
@@ -465,8 +465,8 @@ function createRegularAtomFamily(options, store) {
465
465
 
466
466
  // internal/src/families/create-atom-family.ts
467
467
  function createAtomFamily(options, store) {
468
- const isMutable2 = `mutable` in options;
469
- if (isMutable2) {
468
+ const isMutable = `mutable` in options;
469
+ if (isMutable) {
470
470
  return createMutableAtomFamily(options, store);
471
471
  }
472
472
  return createRegularAtomFamily(options, store);
@@ -2325,11 +2325,6 @@ var getUpdateToken = (mutableAtomToken) => {
2325
2325
  return updateToken;
2326
2326
  };
2327
2327
 
2328
- // internal/src/mutable/is-mutable.ts
2329
- function isMutable(atomOrTokenOrFamily) {
2330
- return atomOrTokenOrFamily.type === `mutable_atom` || atomOrTokenOrFamily.type === `mutable_atom_family`;
2331
- }
2332
-
2333
2328
  // internal/src/mutable/transceiver.ts
2334
2329
  function isTransceiver(value) {
2335
2330
  return typeof value === `object` && value !== null && `do` in value && `undo` in value && `subscribe` in value;
@@ -2486,8 +2481,8 @@ function createRegularAtom(options, family, store) {
2486
2481
 
2487
2482
  // internal/src/atom/create-standalone-atom.ts
2488
2483
  function createStandaloneAtom(options, store) {
2489
- const isMutable2 = `mutable` in options;
2490
- if (isMutable2) {
2484
+ const isMutable = `mutable` in options;
2485
+ if (isMutable) {
2491
2486
  const state2 = createMutableAtom(options, void 0, store);
2492
2487
  store.on.atomCreation.next(state2);
2493
2488
  return state2;
@@ -3047,4 +3042,4 @@ var timeTravel = (action, token, store) => {
3047
3042
  );
3048
3043
  };
3049
3044
 
3050
- export { FamilyTracker, Future, IMPLICIT, LazyMap, Molecule, NotFoundError, StatefulSubject, Store, Subject, TRANSACTION_PHASES, Tracker, abortTransaction, actUponStore, applyTransaction, arbitrary, assignTransactionToContinuity, become, buildTransaction, cacheValue, clearStore, closeOperation, createAtomFamily, createMoleculeFamily, createMutableAtom, createMutableAtomFamily, createReadonlySelector, createReadonlySelectorFamily, createRegularAtom, createRegularAtomFamily, createSelectorFamily, createStandaloneAtom, createStandaloneSelector, createTimeline, createTransaction, createWritableSelector, deposit, disposeAtom, disposeFromStore, disposeMolecule, disposeSelector, eldest, evictCachedValue, findInStore, getContinuityKey, getEnvironmentData, getEpochNumberOfAction, getEpochNumberOfContinuity, getFromStore, getJsonFamily, getJsonToken, getSelectorDependencyKeys, getUpdateToken, growMoleculeInStore, ingestAtomUpdate, ingestCreationEvent, ingestDisposalEvent, ingestMoleculeCreationEvent, ingestMoleculeDisposalEvent, ingestSelectorUpdate, ingestTransactionUpdate, initFamilyMemberInStore, isAtomDefault, isAtomKey, isChildStore, isDone, isMutable, isReadonlySelectorKey, isRootStore, isSelectorKey, isStateKey, isTransceiver, makeMoleculeInStore, markAtomAsDefault, markAtomAsNotDefault, markDone, newest, openOperation, readCachedValue, readOrComputeValue, registerSelector, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeToRootAtoms, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceAllSelectorAtoms, traceSelectorAtoms, updateSelectorAtoms, withdraw };
3045
+ export { FamilyTracker, Future, IMPLICIT, LazyMap, Molecule, NotFoundError, StatefulSubject, Store, Subject, TRANSACTION_PHASES, Tracker, abortTransaction, actUponStore, applyTransaction, arbitrary, assignTransactionToContinuity, become, buildTransaction, cacheValue, clearStore, closeOperation, createAtomFamily, createMoleculeFamily, createMutableAtom, createMutableAtomFamily, createReadonlySelector, createReadonlySelectorFamily, createRegularAtom, createRegularAtomFamily, createSelectorFamily, createStandaloneAtom, createStandaloneSelector, createTimeline, createTransaction, createWritableSelector, deposit, disposeAtom, disposeFromStore, disposeMolecule, disposeSelector, eldest, evictCachedValue, findInStore, getContinuityKey, getEnvironmentData, getEpochNumberOfAction, getEpochNumberOfContinuity, getFromStore, getJsonFamily, getJsonToken, getSelectorDependencyKeys, getUpdateToken, growMoleculeInStore, ingestAtomUpdate, ingestCreationEvent, ingestDisposalEvent, ingestMoleculeCreationEvent, ingestMoleculeDisposalEvent, ingestSelectorUpdate, ingestTransactionUpdate, initFamilyMemberInStore, isAtomDefault, isAtomKey, isChildStore, isDone, isReadonlySelectorKey, isRootStore, isSelectorKey, isStateKey, isTransceiver, makeMoleculeInStore, markAtomAsDefault, markAtomAsNotDefault, markDone, newest, openOperation, readCachedValue, readOrComputeValue, registerSelector, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeToRootAtoms, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceAllSelectorAtoms, traceSelectorAtoms, updateSelectorAtoms, withdraw };
@@ -4,7 +4,7 @@ import type {
4
4
  RegularAtomFamily,
5
5
  RegularAtomFamilyOptions,
6
6
  } from "atom.io"
7
- import type { Json } from "atom.io/json"
7
+ import type { Canonical, Json } from "atom.io/json"
8
8
 
9
9
  import { createMutableAtomFamily, type Transceiver } from "../mutable"
10
10
  import type { Store } from "../store"
@@ -13,16 +13,16 @@ import { createRegularAtomFamily } from "./create-regular-atom-family"
13
13
  export function createAtomFamily<
14
14
  T extends Transceiver<any>,
15
15
  J extends Json.Serializable,
16
- K extends Json.Serializable,
16
+ K extends Canonical,
17
17
  >(
18
18
  options: MutableAtomFamilyOptions<T, J, K>,
19
19
  store: Store,
20
20
  ): MutableAtomFamily<T, J, K>
21
- export function createAtomFamily<T, K extends Json.Serializable>(
21
+ export function createAtomFamily<T, K extends Canonical>(
22
22
  options: RegularAtomFamilyOptions<T, K>,
23
23
  store: Store,
24
24
  ): RegularAtomFamily<T, K>
25
- export function createAtomFamily<T, K extends Json.Serializable>(
25
+ export function createAtomFamily<T, K extends Canonical>(
26
26
  options:
27
27
  | MutableAtomFamilyOptions<any, any, any>
28
28
  | RegularAtomFamilyOptions<T, K>,
@@ -6,7 +6,7 @@ import type {
6
6
  StateCreation,
7
7
  StateDisposal,
8
8
  } from "atom.io"
9
- import type { Json } from "atom.io/json"
9
+ import type { Canonical } from "atom.io/json"
10
10
  import { stringifyJson } from "atom.io/json"
11
11
 
12
12
  import { newest } from "../lineage"
@@ -14,7 +14,7 @@ import { createReadonlySelector } from "../selector"
14
14
  import type { Store } from "../store"
15
15
  import { Subject } from "../subject"
16
16
 
17
- export function createReadonlySelectorFamily<T, K extends Json.Serializable>(
17
+ export function createReadonlySelectorFamily<T, K extends Canonical>(
18
18
  options: ReadonlySelectorFamilyOptions<T, K>,
19
19
  store: Store,
20
20
  ): ReadonlySelectorFamily<T, K> {
@@ -7,7 +7,7 @@ import type {
7
7
  StateCreation,
8
8
  StateDisposal,
9
9
  } from "atom.io"
10
- import type { Json } from "atom.io/json"
10
+ import type { Canonical } from "atom.io/json"
11
11
  import { stringifyJson } from "atom.io/json"
12
12
 
13
13
  import { createRegularAtom } from "../atom"
@@ -15,7 +15,7 @@ import { newest } from "../lineage"
15
15
  import type { Store } from "../store"
16
16
  import { Subject } from "../subject"
17
17
 
18
- export function createRegularAtomFamily<T, K extends Json.Serializable>(
18
+ export function createRegularAtomFamily<T, K extends Canonical>(
19
19
  options: RegularAtomFamilyOptions<T, K>,
20
20
  store: Store,
21
21
  ): RegularAtomFamily<T, K> {
@@ -4,21 +4,21 @@ import type {
4
4
  WritableSelectorFamily,
5
5
  WritableSelectorFamilyOptions,
6
6
  } from "atom.io"
7
- import type { Json } from "atom.io/json"
7
+ import type { Canonical } from "atom.io/json"
8
8
 
9
9
  import type { Store } from "../store"
10
10
  import { createReadonlySelectorFamily } from "./create-readonly-selector-family"
11
11
  import { createWritableSelectorFamily } from "./create-writable-selector-family"
12
12
 
13
- export function createSelectorFamily<T, K extends Json.Serializable>(
13
+ export function createSelectorFamily<T, K extends Canonical>(
14
14
  options: WritableSelectorFamilyOptions<T, K>,
15
15
  store: Store,
16
16
  ): WritableSelectorFamily<T, K>
17
- export function createSelectorFamily<T, K extends Json.Serializable>(
17
+ export function createSelectorFamily<T, K extends Canonical>(
18
18
  options: ReadonlySelectorFamilyOptions<T, K>,
19
19
  store: Store,
20
20
  ): ReadonlySelectorFamily<T, K>
21
- export function createSelectorFamily<T, K extends Json.Serializable>(
21
+ export function createSelectorFamily<T, K extends Canonical>(
22
22
  options:
23
23
  | ReadonlySelectorFamilyOptions<T, K>
24
24
  | WritableSelectorFamilyOptions<T, K>,
@@ -6,7 +6,7 @@ import type {
6
6
  WritableSelectorFamilyOptions,
7
7
  WritableSelectorToken,
8
8
  } from "atom.io"
9
- import type { Json } from "atom.io/json"
9
+ import type { Canonical } from "atom.io/json"
10
10
  import { stringifyJson } from "atom.io/json"
11
11
 
12
12
  import { newest } from "../lineage"
@@ -14,7 +14,7 @@ import { createWritableSelector } from "../selector"
14
14
  import type { Store } from "../store"
15
15
  import { Subject } from "../subject"
16
16
 
17
- export function createWritableSelectorFamily<T, K extends Json.Serializable>(
17
+ export function createWritableSelectorFamily<T, K extends Canonical>(
18
18
  options: WritableSelectorFamilyOptions<T, K>,
19
19
  store: Store,
20
20
  ): WritableSelectorFamily<T, K> {
@@ -6,7 +6,7 @@ import type {
6
6
  ReadableFamilyToken,
7
7
  ReadableToken,
8
8
  } from "atom.io"
9
- import type { Json } from "atom.io/json"
9
+ import type { Canonical } from "atom.io/json"
10
10
 
11
11
  import { disposeAtom } from "../atom"
12
12
  import { disposeMolecule } from "../molecule/dispose-molecule"
@@ -21,7 +21,7 @@ export function disposeFromStore(
21
21
  store: Store,
22
22
  ): void
23
23
 
24
- export function disposeFromStore<K extends Json.Serializable>(
24
+ export function disposeFromStore<K extends Canonical>(
25
25
  token: ReadableFamilyToken<any, K>,
26
26
  key: K,
27
27
  store: Store,
@@ -35,13 +35,9 @@ export function disposeFromStore<M extends MoleculeConstructor>(
35
35
 
36
36
  export function disposeFromStore(
37
37
  ...params:
38
- | [
39
- token: ReadableFamilyToken<any, any>,
40
- key: Json.Serializable,
41
- store: Store,
42
- ]
43
38
  | [token: MoleculeFamilyToken<any>, key: MoleculeKey<any>, store: Store]
44
39
  | [token: MoleculeToken<any> | ReadableToken<any>, store: Store]
40
+ | [token: ReadableFamilyToken<any, any>, key: Canonical, store: Store]
45
41
  ): void {
46
42
  let token: MoleculeToken<any> | ReadableToken<any>
47
43
  let store: Store
@@ -16,7 +16,7 @@ import type {
16
16
  WritableSelectorToken,
17
17
  WritableToken,
18
18
  } from "atom.io"
19
- import type { Json } from "atom.io/json"
19
+ import type { Canonical, Json } from "atom.io/json"
20
20
 
21
21
  import type { Transceiver } from "../mutable"
22
22
  import type { Store } from "../store"
@@ -26,7 +26,7 @@ import { seekInStore } from "./seek-in-store"
26
26
  export function findInStore<
27
27
  T extends Transceiver<any>,
28
28
  J extends Json.Serializable,
29
- K extends Json.Serializable,
29
+ K extends Canonical,
30
30
  Key extends K,
31
31
  >(
32
32
  token: MutableAtomFamilyToken<T, J, K>,
@@ -34,43 +34,43 @@ export function findInStore<
34
34
  store: Store,
35
35
  ): MutableAtomToken<T, J>
36
36
 
37
- export function findInStore<T, K extends Json.Serializable, Key extends K>(
37
+ export function findInStore<T, K extends Canonical, Key extends K>(
38
38
  token: RegularAtomFamilyToken<T, K>,
39
39
  key: Key,
40
40
  store: Store,
41
41
  ): RegularAtomToken<T>
42
42
 
43
- export function findInStore<T, K extends Json.Serializable, Key extends K>(
43
+ export function findInStore<T, K extends Canonical, Key extends K>(
44
44
  token: AtomFamilyToken<T, K>,
45
45
  key: Key,
46
46
  store: Store,
47
47
  ): AtomToken<T>
48
48
 
49
- export function findInStore<T, K extends Json.Serializable, Key extends K>(
49
+ export function findInStore<T, K extends Canonical, Key extends K>(
50
50
  token: WritableSelectorFamilyToken<T, K>,
51
51
  key: Key,
52
52
  store: Store,
53
53
  ): WritableSelectorToken<T>
54
54
 
55
- export function findInStore<T, K extends Json.Serializable, Key extends K>(
55
+ export function findInStore<T, K extends Canonical, Key extends K>(
56
56
  token: ReadonlySelectorFamilyToken<T, K>,
57
57
  key: Key,
58
58
  store: Store,
59
59
  ): ReadonlySelectorToken<T>
60
60
 
61
- export function findInStore<T, K extends Json.Serializable, Key extends K>(
61
+ export function findInStore<T, K extends Canonical, Key extends K>(
62
62
  token: SelectorFamilyToken<T, K>,
63
63
  key: Key,
64
64
  store: Store,
65
65
  ): SelectorToken<T>
66
66
 
67
- export function findInStore<T, K extends Json.Serializable, Key extends K>(
67
+ export function findInStore<T, K extends Canonical, Key extends K>(
68
68
  token: WritableFamilyToken<T, K>,
69
69
  key: Key,
70
70
  store: Store,
71
71
  ): WritableToken<T>
72
72
 
73
- export function findInStore<T, K extends Json.Serializable, Key extends K>(
73
+ export function findInStore<T, K extends Canonical, Key extends K>(
74
74
  token: ReadableFamilyToken<T, K>,
75
75
  key: Key,
76
76
  store: Store,
@@ -16,7 +16,7 @@ import type {
16
16
  WritableSelectorToken,
17
17
  WritableToken,
18
18
  } from "atom.io"
19
- import type { Json } from "atom.io/json"
19
+ import type { Canonical, Json } from "atom.io/json"
20
20
 
21
21
  import { newest } from "../lineage"
22
22
  import type { Transceiver } from "../mutable"
@@ -27,7 +27,7 @@ import { isChildStore, isRootStore } from "../transaction"
27
27
  export function initFamilyMemberInStore<
28
28
  T extends Transceiver<any>,
29
29
  J extends Json.Serializable,
30
- K extends Json.Serializable,
30
+ K extends Canonical,
31
31
  Key extends K,
32
32
  >(
33
33
  token: MutableAtomFamilyToken<T, J, K>,
@@ -35,59 +35,47 @@ export function initFamilyMemberInStore<
35
35
  store: Store,
36
36
  ): MutableAtomToken<T, J>
37
37
 
38
- export function initFamilyMemberInStore<
39
- T,
40
- K extends Json.Serializable,
41
- Key extends K,
42
- >(
38
+ export function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(
43
39
  token: RegularAtomFamilyToken<T, K>,
44
40
  key: Key,
45
41
  store: Store,
46
42
  ): RegularAtomToken<T>
47
43
 
48
- export function initFamilyMemberInStore<
49
- T,
50
- K extends Json.Serializable,
51
- Key extends K,
52
- >(token: AtomFamilyToken<T, K>, key: Key, store: Store): AtomToken<T>
44
+ export function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(
45
+ token: AtomFamilyToken<T, K>,
46
+ key: Key,
47
+ store: Store,
48
+ ): AtomToken<T>
53
49
 
54
- export function initFamilyMemberInStore<
55
- T,
56
- K extends Json.Serializable,
57
- Key extends K,
58
- >(
50
+ export function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(
59
51
  token: WritableSelectorFamilyToken<T, K>,
60
52
  key: Key,
61
53
  store: Store,
62
54
  ): WritableSelectorToken<T>
63
55
 
64
- export function initFamilyMemberInStore<
65
- T,
66
- K extends Json.Serializable,
67
- Key extends K,
68
- >(
56
+ export function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(
69
57
  token: ReadonlySelectorFamilyToken<T, K>,
70
58
  key: Key,
71
59
  store: Store,
72
60
  ): ReadonlySelectorToken<T>
73
61
 
74
- export function initFamilyMemberInStore<
75
- T,
76
- K extends Json.Serializable,
77
- Key extends K,
78
- >(token: SelectorFamilyToken<T, K>, key: Key, store: Store): SelectorToken<T>
62
+ export function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(
63
+ token: SelectorFamilyToken<T, K>,
64
+ key: Key,
65
+ store: Store,
66
+ ): SelectorToken<T>
79
67
 
80
- export function initFamilyMemberInStore<
81
- T,
82
- K extends Json.Serializable,
83
- Key extends K,
84
- >(token: WritableFamilyToken<T, K>, key: Key, store: Store): WritableToken<T>
68
+ export function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(
69
+ token: WritableFamilyToken<T, K>,
70
+ key: Key,
71
+ store: Store,
72
+ ): WritableToken<T>
85
73
 
86
- export function initFamilyMemberInStore<
87
- T,
88
- K extends Json.Serializable,
89
- Key extends K,
90
- >(token: ReadableFamilyToken<T, K>, key: Key, store: Store): ReadableToken<T>
74
+ export function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(
75
+ token: ReadableFamilyToken<T, K>,
76
+ key: Key,
77
+ store: Store,
78
+ ): ReadableToken<T>
91
79
 
92
80
  export function initFamilyMemberInStore(
93
81
  token: ReadableFamilyToken<any, any>,