atom.io 0.6.6 → 0.6.8

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 (76) hide show
  1. package/dist/index.d.mts +34 -25
  2. package/dist/index.d.ts +34 -25
  3. package/dist/index.js +94 -115
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +94 -105
  6. package/dist/index.mjs.map +1 -1
  7. package/introspection/dist/index.d.mts +272 -0
  8. package/introspection/dist/index.d.ts +272 -0
  9. package/introspection/dist/index.js +41 -3
  10. package/introspection/dist/index.js.map +1 -1
  11. package/introspection/dist/index.mjs +41 -3
  12. package/introspection/dist/index.mjs.map +1 -1
  13. package/json/dist/index.d.mts +5 -7
  14. package/json/dist/index.d.ts +5 -7
  15. package/json/dist/index.js.map +1 -1
  16. package/json/dist/index.mjs.map +1 -1
  17. package/package.json +22 -14
  18. package/react-devtools/dist/index.css +9 -1
  19. package/react-devtools/dist/index.css.map +1 -1
  20. package/react-devtools/dist/index.d.mts +22 -25
  21. package/react-devtools/dist/index.d.ts +22 -25
  22. package/react-devtools/dist/index.js +845 -326
  23. package/react-devtools/dist/index.js.map +1 -1
  24. package/react-devtools/dist/index.mjs +830 -306
  25. package/react-devtools/dist/index.mjs.map +1 -1
  26. package/realtime/dist/index.d.mts +6 -8
  27. package/realtime/dist/index.d.ts +6 -8
  28. package/realtime/dist/index.js +0 -1
  29. package/realtime/dist/index.js.map +1 -1
  30. package/realtime/dist/index.mjs +0 -1
  31. package/realtime/dist/index.mjs.map +1 -1
  32. package/realtime-react/dist/index.d.mts +11 -13
  33. package/realtime-react/dist/index.d.ts +11 -13
  34. package/realtime-react/dist/index.js.map +1 -1
  35. package/realtime-react/dist/index.mjs.map +1 -1
  36. package/src/atom.ts +4 -4
  37. package/src/index.ts +1 -1
  38. package/src/internal/atom-internal.ts +5 -6
  39. package/src/internal/families-internal.ts +23 -20
  40. package/src/internal/get.ts +7 -9
  41. package/src/internal/index.ts +1 -1
  42. package/src/internal/operation.ts +14 -21
  43. package/src/internal/selector/create-read-write-selector.ts +11 -5
  44. package/src/internal/selector/create-readonly-selector.ts +4 -8
  45. package/src/internal/selector-internal.ts +1 -3
  46. package/src/internal/set.ts +1 -4
  47. package/src/internal/store.ts +19 -22
  48. package/src/internal/subscribe-internal.ts +7 -1
  49. package/src/internal/time-travel-internal.ts +4 -4
  50. package/src/internal/timeline/add-atom-to-timeline.ts +2 -2
  51. package/src/internal/timeline-internal.ts +3 -5
  52. package/src/internal/transaction/apply-transaction.ts +9 -6
  53. package/src/internal/transaction/build-transaction.ts +6 -6
  54. package/src/internal/transaction-internal.ts +1 -7
  55. package/src/introspection/attach-timeline-family.ts +14 -4
  56. package/src/introspection/attach-transaction-logs.ts +1 -1
  57. package/src/json/select-json.ts +1 -1
  58. package/src/react-devtools/AtomIODevtools.tsx +1 -2
  59. package/src/react-devtools/StateEditor.tsx +5 -1
  60. package/src/react-devtools/StateIndex.tsx +4 -1
  61. package/src/react-devtools/devtools.scss +0 -1
  62. package/src/react-explorer/AtomIOExplorer.tsx +3 -3
  63. package/src/realtime/hook-composition/expose-family.ts +2 -2
  64. package/src/realtime/hook-composition/expose-single.ts +1 -1
  65. package/src/realtime/hook-composition/receive-state.ts +1 -1
  66. package/src/realtime-react/realtime-hooks.ts +4 -4
  67. package/src/realtime-react/use-pull-family-member.ts +2 -2
  68. package/src/realtime-react/use-pull-family.ts +2 -2
  69. package/src/realtime-react/use-pull.ts +3 -1
  70. package/src/realtime-react/use-push.ts +3 -1
  71. package/src/selector.ts +14 -12
  72. package/src/subscribe.ts +1 -1
  73. package/src/tracker/index.ts +3 -0
  74. package/src/tracker/tracker.ts +61 -0
  75. package/src/web-effects/storage.ts +1 -1
  76. package/src/internal/subject.ts +0 -24
package/dist/index.d.mts CHANGED
@@ -1,20 +1,29 @@
1
- import { Hamt } from 'hamt_plus';
2
1
  import { Refinement } from 'fp-ts/Refinement';
3
2
 
4
3
  type ƒn = (...parameters: any[]) => any;
5
4
 
6
- type JsonInterface<T, J extends Json = Json> = {
5
+ type JsonInterface<T, J extends Serializable = Serializable> = {
7
6
  toJson: (t: T) => J;
8
7
  fromJson: (json: J) => T;
9
8
  };
10
9
 
11
- type Primitive = boolean | number | string | null;
12
- type Serializable = Primitive | Readonly<{
10
+ type primitive = boolean | number | string | null;
11
+
12
+ type Serializable = primitive | Readonly<{
13
13
  [key: string]: Serializable;
14
14
  }> | ReadonlyArray<Serializable>;
15
- type JsonObj<Key extends string = string, Value extends Serializable = Serializable> = Record<Key, Value>;
16
- type JsonArr<Element extends Serializable = Serializable> = ReadonlyArray<Element>;
17
- type Json = JsonArr | JsonObj | Primitive;
15
+ type Object$1<Key extends string = string, Value extends Serializable = Serializable> = Record<Key, Value>;
16
+ type Array<Element extends Serializable = Serializable> = ReadonlyArray<Element>;
17
+
18
+ type json_Array<Element extends Serializable = Serializable> = Array<Element>;
19
+ type json_Serializable = Serializable;
20
+ declare namespace json {
21
+ export {
22
+ json_Array as Array,
23
+ Object$1 as Object,
24
+ json_Serializable as Serializable,
25
+ };
26
+ }
18
27
 
19
28
  type Identified = {
20
29
  id: string;
@@ -22,23 +31,23 @@ type Identified = {
22
31
 
23
32
  declare const RELATION_TYPES: readonly ["1:1", "1:n", "n:n"];
24
33
  type RelationType = typeof RELATION_TYPES[number];
25
- type RelationData<CONTENT extends JsonObj | null = null, A extends string = `from`, B extends string = `to`> = {
26
- contents: JsonObj<string, CONTENT>;
27
- relations: JsonObj<string, string[]>;
34
+ type RelationData<CONTENT extends Object$1 | null = null, A extends string = `from`, B extends string = `to`> = {
35
+ contents: Object$1<string, CONTENT>;
36
+ relations: Object$1<string, string[]>;
28
37
  relationType: RelationType;
29
38
  a: A;
30
39
  b: B;
31
40
  };
32
- type IsRelationDataOptions<CONTENT extends JsonObj | null = null, A extends string = `from`, B extends string = `to`> = {
41
+ type IsRelationDataOptions<CONTENT extends Object$1 | null = null, A extends string = `from`, B extends string = `to`> = {
33
42
  from?: A;
34
43
  to?: B;
35
- isContent?: (json: Json) => json is CONTENT;
44
+ isContent?: (json: Serializable) => json is CONTENT;
36
45
  };
37
46
 
38
47
  type NullSafeUnion<Base, Extension> = Extension extends null ? Base : Base & Extension;
39
- type NullSafeRest<MaybeArg> = MaybeArg extends null ? [] | [undefined] : [MaybeArg];
48
+ type NullSafeRest<MaybeArg, IfArg = MaybeArg> = MaybeArg extends null ? [] | [undefined] : [IfArg];
40
49
 
41
- declare class Join<CONTENT extends JsonObj | null = null, A extends string = `from`, B extends string = `to`> implements RelationData<CONTENT, A, B> {
50
+ declare class Join<CONTENT extends Object$1 | null = null, A extends string = `from`, B extends string = `to`> implements RelationData<CONTENT, A, B> {
42
51
  readonly relationType: `1:1` | `1:n` | `n:n`;
43
52
  readonly a: A;
44
53
  readonly b: B;
@@ -46,7 +55,7 @@ declare class Join<CONTENT extends JsonObj | null = null, A extends string = `fr
46
55
  readonly contents: Record<string, CONTENT>;
47
56
  constructor(json?: Partial<RelationData<CONTENT, A, B>>);
48
57
  toJSON(): RelationData<CONTENT, A, B>;
49
- static fromJSON<CONTENT extends JsonObj | null, A extends string, B extends string>(json: Json, options?: IsRelationDataOptions<CONTENT, A, B>): Join<CONTENT, A, B>;
58
+ static fromJSON<CONTENT extends Object$1 | null, A extends string, B extends string>(json: Serializable, options?: IsRelationDataOptions<CONTENT, A, B>): Join<CONTENT, A, B>;
50
59
  from<AA extends string>(newA: AA): Join<CONTENT, AA, B>;
51
60
  to<BB extends string>(newB: BB): Join<CONTENT, A, BB>;
52
61
  makeJsonInterface: (...params: CONTENT extends null ? [
@@ -71,18 +80,18 @@ declare class Join<CONTENT extends JsonObj | null = null, A extends string = `fr
71
80
 
72
81
  type StoreCore = Pick<Store, `atoms` | `atomsThatAreDefault` | `operation` | `readonlySelectors` | `selectorAtoms` | `selectorGraph` | `selectors` | `timelineAtoms` | `timelines` | `transactions` | `valueMap`>;
73
82
  interface Store {
74
- atoms: Hamt<Atom<any>, string>;
83
+ atoms: Map<string, Atom<any>>;
75
84
  atomsThatAreDefault: Set<string>;
76
- readonlySelectors: Hamt<ReadonlySelector<any>, string>;
85
+ readonlySelectors: Map<string, ReadonlySelector<any>>;
77
86
  selectorAtoms: Join<null, `selectorKey`, `atomKey`>;
78
87
  selectorGraph: Join<{
79
88
  source: string;
80
89
  }>;
81
- selectors: Hamt<Selector<any>, string>;
90
+ selectors: Map<string, Selector<any>>;
82
91
  timelineAtoms: Join<null, `timelineKey`, `atomKey`>;
83
- timelines: Hamt<Timeline, string>;
84
- transactions: Hamt<Transaction<any>, string>;
85
- valueMap: Hamt<any, string>;
92
+ timelines: Map<string, Timeline>;
93
+ transactions: Map<string, Transaction<any>>;
94
+ valueMap: Map<string, any>;
86
95
  subject: {
87
96
  atomCreation: Subject<AtomToken<unknown>>;
88
97
  selectorCreation: Subject<ReadonlySelectorToken<unknown> | SelectorToken<unknown>>;
@@ -175,7 +184,7 @@ type OperationProgress = {
175
184
  } | {
176
185
  open: true;
177
186
  done: Set<string>;
178
- prev: Hamt<any, string>;
187
+ prev: Map<string, any>;
179
188
  time: number;
180
189
  token: StateToken<any>;
181
190
  };
@@ -298,7 +307,7 @@ type TimelineTransactionUpdate = TransactionUpdate<ƒn> & {
298
307
  type Timeline = {
299
308
  key: string;
300
309
  at: number;
301
- timeTraveling: boolean;
310
+ timeTraveling: `into_future` | `into_past` | null;
302
311
  history: TimelineUpdate[];
303
312
  selectorTime: number | null;
304
313
  transactionKey: string | null;
@@ -550,7 +559,7 @@ type UpdateHandler<T> = (update: StateUpdate<T>) => void;
550
559
  declare const subscribe: <T>(token: ReadonlySelectorToken<T> | StateToken<T>, handleUpdate: UpdateHandler<T>, store?: Store) => (() => void);
551
560
  type TransactionUpdateHandler<ƒ extends ƒn> = (data: TransactionUpdate<ƒ>) => void;
552
561
  declare const subscribeToTransaction: <ƒ extends ƒn>(token: TransactionToken<ƒ>, handleUpdate: TransactionUpdateHandler<ƒ>, store?: Store) => (() => void);
553
- declare const subscribeToTimeline: (token: TimelineToken, handleUpdate: (update: TimelineUpdate) => void, store?: Store) => (() => void);
562
+ declare const subscribeToTimeline: (token: TimelineToken, handleUpdate: (update: TimelineUpdate | `redo` | `undo`) => void, store?: Store) => (() => void);
554
563
 
555
564
  type TimelineToken = {
556
565
  key: string;
@@ -592,4 +601,4 @@ declare const getState: <T>(token: ReadonlySelectorToken<T> | StateToken<T>, sto
592
601
  declare const setState: <T, New extends T>(token: StateToken<T>, value: New | ((oldValue: T) => New), store?: Store) => void;
593
602
  declare const isDefault: (token: ReadonlySelectorToken<unknown> | StateToken<unknown>, store?: Store) => boolean;
594
603
 
595
- export { AtomEffect, AtomFamily, AtomFamilyOptions, AtomOptions, AtomToken, Effectors, FamilyMetadata, KeyedStateUpdate, LOG_LEVELS, Logger, Read, ReadonlySelectorFamily, ReadonlySelectorFamilyOptions, ReadonlySelectorOptions, ReadonlySelectorToken, ReadonlyTransactors, SelectorFamily, SelectorFamilyOptions, SelectorOptions, SelectorToken, Serializable, Silo, StateToken, StateUpdate, Store, TimelineOptions, TimelineToken, TimelineUpdate, TransactionIO, TransactionOptions, TransactionToken, TransactionUpdate, TransactionUpdateHandler, Transactors, UpdateHandler, Write, index as __INTERNAL__, atom, atomFamily, getState, isDefault, redo, runTransaction, selector, selectorFamily, setLogLevel, setState, silo, subscribe, subscribeToTimeline, subscribeToTransaction, timeline, transaction, undo, useLogger };
604
+ export { AtomEffect, AtomFamily, AtomFamilyOptions, AtomOptions, AtomToken, Effectors, FamilyMetadata, json as Json, KeyedStateUpdate, LOG_LEVELS, Logger, Read, ReadonlySelectorFamily, ReadonlySelectorFamilyOptions, ReadonlySelectorOptions, ReadonlySelectorToken, ReadonlyTransactors, SelectorFamily, SelectorFamilyOptions, SelectorOptions, SelectorToken, Silo, StateToken, StateUpdate, Store, TimelineOptions, TimelineToken, TimelineUpdate, TransactionIO, TransactionOptions, TransactionToken, TransactionUpdate, TransactionUpdateHandler, Transactors, UpdateHandler, Write, index as __INTERNAL__, atom, atomFamily, getState, isDefault, redo, runTransaction, selector, selectorFamily, setLogLevel, setState, silo, subscribe, subscribeToTimeline, subscribeToTransaction, timeline, transaction, undo, useLogger };
package/dist/index.d.ts CHANGED
@@ -1,20 +1,29 @@
1
- import { Hamt } from 'hamt_plus';
2
1
  import { Refinement } from 'fp-ts/Refinement';
3
2
 
4
3
  type ƒn = (...parameters: any[]) => any;
5
4
 
6
- type JsonInterface<T, J extends Json = Json> = {
5
+ type JsonInterface<T, J extends Serializable = Serializable> = {
7
6
  toJson: (t: T) => J;
8
7
  fromJson: (json: J) => T;
9
8
  };
10
9
 
11
- type Primitive = boolean | number | string | null;
12
- type Serializable = Primitive | Readonly<{
10
+ type primitive = boolean | number | string | null;
11
+
12
+ type Serializable = primitive | Readonly<{
13
13
  [key: string]: Serializable;
14
14
  }> | ReadonlyArray<Serializable>;
15
- type JsonObj<Key extends string = string, Value extends Serializable = Serializable> = Record<Key, Value>;
16
- type JsonArr<Element extends Serializable = Serializable> = ReadonlyArray<Element>;
17
- type Json = JsonArr | JsonObj | Primitive;
15
+ type Object$1<Key extends string = string, Value extends Serializable = Serializable> = Record<Key, Value>;
16
+ type Array<Element extends Serializable = Serializable> = ReadonlyArray<Element>;
17
+
18
+ type json_Array<Element extends Serializable = Serializable> = Array<Element>;
19
+ type json_Serializable = Serializable;
20
+ declare namespace json {
21
+ export {
22
+ json_Array as Array,
23
+ Object$1 as Object,
24
+ json_Serializable as Serializable,
25
+ };
26
+ }
18
27
 
19
28
  type Identified = {
20
29
  id: string;
@@ -22,23 +31,23 @@ type Identified = {
22
31
 
23
32
  declare const RELATION_TYPES: readonly ["1:1", "1:n", "n:n"];
24
33
  type RelationType = typeof RELATION_TYPES[number];
25
- type RelationData<CONTENT extends JsonObj | null = null, A extends string = `from`, B extends string = `to`> = {
26
- contents: JsonObj<string, CONTENT>;
27
- relations: JsonObj<string, string[]>;
34
+ type RelationData<CONTENT extends Object$1 | null = null, A extends string = `from`, B extends string = `to`> = {
35
+ contents: Object$1<string, CONTENT>;
36
+ relations: Object$1<string, string[]>;
28
37
  relationType: RelationType;
29
38
  a: A;
30
39
  b: B;
31
40
  };
32
- type IsRelationDataOptions<CONTENT extends JsonObj | null = null, A extends string = `from`, B extends string = `to`> = {
41
+ type IsRelationDataOptions<CONTENT extends Object$1 | null = null, A extends string = `from`, B extends string = `to`> = {
33
42
  from?: A;
34
43
  to?: B;
35
- isContent?: (json: Json) => json is CONTENT;
44
+ isContent?: (json: Serializable) => json is CONTENT;
36
45
  };
37
46
 
38
47
  type NullSafeUnion<Base, Extension> = Extension extends null ? Base : Base & Extension;
39
- type NullSafeRest<MaybeArg> = MaybeArg extends null ? [] | [undefined] : [MaybeArg];
48
+ type NullSafeRest<MaybeArg, IfArg = MaybeArg> = MaybeArg extends null ? [] | [undefined] : [IfArg];
40
49
 
41
- declare class Join<CONTENT extends JsonObj | null = null, A extends string = `from`, B extends string = `to`> implements RelationData<CONTENT, A, B> {
50
+ declare class Join<CONTENT extends Object$1 | null = null, A extends string = `from`, B extends string = `to`> implements RelationData<CONTENT, A, B> {
42
51
  readonly relationType: `1:1` | `1:n` | `n:n`;
43
52
  readonly a: A;
44
53
  readonly b: B;
@@ -46,7 +55,7 @@ declare class Join<CONTENT extends JsonObj | null = null, A extends string = `fr
46
55
  readonly contents: Record<string, CONTENT>;
47
56
  constructor(json?: Partial<RelationData<CONTENT, A, B>>);
48
57
  toJSON(): RelationData<CONTENT, A, B>;
49
- static fromJSON<CONTENT extends JsonObj | null, A extends string, B extends string>(json: Json, options?: IsRelationDataOptions<CONTENT, A, B>): Join<CONTENT, A, B>;
58
+ static fromJSON<CONTENT extends Object$1 | null, A extends string, B extends string>(json: Serializable, options?: IsRelationDataOptions<CONTENT, A, B>): Join<CONTENT, A, B>;
50
59
  from<AA extends string>(newA: AA): Join<CONTENT, AA, B>;
51
60
  to<BB extends string>(newB: BB): Join<CONTENT, A, BB>;
52
61
  makeJsonInterface: (...params: CONTENT extends null ? [
@@ -71,18 +80,18 @@ declare class Join<CONTENT extends JsonObj | null = null, A extends string = `fr
71
80
 
72
81
  type StoreCore = Pick<Store, `atoms` | `atomsThatAreDefault` | `operation` | `readonlySelectors` | `selectorAtoms` | `selectorGraph` | `selectors` | `timelineAtoms` | `timelines` | `transactions` | `valueMap`>;
73
82
  interface Store {
74
- atoms: Hamt<Atom<any>, string>;
83
+ atoms: Map<string, Atom<any>>;
75
84
  atomsThatAreDefault: Set<string>;
76
- readonlySelectors: Hamt<ReadonlySelector<any>, string>;
85
+ readonlySelectors: Map<string, ReadonlySelector<any>>;
77
86
  selectorAtoms: Join<null, `selectorKey`, `atomKey`>;
78
87
  selectorGraph: Join<{
79
88
  source: string;
80
89
  }>;
81
- selectors: Hamt<Selector<any>, string>;
90
+ selectors: Map<string, Selector<any>>;
82
91
  timelineAtoms: Join<null, `timelineKey`, `atomKey`>;
83
- timelines: Hamt<Timeline, string>;
84
- transactions: Hamt<Transaction<any>, string>;
85
- valueMap: Hamt<any, string>;
92
+ timelines: Map<string, Timeline>;
93
+ transactions: Map<string, Transaction<any>>;
94
+ valueMap: Map<string, any>;
86
95
  subject: {
87
96
  atomCreation: Subject<AtomToken<unknown>>;
88
97
  selectorCreation: Subject<ReadonlySelectorToken<unknown> | SelectorToken<unknown>>;
@@ -175,7 +184,7 @@ type OperationProgress = {
175
184
  } | {
176
185
  open: true;
177
186
  done: Set<string>;
178
- prev: Hamt<any, string>;
187
+ prev: Map<string, any>;
179
188
  time: number;
180
189
  token: StateToken<any>;
181
190
  };
@@ -298,7 +307,7 @@ type TimelineTransactionUpdate = TransactionUpdate<ƒn> & {
298
307
  type Timeline = {
299
308
  key: string;
300
309
  at: number;
301
- timeTraveling: boolean;
310
+ timeTraveling: `into_future` | `into_past` | null;
302
311
  history: TimelineUpdate[];
303
312
  selectorTime: number | null;
304
313
  transactionKey: string | null;
@@ -550,7 +559,7 @@ type UpdateHandler<T> = (update: StateUpdate<T>) => void;
550
559
  declare const subscribe: <T>(token: ReadonlySelectorToken<T> | StateToken<T>, handleUpdate: UpdateHandler<T>, store?: Store) => (() => void);
551
560
  type TransactionUpdateHandler<ƒ extends ƒn> = (data: TransactionUpdate<ƒ>) => void;
552
561
  declare const subscribeToTransaction: <ƒ extends ƒn>(token: TransactionToken<ƒ>, handleUpdate: TransactionUpdateHandler<ƒ>, store?: Store) => (() => void);
553
- declare const subscribeToTimeline: (token: TimelineToken, handleUpdate: (update: TimelineUpdate) => void, store?: Store) => (() => void);
562
+ declare const subscribeToTimeline: (token: TimelineToken, handleUpdate: (update: TimelineUpdate | `redo` | `undo`) => void, store?: Store) => (() => void);
554
563
 
555
564
  type TimelineToken = {
556
565
  key: string;
@@ -592,4 +601,4 @@ declare const getState: <T>(token: ReadonlySelectorToken<T> | StateToken<T>, sto
592
601
  declare const setState: <T, New extends T>(token: StateToken<T>, value: New | ((oldValue: T) => New), store?: Store) => void;
593
602
  declare const isDefault: (token: ReadonlySelectorToken<unknown> | StateToken<unknown>, store?: Store) => boolean;
594
603
 
595
- export { AtomEffect, AtomFamily, AtomFamilyOptions, AtomOptions, AtomToken, Effectors, FamilyMetadata, KeyedStateUpdate, LOG_LEVELS, Logger, Read, ReadonlySelectorFamily, ReadonlySelectorFamilyOptions, ReadonlySelectorOptions, ReadonlySelectorToken, ReadonlyTransactors, SelectorFamily, SelectorFamilyOptions, SelectorOptions, SelectorToken, Serializable, Silo, StateToken, StateUpdate, Store, TimelineOptions, TimelineToken, TimelineUpdate, TransactionIO, TransactionOptions, TransactionToken, TransactionUpdate, TransactionUpdateHandler, Transactors, UpdateHandler, Write, index as __INTERNAL__, atom, atomFamily, getState, isDefault, redo, runTransaction, selector, selectorFamily, setLogLevel, setState, silo, subscribe, subscribeToTimeline, subscribeToTransaction, timeline, transaction, undo, useLogger };
604
+ export { AtomEffect, AtomFamily, AtomFamilyOptions, AtomOptions, AtomToken, Effectors, FamilyMetadata, json as Json, KeyedStateUpdate, LOG_LEVELS, Logger, Read, ReadonlySelectorFamily, ReadonlySelectorFamilyOptions, ReadonlySelectorOptions, ReadonlySelectorToken, ReadonlyTransactors, SelectorFamily, SelectorFamilyOptions, SelectorOptions, SelectorToken, Silo, StateToken, StateUpdate, Store, TimelineOptions, TimelineToken, TimelineUpdate, TransactionIO, TransactionOptions, TransactionToken, TransactionUpdate, TransactionUpdateHandler, Transactors, UpdateHandler, Write, index as __INTERNAL__, atom, atomFamily, getState, isDefault, redo, runTransaction, selector, selectorFamily, setLogLevel, setState, silo, subscribe, subscribeToTimeline, subscribeToTransaction, timeline, transaction, undo, useLogger };