atom.io 0.26.0 → 0.27.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.
- package/data/dist/index.d.ts +3 -3
- package/data/src/dict.ts +3 -3
- package/dist/chunk-AK23DRMD.js +21 -0
- package/dist/index.d.ts +32 -54
- package/ephemeral/dist/index.d.ts +7 -7
- package/ephemeral/src/find-state.ts +7 -7
- package/immortal/dist/index.d.ts +7 -7
- package/immortal/src/seek-state.ts +8 -8
- package/internal/dist/index.d.ts +57 -59
- package/internal/dist/index.js +5 -10
- package/internal/src/families/create-atom-family.ts +4 -4
- package/internal/src/families/create-readonly-selector-family.ts +2 -2
- package/internal/src/families/create-regular-atom-family.ts +2 -2
- package/internal/src/families/create-selector-family.ts +4 -4
- package/internal/src/families/create-writable-selector-family.ts +2 -2
- package/internal/src/families/dispose-from-store.ts +3 -7
- package/internal/src/families/find-in-store.ts +9 -9
- package/internal/src/families/init-family-member.ts +25 -37
- package/internal/src/families/seek-in-store.ts +11 -10
- package/internal/src/get-state/get-from-store.ts +3 -3
- package/internal/src/molecule/grow-molecule-in-store.ts +9 -9
- package/internal/src/mutable/index.ts +0 -1
- package/internal/src/mutable/tracker-family.ts +2 -2
- package/internal/src/set-state/set-into-store.ts +4 -4
- package/internal/src/store/deposit.ts +3 -3
- package/internal/src/store/withdraw.ts +10 -9
- package/internal/src/utility-types.ts +4 -0
- package/json/dist/index.d.ts +21 -28
- package/json/dist/index.js +7 -3
- package/json/src/entries.ts +19 -0
- package/json/src/index.ts +9 -3
- package/json/src/select-json-family.ts +4 -4
- package/package.json +20 -17
- package/react/dist/index.d.ts +4 -4
- package/react/src/parse-state-overloads.ts +4 -4
- package/react/src/use-i.ts +3 -3
- package/react/src/use-json.ts +3 -3
- package/react/src/use-o.ts +3 -3
- package/react-devtools/dist/index.d.ts +1 -1
- package/react-devtools/dist/index.js +15 -4
- package/react-devtools/src/StateIndex.tsx +5 -4
- package/realtime/dist/index.d.ts +3 -3
- package/realtime/src/realtime-continuity.ts +2 -2
- package/realtime-react/dist/index.d.ts +4 -4
- package/realtime-react/src/use-pull-atom-family-member.ts +2 -2
- package/realtime-react/src/use-pull-mutable-family-member.ts +2 -2
- package/realtime-react/src/use-pull-selector-family-member.ts +2 -2
- package/realtime-server/dist/index.d.ts +9 -9
- package/realtime-server/src/ipc-sockets/custom-socket.ts +2 -2
- package/realtime-server/src/realtime-family-provider.ts +3 -2
- package/realtime-server/src/realtime-mutable-family-provider.ts +2 -2
- package/src/atom.ts +15 -42
- package/src/dispose-state.ts +2 -2
- package/src/get-state.ts +4 -4
- package/src/index.ts +5 -5
- package/src/molecule.ts +4 -3
- package/src/selector.ts +17 -39
- package/src/set-state.ts +3 -2
- package/src/silo.ts +4 -4
- package/transceivers/set-rtx/src/set-rtx.ts +5 -5
- package/dist/chunk-BF4MVQF6.js +0 -44
- package/internal/src/mutable/is-mutable.ts +0 -16
package/data/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as AtomIO from 'atom.io';
|
|
2
2
|
import { ReadonlySelectorFamily, MutableAtomFamily, SetterToolkit, disposeState, ReadonlySelectorToken, MutableAtomFamilyToken } from 'atom.io';
|
|
3
3
|
import { Store, Molecule } from 'atom.io/internal';
|
|
4
|
-
import {
|
|
4
|
+
import { Canonical, stringified, Json } from 'atom.io/json';
|
|
5
5
|
import { findState } from 'atom.io/ephemeral';
|
|
6
6
|
import { SetRTX, SetRTXJson } from 'atom.io/transceivers/set-rtx';
|
|
7
7
|
|
|
8
|
-
declare function dict<State, Key extends
|
|
9
|
-
[K in
|
|
8
|
+
declare function dict<State, Key extends Canonical>(findState: AtomIO.ReadonlySelectorFamilyToken<State, Key> | AtomIO.RegularAtomFamilyToken<State, Key> | AtomIO.WritableSelectorFamily<State, Key>, index: AtomIO.ReadonlySelectorToken<Key[]> | AtomIO.RegularAtomToken<Key[]> | AtomIO.WritableSelectorToken<Key[]>, store?: Store): AtomIO.ReadonlySelectorToken<{
|
|
9
|
+
[K in stringified<Key>]: State;
|
|
10
10
|
}>;
|
|
11
11
|
|
|
12
12
|
type primitive = boolean | number | string | null;
|
package/data/src/dict.ts
CHANGED
|
@@ -5,9 +5,9 @@ import {
|
|
|
5
5
|
findInStore,
|
|
6
6
|
IMPLICIT,
|
|
7
7
|
} from "atom.io/internal"
|
|
8
|
-
import type {
|
|
8
|
+
import type { Canonical, stringified } from "atom.io/json"
|
|
9
9
|
|
|
10
|
-
export function dict<State, Key extends
|
|
10
|
+
export function dict<State, Key extends Canonical>(
|
|
11
11
|
findState:
|
|
12
12
|
| AtomIO.ReadonlySelectorFamilyToken<State, Key>
|
|
13
13
|
| AtomIO.RegularAtomFamilyToken<State, Key>
|
|
@@ -17,7 +17,7 @@ export function dict<State, Key extends Json.Serializable>(
|
|
|
17
17
|
| AtomIO.RegularAtomToken<Key[]>
|
|
18
18
|
| AtomIO.WritableSelectorToken<Key[]>,
|
|
19
19
|
store: Store = IMPLICIT.STORE,
|
|
20
|
-
): AtomIO.ReadonlySelectorToken<{ [K in
|
|
20
|
+
): AtomIO.ReadonlySelectorToken<{ [K in stringified<Key>]: State }> {
|
|
21
21
|
return createStandaloneSelector(
|
|
22
22
|
{
|
|
23
23
|
key: `${findState.key}Dict`,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// ../anvl/src/json/index.ts
|
|
2
|
+
var parseJson = (str) => JSON.parse(str);
|
|
3
|
+
var stringifyJson = (json) => JSON.stringify(json);
|
|
4
|
+
var JSON_TYPE_NAMES = [
|
|
5
|
+
`array`,
|
|
6
|
+
`boolean`,
|
|
7
|
+
`null`,
|
|
8
|
+
`number`,
|
|
9
|
+
`object`,
|
|
10
|
+
`string`
|
|
11
|
+
];
|
|
12
|
+
var JSON_DEFAULTS = {
|
|
13
|
+
array: [],
|
|
14
|
+
boolean: false,
|
|
15
|
+
null: null,
|
|
16
|
+
number: 0,
|
|
17
|
+
object: {},
|
|
18
|
+
string: ``
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export { JSON_DEFAULTS, JSON_TYPE_NAMES, parseJson, stringifyJson };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Transceiver, Subject, Store, Func, EnvironmentData, Flat, Timeline, TimelineAtomUpdate, TimelineMoleculeCreation, TimelineMoleculeDisposal, TimelineSelectorUpdate, TimelineStateCreation, TimelineStateDisposal, TimelineTransactionUpdate } from 'atom.io/internal';
|
|
2
|
-
import { Json, JsonInterface } from 'atom.io/json';
|
|
2
|
+
import { Json, JsonInterface, Canonical } from 'atom.io/json';
|
|
3
3
|
import { MoleculeConstructor as MoleculeConstructor$1, MoleculeToken as MoleculeToken$1, MoleculeFamilyToken as MoleculeFamilyToken$1, MoleculeParams as MoleculeParams$1, getState as getState$1, setState as setState$1, makeMolecule as makeMolecule$1, ActorToolkit as ActorToolkit$1, MutableAtomFamilyToken as MutableAtomFamilyToken$1, MutableAtomToken as MutableAtomToken$1, RegularAtomFamilyToken as RegularAtomFamilyToken$1, RegularAtomToken as RegularAtomToken$1, WritableSelectorFamilyToken as WritableSelectorFamilyToken$1, WritableSelectorToken as WritableSelectorToken$1, ReadonlySelectorFamilyToken as ReadonlySelectorFamilyToken$1, ReadonlySelectorToken as ReadonlySelectorToken$1, WritableFamilyToken as WritableFamilyToken$1, WritableToken as WritableToken$1, ReadableFamilyToken as ReadableFamilyToken$1, ReadableToken as ReadableToken$1, MoleculeCreation as MoleculeCreation$1, MoleculeDisposal as MoleculeDisposal$1 } from 'atom.io';
|
|
4
4
|
import { findState } from 'atom.io/ephemeral';
|
|
5
5
|
import { seekState } from 'atom.io/immortal';
|
|
@@ -40,52 +40,44 @@ declare function atom<T extends Transceiver<any>, J extends Json.Serializable>(o
|
|
|
40
40
|
* @overload Regular
|
|
41
41
|
*/
|
|
42
42
|
declare function atom<T>(options: RegularAtomOptions<T>): RegularAtomToken<T>;
|
|
43
|
-
type RegularAtomFamilyOptions<T, K extends
|
|
43
|
+
type RegularAtomFamilyOptions<T, K extends Canonical> = {
|
|
44
44
|
key: string;
|
|
45
45
|
default: T | ((key: K) => T);
|
|
46
46
|
effects?: (key: K) => AtomEffect<T>[];
|
|
47
47
|
};
|
|
48
|
-
type RegularAtomFamilyToken<T, K extends
|
|
48
|
+
type RegularAtomFamilyToken<T, K extends Canonical> = {
|
|
49
49
|
key: string;
|
|
50
50
|
type: `atom_family`;
|
|
51
51
|
__T?: T;
|
|
52
52
|
__K?: K;
|
|
53
53
|
};
|
|
54
|
-
type
|
|
55
|
-
/** @deprecated In ephemeral stores, prefer the `findState`, `findInStore`, or `find` functions. In immortal stores, prefer the `seekState`, `seekInStore`, or `seek` functions. */
|
|
56
|
-
(key: K): RegularAtomToken<T>;
|
|
57
|
-
};
|
|
58
|
-
type RegularAtomFamily<T, K extends Json.Serializable> = RegularAtomFamilyToken<T, K> & {
|
|
54
|
+
type RegularAtomFamily<T, K extends Canonical> = RegularAtomFamilyToken<T, K> & {
|
|
59
55
|
(key: K): RegularAtomToken<T>;
|
|
60
56
|
subject: Subject<StateCreation<AtomToken<T>> | StateDisposal<AtomToken<T>>>;
|
|
61
57
|
install: (store: Store) => void;
|
|
62
58
|
};
|
|
63
|
-
type MutableAtomFamilyOptions<T extends Transceiver<any>, J extends Json.Serializable, K extends
|
|
59
|
+
type MutableAtomFamilyOptions<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical> = JsonInterface<T, J> & {
|
|
64
60
|
key: string;
|
|
65
61
|
default: (key: K) => T;
|
|
66
62
|
effects?: (key: K) => AtomEffect<T>[];
|
|
67
63
|
mutable: true;
|
|
68
64
|
};
|
|
69
|
-
type MutableAtomFamilyToken<T extends Transceiver<any>, J extends Json.Serializable, K extends
|
|
65
|
+
type MutableAtomFamilyToken<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical> = {
|
|
70
66
|
key: string;
|
|
71
67
|
type: `mutable_atom_family`;
|
|
72
68
|
__T?: T;
|
|
73
69
|
__J?: J;
|
|
74
70
|
__K?: K;
|
|
75
71
|
};
|
|
76
|
-
type
|
|
77
|
-
/** @deprecated In ephemeral stores, prefer the `findState`, `findInStore`, or `find` functions. In immortal stores, prefer the `seekState`, `seekInStore`, or `seek` functions. */
|
|
78
|
-
(key: K): MutableAtomToken<T, J>;
|
|
79
|
-
};
|
|
80
|
-
type MutableAtomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends Json.Serializable> = JsonInterface<T, J> & MutableAtomFamilyToken<T, J, K> & {
|
|
72
|
+
type MutableAtomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical> = JsonInterface<T, J> & MutableAtomFamilyToken<T, J, K> & {
|
|
81
73
|
(key: K): MutableAtomToken<T, J>;
|
|
82
74
|
subject: Subject<StateCreation<MutableAtomToken<T, J>> | StateDisposal<MutableAtomToken<T, J>>>;
|
|
83
75
|
install: (store: Store) => void;
|
|
84
76
|
};
|
|
85
|
-
type AtomFamily<T, K extends
|
|
86
|
-
type AtomFamilyToken<T, K extends
|
|
87
|
-
declare function atomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends
|
|
88
|
-
declare function atomFamily<T, K extends
|
|
77
|
+
type AtomFamily<T, K extends Canonical = Canonical> = MutableAtomFamily<T extends Transceiver<any> ? T : never, any, K> | RegularAtomFamily<T, K>;
|
|
78
|
+
type AtomFamilyToken<T, K extends Canonical = Canonical> = MutableAtomFamilyToken<T extends Transceiver<any> ? T : never, any, K> | RegularAtomFamilyToken<T, K>;
|
|
79
|
+
declare function atomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical>(options: MutableAtomFamilyOptions<T, J, K>): MutableAtomFamilyToken<T, J, K>;
|
|
80
|
+
declare function atomFamily<T, K extends Canonical>(options: RegularAtomFamilyOptions<T, K>): RegularAtomFamilyToken<T, K>;
|
|
89
81
|
|
|
90
82
|
type TransactionToken<F extends Func> = {
|
|
91
83
|
key: string;
|
|
@@ -166,41 +158,33 @@ type ReadonlySelectorOptions<T> = {
|
|
|
166
158
|
};
|
|
167
159
|
declare function selector<T>(options: WritableSelectorOptions<T>): WritableSelectorToken<T>;
|
|
168
160
|
declare function selector<T>(options: ReadonlySelectorOptions<T>): ReadonlySelectorToken<T>;
|
|
169
|
-
type WritableSelectorFamilyOptions<T, K extends
|
|
161
|
+
type WritableSelectorFamilyOptions<T, K extends Canonical> = {
|
|
170
162
|
key: string;
|
|
171
163
|
get: (key: K) => Read<() => T>;
|
|
172
164
|
set: (key: K) => Write<(newValue: T) => void>;
|
|
173
165
|
};
|
|
174
|
-
type ReadonlySelectorFamilyOptions<T, K extends
|
|
166
|
+
type ReadonlySelectorFamilyOptions<T, K extends Canonical> = {
|
|
175
167
|
key: string;
|
|
176
168
|
get: (key: K) => Read<() => T>;
|
|
177
169
|
};
|
|
178
|
-
type WritableSelectorFamilyToken<T, K extends
|
|
170
|
+
type WritableSelectorFamilyToken<T, K extends Canonical> = {
|
|
179
171
|
key: string;
|
|
180
172
|
type: `selector_family`;
|
|
181
173
|
__T?: T;
|
|
182
174
|
__K?: K;
|
|
183
175
|
};
|
|
184
|
-
type
|
|
185
|
-
/** @deprecated In ephemeral stores, prefer the `findState`, `findInStore`, or `find` functions. In immortal stores, prefer the `seekState`, `seekInStore`, or `seek` functions. */
|
|
186
|
-
(key: K): WritableSelectorToken<T>;
|
|
187
|
-
};
|
|
188
|
-
type WritableSelectorFamily<T, K extends Json.Serializable> = WritableSelectorFamilyToken<T, K> & {
|
|
176
|
+
type WritableSelectorFamily<T, K extends Canonical> = WritableSelectorFamilyToken<T, K> & {
|
|
189
177
|
(key: K): WritableSelectorToken<T>;
|
|
190
178
|
subject: Subject<StateCreation<WritableSelectorToken<T>> | StateDisposal<WritableSelectorToken<T>>>;
|
|
191
179
|
install: (store: Store) => void;
|
|
192
180
|
};
|
|
193
|
-
type ReadonlySelectorFamilyToken<T, K extends
|
|
181
|
+
type ReadonlySelectorFamilyToken<T, K extends Canonical> = {
|
|
194
182
|
key: string;
|
|
195
183
|
type: `readonly_selector_family`;
|
|
196
184
|
__T?: T;
|
|
197
185
|
__K?: K;
|
|
198
186
|
};
|
|
199
|
-
type
|
|
200
|
-
/** @deprecated In ephemeral stores, prefer the `findState`, `findInStore`, or `find` functions. In immortal stores, prefer the `seekState`, `seekInStore`, or `seek` functions. */
|
|
201
|
-
(key: K): ReadonlySelectorToken<T>;
|
|
202
|
-
};
|
|
203
|
-
type ReadonlySelectorFamily<T, K extends Json.Serializable> = ((key: K) => ReadonlySelectorToken<T>) & {
|
|
187
|
+
type ReadonlySelectorFamily<T, K extends Canonical> = ((key: K) => ReadonlySelectorToken<T>) & {
|
|
204
188
|
key: string;
|
|
205
189
|
type: `readonly_selector_family`;
|
|
206
190
|
subject: Subject<StateCreation<ReadonlySelectorToken<T>> | StateDisposal<ReadonlySelectorToken<T>>>;
|
|
@@ -208,12 +192,12 @@ type ReadonlySelectorFamily<T, K extends Json.Serializable> = ((key: K) => Reado
|
|
|
208
192
|
__T?: T;
|
|
209
193
|
__K?: K;
|
|
210
194
|
};
|
|
211
|
-
type SelectorFamily<T, K extends
|
|
212
|
-
type SelectorFamilyToken<T, K extends
|
|
213
|
-
declare function selectorFamily<T, K extends
|
|
214
|
-
declare function selectorFamily<T, K extends
|
|
195
|
+
type SelectorFamily<T, K extends Canonical> = ReadonlySelectorFamily<T, K> | WritableSelectorFamily<T, K>;
|
|
196
|
+
type SelectorFamilyToken<T, K extends Canonical> = ReadonlySelectorFamilyToken<T, K> | WritableSelectorFamilyToken<T, K>;
|
|
197
|
+
declare function selectorFamily<T, K extends Canonical>(options: WritableSelectorFamilyOptions<T, K>): WritableSelectorFamilyToken<T, K>;
|
|
198
|
+
declare function selectorFamily<T, K extends Canonical>(options: ReadonlySelectorFamilyOptions<T, K>): ReadonlySelectorFamilyToken<T, K>;
|
|
215
199
|
|
|
216
|
-
type CtorToolkit<K extends
|
|
200
|
+
type CtorToolkit<K extends Canonical> = Flat<Omit<ActorToolkit$1, `find`> & {
|
|
217
201
|
bond<T extends Transceiver<any>, J extends Json.Serializable>(family: MutableAtomFamilyToken$1<T, J, K>): MutableAtomToken$1<T, J>;
|
|
218
202
|
bond<T>(family: RegularAtomFamilyToken$1<T, K>): RegularAtomToken$1<T>;
|
|
219
203
|
bond<T>(family: WritableSelectorFamilyToken$1<T, K>): WritableSelectorToken$1<T>;
|
|
@@ -234,7 +218,7 @@ type CtorToolkit<K extends Json.Serializable> = Flat<Omit<ActorToolkit$1, `find`
|
|
|
234
218
|
claim(below: MoleculeToken<any>, options: {
|
|
235
219
|
exclusive: boolean;
|
|
236
220
|
}): void;
|
|
237
|
-
spawn<Key extends
|
|
221
|
+
spawn<Key extends Canonical, Ctor extends MoleculeConstructor>(family: MoleculeFamilyToken<Ctor>, key: Key, ...params: MoleculeParams<Ctor>): MoleculeToken<Ctor>;
|
|
238
222
|
}>;
|
|
239
223
|
type MoleculeConstructor = new (toolkit: CtorToolkit<any>, key: any, ...params: any) => any;
|
|
240
224
|
type Tail<T extends any[]> = T extends [any, ...infer Rest] ? Rest : any[];
|
|
@@ -268,13 +252,13 @@ type MoleculeKey<M extends MoleculeConstructor> = InstanceType<M>[`key`];
|
|
|
268
252
|
declare function makeRootMolecule(key: string, store?: Store): MoleculeToken<ObjectConstructor>;
|
|
269
253
|
|
|
270
254
|
declare function disposeState(token: MoleculeToken<any> | ReadableToken<any>): void;
|
|
271
|
-
declare function disposeState<K extends
|
|
255
|
+
declare function disposeState<K extends Canonical>(token: ReadableFamilyToken<any, K>, key: K): void;
|
|
272
256
|
declare function disposeState<M extends MoleculeConstructor>(token: MoleculeFamilyToken<M>, key: MoleculeKey<M>): void;
|
|
273
257
|
|
|
274
258
|
declare function getState<T>(token: ReadableToken<T>): T;
|
|
275
259
|
declare function getState<M extends MoleculeConstructor>(token: MoleculeToken<M>): InstanceType<M>;
|
|
276
|
-
declare function getState<T, K extends
|
|
277
|
-
declare function getState<M extends MoleculeConstructor>(token: MoleculeFamilyToken<M>, key:
|
|
260
|
+
declare function getState<T, K extends Canonical>(token: ReadableFamilyToken<T, K>, key: K): T;
|
|
261
|
+
declare function getState<M extends MoleculeConstructor>(token: MoleculeFamilyToken<M>, key: Canonical): InstanceType<M>;
|
|
278
262
|
|
|
279
263
|
declare const LoggerIconDictionary: {
|
|
280
264
|
readonly "\u231B": "Timeline event fully captured";
|
|
@@ -346,12 +330,6 @@ declare class AtomIOLogger implements Logger {
|
|
|
346
330
|
warn: LogFn;
|
|
347
331
|
}
|
|
348
332
|
|
|
349
|
-
type primitive = boolean | number | string | null;
|
|
350
|
-
|
|
351
|
-
type Serializable = primitive | Readonly<{
|
|
352
|
-
[key: string]: Serializable;
|
|
353
|
-
}> | ReadonlyArray<Serializable>;
|
|
354
|
-
|
|
355
333
|
/**
|
|
356
334
|
* @public
|
|
357
335
|
* Set the value of a state into the implicit store.
|
|
@@ -369,7 +347,7 @@ declare function setState<T, New extends T>(token: WritableToken<T>, value: New
|
|
|
369
347
|
* @param value - The new value of the state.
|
|
370
348
|
* @overload Streamlined
|
|
371
349
|
*/
|
|
372
|
-
declare function setState<T, K extends
|
|
350
|
+
declare function setState<T, K extends Canonical, New extends T>(token: WritableFamilyToken<T, K>, key: K, value: New | ((oldValue: T) => New)): void;
|
|
373
351
|
|
|
374
352
|
declare class Silo {
|
|
375
353
|
store: Store;
|
|
@@ -466,13 +444,13 @@ type ReadonlySelectorToken<T> = {
|
|
|
466
444
|
type SelectorToken<T> = ReadonlySelectorToken<T> | WritableSelectorToken<T>;
|
|
467
445
|
type WritableToken<T> = AtomToken<T> | WritableSelectorToken<T>;
|
|
468
446
|
type ReadableToken<T> = AtomToken<T> | SelectorToken<T>;
|
|
469
|
-
type WritableFamily<T, K extends
|
|
470
|
-
type ReadableFamily<T, K extends
|
|
471
|
-
type WritableFamilyToken<T, K extends
|
|
472
|
-
type ReadableFamilyToken<T, K extends
|
|
447
|
+
type WritableFamily<T, K extends Canonical> = AtomFamily<T, K> | WritableSelectorFamily<T, K>;
|
|
448
|
+
type ReadableFamily<T, K extends Canonical> = AtomFamily<T, K> | SelectorFamily<T, K>;
|
|
449
|
+
type WritableFamilyToken<T, K extends Canonical> = AtomFamilyToken<T, K> | WritableSelectorFamilyToken<T, K>;
|
|
450
|
+
type ReadableFamilyToken<T, K extends Canonical> = AtomFamilyToken<T, K> | SelectorFamilyToken<T, K>;
|
|
473
451
|
type FamilyMetadata = {
|
|
474
452
|
key: string;
|
|
475
453
|
subKey: string;
|
|
476
454
|
};
|
|
477
455
|
|
|
478
|
-
export { type ActorToolkit, type AtomEffect, type AtomFamily, type AtomFamilyToken, AtomIOLogger, type AtomOnly, type AtomToken, type CtorToolkit, type Effectors, type FamilyMetadata, type GetterToolkit, type KeyedStateUpdate, LOG_LEVELS, type LogFilter, type LogFn, type LogLevel, type Logger, type LoggerIcon, type MoleculeConstructor, type MoleculeCreation, type MoleculeDisposal, type MoleculeFamily, type MoleculeFamilyOptions, type MoleculeFamilyToken, type MoleculeKey, type MoleculeParams, type MoleculeToken, type MoleculeType, type MutableAtomFamily, type MutableAtomFamilyOptions, type MutableAtomFamilyToken, type
|
|
456
|
+
export { type ActorToolkit, type AtomEffect, type AtomFamily, type AtomFamilyToken, AtomIOLogger, type AtomOnly, type AtomToken, type CtorToolkit, type Effectors, type FamilyMetadata, type GetterToolkit, type KeyedStateUpdate, LOG_LEVELS, type LogFilter, type LogFn, type LogLevel, type Logger, type LoggerIcon, type MoleculeConstructor, type MoleculeCreation, type MoleculeDisposal, type MoleculeFamily, type MoleculeFamilyOptions, type MoleculeFamilyToken, type MoleculeKey, type MoleculeParams, type MoleculeToken, type MoleculeType, type MutableAtomFamily, type MutableAtomFamilyOptions, type MutableAtomFamilyToken, type MutableAtomOptions, type MutableAtomToken, type Read, type ReadableFamily, type ReadableFamilyToken, type ReadableToken, type ReadonlySelectorFamily, type ReadonlySelectorFamilyOptions, type ReadonlySelectorFamilyToken, type ReadonlySelectorOptions, type ReadonlySelectorToken, type RegularAtomFamily, type RegularAtomFamilyOptions, type RegularAtomFamilyToken, type RegularAtomOptions, type RegularAtomToken, type SelectorFamily, type SelectorFamilyToken, type SelectorToken, type SetterToolkit, Silo, type StateCreation, type StateDisposal, type StateUpdate, type TimelineManageable, type TimelineOptions, type TimelineToken, type TimelineUpdate, type TokenDenomination, type TokenType, type Transact, type TransactionIO, type TransactionOptions, type TransactionToken, type TransactionUpdate, type TransactionUpdateContent, type TransactionUpdateHandler, type UpdateHandler, type WritableFamily, type WritableFamilyToken, type WritableSelectorFamily, type WritableSelectorFamilyOptions, type WritableSelectorFamilyToken, type WritableSelectorOptions, type WritableSelectorToken, type WritableToken, type Write, atom, atomFamily, belongsTo, disposeState, getState, isToken, makeMolecule, makeRootMolecule, moleculeFamily, redo, runTransaction, selector, selectorFamily, setState, simpleLog, simpleLogger, subscribe, timeline, transaction, undo };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MutableAtomFamilyToken, MutableAtomToken, RegularAtomFamilyToken, RegularAtomToken, WritableSelectorFamilyToken, WritableSelectorToken, ReadonlySelectorFamilyToken, ReadonlySelectorToken, WritableFamilyToken, WritableToken, ReadableFamilyToken, ReadableToken } from 'atom.io';
|
|
2
2
|
import { Transceiver } from 'atom.io/internal';
|
|
3
|
-
import { Json } from 'atom.io/json';
|
|
3
|
+
import { Json, Canonical } from 'atom.io/json';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @overload Mutable Atom
|
|
@@ -10,7 +10,7 @@ import { Json } from 'atom.io/json';
|
|
|
10
10
|
* @returns
|
|
11
11
|
* The current value of the state.
|
|
12
12
|
*/
|
|
13
|
-
declare function findState<T extends Transceiver<any>, J extends Json.Serializable, K extends
|
|
13
|
+
declare function findState<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J>;
|
|
14
14
|
/**
|
|
15
15
|
* Finds a state in the store.
|
|
16
16
|
* @param token - The token of the state family.
|
|
@@ -18,7 +18,7 @@ declare function findState<T extends Transceiver<any>, J extends Json.Serializab
|
|
|
18
18
|
* @returns
|
|
19
19
|
* The current value of the state.
|
|
20
20
|
*/
|
|
21
|
-
declare function findState<T, K extends
|
|
21
|
+
declare function findState<T, K extends Canonical, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T>;
|
|
22
22
|
/**
|
|
23
23
|
* Finds a state in the store.
|
|
24
24
|
* @param token - The token of the state family.
|
|
@@ -26,7 +26,7 @@ declare function findState<T, K extends Json.Serializable, Key extends K>(token:
|
|
|
26
26
|
* @returns
|
|
27
27
|
* The current value of the state.
|
|
28
28
|
*/
|
|
29
|
-
declare function findState<T, K extends
|
|
29
|
+
declare function findState<T, K extends Canonical, Key extends K>(token: WritableSelectorFamilyToken<T, K>, key: Key): WritableSelectorToken<T>;
|
|
30
30
|
/**
|
|
31
31
|
* Finds a state in the store.
|
|
32
32
|
* @param token - The token of the state family.
|
|
@@ -34,7 +34,7 @@ declare function findState<T, K extends Json.Serializable, Key extends K>(token:
|
|
|
34
34
|
* @returns
|
|
35
35
|
* The current value of the state.
|
|
36
36
|
*/
|
|
37
|
-
declare function findState<T, K extends
|
|
37
|
+
declare function findState<T, K extends Canonical, Key extends K>(token: ReadonlySelectorFamilyToken<T, K>, key: Key): ReadonlySelectorToken<T>;
|
|
38
38
|
/**
|
|
39
39
|
* Finds a state in the store.
|
|
40
40
|
* @param token - The token of the state family.
|
|
@@ -42,7 +42,7 @@ declare function findState<T, K extends Json.Serializable, Key extends K>(token:
|
|
|
42
42
|
* @returns
|
|
43
43
|
* The current value of the state.
|
|
44
44
|
*/
|
|
45
|
-
declare function findState<T, K extends
|
|
45
|
+
declare function findState<T, K extends Canonical, Key extends K>(token: WritableFamilyToken<T, K>, key: Key): WritableToken<T>;
|
|
46
46
|
/**
|
|
47
47
|
* @public
|
|
48
48
|
* Finds a {@link ReadableToken} in the store.
|
|
@@ -52,6 +52,6 @@ declare function findState<T, K extends Json.Serializable, Key extends K>(token:
|
|
|
52
52
|
* The current value of the state.
|
|
53
53
|
* @overload Unknown
|
|
54
54
|
*/
|
|
55
|
-
declare function findState<T, K extends
|
|
55
|
+
declare function findState<T, K extends Canonical, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T>;
|
|
56
56
|
|
|
57
57
|
export { findState };
|
|
@@ -14,7 +14,7 @@ import type {
|
|
|
14
14
|
} from "atom.io"
|
|
15
15
|
import type { Transceiver } from "atom.io/internal"
|
|
16
16
|
import { findInStore, IMPLICIT } from "atom.io/internal"
|
|
17
|
-
import type { Json } from "atom.io/json"
|
|
17
|
+
import type { Canonical, Json } from "atom.io/json"
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* @overload Mutable Atom
|
|
@@ -27,7 +27,7 @@ import type { Json } from "atom.io/json"
|
|
|
27
27
|
export function findState<
|
|
28
28
|
T extends Transceiver<any>,
|
|
29
29
|
J extends Json.Serializable,
|
|
30
|
-
K extends
|
|
30
|
+
K extends Canonical,
|
|
31
31
|
Key extends K,
|
|
32
32
|
>(token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J>
|
|
33
33
|
/**
|
|
@@ -37,7 +37,7 @@ export function findState<
|
|
|
37
37
|
* @returns
|
|
38
38
|
* The current value of the state.
|
|
39
39
|
*/
|
|
40
|
-
export function findState<T, K extends
|
|
40
|
+
export function findState<T, K extends Canonical, Key extends K>(
|
|
41
41
|
token: RegularAtomFamilyToken<T, K>,
|
|
42
42
|
key: Key,
|
|
43
43
|
): RegularAtomToken<T>
|
|
@@ -48,7 +48,7 @@ export function findState<T, K extends Json.Serializable, Key extends K>(
|
|
|
48
48
|
* @returns
|
|
49
49
|
* The current value of the state.
|
|
50
50
|
*/
|
|
51
|
-
export function findState<T, K extends
|
|
51
|
+
export function findState<T, K extends Canonical, Key extends K>(
|
|
52
52
|
token: WritableSelectorFamilyToken<T, K>,
|
|
53
53
|
key: Key,
|
|
54
54
|
): WritableSelectorToken<T>
|
|
@@ -59,7 +59,7 @@ export function findState<T, K extends Json.Serializable, Key extends K>(
|
|
|
59
59
|
* @returns
|
|
60
60
|
* The current value of the state.
|
|
61
61
|
*/
|
|
62
|
-
export function findState<T, K extends
|
|
62
|
+
export function findState<T, K extends Canonical, Key extends K>(
|
|
63
63
|
token: ReadonlySelectorFamilyToken<T, K>,
|
|
64
64
|
key: Key,
|
|
65
65
|
): ReadonlySelectorToken<T>
|
|
@@ -70,7 +70,7 @@ export function findState<T, K extends Json.Serializable, Key extends K>(
|
|
|
70
70
|
* @returns
|
|
71
71
|
* The current value of the state.
|
|
72
72
|
*/
|
|
73
|
-
export function findState<T, K extends
|
|
73
|
+
export function findState<T, K extends Canonical, Key extends K>(
|
|
74
74
|
token: WritableFamilyToken<T, K>,
|
|
75
75
|
key: Key,
|
|
76
76
|
): WritableToken<T>
|
|
@@ -83,7 +83,7 @@ export function findState<T, K extends Json.Serializable, Key extends K>(
|
|
|
83
83
|
* The current value of the state.
|
|
84
84
|
* @overload Unknown
|
|
85
85
|
*/
|
|
86
|
-
export function findState<T, K extends
|
|
86
|
+
export function findState<T, K extends Canonical, Key extends K>(
|
|
87
87
|
token: ReadableFamilyToken<T, K>,
|
|
88
88
|
key: Key,
|
|
89
89
|
): ReadableToken<T>
|
package/immortal/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { MutableAtomFamilyToken, MutableAtomToken, RegularAtomFamilyToken, RegularAtomToken, WritableSelectorFamilyToken, WritableSelectorToken, ReadonlySelectorFamilyToken, ReadonlySelectorToken, WritableFamilyToken, WritableToken, ReadableFamilyToken, ReadableToken, MoleculeConstructor, MoleculeFamilyToken, MoleculeKey, MoleculeToken } from 'atom.io';
|
|
2
2
|
import { Transceiver } from 'atom.io/internal';
|
|
3
|
-
import { Json } from 'atom.io/json';
|
|
3
|
+
import { Json, Canonical } from 'atom.io/json';
|
|
4
4
|
|
|
5
|
-
declare function seekState<T extends Transceiver<any>, J extends Json.Serializable, K extends
|
|
6
|
-
declare function seekState<T, K extends
|
|
7
|
-
declare function seekState<T, K extends
|
|
8
|
-
declare function seekState<T, K extends
|
|
9
|
-
declare function seekState<T, K extends
|
|
10
|
-
declare function seekState<T, K extends
|
|
5
|
+
declare function seekState<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J> | undefined;
|
|
6
|
+
declare function seekState<T, K extends Canonical, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T> | undefined;
|
|
7
|
+
declare function seekState<T, K extends Canonical, Key extends K>(token: WritableSelectorFamilyToken<T, K>, key: Key): WritableSelectorToken<T> | undefined;
|
|
8
|
+
declare function seekState<T, K extends Canonical, Key extends K>(token: ReadonlySelectorFamilyToken<T, K>, key: Key): ReadonlySelectorToken<T> | undefined;
|
|
9
|
+
declare function seekState<T, K extends Canonical, Key extends K>(token: WritableFamilyToken<T, K>, key: Key): WritableToken<T> | undefined;
|
|
10
|
+
declare function seekState<T, K extends Canonical, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T> | undefined;
|
|
11
11
|
declare function seekState<M extends MoleculeConstructor>(token: MoleculeFamilyToken<M>, key: MoleculeKey<M>): MoleculeToken<M> | undefined;
|
|
12
12
|
|
|
13
13
|
export { seekState };
|
|
@@ -18,39 +18,39 @@ import type {
|
|
|
18
18
|
} from "atom.io"
|
|
19
19
|
import type { Transceiver } from "atom.io/internal"
|
|
20
20
|
import { IMPLICIT, seekInStore } from "atom.io/internal"
|
|
21
|
-
import type { Json } from "atom.io/json"
|
|
21
|
+
import type { Canonical, Json } from "atom.io/json"
|
|
22
22
|
|
|
23
23
|
export function seekState<
|
|
24
24
|
T extends Transceiver<any>,
|
|
25
25
|
J extends Json.Serializable,
|
|
26
|
-
K extends
|
|
26
|
+
K extends Canonical,
|
|
27
27
|
Key extends K,
|
|
28
28
|
>(
|
|
29
29
|
token: MutableAtomFamilyToken<T, J, K>,
|
|
30
30
|
key: Key,
|
|
31
31
|
): MutableAtomToken<T, J> | undefined
|
|
32
32
|
|
|
33
|
-
export function seekState<T, K extends
|
|
33
|
+
export function seekState<T, K extends Canonical, Key extends K>(
|
|
34
34
|
token: RegularAtomFamilyToken<T, K>,
|
|
35
35
|
key: Key,
|
|
36
36
|
): RegularAtomToken<T> | undefined
|
|
37
37
|
|
|
38
|
-
export function seekState<T, K extends
|
|
38
|
+
export function seekState<T, K extends Canonical, Key extends K>(
|
|
39
39
|
token: WritableSelectorFamilyToken<T, K>,
|
|
40
40
|
key: Key,
|
|
41
41
|
): WritableSelectorToken<T> | undefined
|
|
42
42
|
|
|
43
|
-
export function seekState<T, K extends
|
|
43
|
+
export function seekState<T, K extends Canonical, Key extends K>(
|
|
44
44
|
token: ReadonlySelectorFamilyToken<T, K>,
|
|
45
45
|
key: Key,
|
|
46
46
|
): ReadonlySelectorToken<T> | undefined
|
|
47
47
|
|
|
48
|
-
export function seekState<T, K extends
|
|
48
|
+
export function seekState<T, K extends Canonical, Key extends K>(
|
|
49
49
|
token: WritableFamilyToken<T, K>,
|
|
50
50
|
key: Key,
|
|
51
51
|
): WritableToken<T> | undefined
|
|
52
52
|
|
|
53
|
-
export function seekState<T, K extends
|
|
53
|
+
export function seekState<T, K extends Canonical, Key extends K>(
|
|
54
54
|
token: ReadableFamilyToken<T, K>,
|
|
55
55
|
key: Key,
|
|
56
56
|
): ReadableToken<T> | undefined
|
|
@@ -62,7 +62,7 @@ export function seekState<M extends MoleculeConstructor>(
|
|
|
62
62
|
|
|
63
63
|
export function seekState(
|
|
64
64
|
token: MoleculeFamilyToken<any> | ReadableFamilyToken<any, any>,
|
|
65
|
-
key:
|
|
65
|
+
key: Canonical,
|
|
66
66
|
): MoleculeToken<any> | ReadableToken<any> | undefined {
|
|
67
67
|
if (token.type === `molecule_family`) {
|
|
68
68
|
return seekInStore(token, key, IMPLICIT.STORE)
|