atom.io 0.28.2 → 0.29.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/dist/{chunk-D3ZPRYEW.js → chunk-4WXELLFT.js} +40 -49
- package/dist/index.d.ts +15 -15
- package/ephemeral/dist/index.d.ts +6 -6
- package/ephemeral/src/find-state.ts +6 -6
- package/immortal/dist/index.d.ts +6 -6
- package/immortal/src/seek-state.ts +6 -6
- package/internal/dist/index.d.ts +27 -27
- package/internal/dist/index.js +1 -1
- package/internal/src/atom/dispose-atom.ts +0 -11
- package/internal/src/families/find-in-store.ts +8 -8
- package/internal/src/families/get-family-of-token.ts +64 -0
- package/internal/src/families/init-family-member.ts +9 -10
- package/internal/src/families/seek-in-store.ts +8 -8
- package/internal/src/get-state/get-from-store.ts +18 -4
- package/internal/src/ingest-updates/ingest-creation-disposal.ts +16 -25
- package/internal/src/selector/dispose-selector.ts +0 -13
- package/internal/src/set-state/set-into-store.ts +13 -5
- package/json/dist/index.d.ts +3 -3
- package/json/dist/index.js +1 -1
- package/json/src/entries.ts +1 -1
- package/json/src/index.ts +13 -1
- package/package.json +13 -13
- package/realtime-server/dist/index.d.ts +8 -10
- package/realtime-server/src/ipc-sockets/child-socket.ts +1 -5
- package/realtime-server/src/ipc-sockets/custom-socket.ts +7 -7
- package/realtime-server/src/ipc-sockets/parent-socket.ts +4 -4
- package/src/index.ts +25 -17
- package/transceivers/set-rtx/dist/index.js +5 -5
- package/transceivers/set-rtx/src/set-rtx.ts +6 -6
|
@@ -505,14 +505,33 @@ function createAtomFamily(store, options) {
|
|
|
505
505
|
return createRegularAtomFamily(store, options);
|
|
506
506
|
}
|
|
507
507
|
|
|
508
|
+
// internal/src/families/get-family-of-token.ts
|
|
509
|
+
function getFamilyOfToken(store, token) {
|
|
510
|
+
if (token.family) {
|
|
511
|
+
const family = store.families.get(token.family.key);
|
|
512
|
+
if (family) {
|
|
513
|
+
return family;
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
|
|
508
518
|
// internal/src/get-state/get-from-store.ts
|
|
509
519
|
function getFromStore(store, ...params) {
|
|
510
520
|
let token;
|
|
521
|
+
let family;
|
|
522
|
+
let key;
|
|
511
523
|
if (params.length === 1) {
|
|
512
524
|
token = params[0];
|
|
525
|
+
if (token.type !== `molecule`) {
|
|
526
|
+
family = getFamilyOfToken(store, token) ?? null;
|
|
527
|
+
if (family) {
|
|
528
|
+
key = token.family ? parseJson(token.family.subKey) : null;
|
|
529
|
+
token = findInStore(store, family, key);
|
|
530
|
+
}
|
|
531
|
+
}
|
|
513
532
|
} else {
|
|
514
|
-
|
|
515
|
-
|
|
533
|
+
family = params[0];
|
|
534
|
+
key = params[1];
|
|
516
535
|
let maybeToken;
|
|
517
536
|
if (family.type === `molecule_family`) {
|
|
518
537
|
maybeToken = seekInStore(store, family, key) ?? counterfeit(family, key);
|
|
@@ -522,7 +541,7 @@ function getFromStore(store, ...params) {
|
|
|
522
541
|
token = maybeToken;
|
|
523
542
|
}
|
|
524
543
|
if (`counterfeit` in token && `family` in token) {
|
|
525
|
-
|
|
544
|
+
family = token.type === `molecule` ? withdraw(token.family, store) : (
|
|
526
545
|
// biome-ignore lint/style/noNonNullAssertion: family must be present
|
|
527
546
|
store.families.get(token.family.key)
|
|
528
547
|
);
|
|
@@ -877,14 +896,6 @@ function disposeSelector(selectorToken, store) {
|
|
|
877
896
|
}
|
|
878
897
|
target.valueMap.delete(key);
|
|
879
898
|
target.selectorAtoms.delete(key);
|
|
880
|
-
const downstreamTokens = target.selectorGraph.getRelationEntries({ upstreamSelectorKey: key }).filter(([_, { source }]) => source === key).map(
|
|
881
|
-
([downstreamSelectorKey]) => target.selectors.get(downstreamSelectorKey) ?? target.readonlySelectors.get(downstreamSelectorKey)
|
|
882
|
-
);
|
|
883
|
-
for (const downstreamToken of downstreamTokens) {
|
|
884
|
-
if (downstreamToken) {
|
|
885
|
-
disposeSelector(downstreamToken, store);
|
|
886
|
-
}
|
|
887
|
-
}
|
|
888
899
|
target.selectorGraph.delete(key);
|
|
889
900
|
store.logger.info(`\u{1F525}`, selectorToken.type, key, `deleted`);
|
|
890
901
|
if (isChildStore(target) && target.transactionMeta.phase === `building`) {
|
|
@@ -1256,8 +1267,7 @@ function makeMoleculeInStore(store, context, familyToken, key, ...params) {
|
|
|
1256
1267
|
|
|
1257
1268
|
// internal/src/families/init-family-member.ts
|
|
1258
1269
|
function initFamilyMemberInStore(store, token, key) {
|
|
1259
|
-
const
|
|
1260
|
-
const family = store.families.get(familyKey);
|
|
1270
|
+
const family = store.families.get(token.key);
|
|
1261
1271
|
if (family === void 0) {
|
|
1262
1272
|
throw new NotFoundError(token, store);
|
|
1263
1273
|
}
|
|
@@ -1387,16 +1397,22 @@ ${disposal.trace}` : `No previous disposal trace was found.`
|
|
|
1387
1397
|
// internal/src/set-state/set-into-store.ts
|
|
1388
1398
|
function setIntoStore(store, ...params) {
|
|
1389
1399
|
let token;
|
|
1400
|
+
let family;
|
|
1401
|
+
let key;
|
|
1390
1402
|
let value;
|
|
1391
1403
|
if (params.length === 2) {
|
|
1392
1404
|
token = params[0];
|
|
1393
1405
|
value = params[1];
|
|
1406
|
+
family = getFamilyOfToken(store, token) ?? null;
|
|
1407
|
+
if (family) {
|
|
1408
|
+
key = token.family ? parseJson(token.family.subKey) : null;
|
|
1409
|
+
token = findInStore(store, family, key);
|
|
1410
|
+
}
|
|
1394
1411
|
} else {
|
|
1395
|
-
|
|
1396
|
-
|
|
1412
|
+
family = params[0];
|
|
1413
|
+
key = params[1];
|
|
1397
1414
|
value = params[2];
|
|
1398
|
-
|
|
1399
|
-
token = maybeToken;
|
|
1415
|
+
token = findInStore(store, family, key);
|
|
1400
1416
|
}
|
|
1401
1417
|
if (`counterfeit` in token) {
|
|
1402
1418
|
const disposal = store.disposalTraces.buffer.find(
|
|
@@ -1447,7 +1463,7 @@ function ingestAtomUpdate(applying, atomUpdate, store) {
|
|
|
1447
1463
|
function ingestCreationEvent(update, applying, store) {
|
|
1448
1464
|
switch (applying) {
|
|
1449
1465
|
case `newValue`: {
|
|
1450
|
-
createInStore(update
|
|
1466
|
+
createInStore(update, store);
|
|
1451
1467
|
break;
|
|
1452
1468
|
}
|
|
1453
1469
|
case `oldValue`: {
|
|
@@ -1463,34 +1479,18 @@ function ingestDisposalEvent(update, applying, store) {
|
|
|
1463
1479
|
break;
|
|
1464
1480
|
}
|
|
1465
1481
|
case `oldValue`: {
|
|
1466
|
-
createInStore(update
|
|
1482
|
+
createInStore(update, store);
|
|
1467
1483
|
store.valueMap.set(update.token.key, update.value);
|
|
1468
1484
|
break;
|
|
1469
1485
|
}
|
|
1470
1486
|
}
|
|
1471
1487
|
}
|
|
1472
|
-
function createInStore(
|
|
1473
|
-
|
|
1474
|
-
|
|
1488
|
+
function createInStore(update, store) {
|
|
1489
|
+
const { family: familyMeta } = update.token;
|
|
1490
|
+
if (familyMeta) {
|
|
1491
|
+
const family = store.families.get(familyMeta.key);
|
|
1475
1492
|
if (family) {
|
|
1476
|
-
|
|
1477
|
-
if (molecule) {
|
|
1478
|
-
growMoleculeInStore(molecule, family, store);
|
|
1479
|
-
return;
|
|
1480
|
-
}
|
|
1481
|
-
if (store.config.lifespan === `immortal`) {
|
|
1482
|
-
store.logger.error(
|
|
1483
|
-
`\u{1F41E}`,
|
|
1484
|
-
`atom`,
|
|
1485
|
-
token.family.key,
|
|
1486
|
-
`tried to create member`,
|
|
1487
|
-
`"${token.family.subKey}"`,
|
|
1488
|
-
`but a molecule with that key was not found in store`,
|
|
1489
|
-
`"${store.config.name}"`
|
|
1490
|
-
);
|
|
1491
|
-
return;
|
|
1492
|
-
}
|
|
1493
|
-
initFamilyMemberInStore(store, family, parseJson(token.family.subKey));
|
|
1493
|
+
findInStore(store, family, parseJson(familyMeta.subKey));
|
|
1494
1494
|
}
|
|
1495
1495
|
}
|
|
1496
1496
|
}
|
|
@@ -2713,15 +2713,6 @@ function disposeAtom(atomToken, store) {
|
|
|
2713
2713
|
}
|
|
2714
2714
|
target.atoms.delete(key);
|
|
2715
2715
|
target.valueMap.delete(key);
|
|
2716
|
-
const selectorKeys = target.selectorAtoms.getRelatedKeys(key);
|
|
2717
|
-
if (selectorKeys) {
|
|
2718
|
-
for (const selectorKey of selectorKeys) {
|
|
2719
|
-
const token = target.selectors.get(selectorKey) ?? target.readonlySelectors.get(selectorKey);
|
|
2720
|
-
if (token) {
|
|
2721
|
-
disposeSelector(token, store);
|
|
2722
|
-
}
|
|
2723
|
-
}
|
|
2724
|
-
}
|
|
2725
2716
|
target.selectorAtoms.delete(key);
|
|
2726
2717
|
target.atomsThatAreDefault.delete(key);
|
|
2727
2718
|
target.timelineTopics.delete(key);
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Transceiver, Func, EnvironmentData, Flat, Subject, Store, Timeline, TimelineAtomUpdate, TimelineMoleculeCreation, TimelineMoleculeDisposal, TimelineSelectorUpdate, TimelineStateCreation, TimelineStateDisposal, TimelineTransactionUpdate } from 'atom.io/internal';
|
|
2
|
-
import { Json, JsonInterface, Canonical } from 'atom.io/json';
|
|
2
|
+
import { Json, JsonInterface, Canonical, stringified } 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';
|
|
@@ -391,40 +391,40 @@ declare function belongsTo<Family extends ReadonlySelectorFamilyToken$1<any, any
|
|
|
391
391
|
declare function belongsTo<Family extends WritableFamilyToken$1<any, any>>(family: Family, unknownToken: ReadableToken$1<any>): unknownToken is WritableToken$1<TokenType<Family>>;
|
|
392
392
|
declare function belongsTo<Family extends ReadableFamilyToken$1<any, any>>(family: Family, unknownToken: ReadableToken$1<any>): unknownToken is ReadableToken$1<TokenType<Family>>;
|
|
393
393
|
|
|
394
|
-
type RegularAtomToken<T> = {
|
|
394
|
+
type RegularAtomToken<T, K extends Canonical = any> = {
|
|
395
395
|
key: string;
|
|
396
396
|
type: `atom`;
|
|
397
|
-
family?: FamilyMetadata
|
|
397
|
+
family?: FamilyMetadata<K>;
|
|
398
398
|
__T?: T;
|
|
399
399
|
};
|
|
400
|
-
type MutableAtomToken<T extends Transceiver<any>, J extends Json.Serializable> = {
|
|
400
|
+
type MutableAtomToken<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical = any> = {
|
|
401
401
|
key: string;
|
|
402
402
|
type: `mutable_atom`;
|
|
403
|
-
family?: FamilyMetadata
|
|
403
|
+
family?: FamilyMetadata<K>;
|
|
404
404
|
__J?: J;
|
|
405
405
|
__U?: T extends Transceiver<infer Update> ? Update : never;
|
|
406
406
|
};
|
|
407
|
-
type AtomToken<T> = MutableAtomToken<T extends Transceiver<any> ? T : never, any> | RegularAtomToken<T>;
|
|
408
|
-
type WritableSelectorToken<T> = {
|
|
407
|
+
type AtomToken<T, K extends Canonical = any> = MutableAtomToken<T extends Transceiver<any> ? T : never, any, K> | RegularAtomToken<T, K>;
|
|
408
|
+
type WritableSelectorToken<T, K extends Canonical = any> = {
|
|
409
409
|
key: string;
|
|
410
410
|
type: `selector`;
|
|
411
|
-
family?: FamilyMetadata
|
|
411
|
+
family?: FamilyMetadata<K>;
|
|
412
412
|
__T?: T;
|
|
413
413
|
};
|
|
414
|
-
type ReadonlySelectorToken<T> = {
|
|
414
|
+
type ReadonlySelectorToken<T, K extends Canonical = any> = {
|
|
415
415
|
key: string;
|
|
416
416
|
type: `readonly_selector`;
|
|
417
|
-
family?: FamilyMetadata
|
|
417
|
+
family?: FamilyMetadata<K>;
|
|
418
418
|
__T?: T;
|
|
419
419
|
};
|
|
420
|
-
type SelectorToken<T> = ReadonlySelectorToken<T> | WritableSelectorToken<T>;
|
|
421
|
-
type WritableToken<T> = AtomToken<T> | WritableSelectorToken<T>;
|
|
422
|
-
type ReadableToken<T> = AtomToken<T> | SelectorToken<T>;
|
|
420
|
+
type SelectorToken<T, K extends Canonical = any> = ReadonlySelectorToken<T, K> | WritableSelectorToken<T, K>;
|
|
421
|
+
type WritableToken<T, K extends Canonical = any> = AtomToken<T, K> | WritableSelectorToken<T, K>;
|
|
422
|
+
type ReadableToken<T, K extends Canonical = any> = AtomToken<T, K> | SelectorToken<T, K>;
|
|
423
423
|
type WritableFamilyToken<T, K extends Canonical> = AtomFamilyToken<T, K> | WritableSelectorFamilyToken<T, K>;
|
|
424
424
|
type ReadableFamilyToken<T, K extends Canonical> = AtomFamilyToken<T, K> | SelectorFamilyToken<T, K>;
|
|
425
|
-
type FamilyMetadata = {
|
|
425
|
+
type FamilyMetadata<K extends Canonical = any> = {
|
|
426
426
|
key: string;
|
|
427
|
-
subKey:
|
|
427
|
+
subKey: stringified<K>;
|
|
428
428
|
};
|
|
429
429
|
|
|
430
430
|
export { type ActorToolkit, type AtomEffect, 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 MutableAtomFamilyOptions, type MutableAtomFamilyToken, type MutableAtomOptions, type MutableAtomToken, type Read, type ReadableFamilyToken, type ReadableToken, type ReadonlySelectorFamilyOptions, type ReadonlySelectorFamilyToken, type ReadonlySelectorOptions, type ReadonlySelectorToken, type RegularAtomFamilyOptions, type RegularAtomFamilyToken, type RegularAtomOptions, type RegularAtomToken, 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 WritableFamilyToken, 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 };
|
|
@@ -10,7 +10,7 @@ import { Json, Canonical } 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 Canonical, Key extends K>(token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J>;
|
|
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, K>;
|
|
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 Canonical, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T>;
|
|
21
|
+
declare function findState<T, K extends Canonical, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T, K>;
|
|
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 Canonical, Key extends K>(token: Regular
|
|
|
26
26
|
* @returns
|
|
27
27
|
* The current value of the state.
|
|
28
28
|
*/
|
|
29
|
-
declare function findState<T, K extends Canonical, Key extends K>(token: WritableSelectorFamilyToken<T, K>, key: Key): WritableSelectorToken<T>;
|
|
29
|
+
declare function findState<T, K extends Canonical, Key extends K>(token: WritableSelectorFamilyToken<T, K>, key: Key): WritableSelectorToken<T, K>;
|
|
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 Canonical, Key extends K>(token: Writabl
|
|
|
34
34
|
* @returns
|
|
35
35
|
* The current value of the state.
|
|
36
36
|
*/
|
|
37
|
-
declare function findState<T, K extends Canonical, Key extends K>(token: ReadonlySelectorFamilyToken<T, K>, key: Key): ReadonlySelectorToken<T>;
|
|
37
|
+
declare function findState<T, K extends Canonical, Key extends K>(token: ReadonlySelectorFamilyToken<T, K>, key: Key): ReadonlySelectorToken<T, K>;
|
|
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 Canonical, Key extends K>(token: Readonl
|
|
|
42
42
|
* @returns
|
|
43
43
|
* The current value of the state.
|
|
44
44
|
*/
|
|
45
|
-
declare function findState<T, K extends Canonical, Key extends K>(token: WritableFamilyToken<T, K>, key: Key): WritableToken<T>;
|
|
45
|
+
declare function findState<T, K extends Canonical, Key extends K>(token: WritableFamilyToken<T, K>, key: Key): WritableToken<T, K>;
|
|
46
46
|
/**
|
|
47
47
|
* @public
|
|
48
48
|
* Finds a {@link ReadableToken} in the store.
|
|
@@ -52,6 +52,6 @@ declare function findState<T, K extends Canonical, Key extends K>(token: Writabl
|
|
|
52
52
|
* The current value of the state.
|
|
53
53
|
* @overload Unknown
|
|
54
54
|
*/
|
|
55
|
-
declare function findState<T, K extends Canonical, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T>;
|
|
55
|
+
declare function findState<T, K extends Canonical, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T, K>;
|
|
56
56
|
|
|
57
57
|
export { findState };
|
|
@@ -29,7 +29,7 @@ export function findState<
|
|
|
29
29
|
J extends Json.Serializable,
|
|
30
30
|
K extends Canonical,
|
|
31
31
|
Key extends K,
|
|
32
|
-
>(token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J>
|
|
32
|
+
>(token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J, K>
|
|
33
33
|
/**
|
|
34
34
|
* Finds a state in the store.
|
|
35
35
|
* @param token - The token of the state family.
|
|
@@ -40,7 +40,7 @@ export function findState<
|
|
|
40
40
|
export function findState<T, K extends Canonical, Key extends K>(
|
|
41
41
|
token: RegularAtomFamilyToken<T, K>,
|
|
42
42
|
key: Key,
|
|
43
|
-
): RegularAtomToken<T>
|
|
43
|
+
): RegularAtomToken<T, K>
|
|
44
44
|
/**
|
|
45
45
|
* Finds a state in the store.
|
|
46
46
|
* @param token - The token of the state family.
|
|
@@ -51,7 +51,7 @@ export function findState<T, K extends Canonical, Key extends K>(
|
|
|
51
51
|
export function findState<T, K extends Canonical, Key extends K>(
|
|
52
52
|
token: WritableSelectorFamilyToken<T, K>,
|
|
53
53
|
key: Key,
|
|
54
|
-
): WritableSelectorToken<T>
|
|
54
|
+
): WritableSelectorToken<T, K>
|
|
55
55
|
/**
|
|
56
56
|
* Finds a state in the store.
|
|
57
57
|
* @param token - The token of the state family.
|
|
@@ -62,7 +62,7 @@ export function findState<T, K extends Canonical, Key extends K>(
|
|
|
62
62
|
export function findState<T, K extends Canonical, Key extends K>(
|
|
63
63
|
token: ReadonlySelectorFamilyToken<T, K>,
|
|
64
64
|
key: Key,
|
|
65
|
-
): ReadonlySelectorToken<T>
|
|
65
|
+
): ReadonlySelectorToken<T, K>
|
|
66
66
|
/**
|
|
67
67
|
* Finds a state in the store.
|
|
68
68
|
* @param token - The token of the state family.
|
|
@@ -73,7 +73,7 @@ export function findState<T, K extends Canonical, Key extends K>(
|
|
|
73
73
|
export function findState<T, K extends Canonical, Key extends K>(
|
|
74
74
|
token: WritableFamilyToken<T, K>,
|
|
75
75
|
key: Key,
|
|
76
|
-
): WritableToken<T>
|
|
76
|
+
): WritableToken<T, K>
|
|
77
77
|
/**
|
|
78
78
|
* @public
|
|
79
79
|
* Finds a {@link ReadableToken} in the store.
|
|
@@ -86,7 +86,7 @@ export function findState<T, K extends Canonical, Key extends K>(
|
|
|
86
86
|
export function findState<T, K extends Canonical, Key extends K>(
|
|
87
87
|
token: ReadableFamilyToken<T, K>,
|
|
88
88
|
key: Key,
|
|
89
|
-
): ReadableToken<T>
|
|
89
|
+
): ReadableToken<T, K>
|
|
90
90
|
|
|
91
91
|
export function findState(
|
|
92
92
|
token: ReadableFamilyToken<any, any>,
|
package/immortal/dist/index.d.ts
CHANGED
|
@@ -2,12 +2,12 @@ import { MutableAtomFamilyToken, MutableAtomToken, RegularAtomFamilyToken, Regul
|
|
|
2
2
|
import { Transceiver } from 'atom.io/internal';
|
|
3
3
|
import { Json, Canonical } from 'atom.io/json';
|
|
4
4
|
|
|
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;
|
|
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, K> | undefined;
|
|
6
|
+
declare function seekState<T, K extends Canonical, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T, K> | undefined;
|
|
7
|
+
declare function seekState<T, K extends Canonical, Key extends K>(token: WritableSelectorFamilyToken<T, K>, key: Key): WritableSelectorToken<T, K> | undefined;
|
|
8
|
+
declare function seekState<T, K extends Canonical, Key extends K>(token: ReadonlySelectorFamilyToken<T, K>, key: Key): ReadonlySelectorToken<T, K> | undefined;
|
|
9
|
+
declare function seekState<T, K extends Canonical, Key extends K>(token: WritableFamilyToken<T, K>, key: Key): WritableToken<T, K> | undefined;
|
|
10
|
+
declare function seekState<T, K extends Canonical, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T, K> | undefined;
|
|
11
11
|
declare function seekState<M extends MoleculeConstructor>(token: MoleculeFamilyToken<M>, key: MoleculeKey<M>): MoleculeToken<M> | undefined;
|
|
12
12
|
|
|
13
13
|
export { seekState };
|
|
@@ -28,32 +28,32 @@ export function seekState<
|
|
|
28
28
|
>(
|
|
29
29
|
token: MutableAtomFamilyToken<T, J, K>,
|
|
30
30
|
key: Key,
|
|
31
|
-
): MutableAtomToken<T, J> | undefined
|
|
31
|
+
): MutableAtomToken<T, J, K> | undefined
|
|
32
32
|
|
|
33
33
|
export function seekState<T, K extends Canonical, Key extends K>(
|
|
34
34
|
token: RegularAtomFamilyToken<T, K>,
|
|
35
35
|
key: Key,
|
|
36
|
-
): RegularAtomToken<T> | undefined
|
|
36
|
+
): RegularAtomToken<T, K> | undefined
|
|
37
37
|
|
|
38
38
|
export function seekState<T, K extends Canonical, Key extends K>(
|
|
39
39
|
token: WritableSelectorFamilyToken<T, K>,
|
|
40
40
|
key: Key,
|
|
41
|
-
): WritableSelectorToken<T> | undefined
|
|
41
|
+
): WritableSelectorToken<T, K> | undefined
|
|
42
42
|
|
|
43
43
|
export function seekState<T, K extends Canonical, Key extends K>(
|
|
44
44
|
token: ReadonlySelectorFamilyToken<T, K>,
|
|
45
45
|
key: Key,
|
|
46
|
-
): ReadonlySelectorToken<T> | undefined
|
|
46
|
+
): ReadonlySelectorToken<T, K> | undefined
|
|
47
47
|
|
|
48
48
|
export function seekState<T, K extends Canonical, Key extends K>(
|
|
49
49
|
token: WritableFamilyToken<T, K>,
|
|
50
50
|
key: Key,
|
|
51
|
-
): WritableToken<T> | undefined
|
|
51
|
+
): WritableToken<T, K> | undefined
|
|
52
52
|
|
|
53
53
|
export function seekState<T, K extends Canonical, Key extends K>(
|
|
54
54
|
token: ReadableFamilyToken<T, K>,
|
|
55
55
|
key: Key,
|
|
56
|
-
): ReadableToken<T> | undefined
|
|
56
|
+
): ReadableToken<T, K> | undefined
|
|
57
57
|
|
|
58
58
|
export function seekState<M extends MoleculeConstructor>(
|
|
59
59
|
token: MoleculeFamilyToken<M>,
|
package/internal/dist/index.d.ts
CHANGED
|
@@ -451,32 +451,32 @@ declare function disposeFromStore(store: Store, token: MoleculeToken<any> | Read
|
|
|
451
451
|
declare function disposeFromStore<K extends Canonical>(store: Store, token: ReadableFamilyToken<any, K>, key: K): void;
|
|
452
452
|
declare function disposeFromStore<M extends MoleculeConstructor>(store: Store, token: MoleculeFamilyToken<M>, key: MoleculeKey<M>): void;
|
|
453
453
|
|
|
454
|
-
declare function findInStore<T extends Transceiver<any>, J extends Json$1.Serializable, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J>;
|
|
455
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T>;
|
|
456
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T>;
|
|
457
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableSelectorFamilyToken<T, K>, key: Key): WritableSelectorToken<T>;
|
|
458
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadonlySelectorFamilyToken<T, K>, key: Key): ReadonlySelectorToken<T>;
|
|
459
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: SelectorFamilyToken<T, K>, key: Key): SelectorToken<T>;
|
|
460
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableFamilyToken<T, K>, key: Key): WritableToken<T>;
|
|
461
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T>;
|
|
462
|
-
|
|
463
|
-
declare function initFamilyMemberInStore<T extends Transceiver<any>, J extends Json$1.Serializable, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J>;
|
|
464
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T>;
|
|
465
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T>;
|
|
466
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableSelectorFamilyToken<T, K>, key: Key): WritableSelectorToken<T>;
|
|
467
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadonlySelectorFamilyToken<T, K>, key: Key): ReadonlySelectorToken<T>;
|
|
468
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: SelectorFamilyToken<T, K>, key: Key): SelectorToken<T>;
|
|
469
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableFamilyToken<T, K>, key: Key): WritableToken<T>;
|
|
470
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T>;
|
|
471
|
-
|
|
472
|
-
declare function seekInStore<T extends Transceiver<any>, J extends Json$1.Serializable, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J> | undefined;
|
|
473
|
-
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T> | undefined;
|
|
474
|
-
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T> | undefined;
|
|
475
|
-
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableSelectorFamilyToken<T, K>, key: Key): WritableSelectorToken<T> | undefined;
|
|
476
|
-
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadonlySelectorFamilyToken<T, K>, key: Key): ReadonlySelectorToken<T> | undefined;
|
|
477
|
-
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: SelectorFamilyToken<T, K>, key: Key): SelectorToken<T> | undefined;
|
|
478
|
-
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableFamilyToken<T, K>, key: Key): WritableToken<T> | undefined;
|
|
479
|
-
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T> | undefined;
|
|
454
|
+
declare function findInStore<T extends Transceiver<any>, J extends Json$1.Serializable, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J, K>;
|
|
455
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T, K>;
|
|
456
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T, K>;
|
|
457
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableSelectorFamilyToken<T, K>, key: Key): WritableSelectorToken<T, K>;
|
|
458
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadonlySelectorFamilyToken<T, K>, key: Key): ReadonlySelectorToken<T, K>;
|
|
459
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: SelectorFamilyToken<T, K>, key: Key): SelectorToken<T, K>;
|
|
460
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableFamilyToken<T, K>, key: Key): WritableToken<T, K>;
|
|
461
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T, K>;
|
|
462
|
+
|
|
463
|
+
declare function initFamilyMemberInStore<T extends Transceiver<any>, J extends Json$1.Serializable, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J, K>;
|
|
464
|
+
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T, K>;
|
|
465
|
+
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T, K>;
|
|
466
|
+
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableSelectorFamilyToken<T, K>, key: Key): WritableSelectorToken<T, K>;
|
|
467
|
+
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadonlySelectorFamilyToken<T, K>, key: Key): ReadonlySelectorToken<T, K>;
|
|
468
|
+
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: SelectorFamilyToken<T, K>, key: Key): SelectorToken<T, K>;
|
|
469
|
+
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableFamilyToken<T, K>, key: Key): WritableToken<T, K>;
|
|
470
|
+
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T, K>;
|
|
471
|
+
|
|
472
|
+
declare function seekInStore<T extends Transceiver<any>, J extends Json$1.Serializable, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J, K> | undefined;
|
|
473
|
+
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T, K> | undefined;
|
|
474
|
+
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T, K> | undefined;
|
|
475
|
+
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableSelectorFamilyToken<T, K>, key: Key): WritableSelectorToken<T, K> | undefined;
|
|
476
|
+
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadonlySelectorFamilyToken<T, K>, key: Key): ReadonlySelectorToken<T, K> | undefined;
|
|
477
|
+
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: SelectorFamilyToken<T, K>, key: Key): SelectorToken<T, K> | undefined;
|
|
478
|
+
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableFamilyToken<T, K>, key: Key): WritableToken<T, K> | undefined;
|
|
479
|
+
declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T, K> | undefined;
|
|
480
480
|
declare function seekInStore<M extends MoleculeConstructor>(store: Store, token: MoleculeFamilyToken<M>, key: MoleculeKey<M>): MoleculeKey<M> | undefined;
|
|
481
481
|
|
|
482
482
|
type EnvironmentData = {
|
|
@@ -496,7 +496,7 @@ declare const readOrComputeValue: <T>(state: ReadableState<T>, target: Store) =>
|
|
|
496
496
|
declare function ingestAtomUpdate(applying: `newValue` | `oldValue`, atomUpdate: KeyedStateUpdate<any>, store: Store): void;
|
|
497
497
|
|
|
498
498
|
declare function ingestCreationEvent(update: StateCreation<any>, applying: `newValue` | `oldValue`, store: Store): void;
|
|
499
|
-
declare function ingestDisposalEvent(update: StateDisposal<any
|
|
499
|
+
declare function ingestDisposalEvent(update: StateDisposal<ReadableToken<any>>, applying: `newValue` | `oldValue`, store: Store): void;
|
|
500
500
|
declare function ingestMoleculeCreationEvent(update: MoleculeCreation<any>, applying: `newValue` | `oldValue`, store: Store): void;
|
|
501
501
|
declare function ingestMoleculeDisposalEvent(update: MoleculeDisposal, applying: `newValue` | `oldValue`, store: Store): void;
|
|
502
502
|
|
package/internal/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { FAMILY_MEMBER_TOKEN_TYPES, FamilyTracker, Future, IMPLICIT, LazyMap, Molecule, NotFoundError, StatefulSubject, Store, Subject, TRANSACTION_PHASES, Tracker, abortTransaction, actUponStore, applyTransaction, arbitrary, assignTransactionToContinuity, become, buildTransaction, cacheValue, clearStore, closeOperation, counterfeit, 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-
|
|
1
|
+
export { FAMILY_MEMBER_TOKEN_TYPES, FamilyTracker, Future, IMPLICIT, LazyMap, Molecule, NotFoundError, StatefulSubject, Store, Subject, TRANSACTION_PHASES, Tracker, abortTransaction, actUponStore, applyTransaction, arbitrary, assignTransactionToContinuity, become, buildTransaction, cacheValue, clearStore, closeOperation, counterfeit, 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-4WXELLFT.js';
|
|
2
2
|
import '../../dist/chunk-IBTHB2PI.js';
|
|
3
3
|
import '../../dist/chunk-XWL6SNVU.js';
|
|
@@ -30,17 +30,6 @@ export function disposeAtom(atomToken: AtomToken<unknown>, store: Store): void {
|
|
|
30
30
|
}
|
|
31
31
|
target.atoms.delete(key)
|
|
32
32
|
target.valueMap.delete(key)
|
|
33
|
-
const selectorKeys = target.selectorAtoms.getRelatedKeys(key)
|
|
34
|
-
if (selectorKeys) {
|
|
35
|
-
for (const selectorKey of selectorKeys) {
|
|
36
|
-
const token =
|
|
37
|
-
target.selectors.get(selectorKey) ??
|
|
38
|
-
target.readonlySelectors.get(selectorKey)
|
|
39
|
-
if (token) {
|
|
40
|
-
disposeSelector(token, store)
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
33
|
target.selectorAtoms.delete(key)
|
|
45
34
|
target.atomsThatAreDefault.delete(key)
|
|
46
35
|
target.timelineTopics.delete(key)
|
|
@@ -33,49 +33,49 @@ export function findInStore<
|
|
|
33
33
|
store: Store,
|
|
34
34
|
token: MutableAtomFamilyToken<T, J, K>,
|
|
35
35
|
key: Key,
|
|
36
|
-
): MutableAtomToken<T, J>
|
|
36
|
+
): MutableAtomToken<T, J, K>
|
|
37
37
|
|
|
38
38
|
export function findInStore<T, K extends Canonical, Key extends K>(
|
|
39
39
|
store: Store,
|
|
40
40
|
token: RegularAtomFamilyToken<T, K>,
|
|
41
41
|
key: Key,
|
|
42
|
-
): RegularAtomToken<T>
|
|
42
|
+
): RegularAtomToken<T, K>
|
|
43
43
|
|
|
44
44
|
export function findInStore<T, K extends Canonical, Key extends K>(
|
|
45
45
|
store: Store,
|
|
46
46
|
token: AtomFamilyToken<T, K>,
|
|
47
47
|
key: Key,
|
|
48
|
-
): AtomToken<T>
|
|
48
|
+
): AtomToken<T, K>
|
|
49
49
|
|
|
50
50
|
export function findInStore<T, K extends Canonical, Key extends K>(
|
|
51
51
|
store: Store,
|
|
52
52
|
token: WritableSelectorFamilyToken<T, K>,
|
|
53
53
|
key: Key,
|
|
54
|
-
): WritableSelectorToken<T>
|
|
54
|
+
): WritableSelectorToken<T, K>
|
|
55
55
|
|
|
56
56
|
export function findInStore<T, K extends Canonical, Key extends K>(
|
|
57
57
|
store: Store,
|
|
58
58
|
token: ReadonlySelectorFamilyToken<T, K>,
|
|
59
59
|
key: Key,
|
|
60
|
-
): ReadonlySelectorToken<T>
|
|
60
|
+
): ReadonlySelectorToken<T, K>
|
|
61
61
|
|
|
62
62
|
export function findInStore<T, K extends Canonical, Key extends K>(
|
|
63
63
|
store: Store,
|
|
64
64
|
token: SelectorFamilyToken<T, K>,
|
|
65
65
|
key: Key,
|
|
66
|
-
): SelectorToken<T>
|
|
66
|
+
): SelectorToken<T, K>
|
|
67
67
|
|
|
68
68
|
export function findInStore<T, K extends Canonical, Key extends K>(
|
|
69
69
|
store: Store,
|
|
70
70
|
token: WritableFamilyToken<T, K>,
|
|
71
71
|
key: Key,
|
|
72
|
-
): WritableToken<T>
|
|
72
|
+
): WritableToken<T, K>
|
|
73
73
|
|
|
74
74
|
export function findInStore<T, K extends Canonical, Key extends K>(
|
|
75
75
|
store: Store,
|
|
76
76
|
token: ReadableFamilyToken<T, K>,
|
|
77
77
|
key: Key,
|
|
78
|
-
): ReadableToken<T>
|
|
78
|
+
): ReadableToken<T, K>
|
|
79
79
|
|
|
80
80
|
export function findInStore(
|
|
81
81
|
store: Store,
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
MutableAtomFamilyToken,
|
|
3
|
+
MutableAtomToken,
|
|
4
|
+
ReadableFamilyToken,
|
|
5
|
+
ReadableToken,
|
|
6
|
+
ReadonlySelectorFamilyToken,
|
|
7
|
+
ReadonlySelectorToken,
|
|
8
|
+
RegularAtomFamilyToken,
|
|
9
|
+
RegularAtomToken,
|
|
10
|
+
WritableFamilyToken,
|
|
11
|
+
WritableSelectorFamilyToken,
|
|
12
|
+
WritableSelectorToken,
|
|
13
|
+
WritableToken,
|
|
14
|
+
} from "atom.io"
|
|
15
|
+
import type { Canonical, Json } from "atom.io/json"
|
|
16
|
+
|
|
17
|
+
import type { Transceiver } from "../mutable"
|
|
18
|
+
import type { Store } from "../store"
|
|
19
|
+
|
|
20
|
+
export function getFamilyOfToken<
|
|
21
|
+
T extends Transceiver<any>,
|
|
22
|
+
J extends Json.Serializable,
|
|
23
|
+
K extends Canonical,
|
|
24
|
+
>(
|
|
25
|
+
store: Store,
|
|
26
|
+
token: MutableAtomToken<T, J, K>,
|
|
27
|
+
): MutableAtomFamilyToken<T, J, K> | undefined
|
|
28
|
+
|
|
29
|
+
export function getFamilyOfToken<T, K extends Canonical>(
|
|
30
|
+
store: Store,
|
|
31
|
+
token: RegularAtomToken<T, K>,
|
|
32
|
+
): RegularAtomFamilyToken<T, K> | undefined
|
|
33
|
+
|
|
34
|
+
export function getFamilyOfToken<T, K extends Canonical>(
|
|
35
|
+
store: Store,
|
|
36
|
+
token: WritableSelectorToken<T, K>,
|
|
37
|
+
): WritableSelectorFamilyToken<T, K> | undefined
|
|
38
|
+
|
|
39
|
+
export function getFamilyOfToken<T, K extends Canonical>(
|
|
40
|
+
store: Store,
|
|
41
|
+
token: ReadonlySelectorToken<T, K>,
|
|
42
|
+
): ReadonlySelectorFamilyToken<T, K> | undefined
|
|
43
|
+
|
|
44
|
+
export function getFamilyOfToken<T, K extends Canonical>(
|
|
45
|
+
store: Store,
|
|
46
|
+
token: WritableToken<T, K>,
|
|
47
|
+
): WritableFamilyToken<T, K> | undefined
|
|
48
|
+
|
|
49
|
+
export function getFamilyOfToken<T, K extends Canonical>(
|
|
50
|
+
store: Store,
|
|
51
|
+
token: ReadableToken<T, K>,
|
|
52
|
+
): ReadableFamilyToken<T, K> | undefined
|
|
53
|
+
|
|
54
|
+
export function getFamilyOfToken(
|
|
55
|
+
store: Store,
|
|
56
|
+
token: ReadableToken<any, any>,
|
|
57
|
+
): ReadableFamilyToken<any, any> | undefined {
|
|
58
|
+
if (token.family) {
|
|
59
|
+
const family = store.families.get(token.family.key)
|
|
60
|
+
if (family) {
|
|
61
|
+
return family
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|