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
package/dist/index.d.ts CHANGED
@@ -355,9 +355,9 @@ type KeyedStateUpdate<T> = Flat<StateUpdate<T> & {
355
355
  }>;
356
356
  type UpdateHandler<T> = (update: StateUpdate<T>) => void;
357
357
  type TransactionUpdateHandler<F extends Func> = (data: TransactionUpdate<F>) => void;
358
- declare function subscribe<T>(token: ReadableToken<T>, handleUpdate: UpdateHandler<T>, key?: string, store?: Store): () => void;
359
- declare function subscribe<F extends Func>(token: TransactionToken<F>, handleUpdate: TransactionUpdateHandler<F>, key?: string, store?: Store): () => void;
360
- declare function subscribe<M extends TimelineManageable>(token: TimelineToken<M>, handleUpdate: (update: TimelineUpdate<M> | `redo` | `undo`) => void, key?: string, store?: Store): () => void;
358
+ declare function subscribe<T>(token: ReadableToken<T>, handleUpdate: UpdateHandler<T>, key?: string): () => void;
359
+ declare function subscribe<F extends Func>(token: TransactionToken<F>, handleUpdate: TransactionUpdateHandler<F>, key?: string): () => void;
360
+ declare function subscribe<M extends TimelineManageable>(token: TimelineToken<M>, handleUpdate: (update: TimelineUpdate<M> | `redo` | `undo`) => void, key?: string): () => void;
361
361
 
362
362
  type TimelineManageable = AtomFamilyToken<any, any> | AtomToken<any>;
363
363
  type AtomOnly<M extends TimelineManageable> = M extends AtomFamilyToken<any, any> ? AtomToken<any> : M extends AtomToken<any> ? M : never;
package/dist/index.js CHANGED
@@ -1,30 +1,26 @@
1
1
  import './chunk-XWL6SNVU.js';
2
2
  import * as Internal from 'atom.io/internal';
3
- import { createStandaloneAtom, IMPLICIT, createAtomFamily, createMoleculeFamily, makeMoleculeInStore, Molecule, createStandaloneSelector, createSelectorFamily, Store, createTransaction, createTimeline, findInStore, getFromStore, setIntoStore, disposeFromStore, timeTravel, subscribeToTimeline, subscribeToTransaction, subscribeToState, arbitrary, actUponStore } from 'atom.io/internal';
3
+ import { createStandaloneAtom, IMPLICIT, createAtomFamily, createMoleculeFamily, makeMoleculeInStore, Molecule, createStandaloneSelector, createSelectorFamily, Store, createTransaction, createTimeline, findInStore, getFromStore, setIntoStore, disposeFromStore, subscribeInStore, timeTravel, arbitrary, actUponStore } from 'atom.io/internal';
4
4
  import { stringifyJson } from 'atom.io/json';
5
5
 
6
6
  function atom(options) {
7
- return createStandaloneAtom(options, IMPLICIT.STORE);
7
+ return createStandaloneAtom(IMPLICIT.STORE, options);
8
8
  }
9
9
  function atomFamily(options) {
10
- return createAtomFamily(options, IMPLICIT.STORE);
10
+ return createAtomFamily(IMPLICIT.STORE, options);
11
11
  }
12
12
  function disposeState(token, key) {
13
13
  if (key) {
14
- Internal.disposeFromStore(token, key, Internal.IMPLICIT.STORE);
14
+ Internal.disposeFromStore(Internal.IMPLICIT.STORE, token, key);
15
15
  } else {
16
- Internal.disposeFromStore(token, Internal.IMPLICIT.STORE);
16
+ Internal.disposeFromStore(Internal.IMPLICIT.STORE, token);
17
17
  }
18
18
  }
19
- function getState(token, key) {
20
- if (key) {
21
- return Internal.getFromStore(
22
- token,
23
- key,
24
- Internal.IMPLICIT.STORE
25
- );
19
+ function getState(...params) {
20
+ if (params.length === 2) {
21
+ return Internal.getFromStore(Internal.IMPLICIT.STORE, ...params);
26
22
  }
27
- return Internal.getFromStore(token, Internal.IMPLICIT.STORE);
23
+ return Internal.getFromStore(Internal.IMPLICIT.STORE, ...params);
28
24
  }
29
25
 
30
26
  // src/logger.ts
@@ -63,7 +59,7 @@ var AtomIOLogger = class {
63
59
  };
64
60
  };
65
61
  function moleculeFamily(options) {
66
- return createMoleculeFamily(options, IMPLICIT.STORE);
62
+ return createMoleculeFamily(IMPLICIT.STORE, options);
67
63
  }
68
64
  function makeMolecule(context, family, key, ...params) {
69
65
  return makeMoleculeInStore(IMPLICIT.STORE, context, family, key, ...params);
@@ -77,16 +73,16 @@ function makeRootMolecule(key, store = IMPLICIT.STORE) {
77
73
  };
78
74
  }
79
75
  function selector(options) {
80
- return createStandaloneSelector(options, IMPLICIT.STORE);
76
+ return createStandaloneSelector(IMPLICIT.STORE, options);
81
77
  }
82
78
  function selectorFamily(options) {
83
- return createSelectorFamily(options, IMPLICIT.STORE);
79
+ return createSelectorFamily(IMPLICIT.STORE, options);
84
80
  }
85
- function setState(token, p1, p2) {
86
- if (p2) {
87
- Internal.setIntoStore(token, p1, p2, Internal.IMPLICIT.STORE);
81
+ function setState(...params) {
82
+ if (params.length === 2) {
83
+ Internal.setIntoStore(Internal.IMPLICIT.STORE, ...params);
88
84
  } else {
89
- Internal.setIntoStore(token, p1, Internal.IMPLICIT.STORE);
85
+ Internal.setIntoStore(Internal.IMPLICIT.STORE, ...params);
90
86
  }
91
87
  }
92
88
  var Silo = class {
@@ -108,63 +104,47 @@ var Silo = class {
108
104
  makeMolecule;
109
105
  constructor(config, fromStore = null) {
110
106
  const s = new Store(config, fromStore);
111
- function _atom(options) {
112
- return createStandaloneAtom(options, s);
113
- }
114
- function _atomFamily(options) {
115
- return createAtomFamily(options, s);
116
- }
117
107
  this.store = s;
118
- this.atom = _atom;
119
- this.atomFamily = _atomFamily;
120
- this.selector = (options) => createStandaloneSelector(options, s);
121
- this.selectorFamily = (options) => createSelectorFamily(options, s);
108
+ this.atom = (options) => createStandaloneAtom(s, options);
109
+ this.atomFamily = (options) => createAtomFamily(s, options);
110
+ this.selector = (options) => createStandaloneSelector(s, options);
111
+ this.selectorFamily = (options) => createSelectorFamily(s, options);
122
112
  this.transaction = (options) => createTransaction(options, s);
123
113
  this.timeline = (options) => createTimeline(options, s);
124
- this.findState = (token, key) => findInStore(token, key, s);
125
- this.getState = (...params) => getFromStore(...params, s);
114
+ this.findState = (...params) => findInStore(s, ...params);
115
+ this.getState = (...params) => getFromStore(s, ...params);
126
116
  this.setState = (...params) => {
127
- setIntoStore(...params, s);
117
+ setIntoStore(s, ...params);
128
118
  };
129
119
  this.disposeState = (...params) => {
130
- disposeFromStore(...params, s);
120
+ disposeFromStore(s, ...params);
131
121
  };
132
- this.subscribe = (token, handler, key) => subscribe(token, handler, key, s);
122
+ this.subscribe = (...params) => subscribeInStore(s, ...params);
133
123
  this.undo = (token) => {
134
- timeTravel(`undo`, token, s);
124
+ timeTravel(s, `undo`, token);
135
125
  };
136
126
  this.redo = (token) => {
137
- timeTravel(`redo`, token, s);
127
+ timeTravel(s, `redo`, token);
138
128
  };
139
- this.moleculeFamily = (...params) => {
140
- return createMoleculeFamily(...params, s);
129
+ this.moleculeFamily = (options) => {
130
+ return createMoleculeFamily(s, options);
141
131
  };
142
132
  this.makeMolecule = (...params) => {
143
133
  return makeMoleculeInStore(s, ...params);
144
134
  };
145
135
  }
146
136
  };
147
- function subscribe(token, handleUpdate, key = arbitrary(), store = IMPLICIT.STORE) {
148
- switch (token.type) {
149
- case `atom`:
150
- case `mutable_atom`:
151
- case `readonly_selector`:
152
- case `selector`:
153
- return subscribeToState(token, handleUpdate, key, store);
154
- case `transaction`:
155
- return subscribeToTransaction(token, handleUpdate, key, store);
156
- case `timeline`:
157
- return subscribeToTimeline(token, handleUpdate, key, store);
158
- }
137
+ function subscribe(token, handleUpdate, key = arbitrary()) {
138
+ return subscribeInStore(IMPLICIT.STORE, token, handleUpdate, key);
159
139
  }
160
140
  var timeline = (options) => {
161
141
  return createTimeline(options, IMPLICIT.STORE);
162
142
  };
163
143
  var redo = (tl) => {
164
- timeTravel(`redo`, tl, IMPLICIT.STORE);
144
+ timeTravel(IMPLICIT.STORE, `redo`, tl);
165
145
  };
166
146
  var undo = (tl) => {
167
- timeTravel(`undo`, tl, IMPLICIT.STORE);
147
+ timeTravel(IMPLICIT.STORE, `undo`, tl);
168
148
  };
169
149
  function transaction(options) {
170
150
  return createTransaction(options, IMPLICIT.STORE);
@@ -2,7 +2,7 @@ import '../../dist/chunk-XWL6SNVU.js';
2
2
  import { findInStore, IMPLICIT } from 'atom.io/internal';
3
3
 
4
4
  function findState(token, key) {
5
- const state = findInStore(token, key, IMPLICIT.STORE);
5
+ const state = findInStore(IMPLICIT.STORE, token, key);
6
6
  return state;
7
7
  }
8
8
 
@@ -92,6 +92,6 @@ export function findState(
92
92
  token: ReadableFamilyToken<any, any>,
93
93
  key: Json.Serializable,
94
94
  ): ReadableToken<any> {
95
- const state = findInStore(token, key, IMPLICIT.STORE)
95
+ const state = findInStore(IMPLICIT.STORE, token, key)
96
96
  return state
97
97
  }
@@ -3,9 +3,9 @@ import { seekInStore, IMPLICIT } from 'atom.io/internal';
3
3
 
4
4
  function seekState(token, key) {
5
5
  if (token.type === `molecule_family`) {
6
- return seekInStore(token, key, IMPLICIT.STORE);
6
+ return seekInStore(IMPLICIT.STORE, token, key);
7
7
  }
8
- const state = seekInStore(token, key, IMPLICIT.STORE);
8
+ const state = seekInStore(IMPLICIT.STORE, token, key);
9
9
  return state;
10
10
  }
11
11
 
@@ -65,8 +65,8 @@ export function seekState(
65
65
  key: Canonical,
66
66
  ): MoleculeToken<any> | ReadableToken<any> | undefined {
67
67
  if (token.type === `molecule_family`) {
68
- return seekInStore(token, key, IMPLICIT.STORE)
68
+ return seekInStore(IMPLICIT.STORE, token, key)
69
69
  }
70
- const state = seekInStore(token, key, IMPLICIT.STORE)
70
+ const state = seekInStore(IMPLICIT.STORE, token, key)
71
71
  return state
72
72
  }
@@ -1,7 +1,8 @@
1
1
  import * as atom_io from 'atom.io';
2
- import { TransactionToken, TransactionUpdate, TransactionOptions, ActorToolkit, RegularAtomToken, MutableAtomToken, AtomToken, WritableSelectorToken, ReadonlySelectorToken, SelectorToken, WritableToken, MoleculeConstructor, MoleculeFamily, MoleculeFamilyToken, MoleculeToken, ReadableToken, TimelineManageable, StateUpdate, TokenType, FamilyMetadata, StateCreation, StateDisposal, MoleculeCreation, MoleculeDisposal, TimelineUpdate, TimelineOptions, TimelineToken, AtomIOLogger, Logger, 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';
2
+ import { TransactionToken, TransactionUpdate, TransactionOptions, ActorToolkit, RegularAtomToken, MutableAtomToken, AtomToken, WritableSelectorToken, ReadonlySelectorToken, SelectorToken, WritableToken, ReadableToken, RegularAtomFamilyToken, MutableAtomFamilyToken, AtomFamilyToken, WritableSelectorFamilyToken, ReadonlySelectorFamilyToken, SelectorFamilyToken, WritableFamilyToken, ReadableFamilyToken, MoleculeConstructor, MoleculeFamily, MoleculeFamilyToken, MoleculeToken, TimelineManageable, StateUpdate, TokenType, FamilyMetadata, StateCreation, StateDisposal, MoleculeCreation, MoleculeDisposal, TimelineUpdate, TimelineOptions, TimelineToken, AtomIOLogger, Logger, MutableAtomOptions, MutableAtomFamilyOptions, RegularAtomOptions, RegularAtomFamilyOptions, ReadonlySelectorFamilyOptions, WritableSelectorFamilyOptions, MoleculeKey, KeyedStateUpdate, MoleculeFamilyOptions, MoleculeParams, ReadonlySelectorOptions, WritableSelectorOptions, SetterToolkit, UpdateHandler, TransactionUpdateHandler } from 'atom.io';
3
3
  import { Canonical, Json, JsonInterface } from 'atom.io/json';
4
4
  import { Join } from 'atom.io/data';
5
+ import { Store as Store$1, Func as Func$1 } from 'atom.io/internal';
5
6
 
6
7
  type primitive = boolean | number | string | null;
7
8
 
@@ -156,10 +157,18 @@ declare function deposit<T>(state: WritableSelector<T>): WritableSelectorToken<T
156
157
  declare function deposit<T>(state: ReadonlySelector<T>): ReadonlySelectorToken<T>;
157
158
  declare function deposit<T>(state: Selector<T>): SelectorToken<T>;
158
159
  declare function deposit<T>(state: WritableState<T>): WritableToken<T>;
160
+ declare function deposit<T>(state: ReadableState<T>): ReadableToken<T>;
161
+ declare function deposit<T, K extends Canonical>(state: RegularAtomFamily<T, K>): RegularAtomFamilyToken<T, K>;
162
+ declare function deposit<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical>(state: MutableAtomFamily<T, J, K>): MutableAtomFamilyToken<T, J, K>;
163
+ declare function deposit<T>(state: AtomFamily<T, any>): AtomFamilyToken<T, any>;
164
+ declare function deposit<T>(state: WritableSelectorFamily<T, any>): WritableSelectorFamilyToken<T, any>;
165
+ declare function deposit<T>(state: ReadonlySelectorFamily<T, any>): ReadonlySelectorFamilyToken<T, any>;
166
+ declare function deposit<T>(state: SelectorFamily<T, any>): SelectorFamilyToken<T, any>;
167
+ declare function deposit<T>(state: WritableFamily<T, any>): WritableFamilyToken<T, any>;
168
+ declare function deposit<T>(state: ReadableFamily<T, any>): ReadableFamilyToken<T, any>;
159
169
  declare function deposit<M extends MoleculeConstructor>(state: MoleculeFamily<M>): MoleculeFamilyToken<M>;
160
170
  declare function deposit<M extends MoleculeConstructor>(state: Molecule<M>): MoleculeToken<M>;
161
171
  declare function deposit<T extends Func>(state: Transaction<T>): TransactionToken<T>;
162
- declare function deposit<T>(state: ReadableState<T>): ReadableToken<T>;
163
172
  declare function deposit(state: Molecule<any> | ReadableState<any>): MoleculeToken<any> | ReadableToken<any>;
164
173
 
165
174
  interface Lineage {
@@ -227,7 +236,7 @@ type Timeline<ManagedAtom extends TimelineManageable> = {
227
236
  };
228
237
  declare function createTimeline<ManagedAtom extends TimelineManageable>(options: TimelineOptions<ManagedAtom>, store: Store, data?: Timeline<ManagedAtom>): TimelineToken<ManagedAtom>;
229
238
 
230
- declare const timeTravel: (action: `redo` | `undo`, token: TimelineToken<any>, store: Store) => void;
239
+ declare const timeTravel: (store: Store, action: `redo` | `undo`, token: TimelineToken<any>) => void;
231
240
 
232
241
  declare class Store implements Lineage {
233
242
  parent: Store | null;
@@ -318,13 +327,13 @@ declare function isTransceiver(value: unknown): value is Transceiver<Json.Serial
318
327
  type TransceiverMode = `playback` | `record` | `transaction`;
319
328
  type Signal<TVR extends Transceiver<any>> = TVR extends Transceiver<infer S> ? S : never;
320
329
 
321
- declare function createMutableAtom<T extends Transceiver<any>, J extends Json.Serializable>(options: MutableAtomOptions<T, J>, family: FamilyMetadata | undefined, store: Store): MutableAtomToken<T, J>;
330
+ declare function createMutableAtom<T extends Transceiver<any>, J extends Json.Serializable>(store: Store, options: MutableAtomOptions<T, J>, family: FamilyMetadata | undefined): MutableAtomToken<T, J>;
322
331
 
323
- declare function createMutableAtomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends string>(options: MutableAtomFamilyOptions<T, J, K>, store: Store, internalRoles?: string[]): MutableAtomFamilyToken<T, J, K>;
332
+ declare function createMutableAtomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends string>(store: Store, options: MutableAtomFamilyOptions<T, J, K>, internalRoles?: string[]): MutableAtomFamilyToken<T, J, K>;
324
333
 
325
334
  declare const getJsonFamily: <Core extends Transceiver<Json.Serializable>, SerializableCore extends Json.Serializable, Key extends string>(mutableAtomFamily: MutableAtomFamilyToken<Core, SerializableCore, Key>, store: Store) => WritableSelectorFamily<SerializableCore, Key>;
326
335
 
327
- declare const getJsonToken: <Core extends Transceiver<any>, SerializableCore extends Json.Serializable>(mutableAtomToken: MutableAtomToken<Core, SerializableCore>, store: Store) => WritableSelectorToken<SerializableCore>;
336
+ declare const getJsonToken: <Core extends Transceiver<any>, SerializableCore extends Json.Serializable>(store: Store, mutableAtomToken: MutableAtomToken<Core, SerializableCore>) => WritableSelectorToken<SerializableCore>;
328
337
 
329
338
  declare const getUpdateFamily: <Core extends Transceiver<Json.Serializable>, SerializableCore extends Json.Serializable, Key extends string>(mutableAtomFamily: MutableAtomFamilyToken<Core, SerializableCore, Key>, store: Store) => AtomFamily<Signal<Core>, Key>;
330
339
 
@@ -357,10 +366,10 @@ declare class FamilyTracker<Core extends Transceiver<any>, FamilyMemberKey exten
357
366
 
358
367
  declare function arbitrary(random?: () => number): string;
359
368
 
360
- declare function createRegularAtom<T>(options: RegularAtomOptions<T>, family: FamilyMetadata | undefined, store: Store): RegularAtomToken<T>;
369
+ declare function createRegularAtom<T>(store: Store, options: RegularAtomOptions<T>, family: FamilyMetadata | undefined): RegularAtomToken<T>;
361
370
 
362
- declare function createStandaloneAtom<T>(options: RegularAtomOptions<T>, store: Store): RegularAtomToken<T>;
363
- declare function createStandaloneAtom<T extends Transceiver<any>, J extends Json.Serializable>(options: MutableAtomOptions<T, J>, store: Store): MutableAtomToken<T, J>;
371
+ declare function createStandaloneAtom<T>(store: Store, options: RegularAtomOptions<T>): RegularAtomToken<T>;
372
+ declare function createStandaloneAtom<T extends Transceiver<any>, J extends Json.Serializable>(store: Store, options: MutableAtomOptions<T, J>): MutableAtomToken<T, J>;
364
373
 
365
374
  declare function disposeAtom(atomToken: AtomToken<unknown>, store: Store): void;
366
375
 
@@ -392,57 +401,59 @@ declare function cacheValue<T extends Promise<any>>(key: string, value: T, subje
392
401
  declare const readCachedValue: <T>(token: ReadableState<any>, target: Store) => T;
393
402
  declare const evictCachedValue: (key: string, target: Store) => void;
394
403
 
395
- declare function createAtomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical>(options: MutableAtomFamilyOptions<T, J, K>, store: Store): MutableAtomFamilyToken<T, J, K>;
396
- declare function createAtomFamily<T, K extends Canonical>(options: RegularAtomFamilyOptions<T, K>, store: Store): RegularAtomFamilyToken<T, K>;
397
-
398
- declare function createReadonlySelectorFamily<T, K extends Canonical>(options: ReadonlySelectorFamilyOptions<T, K>, store: Store, internalRoles?: string[]): ReadonlySelectorFamilyToken<T, K>;
399
-
400
- declare function createRegularAtomFamily<T, K extends Canonical>(options: RegularAtomFamilyOptions<T, K>, store: Store, internalRoles?: string[]): RegularAtomFamilyToken<T, K>;
401
-
402
- declare function createSelectorFamily<T, K extends Canonical>(options: WritableSelectorFamilyOptions<T, K>, store: Store): WritableSelectorFamilyToken<T, K>;
403
- declare function createSelectorFamily<T, K extends Canonical>(options: ReadonlySelectorFamilyOptions<T, K>, store: Store): ReadonlySelectorFamilyToken<T, K>;
404
-
405
- declare function disposeFromStore(token: MoleculeToken<any> | ReadableToken<any>, store: Store): void;
406
- declare function disposeFromStore<K extends Canonical>(token: ReadableFamilyToken<any, K>, key: K, store: Store): void;
407
- declare function disposeFromStore<M extends MoleculeConstructor>(token: MoleculeFamilyToken<M>, key: MoleculeKey<M>, store: Store): void;
408
-
409
- 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>;
410
- declare function findInStore<T, K extends Canonical, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key, store: Store): RegularAtomToken<T>;
411
- declare function findInStore<T, K extends Canonical, Key extends K>(token: AtomFamilyToken<T, K>, key: Key, store: Store): AtomToken<T>;
412
- declare function findInStore<T, K extends Canonical, Key extends K>(token: WritableSelectorFamilyToken<T, K>, key: Key, store: Store): WritableSelectorToken<T>;
413
- declare function findInStore<T, K extends Canonical, Key extends K>(token: ReadonlySelectorFamilyToken<T, K>, key: Key, store: Store): ReadonlySelectorToken<T>;
414
- declare function findInStore<T, K extends Canonical, Key extends K>(token: SelectorFamilyToken<T, K>, key: Key, store: Store): SelectorToken<T>;
415
- declare function findInStore<T, K extends Canonical, Key extends K>(token: WritableFamilyToken<T, K>, key: Key, store: Store): WritableToken<T>;
416
- declare function findInStore<T, K extends Canonical, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key, store: Store): ReadableToken<T>;
417
-
418
- 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>;
419
- declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key, store: Store): RegularAtomToken<T>;
420
- declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: AtomFamilyToken<T, K>, key: Key, store: Store): AtomToken<T>;
421
- declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: WritableSelectorFamilyToken<T, K>, key: Key, store: Store): WritableSelectorToken<T>;
422
- declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: ReadonlySelectorFamilyToken<T, K>, key: Key, store: Store): ReadonlySelectorToken<T>;
423
- declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: SelectorFamilyToken<T, K>, key: Key, store: Store): SelectorToken<T>;
424
- declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: WritableFamilyToken<T, K>, key: Key, store: Store): WritableToken<T>;
425
- declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key, store: Store): ReadableToken<T>;
426
-
427
- 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;
428
- declare function seekInStore<T, K extends Canonical, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key, store: Store): RegularAtomToken<T> | undefined;
429
- declare function seekInStore<T, K extends Canonical, Key extends K>(token: AtomFamilyToken<T, K>, key: Key, store: Store): AtomToken<T> | undefined;
430
- declare function seekInStore<T, K extends Canonical, Key extends K>(token: WritableSelectorFamilyToken<T, K>, key: Key, store: Store): WritableSelectorToken<T> | undefined;
431
- declare function seekInStore<T, K extends Canonical, Key extends K>(token: ReadonlySelectorFamilyToken<T, K>, key: Key, store: Store): ReadonlySelectorToken<T> | undefined;
432
- declare function seekInStore<T, K extends Canonical, Key extends K>(token: SelectorFamilyToken<T, K>, key: Key, store: Store): SelectorToken<T> | undefined;
433
- declare function seekInStore<T, K extends Canonical, Key extends K>(token: WritableFamilyToken<T, K>, key: Key, store: Store): WritableToken<T> | undefined;
434
- declare function seekInStore<T, K extends Canonical, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key, store: Store): ReadableToken<T> | undefined;
435
- declare function seekInStore<M extends MoleculeConstructor>(token: MoleculeFamilyToken<M>, key: MoleculeKey<M>, store: Store): MoleculeKey<M> | undefined;
404
+ declare function createAtomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical>(store: Store, options: MutableAtomFamilyOptions<T, J, K>): MutableAtomFamilyToken<T, J, K>;
405
+ declare function createAtomFamily<T, K extends Canonical>(store: Store, options: RegularAtomFamilyOptions<T, K>): RegularAtomFamilyToken<T, K>;
406
+
407
+ declare function createReadonlySelectorFamily<T, K extends Canonical>(store: Store, options: ReadonlySelectorFamilyOptions<T, K>, internalRoles?: string[]): ReadonlySelectorFamilyToken<T, K>;
408
+
409
+ declare function createRegularAtomFamily<T, K extends Canonical>(store: Store, options: RegularAtomFamilyOptions<T, K>, internalRoles?: string[]): RegularAtomFamilyToken<T, K>;
410
+
411
+ declare function createSelectorFamily<T, K extends Canonical>(store: Store, options: WritableSelectorFamilyOptions<T, K>): WritableSelectorFamilyToken<T, K>;
412
+ declare function createSelectorFamily<T, K extends Canonical>(store: Store, options: ReadonlySelectorFamilyOptions<T, K>): ReadonlySelectorFamilyToken<T, K>;
413
+
414
+ declare function disposeFromStore(store: Store, token: MoleculeToken<any> | ReadableToken<any>): void;
415
+ declare function disposeFromStore<K extends Canonical>(store: Store, token: ReadableFamilyToken<any, K>, key: K): void;
416
+ declare function disposeFromStore<M extends MoleculeConstructor>(store: Store, token: MoleculeFamilyToken<M>, key: MoleculeKey<M>): void;
417
+
418
+ declare function findInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J>;
419
+ declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T>;
420
+ declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T>;
421
+ declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableSelectorFamilyToken<T, K>, key: Key): WritableSelectorToken<T>;
422
+ declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadonlySelectorFamilyToken<T, K>, key: Key): ReadonlySelectorToken<T>;
423
+ declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: SelectorFamilyToken<T, K>, key: Key): SelectorToken<T>;
424
+ declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableFamilyToken<T, K>, key: Key): WritableToken<T>;
425
+ declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T>;
426
+
427
+ declare function initFamilyMemberInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J>;
428
+ declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T>;
429
+ declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T>;
430
+ declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableSelectorFamilyToken<T, K>, key: Key): WritableSelectorToken<T>;
431
+ declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadonlySelectorFamilyToken<T, K>, key: Key): ReadonlySelectorToken<T>;
432
+ declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: SelectorFamilyToken<T, K>, key: Key): SelectorToken<T>;
433
+ declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableFamilyToken<T, K>, key: Key): WritableToken<T>;
434
+ declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T>;
435
+
436
+ declare function seekInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J> | undefined;
437
+ declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T> | undefined;
438
+ declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T> | undefined;
439
+ declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableSelectorFamilyToken<T, K>, key: Key): WritableSelectorToken<T> | undefined;
440
+ declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadonlySelectorFamilyToken<T, K>, key: Key): ReadonlySelectorToken<T> | undefined;
441
+ declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: SelectorFamilyToken<T, K>, key: Key): SelectorToken<T> | undefined;
442
+ declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableFamilyToken<T, K>, key: Key): WritableToken<T> | undefined;
443
+ declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T> | undefined;
444
+ declare function seekInStore<M extends MoleculeConstructor>(store: Store, token: MoleculeFamilyToken<M>, key: MoleculeKey<M>): MoleculeKey<M> | undefined;
436
445
 
437
446
  type EnvironmentData = {
438
447
  store: Store;
439
448
  };
440
449
  declare function getEnvironmentData(store: Store): EnvironmentData;
441
450
 
442
- declare function getFromStore<T>(token: ReadableToken<T>, store: Store): T;
443
- declare function getFromStore<M extends MoleculeConstructor>(token: MoleculeToken<M>, store: Store): InstanceType<M> | undefined;
444
- declare function getFromStore<T, K extends Canonical>(token: ReadableFamilyToken<T, K>, key: K, store: Store): T;
445
- declare function getFromStore<M extends MoleculeConstructor>(token: MoleculeFamilyToken<M>, key: MoleculeKey<M>, store: Store): InstanceType<M>;
451
+ declare function getFromStore<T>(store: Store, token: ReadableToken<T>): T;
452
+ declare function getFromStore<M extends MoleculeConstructor>(store: Store, token: MoleculeToken<M>): InstanceType<M>;
453
+ declare function getFromStore<T, K extends Canonical>(store: Store, token: ReadableFamilyToken<T, K>, key: K): T;
454
+ declare function getFromStore<M extends MoleculeConstructor>(store: Store, token: MoleculeFamilyToken<M>, key: MoleculeKey<M>): InstanceType<M>;
455
+ declare function getFromStore(store: Store, token: MoleculeToken<any> | ReadableToken<any>): any;
456
+ declare function getFromStore(store: Store, token: MoleculeFamilyToken<any> | ReadableFamilyToken<any, any>, key: Canonical): any;
446
457
 
447
458
  declare const readOrComputeValue: <T>(state: ReadableState<T>, target: Store) => T;
448
459
 
@@ -486,7 +497,7 @@ declare class LazyMap<K, V> extends Map<K, V> {
486
497
  delete(key: K): boolean;
487
498
  }
488
499
 
489
- declare function createMoleculeFamily<M extends MoleculeConstructor>(options: MoleculeFamilyOptions<M>, store: Store): MoleculeFamilyToken<M>;
500
+ declare function createMoleculeFamily<M extends MoleculeConstructor>(store: Store, options: MoleculeFamilyOptions<M>): MoleculeFamilyToken<M>;
490
501
 
491
502
  declare function disposeMolecule<M extends MoleculeConstructor>(token: MoleculeToken<M>, store: Store): void;
492
503
 
@@ -523,12 +534,12 @@ declare class NotFoundError extends Error {
523
534
  constructor(familyToken: AtomIOToken, key: Json.Serializable, store: Store);
524
535
  }
525
536
 
526
- declare const createReadonlySelector: <T>(options: ReadonlySelectorOptions<T>, family: FamilyMetadata | undefined, store: Store) => ReadonlySelectorToken<T>;
537
+ declare const createReadonlySelector: <T>(store: Store, options: ReadonlySelectorOptions<T>, family: FamilyMetadata | undefined) => ReadonlySelectorToken<T>;
527
538
 
528
- declare function createStandaloneSelector<T>(options: WritableSelectorOptions<T>, store: Store): WritableSelectorToken<T>;
529
- declare function createStandaloneSelector<T>(options: ReadonlySelectorOptions<T>, store: Store): ReadonlySelectorToken<T>;
539
+ declare function createStandaloneSelector<T>(store: Store, options: WritableSelectorOptions<T>): WritableSelectorToken<T>;
540
+ declare function createStandaloneSelector<T>(store: Store, options: ReadonlySelectorOptions<T>): ReadonlySelectorToken<T>;
530
541
 
531
- declare const createWritableSelector: <T>(options: WritableSelectorOptions<T>, family: FamilyMetadata | undefined, store: Store) => WritableSelectorToken<T>;
542
+ declare const createWritableSelector: <T>(store: Store, options: WritableSelectorOptions<T>, family: FamilyMetadata | undefined) => WritableSelectorToken<T>;
532
543
 
533
544
  declare function disposeSelector(selectorToken: ReadonlySelectorToken<unknown> | WritableSelectorToken<unknown>, store: Store): void;
534
545
 
@@ -546,8 +557,15 @@ declare const become: <T>(nextVersionOfThing: Modify<T> | T) => (originalThing:
546
557
 
547
558
  declare const setAtomOrSelector: <T>(state: WritableState<T>, value: T | ((oldValue: T) => T), store: Store) => void;
548
559
 
549
- 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 Canonical, New extends T>(token: WritableFamilyToken<T, K>, key: K, value: New | ((oldValue: T) => New), store: Store): void;
560
+ declare function setIntoStore<T, New extends T>(store: Store, token: WritableToken<T>, value: New | ((oldValue: T) => New)): void;
561
+ declare function setIntoStore<T, K extends Canonical, New extends T>(store: Store, token: WritableFamilyToken<T, K>, key: K, value: New | ((oldValue: T) => New)): void;
562
+
563
+ declare const recallState: <T>(state: ReadableState<T>, store: Store) => T;
564
+
565
+ declare function subscribeInStore<T>(store: Store$1, token: ReadableToken<T>, handleUpdate: UpdateHandler<T>, key?: string): () => void;
566
+ declare function subscribeInStore<F extends Func$1>(store: Store$1, token: TransactionToken<F>, handleUpdate: TransactionUpdateHandler<F>, key?: string): () => void;
567
+ declare function subscribeInStore<M extends TimelineManageable>(store: Store$1, token: TimelineToken<M>, handleUpdate: (update: TimelineUpdate<M> | `redo` | `undo`) => void, key?: string): () => void;
568
+ declare function subscribeInStore<M extends TimelineManageable>(store: Store$1, token: ReadableToken<any> | TimelineToken<M> | TransactionToken<any>, handleUpdate: TransactionUpdateHandler<any> | UpdateHandler<any> | ((update: TimelineUpdate<M> | `redo` | `undo`) => void), key?: string): () => void;
551
569
 
552
570
  declare const subscribeToRootAtoms: <T>(selector: Selector<T>, store: Store) => (() => void)[];
553
571
 
@@ -618,4 +636,4 @@ type SelectorFamily<T, K extends Canonical> = ReadonlySelectorFamily<T, K> | Wri
618
636
  type WritableFamily<T, K extends Canonical> = AtomFamily<T, K> | WritableSelectorFamily<T, K>;
619
637
  type ReadableFamily<T, K extends Canonical> = AtomFamily<T, K> | SelectorFamily<T, K>;
620
638
 
621
- export { type Atom, type AtomFamily, type AtomIOState, type AtomIOToken, type AtomKey, type ChildStore, type EnvironmentData, FamilyTracker, type Flat, type Func, Future, IMPLICIT, LazyMap, type Lineage, type Modify, Molecule, type MutableAtom, type MutableAtomFamily, NotFoundError, type OperationProgress, type Range, type ReadableFamily, type ReadableState, type ReadonlySelector, type ReadonlySelectorFamily, type ReadonlySelectorKey, type RegularAtom, type RegularAtomFamily, type RootStore, type Selector, type SelectorFamily, 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 WritableFamily, type WritableSelector, type WritableSelectorFamily, 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, getUpdateFamily, 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, prettyPrintTokenType, readCachedValue, readOrComputeValue, registerSelector, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeToRootAtoms, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceAllSelectorAtoms, traceSelectorAtoms, updateSelectorAtoms, withdraw };
639
+ export { type Atom, type AtomFamily, type AtomIOState, type AtomIOToken, type AtomKey, type ChildStore, type EnvironmentData, FamilyTracker, type Flat, type Func, Future, IMPLICIT, LazyMap, type Lineage, type Modify, Molecule, type MutableAtom, type MutableAtomFamily, NotFoundError, type OperationProgress, type Range, type ReadableFamily, type ReadableState, type ReadonlySelector, type ReadonlySelectorFamily, type ReadonlySelectorKey, type RegularAtom, type RegularAtomFamily, type RootStore, type Selector, type SelectorFamily, 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 WritableFamily, type WritableSelector, type WritableSelectorFamily, 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, getUpdateFamily, 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, prettyPrintTokenType, readCachedValue, readOrComputeValue, recallState, registerSelector, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeInStore, subscribeToRootAtoms, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceAllSelectorAtoms, traceSelectorAtoms, updateSelectorAtoms, withdraw };
@@ -1,3 +1,3 @@
1
- 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, getUpdateFamily, 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, prettyPrintTokenType, readCachedValue, readOrComputeValue, registerSelector, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeToRootAtoms, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceAllSelectorAtoms, traceSelectorAtoms, updateSelectorAtoms, withdraw } from '../../dist/chunk-JRENM6KL.js';
1
+ 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, getUpdateFamily, 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, prettyPrintTokenType, readCachedValue, readOrComputeValue, recallState, registerSelector, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeInStore, subscribeToRootAtoms, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceAllSelectorAtoms, traceSelectorAtoms, updateSelectorAtoms, withdraw } from '../../dist/chunk-6ABWLAGY.js';
2
2
  import '../../dist/chunk-IBTHB2PI.js';
3
3
  import '../../dist/chunk-XWL6SNVU.js';
@@ -15,9 +15,9 @@ import { subscribeToState } from "../subscribe"
15
15
  import { markAtomAsDefault } from "./is-default"
16
16
 
17
17
  export function createRegularAtom<T>(
18
+ store: Store,
18
19
  options: RegularAtomOptions<T>,
19
20
  family: FamilyMetadata | undefined,
20
- store: Store,
21
21
  ): RegularAtomToken<T> {
22
22
  store.logger.info(
23
23
  `🔨`,
@@ -47,7 +47,7 @@ export function createRegularAtom<T>(
47
47
  options.key,
48
48
  `installing in store "${s.config.name}"`,
49
49
  )
50
- return createRegularAtom(options, family, s)
50
+ return createRegularAtom(s, options, family)
51
51
  },
52
52
  subject,
53
53
  } as const
@@ -68,7 +68,7 @@ export function createRegularAtom<T>(
68
68
  for (const effect of options.effects) {
69
69
  const cleanup = effect({
70
70
  setSelf: (next) => {
71
- setIntoStore(token, next, store)
71
+ setIntoStore(store, token, next)
72
72
  },
73
73
  onSet: (handle: UpdateHandler<T>) =>
74
74
  subscribeToState(token, handle, `effect[${effectIndex}]`, store),
@@ -13,25 +13,27 @@ import type { Store } from "../store"
13
13
  import { createRegularAtom } from "./create-regular-atom"
14
14
 
15
15
  export function createStandaloneAtom<T>(
16
- options: RegularAtomOptions<T>,
17
16
  store: Store,
17
+ options: RegularAtomOptions<T>,
18
18
  ): RegularAtomToken<T>
19
+
19
20
  export function createStandaloneAtom<
20
21
  T extends Transceiver<any>,
21
22
  J extends Json.Serializable,
22
- >(options: MutableAtomOptions<T, J>, store: Store): MutableAtomToken<T, J>
23
+ >(store: Store, options: MutableAtomOptions<T, J>): MutableAtomToken<T, J>
24
+
23
25
  export function createStandaloneAtom<T>(
24
- options: MutableAtomOptions<any, any> | RegularAtomOptions<T>,
25
26
  store: Store,
27
+ options: MutableAtomOptions<any, any> | RegularAtomOptions<T>,
26
28
  ): AtomToken<T> {
27
29
  const isMutable = `mutable` in options
28
30
 
29
31
  if (isMutable) {
30
- const state = createMutableAtom(options, undefined, store)
32
+ const state = createMutableAtom(store, options, undefined)
31
33
  store.on.atomCreation.next(state)
32
34
  return state
33
35
  }
34
- const state = createRegularAtom(options, undefined, store)
36
+ const state = createRegularAtom(store, options, undefined)
35
37
  store.on.atomCreation.next(state)
36
38
  return state
37
39
  }
@@ -16,23 +16,23 @@ export function createAtomFamily<
16
16
  J extends Json.Serializable,
17
17
  K extends Canonical,
18
18
  >(
19
- options: MutableAtomFamilyOptions<T, J, K>,
20
19
  store: Store,
20
+ options: MutableAtomFamilyOptions<T, J, K>,
21
21
  ): MutableAtomFamilyToken<T, J, K>
22
22
  export function createAtomFamily<T, K extends Canonical>(
23
- options: RegularAtomFamilyOptions<T, K>,
24
23
  store: Store,
24
+ options: RegularAtomFamilyOptions<T, K>,
25
25
  ): RegularAtomFamilyToken<T, K>
26
26
  export function createAtomFamily<T, K extends Canonical>(
27
+ store: Store,
27
28
  options:
28
29
  | MutableAtomFamilyOptions<any, any, any>
29
30
  | RegularAtomFamilyOptions<T, K>,
30
- store: Store,
31
31
  ): AtomFamilyToken<any, any> {
32
32
  const isMutable = `mutable` in options
33
33
 
34
34
  if (isMutable) {
35
- return createMutableAtomFamily(options, store)
35
+ return createMutableAtomFamily(store, options)
36
36
  }
37
- return createRegularAtomFamily<T, K>(options, store)
37
+ return createRegularAtomFamily<T, K>(store, options)
38
38
  }