atom.io 0.27.3 → 0.27.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/dist/index.js +57 -72
- package/data/src/dict.ts +9 -12
- package/data/src/join.ts +25 -26
- package/data/src/struct-family.ts +17 -23
- package/data/src/struct.ts +9 -12
- package/dist/{chunk-ETCFHO7J.js → chunk-6ABWLAGY.js} +246 -159
- package/dist/index.d.ts +4 -4
- package/dist/index.js +33 -53
- package/ephemeral/dist/index.js +1 -1
- package/ephemeral/src/find-state.ts +1 -1
- package/immortal/dist/index.js +2 -2
- package/immortal/src/seek-state.ts +2 -2
- package/internal/dist/index.d.ts +88 -73
- package/internal/dist/index.js +1 -1
- package/internal/src/atom/create-regular-atom.ts +3 -3
- package/internal/src/atom/create-standalone-atom.ts +7 -5
- package/internal/src/families/create-atom-family.ts +5 -5
- package/internal/src/families/create-readonly-selector-family.ts +35 -7
- package/internal/src/families/create-regular-atom-family.ts +16 -6
- package/internal/src/families/create-selector-family.ts +5 -5
- package/internal/src/families/create-writable-selector-family.ts +35 -8
- package/internal/src/families/dispose-from-store.ts +22 -16
- package/internal/src/families/find-in-store.ts +11 -11
- package/internal/src/families/init-family-member.ts +9 -9
- package/internal/src/families/seek-in-store.ts +10 -13
- package/internal/src/get-state/get-from-store.ts +58 -20
- package/internal/src/get-state/read-or-compute-value.ts +1 -1
- package/internal/src/index.ts +5 -3
- package/internal/src/ingest-updates/ingest-atom-update.ts +1 -1
- package/internal/src/ingest-updates/ingest-creation-disposal.ts +5 -5
- package/internal/src/molecule/create-molecule-family.ts +1 -1
- package/internal/src/molecule/dispose-molecule.ts +1 -1
- package/internal/src/molecule/grow-molecule-in-store.ts +1 -1
- package/internal/src/molecule/make-molecule-in-store.ts +5 -5
- package/internal/src/mutable/create-mutable-atom-family.ts +15 -6
- package/internal/src/mutable/create-mutable-atom.ts +3 -3
- package/internal/src/mutable/get-json-token.ts +2 -2
- package/internal/src/mutable/tracker-family.ts +3 -3
- package/internal/src/mutable/tracker.ts +14 -18
- package/internal/src/selector/create-readonly-selector.ts +2 -2
- package/internal/src/selector/create-standalone-selector.ts +5 -5
- package/internal/src/selector/create-writable-selector.ts +8 -8
- package/internal/src/selector/register-selector.ts +9 -9
- package/internal/src/set-state/set-into-store.ts +21 -18
- package/internal/src/store/deposit.ts +62 -21
- package/internal/src/store/store.ts +2 -1
- package/internal/src/subscribe/index.ts +2 -0
- package/internal/src/subscribe/subscribe-in-store.ts +62 -0
- package/internal/src/timeline/time-travel.ts +1 -1
- package/internal/src/transaction/build-transaction.ts +7 -6
- package/introspection/dist/index.js +66 -87
- package/introspection/src/attach-atom-index.ts +5 -8
- package/introspection/src/attach-selector-index.ts +6 -8
- package/introspection/src/attach-timeline-family.ts +25 -28
- package/introspection/src/attach-timeline-index.ts +5 -8
- package/introspection/src/attach-transaction-index.ts +5 -8
- package/introspection/src/attach-transaction-logs.ts +21 -27
- package/json/dist/index.js +12 -15
- package/json/src/select-json-family.ts +4 -4
- package/json/src/select-json.ts +6 -9
- package/package.json +4 -4
- package/react/dist/index.js +7 -7
- package/react/src/parse-state-overloads.ts +2 -2
- package/react/src/use-i.ts +1 -1
- package/react/src/use-json.ts +2 -2
- package/react/src/use-o.ts +2 -2
- package/realtime-client/dist/index.js +35 -55
- package/realtime-client/src/pull-atom-family-member.ts +1 -1
- package/realtime-client/src/pull-atom.ts +1 -1
- package/realtime-client/src/pull-mutable-atom-family-member.ts +3 -3
- package/realtime-client/src/pull-mutable-atom.ts +3 -3
- package/realtime-client/src/sync-continuity.ts +27 -47
- package/realtime-react/dist/index.js +3 -3
- package/realtime-react/src/use-pull-atom-family-member.ts +1 -1
- package/realtime-react/src/use-pull-mutable-family-member.ts +1 -1
- package/realtime-react/src/use-pull-selector-family-member.ts +1 -1
- package/realtime-server/dist/index.js +32 -32
- package/realtime-server/src/realtime-continuity-synchronizer.ts +16 -16
- package/realtime-server/src/realtime-family-provider.ts +3 -3
- package/realtime-server/src/realtime-mutable-family-provider.ts +5 -5
- package/realtime-server/src/realtime-mutable-provider.ts +2 -2
- package/realtime-server/src/realtime-state-provider.ts +1 -1
- package/realtime-server/src/realtime-state-receiver.ts +1 -1
- package/realtime-testing/dist/index.js +7 -7
- package/realtime-testing/src/setup-realtime-test.tsx +7 -7
- package/src/atom.ts +2 -2
- package/src/dispose-state.ts +2 -2
- package/src/get-state.ts +9 -13
- package/src/logger.ts +4 -0
- package/src/molecule.ts +1 -1
- package/src/selector.ts +2 -2
- package/src/set-state.ts +10 -7
- package/src/silo.ts +23 -53
- package/src/subscribe.ts +3 -23
- package/src/timeline.ts +2 -2
- package/internal/src/families/throw-in-case-of-conflicting-family.ts +0 -18
package/dist/index.d.ts
CHANGED
|
@@ -287,7 +287,7 @@ declare const LoggerIconDictionary: {
|
|
|
287
287
|
readonly "\uD83D\uDC41": "Determining perspective";
|
|
288
288
|
};
|
|
289
289
|
type LoggerIcon = keyof typeof LoggerIconDictionary;
|
|
290
|
-
type TokenDenomination = `atom` | `continuity` | `molecule_family` | `molecule` | `mutable_atom` | `readonly_selector` | `selector` | `state` | `timeline` | `transaction` | `unknown`;
|
|
290
|
+
type TokenDenomination = `atom_family` | `atom` | `continuity` | `molecule_family` | `molecule` | `mutable_atom_family` | `mutable_atom` | `readonly_selector_family` | `readonly_selector` | `selector_family` | `selector` | `state` | `timeline` | `transaction` | `unknown`;
|
|
291
291
|
declare const LOG_LEVELS: readonly ["info", "warn", "error"];
|
|
292
292
|
type LogLevel = (typeof LOG_LEVELS)[number];
|
|
293
293
|
type LogFn = (icon: LoggerIcon, denomination: TokenDenomination, tokenKey: string, message: string, ...rest: unknown[]) => void;
|
|
@@ -355,9 +355,9 @@ type KeyedStateUpdate<T> = Flat<StateUpdate<T> & {
|
|
|
355
355
|
}>;
|
|
356
356
|
type UpdateHandler<T> = (update: StateUpdate<T>) => void;
|
|
357
357
|
type TransactionUpdateHandler<F extends Func> = (data: TransactionUpdate<F>) => void;
|
|
358
|
-
declare function subscribe<T>(token: ReadableToken<T>, handleUpdate: UpdateHandler<T>, key?: string
|
|
359
|
-
declare function subscribe<F extends Func>(token: TransactionToken<F>, handleUpdate: TransactionUpdateHandler<F>, key?: string
|
|
360
|
-
declare function subscribe<M extends TimelineManageable>(token: TimelineToken<M>, handleUpdate: (update: TimelineUpdate<M> | `redo` | `undo`) => void, key?: string
|
|
358
|
+
declare function subscribe<T>(token: ReadableToken<T>, handleUpdate: UpdateHandler<T>, key?: string): () => void;
|
|
359
|
+
declare function subscribe<F extends Func>(token: TransactionToken<F>, handleUpdate: TransactionUpdateHandler<F>, key?: string): () => void;
|
|
360
|
+
declare function subscribe<M extends TimelineManageable>(token: TimelineToken<M>, handleUpdate: (update: TimelineUpdate<M> | `redo` | `undo`) => void, key?: string): () => void;
|
|
361
361
|
|
|
362
362
|
type TimelineManageable = AtomFamilyToken<any, any> | AtomToken<any>;
|
|
363
363
|
type AtomOnly<M extends TimelineManageable> = M extends AtomFamilyToken<any, any> ? AtomToken<any> : M extends AtomToken<any> ? M : never;
|
package/dist/index.js
CHANGED
|
@@ -1,30 +1,26 @@
|
|
|
1
1
|
import './chunk-XWL6SNVU.js';
|
|
2
2
|
import * as Internal from 'atom.io/internal';
|
|
3
|
-
import { createStandaloneAtom, IMPLICIT, createAtomFamily, createMoleculeFamily, makeMoleculeInStore, Molecule, createStandaloneSelector, createSelectorFamily, Store, createTransaction, createTimeline, findInStore, getFromStore, setIntoStore, disposeFromStore,
|
|
3
|
+
import { createStandaloneAtom, IMPLICIT, createAtomFamily, createMoleculeFamily, makeMoleculeInStore, Molecule, createStandaloneSelector, createSelectorFamily, Store, createTransaction, createTimeline, findInStore, getFromStore, setIntoStore, disposeFromStore, subscribeInStore, timeTravel, arbitrary, actUponStore } from 'atom.io/internal';
|
|
4
4
|
import { stringifyJson } from 'atom.io/json';
|
|
5
5
|
|
|
6
6
|
function atom(options) {
|
|
7
|
-
return createStandaloneAtom(
|
|
7
|
+
return createStandaloneAtom(IMPLICIT.STORE, options);
|
|
8
8
|
}
|
|
9
9
|
function atomFamily(options) {
|
|
10
|
-
return createAtomFamily(
|
|
10
|
+
return createAtomFamily(IMPLICIT.STORE, options);
|
|
11
11
|
}
|
|
12
12
|
function disposeState(token, key) {
|
|
13
13
|
if (key) {
|
|
14
|
-
Internal.disposeFromStore(
|
|
14
|
+
Internal.disposeFromStore(Internal.IMPLICIT.STORE, token, key);
|
|
15
15
|
} else {
|
|
16
|
-
Internal.disposeFromStore(
|
|
16
|
+
Internal.disposeFromStore(Internal.IMPLICIT.STORE, token);
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
function getState(
|
|
20
|
-
if (
|
|
21
|
-
return Internal.getFromStore(
|
|
22
|
-
token,
|
|
23
|
-
key,
|
|
24
|
-
Internal.IMPLICIT.STORE
|
|
25
|
-
);
|
|
19
|
+
function getState(...params) {
|
|
20
|
+
if (params.length === 2) {
|
|
21
|
+
return Internal.getFromStore(Internal.IMPLICIT.STORE, ...params);
|
|
26
22
|
}
|
|
27
|
-
return Internal.getFromStore(
|
|
23
|
+
return Internal.getFromStore(Internal.IMPLICIT.STORE, ...params);
|
|
28
24
|
}
|
|
29
25
|
|
|
30
26
|
// src/logger.ts
|
|
@@ -63,7 +59,7 @@ var AtomIOLogger = class {
|
|
|
63
59
|
};
|
|
64
60
|
};
|
|
65
61
|
function moleculeFamily(options) {
|
|
66
|
-
return createMoleculeFamily(
|
|
62
|
+
return createMoleculeFamily(IMPLICIT.STORE, options);
|
|
67
63
|
}
|
|
68
64
|
function makeMolecule(context, family, key, ...params) {
|
|
69
65
|
return makeMoleculeInStore(IMPLICIT.STORE, context, family, key, ...params);
|
|
@@ -77,16 +73,16 @@ function makeRootMolecule(key, store = IMPLICIT.STORE) {
|
|
|
77
73
|
};
|
|
78
74
|
}
|
|
79
75
|
function selector(options) {
|
|
80
|
-
return createStandaloneSelector(
|
|
76
|
+
return createStandaloneSelector(IMPLICIT.STORE, options);
|
|
81
77
|
}
|
|
82
78
|
function selectorFamily(options) {
|
|
83
|
-
return createSelectorFamily(
|
|
79
|
+
return createSelectorFamily(IMPLICIT.STORE, options);
|
|
84
80
|
}
|
|
85
|
-
function setState(
|
|
86
|
-
if (
|
|
87
|
-
Internal.setIntoStore(
|
|
81
|
+
function setState(...params) {
|
|
82
|
+
if (params.length === 2) {
|
|
83
|
+
Internal.setIntoStore(Internal.IMPLICIT.STORE, ...params);
|
|
88
84
|
} else {
|
|
89
|
-
Internal.setIntoStore(
|
|
85
|
+
Internal.setIntoStore(Internal.IMPLICIT.STORE, ...params);
|
|
90
86
|
}
|
|
91
87
|
}
|
|
92
88
|
var Silo = class {
|
|
@@ -108,63 +104,47 @@ var Silo = class {
|
|
|
108
104
|
makeMolecule;
|
|
109
105
|
constructor(config, fromStore = null) {
|
|
110
106
|
const s = new Store(config, fromStore);
|
|
111
|
-
function _atom(options) {
|
|
112
|
-
return createStandaloneAtom(options, s);
|
|
113
|
-
}
|
|
114
|
-
function _atomFamily(options) {
|
|
115
|
-
return createAtomFamily(options, s);
|
|
116
|
-
}
|
|
117
107
|
this.store = s;
|
|
118
|
-
this.atom =
|
|
119
|
-
this.atomFamily =
|
|
120
|
-
this.selector = (options) => createStandaloneSelector(
|
|
121
|
-
this.selectorFamily = (options) => createSelectorFamily(
|
|
108
|
+
this.atom = (options) => createStandaloneAtom(s, options);
|
|
109
|
+
this.atomFamily = (options) => createAtomFamily(s, options);
|
|
110
|
+
this.selector = (options) => createStandaloneSelector(s, options);
|
|
111
|
+
this.selectorFamily = (options) => createSelectorFamily(s, options);
|
|
122
112
|
this.transaction = (options) => createTransaction(options, s);
|
|
123
113
|
this.timeline = (options) => createTimeline(options, s);
|
|
124
|
-
this.findState = (
|
|
125
|
-
this.getState = (...params) => getFromStore(...params
|
|
114
|
+
this.findState = (...params) => findInStore(s, ...params);
|
|
115
|
+
this.getState = (...params) => getFromStore(s, ...params);
|
|
126
116
|
this.setState = (...params) => {
|
|
127
|
-
setIntoStore(...params
|
|
117
|
+
setIntoStore(s, ...params);
|
|
128
118
|
};
|
|
129
119
|
this.disposeState = (...params) => {
|
|
130
|
-
disposeFromStore(...params
|
|
120
|
+
disposeFromStore(s, ...params);
|
|
131
121
|
};
|
|
132
|
-
this.subscribe = (
|
|
122
|
+
this.subscribe = (...params) => subscribeInStore(s, ...params);
|
|
133
123
|
this.undo = (token) => {
|
|
134
|
-
timeTravel(`undo`, token
|
|
124
|
+
timeTravel(s, `undo`, token);
|
|
135
125
|
};
|
|
136
126
|
this.redo = (token) => {
|
|
137
|
-
timeTravel(`redo`, token
|
|
127
|
+
timeTravel(s, `redo`, token);
|
|
138
128
|
};
|
|
139
|
-
this.moleculeFamily = (
|
|
140
|
-
return createMoleculeFamily(
|
|
129
|
+
this.moleculeFamily = (options) => {
|
|
130
|
+
return createMoleculeFamily(s, options);
|
|
141
131
|
};
|
|
142
132
|
this.makeMolecule = (...params) => {
|
|
143
133
|
return makeMoleculeInStore(s, ...params);
|
|
144
134
|
};
|
|
145
135
|
}
|
|
146
136
|
};
|
|
147
|
-
function subscribe(token, handleUpdate, key = arbitrary()
|
|
148
|
-
|
|
149
|
-
case `atom`:
|
|
150
|
-
case `mutable_atom`:
|
|
151
|
-
case `readonly_selector`:
|
|
152
|
-
case `selector`:
|
|
153
|
-
return subscribeToState(token, handleUpdate, key, store);
|
|
154
|
-
case `transaction`:
|
|
155
|
-
return subscribeToTransaction(token, handleUpdate, key, store);
|
|
156
|
-
case `timeline`:
|
|
157
|
-
return subscribeToTimeline(token, handleUpdate, key, store);
|
|
158
|
-
}
|
|
137
|
+
function subscribe(token, handleUpdate, key = arbitrary()) {
|
|
138
|
+
return subscribeInStore(IMPLICIT.STORE, token, handleUpdate, key);
|
|
159
139
|
}
|
|
160
140
|
var timeline = (options) => {
|
|
161
141
|
return createTimeline(options, IMPLICIT.STORE);
|
|
162
142
|
};
|
|
163
143
|
var redo = (tl) => {
|
|
164
|
-
timeTravel(`redo`, tl
|
|
144
|
+
timeTravel(IMPLICIT.STORE, `redo`, tl);
|
|
165
145
|
};
|
|
166
146
|
var undo = (tl) => {
|
|
167
|
-
timeTravel(`undo`, tl
|
|
147
|
+
timeTravel(IMPLICIT.STORE, `undo`, tl);
|
|
168
148
|
};
|
|
169
149
|
function transaction(options) {
|
|
170
150
|
return createTransaction(options, IMPLICIT.STORE);
|
package/ephemeral/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import '../../dist/chunk-XWL6SNVU.js';
|
|
|
2
2
|
import { findInStore, IMPLICIT } from 'atom.io/internal';
|
|
3
3
|
|
|
4
4
|
function findState(token, key) {
|
|
5
|
-
const state = findInStore(token, key
|
|
5
|
+
const state = findInStore(IMPLICIT.STORE, token, key);
|
|
6
6
|
return state;
|
|
7
7
|
}
|
|
8
8
|
|
package/immortal/dist/index.js
CHANGED
|
@@ -3,9 +3,9 @@ import { seekInStore, IMPLICIT } from 'atom.io/internal';
|
|
|
3
3
|
|
|
4
4
|
function seekState(token, key) {
|
|
5
5
|
if (token.type === `molecule_family`) {
|
|
6
|
-
return seekInStore(token, key
|
|
6
|
+
return seekInStore(IMPLICIT.STORE, token, key);
|
|
7
7
|
}
|
|
8
|
-
const state = seekInStore(token, key
|
|
8
|
+
const state = seekInStore(IMPLICIT.STORE, token, key);
|
|
9
9
|
return state;
|
|
10
10
|
}
|
|
11
11
|
|
|
@@ -65,8 +65,8 @@ export function seekState(
|
|
|
65
65
|
key: Canonical,
|
|
66
66
|
): MoleculeToken<any> | ReadableToken<any> | undefined {
|
|
67
67
|
if (token.type === `molecule_family`) {
|
|
68
|
-
return seekInStore(token, key
|
|
68
|
+
return seekInStore(IMPLICIT.STORE, token, key)
|
|
69
69
|
}
|
|
70
|
-
const state = seekInStore(token, key
|
|
70
|
+
const state = seekInStore(IMPLICIT.STORE, token, key)
|
|
71
71
|
return state
|
|
72
72
|
}
|
package/internal/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as atom_io from 'atom.io';
|
|
2
|
-
import { TransactionToken, TransactionUpdate, TransactionOptions, ActorToolkit, RegularAtomToken, MutableAtomToken, AtomToken, WritableSelectorToken, ReadonlySelectorToken, SelectorToken, WritableToken,
|
|
2
|
+
import { TransactionToken, TransactionUpdate, TransactionOptions, ActorToolkit, RegularAtomToken, MutableAtomToken, AtomToken, WritableSelectorToken, ReadonlySelectorToken, SelectorToken, WritableToken, ReadableToken, RegularAtomFamilyToken, MutableAtomFamilyToken, AtomFamilyToken, WritableSelectorFamilyToken, ReadonlySelectorFamilyToken, SelectorFamilyToken, WritableFamilyToken, ReadableFamilyToken, MoleculeConstructor, MoleculeFamily, MoleculeFamilyToken, MoleculeToken, TimelineManageable, StateUpdate, TokenType, FamilyMetadata, StateCreation, StateDisposal, MoleculeCreation, MoleculeDisposal, TimelineUpdate, TimelineOptions, TimelineToken, AtomIOLogger, Logger, MutableAtomOptions, MutableAtomFamilyOptions, RegularAtomOptions, RegularAtomFamilyOptions, ReadonlySelectorFamilyOptions, WritableSelectorFamilyOptions, MoleculeKey, KeyedStateUpdate, MoleculeFamilyOptions, MoleculeParams, ReadonlySelectorOptions, WritableSelectorOptions, SetterToolkit, UpdateHandler, TransactionUpdateHandler } from 'atom.io';
|
|
3
3
|
import { Canonical, Json, JsonInterface } from 'atom.io/json';
|
|
4
4
|
import { Join } from 'atom.io/data';
|
|
5
|
+
import { Store as Store$1, Func as Func$1 } from 'atom.io/internal';
|
|
5
6
|
|
|
6
7
|
type primitive = boolean | number | string | null;
|
|
7
8
|
|
|
@@ -156,14 +157,19 @@ declare function deposit<T>(state: WritableSelector<T>): WritableSelectorToken<T
|
|
|
156
157
|
declare function deposit<T>(state: ReadonlySelector<T>): ReadonlySelectorToken<T>;
|
|
157
158
|
declare function deposit<T>(state: Selector<T>): SelectorToken<T>;
|
|
158
159
|
declare function deposit<T>(state: WritableState<T>): WritableToken<T>;
|
|
159
|
-
declare function deposit<K extends Canonical, S extends {
|
|
160
|
-
[key: string]: any;
|
|
161
|
-
}, P extends any[]>(state: Molecule<any>): MoleculeToken<any>;
|
|
162
|
-
declare function deposit<K extends Canonical, S extends {
|
|
163
|
-
[key: string]: any;
|
|
164
|
-
}, P extends any[]>(state: MoleculeFamily<any>): MoleculeFamilyToken<any>;
|
|
165
|
-
declare function deposit<T extends Func>(state: Transaction<T>): TransactionToken<T>;
|
|
166
160
|
declare function deposit<T>(state: ReadableState<T>): ReadableToken<T>;
|
|
161
|
+
declare function deposit<T, K extends Canonical>(state: RegularAtomFamily<T, K>): RegularAtomFamilyToken<T, K>;
|
|
162
|
+
declare function deposit<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical>(state: MutableAtomFamily<T, J, K>): MutableAtomFamilyToken<T, J, K>;
|
|
163
|
+
declare function deposit<T>(state: AtomFamily<T, any>): AtomFamilyToken<T, any>;
|
|
164
|
+
declare function deposit<T>(state: WritableSelectorFamily<T, any>): WritableSelectorFamilyToken<T, any>;
|
|
165
|
+
declare function deposit<T>(state: ReadonlySelectorFamily<T, any>): ReadonlySelectorFamilyToken<T, any>;
|
|
166
|
+
declare function deposit<T>(state: SelectorFamily<T, any>): SelectorFamilyToken<T, any>;
|
|
167
|
+
declare function deposit<T>(state: WritableFamily<T, any>): WritableFamilyToken<T, any>;
|
|
168
|
+
declare function deposit<T>(state: ReadableFamily<T, any>): ReadableFamilyToken<T, any>;
|
|
169
|
+
declare function deposit<M extends MoleculeConstructor>(state: MoleculeFamily<M>): MoleculeFamilyToken<M>;
|
|
170
|
+
declare function deposit<M extends MoleculeConstructor>(state: Molecule<M>): MoleculeToken<M>;
|
|
171
|
+
declare function deposit<T extends Func>(state: Transaction<T>): TransactionToken<T>;
|
|
172
|
+
declare function deposit(state: Molecule<any> | ReadableState<any>): MoleculeToken<any> | ReadableToken<any>;
|
|
167
173
|
|
|
168
174
|
interface Lineage {
|
|
169
175
|
parent: typeof this | null;
|
|
@@ -230,12 +236,13 @@ type Timeline<ManagedAtom extends TimelineManageable> = {
|
|
|
230
236
|
};
|
|
231
237
|
declare function createTimeline<ManagedAtom extends TimelineManageable>(options: TimelineOptions<ManagedAtom>, store: Store, data?: Timeline<ManagedAtom>): TimelineToken<ManagedAtom>;
|
|
232
238
|
|
|
233
|
-
declare const timeTravel: (action: `redo` | `undo`, token: TimelineToken<any
|
|
239
|
+
declare const timeTravel: (store: Store, action: `redo` | `undo`, token: TimelineToken<any>) => void;
|
|
234
240
|
|
|
235
241
|
declare class Store implements Lineage {
|
|
236
242
|
parent: Store | null;
|
|
237
243
|
child: Store | null;
|
|
238
244
|
valueMap: Map<string, any>;
|
|
245
|
+
defaults: Map<string, any>;
|
|
239
246
|
atoms: Map<string, Atom<any>>;
|
|
240
247
|
selectors: Map<string, WritableSelector<any>>;
|
|
241
248
|
readonlySelectors: Map<string, ReadonlySelector<any>>;
|
|
@@ -320,13 +327,13 @@ declare function isTransceiver(value: unknown): value is Transceiver<Json.Serial
|
|
|
320
327
|
type TransceiverMode = `playback` | `record` | `transaction`;
|
|
321
328
|
type Signal<TVR extends Transceiver<any>> = TVR extends Transceiver<infer S> ? S : never;
|
|
322
329
|
|
|
323
|
-
declare function createMutableAtom<T extends Transceiver<any>, J extends Json.Serializable>(options: MutableAtomOptions<T, J>, family: FamilyMetadata | undefined
|
|
330
|
+
declare function createMutableAtom<T extends Transceiver<any>, J extends Json.Serializable>(store: Store, options: MutableAtomOptions<T, J>, family: FamilyMetadata | undefined): MutableAtomToken<T, J>;
|
|
324
331
|
|
|
325
|
-
declare function createMutableAtomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends string>(options: MutableAtomFamilyOptions<T, J, K>,
|
|
332
|
+
declare function createMutableAtomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends string>(store: Store, options: MutableAtomFamilyOptions<T, J, K>, internalRoles?: string[]): MutableAtomFamilyToken<T, J, K>;
|
|
326
333
|
|
|
327
334
|
declare const getJsonFamily: <Core extends Transceiver<Json.Serializable>, SerializableCore extends Json.Serializable, Key extends string>(mutableAtomFamily: MutableAtomFamilyToken<Core, SerializableCore, Key>, store: Store) => WritableSelectorFamily<SerializableCore, Key>;
|
|
328
335
|
|
|
329
|
-
declare const getJsonToken: <Core extends Transceiver<any>, SerializableCore extends Json.Serializable>(mutableAtomToken: MutableAtomToken<Core, SerializableCore
|
|
336
|
+
declare const getJsonToken: <Core extends Transceiver<any>, SerializableCore extends Json.Serializable>(store: Store, mutableAtomToken: MutableAtomToken<Core, SerializableCore>) => WritableSelectorToken<SerializableCore>;
|
|
330
337
|
|
|
331
338
|
declare const getUpdateFamily: <Core extends Transceiver<Json.Serializable>, SerializableCore extends Json.Serializable, Key extends string>(mutableAtomFamily: MutableAtomFamilyToken<Core, SerializableCore, Key>, store: Store) => AtomFamily<Signal<Core>, Key>;
|
|
332
339
|
|
|
@@ -359,10 +366,10 @@ declare class FamilyTracker<Core extends Transceiver<any>, FamilyMemberKey exten
|
|
|
359
366
|
|
|
360
367
|
declare function arbitrary(random?: () => number): string;
|
|
361
368
|
|
|
362
|
-
declare function createRegularAtom<T>(options: RegularAtomOptions<T>, family: FamilyMetadata | undefined
|
|
369
|
+
declare function createRegularAtom<T>(store: Store, options: RegularAtomOptions<T>, family: FamilyMetadata | undefined): RegularAtomToken<T>;
|
|
363
370
|
|
|
364
|
-
declare function createStandaloneAtom<T>(options: RegularAtomOptions<T
|
|
365
|
-
declare function createStandaloneAtom<T extends Transceiver<any>, J extends Json.Serializable>(options: MutableAtomOptions<T, J
|
|
371
|
+
declare function createStandaloneAtom<T>(store: Store, options: RegularAtomOptions<T>): RegularAtomToken<T>;
|
|
372
|
+
declare function createStandaloneAtom<T extends Transceiver<any>, J extends Json.Serializable>(store: Store, options: MutableAtomOptions<T, J>): MutableAtomToken<T, J>;
|
|
366
373
|
|
|
367
374
|
declare function disposeAtom(atomToken: AtomToken<unknown>, store: Store): void;
|
|
368
375
|
|
|
@@ -394,57 +401,59 @@ declare function cacheValue<T extends Promise<any>>(key: string, value: T, subje
|
|
|
394
401
|
declare const readCachedValue: <T>(token: ReadableState<any>, target: Store) => T;
|
|
395
402
|
declare const evictCachedValue: (key: string, target: Store) => void;
|
|
396
403
|
|
|
397
|
-
declare function createAtomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical>(options: MutableAtomFamilyOptions<T, J, K
|
|
398
|
-
declare function createAtomFamily<T, K extends Canonical>(options: RegularAtomFamilyOptions<T, K
|
|
399
|
-
|
|
400
|
-
declare function createReadonlySelectorFamily<T, K extends Canonical>(options: ReadonlySelectorFamilyOptions<T, K>,
|
|
401
|
-
|
|
402
|
-
declare function createRegularAtomFamily<T, K extends Canonical>(options: RegularAtomFamilyOptions<T, K>,
|
|
403
|
-
|
|
404
|
-
declare function createSelectorFamily<T, K extends Canonical>(options: WritableSelectorFamilyOptions<T, K
|
|
405
|
-
declare function createSelectorFamily<T, K extends Canonical>(options: ReadonlySelectorFamilyOptions<T, K
|
|
406
|
-
|
|
407
|
-
declare function disposeFromStore(token: MoleculeToken<any> | ReadableToken<any
|
|
408
|
-
declare function disposeFromStore<K extends Canonical>(token: ReadableFamilyToken<any, K>, key: K
|
|
409
|
-
declare function disposeFromStore<M extends MoleculeConstructor>(token: MoleculeFamilyToken<M>, key: MoleculeKey<M
|
|
410
|
-
|
|
411
|
-
declare function findInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(token: MutableAtomFamilyToken<T, J, K>, key: Key
|
|
412
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key
|
|
413
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(token: AtomFamilyToken<T, K>, key: Key
|
|
414
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(token: WritableSelectorFamilyToken<T, K>, key: Key
|
|
415
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(token: ReadonlySelectorFamilyToken<T, K>, key: Key
|
|
416
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(token: SelectorFamilyToken<T, K>, key: Key
|
|
417
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(token: WritableFamilyToken<T, K>, key: Key
|
|
418
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key
|
|
419
|
-
|
|
420
|
-
declare function initFamilyMemberInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(token: MutableAtomFamilyToken<T, J, K>, key: Key
|
|
421
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key
|
|
422
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: AtomFamilyToken<T, K>, key: Key
|
|
423
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: WritableSelectorFamilyToken<T, K>, key: Key
|
|
424
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: ReadonlySelectorFamilyToken<T, K>, key: Key
|
|
425
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: SelectorFamilyToken<T, K>, key: Key
|
|
426
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: WritableFamilyToken<T, K>, key: Key
|
|
427
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key
|
|
428
|
-
|
|
429
|
-
declare function seekInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(token: MutableAtomFamilyToken<T, J, K>, key: Key
|
|
430
|
-
declare function seekInStore<T, K extends Canonical, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key
|
|
431
|
-
declare function seekInStore<T, K extends Canonical, Key extends K>(token: AtomFamilyToken<T, K>, key: Key
|
|
432
|
-
declare function seekInStore<T, K extends Canonical, Key extends K>(token: WritableSelectorFamilyToken<T, K>, key: Key
|
|
433
|
-
declare function seekInStore<T, K extends Canonical, Key extends K>(token: ReadonlySelectorFamilyToken<T, K>, key: Key
|
|
434
|
-
declare function seekInStore<T, K extends Canonical, Key extends K>(token: SelectorFamilyToken<T, K>, key: Key
|
|
435
|
-
declare function seekInStore<T, K extends Canonical, Key extends K>(token: WritableFamilyToken<T, K>, key: Key
|
|
436
|
-
declare function seekInStore<T, K extends Canonical, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key
|
|
437
|
-
declare function seekInStore<M extends MoleculeConstructor>(token: MoleculeFamilyToken<M>, key: MoleculeKey<M
|
|
404
|
+
declare function createAtomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical>(store: Store, options: MutableAtomFamilyOptions<T, J, K>): MutableAtomFamilyToken<T, J, K>;
|
|
405
|
+
declare function createAtomFamily<T, K extends Canonical>(store: Store, options: RegularAtomFamilyOptions<T, K>): RegularAtomFamilyToken<T, K>;
|
|
406
|
+
|
|
407
|
+
declare function createReadonlySelectorFamily<T, K extends Canonical>(store: Store, options: ReadonlySelectorFamilyOptions<T, K>, internalRoles?: string[]): ReadonlySelectorFamilyToken<T, K>;
|
|
408
|
+
|
|
409
|
+
declare function createRegularAtomFamily<T, K extends Canonical>(store: Store, options: RegularAtomFamilyOptions<T, K>, internalRoles?: string[]): RegularAtomFamilyToken<T, K>;
|
|
410
|
+
|
|
411
|
+
declare function createSelectorFamily<T, K extends Canonical>(store: Store, options: WritableSelectorFamilyOptions<T, K>): WritableSelectorFamilyToken<T, K>;
|
|
412
|
+
declare function createSelectorFamily<T, K extends Canonical>(store: Store, options: ReadonlySelectorFamilyOptions<T, K>): ReadonlySelectorFamilyToken<T, K>;
|
|
413
|
+
|
|
414
|
+
declare function disposeFromStore(store: Store, token: MoleculeToken<any> | ReadableToken<any>): void;
|
|
415
|
+
declare function disposeFromStore<K extends Canonical>(store: Store, token: ReadableFamilyToken<any, K>, key: K): void;
|
|
416
|
+
declare function disposeFromStore<M extends MoleculeConstructor>(store: Store, token: MoleculeFamilyToken<M>, key: MoleculeKey<M>): void;
|
|
417
|
+
|
|
418
|
+
declare function findInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J>;
|
|
419
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T>;
|
|
420
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T>;
|
|
421
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableSelectorFamilyToken<T, K>, key: Key): WritableSelectorToken<T>;
|
|
422
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadonlySelectorFamilyToken<T, K>, key: Key): ReadonlySelectorToken<T>;
|
|
423
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: SelectorFamilyToken<T, K>, key: Key): SelectorToken<T>;
|
|
424
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableFamilyToken<T, K>, key: Key): WritableToken<T>;
|
|
425
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T>;
|
|
426
|
+
|
|
427
|
+
declare function initFamilyMemberInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J>;
|
|
428
|
+
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T>;
|
|
429
|
+
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T>;
|
|
430
|
+
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableSelectorFamilyToken<T, K>, key: Key): WritableSelectorToken<T>;
|
|
431
|
+
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadonlySelectorFamilyToken<T, K>, key: Key): ReadonlySelectorToken<T>;
|
|
432
|
+
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: SelectorFamilyToken<T, K>, key: Key): SelectorToken<T>;
|
|
433
|
+
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableFamilyToken<T, K>, key: Key): WritableToken<T>;
|
|
434
|
+
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T>;
|
|
435
|
+
|
|
436
|
+
declare function seekInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J> | undefined;
|
|
437
|
+
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T> | undefined;
|
|
438
|
+
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T> | undefined;
|
|
439
|
+
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableSelectorFamilyToken<T, K>, key: Key): WritableSelectorToken<T> | undefined;
|
|
440
|
+
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadonlySelectorFamilyToken<T, K>, key: Key): ReadonlySelectorToken<T> | undefined;
|
|
441
|
+
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: SelectorFamilyToken<T, K>, key: Key): SelectorToken<T> | undefined;
|
|
442
|
+
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableFamilyToken<T, K>, key: Key): WritableToken<T> | undefined;
|
|
443
|
+
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T> | undefined;
|
|
444
|
+
declare function seekInStore<M extends MoleculeConstructor>(store: Store, token: MoleculeFamilyToken<M>, key: MoleculeKey<M>): MoleculeKey<M> | undefined;
|
|
438
445
|
|
|
439
446
|
type EnvironmentData = {
|
|
440
447
|
store: Store;
|
|
441
448
|
};
|
|
442
449
|
declare function getEnvironmentData(store: Store): EnvironmentData;
|
|
443
450
|
|
|
444
|
-
declare function getFromStore<T>(token: ReadableToken<T
|
|
445
|
-
declare function getFromStore<M extends MoleculeConstructor>(token: MoleculeToken<M
|
|
446
|
-
declare function getFromStore<T, K extends Canonical>(token: ReadableFamilyToken<T, K>, key: K
|
|
447
|
-
declare function getFromStore<M extends MoleculeConstructor>(token: MoleculeFamilyToken<M>, key: MoleculeKey<M
|
|
451
|
+
declare function getFromStore<T>(store: Store, token: ReadableToken<T>): T;
|
|
452
|
+
declare function getFromStore<M extends MoleculeConstructor>(store: Store, token: MoleculeToken<M>): InstanceType<M>;
|
|
453
|
+
declare function getFromStore<T, K extends Canonical>(store: Store, token: ReadableFamilyToken<T, K>, key: K): T;
|
|
454
|
+
declare function getFromStore<M extends MoleculeConstructor>(store: Store, token: MoleculeFamilyToken<M>, key: MoleculeKey<M>): InstanceType<M>;
|
|
455
|
+
declare function getFromStore(store: Store, token: MoleculeToken<any> | ReadableToken<any>): any;
|
|
456
|
+
declare function getFromStore(store: Store, token: MoleculeFamilyToken<any> | ReadableFamilyToken<any, any>, key: Canonical): any;
|
|
448
457
|
|
|
449
458
|
declare const readOrComputeValue: <T>(state: ReadableState<T>, target: Store) => T;
|
|
450
459
|
|
|
@@ -488,7 +497,7 @@ declare class LazyMap<K, V> extends Map<K, V> {
|
|
|
488
497
|
delete(key: K): boolean;
|
|
489
498
|
}
|
|
490
499
|
|
|
491
|
-
declare function createMoleculeFamily<M extends MoleculeConstructor>(options: MoleculeFamilyOptions<M
|
|
500
|
+
declare function createMoleculeFamily<M extends MoleculeConstructor>(store: Store, options: MoleculeFamilyOptions<M>): MoleculeFamilyToken<M>;
|
|
492
501
|
|
|
493
502
|
declare function disposeMolecule<M extends MoleculeConstructor>(token: MoleculeToken<M>, store: Store): void;
|
|
494
503
|
|
|
@@ -525,12 +534,12 @@ declare class NotFoundError extends Error {
|
|
|
525
534
|
constructor(familyToken: AtomIOToken, key: Json.Serializable, store: Store);
|
|
526
535
|
}
|
|
527
536
|
|
|
528
|
-
declare const createReadonlySelector: <T>(options: ReadonlySelectorOptions<T>, family: FamilyMetadata | undefined
|
|
537
|
+
declare const createReadonlySelector: <T>(store: Store, options: ReadonlySelectorOptions<T>, family: FamilyMetadata | undefined) => ReadonlySelectorToken<T>;
|
|
529
538
|
|
|
530
|
-
declare function createStandaloneSelector<T>(options: WritableSelectorOptions<T
|
|
531
|
-
declare function createStandaloneSelector<T>(options: ReadonlySelectorOptions<T
|
|
539
|
+
declare function createStandaloneSelector<T>(store: Store, options: WritableSelectorOptions<T>): WritableSelectorToken<T>;
|
|
540
|
+
declare function createStandaloneSelector<T>(store: Store, options: ReadonlySelectorOptions<T>): ReadonlySelectorToken<T>;
|
|
532
541
|
|
|
533
|
-
declare const createWritableSelector: <T>(options: WritableSelectorOptions<T>, family: FamilyMetadata | undefined
|
|
542
|
+
declare const createWritableSelector: <T>(store: Store, options: WritableSelectorOptions<T>, family: FamilyMetadata | undefined) => WritableSelectorToken<T>;
|
|
534
543
|
|
|
535
544
|
declare function disposeSelector(selectorToken: ReadonlySelectorToken<unknown> | WritableSelectorToken<unknown>, store: Store): void;
|
|
536
545
|
|
|
@@ -548,8 +557,15 @@ declare const become: <T>(nextVersionOfThing: Modify<T> | T) => (originalThing:
|
|
|
548
557
|
|
|
549
558
|
declare const setAtomOrSelector: <T>(state: WritableState<T>, value: T | ((oldValue: T) => T), store: Store) => void;
|
|
550
559
|
|
|
551
|
-
declare function setIntoStore<T, New extends T>(token: WritableToken<T>, value: New | ((oldValue: T) => New)
|
|
552
|
-
declare function setIntoStore<T, K extends Canonical, New extends T>(token: WritableFamilyToken<T, K>, key: K, value: New | ((oldValue: T) => New)
|
|
560
|
+
declare function setIntoStore<T, New extends T>(store: Store, token: WritableToken<T>, value: New | ((oldValue: T) => New)): void;
|
|
561
|
+
declare function setIntoStore<T, K extends Canonical, New extends T>(store: Store, token: WritableFamilyToken<T, K>, key: K, value: New | ((oldValue: T) => New)): void;
|
|
562
|
+
|
|
563
|
+
declare const recallState: <T>(state: ReadableState<T>, store: Store) => T;
|
|
564
|
+
|
|
565
|
+
declare function subscribeInStore<T>(store: Store$1, token: ReadableToken<T>, handleUpdate: UpdateHandler<T>, key?: string): () => void;
|
|
566
|
+
declare function subscribeInStore<F extends Func$1>(store: Store$1, token: TransactionToken<F>, handleUpdate: TransactionUpdateHandler<F>, key?: string): () => void;
|
|
567
|
+
declare function subscribeInStore<M extends TimelineManageable>(store: Store$1, token: TimelineToken<M>, handleUpdate: (update: TimelineUpdate<M> | `redo` | `undo`) => void, key?: string): () => void;
|
|
568
|
+
declare function subscribeInStore<M extends TimelineManageable>(store: Store$1, token: ReadableToken<any> | TimelineToken<M> | TransactionToken<any>, handleUpdate: TransactionUpdateHandler<any> | UpdateHandler<any> | ((update: TimelineUpdate<M> | `redo` | `undo`) => void), key?: string): () => void;
|
|
553
569
|
|
|
554
570
|
declare const subscribeToRootAtoms: <T>(selector: Selector<T>, store: Store) => (() => void)[];
|
|
555
571
|
|
|
@@ -604,15 +620,14 @@ type MutableAtomFamily<T extends Transceiver<any>, J extends Json.Serializable,
|
|
|
604
620
|
internalRoles: string[] | undefined;
|
|
605
621
|
};
|
|
606
622
|
type AtomFamily<T, K extends Canonical = Canonical> = MutableAtomFamily<T extends Transceiver<any> ? T : never, any, K> | RegularAtomFamily<T, K>;
|
|
607
|
-
type WritableSelectorFamily<T, K extends Canonical> = WritableSelectorFamilyToken<T, K> & {
|
|
608
|
-
(key: K)
|
|
623
|
+
type WritableSelectorFamily<T, K extends Canonical> = WritableSelectorFamilyToken<T, K> & ((key: K) => WritableSelectorToken<T>) & {
|
|
624
|
+
default: (key: K) => T;
|
|
609
625
|
subject: Subject<StateCreation<WritableSelectorToken<T>> | StateDisposal<WritableSelectorToken<T>>>;
|
|
610
626
|
install: (store: Store) => void;
|
|
611
627
|
internalRoles: string[] | undefined;
|
|
612
628
|
};
|
|
613
|
-
type ReadonlySelectorFamily<T, K extends Canonical> = ((key: K) => ReadonlySelectorToken<T>) & {
|
|
614
|
-
key:
|
|
615
|
-
type: `readonly_selector_family`;
|
|
629
|
+
type ReadonlySelectorFamily<T, K extends Canonical> = ReadonlySelectorFamilyToken<T, K> & ((key: K) => ReadonlySelectorToken<T>) & {
|
|
630
|
+
default: (key: K) => T;
|
|
616
631
|
subject: Subject<StateCreation<ReadonlySelectorToken<T>> | StateDisposal<ReadonlySelectorToken<T>>>;
|
|
617
632
|
install: (store: Store) => void;
|
|
618
633
|
internalRoles: string[] | undefined;
|
|
@@ -621,4 +636,4 @@ type SelectorFamily<T, K extends Canonical> = ReadonlySelectorFamily<T, K> | Wri
|
|
|
621
636
|
type WritableFamily<T, K extends Canonical> = AtomFamily<T, K> | WritableSelectorFamily<T, K>;
|
|
622
637
|
type ReadableFamily<T, K extends Canonical> = AtomFamily<T, K> | SelectorFamily<T, K>;
|
|
623
638
|
|
|
624
|
-
export { type Atom, type AtomFamily, type AtomIOState, type AtomIOToken, type AtomKey, type ChildStore, type EnvironmentData, FamilyTracker, type Flat, type Func, Future, IMPLICIT, LazyMap, type Lineage, type Modify, Molecule, type MutableAtom, type MutableAtomFamily, NotFoundError, type OperationProgress, type Range, type ReadableFamily, type ReadableState, type ReadonlySelector, type ReadonlySelectorFamily, type ReadonlySelectorKey, type RegularAtom, type RegularAtomFamily, type RootStore, type Selector, type SelectorFamily, type SelectorKey, type Signal, type StateKey, StatefulSubject, Store, Subject, TRANSACTION_PHASES, type Timeline, type TimelineAtomUpdate, type TimelineMoleculeCreation, type TimelineMoleculeDisposal, type TimelineSelectorUpdate, type TimelineStateCreation, type TimelineStateDisposal, type TimelineTransactionUpdate, Tracker, type Transaction, type TransactionEpoch, type TransactionPhase, type TransactionProgress, type Transceiver, type TransceiverMode, type Withdrawable, type WritableFamily, type WritableSelector, type WritableSelectorFamily, type WritableState, abortTransaction, actUponStore, applyTransaction, arbitrary, assignTransactionToContinuity, become, buildTransaction, cacheValue, clearStore, closeOperation, createAtomFamily, createMoleculeFamily, createMutableAtom, createMutableAtomFamily, createReadonlySelector, createReadonlySelectorFamily, createRegularAtom, createRegularAtomFamily, createSelectorFamily, createStandaloneAtom, createStandaloneSelector, createTimeline, createTransaction, createWritableSelector, deposit, disposeAtom, disposeFromStore, disposeMolecule, disposeSelector, eldest, evictCachedValue, findInStore, getContinuityKey, getEnvironmentData, getEpochNumberOfAction, getEpochNumberOfContinuity, getFromStore, getJsonFamily, getJsonToken, getSelectorDependencyKeys, getUpdateFamily, getUpdateToken, growMoleculeInStore, ingestAtomUpdate, ingestCreationEvent, ingestDisposalEvent, ingestMoleculeCreationEvent, ingestMoleculeDisposalEvent, ingestSelectorUpdate, ingestTransactionUpdate, initFamilyMemberInStore, isAtomDefault, isAtomKey, isChildStore, isDone, isReadonlySelectorKey, isRootStore, isSelectorKey, isStateKey, isTransceiver, makeMoleculeInStore, markAtomAsDefault, markAtomAsNotDefault, markDone, newest, openOperation, prettyPrintTokenType, readCachedValue, readOrComputeValue, registerSelector, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeToRootAtoms, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceAllSelectorAtoms, traceSelectorAtoms, updateSelectorAtoms, withdraw };
|
|
639
|
+
export { type Atom, type AtomFamily, type AtomIOState, type AtomIOToken, type AtomKey, type ChildStore, type EnvironmentData, FamilyTracker, type Flat, type Func, Future, IMPLICIT, LazyMap, type Lineage, type Modify, Molecule, type MutableAtom, type MutableAtomFamily, NotFoundError, type OperationProgress, type Range, type ReadableFamily, type ReadableState, type ReadonlySelector, type ReadonlySelectorFamily, type ReadonlySelectorKey, type RegularAtom, type RegularAtomFamily, type RootStore, type Selector, type SelectorFamily, type SelectorKey, type Signal, type StateKey, StatefulSubject, Store, Subject, TRANSACTION_PHASES, type Timeline, type TimelineAtomUpdate, type TimelineMoleculeCreation, type TimelineMoleculeDisposal, type TimelineSelectorUpdate, type TimelineStateCreation, type TimelineStateDisposal, type TimelineTransactionUpdate, Tracker, type Transaction, type TransactionEpoch, type TransactionPhase, type TransactionProgress, type Transceiver, type TransceiverMode, type Withdrawable, type WritableFamily, type WritableSelector, type WritableSelectorFamily, type WritableState, abortTransaction, actUponStore, applyTransaction, arbitrary, assignTransactionToContinuity, become, buildTransaction, cacheValue, clearStore, closeOperation, createAtomFamily, createMoleculeFamily, createMutableAtom, createMutableAtomFamily, createReadonlySelector, createReadonlySelectorFamily, createRegularAtom, createRegularAtomFamily, createSelectorFamily, createStandaloneAtom, createStandaloneSelector, createTimeline, createTransaction, createWritableSelector, deposit, disposeAtom, disposeFromStore, disposeMolecule, disposeSelector, eldest, evictCachedValue, findInStore, getContinuityKey, getEnvironmentData, getEpochNumberOfAction, getEpochNumberOfContinuity, getFromStore, getJsonFamily, getJsonToken, getSelectorDependencyKeys, getUpdateFamily, getUpdateToken, growMoleculeInStore, ingestAtomUpdate, ingestCreationEvent, ingestDisposalEvent, ingestMoleculeCreationEvent, ingestMoleculeDisposalEvent, ingestSelectorUpdate, ingestTransactionUpdate, initFamilyMemberInStore, isAtomDefault, isAtomKey, isChildStore, isDone, isReadonlySelectorKey, isRootStore, isSelectorKey, isStateKey, isTransceiver, makeMoleculeInStore, markAtomAsDefault, markAtomAsNotDefault, markDone, newest, openOperation, prettyPrintTokenType, readCachedValue, readOrComputeValue, recallState, registerSelector, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeInStore, subscribeToRootAtoms, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceAllSelectorAtoms, traceSelectorAtoms, updateSelectorAtoms, withdraw };
|
package/internal/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { FamilyTracker, Future, IMPLICIT, LazyMap, Molecule, NotFoundError, StatefulSubject, Store, Subject, TRANSACTION_PHASES, Tracker, abortTransaction, actUponStore, applyTransaction, arbitrary, assignTransactionToContinuity, become, buildTransaction, cacheValue, clearStore, closeOperation, createAtomFamily, createMoleculeFamily, createMutableAtom, createMutableAtomFamily, createReadonlySelector, createReadonlySelectorFamily, createRegularAtom, createRegularAtomFamily, createSelectorFamily, createStandaloneAtom, createStandaloneSelector, createTimeline, createTransaction, createWritableSelector, deposit, disposeAtom, disposeFromStore, disposeMolecule, disposeSelector, eldest, evictCachedValue, findInStore, getContinuityKey, getEnvironmentData, getEpochNumberOfAction, getEpochNumberOfContinuity, getFromStore, getJsonFamily, getJsonToken, getSelectorDependencyKeys, getUpdateFamily, getUpdateToken, growMoleculeInStore, ingestAtomUpdate, ingestCreationEvent, ingestDisposalEvent, ingestMoleculeCreationEvent, ingestMoleculeDisposalEvent, ingestSelectorUpdate, ingestTransactionUpdate, initFamilyMemberInStore, isAtomDefault, isAtomKey, isChildStore, isDone, isReadonlySelectorKey, isRootStore, isSelectorKey, isStateKey, isTransceiver, makeMoleculeInStore, markAtomAsDefault, markAtomAsNotDefault, markDone, newest, openOperation, prettyPrintTokenType, readCachedValue, readOrComputeValue, registerSelector, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeToRootAtoms, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceAllSelectorAtoms, traceSelectorAtoms, updateSelectorAtoms, withdraw } from '../../dist/chunk-
|
|
1
|
+
export { FamilyTracker, Future, IMPLICIT, LazyMap, Molecule, NotFoundError, StatefulSubject, Store, Subject, TRANSACTION_PHASES, Tracker, abortTransaction, actUponStore, applyTransaction, arbitrary, assignTransactionToContinuity, become, buildTransaction, cacheValue, clearStore, closeOperation, createAtomFamily, createMoleculeFamily, createMutableAtom, createMutableAtomFamily, createReadonlySelector, createReadonlySelectorFamily, createRegularAtom, createRegularAtomFamily, createSelectorFamily, createStandaloneAtom, createStandaloneSelector, createTimeline, createTransaction, createWritableSelector, deposit, disposeAtom, disposeFromStore, disposeMolecule, disposeSelector, eldest, evictCachedValue, findInStore, getContinuityKey, getEnvironmentData, getEpochNumberOfAction, getEpochNumberOfContinuity, getFromStore, getJsonFamily, getJsonToken, getSelectorDependencyKeys, getUpdateFamily, getUpdateToken, growMoleculeInStore, ingestAtomUpdate, ingestCreationEvent, ingestDisposalEvent, ingestMoleculeCreationEvent, ingestMoleculeDisposalEvent, ingestSelectorUpdate, ingestTransactionUpdate, initFamilyMemberInStore, isAtomDefault, isAtomKey, isChildStore, isDone, isReadonlySelectorKey, isRootStore, isSelectorKey, isStateKey, isTransceiver, makeMoleculeInStore, markAtomAsDefault, markAtomAsNotDefault, markDone, newest, openOperation, prettyPrintTokenType, readCachedValue, readOrComputeValue, recallState, registerSelector, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeInStore, subscribeToRootAtoms, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceAllSelectorAtoms, traceSelectorAtoms, updateSelectorAtoms, withdraw } from '../../dist/chunk-6ABWLAGY.js';
|
|
2
2
|
import '../../dist/chunk-IBTHB2PI.js';
|
|
3
3
|
import '../../dist/chunk-XWL6SNVU.js';
|
|
@@ -15,9 +15,9 @@ import { subscribeToState } from "../subscribe"
|
|
|
15
15
|
import { markAtomAsDefault } from "./is-default"
|
|
16
16
|
|
|
17
17
|
export function createRegularAtom<T>(
|
|
18
|
+
store: Store,
|
|
18
19
|
options: RegularAtomOptions<T>,
|
|
19
20
|
family: FamilyMetadata | undefined,
|
|
20
|
-
store: Store,
|
|
21
21
|
): RegularAtomToken<T> {
|
|
22
22
|
store.logger.info(
|
|
23
23
|
`🔨`,
|
|
@@ -47,7 +47,7 @@ export function createRegularAtom<T>(
|
|
|
47
47
|
options.key,
|
|
48
48
|
`installing in store "${s.config.name}"`,
|
|
49
49
|
)
|
|
50
|
-
return createRegularAtom(options, family
|
|
50
|
+
return createRegularAtom(s, options, family)
|
|
51
51
|
},
|
|
52
52
|
subject,
|
|
53
53
|
} as const
|
|
@@ -68,7 +68,7 @@ export function createRegularAtom<T>(
|
|
|
68
68
|
for (const effect of options.effects) {
|
|
69
69
|
const cleanup = effect({
|
|
70
70
|
setSelf: (next) => {
|
|
71
|
-
setIntoStore(token, next
|
|
71
|
+
setIntoStore(store, token, next)
|
|
72
72
|
},
|
|
73
73
|
onSet: (handle: UpdateHandler<T>) =>
|
|
74
74
|
subscribeToState(token, handle, `effect[${effectIndex}]`, store),
|
|
@@ -13,25 +13,27 @@ import type { Store } from "../store"
|
|
|
13
13
|
import { createRegularAtom } from "./create-regular-atom"
|
|
14
14
|
|
|
15
15
|
export function createStandaloneAtom<T>(
|
|
16
|
-
options: RegularAtomOptions<T>,
|
|
17
16
|
store: Store,
|
|
17
|
+
options: RegularAtomOptions<T>,
|
|
18
18
|
): RegularAtomToken<T>
|
|
19
|
+
|
|
19
20
|
export function createStandaloneAtom<
|
|
20
21
|
T extends Transceiver<any>,
|
|
21
22
|
J extends Json.Serializable,
|
|
22
|
-
>(options: MutableAtomOptions<T, J
|
|
23
|
+
>(store: Store, options: MutableAtomOptions<T, J>): MutableAtomToken<T, J>
|
|
24
|
+
|
|
23
25
|
export function createStandaloneAtom<T>(
|
|
24
|
-
options: MutableAtomOptions<any, any> | RegularAtomOptions<T>,
|
|
25
26
|
store: Store,
|
|
27
|
+
options: MutableAtomOptions<any, any> | RegularAtomOptions<T>,
|
|
26
28
|
): AtomToken<T> {
|
|
27
29
|
const isMutable = `mutable` in options
|
|
28
30
|
|
|
29
31
|
if (isMutable) {
|
|
30
|
-
const state = createMutableAtom(options, undefined
|
|
32
|
+
const state = createMutableAtom(store, options, undefined)
|
|
31
33
|
store.on.atomCreation.next(state)
|
|
32
34
|
return state
|
|
33
35
|
}
|
|
34
|
-
const state = createRegularAtom(options, undefined
|
|
36
|
+
const state = createRegularAtom(store, options, undefined)
|
|
35
37
|
store.on.atomCreation.next(state)
|
|
36
38
|
return state
|
|
37
39
|
}
|
|
@@ -16,23 +16,23 @@ export function createAtomFamily<
|
|
|
16
16
|
J extends Json.Serializable,
|
|
17
17
|
K extends Canonical,
|
|
18
18
|
>(
|
|
19
|
-
options: MutableAtomFamilyOptions<T, J, K>,
|
|
20
19
|
store: Store,
|
|
20
|
+
options: MutableAtomFamilyOptions<T, J, K>,
|
|
21
21
|
): MutableAtomFamilyToken<T, J, K>
|
|
22
22
|
export function createAtomFamily<T, K extends Canonical>(
|
|
23
|
-
options: RegularAtomFamilyOptions<T, K>,
|
|
24
23
|
store: Store,
|
|
24
|
+
options: RegularAtomFamilyOptions<T, K>,
|
|
25
25
|
): RegularAtomFamilyToken<T, K>
|
|
26
26
|
export function createAtomFamily<T, K extends Canonical>(
|
|
27
|
+
store: Store,
|
|
27
28
|
options:
|
|
28
29
|
| MutableAtomFamilyOptions<any, any, any>
|
|
29
30
|
| RegularAtomFamilyOptions<T, K>,
|
|
30
|
-
store: Store,
|
|
31
31
|
): AtomFamilyToken<any, any> {
|
|
32
32
|
const isMutable = `mutable` in options
|
|
33
33
|
|
|
34
34
|
if (isMutable) {
|
|
35
|
-
return createMutableAtomFamily(
|
|
35
|
+
return createMutableAtomFamily(store, options)
|
|
36
36
|
}
|
|
37
|
-
return createRegularAtomFamily<T, K>(
|
|
37
|
+
return createRegularAtomFamily<T, K>(store, options)
|
|
38
38
|
}
|