atom.io 0.14.8 → 0.15.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/README.md +5 -0
  2. package/data/dist/index.cjs +216 -218
  3. package/data/dist/index.cjs.map +1 -1
  4. package/data/dist/index.d.ts +30 -11
  5. package/data/dist/index.js +218 -221
  6. package/data/dist/index.js.map +1 -1
  7. package/data/src/join.ts +337 -296
  8. package/data/src/struct-family.ts +2 -2
  9. package/data/src/struct.ts +2 -2
  10. package/dist/chunk-S7R5MU6A.js +137 -0
  11. package/dist/chunk-S7R5MU6A.js.map +1 -0
  12. package/dist/index.cjs +3 -20
  13. package/dist/index.cjs.map +1 -1
  14. package/dist/index.d.ts +15 -8
  15. package/dist/index.js +1 -151
  16. package/dist/index.js.map +1 -1
  17. package/internal/dist/index.cjs +278 -201
  18. package/internal/dist/index.cjs.map +1 -1
  19. package/internal/dist/index.d.ts +43 -36
  20. package/internal/dist/index.js +224 -194
  21. package/internal/dist/index.js.map +1 -1
  22. package/internal/src/atom/create-atom.ts +5 -86
  23. package/internal/src/atom/create-regular-atom.ts +92 -0
  24. package/internal/src/atom/index.ts +16 -0
  25. package/internal/src/atom/is-default.ts +0 -5
  26. package/internal/src/caching.ts +14 -16
  27. package/internal/src/families/create-atom-family.ts +20 -46
  28. package/internal/src/families/create-readonly-selector-family.ts +4 -1
  29. package/internal/src/families/create-regular-atom-family.ts +72 -0
  30. package/internal/src/families/create-selector-family.ts +2 -0
  31. package/internal/src/families/index.ts +1 -0
  32. package/internal/src/mutable/create-mutable-atom-family.ts +2 -2
  33. package/internal/src/mutable/create-mutable-atom.ts +8 -3
  34. package/internal/src/mutable/get-update-family.ts +1 -1
  35. package/internal/src/mutable/is-mutable.ts +3 -30
  36. package/internal/src/mutable/tracker-family.ts +2 -2
  37. package/internal/src/mutable/tracker.ts +5 -5
  38. package/internal/src/operation.ts +14 -18
  39. package/internal/src/selector/create-read-write-selector.ts +2 -3
  40. package/internal/src/selector/create-selector.ts +1 -1
  41. package/internal/src/selector/register-selector.ts +9 -14
  42. package/internal/src/set-state/evict-downstream.ts +3 -5
  43. package/internal/src/set-state/set-atom.ts +14 -17
  44. package/internal/src/store/store.ts +23 -19
  45. package/internal/src/store/withdraw.ts +32 -70
  46. package/internal/src/subscribe/subscribe-to-root-atoms.ts +5 -3
  47. package/internal/src/subscribe/subscribe-to-state.ts +5 -3
  48. package/internal/src/transaction/apply-transaction.ts +20 -2
  49. package/internal/src/transaction/build-transaction.ts +19 -11
  50. package/internal/src/transaction/create-transaction.ts +6 -11
  51. package/internal/src/transaction/index.ts +2 -3
  52. package/introspection/dist/index.cjs +6 -6
  53. package/introspection/dist/index.cjs.map +1 -1
  54. package/introspection/dist/index.d.ts +3 -3
  55. package/introspection/dist/index.js +7 -7
  56. package/introspection/dist/index.js.map +1 -1
  57. package/introspection/src/attach-atom-index.ts +7 -2
  58. package/introspection/src/attach-selector-index.ts +7 -2
  59. package/introspection/src/attach-timeline-family.ts +5 -2
  60. package/introspection/src/attach-timeline-index.ts +2 -2
  61. package/introspection/src/attach-transaction-index.ts +2 -2
  62. package/introspection/src/attach-transaction-logs.ts +2 -2
  63. package/package.json +10 -8
  64. package/react-devtools/dist/index.d.ts +17 -11
  65. package/realtime-client/dist/index.cjs +3 -0
  66. package/realtime-client/dist/index.cjs.map +1 -1
  67. package/realtime-client/dist/index.d.ts +3 -3
  68. package/realtime-client/dist/index.js +3 -0
  69. package/realtime-client/dist/index.js.map +1 -1
  70. package/realtime-client/src/index.ts +6 -6
  71. package/realtime-client/src/{use-pull-family-member.ts → pull-family-member.ts} +1 -1
  72. package/realtime-client/src/{use-pull-mutable-family-member.ts → pull-mutable-family-member.ts} +1 -1
  73. package/realtime-client/src/{use-pull-mutable.ts → pull-mutable.ts} +1 -1
  74. package/realtime-client/src/{use-server-action.ts → server-action.ts} +3 -0
  75. package/realtime-react/dist/index.cjs +31 -17
  76. package/realtime-react/dist/index.cjs.map +1 -1
  77. package/realtime-react/dist/index.d.ts +3 -3
  78. package/realtime-react/dist/index.js +31 -17
  79. package/realtime-react/dist/index.js.map +1 -1
  80. package/realtime-react/src/realtime-context.tsx +2 -3
  81. package/realtime-react/src/use-pull-family-member.ts +6 -2
  82. package/realtime-react/src/use-pull-mutable-family-member.ts +5 -4
  83. package/realtime-react/src/use-pull-mutable.ts +6 -2
  84. package/realtime-react/src/use-pull.ts +5 -1
  85. package/realtime-react/src/use-push.ts +5 -4
  86. package/realtime-react/src/use-server-action.ts +5 -4
  87. package/src/atom.ts +8 -17
  88. package/src/selector.ts +3 -1
  89. package/src/set-state.ts +1 -3
  90. package/src/silo.ts +2 -14
  91. package/src/transaction.ts +17 -6
  92. package/transceivers/set-rtx/dist/index.cjs +2 -1
  93. package/transceivers/set-rtx/dist/index.cjs.map +1 -1
  94. package/transceivers/set-rtx/dist/index.js +2 -1
  95. package/transceivers/set-rtx/dist/index.js.map +1 -1
  96. package/transceivers/set-rtx/src/set-rtx.ts +2 -1
  97. package/internal/src/transaction/redo-transaction.ts +0 -27
  98. package/internal/src/transaction/undo-transaction.ts +0 -27
  99. /package/realtime-client/src/{use-pull.ts → pull.ts} +0 -0
  100. /package/realtime-client/src/{use-push.ts → push.ts} +0 -0
@@ -1,7 +1,12 @@
1
- import { FamilyMetadata, SelectorOptions, SelectorToken, ReadonlySelectorOptions, ReadonlySelectorToken, Transactors, StateToken, ƒn, TransactionUpdate, TransactionOptions, TransactionToken, AtomToken, MutableAtomOptions, MutableAtomToken, MutableAtomFamilyOptions, MutableAtomFamily, SelectorFamily, AtomFamily, StateUpdate, TimelineUpdate, TimelineOptions, TimelineToken, ReadonlySelectorFamily, AtomIOLogger, Logger, AtomOptions, AtomFamilyOptions, ReadonlySelectorFamilyOptions, SelectorFamilyOptions, UpdateHandler, TransactionUpdateHandler } from 'atom.io';
1
+ import { FamilyMetadata as FamilyMetadata$1, SelectorOptions, SelectorToken, ReadonlySelectorOptions, ReadonlySelectorToken, Transactors, StateToken, ƒn as _n, TransactionUpdate, TransactionOptions, TransactionToken, TransactorsWithRun, AtomToken, MutableAtomOptions, MutableAtomToken, MutableAtomFamilyOptions, MutableAtomFamily, SelectorFamily, AtomFamily, StateUpdate, TimelineUpdate, TimelineOptions, TimelineToken, ReadonlySelectorFamily, AtomIOLogger, Logger, AtomOptions, AtomFamilyOptions, ReadonlySelectorFamilyOptions, SelectorFamilyOptions, UpdateHandler, TransactionUpdateHandler } from 'atom.io';
2
2
  import { Json } from 'atom.io/json';
3
3
  import { Store as Store$1 } from 'atom.io/internal';
4
4
 
5
+ type FamilyMetadata = {
6
+ key: string;
7
+ subKey: string;
8
+ };
9
+
5
10
  declare class Subject<T> {
6
11
  Subscriber: (value: T) => void;
7
12
  subscribers: Map<string, this[`Subscriber`]>;
@@ -18,7 +23,7 @@ declare class StatefulSubject<T> extends Subject<T> {
18
23
  type Selector<T> = {
19
24
  key: string;
20
25
  type: `selector`;
21
- family?: FamilyMetadata;
26
+ family?: FamilyMetadata$1;
22
27
  install: (store: Store) => void;
23
28
  subject: Subject<{
24
29
  newValue: T;
@@ -30,7 +35,7 @@ type Selector<T> = {
30
35
  type ReadonlySelector<T> = {
31
36
  key: string;
32
37
  type: `readonly_selector`;
33
- family?: FamilyMetadata;
38
+ family?: FamilyMetadata$1;
34
39
  install: (store: Store) => void;
35
40
  subject: Subject<{
36
41
  newValue: T;
@@ -38,8 +43,8 @@ type ReadonlySelector<T> = {
38
43
  }>;
39
44
  get: () => T;
40
45
  };
41
- declare function createSelector<T>(options: SelectorOptions<T>, family: FamilyMetadata | undefined, store: Store): SelectorToken<T>;
42
- declare function createSelector<T>(options: ReadonlySelectorOptions<T>, family: FamilyMetadata | undefined, store: Store): ReadonlySelectorToken<T>;
46
+ declare function createSelector<T>(options: SelectorOptions<T>, family: FamilyMetadata$1 | undefined, store: Store): SelectorToken<T>;
47
+ declare function createSelector<T>(options: ReadonlySelectorOptions<T>, family: FamilyMetadata$1 | undefined, store: Store): ReadonlySelectorToken<T>;
43
48
 
44
49
  declare function deleteSelector(selectorToken: ReadonlySelectorToken<unknown> | SelectorToken<unknown>, store: Store): void;
45
50
 
@@ -72,36 +77,33 @@ declare const updateSelectorAtoms: (selectorKey: string, dependency: ReadonlySel
72
77
 
73
78
  declare const abortTransaction: (store: Store) => void;
74
79
 
75
- declare const applyTransaction: <ƒ extends ƒn>(output: ReturnType<ƒ>, store: Store) => void;
80
+ declare const applyTransaction: <ƒ extends _n>(output: ReturnType<ƒ>, store: Store) => void;
76
81
 
77
82
  declare const buildTransaction: (key: string, params: any[], store: Store) => void;
78
83
 
79
- type Transaction<ƒ extends ƒn> = {
84
+ type Transaction<ƒ extends _n> = {
80
85
  key: string;
81
86
  type: `transaction`;
82
87
  install: (store: Store) => void;
83
88
  subject: Subject<TransactionUpdate<ƒ>>;
84
89
  run: (...parameters: Parameters<ƒ>) => ReturnType<ƒ>;
85
90
  };
86
- declare function createTransaction<ƒ extends ƒn>(options: TransactionOptions<ƒ>, store: Store): TransactionToken<ƒ>;
87
-
88
- declare const redoTransactionUpdate: <ƒ extends ƒn>(transactionUpdate: TransactionUpdate<ƒ>, store: Store) => void;
89
-
90
- declare const undoTransactionUpdate: <ƒ extends ƒn>(transactionUpdate: TransactionUpdate<ƒ>, store: Store) => void;
91
+ declare function createTransaction<ƒ extends _n>(options: TransactionOptions<ƒ>, store: Store): TransactionToken<ƒ>;
91
92
 
92
93
  declare const TRANSACTION_PHASES: readonly ["idle", "building", "applying"];
93
94
  type TransactionPhase = (typeof TRANSACTION_PHASES)[number];
94
- type TransactionMeta<ƒ extends ƒn> = {
95
+ type TransactionMeta<ƒ extends _n> = {
95
96
  phase: `applying` | `building`;
96
97
  time: number;
97
98
  update: TransactionUpdate<ƒ>;
99
+ transactors: TransactorsWithRun;
98
100
  };
99
101
 
100
102
  declare function deposit<T>(state: Atom<T>): AtomToken<T>;
101
103
  declare function deposit<T>(state: Selector<T>): SelectorToken<T>;
102
104
  declare function deposit<T>(state: Atom<T> | Selector<T>): StateToken<T>;
103
105
  declare function deposit<T>(state: ReadonlySelector<T>): ReadonlySelectorToken<T>;
104
- declare function deposit<T>(state: Transaction<T extends ƒn ? T : never>): TransactionToken<T>;
106
+ declare function deposit<T>(state: Transaction<T extends _n ? T : never>): TransactionToken<T>;
105
107
  declare function deposit<T>(state: Atom<T> | ReadonlySelector<T> | Selector<T>): ReadonlySelectorToken<T> | StateToken<T>;
106
108
 
107
109
  type primitive = boolean | number | string | null;
@@ -196,7 +198,7 @@ declare function isTransceiver(value: unknown): value is Transceiver<Json.Serial
196
198
  type TransceiverMode = `playback` | `record` | `transaction`;
197
199
  type Signal<TVR extends Transceiver<any>> = TVR extends Transceiver<infer Signal> ? Signal : never;
198
200
 
199
- declare function createMutableAtom<Core extends Transceiver<any>, SerializableCore extends Json.Serializable>(options: MutableAtomOptions<Core, SerializableCore>, store: Store): MutableAtomToken<Core, SerializableCore>;
201
+ declare function createMutableAtom<Core extends Transceiver<any>, SerializableCore extends Json.Serializable>(options: MutableAtomOptions<Core, SerializableCore>, family: FamilyMetadata$1 | undefined, store: Store): MutableAtomToken<Core, SerializableCore>;
200
202
 
201
203
  declare function createMutableAtomFamily<Core extends Transceiver<any>, SerializableCore extends Json.Serializable, Key extends string>(options: MutableAtomFamilyOptions<Core, SerializableCore, Key>, store: Store): MutableAtomFamily<Core, SerializableCore, Key>;
202
204
 
@@ -253,7 +255,7 @@ type TimelineAtomUpdate = StateUpdate<unknown> & {
253
255
  key: string;
254
256
  type: `atom_update`;
255
257
  timestamp: number;
256
- family?: FamilyMetadata;
258
+ family?: FamilyMetadata$1;
257
259
  };
258
260
  type TimelineSelectorUpdate = {
259
261
  key: string;
@@ -261,7 +263,7 @@ type TimelineSelectorUpdate = {
261
263
  timestamp: number;
262
264
  atomUpdates: Omit<TimelineAtomUpdate, `timestamp`>[];
263
265
  };
264
- type TimelineTransactionUpdate = TransactionUpdate<ƒn> & {
266
+ type TimelineTransactionUpdate = TransactionUpdate<_n> & {
265
267
  key: string;
266
268
  type: `transaction_update`;
267
269
  timestamp: number;
@@ -294,7 +296,7 @@ declare class Store implements Lineage {
294
296
  trackers: Map<string, Tracker<Transceiver<any>>>;
295
297
  families: Map<string, AtomFamily<any, any> | ReadonlySelectorFamily<any, any> | SelectorFamily<any, any>>;
296
298
  timelines: Map<string, Timeline>;
297
- transactions: Map<string, Transaction<ƒn>>;
299
+ transactions: Map<string, Transaction<_n>>;
298
300
  atomsThatAreDefault: Set<string>;
299
301
  timelineAtoms: Junction<"timelineKey", "atomKey", null>;
300
302
  selectorAtoms: Junction<"selectorKey", "atomKey", null>;
@@ -304,13 +306,13 @@ declare class Store implements Lineage {
304
306
  subject: {
305
307
  atomCreation: Subject<AtomToken<unknown>>;
306
308
  selectorCreation: Subject<ReadonlySelectorToken<unknown> | SelectorToken<unknown>>;
307
- transactionCreation: Subject<TransactionToken<ƒn>>;
309
+ transactionCreation: Subject<TransactionToken<_n>>;
308
310
  timelineCreation: Subject<TimelineToken>;
309
- transactionApplying: StatefulSubject<TransactionMeta<ƒn> | null>;
311
+ transactionApplying: StatefulSubject<TransactionMeta<_n> | null>;
310
312
  operationStatus: Subject<OperationProgress>;
311
313
  };
312
314
  operation: OperationProgress;
313
- transactionMeta: TransactionMeta<ƒn> | null;
315
+ transactionMeta: TransactionMeta<_n> | null;
314
316
  config: {
315
317
  name: string;
316
318
  };
@@ -328,7 +330,7 @@ declare function withdraw<T>(token: AtomToken<T>, store: Store): Atom<T> | undef
328
330
  declare function withdraw<T>(token: SelectorToken<T>, store: Store): Selector<T> | undefined;
329
331
  declare function withdraw<T>(token: StateToken<T>, store: Store): Atom<T> | Selector<T> | undefined;
330
332
  declare function withdraw<T>(token: ReadonlySelectorToken<T>, store: Store): ReadonlySelector<T> | undefined;
331
- declare function withdraw<T>(token: TransactionToken<T>, store: Store): Transaction<T extends ƒn ? T : never> | undefined;
333
+ declare function withdraw<T>(token: TransactionToken<T>, store: Store): Transaction<T extends _n ? T : never> | undefined;
332
334
  declare function withdraw<T>(token: ReadonlySelectorToken<T> | StateToken<T>, store: Store): Atom<T> | ReadonlySelector<T> | Selector<T> | undefined;
333
335
  declare function withdraw<T>(token: TimelineToken, store: Store): Timeline | undefined;
334
336
 
@@ -338,6 +340,16 @@ declare function withdrawNewFamilyMember<T>(token: ReadonlySelectorToken<T>, sto
338
340
  declare function withdrawNewFamilyMember<T>(token: StateToken<T>, store: Store): Atom<T> | Selector<T> | undefined;
339
341
  declare function withdrawNewFamilyMember<T>(token: ReadonlySelectorToken<T> | StateToken<T>, store: Store): Atom<T> | ReadonlySelector<T> | Selector<T> | undefined;
340
342
 
343
+ declare function createAtom<T>(options: AtomOptions<T> | MutableAtomOptions<any, any>, family: FamilyMetadata$1 | undefined, store: Store): AtomToken<T>;
344
+
345
+ declare function createRegularAtom<T>(options: AtomOptions<T> | MutableAtomOptions<any, any>, family: FamilyMetadata$1 | undefined, store: Store): AtomToken<T>;
346
+
347
+ declare function deleteAtom(atomToken: AtomToken<unknown>, store: Store): void;
348
+
349
+ declare const isAtomDefault: (key: string, store: Store) => boolean;
350
+ declare const markAtomAsDefault: (key: string, store: Store) => void;
351
+ declare const markAtomAsNotDefault: (key: string, store: Store) => void;
352
+
341
353
  type Atom<T> = {
342
354
  key: string;
343
355
  type: `atom`;
@@ -351,14 +363,6 @@ type Atom<T> = {
351
363
  default: T | (() => T);
352
364
  cleanup?: () => void;
353
365
  };
354
- declare function createAtom<T>(options: AtomOptions<T> | MutableAtomOptions<any, any>, family: FamilyMetadata | undefined, store: Store): AtomToken<T>;
355
-
356
- declare function deleteAtom(atomToken: AtomToken<unknown>, store: Store): void;
357
-
358
- declare const isAtomDefault: (key: string, store: Store) => boolean;
359
- declare const markAtomAsDefault: (key: string, store: Store) => void;
360
- declare const markAtomAsNotDefault: (key: string, store: Store) => void;
361
- declare const isSelectorDefault: (key: string, store: Store) => boolean;
362
366
 
363
367
  /**
364
368
  * A Promise that can be canceled.
@@ -377,12 +381,15 @@ declare class Future<T> extends Promise<T> {
377
381
 
378
382
  declare function cacheValue<T>(key: string, value: T, subject: Subject<StateUpdate<unknown>>, store: Store): T;
379
383
  declare function cacheValue<T extends Promise<any>>(key: string, value: T, subject: Subject<StateUpdate<unknown>>, store: Store): Future<T>;
380
- declare const readCachedValue: <T>(key: string, store: Store) => T;
381
- declare const isValueCached: (key: string, store: Store) => boolean;
382
- declare const evictCachedValue: (key: string, store: Store) => void;
384
+ declare const readCachedValue: <T>(key: string, target: Store) => T;
385
+ declare const isValueCached: (key: string, target: Store) => boolean;
386
+ declare const evictCachedValue: (key: string, target: Store) => void;
383
387
 
388
+ declare function createAtomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends Json.Serializable>(options: MutableAtomFamilyOptions<T, J, K>, store: Store): MutableAtomFamily<T, J, K>;
384
389
  declare function createAtomFamily<T, K extends Json.Serializable>(options: AtomFamilyOptions<T, K>, store: Store): AtomFamily<T, K>;
385
390
 
391
+ declare function createRegularAtomFamily<T, K extends Json.Serializable>(options: AtomFamilyOptions<T, K> | MutableAtomFamilyOptions<any, any, K>, store: Store): AtomFamily<T, K>;
392
+
386
393
  declare function createReadonlySelectorFamily<T, K extends Json.Serializable>(options: ReadonlySelectorFamilyOptions<T, K>, store: Store): ReadonlySelectorFamily<T, K>;
387
394
 
388
395
  declare function createSelectorFamily<T, K extends Json.Serializable>(options: SelectorFamilyOptions<T, K>, store: Store): SelectorFamily<T, K>;
@@ -412,10 +419,10 @@ declare const setAtomOrSelector: <T>(state: Atom<T> | Selector<T>, value: T | ((
412
419
 
413
420
  declare const subscribeToRootAtoms: <T>(state: ReadonlySelector<T> | Selector<T>, store: Store) => (() => void)[] | null;
414
421
 
415
- declare function subscribeToState<T>(token: ReadonlySelectorToken<T> | StateToken<T>, handleUpdate: UpdateHandler<T>, key: string, store: Store$1): () => void;
422
+ declare function subscribeToState<T>(token: ReadonlySelectorToken<T> | StateToken<T>, handleUpdate: UpdateHandler<T>, key: string, store: Store): () => void;
416
423
 
417
424
  declare const subscribeToTimeline: (token: TimelineToken, handleUpdate: (update: TimelineUpdate | `redo` | `undo`) => void, key: string, store: Store$1) => (() => void);
418
425
 
419
- declare const subscribeToTransaction: <ƒ extends ƒn>(token: TransactionToken<ƒ>, handleUpdate: TransactionUpdateHandler<ƒ>, key: string, store: Store$1) => (() => void);
426
+ declare const subscribeToTransaction: <ƒ extends _n>(token: TransactionToken<ƒ>, handleUpdate: TransactionUpdateHandler<ƒ>, key: string, store: Store$1) => (() => void);
420
427
 
421
- export { type Atom, type AtomKey, FamilyTracker, Future, IMPLICIT, LazyMap, type Lineage, type Modify, type MutableAtom, NotFoundError, type OperationProgress, type ReadonlySelector, type ReadonlySelectorKey, type Selector, type SelectorKey, type Signal, type StateKey, StatefulSubject, Store, Subject, TRANSACTION_PHASES, type Timeline, type TimelineAtomUpdate, type TimelineSelectorUpdate, type TimelineTransactionUpdate, Tracker, type Transaction, type TransactionMeta, type TransactionPhase, type Transceiver, type TransceiverMode, abortTransaction, addAtomToTimeline, applyTransaction, become, buildTransaction, cacheValue, clearStore, closeOperation, createAtom, createAtomFamily, createMutableAtom, createMutableAtomFamily, createReadonlySelectorFamily, createSelector, createSelectorFamily, createTimeline, createTransaction, deleteAtom, deleteSelector, deposit, eldest, evictCachedValue, getJsonFamily, getJsonToken, getSelectorDependencyKeys, getUpdateFamily, getUpdateToken, isAtomDefault, isAtomKey, isDone, isReadonlySelectorKey, isSelectorDefault, isSelectorKey, isStateKey, isTransceiver, isValueCached, markAtomAsDefault, markAtomAsNotDefault, markDone, newest, openOperation, readCachedValue, readOrComputeValue, redoTransactionUpdate, registerSelector, setAtomOrSelector, subscribeToRootAtoms, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceAllSelectorAtoms, traceSelectorAtoms, undoTransactionUpdate, updateSelectorAtoms, withdraw, withdrawNewFamilyMember };
428
+ export { type Atom, type AtomKey, FamilyTracker, Future, IMPLICIT, LazyMap, type Lineage, type Modify, type MutableAtom, NotFoundError, type OperationProgress, type ReadonlySelector, type ReadonlySelectorKey, type Selector, type SelectorKey, type Signal, type StateKey, StatefulSubject, Store, Subject, TRANSACTION_PHASES, type Timeline, type TimelineAtomUpdate, type TimelineSelectorUpdate, type TimelineTransactionUpdate, Tracker, type Transaction, type TransactionMeta, type TransactionPhase, type Transceiver, type TransceiverMode, abortTransaction, addAtomToTimeline, applyTransaction, become, buildTransaction, cacheValue, clearStore, closeOperation, createAtom, createAtomFamily, createMutableAtom, createMutableAtomFamily, createReadonlySelectorFamily, createRegularAtom, createRegularAtomFamily, createSelector, createSelectorFamily, createTimeline, createTransaction, deleteAtom, deleteSelector, deposit, eldest, evictCachedValue, getJsonFamily, getJsonToken, getSelectorDependencyKeys, getUpdateFamily, getUpdateToken, isAtomDefault, isAtomKey, isDone, isReadonlySelectorKey, isSelectorKey, isStateKey, isTransceiver, isValueCached, markAtomAsDefault, markAtomAsNotDefault, markDone, newest, openOperation, readCachedValue, readOrComputeValue, registerSelector, setAtomOrSelector, subscribeToRootAtoms, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceAllSelectorAtoms, traceSelectorAtoms, updateSelectorAtoms, withdraw, withdrawNewFamilyMember };