atom.io 0.36.0 → 0.36.1

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 (100) hide show
  1. package/dist/internal/index.d.ts +83 -67
  2. package/dist/internal/index.d.ts.map +1 -1
  3. package/dist/internal/index.js +98 -98
  4. package/dist/internal/index.js.map +1 -1
  5. package/dist/introspection/index.d.ts +5 -6
  6. package/dist/introspection/index.d.ts.map +1 -1
  7. package/dist/introspection/index.js +2 -3
  8. package/dist/introspection/index.js.map +1 -1
  9. package/dist/main/index.d.ts +27 -29
  10. package/dist/main/index.d.ts.map +1 -1
  11. package/dist/main/index.js +8 -9
  12. package/dist/main/index.js.map +1 -1
  13. package/dist/react/index.d.ts +2 -2
  14. package/dist/react/index.d.ts.map +1 -1
  15. package/dist/react/index.js.map +1 -1
  16. package/dist/react-devtools/index.d.ts.map +1 -1
  17. package/dist/react-devtools/index.js.map +1 -1
  18. package/dist/realtime-client/index.d.ts +7 -8
  19. package/dist/realtime-client/index.d.ts.map +1 -1
  20. package/dist/realtime-client/index.js +3 -4
  21. package/dist/realtime-client/index.js.map +1 -1
  22. package/dist/realtime-react/index.d.ts +4 -4
  23. package/dist/realtime-react/index.d.ts.map +1 -1
  24. package/dist/realtime-react/index.js.map +1 -1
  25. package/dist/realtime-server/index.d.ts +2 -2
  26. package/dist/realtime-server/index.d.ts.map +1 -1
  27. package/dist/realtime-server/index.js.map +1 -1
  28. package/dist/transceivers/set-rtx/index.d.ts +9 -2
  29. package/dist/transceivers/set-rtx/index.d.ts.map +1 -1
  30. package/dist/transceivers/set-rtx/index.js +3 -0
  31. package/dist/transceivers/set-rtx/index.js.map +1 -1
  32. package/package.json +3 -3
  33. package/src/internal/atom/create-regular-atom.ts +5 -5
  34. package/src/internal/atom/has-role.ts +12 -0
  35. package/src/internal/atom/index.ts +1 -0
  36. package/src/internal/caching.ts +38 -16
  37. package/src/internal/families/find-in-store.ts +1 -1
  38. package/src/internal/families/get-family-of-token.ts +1 -1
  39. package/src/internal/families/init-family-member.ts +1 -1
  40. package/src/internal/families/seek-in-store.ts +1 -1
  41. package/src/internal/get-state/read-or-compute-value.ts +29 -20
  42. package/src/internal/index.ts +8 -8
  43. package/src/internal/join/join-internal.ts +7 -4
  44. package/src/internal/mutable/create-mutable-atom-family.ts +6 -5
  45. package/src/internal/mutable/create-mutable-atom.ts +1 -1
  46. package/src/internal/mutable/get-json-family.ts +1 -1
  47. package/src/internal/mutable/get-json-token.ts +1 -1
  48. package/src/internal/mutable/get-update-family.ts +1 -1
  49. package/src/internal/mutable/get-update-token.ts +1 -1
  50. package/src/internal/mutable/tracker-family.ts +27 -31
  51. package/src/internal/mutable/tracker.ts +29 -23
  52. package/src/internal/mutable/transceiver.ts +11 -10
  53. package/src/internal/selector/create-readonly-held-selector.ts +2 -2
  54. package/src/internal/selector/create-readonly-pure-selector.ts +2 -2
  55. package/src/internal/selector/create-writable-held-selector.ts +3 -3
  56. package/src/internal/selector/create-writable-pure-selector.ts +3 -3
  57. package/src/internal/set-state/set-atom.ts +15 -22
  58. package/src/internal/set-state/set-into-store.ts +5 -4
  59. package/src/internal/store/counterfeit.ts +1 -1
  60. package/src/internal/store/deposit.ts +7 -8
  61. package/src/internal/store/store.ts +6 -6
  62. package/src/internal/store/withdraw.ts +8 -8
  63. package/src/internal/subscribe/subscribe-in-store.ts +2 -2
  64. package/src/internal/subscribe/subscribe-to-transaction.ts +2 -2
  65. package/src/internal/timeline/create-timeline.ts +3 -3
  66. package/src/internal/transaction/act-upon-store.ts +2 -2
  67. package/src/internal/transaction/apply-transaction.ts +2 -2
  68. package/src/internal/transaction/build-transaction.ts +2 -2
  69. package/src/internal/transaction/create-transaction.ts +3 -3
  70. package/src/internal/transaction/index.ts +2 -2
  71. package/src/internal/transaction/is-root-store.ts +4 -2
  72. package/src/internal/utility-types.ts +1 -1
  73. package/src/introspection/attach-introspection-states.ts +3 -3
  74. package/src/introspection/attach-transaction-index.ts +4 -4
  75. package/src/introspection/attach-transaction-logs.ts +4 -4
  76. package/src/introspection/auditor.ts +3 -3
  77. package/src/main/atom.ts +4 -4
  78. package/src/main/dispose-state.ts +4 -3
  79. package/src/main/find-state.ts +1 -1
  80. package/src/main/get-state.ts +6 -5
  81. package/src/main/reset-state.ts +3 -3
  82. package/src/main/set-state.ts +3 -3
  83. package/src/main/subscribe.ts +3 -3
  84. package/src/main/tokens.ts +6 -10
  85. package/src/main/transaction.ts +13 -15
  86. package/src/react/use-json.ts +5 -5
  87. package/src/react-devtools/TransactionIndex.tsx +3 -3
  88. package/src/react-devtools/Updates.tsx +2 -2
  89. package/src/realtime-client/continuity/register-and-attempt-confirmed-update.ts +2 -2
  90. package/src/realtime-client/pull-mutable-atom-family-member.ts +8 -13
  91. package/src/realtime-client/pull-mutable-atom.ts +5 -8
  92. package/src/realtime-client/push-state.ts +6 -5
  93. package/src/realtime-client/server-action.ts +5 -4
  94. package/src/realtime-react/use-pull-mutable-atom.ts +1 -1
  95. package/src/realtime-react/use-pull-mutable-family-member.ts +1 -1
  96. package/src/realtime-react/use-server-action.ts +2 -2
  97. package/src/realtime-server/realtime-mutable-family-provider.ts +1 -1
  98. package/src/realtime-server/realtime-mutable-provider.ts +1 -1
  99. package/src/transceivers/set-rtx/set-rtx.ts +14 -1
  100. package/src/internal/set-state/copy-mutable-if-needed.ts +0 -29
@@ -1,8 +1,13 @@
1
- import { Func as Func$1, Store as Store$1 } from "atom.io/internal";
1
+ import { Fn as Fn$1, Store as Store$1 } from "atom.io/internal";
2
2
  import { Canonical, Json, stringified } from "atom.io/json";
3
- import { Above, ActorToolkit, Anarchy, AtomFamilyToken, AtomIOLogger, AtomIOToken, AtomToken, Claim, CompoundFrom, CompoundTypedKey, FamilyMetadata, HeldSelectorFamilyToken, HeldSelectorToken, Hierarchy, JoinOptions, JoinStates, JoinToken, KeyedStateUpdate, Logger, MoleculeCreation, MoleculeDisposal, MoleculeTransfer, MutableAtomFamilyOptions, MutableAtomFamilyToken, MutableAtomOptions, MutableAtomToken, PureSelectorFamilyToken, PureSelectorToken, ReadableFamilyToken, ReadableToken, ReadonlyHeldSelectorFamilyOptions, ReadonlyHeldSelectorFamilyToken, ReadonlyHeldSelectorOptions, ReadonlyHeldSelectorToken, ReadonlyPureSelectorFamilyOptions, ReadonlyPureSelectorFamilyToken, ReadonlyPureSelectorOptions, ReadonlyPureSelectorToken, ReadonlySelectorFamilyToken, ReadonlySelectorToken, RegularAtomFamilyOptions, RegularAtomFamilyToken, RegularAtomOptions, RegularAtomToken, SelectorFamilyToken, SelectorToken, SingularTypedKey, StateCreation, StateDisposal, StateUpdate, TimelineManageable, TimelineOptions, TimelineToken, TimelineUpdate, TokenType, TransactionOptions, TransactionToken, TransactionUpdate, TransactionUpdateHandler, UpdateHandler, Vassal, WritableFamilyToken, WritableHeldSelectorFamilyOptions, WritableHeldSelectorFamilyToken, WritableHeldSelectorOptions, WritableHeldSelectorToken, WritablePureSelectorFamilyOptions, WritablePureSelectorFamilyToken, WritablePureSelectorOptions, WritablePureSelectorToken, WritableSelectorFamilyToken, WritableSelectorToken, WritableToken, WriterToolkit } from "atom.io";
3
+ import { Above, ActorToolkit, Anarchy, AtomFamilyToken, AtomIOLogger, AtomIOToken, AtomToken, Claim, CompoundFrom, CompoundTypedKey, FamilyMetadata, HeldSelectorFamilyToken, HeldSelectorToken, Hierarchy, JoinOptions, JoinStates, JoinToken, KeyedStateUpdate, Logger, MoleculeCreation, MoleculeDisposal, MoleculeTransfer, MutableAtomFamilyOptions, MutableAtomFamilyToken, MutableAtomOptions, MutableAtomToken, PureSelectorFamilyToken, PureSelectorToken, ReadableFamilyToken, ReadableToken, ReadonlyHeldSelectorFamilyOptions, ReadonlyHeldSelectorFamilyToken, ReadonlyHeldSelectorOptions, ReadonlyHeldSelectorToken, ReadonlyPureSelectorFamilyOptions, ReadonlyPureSelectorFamilyToken, ReadonlyPureSelectorOptions, ReadonlyPureSelectorToken, ReadonlySelectorFamilyToken, ReadonlySelectorToken, RegularAtomFamilyOptions, RegularAtomFamilyToken, RegularAtomOptions, RegularAtomToken, SelectorFamilyToken, SelectorToken, SingularTypedKey, StateCreation, StateDisposal, StateLifecycleEvent, StateUpdate, TimelineManageable, TimelineOptions, TimelineToken, TimelineUpdate, TokenType, TransactionOptions, TransactionToken, TransactionUpdate, TransactionUpdateHandler, UpdateHandler, Vassal, WritableFamilyToken, WritableHeldSelectorFamilyOptions, WritableHeldSelectorFamilyToken, WritableHeldSelectorOptions, WritableHeldSelectorToken, WritablePureSelectorFamilyOptions, WritablePureSelectorFamilyToken, WritablePureSelectorOptions, WritablePureSelectorToken, WritableSelectorFamilyToken, WritableSelectorToken, WritableToken, WriterToolkit } from "atom.io";
4
4
  import { SetRTX } from "atom.io/transceivers/set-rtx";
5
5
 
6
+ //#region src/internal/atom/has-role.d.ts
7
+ declare const INTERNAL_ROLES: readonly ["tracker:signal"];
8
+ type internalRole = (typeof INTERNAL_ROLES)[number];
9
+ declare function hasRole(atom: Atom<any>, role: internalRole): boolean;
10
+ //#endregion
6
11
  //#region src/internal/store/circular-buffer.d.ts
7
12
  declare class CircularBuffer<T> {
8
13
  protected _buffer: T[];
@@ -25,7 +30,7 @@ declare const FAMILY_MEMBER_TOKEN_TYPES: {
25
30
  readonly writable_held_selector_family: "writable_held_selector";
26
31
  readonly writable_pure_selector_family: "writable_pure_selector";
27
32
  };
28
- declare function counterfeit<T extends Transceiver<any, any>, K extends Canonical, Key extends K>(token: MutableAtomFamilyToken<T, K>, key: Key): MutableAtomToken<T>;
33
+ declare function counterfeit<T extends Transceiver<any, any, any>, K extends Canonical, Key extends K>(token: MutableAtomFamilyToken<T, K>, key: Key): MutableAtomToken<T>;
29
34
  declare function counterfeit<T, K extends Canonical, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T>;
30
35
  declare function counterfeit<T, K extends Canonical, Key extends K>(token: AtomFamilyToken<T, K>, key: Key): AtomToken<T>;
31
36
  declare function counterfeit<T, K extends Canonical, Key extends K>(token: WritablePureSelectorFamilyToken<T, K>, key: Key): WritablePureSelectorToken<T>;
@@ -35,7 +40,7 @@ declare function counterfeit<T, K extends Canonical, Key extends K>(token: Writa
35
40
  declare function counterfeit<T, K extends Canonical, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T>;
36
41
  //#endregion
37
42
  //#region src/internal/utility-types.d.ts
38
- type Func = (...parameters: any[]) => any;
43
+ type Fn = (...parameters: any[]) => any;
39
44
  type Flat<R extends { [K in PropertyKey]: any }> = { [K in keyof R]: R[K] };
40
45
  type Count<N extends number, A extends any[] = []> = [...A, any][`length`] extends N ? A[`length`] : A[`length`] | Count<N, [...A, any]>;
41
46
  type Each<E extends any[]> = { [P in Count<E[`length`]>]: E[P] };
@@ -127,14 +132,26 @@ declare class Junction<const ASide extends string, const AType extends string, c
127
132
  declare const abortTransaction: (store: Store) => void;
128
133
  //#endregion
129
134
  //#region src/internal/transaction/act-upon-store.d.ts
130
- declare function actUponStore<F extends Func>(store: Store, token: TransactionToken<F>, id: string): (...parameters: Parameters<F>) => ReturnType<F>;
135
+ declare function actUponStore<F extends Fn>(store: Store, token: TransactionToken<F>, id: string): (...parameters: Parameters<F>) => ReturnType<F>;
131
136
  //#endregion
132
137
  //#region src/internal/transaction/apply-transaction.d.ts
133
- declare const applyTransaction: <F extends Func>(output: ReturnType<F>, store: Store) => void;
138
+ declare const applyTransaction: <F extends Fn>(output: ReturnType<F>, store: Store) => void;
134
139
  //#endregion
135
140
  //#region src/internal/transaction/assign-transaction-to-continuity.d.ts
136
141
  declare function assignTransactionToContinuity(store: Store, continuityKey: string, transactionKey: string): void;
137
142
  //#endregion
143
+ //#region src/internal/lazy-map.d.ts
144
+ declare class LazyMap<K, V> extends Map<K, V> {
145
+ deleted: Set<K>;
146
+ protected readonly source: Map<K, V>;
147
+ constructor(source: Map<K, V>);
148
+ get(key: K): V | undefined;
149
+ set(key: K, value: V): this;
150
+ hasOwn(key: K): boolean;
151
+ has(key: K): boolean;
152
+ delete(key: K): boolean;
153
+ }
154
+ //#endregion
138
155
  //#region src/internal/transaction/is-root-store.d.ts
139
156
  interface RootStore extends Store {
140
157
  transactionMeta: TransactionEpoch;
@@ -142,9 +159,10 @@ interface RootStore extends Store {
142
159
  child: ChildStore | null;
143
160
  }
144
161
  interface ChildStore extends Store {
145
- transactionMeta: TransactionProgress<Func>;
162
+ transactionMeta: TransactionProgress<Fn>;
146
163
  parent: ChildStore | RootStore;
147
164
  child: ChildStore | null;
165
+ valueMap: LazyMap<string, any>;
148
166
  }
149
167
  declare function isRootStore(store: Store): store is RootStore;
150
168
  declare function isChildStore(store: Store): store is ChildStore;
@@ -167,14 +185,14 @@ declare class StatefulSubject<T> extends Subject<T> {
167
185
  }
168
186
  //#endregion
169
187
  //#region src/internal/transaction/create-transaction.d.ts
170
- type Transaction<F extends Func> = {
188
+ type Transaction<F extends Fn> = {
171
189
  key: string;
172
190
  type: `transaction`;
173
191
  install: (store: Store) => void;
174
192
  subject: Subject<TransactionUpdate<F>>;
175
193
  run: (parameters: Parameters<F>, id?: string) => ReturnType<F>;
176
194
  };
177
- declare function createTransaction<F extends Func>(store: Store, options: TransactionOptions<F>): TransactionToken<F>;
195
+ declare function createTransaction<F extends Fn>(store: Store, options: TransactionOptions<F>): TransactionToken<F>;
178
196
  //#endregion
179
197
  //#region src/internal/transaction/get-epoch-number.d.ts
180
198
  declare function getContinuityKey(store: RootStore, transactionKey: string): string | undefined;
@@ -188,7 +206,7 @@ declare function setEpochNumberOfAction(store: Store, transactionKey: string, ne
188
206
  //#region src/internal/transaction/index.d.ts
189
207
  declare const TRANSACTION_PHASES: readonly ["idle", "building", "applying"];
190
208
  type TransactionPhase = (typeof TRANSACTION_PHASES)[number];
191
- type TransactionProgress<F extends Func> = {
209
+ type TransactionProgress<F extends Fn> = {
192
210
  phase: `applying` | `building`;
193
211
  update: TransactionUpdate<F>;
194
212
  toolkit: ActorToolkit;
@@ -200,7 +218,7 @@ type TransactionEpoch = {
200
218
  //#endregion
201
219
  //#region src/internal/store/deposit.d.ts
202
220
  declare function deposit<T>(state: RegularAtom<T>): RegularAtomToken<T>;
203
- declare function deposit<T extends Transceiver<any, any>>(state: MutableAtom<T>): MutableAtomToken<T>;
221
+ declare function deposit<T extends Transceiver<any, any, any>>(state: MutableAtom<T>): MutableAtomToken<T>;
204
222
  declare function deposit<T>(state: Atom<T>): AtomToken<T>;
205
223
  declare function deposit<T>(state: WritablePureSelector<T>): WritablePureSelectorToken<T>;
206
224
  declare function deposit<T>(state: ReadonlyPureSelector<T>): ReadonlyPureSelectorToken<T>;
@@ -208,14 +226,14 @@ declare function deposit<T>(state: Selector<T>): SelectorToken<T>;
208
226
  declare function deposit<T>(state: WritableState<T>): WritableToken<T>;
209
227
  declare function deposit<T>(state: ReadableState<T>): ReadableToken<T>;
210
228
  declare function deposit<T, K extends Canonical>(state: RegularAtomFamily<T, K>): RegularAtomFamilyToken<T, K>;
211
- declare function deposit<T extends Transceiver<any, any>, K extends Canonical>(state: MutableAtomFamily<T, K>): MutableAtomFamilyToken<T, K>;
229
+ declare function deposit<T extends Transceiver<any, any, any>, K extends Canonical>(state: MutableAtomFamily<T, K>): MutableAtomFamilyToken<T, K>;
212
230
  declare function deposit<T>(state: AtomFamily<T, any>): AtomFamilyToken<T, any>;
213
231
  declare function deposit<T>(state: WritablePureSelectorFamily<T, any>): WritablePureSelectorFamilyToken<T, any>;
214
232
  declare function deposit<T>(state: ReadonlyPureSelectorFamily<T, any>): ReadonlyPureSelectorFamilyToken<T, any>;
215
233
  declare function deposit<T>(state: SelectorFamily<T, any>): SelectorFamilyToken<T, any>;
216
234
  declare function deposit<T>(state: WritableFamily<T, any>): WritableFamilyToken<T, any>;
217
235
  declare function deposit<T>(state: ReadableFamily<T, any>): ReadableFamilyToken<T, any>;
218
- declare function deposit<T extends Func>(state: Transaction<T>): TransactionToken<T>;
236
+ declare function deposit<T extends Fn>(state: Transaction<T>): TransactionToken<T>;
219
237
  declare function deposit<M extends TimelineManageable>(state: Timeline<M>): TimelineToken<M>;
220
238
  declare function deposit(resource: AtomIOInternalResource): AtomIOToken;
221
239
  //#endregion
@@ -300,7 +318,7 @@ type TimelineSelectorUpdate<ManagedAtom extends TimelineManageable> = {
300
318
  timestamp: number;
301
319
  atomUpdates: Omit<TimelineAtomUpdate<ManagedAtom>, `timestamp`>[];
302
320
  };
303
- type TimelineTransactionUpdate = Flat<TransactionUpdate<Func> & {
321
+ type TimelineTransactionUpdate = Flat<TransactionUpdate<Fn> & {
304
322
  key: string;
305
323
  type: `transaction_update`;
306
324
  timestamp: number;
@@ -349,11 +367,11 @@ declare class Store implements Lineage {
349
367
  selectorGraph: Junction<`upstreamSelectorKey`, string, `downstreamSelectorKey`, string, {
350
368
  source: string;
351
369
  }>;
352
- trackers: Map<string, Tracker<Transceiver<any, any>>>;
370
+ trackers: Map<string, Tracker<Transceiver<any, any, any>>>;
353
371
  families: Map<string, HeldSelectorFamily<any, any> | MutableAtomFamily<any, any> | PureSelectorFamily<any, any> | RegularAtomFamily<any, any>>;
354
372
  joins: Map<string, Join<any, any, any, any, any, any>>;
355
- transactions: Map<string, Transaction<Func>>;
356
- transactionMeta: TransactionEpoch | TransactionProgress<Func>;
373
+ transactions: Map<string, Transaction<Fn>>;
374
+ transactionMeta: TransactionEpoch | TransactionProgress<Fn>;
357
375
  timelines: Map<string, Timeline<any>>;
358
376
  timelineTopics: Junction<`timelineKey`, string, `topicKey`, string, {
359
377
  topicType: `atom_family` | `atom` | `molecule_family` | `molecule`;
@@ -385,8 +403,8 @@ type StoreEventCarrier = {
385
403
  selectorCreation: Subject<SelectorToken<unknown>>;
386
404
  selectorDisposal: Subject<SelectorToken<unknown>>;
387
405
  timelineCreation: Subject<TimelineToken<unknown>>;
388
- transactionCreation: Subject<TransactionToken<Func>>;
389
- transactionApplying: StatefulSubject<TransactionProgress<Func> | null>;
406
+ transactionCreation: Subject<TransactionToken<Fn>>;
407
+ transactionApplying: StatefulSubject<TransactionProgress<Fn> | null>;
390
408
  operationClose: Subject<OperationProgress>;
391
409
  moleculeCreation: Subject<MoleculeCreation>;
392
410
  moleculeDisposal: Subject<MoleculeDisposal>;
@@ -401,7 +419,7 @@ declare const clearStore: (store: Store) => void;
401
419
  //#endregion
402
420
  //#region src/internal/store/withdraw.d.ts
403
421
  declare function withdraw<T>(store: Store, token: RegularAtomToken<T>): RegularAtom<T>;
404
- declare function withdraw<T extends Transceiver<any, any>>(store: Store, token: MutableAtomToken<T, any>): MutableAtom<T>;
422
+ declare function withdraw<T extends Transceiver<any, any, any>>(store: Store, token: MutableAtomToken<T, any>): MutableAtom<T>;
405
423
  declare function withdraw<T>(store: Store, token: AtomToken<T>): Atom<T>;
406
424
  declare function withdraw<T>(store: Store, token: WritableHeldSelectorToken<T>): WritableHeldSelector<T>;
407
425
  declare function withdraw<T>(store: Store, token: ReadonlyHeldSelectorToken<T>): ReadonlyHeldSelector<T>;
@@ -415,7 +433,7 @@ declare function withdraw<T>(store: Store, token: SelectorToken<T>): Selector<T>
415
433
  declare function withdraw<T>(store: Store, token: WritableToken<T>): WritableState<T>;
416
434
  declare function withdraw<T>(store: Store, token: ReadableToken<T>): ReadableState<T>;
417
435
  declare function withdraw<T, K extends Canonical>(store: Store, token: RegularAtomFamilyToken<T, K>): RegularAtomFamily<T, K>;
418
- declare function withdraw<T extends Transceiver<any, any>, K extends Canonical>(store: Store, token: MutableAtomFamilyToken<T, K>): MutableAtomFamily<T, K>;
436
+ declare function withdraw<T extends Transceiver<any, any, any>, K extends Canonical>(store: Store, token: MutableAtomFamilyToken<T, K>): MutableAtomFamily<T, K>;
419
437
  declare function withdraw<T, K extends Canonical>(store: Store, token: AtomFamilyToken<T, K>): AtomFamily<T, K>;
420
438
  declare function withdraw<T, K extends Canonical>(store: Store, token: ReadonlyHeldSelectorFamilyToken<T, K>): ReadonlyHeldSelectorFamily<T, K>;
421
439
  declare function withdraw<T, K extends Canonical>(store: Store, token: WritableHeldSelectorFamilyToken<T, K>): WritableHeldSelectorFamily<T, K>;
@@ -428,47 +446,49 @@ declare function withdraw<T, K extends Canonical>(store: Store, token: PureSelec
428
446
  declare function withdraw<T, K extends Canonical>(store: Store, token: SelectorFamilyToken<T, K>): SelectorFamily<T, K>;
429
447
  declare function withdraw<T, K extends Canonical>(store: Store, token: ReadableFamilyToken<T, K>): ReadableFamily<T, K>;
430
448
  declare function withdraw<T, K extends Canonical>(store: Store, token: WritableFamilyToken<T, K>): WritableFamily<T, K>;
431
- declare function withdraw<T extends Func>(store: Store, token: TransactionToken<T>): Transaction<T extends Func ? T : never>;
449
+ declare function withdraw<T extends Fn>(store: Store, token: TransactionToken<T>): Transaction<T extends Fn ? T : never>;
432
450
  declare function withdraw<T>(store: Store, token: TimelineToken<T>): Timeline<T extends TimelineManageable ? T : never>;
433
451
  declare function withdraw<T>(store: Store, token: WritableToken<T>): WritableState<T>;
434
452
  declare function withdraw<T>(store: Store, token: ReadableToken<T>): ReadableState<T>;
435
453
  declare function withdraw(store: Store, token: AtomIOToken): AtomIOInternalResource;
436
454
  //#endregion
437
455
  //#region src/internal/mutable/transceiver.d.ts
438
- interface Transceiver<S extends Json.Serializable, J extends Json.Serializable> {
456
+ interface Transceiver<V, S extends Json.Serializable, J extends Json.Serializable> {
439
457
  do: (update: S) => number | `OUT_OF_RANGE` | null;
440
458
  undo: (update: S) => void;
441
459
  subscribe: (key: string, fn: (update: S) => void) => () => void;
442
460
  cacheUpdateNumber: number;
443
461
  getUpdateNumber: (update: S) => number;
462
+ view: () => V;
444
463
  toJSON: () => J;
445
464
  }
446
- type TransceiverConstructor<J extends Json.Serializable, T extends Transceiver<any, J>> = (new () => T) & {
465
+ type TransceiverConstructor<J extends Json.Serializable, T extends Transceiver<any, any, J>> = (new () => T) & {
447
466
  fromJSON: (json: J) => T;
448
467
  };
449
- declare function isTransceiver(value: unknown): value is Transceiver<Json.Serializable, Json.Serializable>;
468
+ declare function isTransceiver(value: unknown): value is Transceiver<any, Json.Serializable, Json.Serializable>;
450
469
  type TransceiverMode = `playback` | `record` | `transaction`;
451
- type SignalFrom<T extends Transceiver<any, any>> = T extends Transceiver<infer S, any> ? S : never;
452
- type AsJSON<T extends Transceiver<any, any>> = T extends Transceiver<any, infer J> ? J : never;
453
- type ConstructorOf<T extends Transceiver<any, any>> = TransceiverConstructor<AsJSON<T>, T>;
470
+ type ViewOf<T> = T extends Transceiver<infer V, any, any> ? V : T;
471
+ type SignalFrom<T extends Transceiver<any, any, any>> = T extends Transceiver<any, infer S, any> ? S : never;
472
+ type AsJSON<T extends Transceiver<any, any, any>> = T extends Transceiver<any, any, infer J> ? J : never;
473
+ type ConstructorOf<T extends Transceiver<any, any, any>> = TransceiverConstructor<AsJSON<T>, T>;
454
474
  //#endregion
455
475
  //#region src/internal/mutable/create-mutable-atom.d.ts
456
- declare function createMutableAtom<T extends Transceiver<any, any>>(store: Store, options: MutableAtomOptions<T>, family: FamilyMetadata | undefined): MutableAtomToken<T>;
476
+ declare function createMutableAtom<T extends Transceiver<any, any, any>>(store: Store, options: MutableAtomOptions<T>, family: FamilyMetadata | undefined): MutableAtomToken<T>;
457
477
  //#endregion
458
478
  //#region src/internal/mutable/create-mutable-atom-family.d.ts
459
- declare function createMutableAtomFamily<T extends Transceiver<any, any>, K extends Canonical>(store: Store, options: MutableAtomFamilyOptions<T, K>, internalRoles?: string[]): MutableAtomFamilyToken<T, K>;
479
+ declare function createMutableAtomFamily<T extends Transceiver<any, any, any>, K extends Canonical>(store: Store, options: MutableAtomFamilyOptions<T, K>, internalRoles?: string[]): MutableAtomFamilyToken<T, K>;
460
480
  //#endregion
461
481
  //#region src/internal/mutable/get-json-family.d.ts
462
- declare const getJsonFamily: <Core extends Transceiver<Json.Serializable, Json.Serializable>, Key extends Canonical>(mutableAtomFamily: MutableAtomFamilyToken<Core, Key>, store: Store) => WritablePureSelectorFamily<ReturnType<Core[`toJSON`]>, Key>;
482
+ declare const getJsonFamily: <Core extends Transceiver<any, Json.Serializable, Json.Serializable>, Key extends Canonical>(mutableAtomFamily: MutableAtomFamilyToken<Core, Key>, store: Store) => WritablePureSelectorFamily<ReturnType<Core[`toJSON`]>, Key>;
463
483
  //#endregion
464
484
  //#region src/internal/mutable/get-json-token.d.ts
465
- declare const getJsonToken: <T extends Transceiver<any, any>>(store: Store, mutableAtomToken: MutableAtomToken<T>) => WritablePureSelectorToken<AsJSON<T>>;
485
+ declare const getJsonToken: <T extends Transceiver<any, any, any>>(store: Store, mutableAtomToken: MutableAtomToken<T>) => WritablePureSelectorToken<AsJSON<T>>;
466
486
  //#endregion
467
487
  //#region src/internal/mutable/get-update-family.d.ts
468
- declare const getUpdateFamily: <T extends Transceiver<Json.Serializable, Json.Serializable>, K extends string>(mutableAtomFamily: MutableAtomFamilyToken<T, K>, store: Store) => AtomFamily<SignalFrom<T>, K>;
488
+ declare const getUpdateFamily: <T extends Transceiver<any, Json.Serializable, Json.Serializable>, K extends string>(mutableAtomFamily: MutableAtomFamilyToken<T, K>, store: Store) => AtomFamily<SignalFrom<T>, K>;
469
489
  //#endregion
470
490
  //#region src/internal/mutable/get-update-token.d.ts
471
- declare const getUpdateToken: <T extends Transceiver<any, any>>(mutableAtomToken: MutableAtomToken<T>) => RegularAtomToken<SignalFrom<T>>;
491
+ declare const getUpdateToken: <T extends Transceiver<any, any, any>>(mutableAtomToken: MutableAtomToken<T>) => RegularAtomToken<SignalFrom<T>>;
472
492
  //#endregion
473
493
  //#region src/internal/mutable/tracker.d.ts
474
494
  /**
@@ -476,8 +496,8 @@ declare const getUpdateToken: <T extends Transceiver<any, any>>(mutableAtomToken
476
496
  * subscribe to the transceiver's inner value. When the inner value changes,
477
497
  * the tracker will update its own state to reflect the change.
478
498
  */
479
- declare class Tracker<T extends Transceiver<any, any>> {
480
- private initializeState;
499
+ declare class Tracker<T extends Transceiver<any, any, any>> {
500
+ private initializeSignalAtom;
481
501
  private unsubscribeFromInnerValue;
482
502
  private unsubscribeFromState;
483
503
  private captureSignalsFromCore;
@@ -489,9 +509,9 @@ declare class Tracker<T extends Transceiver<any, any>> {
489
509
  }
490
510
  //#endregion
491
511
  //#region src/internal/mutable/tracker-family.d.ts
492
- declare class FamilyTracker<T extends Transceiver<any, any>, K extends Canonical> {
512
+ declare class FamilyTracker<T extends Transceiver<any, any, any>, K extends Canonical> {
493
513
  private trackers;
494
- readonly latestUpdateAtoms: RegularAtomFamily<(T extends Transceiver<infer Signal, any> ? Signal : never) | null, K>;
514
+ readonly latestSignalAtoms: RegularAtomFamily<SignalFrom<T> | null, K>;
495
515
  readonly mutableAtoms: MutableAtomFamily<T, K>;
496
516
  constructor(mutableAtoms: MutableAtomFamily<T, K>, store: Store);
497
517
  }
@@ -500,7 +520,7 @@ declare class FamilyTracker<T extends Transceiver<any, any>, K extends Canonical
500
520
  declare function arbitrary(random?: () => number): string;
501
521
  //#endregion
502
522
  //#region src/internal/atom/create-regular-atom.d.ts
503
- declare function createRegularAtom<T>(store: Store, options: RegularAtomOptions<T>, family: FamilyMetadata | undefined): RegularAtomToken<T>;
523
+ declare function createRegularAtom<T>(store: Store, options: RegularAtomOptions<T>, family: FamilyMetadata | undefined, internalRoles?: internalRole[]): RegularAtomToken<T>;
504
524
  //#endregion
505
525
  //#region src/internal/atom/dispose-atom.d.ts
506
526
  declare function disposeAtom(store: Store, atomToken: AtomToken<unknown>): void;
@@ -527,10 +547,16 @@ declare class Future<T> extends Promise<T> {
527
547
  }
528
548
  //#endregion
529
549
  //#region src/internal/caching.d.ts
530
- declare function cacheValue<T>(store: Store, key: string, value: T, subject: Subject<StateUpdate<unknown>>): T;
531
- declare function cacheValue<T extends Promise<any>>(store: Store, key: string, value: T, subject: Subject<StateUpdate<unknown>>): Future<T>;
532
- declare const readCachedValue: <T>(state: ReadableState<any>, target: Store) => T;
533
- declare const evictCachedValue: (target: Store, key: string) => void;
550
+ declare function writeToCache<T>(target: Store, key: string, value: T, subject: Subject<StateUpdate<unknown>>): T;
551
+ declare function writeToCache<T extends Promise<any>>(target: Store, key: string, value: T, subject: Subject<StateUpdate<unknown>>): Future<Awaited<T>>;
552
+ /**
553
+ * @param target - the newest layer of the store
554
+ * @param state - the state to read from cache
555
+ * @param mut - whether the value is intended to be mutable
556
+ * @returns the state's current value
557
+ */
558
+ declare function readFromCache<T>(target: Store, state: ReadableState<T>, mut: `mut` | undefined): T;
559
+ declare function evictCachedValue(target: Store, key: string): void;
534
560
  //#endregion
535
561
  //#region src/internal/capitalize.d.ts
536
562
  declare function capitalize<S extends string>(string: S): Capitalize<S>;
@@ -555,7 +581,7 @@ declare function disposeFromStore(store: Store, token: ReadableToken<any>): void
555
581
  declare function disposeFromStore<K extends Canonical>(store: Store, token: ReadableFamilyToken<any, K>, key: K): void;
556
582
  //#endregion
557
583
  //#region src/internal/families/find-in-store.d.ts
558
- declare function findInStore<T extends Transceiver<any, any>, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, K>, key: Key): MutableAtomToken<T, K>;
584
+ declare function findInStore<T extends Transceiver<any, any, any>, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, K>, key: Key): MutableAtomToken<T, K>;
559
585
  declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T, K>;
560
586
  declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T, K>;
561
587
  declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritablePureSelectorFamilyToken<T, K>, key: Key): WritablePureSelectorToken<T, K>;
@@ -565,7 +591,7 @@ declare function findInStore<T, K extends Canonical, Key extends K>(store: Store
565
591
  declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T, K>;
566
592
  //#endregion
567
593
  //#region src/internal/families/init-family-member.d.ts
568
- declare function initFamilyMemberInStore<T extends Transceiver<any, any>, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, K>, key: Key): MutableAtomToken<T, K>;
594
+ declare function initFamilyMemberInStore<T extends Transceiver<any, any, any>, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, K>, key: Key): MutableAtomToken<T, K>;
569
595
  declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T, K>;
570
596
  declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T, K>;
571
597
  declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritablePureSelectorFamilyToken<T, K>, key: Key): WritablePureSelectorToken<T, K>;
@@ -575,7 +601,7 @@ declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(
575
601
  declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T, K>;
576
602
  //#endregion
577
603
  //#region src/internal/families/seek-in-store.d.ts
578
- declare function seekInStore<T extends Transceiver<any, any>, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, K>, key: Key): MutableAtomToken<T, K> | undefined;
604
+ declare function seekInStore<T extends Transceiver<any, any, any>, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, K>, key: Key): MutableAtomToken<T, K> | undefined;
579
605
  declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T, K> | undefined;
580
606
  declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T, K> | undefined;
581
607
  declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritablePureSelectorFamilyToken<T, K>, key: Key): WritablePureSelectorToken<T, K> | undefined;
@@ -595,7 +621,8 @@ declare function getFromStore<T>(store: Store, token: ReadableToken<T>): T;
595
621
  declare function getFromStore<T, K extends Canonical>(store: Store, token: ReadableFamilyToken<T, K>, key: K): T;
596
622
  //#endregion
597
623
  //#region src/internal/get-state/read-or-compute-value.d.ts
598
- declare const readOrComputeValue: <T>(target: Store, state: ReadableState<T>) => T;
624
+ declare function readOrComputeValue<T>(target: Store, state: ReadableState<T>, mut?: undefined): ViewOf<T>;
625
+ declare function readOrComputeValue<T>(target: Store, state: ReadableState<T>, mut: `mut`): T;
599
626
  //#endregion
600
627
  //#region src/internal/get-trace.d.ts
601
628
  declare function getTrace(error: Error): string;
@@ -646,18 +673,6 @@ declare const isReadonlySelectorKey: (store: Store, key: string) => key is Reado
646
673
  type StateKey<T> = AtomKey<T> | ReadonlySelectorKey<T> | SelectorKey<T>;
647
674
  declare const isStateKey: (store: Store, key: string) => key is StateKey<unknown>;
648
675
  //#endregion
649
- //#region src/internal/lazy-map.d.ts
650
- declare class LazyMap<K, V> extends Map<K, V> {
651
- deleted: Set<K>;
652
- protected readonly source: Map<K, V>;
653
- constructor(source: Map<K, V>);
654
- get(key: K): V | undefined;
655
- set(key: K, value: V): this;
656
- hasOwn(key: K): boolean;
657
- has(key: K): boolean;
658
- delete(key: K): boolean;
659
- }
660
- //#endregion
661
676
  //#region src/internal/not-found-error.d.ts
662
677
  declare class NotFoundError extends Error {
663
678
  constructor(token: AtomIOToken, store: Store);
@@ -726,7 +741,7 @@ declare const recallState: <T>(store: Store, state: ReadableState<T>) => T;
726
741
  //#endregion
727
742
  //#region src/internal/subscribe/subscribe-in-store.d.ts
728
743
  declare function subscribeInStore<T>(store: Store$1, token: ReadableToken<T>, handleUpdate: UpdateHandler<T>, key?: string): () => void;
729
- declare function subscribeInStore<F extends Func$1>(store: Store$1, token: TransactionToken<F>, handleUpdate: TransactionUpdateHandler<F>, key?: string): () => void;
744
+ declare function subscribeInStore<F extends Fn$1>(store: Store$1, token: TransactionToken<F>, handleUpdate: TransactionUpdateHandler<F>, key?: string): () => void;
730
745
  declare function subscribeInStore<M extends TimelineManageable>(store: Store$1, token: TimelineToken<M>, handleUpdate: (update: TimelineUpdate<M> | `redo` | `undo`) => void, key?: string): () => void;
731
746
  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;
732
747
  //#endregion
@@ -740,7 +755,7 @@ declare function subscribeToState<T>(store: Store, token: ReadableToken<T>, key:
740
755
  declare const subscribeToTimeline: <ManagedAtom extends TimelineManageable>(store: Store, token: TimelineToken<ManagedAtom>, key: string, handleUpdate: (update: TimelineUpdate<any> | `redo` | `undo`) => void) => (() => void);
741
756
  //#endregion
742
757
  //#region src/internal/subscribe/subscribe-to-transaction.d.ts
743
- declare const subscribeToTransaction: <F extends Func>(store: Store, token: TransactionToken<F>, key: string, handleUpdate: TransactionUpdateHandler<F>) => (() => void);
758
+ declare const subscribeToTransaction: <F extends Fn>(store: Store, token: TransactionToken<F>, key: string, handleUpdate: TransactionUpdateHandler<F>) => (() => void);
744
759
  //#endregion
745
760
  //#region src/internal/index.d.ts
746
761
  type AtomIOState = {
@@ -756,13 +771,14 @@ type RegularAtom<T> = Flat<AtomIOState & {
756
771
  type: `atom`;
757
772
  default: T | (() => T);
758
773
  cleanup?: () => void;
774
+ internalRoles?: internalRole[];
759
775
  }>;
760
- type MutableAtom<T extends Transceiver<any, any>> = Flat<AtomIOState & {
776
+ type MutableAtom<T extends Transceiver<any, any, any>> = Flat<AtomIOState & {
761
777
  type: `mutable_atom`;
762
778
  class: ConstructorOf<T>;
763
779
  cleanup?: () => void;
764
780
  }>;
765
- type Atom<T> = RegularAtom<T> | (T extends Transceiver<any, any> ? MutableAtom<T> : never);
781
+ type Atom<T> = RegularAtom<T> | (T extends Transceiver<any, any, any> ? MutableAtom<T> : never);
766
782
  type WritableHeldSelector<T> = Flat<AtomIOState & {
767
783
  type: `writable_held_selector`;
768
784
  const: T;
@@ -796,12 +812,12 @@ type RegularAtomFamily<T, K extends Canonical> = RegularAtomFamilyToken<T, K> &
796
812
  internalRoles: string[] | undefined;
797
813
  subject: Subject<StateCreation<AtomToken<T>> | StateDisposal<AtomToken<T>>>;
798
814
  };
799
- type MutableAtomFamily<T extends Transceiver<any, any>, K extends Canonical> = Flat<MutableAtomFamilyToken<T, K> & {
815
+ type MutableAtomFamily<T extends Transceiver<any, any, any>, K extends Canonical> = Flat<MutableAtomFamilyToken<T, K> & {
800
816
  install: (store: Store) => void;
801
817
  internalRoles: string[] | undefined;
802
- subject: Subject<StateCreation<MutableAtomToken<T>> | StateDisposal<MutableAtomToken<T>>>;
818
+ subject: Subject<StateLifecycleEvent<MutableAtomToken<T>>>;
803
819
  }> & ((key: K) => MutableAtomToken<T>);
804
- type AtomFamily<T, K extends Canonical = Canonical> = MutableAtomFamily<T extends Transceiver<any, any> ? T : never, K> | RegularAtomFamily<T, K>;
820
+ type AtomFamily<T, K extends Canonical = Canonical> = MutableAtomFamily<T extends Transceiver<any, any, any> ? T : never, K> | RegularAtomFamily<T, K>;
805
821
  type WritablePureSelectorFamily<T, K extends Canonical> = Flat<WritablePureSelectorFamilyToken<T, K> & {
806
822
  default: (key: K) => T;
807
823
  install: (store: Store) => void;
@@ -835,5 +851,5 @@ type WritableFamily<T, K extends Canonical> = AtomFamily<T, K> | WritablePureSel
835
851
  type ReadableFamily<T, K extends Canonical> = AtomFamily<T, K> | SelectorFamily<T, K>;
836
852
  type AtomIOInternalResource = ReadableFamily<any, any> | ReadableState<any> | Timeline<any> | Transaction<any>;
837
853
  //#endregion
838
- export { AsJSON, Atom, AtomFamily, AtomIOInternalResource, AtomIOState, AtomKey, BaseExternalStoreConfiguration, ChildStore, CircularBuffer, ConstructorOf, Count, Each, Empty, EnvironmentData, ExternalStoreConfiguration, ExternalStoreWithContentConfiguration, FAMILY_MEMBER_TOKEN_TYPES, FamilyTracker, Flat, Func, Future, HeldSelector, HeldSelectorFamily, IMPLICIT, Join, JoinStateFamilies, Junction, JunctionAdvancedConfiguration, JunctionEntries, JunctionEntriesBase, JunctionJSON, JunctionSchema, JunctionSchemaBase, LazyMap, Lineage, Modify, Molecule, MutableAtom, MutableAtomFamily, NotFoundError, OperationProgress, PureSelector, PureSelectorFamily, ReadableFamily, ReadableState, ReadonlyHeldSelector, ReadonlyHeldSelectorFamily, ReadonlyPureSelector, ReadonlyPureSelectorFamily, ReadonlySelector, ReadonlySelectorFamily, ReadonlySelectorKey, Refinement, RegularAtom, RegularAtomFamily, ReservedIntrospectionKey, RootStore, Selector, SelectorFamily, SelectorKey, SignalFrom, StateKey, StatefulSubject, Store, StoreEventCarrier, Subject, TRANSACTION_PHASES, Timeline, TimelineAtomUpdate, TimelineMoleculeCreation, TimelineMoleculeDisposal, TimelineSelectorUpdate, TimelineStateCreation, TimelineStateDisposal, TimelineTransactionUpdate, Tracker, Transaction, TransactionEpoch, TransactionPhase, TransactionProgress, Transceiver, TransceiverConstructor, TransceiverMode, WritableFamily, WritableHeldSelector, WritableHeldSelectorFamily, WritablePureSelector, WritablePureSelectorFamily, WritableSelector, WritableSelectorFamily, WritableState, abortTransaction, actUponStore, allocateIntoStore, applyTransaction, arbitrary, assignTransactionToContinuity, become, buildTransaction, cacheValue, capitalize, claimWithinStore, clearStore, closeOperation, counterfeit, createJoin, createMutableAtom, createMutableAtomFamily, createReadonlyHeldSelector, createReadonlyPureSelector, createReadonlyPureSelectorFamily, createRegularAtom, createRegularAtomFamily, createSelectorFamily, createStandaloneSelector, createTimeline, createTransaction, createWritableHeldSelector, createWritablePureSelector, createWritablePureSelectorFamily, deallocateFromStore, deposit, disposeAtom, disposeFromStore, disposeSelector, editRelationsInStore, evictCachedValue, findInStore, findRelationsInStore, fuseWithinStore, getContinuityKey, getEnvironmentData, getEpochNumberOfAction, getEpochNumberOfContinuity, getFromStore, getInternalRelationsFromStore, getJoin, getJsonFamily, getJsonToken, getSelectorDependencyKeys, getTrace, getUpdateFamily, getUpdateToken, ingestAtomUpdate, ingestCreationEvent, ingestDisposalEvent, ingestMoleculeCreationEvent, ingestMoleculeDisposalEvent, ingestMoleculeTransferEvent, ingestSelectorUpdate, ingestTransactionUpdate, initFamilyMemberInStore, installIntoStore, isAtomKey, isChildStore, isDone, isReadonlySelectorKey, isReservedIntrospectionKey, isRootStore, isSelectorKey, isStateKey, isTransceiver, makeRootMoleculeInStore, markDone, newest, openOperation, prettyPrintTokenType, readCachedValue, readOrComputeValue, recallState, registerSelector, resetAtomOrSelector, resetInStore, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeInStore, subscribeToRootDependency, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceRootSelectorAtoms, updateSelectorAtoms, withdraw };
854
+ export { AsJSON, Atom, AtomFamily, AtomIOInternalResource, AtomIOState, AtomKey, BaseExternalStoreConfiguration, ChildStore, CircularBuffer, ConstructorOf, Count, Each, Empty, EnvironmentData, ExternalStoreConfiguration, ExternalStoreWithContentConfiguration, FAMILY_MEMBER_TOKEN_TYPES, FamilyTracker, Flat, Fn, Future, HeldSelector, HeldSelectorFamily, IMPLICIT, INTERNAL_ROLES, Join, JoinStateFamilies, Junction, JunctionAdvancedConfiguration, JunctionEntries, JunctionEntriesBase, JunctionJSON, JunctionSchema, JunctionSchemaBase, LazyMap, Lineage, Modify, Molecule, MutableAtom, MutableAtomFamily, NotFoundError, OperationProgress, PureSelector, PureSelectorFamily, ReadableFamily, ReadableState, ReadonlyHeldSelector, ReadonlyHeldSelectorFamily, ReadonlyPureSelector, ReadonlyPureSelectorFamily, ReadonlySelector, ReadonlySelectorFamily, ReadonlySelectorKey, Refinement, RegularAtom, RegularAtomFamily, ReservedIntrospectionKey, RootStore, Selector, SelectorFamily, SelectorKey, SignalFrom, StateKey, StatefulSubject, Store, StoreEventCarrier, Subject, TRANSACTION_PHASES, Timeline, TimelineAtomUpdate, TimelineMoleculeCreation, TimelineMoleculeDisposal, TimelineSelectorUpdate, TimelineStateCreation, TimelineStateDisposal, TimelineTransactionUpdate, Tracker, Transaction, TransactionEpoch, TransactionPhase, TransactionProgress, Transceiver, TransceiverConstructor, TransceiverMode, ViewOf, WritableFamily, WritableHeldSelector, WritableHeldSelectorFamily, WritablePureSelector, WritablePureSelectorFamily, WritableSelector, WritableSelectorFamily, WritableState, abortTransaction, actUponStore, allocateIntoStore, applyTransaction, arbitrary, assignTransactionToContinuity, become, buildTransaction, capitalize, claimWithinStore, clearStore, closeOperation, counterfeit, createJoin, createMutableAtom, createMutableAtomFamily, createReadonlyHeldSelector, createReadonlyPureSelector, createReadonlyPureSelectorFamily, createRegularAtom, createRegularAtomFamily, createSelectorFamily, createStandaloneSelector, createTimeline, createTransaction, createWritableHeldSelector, createWritablePureSelector, createWritablePureSelectorFamily, deallocateFromStore, deposit, disposeAtom, disposeFromStore, disposeSelector, editRelationsInStore, evictCachedValue, findInStore, findRelationsInStore, fuseWithinStore, getContinuityKey, getEnvironmentData, getEpochNumberOfAction, getEpochNumberOfContinuity, getFromStore, getInternalRelationsFromStore, getJoin, getJsonFamily, getJsonToken, getSelectorDependencyKeys, getTrace, getUpdateFamily, getUpdateToken, hasRole, ingestAtomUpdate, ingestCreationEvent, ingestDisposalEvent, ingestMoleculeCreationEvent, ingestMoleculeDisposalEvent, ingestMoleculeTransferEvent, ingestSelectorUpdate, ingestTransactionUpdate, initFamilyMemberInStore, installIntoStore, internalRole, isAtomKey, isChildStore, isDone, isReadonlySelectorKey, isReservedIntrospectionKey, isRootStore, isSelectorKey, isStateKey, isTransceiver, makeRootMoleculeInStore, markDone, newest, openOperation, prettyPrintTokenType, readFromCache, readOrComputeValue, recallState, registerSelector, resetAtomOrSelector, resetInStore, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeInStore, subscribeToRootDependency, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceRootSelectorAtoms, updateSelectorAtoms, withdraw, writeToCache };
839
855
  //# sourceMappingURL=index.d.ts.map