atom.io 0.33.3 → 0.33.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/dist/data/index.d.ts +0 -3
- package/dist/data/index.d.ts.map +1 -1
- package/dist/eslint-plugin/index.d.ts +0 -5
- package/dist/eslint-plugin/index.d.ts.map +1 -1
- package/dist/internal/index.d.ts +19 -100
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/index.js +33 -33
- package/dist/internal/index.js.map +1 -1
- package/dist/introspection/index.d.ts +1 -8
- package/dist/introspection/index.d.ts.map +1 -1
- package/dist/introspection/index.js +8 -8
- package/dist/introspection/index.js.map +1 -1
- package/dist/json/index.d.ts +0 -4
- package/dist/json/index.d.ts.map +1 -1
- package/dist/main/index.d.ts +5 -28
- package/dist/main/index.d.ts.map +1 -1
- package/dist/main/index.js.map +1 -1
- package/dist/react/index.d.ts +0 -5
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react-devtools/index.css.map +1 -1
- package/dist/react-devtools/index.d.ts +0 -11
- package/dist/react-devtools/index.d.ts.map +1 -1
- package/dist/react-devtools/index.js +5 -2
- package/dist/react-devtools/index.js.map +1 -1
- package/dist/realtime/index.d.ts +1 -2
- package/dist/realtime/index.d.ts.map +1 -1
- package/dist/realtime-client/index.d.ts +3 -14
- package/dist/realtime-client/index.d.ts.map +1 -1
- package/dist/realtime-react/index.d.ts +0 -11
- package/dist/realtime-react/index.d.ts.map +1 -1
- package/dist/realtime-react/index.js +1 -1
- package/dist/realtime-react/index.js.map +1 -1
- package/dist/realtime-server/index.d.ts +25 -15
- package/dist/realtime-server/index.d.ts.map +1 -1
- package/dist/realtime-server/index.js +5 -5
- package/dist/realtime-server/index.js.map +1 -1
- package/dist/realtime-testing/index.d.ts +0 -1
- package/dist/transceivers/set-rtx/index.d.ts +0 -1
- package/dist/web/index.d.ts +0 -1
- package/package.json +26 -26
- package/src/internal/store/withdraw.ts +13 -13
- package/src/main/logger.ts +2 -2
- package/src/react-devtools/AtomIODevtools.tsx +2 -2
|
@@ -5,11 +5,9 @@ import { AtomToken, ReadableToken, ReadonlyPureSelectorFamilyToken, ReadonlyPure
|
|
|
5
5
|
|
|
6
6
|
//#region src/introspection/attach-atom-index.d.ts
|
|
7
7
|
type AtomTokenIndex = WritableTokenIndex<AtomToken<unknown>>;
|
|
8
|
-
|
|
9
8
|
//#endregion
|
|
10
9
|
//#region src/introspection/attach-selector-index.d.ts
|
|
11
10
|
type SelectorTokenIndex = WritableTokenIndex<SelectorToken<unknown>>;
|
|
12
|
-
|
|
13
11
|
//#endregion
|
|
14
12
|
//#region src/introspection/attach-introspection-states.d.ts
|
|
15
13
|
type IntrospectionStates = {
|
|
@@ -22,7 +20,6 @@ type IntrospectionStates = {
|
|
|
22
20
|
typeSelectors: ReadonlyPureSelectorFamilyToken<string, string>;
|
|
23
21
|
};
|
|
24
22
|
declare const attachIntrospectionStates: (store: Store) => IntrospectionStates;
|
|
25
|
-
|
|
26
23
|
//#endregion
|
|
27
24
|
//#region src/introspection/auditor.d.ts
|
|
28
25
|
type ListResourcesParam = {
|
|
@@ -58,7 +55,6 @@ declare class Auditor {
|
|
|
58
55
|
listResources(param?: ListResourcesParam): (readonly [ReadableToken<unknown>, number])[];
|
|
59
56
|
[Symbol.dispose](): void;
|
|
60
57
|
}
|
|
61
|
-
|
|
62
58
|
//#endregion
|
|
63
59
|
//#region src/introspection/refinery.d.ts
|
|
64
60
|
type ClassSignature = abstract new (...args: any) => any;
|
|
@@ -97,7 +93,6 @@ declare const jsonRefinery: Refinery<{
|
|
|
97
93
|
}>;
|
|
98
94
|
type JsonType = keyof typeof jsonRefinery.supported;
|
|
99
95
|
declare const discoverType: (input: unknown) => JsonType | `Map` | `Set` | `undefined` | (string & {});
|
|
100
|
-
|
|
101
96
|
//#endregion
|
|
102
97
|
//#region src/introspection/differ.d.ts
|
|
103
98
|
declare function diffNumber(a: number, b: number): Delta;
|
|
@@ -130,16 +125,15 @@ declare const prettyJson: Differ<{
|
|
|
130
125
|
object: (input: unknown) => input is Json.Tree.Object;
|
|
131
126
|
array: (input: unknown) => input is Json.Tree.Array;
|
|
132
127
|
}>;
|
|
133
|
-
|
|
134
128
|
//#endregion
|
|
135
129
|
//#region src/introspection/sprawl.d.ts
|
|
130
|
+
// if you found what you were looking for, return true and break
|
|
136
131
|
type InspectionResult = Partial<{
|
|
137
132
|
pathComplete: true;
|
|
138
133
|
jobComplete: true;
|
|
139
134
|
}>;
|
|
140
135
|
type InspectNode = (path: string[], node: unknown) => InspectionResult | void;
|
|
141
136
|
declare const sprawl: (tree: Array<unknown> | object, inspector: InspectNode) => void;
|
|
142
|
-
|
|
143
137
|
//#endregion
|
|
144
138
|
//#region src/introspection/index.d.ts
|
|
145
139
|
type FamilyNode<Token extends ReadableToken<unknown>> = {
|
|
@@ -147,7 +141,6 @@ type FamilyNode<Token extends ReadableToken<unknown>> = {
|
|
|
147
141
|
familyMembers: Map<string, Token>;
|
|
148
142
|
};
|
|
149
143
|
type WritableTokenIndex<Token extends ReadableToken<unknown>> = Map<string, FamilyNode<Token> | Token>;
|
|
150
|
-
|
|
151
144
|
//#endregion
|
|
152
145
|
export { Auditor, ClassSignature, Differ, FamilyNode, InspectNode, InspectionResult, IntrospectionStates, JsonType, ListResourcesParam, RefinementStrategy, RefinementSupport, Refinery, Supported, WritableTokenIndex, attachIntrospectionStates, diffArray, diffBoolean, diffNumber, diffObject, diffString, discoverType, isPlainObject, jsonRefinery, jsonTreeRefinery, prettyJson, primitiveRefinery, sprawl };
|
|
153
146
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["store: Store","store: Store","store: Store","store: Internal.Store","param: ListResourcesParam","supported: SupportedTypes","input: T","primitiveRefinery: Refinery<{\n\tnumber: (input: unknown) => input is number\n\tstring: (input: unknown) => input is string\n\tboolean: (input: unknown) => input is boolean\n\tnull: (input: unknown) => input is null\n}>","input: unknown","jsonTreeRefinery: Refinery<{\n\tobject: (input: unknown) => input is Json.Tree.Object\n\tarray: (input: unknown) => input is Json.Tree.Array\n}>","jsonRefinery: Refinery<{\n\tobject: (input: unknown) => input is Json.Tree.Object\n\tarray: (input: unknown) => input is Json.Tree.Array\n\tnumber: (input: unknown) => input is number\n\tstring: (input: unknown) => input is string\n\tboolean: (input: unknown) => input is boolean\n\tnull: (input: unknown) => input is null\n}>","a: number","b: number","a: string","b: string","a: boolean","b: boolean","a: Json.Tree.Object","b: Json.Tree.Object","recurse: Diff<unknown>","a: Json.Tree.Array","b: Json.Tree.Array","a: T","b: T","recurse: Differ<any, any>[`diff`]","leafRefinery: Refinery<Leaf>","treeRefinery: Refinery<Tree>","diffFunctions: {\n\t\t\t[KT in keyof Tree]: DiffTree<Supported<Tree[KT]>>\n\t\t} & { [KL in keyof Leaf]: Diff<Supported<Leaf[KL]>> }","a: unknown","b: unknown","prettyJson: Differ<\n\t{\n\t\tnumber: (input: unknown) => input is number\n\t\tstring: (input: unknown) => input is string\n\t\tboolean: (input: unknown) => input is boolean\n\t\tnull: (input: unknown) => input is null\n\t},\n\t{\n\t\tobject: (input: unknown) => input is Json.Tree.Object\n\t\tarray: (input: unknown) => input is Json.Tree.Array\n\t}\n>","input: unknown","path: string[]","node: unknown","tree: Array<unknown> | object","inspector: InspectNode"],"sources":["../../src/introspection/attach-atom-index.ts","../../src/introspection/attach-selector-index.ts","../../src/introspection/attach-introspection-states.ts","../../src/introspection/auditor.ts","../../src/introspection/refinery.ts","../../src/introspection/differ.ts","../../src/introspection/sprawl.ts","../../src/introspection/index.ts"],"sourcesContent":[],"mappings":";;;;;;KAWY,cAAA,GAAiB,mBAAmB
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["store: Store","store: Store","store: Store","store: Internal.Store","param: ListResourcesParam","supported: SupportedTypes","input: T","primitiveRefinery: Refinery<{\n\tnumber: (input: unknown) => input is number\n\tstring: (input: unknown) => input is string\n\tboolean: (input: unknown) => input is boolean\n\tnull: (input: unknown) => input is null\n}>","input: unknown","jsonTreeRefinery: Refinery<{\n\tobject: (input: unknown) => input is Json.Tree.Object\n\tarray: (input: unknown) => input is Json.Tree.Array\n}>","jsonRefinery: Refinery<{\n\tobject: (input: unknown) => input is Json.Tree.Object\n\tarray: (input: unknown) => input is Json.Tree.Array\n\tnumber: (input: unknown) => input is number\n\tstring: (input: unknown) => input is string\n\tboolean: (input: unknown) => input is boolean\n\tnull: (input: unknown) => input is null\n}>","a: number","b: number","a: string","b: string","a: boolean","b: boolean","a: Json.Tree.Object","b: Json.Tree.Object","recurse: Diff<unknown>","a: Json.Tree.Array","b: Json.Tree.Array","a: T","b: T","recurse: Differ<any, any>[`diff`]","leafRefinery: Refinery<Leaf>","treeRefinery: Refinery<Tree>","diffFunctions: {\n\t\t\t[KT in keyof Tree]: DiffTree<Supported<Tree[KT]>>\n\t\t} & { [KL in keyof Leaf]: Diff<Supported<Leaf[KL]>> }","a: unknown","b: unknown","prettyJson: Differ<\n\t{\n\t\tnumber: (input: unknown) => input is number\n\t\tstring: (input: unknown) => input is string\n\t\tboolean: (input: unknown) => input is boolean\n\t\tnull: (input: unknown) => input is null\n\t},\n\t{\n\t\tobject: (input: unknown) => input is Json.Tree.Object\n\t\tarray: (input: unknown) => input is Json.Tree.Array\n\t}\n>","input: unknown","path: string[]","node: unknown","tree: Array<unknown> | object","inspector: InspectNode"],"sources":["../../src/introspection/attach-atom-index.ts","../../src/introspection/attach-selector-index.ts","../../src/introspection/attach-introspection-states.ts","../../src/introspection/auditor.ts","../../src/introspection/refinery.ts","../../src/introspection/differ.ts","../../src/introspection/sprawl.ts","../../src/introspection/index.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ const attachAtomIndex = (store) => {
|
|
|
7
7
|
const atomTokenIndexState__INTERNAL = createRegularAtom(store, {
|
|
8
8
|
key: `🔍 Atom Token Index (Internal)`,
|
|
9
9
|
default: () => {
|
|
10
|
-
const base = new Map();
|
|
10
|
+
const base = /* @__PURE__ */ new Map();
|
|
11
11
|
for (const [key, val] of store.atoms) {
|
|
12
12
|
if (isReservedIntrospectionKey(key)) continue;
|
|
13
13
|
const token = deposit(val);
|
|
@@ -16,7 +16,7 @@ const attachAtomIndex = (store) => {
|
|
|
16
16
|
if (!familyNode || !(`familyMembers` in familyNode)) {
|
|
17
17
|
familyNode = {
|
|
18
18
|
key: val.family.key,
|
|
19
|
-
familyMembers: new Map()
|
|
19
|
+
familyMembers: /* @__PURE__ */ new Map()
|
|
20
20
|
};
|
|
21
21
|
base.set(val.family.key, familyNode);
|
|
22
22
|
}
|
|
@@ -35,7 +35,7 @@ const attachAtomIndex = (store) => {
|
|
|
35
35
|
if (familyNode === void 0 || !(`familyMembers` in familyNode)) {
|
|
36
36
|
familyNode = {
|
|
37
37
|
key: familyKey,
|
|
38
|
-
familyMembers: new Map()
|
|
38
|
+
familyMembers: /* @__PURE__ */ new Map()
|
|
39
39
|
};
|
|
40
40
|
self.set(familyKey, familyNode);
|
|
41
41
|
}
|
|
@@ -71,7 +71,7 @@ const attachSelectorIndex = (store) => {
|
|
|
71
71
|
const readonlySelectorTokenIndexState__INTERNAL = createRegularAtom(store, {
|
|
72
72
|
key: `🔍 Selector Token Index (Internal)`,
|
|
73
73
|
default: () => {
|
|
74
|
-
const base = new Map();
|
|
74
|
+
const base = /* @__PURE__ */ new Map();
|
|
75
75
|
for (const map of [store.readonlySelectors, store.writableSelectors]) for (const [key, val] of map) {
|
|
76
76
|
if (isReservedIntrospectionKey(key)) continue;
|
|
77
77
|
const token = deposit(val);
|
|
@@ -80,7 +80,7 @@ const attachSelectorIndex = (store) => {
|
|
|
80
80
|
if (!familyNode || !(`familyMembers` in familyNode)) {
|
|
81
81
|
familyNode = {
|
|
82
82
|
key: val.family.key,
|
|
83
|
-
familyMembers: new Map()
|
|
83
|
+
familyMembers: /* @__PURE__ */ new Map()
|
|
84
84
|
};
|
|
85
85
|
base.set(val.family.key, familyNode);
|
|
86
86
|
}
|
|
@@ -99,7 +99,7 @@ const attachSelectorIndex = (store) => {
|
|
|
99
99
|
if (familyNode === void 0 || !(`familyMembers` in familyNode)) {
|
|
100
100
|
familyNode = {
|
|
101
101
|
key: familyKey,
|
|
102
|
-
familyMembers: new Map()
|
|
102
|
+
familyMembers: /* @__PURE__ */ new Map()
|
|
103
103
|
};
|
|
104
104
|
self.set(familyKey, familyNode);
|
|
105
105
|
}
|
|
@@ -144,7 +144,7 @@ const attachTimelineFamily = (store) => {
|
|
|
144
144
|
transactionKey: null,
|
|
145
145
|
install: () => {},
|
|
146
146
|
subject: new Subject(),
|
|
147
|
-
subscriptions: new Map()
|
|
147
|
+
subscriptions: /* @__PURE__ */ new Map()
|
|
148
148
|
},
|
|
149
149
|
effects: (key) => [({ setSelf }) => {
|
|
150
150
|
const tl = store.timelines.get(key);
|
|
@@ -322,7 +322,7 @@ const attachIntrospectionStates = (store) => {
|
|
|
322
322
|
var Auditor = class Auditor {
|
|
323
323
|
store;
|
|
324
324
|
auditorCreatedAt = performance.now();
|
|
325
|
-
statesCreatedAt = new Map();
|
|
325
|
+
statesCreatedAt = /* @__PURE__ */ new Map();
|
|
326
326
|
atomIndex;
|
|
327
327
|
selectorIndex;
|
|
328
328
|
disposed = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["store: Store","base: AtomTokenIndex","store: Store","base: SelectorTokenIndex","store: Store","store: Store","store: Store","store: Store","supported: SupportedTypes","input: T","primitiveRefinery: Refinery<{\n\tnumber: (input: unknown) => input is number\n\tstring: (input: unknown) => input is string\n\tboolean: (input: unknown) => input is boolean\n\tnull: (input: unknown) => input is null\n}>","input: unknown","jsonTreeRefinery: Refinery<{\n\tobject: (input: unknown) => input is Json.Tree.Object\n\tarray: (input: unknown) => input is Json.Tree.Array\n}>","jsonRefinery: Refinery<{\n\tobject: (input: unknown) => input is Json.Tree.Object\n\tarray: (input: unknown) => input is Json.Tree.Array\n\tnumber: (input: unknown) => input is number\n\tstring: (input: unknown) => input is string\n\tboolean: (input: unknown) => input is boolean\n\tnull: (input: unknown) => input is null\n}>","store: Store","state: unknown","store: Store","store: Internal.Store","param: ListResourcesParam","resources: (readonly [ReadableToken<unknown>, number])[]","tree: Array<unknown> | object","inspector: InspectNode","path: string[]","node: unknown","p: string[]","n: unknown","result","a: number","b: number","a: string","b: string","a: boolean","b: boolean","a: Json.Tree.Object","b: Json.Tree.Object","recurse: Diff<unknown>","added: Delta[`added`]","removed: Delta[`removed`]","changed: Delta[`changed`]","key: string","a: Json.Tree.Array","b: Json.Tree.Array","leafRefinery: Refinery<Leaf>","treeRefinery: Refinery<Tree>","diffFunctions: {\n\t\t\t[KT in keyof Tree]: DiffTree<Supported<Tree[KT]>>\n\t\t} & { [KL in keyof Leaf]: Diff<Supported<Leaf[KL]>> }","a: unknown","b: unknown","prettyJson: Differ<\n\t{\n\t\tnumber: (input: unknown) => input is number\n\t\tstring: (input: unknown) => input is string\n\t\tboolean: (input: unknown) => input is boolean\n\t\tnull: (input: unknown) => input is null\n\t},\n\t{\n\t\tobject: (input: unknown) => input is Json.Tree.Object\n\t\tarray: (input: unknown) => input is Json.Tree.Array\n\t}\n>"],"sources":["../../src/introspection/attach-atom-index.ts","../../src/introspection/attach-selector-index.ts","../../src/introspection/attach-timeline-family.ts","../../src/introspection/attach-timeline-index.ts","../../src/introspection/attach-transaction-index.ts","../../src/introspection/attach-transaction-logs.ts","../../src/introspection/refinery.ts","../../src/introspection/attach-type-selectors.ts","../../src/introspection/attach-introspection-states.ts","../../src/introspection/auditor.ts","../../src/introspection/sprawl.ts","../../src/introspection/differ.ts"],"sourcesContent":["import type { AtomToken, ReadonlyPureSelectorToken } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport {\n\tcreateRegularAtom,\n\tcreateStandaloneSelector,\n\tdeposit,\n\tisReservedIntrospectionKey,\n} from \"atom.io/internal\"\n\nimport type { WritableTokenIndex } from \".\"\n\nexport type AtomTokenIndex = WritableTokenIndex<AtomToken<unknown>>\n\nexport const attachAtomIndex = (\n\tstore: Store,\n): ReadonlyPureSelectorToken<AtomTokenIndex> => {\n\tconst atomTokenIndexState__INTERNAL = createRegularAtom<AtomTokenIndex>(\n\t\tstore,\n\t\t{\n\t\t\tkey: `🔍 Atom Token Index (Internal)`,\n\t\t\tdefault: () => {\n\t\t\t\tconst base: AtomTokenIndex = new Map()\n\t\t\t\tfor (const [key, val] of store.atoms) {\n\t\t\t\t\tif (isReservedIntrospectionKey(key)) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tconst token = deposit(val)\n\t\t\t\t\tif (val.family) {\n\t\t\t\t\t\tlet familyNode = base.get(val.family.key)\n\t\t\t\t\t\tif (!familyNode || !(`familyMembers` in familyNode)) {\n\t\t\t\t\t\t\tfamilyNode = {\n\t\t\t\t\t\t\t\tkey: val.family.key,\n\t\t\t\t\t\t\t\tfamilyMembers: new Map(),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbase.set(val.family.key, familyNode)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfamilyNode.familyMembers.set(val.family.subKey, token)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbase.set(key, token)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn base\n\t\t\t},\n\t\t\teffects: [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tstore.on.atomCreation.subscribe(`introspection`, (atomToken) => {\n\t\t\t\t\t\tif (isReservedIntrospectionKey(atomToken.key)) {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsetSelf((self) => {\n\t\t\t\t\t\t\tif (atomToken.family) {\n\t\t\t\t\t\t\t\tconst { key: familyKey, subKey } = atomToken.family\n\t\t\t\t\t\t\t\tlet familyNode = self.get(familyKey)\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tfamilyNode === undefined ||\n\t\t\t\t\t\t\t\t\t!(`familyMembers` in familyNode)\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tfamilyNode = {\n\t\t\t\t\t\t\t\t\t\tkey: familyKey,\n\t\t\t\t\t\t\t\t\t\tfamilyMembers: new Map(),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tself.set(familyKey, familyNode)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tfamilyNode.familyMembers.set(subKey, atomToken)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tself.set(atomToken.key, atomToken)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn self\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t\tstore.on.atomDisposal.subscribe(`introspection`, (atomToken) => {\n\t\t\t\t\t\tsetSelf((self) => {\n\t\t\t\t\t\t\tif (atomToken.family) {\n\t\t\t\t\t\t\t\tconst { key: familyKey, subKey } = atomToken.family\n\t\t\t\t\t\t\t\tconst familyNode = self.get(familyKey)\n\t\t\t\t\t\t\t\tif (familyNode && `familyMembers` in familyNode) {\n\t\t\t\t\t\t\t\t\tfamilyNode.familyMembers.delete(subKey)\n\t\t\t\t\t\t\t\t\tif (familyNode.familyMembers.size === 0) {\n\t\t\t\t\t\t\t\t\t\tself.delete(familyKey)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tself.delete(atomToken.key)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn self\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tundefined,\n\t)\n\treturn createStandaloneSelector(store, {\n\t\tkey: `🔍 Atom Token Index`,\n\t\tget: ({ get }) => get(atomTokenIndexState__INTERNAL),\n\t})\n}\n","import type { ReadonlyPureSelectorToken, SelectorToken } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport {\n\tcreateRegularAtom,\n\tcreateStandaloneSelector,\n\tdeposit,\n\tisReservedIntrospectionKey,\n} from \"atom.io/internal\"\n\nimport type { WritableTokenIndex } from \".\"\n\nexport type SelectorTokenIndex = WritableTokenIndex<SelectorToken<unknown>>\n\nexport const attachSelectorIndex = (\n\tstore: Store,\n): ReadonlyPureSelectorToken<SelectorTokenIndex> => {\n\tconst readonlySelectorTokenIndexState__INTERNAL =\n\t\tcreateRegularAtom<SelectorTokenIndex>(\n\t\t\tstore,\n\n\t\t\t{\n\t\t\t\tkey: `🔍 Selector Token Index (Internal)`,\n\t\t\t\tdefault: () => {\n\t\t\t\t\tconst base: SelectorTokenIndex = new Map()\n\t\t\t\t\tfor (const map of [store.readonlySelectors, store.writableSelectors]) {\n\t\t\t\t\t\tfor (const [key, val] of map) {\n\t\t\t\t\t\t\tif (isReservedIntrospectionKey(key)) {\n\t\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst token = deposit(val)\n\t\t\t\t\t\t\tif (val.family) {\n\t\t\t\t\t\t\t\tlet familyNode = base.get(val.family.key)\n\t\t\t\t\t\t\t\tif (!familyNode || !(`familyMembers` in familyNode)) {\n\t\t\t\t\t\t\t\t\tfamilyNode = {\n\t\t\t\t\t\t\t\t\t\tkey: val.family.key,\n\t\t\t\t\t\t\t\t\t\tfamilyMembers: new Map(),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbase.set(val.family.key, familyNode)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tfamilyNode.familyMembers.set(val.family.subKey, token)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tbase.set(key, token)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn base\n\t\t\t\t},\n\t\t\t\teffects: [\n\t\t\t\t\t({ setSelf }) => {\n\t\t\t\t\t\tstore.on.selectorCreation.subscribe(\n\t\t\t\t\t\t\t`introspection`,\n\t\t\t\t\t\t\t(selectorToken) => {\n\t\t\t\t\t\t\t\tif (isReservedIntrospectionKey(selectorToken.key)) {\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tsetSelf((self) => {\n\t\t\t\t\t\t\t\t\tif (selectorToken.family) {\n\t\t\t\t\t\t\t\t\t\tconst { key: familyKey, subKey } = selectorToken.family\n\t\t\t\t\t\t\t\t\t\tlet familyNode = self.get(familyKey)\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\tfamilyNode === undefined ||\n\t\t\t\t\t\t\t\t\t\t\t!(`familyMembers` in familyNode)\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tfamilyNode = {\n\t\t\t\t\t\t\t\t\t\t\t\tkey: familyKey,\n\t\t\t\t\t\t\t\t\t\t\t\tfamilyMembers: new Map(),\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tself.set(familyKey, familyNode)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tfamilyNode.familyMembers.set(subKey, selectorToken)\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tself.set(selectorToken.key, selectorToken)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn self\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\tstore.on.selectorDisposal.subscribe(\n\t\t\t\t\t\t\t`introspection`,\n\t\t\t\t\t\t\t(selectorToken) => {\n\t\t\t\t\t\t\t\tsetSelf((self) => {\n\t\t\t\t\t\t\t\t\tif (selectorToken.family) {\n\t\t\t\t\t\t\t\t\t\tconst { key: familyKey, subKey } = selectorToken.family\n\t\t\t\t\t\t\t\t\t\tconst familyNode = self.get(familyKey)\n\t\t\t\t\t\t\t\t\t\tif (familyNode && `familyMembers` in familyNode) {\n\t\t\t\t\t\t\t\t\t\t\tfamilyNode.familyMembers.delete(subKey)\n\t\t\t\t\t\t\t\t\t\t\tif (familyNode.familyMembers.size === 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tself.delete(familyKey)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tself.delete(selectorToken.key)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn self\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\tundefined,\n\t\t)\n\treturn createStandaloneSelector(store, {\n\t\tkey: `🔍 Selector Token Index`,\n\t\tget: ({ get }) => get(readonlySelectorTokenIndexState__INTERNAL),\n\t})\n}\n","import type { ReadonlyPureSelectorFamilyToken } from \"atom.io\"\nimport type { Store, Timeline } from \"atom.io/internal\"\nimport {\n\tcreateRegularAtomFamily,\n\tcreateSelectorFamily,\n\tSubject,\n} from \"atom.io/internal\"\n\nexport const attachTimelineFamily = (\n\tstore: Store,\n): ReadonlyPureSelectorFamilyToken<Timeline<any>, string> => {\n\tconst findTimelineLogState__INTERNAL = createRegularAtomFamily<\n\t\tTimeline<any>,\n\t\tstring\n\t>(store, {\n\t\tkey: `🔍 Timeline Update Log (Internal)`,\n\t\tdefault: (key) =>\n\t\t\tstore.timelines.get(key) ?? {\n\t\t\t\ttype: `timeline`,\n\t\t\t\tkey: ``,\n\t\t\t\tat: 0,\n\t\t\t\ttimeTraveling: null,\n\t\t\t\thistory: [],\n\t\t\t\tselectorTime: null,\n\t\t\t\ttransactionKey: null,\n\t\t\t\tinstall: () => {},\n\t\t\t\tsubject: new Subject(),\n\t\t\t\tsubscriptions: new Map(),\n\t\t\t},\n\t\teffects: (key) => [\n\t\t\t({ setSelf }) => {\n\t\t\t\tconst tl = store.timelines.get(key)\n\t\t\t\ttl?.subject.subscribe(`introspection`, (_) => {\n\t\t\t\t\tsetSelf({ ...tl })\n\t\t\t\t})\n\t\t\t},\n\t\t],\n\t})\n\tconst findTimelineLogState = createSelectorFamily<Timeline<any>, string>(\n\t\tstore,\n\t\t{\n\t\t\tkey: `🔍 Timeline Update Log`,\n\t\t\tget:\n\t\t\t\t(key) =>\n\t\t\t\t({ get }) =>\n\t\t\t\t\tget(findTimelineLogState__INTERNAL, key),\n\t\t},\n\t)\n\treturn findTimelineLogState\n}\n","import type { ReadonlyPureSelectorToken, TimelineToken } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { createRegularAtom, createStandaloneSelector } from \"atom.io/internal\"\n\nexport const attachTimelineIndex = (\n\tstore: Store,\n): ReadonlyPureSelectorToken<TimelineToken<any>[]> => {\n\tconst timelineTokenIndexState__INTERNAL = createRegularAtom<\n\t\tTimelineToken<any>[]\n\t>(\n\t\tstore,\n\t\t{\n\t\t\tkey: `🔍 Timeline Token Index (Internal)`,\n\t\t\tdefault: () =>\n\t\t\t\t[...store.timelines].map(([key]): TimelineToken<any> => {\n\t\t\t\t\treturn { key, type: `timeline` }\n\t\t\t\t}),\n\t\t\teffects: [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tstore.on.timelineCreation.subscribe(\n\t\t\t\t\t\t`introspection`,\n\t\t\t\t\t\t(timelineToken) => {\n\t\t\t\t\t\t\tsetSelf((state) => [...state, timelineToken])\n\t\t\t\t\t\t},\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tundefined,\n\t)\n\tconst timelineTokenIndex = createStandaloneSelector(store, {\n\t\tkey: `🔍 Timeline Token Index`,\n\t\tget: ({ get }) => get(timelineTokenIndexState__INTERNAL),\n\t})\n\treturn timelineTokenIndex\n}\n","import type { ReadonlyPureSelectorToken, TransactionToken } from \"atom.io\"\nimport type { Func, Store } from \"atom.io/internal\"\nimport { createRegularAtom, createStandaloneSelector } from \"atom.io/internal\"\n\nexport const attachTransactionIndex = (\n\tstore: Store,\n): ReadonlyPureSelectorToken<TransactionToken<Func>[]> => {\n\tconst transactionTokenIndexState__INTERNAL = createRegularAtom<\n\t\tTransactionToken<Func>[]\n\t>(\n\t\tstore,\n\t\t{\n\t\t\tkey: `🔍 Transaction Token Index (Internal)`,\n\t\t\tdefault: () =>\n\t\t\t\t[...store.transactions].map(([key]): TransactionToken<Func> => {\n\t\t\t\t\treturn { key, type: `transaction` }\n\t\t\t\t}),\n\t\t\teffects: [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tstore.on.transactionCreation.subscribe(\n\t\t\t\t\t\t`introspection`,\n\t\t\t\t\t\t(transactionToken) => {\n\t\t\t\t\t\t\tsetSelf((state) => [...state, transactionToken])\n\t\t\t\t\t\t},\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tundefined,\n\t)\n\tconst transactionTokenIndex = createStandaloneSelector(store, {\n\t\tkey: `🔍 Transaction Token Index`,\n\t\tget: ({ get }) => get(transactionTokenIndexState__INTERNAL),\n\t})\n\treturn transactionTokenIndex\n}\n","import type { ReadonlyPureSelectorFamilyToken, TransactionUpdate } from \"atom.io\"\nimport type { Func, Store } from \"atom.io/internal\"\nimport { createRegularAtomFamily, createSelectorFamily } from \"atom.io/internal\"\n\nexport const attachTransactionLogs = (\n\tstore: Store,\n): ReadonlyPureSelectorFamilyToken<TransactionUpdate<Func>[], string> => {\n\tconst transactionUpdateLogAtoms = createRegularAtomFamily<\n\t\tTransactionUpdate<Func>[],\n\t\tstring\n\t>(store, {\n\t\tkey: `🔍 Transaction Update Log (Internal)`,\n\t\tdefault: () => [],\n\t\teffects: (key) => [\n\t\t\t({ setSelf }) => {\n\t\t\t\tconst tx = store.transactions.get(key)\n\t\t\t\ttx?.subject.subscribe(`introspection`, (transactionUpdate) => {\n\t\t\t\t\tif (transactionUpdate.key === key) {\n\t\t\t\t\t\tsetSelf((state) => [...state, transactionUpdate])\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t],\n\t})\n\tconst findTransactionUpdateLogState = createSelectorFamily<\n\t\tTransactionUpdate<Func>[],\n\t\tstring\n\t>(store, {\n\t\tkey: `🔍 Transaction Update Log`,\n\t\tget:\n\t\t\t(key) =>\n\t\t\t({ get }) =>\n\t\t\t\tget(transactionUpdateLogAtoms, key),\n\t})\n\treturn findTransactionUpdateLogState\n}\n","import type { Flat, Refinement } from \"atom.io/internal\"\nimport type { Json } from \"atom.io/json\"\n\nexport type ClassSignature = abstract new (...args: any) => any\n\nexport type RefinementStrategy = ClassSignature | Refinement<unknown, any>\n\nexport type Supported<Refine extends RefinementStrategy> =\n\tRefine extends Refinement<unknown, infer T>\n\t\t? T\n\t\t: Refine extends ClassSignature\n\t\t\t? InstanceType<Refine>\n\t\t\t: never\n\nexport type RefinementSupport = Record<string, RefinementStrategy>\n\nexport class Refinery<SupportedTypes extends RefinementSupport> {\n\tpublic supported: SupportedTypes\n\n\tpublic constructor(supported: SupportedTypes) {\n\t\tthis.supported = supported\n\t}\n\n\tpublic refine<T>(input: T):\n\t\t| Flat<{\n\t\t\t\t[K in keyof SupportedTypes]: T extends Supported<SupportedTypes[K]>\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttype: K\n\t\t\t\t\t\t\tdata: Supported<SupportedTypes[K]>\n\t\t\t\t\t\t}\n\t\t\t\t\t: Supported<SupportedTypes[K]> extends T\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\ttype: K\n\t\t\t\t\t\t\t\tdata: Supported<SupportedTypes[K]>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: never\n\t\t }>[keyof SupportedTypes]\n\t\t| (T extends Supported<SupportedTypes[keyof SupportedTypes]>\n\t\t\t\t? never\n\t\t\t\t: null) {\n\t\tfor (const [key, refiner] of Object.entries(this.supported)) {\n\t\t\ttry {\n\t\t\t\tif (\n\t\t\t\t\t// @ts-expect-error that's the point\n\t\t\t\t\trefiner(input) === true &&\n\t\t\t\t\trefiner !== Boolean\n\t\t\t\t) {\n\t\t\t\t\treturn { type: key, data: input } as any\n\t\t\t\t}\n\t\t\t} catch (_) {\n\t\t\t\ttry {\n\t\t\t\t\tif (input instanceof refiner) {\n\t\t\t\t\t\treturn { type: key, data: input } as any\n\t\t\t\t\t}\n\t\t\t\t} catch (__) {}\n\t\t\t}\n\t\t}\n\t\treturn null as any\n\t}\n}\n\nexport const primitiveRefinery: Refinery<{\n\tnumber: (input: unknown) => input is number\n\tstring: (input: unknown) => input is string\n\tboolean: (input: unknown) => input is boolean\n\tnull: (input: unknown) => input is null\n}> = new Refinery({\n\tnumber: (input: unknown): input is number => typeof input === `number`,\n\tstring: (input: unknown): input is string => typeof input === `string`,\n\tboolean: (input: unknown): input is boolean => typeof input === `boolean`,\n\tnull: (input: unknown): input is null => input === null,\n})\n\nexport function isPlainObject(input: unknown): input is Json.Tree.Object {\n\tif (!input) {\n\t\treturn false\n\t}\n\tconst prototype = Object.getPrototypeOf(input)\n\treturn prototype === Object.prototype\n}\n\nexport const jsonTreeRefinery: Refinery<{\n\tobject: (input: unknown) => input is Json.Tree.Object\n\tarray: (input: unknown) => input is Json.Tree.Array\n}> = new Refinery({\n\tobject: isPlainObject,\n\tarray: (input: unknown): input is Json.Tree.Array => Array.isArray(input),\n})\n\nexport const jsonRefinery: Refinery<{\n\tobject: (input: unknown) => input is Json.Tree.Object\n\tarray: (input: unknown) => input is Json.Tree.Array\n\tnumber: (input: unknown) => input is number\n\tstring: (input: unknown) => input is string\n\tboolean: (input: unknown) => input is boolean\n\tnull: (input: unknown) => input is null\n}> = new Refinery({\n\t...primitiveRefinery.supported,\n\t...jsonTreeRefinery.supported,\n})\n\nexport type JsonType = keyof typeof jsonRefinery.supported\n\nexport const discoverType = (\n\tinput: unknown,\n): JsonType | `Map` | `Set` | `undefined` | (string & {}) => {\n\tif (input === undefined) {\n\t\treturn `undefined`\n\t}\n\tconst refined = jsonRefinery.refine(input)\n\tif (refined) {\n\t\treturn refined.type\n\t}\n\treturn Object.getPrototypeOf(input).constructor.name\n}\n","import type { ReadonlyPureSelectorFamilyToken } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { createReadonlyPureSelectorFamily } from \"atom.io/internal\"\n\nimport { discoverType } from \"./refinery\"\n\nexport const attachTypeSelectors = (\n\tstore: Store,\n): ReadonlyPureSelectorFamilyToken<string, string> => {\n\tconst typeSelectors = createReadonlyPureSelectorFamily<string, string>(store, {\n\t\tkey: `🔍 State Type`,\n\t\tget:\n\t\t\t(key) =>\n\t\t\t({ get }) => {\n\t\t\t\tlet state: unknown\n\t\t\t\ttry {\n\t\t\t\t\tconst token =\n\t\t\t\t\t\tstore.atoms.get(key) ??\n\t\t\t\t\t\tstore.writableSelectors.get(key) ??\n\t\t\t\t\t\tstore.readonlySelectors.get(key)\n\t\t\t\t\tif (token === undefined) {\n\t\t\t\t\t\tthrow new Error(`Could not find state with key \"${key}\"`)\n\t\t\t\t\t}\n\t\t\t\t\tstate = get(token)\n\t\t\t\t} catch (thrown) {\n\t\t\t\t\treturn `error`\n\t\t\t\t}\n\t\t\t\tconst typeOfState = discoverType(state)\n\t\t\t\treturn typeOfState\n\t\t\t},\n\t})\n\treturn typeSelectors\n}\n","import type {\n\tReadonlyPureSelectorFamilyToken,\n\tReadonlyPureSelectorToken,\n\tTimelineToken,\n\tTransactionToken,\n\tTransactionUpdate,\n} from \"atom.io\"\nimport type { Func, Store, Timeline } from \"atom.io/internal\"\n\nimport { type AtomTokenIndex, attachAtomIndex } from \"./attach-atom-index\"\nimport type { SelectorTokenIndex } from \"./attach-selector-index\"\nimport { attachSelectorIndex } from \"./attach-selector-index\"\nimport { attachTimelineFamily } from \"./attach-timeline-family\"\nimport { attachTimelineIndex } from \"./attach-timeline-index\"\nimport { attachTransactionIndex } from \"./attach-transaction-index\"\nimport { attachTransactionLogs } from \"./attach-transaction-logs\"\nimport { attachTypeSelectors } from \"./attach-type-selectors\"\n\nexport type IntrospectionStates = {\n\tatomIndex: ReadonlyPureSelectorToken<AtomTokenIndex>\n\tselectorIndex: ReadonlyPureSelectorToken<SelectorTokenIndex>\n\ttransactionIndex: ReadonlyPureSelectorToken<TransactionToken<Func>[]>\n\ttransactionLogSelectors: ReadonlyPureSelectorFamilyToken<\n\t\tTransactionUpdate<Func>[],\n\t\tstring\n\t>\n\ttimelineIndex: ReadonlyPureSelectorToken<TimelineToken<any>[]>\n\ttimelineSelectors: ReadonlyPureSelectorFamilyToken<Timeline<any>, string>\n\ttypeSelectors: ReadonlyPureSelectorFamilyToken<string, string>\n}\n\nexport const attachIntrospectionStates = (store: Store): IntrospectionStates => {\n\treturn {\n\t\tatomIndex: attachAtomIndex(store),\n\t\tselectorIndex: attachSelectorIndex(store),\n\t\ttransactionIndex: attachTransactionIndex(store),\n\t\ttransactionLogSelectors: attachTransactionLogs(store),\n\t\ttimelineIndex: attachTimelineIndex(store),\n\t\ttimelineSelectors: attachTimelineFamily(store),\n\t\ttypeSelectors: attachTypeSelectors(store),\n\t}\n}\n","import {\n\ttype AtomToken,\n\tgetState,\n\ttype ReadableToken,\n\ttype ReadonlyPureSelectorToken,\n\ttype SelectorToken,\n} from \"atom.io\"\nimport * as Internal from \"atom.io/internal\"\n\nimport type { FamilyNode } from \".\"\nimport type { AtomTokenIndex } from \"./attach-atom-index\"\nimport { attachAtomIndex } from \"./attach-atom-index\"\nimport type { SelectorTokenIndex } from \"./attach-selector-index\"\nimport { attachSelectorIndex } from \"./attach-selector-index\"\n\nexport type ListResourcesParam = {\n\tatomFamilies: boolean\n\tselectorFamilies: boolean\n}\n\n/**\n * Auditor is a tool for identifying lingering resources in your store that may result in memory leaks.\n * @experimental\n */\nexport class Auditor {\n\tpublic readonly store: Internal.Store\n\tpublic auditorCreatedAt: number = performance.now()\n\tpublic statesCreatedAt: Map<string, number> = new Map()\n\tpublic readonly atomIndex: ReadonlyPureSelectorToken<AtomTokenIndex>\n\tpublic readonly selectorIndex: ReadonlyPureSelectorToken<SelectorTokenIndex>\n\tpublic disposed = false\n\n\tprivate readonly unsubscribeFromAtomCreation: () => void\n\tprivate readonly unsubscribeFromAtomDisposal: () => void\n\tprivate readonly unsubscribeFromSelectorCreation: () => void\n\tprivate readonly unsubscribeFromSelectorDisposal: () => void\n\n\t/**\n\t * @param {Store} store - The store to audit.\n\t */\n\tpublic constructor(store: Internal.Store = Internal.IMPLICIT.STORE) {\n\t\tthis.store = store\n\t\tthis.atomIndex = attachAtomIndex(this.store)\n\t\tthis.selectorIndex = attachSelectorIndex(this.store)\n\t\tthis.unsubscribeFromAtomCreation = this.store.on.atomCreation.subscribe(\n\t\t\t`auditor-${this.auditorCreatedAt}`,\n\t\t\t({ key }) => {\n\t\t\t\tthis.statesCreatedAt.set(key, performance.now() - this.auditorCreatedAt)\n\t\t\t},\n\t\t)\n\t\tthis.unsubscribeFromAtomDisposal = this.store.on.atomDisposal.subscribe(\n\t\t\t`auditor-${this.auditorCreatedAt}`,\n\t\t\t({ key }) => {\n\t\t\t\tthis.statesCreatedAt.delete(key)\n\t\t\t},\n\t\t)\n\t\tthis.unsubscribeFromSelectorCreation =\n\t\t\tthis.store.on.selectorCreation.subscribe(\n\t\t\t\t`auditor-${this.auditorCreatedAt}`,\n\t\t\t\t({ key }) => {\n\t\t\t\t\tthis.statesCreatedAt.set(\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tperformance.now() - this.auditorCreatedAt,\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t)\n\t\tthis.unsubscribeFromSelectorDisposal =\n\t\t\tthis.store.on.selectorDisposal.subscribe(\n\t\t\t\t`auditor-${this.auditorCreatedAt}`,\n\t\t\t\t({ key }) => {\n\t\t\t\t\tthis.statesCreatedAt.delete(key)\n\t\t\t\t},\n\t\t\t)\n\t}\n\n\tpublic static readonly DEFAULT_LIST_RESOURCES_PARAM: ListResourcesParam = {\n\t\tatomFamilies: true,\n\t\tselectorFamilies: true,\n\t} satisfies ListResourcesParam\n\t/**\n\t * Lists all resources in the store, along with their creation time.\n\t *\n\t * @param {ListResourcesParam} [param] - Optional parameters for filtering the list of resources.\n\t * @returns {readonly [ReadableToken<unknown>, number]}[] - An array of tuples, where each tuple contains a state token belonging to a family in the store and that state's creation time.\n\t */\n\tpublic listResources(\n\t\tparam: ListResourcesParam = Auditor.DEFAULT_LIST_RESOURCES_PARAM,\n\t): (readonly [ReadableToken<unknown>, number])[] {\n\t\tif (this.disposed) {\n\t\t\tthrow new Error(`This Auditor has been disposed`)\n\t\t}\n\t\tconst atoms = getState(this.atomIndex)\n\t\tconst selectors = getState(this.selectorIndex)\n\t\tconst atomFamilyNodes = [...atoms.values()].filter(\n\t\t\t(node): node is FamilyNode<AtomToken<unknown>> => `familyMembers` in node,\n\t\t)\n\t\tconst selectorFamilyNodes = [...selectors.values()].filter(\n\t\t\t(node): node is FamilyNode<SelectorToken<unknown>> =>\n\t\t\t\t`familyMembers` in node,\n\t\t)\n\t\tconst currentTime = performance.now()\n\t\tconst resources: (readonly [ReadableToken<unknown>, number])[] = []\n\t\tif (param.atomFamilies) {\n\t\t\tfor (const familyNode of atomFamilyNodes) {\n\t\t\t\tconst tokens = familyNode.familyMembers.values()\n\t\t\t\tfor (const token of tokens) {\n\t\t\t\t\tconst storedTime = this.statesCreatedAt.get(token.key)\n\t\t\t\t\tconst creationTime = storedTime ?? this.auditorCreatedAt\n\t\t\t\t\tconst age = currentTime - creationTime\n\t\t\t\t\tresources.push([token, age])\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (param.selectorFamilies) {\n\t\t\tfor (const familyNode of selectorFamilyNodes) {\n\t\t\t\tconst tokens = familyNode.familyMembers.values()\n\t\t\t\tfor (const token of tokens) {\n\t\t\t\t\tconst storedTime = this.statesCreatedAt.get(token.key)\n\t\t\t\t\tconst creationTime = storedTime ?? this.auditorCreatedAt\n\t\t\t\t\tconst age = currentTime - creationTime\n\t\t\t\t\tresources.push([token, age])\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn resources\n\t}\n\n\tpublic [Symbol.dispose](): void {\n\t\tthis.unsubscribeFromAtomCreation()\n\t\tthis.unsubscribeFromAtomDisposal()\n\t\tthis.unsubscribeFromSelectorCreation()\n\t\tthis.unsubscribeFromSelectorDisposal()\n\t\tthis.disposed = true\n\t}\n}\n","import { isPlainObject } from \"./refinery\"\n\n// if you found what you were looking for, return true and break\nexport type InspectionResult = Partial<{\n\tpathComplete: true\n\tjobComplete: true\n}>\nexport type InspectNode = (\n\tpath: string[],\n\tnode: unknown,\n) => InspectionResult | void\n\nexport const sprawl = (\n\ttree: Array<unknown> | object,\n\tinspector: InspectNode,\n): void => {\n\tconst walk = (path: string[], node: unknown): InspectionResult => {\n\t\tconst inspect = (p: string[], n: unknown): InspectionResult | null => {\n\t\t\t// console.log(parent)\n\t\t\tconst result = inspector(p, n)\n\t\t\tif (result) return result\n\t\t\treturn null\n\t\t}\n\t\tconst result = inspect(path, node)\n\t\tif (result?.jobComplete ?? result?.pathComplete) {\n\t\t\treturn result\n\t\t}\n\t\tconst childEntries = Array.isArray(node)\n\t\t\t? node.map((v, i) => [i, v])\n\t\t\t: isPlainObject(node)\n\t\t\t\t? Object.entries(node)\n\t\t\t\t: []\n\t\tfor (const [k, v] of childEntries) {\n\t\t\tconst subResult = walk([...path, k], v)\n\t\t\tif (subResult?.jobComplete) {\n\t\t\t\treturn subResult\n\t\t\t}\n\t\t}\n\t\treturn {}\n\t}\n\twalk([], tree)\n}\n","import type { Json } from \"atom.io/json\"\n\nimport type { Refinery, Supported } from \"./refinery\"\nimport { discoverType, jsonTreeRefinery, primitiveRefinery } from \"./refinery\"\nimport { sprawl } from \"./sprawl\"\n\nexport function diffNumber(a: number, b: number): Delta {\n\tconst sign = a < b ? `+` : `-`\n\treturn {\n\t\tsummary: `${sign}${Math.abs(a - b)} (${a} → ${b})`,\n\t}\n}\n\nexport function diffString(a: string, b: string): Delta {\n\tconst sign = a.length < b.length ? `+` : `-`\n\treturn {\n\t\tsummary: `${sign}${Math.abs(a.length - b.length)} (\"${a}\" → \"${b}\")`,\n\t}\n}\n\nexport function diffBoolean(a: boolean, b: boolean): Delta {\n\treturn {\n\t\tsummary: `${a} → ${b}`,\n\t}\n}\n\nexport function diffObject(\n\ta: Json.Tree.Object,\n\tb: Json.Tree.Object,\n\trecurse: Diff<unknown>,\n): Delta {\n\tlet summary = ``\n\tconst added: Delta[`added`] = []\n\tconst removed: Delta[`removed`] = []\n\tconst changed: Delta[`changed`] = []\n\n\tsprawl(a, (path, nodeA) => {\n\t\tlet key: string\n\t\tfor (key of path) {\n\t\t\tconst nodeB = b[key]\n\t\t\tif (nodeB === undefined) {\n\t\t\t\tremoved.push([key, JSON.stringify(nodeA)])\n\t\t\t} else {\n\t\t\t\tconst delta = recurse(nodeA, nodeB)\n\t\t\t\tif (delta.summary !== `No Change`) {\n\t\t\t\t\tchanged.push([key, delta])\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t})\n\n\tsprawl(b, (path, nodeB) => {\n\t\tlet key: string\n\t\tfor (key of path) {\n\t\t\tconst nodeA = a[key]\n\t\t\tif (nodeA === undefined) {\n\t\t\t\tadded.push([key, JSON.stringify(nodeB)])\n\t\t\t}\n\t\t}\n\t})\n\n\tsummary = `~${changed.length} +${added.length} -${removed.length}`\n\n\treturn {\n\t\tsummary,\n\t\tadded,\n\t\tremoved,\n\t\tchanged,\n\t}\n}\n\nexport function diffArray(\n\ta: Json.Tree.Array,\n\tb: Json.Tree.Array,\n\trecurse: Diff<unknown>,\n): Delta {\n\treturn diffObject(a as any, b as any, recurse)\n}\n\ntype Delta = {\n\tsummary: string\n\tadded?: [path: string, addedStringifiedValue: string][]\n\tremoved?: [path: string, removedStringifiedValue: string][]\n\tchanged?: [path: string, delta: Delta][]\n}\n\ntype Diff<T> = (a: T, b: T) => Delta\ntype DiffTree<T> = (a: T, b: T, recurse: Differ<any, any>[`diff`]) => Delta\n\nexport class Differ<\n\tLeaf extends Record<string, any>,\n\tTree extends Record<string, any>,\n> {\n\tpublic leafRefinery: Refinery<Leaf>\n\tpublic treeRefinery: Refinery<Tree>\n\tpublic leafDiffers: { [KL in keyof Leaf]: Diff<Supported<Leaf[KL]>> }\n\tpublic treeDiffers: { [KT in keyof Tree]: DiffTree<Supported<Tree[KT]>> }\n\n\tpublic constructor(\n\t\tleafRefinery: Refinery<Leaf>,\n\t\ttreeRefinery: Refinery<Tree>,\n\t\tdiffFunctions: {\n\t\t\t[KT in keyof Tree]: DiffTree<Supported<Tree[KT]>>\n\t\t} & { [KL in keyof Leaf]: Diff<Supported<Leaf[KL]>> },\n\t) {\n\t\tthis.leafRefinery = leafRefinery\n\t\tthis.treeRefinery = treeRefinery\n\t\tthis.leafDiffers = {} as any\n\t\tthis.treeDiffers = {} as any\n\t\tfor (const key of Object.keys(leafRefinery.supported)) {\n\t\t\tconst diffFunction = diffFunctions[key]\n\t\t\tthis.leafDiffers[key as keyof Leaf] = diffFunction\n\t\t}\n\t\tfor (const key of Object.keys(treeRefinery.supported)) {\n\t\t\tconst diffFunction = diffFunctions[key]\n\t\t\tthis.treeDiffers[key as keyof Tree] = diffFunction\n\t\t}\n\t}\n\n\tpublic diff(a: unknown, b: unknown): Delta {\n\t\tif (a === b) {\n\t\t\treturn { summary: `No Change` }\n\t\t}\n\n\t\tconst aRefined = this.leafRefinery.refine(a) ?? this.treeRefinery.refine(a)\n\t\tconst bRefined = this.leafRefinery.refine(b) ?? this.treeRefinery.refine(b)\n\n\t\tif (aRefined !== null && bRefined !== null) {\n\t\t\tif (aRefined.type === bRefined.type) {\n\t\t\t\tif (aRefined.type in this.leafDiffers) {\n\t\t\t\t\tconst delta = this.leafDiffers[aRefined.type](\n\t\t\t\t\t\taRefined.data,\n\t\t\t\t\t\tbRefined.data,\n\t\t\t\t\t)\n\t\t\t\t\treturn delta\n\t\t\t\t}\n\t\t\t\tif (aRefined.type in this.treeDiffers) {\n\t\t\t\t\tconst delta = this.treeDiffers[aRefined.type](\n\t\t\t\t\t\taRefined.data,\n\t\t\t\t\t\tbRefined.data,\n\t\t\t\t\t\t(x, y) => this.diff(x, y),\n\t\t\t\t\t)\n\t\t\t\t\treturn delta\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst typeA = discoverType(a)\n\t\tconst typeB = discoverType(b)\n\t\tif (typeA === typeB) {\n\t\t\treturn {\n\t\t\t\tsummary: `${typeA} → ${typeB}`,\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tsummary: `Type change: ${typeA} → ${typeB}`,\n\t\t}\n\t}\n}\n\nexport const prettyJson: Differ<\n\t{\n\t\tnumber: (input: unknown) => input is number\n\t\tstring: (input: unknown) => input is string\n\t\tboolean: (input: unknown) => input is boolean\n\t\tnull: (input: unknown) => input is null\n\t},\n\t{\n\t\tobject: (input: unknown) => input is Json.Tree.Object\n\t\tarray: (input: unknown) => input is Json.Tree.Array\n\t}\n> = new Differ(primitiveRefinery, jsonTreeRefinery, {\n\tnumber: diffNumber,\n\tstring: diffString,\n\tboolean: diffBoolean,\n\tnull: () => ({ summary: `No Change` }),\n\tobject: diffObject,\n\tarray: diffArray,\n})\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["store: Store","base: AtomTokenIndex","store: Store","base: SelectorTokenIndex","store: Store","store: Store","store: Store","store: Store","supported: SupportedTypes","input: T","primitiveRefinery: Refinery<{\n\tnumber: (input: unknown) => input is number\n\tstring: (input: unknown) => input is string\n\tboolean: (input: unknown) => input is boolean\n\tnull: (input: unknown) => input is null\n}>","input: unknown","jsonTreeRefinery: Refinery<{\n\tobject: (input: unknown) => input is Json.Tree.Object\n\tarray: (input: unknown) => input is Json.Tree.Array\n}>","jsonRefinery: Refinery<{\n\tobject: (input: unknown) => input is Json.Tree.Object\n\tarray: (input: unknown) => input is Json.Tree.Array\n\tnumber: (input: unknown) => input is number\n\tstring: (input: unknown) => input is string\n\tboolean: (input: unknown) => input is boolean\n\tnull: (input: unknown) => input is null\n}>","store: Store","state: unknown","store: Store","store: Internal.Store","param: ListResourcesParam","resources: (readonly [ReadableToken<unknown>, number])[]","tree: Array<unknown> | object","inspector: InspectNode","path: string[]","node: unknown","p: string[]","n: unknown","result","a: number","b: number","a: string","b: string","a: boolean","b: boolean","a: Json.Tree.Object","b: Json.Tree.Object","recurse: Diff<unknown>","added: Delta[`added`]","removed: Delta[`removed`]","changed: Delta[`changed`]","key: string","a: Json.Tree.Array","b: Json.Tree.Array","leafRefinery: Refinery<Leaf>","treeRefinery: Refinery<Tree>","diffFunctions: {\n\t\t\t[KT in keyof Tree]: DiffTree<Supported<Tree[KT]>>\n\t\t} & { [KL in keyof Leaf]: Diff<Supported<Leaf[KL]>> }","a: unknown","b: unknown","prettyJson: Differ<\n\t{\n\t\tnumber: (input: unknown) => input is number\n\t\tstring: (input: unknown) => input is string\n\t\tboolean: (input: unknown) => input is boolean\n\t\tnull: (input: unknown) => input is null\n\t},\n\t{\n\t\tobject: (input: unknown) => input is Json.Tree.Object\n\t\tarray: (input: unknown) => input is Json.Tree.Array\n\t}\n>"],"sources":["../../src/introspection/attach-atom-index.ts","../../src/introspection/attach-selector-index.ts","../../src/introspection/attach-timeline-family.ts","../../src/introspection/attach-timeline-index.ts","../../src/introspection/attach-transaction-index.ts","../../src/introspection/attach-transaction-logs.ts","../../src/introspection/refinery.ts","../../src/introspection/attach-type-selectors.ts","../../src/introspection/attach-introspection-states.ts","../../src/introspection/auditor.ts","../../src/introspection/sprawl.ts","../../src/introspection/differ.ts"],"sourcesContent":["import type { AtomToken, ReadonlyPureSelectorToken } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport {\n\tcreateRegularAtom,\n\tcreateStandaloneSelector,\n\tdeposit,\n\tisReservedIntrospectionKey,\n} from \"atom.io/internal\"\n\nimport type { WritableTokenIndex } from \".\"\n\nexport type AtomTokenIndex = WritableTokenIndex<AtomToken<unknown>>\n\nexport const attachAtomIndex = (\n\tstore: Store,\n): ReadonlyPureSelectorToken<AtomTokenIndex> => {\n\tconst atomTokenIndexState__INTERNAL = createRegularAtom<AtomTokenIndex>(\n\t\tstore,\n\t\t{\n\t\t\tkey: `🔍 Atom Token Index (Internal)`,\n\t\t\tdefault: () => {\n\t\t\t\tconst base: AtomTokenIndex = new Map()\n\t\t\t\tfor (const [key, val] of store.atoms) {\n\t\t\t\t\tif (isReservedIntrospectionKey(key)) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tconst token = deposit(val)\n\t\t\t\t\tif (val.family) {\n\t\t\t\t\t\tlet familyNode = base.get(val.family.key)\n\t\t\t\t\t\tif (!familyNode || !(`familyMembers` in familyNode)) {\n\t\t\t\t\t\t\tfamilyNode = {\n\t\t\t\t\t\t\t\tkey: val.family.key,\n\t\t\t\t\t\t\t\tfamilyMembers: new Map(),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbase.set(val.family.key, familyNode)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfamilyNode.familyMembers.set(val.family.subKey, token)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbase.set(key, token)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn base\n\t\t\t},\n\t\t\teffects: [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tstore.on.atomCreation.subscribe(`introspection`, (atomToken) => {\n\t\t\t\t\t\tif (isReservedIntrospectionKey(atomToken.key)) {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsetSelf((self) => {\n\t\t\t\t\t\t\tif (atomToken.family) {\n\t\t\t\t\t\t\t\tconst { key: familyKey, subKey } = atomToken.family\n\t\t\t\t\t\t\t\tlet familyNode = self.get(familyKey)\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tfamilyNode === undefined ||\n\t\t\t\t\t\t\t\t\t!(`familyMembers` in familyNode)\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tfamilyNode = {\n\t\t\t\t\t\t\t\t\t\tkey: familyKey,\n\t\t\t\t\t\t\t\t\t\tfamilyMembers: new Map(),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tself.set(familyKey, familyNode)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tfamilyNode.familyMembers.set(subKey, atomToken)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tself.set(atomToken.key, atomToken)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn self\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t\tstore.on.atomDisposal.subscribe(`introspection`, (atomToken) => {\n\t\t\t\t\t\tsetSelf((self) => {\n\t\t\t\t\t\t\tif (atomToken.family) {\n\t\t\t\t\t\t\t\tconst { key: familyKey, subKey } = atomToken.family\n\t\t\t\t\t\t\t\tconst familyNode = self.get(familyKey)\n\t\t\t\t\t\t\t\tif (familyNode && `familyMembers` in familyNode) {\n\t\t\t\t\t\t\t\t\tfamilyNode.familyMembers.delete(subKey)\n\t\t\t\t\t\t\t\t\tif (familyNode.familyMembers.size === 0) {\n\t\t\t\t\t\t\t\t\t\tself.delete(familyKey)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tself.delete(atomToken.key)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn self\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tundefined,\n\t)\n\treturn createStandaloneSelector(store, {\n\t\tkey: `🔍 Atom Token Index`,\n\t\tget: ({ get }) => get(atomTokenIndexState__INTERNAL),\n\t})\n}\n","import type { ReadonlyPureSelectorToken, SelectorToken } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport {\n\tcreateRegularAtom,\n\tcreateStandaloneSelector,\n\tdeposit,\n\tisReservedIntrospectionKey,\n} from \"atom.io/internal\"\n\nimport type { WritableTokenIndex } from \".\"\n\nexport type SelectorTokenIndex = WritableTokenIndex<SelectorToken<unknown>>\n\nexport const attachSelectorIndex = (\n\tstore: Store,\n): ReadonlyPureSelectorToken<SelectorTokenIndex> => {\n\tconst readonlySelectorTokenIndexState__INTERNAL =\n\t\tcreateRegularAtom<SelectorTokenIndex>(\n\t\t\tstore,\n\n\t\t\t{\n\t\t\t\tkey: `🔍 Selector Token Index (Internal)`,\n\t\t\t\tdefault: () => {\n\t\t\t\t\tconst base: SelectorTokenIndex = new Map()\n\t\t\t\t\tfor (const map of [store.readonlySelectors, store.writableSelectors]) {\n\t\t\t\t\t\tfor (const [key, val] of map) {\n\t\t\t\t\t\t\tif (isReservedIntrospectionKey(key)) {\n\t\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst token = deposit(val)\n\t\t\t\t\t\t\tif (val.family) {\n\t\t\t\t\t\t\t\tlet familyNode = base.get(val.family.key)\n\t\t\t\t\t\t\t\tif (!familyNode || !(`familyMembers` in familyNode)) {\n\t\t\t\t\t\t\t\t\tfamilyNode = {\n\t\t\t\t\t\t\t\t\t\tkey: val.family.key,\n\t\t\t\t\t\t\t\t\t\tfamilyMembers: new Map(),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbase.set(val.family.key, familyNode)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tfamilyNode.familyMembers.set(val.family.subKey, token)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tbase.set(key, token)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn base\n\t\t\t\t},\n\t\t\t\teffects: [\n\t\t\t\t\t({ setSelf }) => {\n\t\t\t\t\t\tstore.on.selectorCreation.subscribe(\n\t\t\t\t\t\t\t`introspection`,\n\t\t\t\t\t\t\t(selectorToken) => {\n\t\t\t\t\t\t\t\tif (isReservedIntrospectionKey(selectorToken.key)) {\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tsetSelf((self) => {\n\t\t\t\t\t\t\t\t\tif (selectorToken.family) {\n\t\t\t\t\t\t\t\t\t\tconst { key: familyKey, subKey } = selectorToken.family\n\t\t\t\t\t\t\t\t\t\tlet familyNode = self.get(familyKey)\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\tfamilyNode === undefined ||\n\t\t\t\t\t\t\t\t\t\t\t!(`familyMembers` in familyNode)\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tfamilyNode = {\n\t\t\t\t\t\t\t\t\t\t\t\tkey: familyKey,\n\t\t\t\t\t\t\t\t\t\t\t\tfamilyMembers: new Map(),\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tself.set(familyKey, familyNode)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tfamilyNode.familyMembers.set(subKey, selectorToken)\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tself.set(selectorToken.key, selectorToken)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn self\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\tstore.on.selectorDisposal.subscribe(\n\t\t\t\t\t\t\t`introspection`,\n\t\t\t\t\t\t\t(selectorToken) => {\n\t\t\t\t\t\t\t\tsetSelf((self) => {\n\t\t\t\t\t\t\t\t\tif (selectorToken.family) {\n\t\t\t\t\t\t\t\t\t\tconst { key: familyKey, subKey } = selectorToken.family\n\t\t\t\t\t\t\t\t\t\tconst familyNode = self.get(familyKey)\n\t\t\t\t\t\t\t\t\t\tif (familyNode && `familyMembers` in familyNode) {\n\t\t\t\t\t\t\t\t\t\t\tfamilyNode.familyMembers.delete(subKey)\n\t\t\t\t\t\t\t\t\t\t\tif (familyNode.familyMembers.size === 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tself.delete(familyKey)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tself.delete(selectorToken.key)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn self\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\tundefined,\n\t\t)\n\treturn createStandaloneSelector(store, {\n\t\tkey: `🔍 Selector Token Index`,\n\t\tget: ({ get }) => get(readonlySelectorTokenIndexState__INTERNAL),\n\t})\n}\n","import type { ReadonlyPureSelectorFamilyToken } from \"atom.io\"\nimport type { Store, Timeline } from \"atom.io/internal\"\nimport {\n\tcreateRegularAtomFamily,\n\tcreateSelectorFamily,\n\tSubject,\n} from \"atom.io/internal\"\n\nexport const attachTimelineFamily = (\n\tstore: Store,\n): ReadonlyPureSelectorFamilyToken<Timeline<any>, string> => {\n\tconst findTimelineLogState__INTERNAL = createRegularAtomFamily<\n\t\tTimeline<any>,\n\t\tstring\n\t>(store, {\n\t\tkey: `🔍 Timeline Update Log (Internal)`,\n\t\tdefault: (key) =>\n\t\t\tstore.timelines.get(key) ?? {\n\t\t\t\ttype: `timeline`,\n\t\t\t\tkey: ``,\n\t\t\t\tat: 0,\n\t\t\t\ttimeTraveling: null,\n\t\t\t\thistory: [],\n\t\t\t\tselectorTime: null,\n\t\t\t\ttransactionKey: null,\n\t\t\t\tinstall: () => {},\n\t\t\t\tsubject: new Subject(),\n\t\t\t\tsubscriptions: new Map(),\n\t\t\t},\n\t\teffects: (key) => [\n\t\t\t({ setSelf }) => {\n\t\t\t\tconst tl = store.timelines.get(key)\n\t\t\t\ttl?.subject.subscribe(`introspection`, (_) => {\n\t\t\t\t\tsetSelf({ ...tl })\n\t\t\t\t})\n\t\t\t},\n\t\t],\n\t})\n\tconst findTimelineLogState = createSelectorFamily<Timeline<any>, string>(\n\t\tstore,\n\t\t{\n\t\t\tkey: `🔍 Timeline Update Log`,\n\t\t\tget:\n\t\t\t\t(key) =>\n\t\t\t\t({ get }) =>\n\t\t\t\t\tget(findTimelineLogState__INTERNAL, key),\n\t\t},\n\t)\n\treturn findTimelineLogState\n}\n","import type { ReadonlyPureSelectorToken, TimelineToken } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { createRegularAtom, createStandaloneSelector } from \"atom.io/internal\"\n\nexport const attachTimelineIndex = (\n\tstore: Store,\n): ReadonlyPureSelectorToken<TimelineToken<any>[]> => {\n\tconst timelineTokenIndexState__INTERNAL = createRegularAtom<\n\t\tTimelineToken<any>[]\n\t>(\n\t\tstore,\n\t\t{\n\t\t\tkey: `🔍 Timeline Token Index (Internal)`,\n\t\t\tdefault: () =>\n\t\t\t\t[...store.timelines].map(([key]): TimelineToken<any> => {\n\t\t\t\t\treturn { key, type: `timeline` }\n\t\t\t\t}),\n\t\t\teffects: [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tstore.on.timelineCreation.subscribe(\n\t\t\t\t\t\t`introspection`,\n\t\t\t\t\t\t(timelineToken) => {\n\t\t\t\t\t\t\tsetSelf((state) => [...state, timelineToken])\n\t\t\t\t\t\t},\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tundefined,\n\t)\n\tconst timelineTokenIndex = createStandaloneSelector(store, {\n\t\tkey: `🔍 Timeline Token Index`,\n\t\tget: ({ get }) => get(timelineTokenIndexState__INTERNAL),\n\t})\n\treturn timelineTokenIndex\n}\n","import type { ReadonlyPureSelectorToken, TransactionToken } from \"atom.io\"\nimport type { Func, Store } from \"atom.io/internal\"\nimport { createRegularAtom, createStandaloneSelector } from \"atom.io/internal\"\n\nexport const attachTransactionIndex = (\n\tstore: Store,\n): ReadonlyPureSelectorToken<TransactionToken<Func>[]> => {\n\tconst transactionTokenIndexState__INTERNAL = createRegularAtom<\n\t\tTransactionToken<Func>[]\n\t>(\n\t\tstore,\n\t\t{\n\t\t\tkey: `🔍 Transaction Token Index (Internal)`,\n\t\t\tdefault: () =>\n\t\t\t\t[...store.transactions].map(([key]): TransactionToken<Func> => {\n\t\t\t\t\treturn { key, type: `transaction` }\n\t\t\t\t}),\n\t\t\teffects: [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tstore.on.transactionCreation.subscribe(\n\t\t\t\t\t\t`introspection`,\n\t\t\t\t\t\t(transactionToken) => {\n\t\t\t\t\t\t\tsetSelf((state) => [...state, transactionToken])\n\t\t\t\t\t\t},\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tundefined,\n\t)\n\tconst transactionTokenIndex = createStandaloneSelector(store, {\n\t\tkey: `🔍 Transaction Token Index`,\n\t\tget: ({ get }) => get(transactionTokenIndexState__INTERNAL),\n\t})\n\treturn transactionTokenIndex\n}\n","import type { ReadonlyPureSelectorFamilyToken, TransactionUpdate } from \"atom.io\"\nimport type { Func, Store } from \"atom.io/internal\"\nimport { createRegularAtomFamily, createSelectorFamily } from \"atom.io/internal\"\n\nexport const attachTransactionLogs = (\n\tstore: Store,\n): ReadonlyPureSelectorFamilyToken<TransactionUpdate<Func>[], string> => {\n\tconst transactionUpdateLogAtoms = createRegularAtomFamily<\n\t\tTransactionUpdate<Func>[],\n\t\tstring\n\t>(store, {\n\t\tkey: `🔍 Transaction Update Log (Internal)`,\n\t\tdefault: () => [],\n\t\teffects: (key) => [\n\t\t\t({ setSelf }) => {\n\t\t\t\tconst tx = store.transactions.get(key)\n\t\t\t\ttx?.subject.subscribe(`introspection`, (transactionUpdate) => {\n\t\t\t\t\tif (transactionUpdate.key === key) {\n\t\t\t\t\t\tsetSelf((state) => [...state, transactionUpdate])\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t],\n\t})\n\tconst findTransactionUpdateLogState = createSelectorFamily<\n\t\tTransactionUpdate<Func>[],\n\t\tstring\n\t>(store, {\n\t\tkey: `🔍 Transaction Update Log`,\n\t\tget:\n\t\t\t(key) =>\n\t\t\t({ get }) =>\n\t\t\t\tget(transactionUpdateLogAtoms, key),\n\t})\n\treturn findTransactionUpdateLogState\n}\n","import type { Flat, Refinement } from \"atom.io/internal\"\nimport type { Json } from \"atom.io/json\"\n\nexport type ClassSignature = abstract new (...args: any) => any\n\nexport type RefinementStrategy = ClassSignature | Refinement<unknown, any>\n\nexport type Supported<Refine extends RefinementStrategy> =\n\tRefine extends Refinement<unknown, infer T>\n\t\t? T\n\t\t: Refine extends ClassSignature\n\t\t\t? InstanceType<Refine>\n\t\t\t: never\n\nexport type RefinementSupport = Record<string, RefinementStrategy>\n\nexport class Refinery<SupportedTypes extends RefinementSupport> {\n\tpublic supported: SupportedTypes\n\n\tpublic constructor(supported: SupportedTypes) {\n\t\tthis.supported = supported\n\t}\n\n\tpublic refine<T>(input: T):\n\t\t| Flat<{\n\t\t\t\t[K in keyof SupportedTypes]: T extends Supported<SupportedTypes[K]>\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttype: K\n\t\t\t\t\t\t\tdata: Supported<SupportedTypes[K]>\n\t\t\t\t\t\t}\n\t\t\t\t\t: Supported<SupportedTypes[K]> extends T\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\ttype: K\n\t\t\t\t\t\t\t\tdata: Supported<SupportedTypes[K]>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: never\n\t\t }>[keyof SupportedTypes]\n\t\t| (T extends Supported<SupportedTypes[keyof SupportedTypes]>\n\t\t\t\t? never\n\t\t\t\t: null) {\n\t\tfor (const [key, refiner] of Object.entries(this.supported)) {\n\t\t\ttry {\n\t\t\t\tif (\n\t\t\t\t\t// @ts-expect-error that's the point\n\t\t\t\t\trefiner(input) === true &&\n\t\t\t\t\trefiner !== Boolean\n\t\t\t\t) {\n\t\t\t\t\treturn { type: key, data: input } as any\n\t\t\t\t}\n\t\t\t} catch (_) {\n\t\t\t\ttry {\n\t\t\t\t\tif (input instanceof refiner) {\n\t\t\t\t\t\treturn { type: key, data: input } as any\n\t\t\t\t\t}\n\t\t\t\t} catch (__) {}\n\t\t\t}\n\t\t}\n\t\treturn null as any\n\t}\n}\n\nexport const primitiveRefinery: Refinery<{\n\tnumber: (input: unknown) => input is number\n\tstring: (input: unknown) => input is string\n\tboolean: (input: unknown) => input is boolean\n\tnull: (input: unknown) => input is null\n}> = new Refinery({\n\tnumber: (input: unknown): input is number => typeof input === `number`,\n\tstring: (input: unknown): input is string => typeof input === `string`,\n\tboolean: (input: unknown): input is boolean => typeof input === `boolean`,\n\tnull: (input: unknown): input is null => input === null,\n})\n\nexport function isPlainObject(input: unknown): input is Json.Tree.Object {\n\tif (!input) {\n\t\treturn false\n\t}\n\tconst prototype = Object.getPrototypeOf(input)\n\treturn prototype === Object.prototype\n}\n\nexport const jsonTreeRefinery: Refinery<{\n\tobject: (input: unknown) => input is Json.Tree.Object\n\tarray: (input: unknown) => input is Json.Tree.Array\n}> = new Refinery({\n\tobject: isPlainObject,\n\tarray: (input: unknown): input is Json.Tree.Array => Array.isArray(input),\n})\n\nexport const jsonRefinery: Refinery<{\n\tobject: (input: unknown) => input is Json.Tree.Object\n\tarray: (input: unknown) => input is Json.Tree.Array\n\tnumber: (input: unknown) => input is number\n\tstring: (input: unknown) => input is string\n\tboolean: (input: unknown) => input is boolean\n\tnull: (input: unknown) => input is null\n}> = new Refinery({\n\t...primitiveRefinery.supported,\n\t...jsonTreeRefinery.supported,\n})\n\nexport type JsonType = keyof typeof jsonRefinery.supported\n\nexport const discoverType = (\n\tinput: unknown,\n): JsonType | `Map` | `Set` | `undefined` | (string & {}) => {\n\tif (input === undefined) {\n\t\treturn `undefined`\n\t}\n\tconst refined = jsonRefinery.refine(input)\n\tif (refined) {\n\t\treturn refined.type\n\t}\n\treturn Object.getPrototypeOf(input).constructor.name\n}\n","import type { ReadonlyPureSelectorFamilyToken } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { createReadonlyPureSelectorFamily } from \"atom.io/internal\"\n\nimport { discoverType } from \"./refinery\"\n\nexport const attachTypeSelectors = (\n\tstore: Store,\n): ReadonlyPureSelectorFamilyToken<string, string> => {\n\tconst typeSelectors = createReadonlyPureSelectorFamily<string, string>(store, {\n\t\tkey: `🔍 State Type`,\n\t\tget:\n\t\t\t(key) =>\n\t\t\t({ get }) => {\n\t\t\t\tlet state: unknown\n\t\t\t\ttry {\n\t\t\t\t\tconst token =\n\t\t\t\t\t\tstore.atoms.get(key) ??\n\t\t\t\t\t\tstore.writableSelectors.get(key) ??\n\t\t\t\t\t\tstore.readonlySelectors.get(key)\n\t\t\t\t\tif (token === undefined) {\n\t\t\t\t\t\tthrow new Error(`Could not find state with key \"${key}\"`)\n\t\t\t\t\t}\n\t\t\t\t\tstate = get(token)\n\t\t\t\t} catch (thrown) {\n\t\t\t\t\treturn `error`\n\t\t\t\t}\n\t\t\t\tconst typeOfState = discoverType(state)\n\t\t\t\treturn typeOfState\n\t\t\t},\n\t})\n\treturn typeSelectors\n}\n","import type {\n\tReadonlyPureSelectorFamilyToken,\n\tReadonlyPureSelectorToken,\n\tTimelineToken,\n\tTransactionToken,\n\tTransactionUpdate,\n} from \"atom.io\"\nimport type { Func, Store, Timeline } from \"atom.io/internal\"\n\nimport { type AtomTokenIndex, attachAtomIndex } from \"./attach-atom-index\"\nimport type { SelectorTokenIndex } from \"./attach-selector-index\"\nimport { attachSelectorIndex } from \"./attach-selector-index\"\nimport { attachTimelineFamily } from \"./attach-timeline-family\"\nimport { attachTimelineIndex } from \"./attach-timeline-index\"\nimport { attachTransactionIndex } from \"./attach-transaction-index\"\nimport { attachTransactionLogs } from \"./attach-transaction-logs\"\nimport { attachTypeSelectors } from \"./attach-type-selectors\"\n\nexport type IntrospectionStates = {\n\tatomIndex: ReadonlyPureSelectorToken<AtomTokenIndex>\n\tselectorIndex: ReadonlyPureSelectorToken<SelectorTokenIndex>\n\ttransactionIndex: ReadonlyPureSelectorToken<TransactionToken<Func>[]>\n\ttransactionLogSelectors: ReadonlyPureSelectorFamilyToken<\n\t\tTransactionUpdate<Func>[],\n\t\tstring\n\t>\n\ttimelineIndex: ReadonlyPureSelectorToken<TimelineToken<any>[]>\n\ttimelineSelectors: ReadonlyPureSelectorFamilyToken<Timeline<any>, string>\n\ttypeSelectors: ReadonlyPureSelectorFamilyToken<string, string>\n}\n\nexport const attachIntrospectionStates = (store: Store): IntrospectionStates => {\n\treturn {\n\t\tatomIndex: attachAtomIndex(store),\n\t\tselectorIndex: attachSelectorIndex(store),\n\t\ttransactionIndex: attachTransactionIndex(store),\n\t\ttransactionLogSelectors: attachTransactionLogs(store),\n\t\ttimelineIndex: attachTimelineIndex(store),\n\t\ttimelineSelectors: attachTimelineFamily(store),\n\t\ttypeSelectors: attachTypeSelectors(store),\n\t}\n}\n","import {\n\ttype AtomToken,\n\tgetState,\n\ttype ReadableToken,\n\ttype ReadonlyPureSelectorToken,\n\ttype SelectorToken,\n} from \"atom.io\"\nimport * as Internal from \"atom.io/internal\"\n\nimport type { FamilyNode } from \".\"\nimport type { AtomTokenIndex } from \"./attach-atom-index\"\nimport { attachAtomIndex } from \"./attach-atom-index\"\nimport type { SelectorTokenIndex } from \"./attach-selector-index\"\nimport { attachSelectorIndex } from \"./attach-selector-index\"\n\nexport type ListResourcesParam = {\n\tatomFamilies: boolean\n\tselectorFamilies: boolean\n}\n\n/**\n * Auditor is a tool for identifying lingering resources in your store that may result in memory leaks.\n * @experimental\n */\nexport class Auditor {\n\tpublic readonly store: Internal.Store\n\tpublic auditorCreatedAt: number = performance.now()\n\tpublic statesCreatedAt: Map<string, number> = new Map()\n\tpublic readonly atomIndex: ReadonlyPureSelectorToken<AtomTokenIndex>\n\tpublic readonly selectorIndex: ReadonlyPureSelectorToken<SelectorTokenIndex>\n\tpublic disposed = false\n\n\tprivate readonly unsubscribeFromAtomCreation: () => void\n\tprivate readonly unsubscribeFromAtomDisposal: () => void\n\tprivate readonly unsubscribeFromSelectorCreation: () => void\n\tprivate readonly unsubscribeFromSelectorDisposal: () => void\n\n\t/**\n\t * @param {Store} store - The store to audit.\n\t */\n\tpublic constructor(store: Internal.Store = Internal.IMPLICIT.STORE) {\n\t\tthis.store = store\n\t\tthis.atomIndex = attachAtomIndex(this.store)\n\t\tthis.selectorIndex = attachSelectorIndex(this.store)\n\t\tthis.unsubscribeFromAtomCreation = this.store.on.atomCreation.subscribe(\n\t\t\t`auditor-${this.auditorCreatedAt}`,\n\t\t\t({ key }) => {\n\t\t\t\tthis.statesCreatedAt.set(key, performance.now() - this.auditorCreatedAt)\n\t\t\t},\n\t\t)\n\t\tthis.unsubscribeFromAtomDisposal = this.store.on.atomDisposal.subscribe(\n\t\t\t`auditor-${this.auditorCreatedAt}`,\n\t\t\t({ key }) => {\n\t\t\t\tthis.statesCreatedAt.delete(key)\n\t\t\t},\n\t\t)\n\t\tthis.unsubscribeFromSelectorCreation =\n\t\t\tthis.store.on.selectorCreation.subscribe(\n\t\t\t\t`auditor-${this.auditorCreatedAt}`,\n\t\t\t\t({ key }) => {\n\t\t\t\t\tthis.statesCreatedAt.set(\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tperformance.now() - this.auditorCreatedAt,\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t)\n\t\tthis.unsubscribeFromSelectorDisposal =\n\t\t\tthis.store.on.selectorDisposal.subscribe(\n\t\t\t\t`auditor-${this.auditorCreatedAt}`,\n\t\t\t\t({ key }) => {\n\t\t\t\t\tthis.statesCreatedAt.delete(key)\n\t\t\t\t},\n\t\t\t)\n\t}\n\n\tpublic static readonly DEFAULT_LIST_RESOURCES_PARAM: ListResourcesParam = {\n\t\tatomFamilies: true,\n\t\tselectorFamilies: true,\n\t} satisfies ListResourcesParam\n\t/**\n\t * Lists all resources in the store, along with their creation time.\n\t *\n\t * @param {ListResourcesParam} [param] - Optional parameters for filtering the list of resources.\n\t * @returns {readonly [ReadableToken<unknown>, number]}[] - An array of tuples, where each tuple contains a state token belonging to a family in the store and that state's creation time.\n\t */\n\tpublic listResources(\n\t\tparam: ListResourcesParam = Auditor.DEFAULT_LIST_RESOURCES_PARAM,\n\t): (readonly [ReadableToken<unknown>, number])[] {\n\t\tif (this.disposed) {\n\t\t\tthrow new Error(`This Auditor has been disposed`)\n\t\t}\n\t\tconst atoms = getState(this.atomIndex)\n\t\tconst selectors = getState(this.selectorIndex)\n\t\tconst atomFamilyNodes = [...atoms.values()].filter(\n\t\t\t(node): node is FamilyNode<AtomToken<unknown>> => `familyMembers` in node,\n\t\t)\n\t\tconst selectorFamilyNodes = [...selectors.values()].filter(\n\t\t\t(node): node is FamilyNode<SelectorToken<unknown>> =>\n\t\t\t\t`familyMembers` in node,\n\t\t)\n\t\tconst currentTime = performance.now()\n\t\tconst resources: (readonly [ReadableToken<unknown>, number])[] = []\n\t\tif (param.atomFamilies) {\n\t\t\tfor (const familyNode of atomFamilyNodes) {\n\t\t\t\tconst tokens = familyNode.familyMembers.values()\n\t\t\t\tfor (const token of tokens) {\n\t\t\t\t\tconst storedTime = this.statesCreatedAt.get(token.key)\n\t\t\t\t\tconst creationTime = storedTime ?? this.auditorCreatedAt\n\t\t\t\t\tconst age = currentTime - creationTime\n\t\t\t\t\tresources.push([token, age])\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (param.selectorFamilies) {\n\t\t\tfor (const familyNode of selectorFamilyNodes) {\n\t\t\t\tconst tokens = familyNode.familyMembers.values()\n\t\t\t\tfor (const token of tokens) {\n\t\t\t\t\tconst storedTime = this.statesCreatedAt.get(token.key)\n\t\t\t\t\tconst creationTime = storedTime ?? this.auditorCreatedAt\n\t\t\t\t\tconst age = currentTime - creationTime\n\t\t\t\t\tresources.push([token, age])\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn resources\n\t}\n\n\tpublic [Symbol.dispose](): void {\n\t\tthis.unsubscribeFromAtomCreation()\n\t\tthis.unsubscribeFromAtomDisposal()\n\t\tthis.unsubscribeFromSelectorCreation()\n\t\tthis.unsubscribeFromSelectorDisposal()\n\t\tthis.disposed = true\n\t}\n}\n","import { isPlainObject } from \"./refinery\"\n\n// if you found what you were looking for, return true and break\nexport type InspectionResult = Partial<{\n\tpathComplete: true\n\tjobComplete: true\n}>\nexport type InspectNode = (\n\tpath: string[],\n\tnode: unknown,\n) => InspectionResult | void\n\nexport const sprawl = (\n\ttree: Array<unknown> | object,\n\tinspector: InspectNode,\n): void => {\n\tconst walk = (path: string[], node: unknown): InspectionResult => {\n\t\tconst inspect = (p: string[], n: unknown): InspectionResult | null => {\n\t\t\t// console.log(parent)\n\t\t\tconst result = inspector(p, n)\n\t\t\tif (result) return result\n\t\t\treturn null\n\t\t}\n\t\tconst result = inspect(path, node)\n\t\tif (result?.jobComplete ?? result?.pathComplete) {\n\t\t\treturn result\n\t\t}\n\t\tconst childEntries = Array.isArray(node)\n\t\t\t? node.map((v, i) => [i, v])\n\t\t\t: isPlainObject(node)\n\t\t\t\t? Object.entries(node)\n\t\t\t\t: []\n\t\tfor (const [k, v] of childEntries) {\n\t\t\tconst subResult = walk([...path, k], v)\n\t\t\tif (subResult?.jobComplete) {\n\t\t\t\treturn subResult\n\t\t\t}\n\t\t}\n\t\treturn {}\n\t}\n\twalk([], tree)\n}\n","import type { Json } from \"atom.io/json\"\n\nimport type { Refinery, Supported } from \"./refinery\"\nimport { discoverType, jsonTreeRefinery, primitiveRefinery } from \"./refinery\"\nimport { sprawl } from \"./sprawl\"\n\nexport function diffNumber(a: number, b: number): Delta {\n\tconst sign = a < b ? `+` : `-`\n\treturn {\n\t\tsummary: `${sign}${Math.abs(a - b)} (${a} → ${b})`,\n\t}\n}\n\nexport function diffString(a: string, b: string): Delta {\n\tconst sign = a.length < b.length ? `+` : `-`\n\treturn {\n\t\tsummary: `${sign}${Math.abs(a.length - b.length)} (\"${a}\" → \"${b}\")`,\n\t}\n}\n\nexport function diffBoolean(a: boolean, b: boolean): Delta {\n\treturn {\n\t\tsummary: `${a} → ${b}`,\n\t}\n}\n\nexport function diffObject(\n\ta: Json.Tree.Object,\n\tb: Json.Tree.Object,\n\trecurse: Diff<unknown>,\n): Delta {\n\tlet summary = ``\n\tconst added: Delta[`added`] = []\n\tconst removed: Delta[`removed`] = []\n\tconst changed: Delta[`changed`] = []\n\n\tsprawl(a, (path, nodeA) => {\n\t\tlet key: string\n\t\tfor (key of path) {\n\t\t\tconst nodeB = b[key]\n\t\t\tif (nodeB === undefined) {\n\t\t\t\tremoved.push([key, JSON.stringify(nodeA)])\n\t\t\t} else {\n\t\t\t\tconst delta = recurse(nodeA, nodeB)\n\t\t\t\tif (delta.summary !== `No Change`) {\n\t\t\t\t\tchanged.push([key, delta])\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t})\n\n\tsprawl(b, (path, nodeB) => {\n\t\tlet key: string\n\t\tfor (key of path) {\n\t\t\tconst nodeA = a[key]\n\t\t\tif (nodeA === undefined) {\n\t\t\t\tadded.push([key, JSON.stringify(nodeB)])\n\t\t\t}\n\t\t}\n\t})\n\n\tsummary = `~${changed.length} +${added.length} -${removed.length}`\n\n\treturn {\n\t\tsummary,\n\t\tadded,\n\t\tremoved,\n\t\tchanged,\n\t}\n}\n\nexport function diffArray(\n\ta: Json.Tree.Array,\n\tb: Json.Tree.Array,\n\trecurse: Diff<unknown>,\n): Delta {\n\treturn diffObject(a as any, b as any, recurse)\n}\n\ntype Delta = {\n\tsummary: string\n\tadded?: [path: string, addedStringifiedValue: string][]\n\tremoved?: [path: string, removedStringifiedValue: string][]\n\tchanged?: [path: string, delta: Delta][]\n}\n\ntype Diff<T> = (a: T, b: T) => Delta\ntype DiffTree<T> = (a: T, b: T, recurse: Differ<any, any>[`diff`]) => Delta\n\nexport class Differ<\n\tLeaf extends Record<string, any>,\n\tTree extends Record<string, any>,\n> {\n\tpublic leafRefinery: Refinery<Leaf>\n\tpublic treeRefinery: Refinery<Tree>\n\tpublic leafDiffers: { [KL in keyof Leaf]: Diff<Supported<Leaf[KL]>> }\n\tpublic treeDiffers: { [KT in keyof Tree]: DiffTree<Supported<Tree[KT]>> }\n\n\tpublic constructor(\n\t\tleafRefinery: Refinery<Leaf>,\n\t\ttreeRefinery: Refinery<Tree>,\n\t\tdiffFunctions: {\n\t\t\t[KT in keyof Tree]: DiffTree<Supported<Tree[KT]>>\n\t\t} & { [KL in keyof Leaf]: Diff<Supported<Leaf[KL]>> },\n\t) {\n\t\tthis.leafRefinery = leafRefinery\n\t\tthis.treeRefinery = treeRefinery\n\t\tthis.leafDiffers = {} as any\n\t\tthis.treeDiffers = {} as any\n\t\tfor (const key of Object.keys(leafRefinery.supported)) {\n\t\t\tconst diffFunction = diffFunctions[key]\n\t\t\tthis.leafDiffers[key as keyof Leaf] = diffFunction\n\t\t}\n\t\tfor (const key of Object.keys(treeRefinery.supported)) {\n\t\t\tconst diffFunction = diffFunctions[key]\n\t\t\tthis.treeDiffers[key as keyof Tree] = diffFunction\n\t\t}\n\t}\n\n\tpublic diff(a: unknown, b: unknown): Delta {\n\t\tif (a === b) {\n\t\t\treturn { summary: `No Change` }\n\t\t}\n\n\t\tconst aRefined = this.leafRefinery.refine(a) ?? this.treeRefinery.refine(a)\n\t\tconst bRefined = this.leafRefinery.refine(b) ?? this.treeRefinery.refine(b)\n\n\t\tif (aRefined !== null && bRefined !== null) {\n\t\t\tif (aRefined.type === bRefined.type) {\n\t\t\t\tif (aRefined.type in this.leafDiffers) {\n\t\t\t\t\tconst delta = this.leafDiffers[aRefined.type](\n\t\t\t\t\t\taRefined.data,\n\t\t\t\t\t\tbRefined.data,\n\t\t\t\t\t)\n\t\t\t\t\treturn delta\n\t\t\t\t}\n\t\t\t\tif (aRefined.type in this.treeDiffers) {\n\t\t\t\t\tconst delta = this.treeDiffers[aRefined.type](\n\t\t\t\t\t\taRefined.data,\n\t\t\t\t\t\tbRefined.data,\n\t\t\t\t\t\t(x, y) => this.diff(x, y),\n\t\t\t\t\t)\n\t\t\t\t\treturn delta\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst typeA = discoverType(a)\n\t\tconst typeB = discoverType(b)\n\t\tif (typeA === typeB) {\n\t\t\treturn {\n\t\t\t\tsummary: `${typeA} → ${typeB}`,\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tsummary: `Type change: ${typeA} → ${typeB}`,\n\t\t}\n\t}\n}\n\nexport const prettyJson: Differ<\n\t{\n\t\tnumber: (input: unknown) => input is number\n\t\tstring: (input: unknown) => input is string\n\t\tboolean: (input: unknown) => input is boolean\n\t\tnull: (input: unknown) => input is null\n\t},\n\t{\n\t\tobject: (input: unknown) => input is Json.Tree.Object\n\t\tarray: (input: unknown) => input is Json.Tree.Array\n\t}\n> = new Differ(primitiveRefinery, jsonTreeRefinery, {\n\tnumber: diffNumber,\n\tstring: diffString,\n\tboolean: diffBoolean,\n\tnull: () => ({ summary: `No Change` }),\n\tobject: diffObject,\n\tarray: diffArray,\n})\n"],"mappings":"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"}
|
package/dist/json/index.d.ts
CHANGED
|
@@ -9,16 +9,13 @@ type ValueOfEntry<E extends Entries, K extends KeyOfEntries<E>> = { [P in Count<
|
|
|
9
9
|
type FromEntries<E extends Entries> = Flat<{ [K in KeyOfEntries<E>]: ValueOfEntry<E, K> }>;
|
|
10
10
|
declare function fromEntries<E extends Entries>(entries: E): FromEntries<E>;
|
|
11
11
|
declare function toEntries<T extends object>(obj: T): Entries<keyof T, T[keyof T]>;
|
|
12
|
-
|
|
13
12
|
//#endregion
|
|
14
13
|
//#region src/json/select-json.d.ts
|
|
15
14
|
declare const selectJson: <T, J extends Json.Serializable>(atom: AtomIO$1.AtomToken<T>, transform: JsonInterface<T, J>, store?: Store) => AtomIO$1.WritablePureSelectorToken<J>;
|
|
16
|
-
|
|
17
15
|
//#endregion
|
|
18
16
|
//#region src/json/select-json-family.d.ts
|
|
19
17
|
declare function selectJsonFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical>(store: Store, atomFamilyToken: AtomIO.MutableAtomFamilyToken<T, J, K>, transform: JsonInterface<T, J>): AtomIO.WritablePureSelectorFamilyToken<J, K>;
|
|
20
18
|
declare function selectJsonFamily<T, J extends Json.Serializable, K extends Canonical>(store: Store, atomFamilyToken: AtomIO.RegularAtomFamilyToken<T, K>, transform: JsonInterface<T, J>): AtomIO.WritablePureSelectorFamilyToken<J, K>;
|
|
21
|
-
|
|
22
19
|
//#endregion
|
|
23
20
|
//#region src/json/index.d.ts
|
|
24
21
|
type primitive = boolean | number | string | null;
|
|
@@ -59,7 +56,6 @@ interface JsonTypes extends Record<JsonTypeName, Json.Serializable> {
|
|
|
59
56
|
string: string;
|
|
60
57
|
}
|
|
61
58
|
declare const JSON_DEFAULTS: JsonTypes;
|
|
62
|
-
|
|
63
59
|
//#endregion
|
|
64
60
|
export { Canonical, Entries, FromEntries, JSON_DEFAULTS, JSON_TYPE_NAMES, Json, JsonIO, JsonInterface, JsonTypeName, JsonTypes, KeyOfEntries, ValueOfEntry, fromEntries, isJson, parseJson, primitive, selectJson, selectJsonFamily, stringified, stringifyJson, toEntries };
|
|
65
61
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/json/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["entries: E","obj: T","atom: AtomIO.AtomToken<T>","transform: JsonInterface<T, J>","store: Store","store: Store","atomFamilyToken: AtomIO.MutableAtomFamilyToken<T, J, K>","transform: JsonInterface<T, J>","atomFamilyToken: AtomIO.RegularAtomFamilyToken<T, K>","str: S | string","json: J","t: T","input: unknown","JSON_DEFAULTS: JsonTypes"],"sources":["../../src/json/entries.ts","../../src/json/select-json.ts","../../src/json/select-json-family.ts","../../src/json/index.ts"],"sourcesContent":[],"mappings":";;;;;KAEY,kBAAkB,cAAc,yBAAyB,GAAG;AAA5D,KAEA,YAFA,CAAA,UAEuB,OAFvB,CAAA,GAEkC,CAFlC,SAAA,CAAA,KAAA,EAAA,EAAA,GAAA,CAAA,EAAA,GAGT,CAHS,GAAA,KAAA;AAAA,KAMA,YANA,CAAA,UAMuB,OANL,EAAA,UAMwB,YANV,CAMuB,CANvB,CAAA,CAAA,GAAA,QAOrC,KAP8D,CAOxD,CAPwD,CAAA,QAAA,CAAA,CAAA,GAOzC,CAPyC,CAOvC,CAPuC,CAAA,SAAA,CAO3B,CAP2B,EAAA,KAAA,EAAA,CAAA,GAOb,CAPa,GAAA,KAAA,EAAA,CAQnE,KARmE,CAQ7D,CAR6D,CAAA,QAAA,CAAA,CAAA,CAAA;AAAG,KAU5D,WAV4D,CAAA,UAUtC,OAVsC,CAAA,GAU3B,IAV2B,CAAA,QAWjE,YAXiE,CAWpD,CAXoD,CAAA,GAW/C,YAX+C,CAWlC,CAXkC,EAW/B,CAX+B,CAAA,EAAA,CAAA;AAAA,iBAcxD,WAdwD,CAAA,UAclC,OAdkC,CAAA,CAAA,OAAA,EAchB,CAdgB,CAAA,EAcZ,WAdY,CAcA,CAdA,CAAA;AAE5D,iBAgBI,SAhBJ,CAAA,UAAA,MAAA,CAAA,CAAA,GAAA,EAiBN,CAjBM,CAAA,EAkBT,OAlBS,CAAA,MAkBK,CAlBL,EAkBQ,CAlBR,CAAA,MAkBgB,CAlBhB,CAAA,CAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["entries: E","obj: T","atom: AtomIO.AtomToken<T>","transform: JsonInterface<T, J>","store: Store","store: Store","atomFamilyToken: AtomIO.MutableAtomFamilyToken<T, J, K>","transform: JsonInterface<T, J>","atomFamilyToken: AtomIO.RegularAtomFamilyToken<T, K>","str: S | string","json: J","t: T","input: unknown","JSON_DEFAULTS: JsonTypes"],"sources":["../../src/json/entries.ts","../../src/json/select-json.ts","../../src/json/select-json-family.ts","../../src/json/index.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/main/index.d.ts
CHANGED
|
@@ -4,17 +4,7 @@ import { MutableAtomFamilyToken as MutableAtomFamilyToken$1, MutableAtomToken as
|
|
|
4
4
|
import { SetRTX, SetRTXJson } from "atom.io/transceivers/set-rtx";
|
|
5
5
|
|
|
6
6
|
//#region src/main/atom.d.ts
|
|
7
|
-
|
|
8
|
-
* @public
|
|
9
|
-
* Create a mutable atom, a global reactive variable in the implicit store
|
|
10
|
-
*
|
|
11
|
-
* The value of a mutable atom must be some kind of {@link Transceiver}.
|
|
12
|
-
*
|
|
13
|
-
* @param options - {@link MutableAtomOptions}.
|
|
14
|
-
* @returns
|
|
15
|
-
* A reference to the atom created: a {@link MutableAtomToken}
|
|
16
|
-
* @overload Mutable
|
|
17
|
-
*/
|
|
7
|
+
|
|
18
8
|
/**
|
|
19
9
|
* @public
|
|
20
10
|
* Create a mutable atom, a global reactive variable in the implicit store
|
|
@@ -66,6 +56,7 @@ type RegularAtomOptions<T> = {
|
|
|
66
56
|
/** Hooks used to run side effects when the atom is set */
|
|
67
57
|
effects?: AtomEffect<T>[];
|
|
68
58
|
};
|
|
59
|
+
// biome-ignore format: complex intersection
|
|
69
60
|
type MutableAtomOptions<T extends Transceiver<any>, J extends Json.Serializable> = JsonInterface<T, J> & Omit<RegularAtomOptions<T>, `default`> & {
|
|
70
61
|
default: () => T;
|
|
71
62
|
mutable: true;
|
|
@@ -85,6 +76,7 @@ type RegularAtomFamilyToken<T, K extends Canonical> = {
|
|
|
85
76
|
__T?: T;
|
|
86
77
|
__K?: K;
|
|
87
78
|
};
|
|
79
|
+
// biome-ignore format: intersection
|
|
88
80
|
type MutableAtomFamilyOptions<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical> = JsonInterface<T, J> & {
|
|
89
81
|
key: string;
|
|
90
82
|
default: (key: K) => T;
|
|
@@ -101,7 +93,6 @@ type MutableAtomFamilyToken<T extends Transceiver<any>, J extends Json.Serializa
|
|
|
101
93
|
type AtomFamilyToken<T, K extends Canonical = Canonical> = MutableAtomFamilyToken<T extends Transceiver<any> ? T : never, any, K> | RegularAtomFamilyToken<T, K>;
|
|
102
94
|
declare function atomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical>(options: MutableAtomFamilyOptions<T, J, K>): MutableAtomFamilyToken<T, J, K>;
|
|
103
95
|
declare function atomFamily<T, K extends Canonical>(options: RegularAtomFamilyOptions<T, K>): RegularAtomFamilyToken<T, K>;
|
|
104
|
-
|
|
105
96
|
//#endregion
|
|
106
97
|
//#region src/main/transaction.d.ts
|
|
107
98
|
type TransactionToken<F extends Func> = {
|
|
@@ -178,7 +169,6 @@ type TransactionOptions<F extends Func> = {
|
|
|
178
169
|
type TransactionIO<Token extends TransactionToken<any>> = Token extends TransactionToken<infer F> ? F : never;
|
|
179
170
|
declare function transaction<F extends Func>(options: TransactionOptions<F>): TransactionToken<F>;
|
|
180
171
|
declare function runTransaction<F extends Func>(token: TransactionToken<F>, id?: string): (...parameters: Parameters<F>) => ReturnType<F>;
|
|
181
|
-
|
|
182
172
|
//#endregion
|
|
183
173
|
//#region src/main/selector.d.ts
|
|
184
174
|
type WritablePureSelectorOptions<T> = {
|
|
@@ -324,7 +314,6 @@ declare function selectorFamily<T extends object, K extends Canonical>(options:
|
|
|
324
314
|
declare function selectorFamily<T extends object, K extends Canonical>(options: ReadonlyHeldSelectorFamilyOptions<T, K>): ReadonlyHeldSelectorFamilyToken<T, K>;
|
|
325
315
|
declare function selectorFamily<T, K extends Canonical>(options: WritablePureSelectorFamilyOptions<T, K>): WritablePureSelectorFamilyToken<T, K>;
|
|
326
316
|
declare function selectorFamily<T, K extends Canonical>(options: ReadonlyPureSelectorFamilyOptions<T, K>): ReadonlyPureSelectorFamilyToken<T, K>;
|
|
327
|
-
|
|
328
317
|
//#endregion
|
|
329
318
|
//#region src/main/timeline.d.ts
|
|
330
319
|
type TimelineManageable = AtomFamilyToken<any, any> | AtomToken<any>;
|
|
@@ -343,7 +332,6 @@ type TimelineUpdate<ManagedAtom extends TimelineManageable> = TimelineAtomUpdate
|
|
|
343
332
|
declare const timeline: <ManagedAtom extends TimelineManageable>(options: TimelineOptions<ManagedAtom>) => TimelineToken<ManagedAtom>;
|
|
344
333
|
declare const redo: (tl: TimelineToken<any>) => void;
|
|
345
334
|
declare const undo: (tl: TimelineToken<any>) => void;
|
|
346
|
-
|
|
347
335
|
//#endregion
|
|
348
336
|
//#region src/main/dispose-state.d.ts
|
|
349
337
|
/**
|
|
@@ -360,7 +348,6 @@ declare function disposeState(token: ReadableToken<any>): void;
|
|
|
360
348
|
* @param key - The unique key of the state to dispose
|
|
361
349
|
*/
|
|
362
350
|
declare function disposeState<K extends Canonical>(token: ReadableFamilyToken<any, K>, key: K): void;
|
|
363
|
-
|
|
364
351
|
//#endregion
|
|
365
352
|
//#region src/main/find-state.d.ts
|
|
366
353
|
/**
|
|
@@ -424,7 +411,6 @@ declare function findState<T, K extends Canonical, Key extends K>(token: Writabl
|
|
|
424
411
|
* @default
|
|
425
412
|
*/
|
|
426
413
|
declare function findState<T, K extends Canonical, Key extends K>(token: ReadableFamilyToken$1<T, K>, key: Key): ReadableToken$1<T, K>;
|
|
427
|
-
|
|
428
414
|
//#endregion
|
|
429
415
|
//#region src/main/get-state.d.ts
|
|
430
416
|
/**
|
|
@@ -445,7 +431,6 @@ declare function getState<T>(token: ReadableToken<T>): T;
|
|
|
445
431
|
* @overload Streamlined
|
|
446
432
|
*/
|
|
447
433
|
declare function getState<T, K extends Canonical, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key): T;
|
|
448
|
-
|
|
449
434
|
//#endregion
|
|
450
435
|
//#region src/main/join.d.ts
|
|
451
436
|
interface JoinOptions<ASide extends string, AType extends string, BSide extends string, BType extends string, Cardinality extends `1:1` | `1:n` | `n:n`, Content extends Json.Object | null> extends JunctionSchemaBase<ASide, BSide>, Partial<JunctionEntriesBase<AType, BType, Content>> {
|
|
@@ -470,10 +455,9 @@ type JoinStates<ASide extends string, AType extends string, BSide extends string
|
|
|
470
455
|
declare function findRelations<ASide extends string, AType extends string, BSide extends string, BType extends string, Cardinality extends `1:1` | `1:n` | `n:n`, Content extends Json.Object | null>(token: JoinToken<ASide, AType, BSide, BType, Cardinality, Content>, key: AType | BType): JoinStates<ASide, AType, BSide, BType, Cardinality, Content>;
|
|
471
456
|
declare function editRelations<ASide extends string, AType extends string, BSide extends string, BType extends string, Cardinality extends `1:1` | `1:n` | `n:n`, Content extends Json.Object | null>(token: JoinToken<ASide, AType, BSide, BType, Cardinality, Content>, change: (relations: Junction<ASide, AType, BSide, BType, Content>) => void): void;
|
|
472
457
|
declare function getInternalRelations<ASide extends string, AType extends string, BSide extends string, BType extends string, Cardinality extends `1:1` | `1:n` | `n:n`, Content extends Json.Object | null>(token: JoinToken<ASide, AType, BSide, BType, Cardinality, Content>): MutableAtomFamilyToken$1<SetRTX<string>, SetRTXJson<string>, string>;
|
|
473
|
-
|
|
474
458
|
//#endregion
|
|
475
459
|
//#region src/main/logger.d.ts
|
|
476
|
-
declare const
|
|
460
|
+
declare const LOGGER_ICON_DICTIONARY: {
|
|
477
461
|
readonly "⌛": "Timeline event fully captured";
|
|
478
462
|
readonly "⏩": "Timeline redo";
|
|
479
463
|
readonly "⏪": "Timeline undo";
|
|
@@ -524,7 +508,7 @@ declare const LoggerIconDictionary: {
|
|
|
524
508
|
readonly "🖌": "Redacting realtime update";
|
|
525
509
|
readonly "👁": "Determining perspective";
|
|
526
510
|
};
|
|
527
|
-
type LoggerIcon = keyof typeof
|
|
511
|
+
type LoggerIcon = keyof typeof LOGGER_ICON_DICTIONARY;
|
|
528
512
|
type TokenDenomination = `atom_family` | `atom` | `continuity` | `molecule_family` | `molecule` | `mutable_atom_family` | `mutable_atom` | `readonly_held_selector_family` | `readonly_held_selector` | `readonly_pure_selector_family` | `readonly_pure_selector` | `state` | `timeline` | `transaction` | `unknown` | `writable_held_selector_family` | `writable_held_selector` | `writable_pure_selector_family` | `writable_pure_selector`;
|
|
529
513
|
declare const LOG_LEVELS: readonly ["info", "warn", "error"];
|
|
530
514
|
type LogLevel = (typeof LOG_LEVELS)[number];
|
|
@@ -542,7 +526,6 @@ declare class AtomIOLogger implements Logger {
|
|
|
542
526
|
info: LogFn;
|
|
543
527
|
warn: LogFn;
|
|
544
528
|
}
|
|
545
|
-
|
|
546
529
|
//#endregion
|
|
547
530
|
//#region src/main/realm.d.ts
|
|
548
531
|
declare const $claim: unique symbol;
|
|
@@ -593,7 +576,6 @@ type Below<TK extends TypedKey | TypedKey[], H extends Hierarchy> = { [K in keyo
|
|
|
593
576
|
} ? TK extends V ? H[K] extends ExclusiveFealty ? H[K][`below`][number] : never : never : never }[keyof H];
|
|
594
577
|
type Mutuals<TK extends TypedKey | TypedKey[], H extends Hierarchy> = { [K in keyof H]: H[K] extends MutualFealty ? TK extends H[K][`above`][number] ? [mutual: Exclude<H[K][`above`][number], TK>, below: H[K][`below`]] : never : never }[keyof H];
|
|
595
578
|
type CompoundFrom<H extends Hierarchy> = { [K in keyof H]: H[K] extends MutualFealty ? H[K][`below`] : never }[keyof H];
|
|
596
|
-
|
|
597
579
|
//#endregion
|
|
598
580
|
//#region src/main/set-state.d.ts
|
|
599
581
|
/**
|
|
@@ -622,7 +604,6 @@ declare function setState<T, New extends T>(token: WritableToken<T>, value: New
|
|
|
622
604
|
* @overload Streamlined
|
|
623
605
|
*/
|
|
624
606
|
declare function setState<T, K extends Canonical, New extends T, Key extends K>(token: WritableFamilyToken<T, K>, key: Key, value: New | Setter<T, New>): void;
|
|
625
|
-
|
|
626
607
|
//#endregion
|
|
627
608
|
//#region src/main/silo.d.ts
|
|
628
609
|
declare class Silo {
|
|
@@ -644,7 +625,6 @@ declare class Silo {
|
|
|
644
625
|
install: (tokens: AtomIOToken[], store?: Store) => void;
|
|
645
626
|
constructor(config: Store[`config`], fromStore?: Store | null);
|
|
646
627
|
}
|
|
647
|
-
|
|
648
628
|
//#endregion
|
|
649
629
|
//#region src/main/subscribe.d.ts
|
|
650
630
|
type StateUpdate<T> = {
|
|
@@ -661,7 +641,6 @@ type TransactionUpdateHandler<F extends Func> = (data: TransactionUpdate<F>) =>
|
|
|
661
641
|
declare function subscribe<T>(token: ReadableToken<T>, handleUpdate: UpdateHandler<T>, key?: string): () => void;
|
|
662
642
|
declare function subscribe<F extends Func>(token: TransactionToken<F>, handleUpdate: TransactionUpdateHandler<F>, key?: string): () => void;
|
|
663
643
|
declare function subscribe<M extends TimelineManageable>(token: TimelineToken<M>, handleUpdate: (update: TimelineUpdate<M> | `redo` | `undo`) => void, key?: string): () => void;
|
|
664
|
-
|
|
665
644
|
//#endregion
|
|
666
645
|
//#region src/main/validators.d.ts
|
|
667
646
|
type TokenType<Comparison extends ReadableFamilyToken$1<any, any> | ReadableToken$1<any>> = Comparison extends ReadableToken$1<infer RepresentedValue> ? RepresentedValue : Comparison extends ReadableFamilyToken$1<infer RepresentedValue, any> ? RepresentedValue : never;
|
|
@@ -677,7 +656,6 @@ declare function belongsTo<Family extends WritablePureSelectorFamilyToken$1<any,
|
|
|
677
656
|
declare function belongsTo<Family extends ReadonlyPureSelectorFamilyToken$1<any, any>>(family: Family, unknownToken: ReadableToken$1<any>): unknownToken is ReadonlyPureSelectorToken$1<TokenType<Family>>;
|
|
678
657
|
declare function belongsTo<Family extends WritableFamilyToken$1<any, any>>(family: Family, unknownToken: ReadableToken$1<any>): unknownToken is WritableToken$1<TokenType<Family>>;
|
|
679
658
|
declare function belongsTo<Family extends ReadableFamilyToken$1<any, any>>(family: Family, unknownToken: ReadableToken$1<any>): unknownToken is ReadableToken$1<TokenType<Family>>;
|
|
680
|
-
|
|
681
659
|
//#endregion
|
|
682
660
|
//#region src/main/index.d.ts
|
|
683
661
|
/**
|
|
@@ -804,7 +782,6 @@ type FamilyMetadata<K extends Canonical = any> = {
|
|
|
804
782
|
subKey: stringified<K>;
|
|
805
783
|
};
|
|
806
784
|
type Loadable<T> = Promise<T> | T;
|
|
807
|
-
|
|
808
785
|
//#endregion
|
|
809
786
|
export { $claim, Above, ActorToolkit, Anarchy, AtomDisposal, AtomEffect, AtomFamilyToken, AtomIOLogger, AtomIOToken, AtomOnly, AtomToken, Below, Claim, CompoundFrom, CompoundTypedKey, Effectors, FamilyMetadata, GetterToolkit, HeldSelectorFamilyToken, HeldSelectorToken, Hierarchy, JoinOptions, JoinStates, JoinToken, KeyedStateUpdate, LOG_LEVELS, Loadable, LogFilter, LogFn, LogLevel, Logger, LoggerIcon, MoleculeCreation, MoleculeDisposal, MoleculeTransfer, MutableAtomFamilyOptions, MutableAtomFamilyToken, MutableAtomOptions, MutableAtomToken, Mutuals, PureSelectorFamilyToken, PureSelectorToken, Read, ReadableFamilyToken, ReadableToken, ReadonlyHeldSelectorFamilyOptions, ReadonlyHeldSelectorFamilyToken, ReadonlyHeldSelectorOptions, ReadonlyHeldSelectorToken, ReadonlyPureSelectorFamilyOptions, ReadonlyPureSelectorFamilyToken, ReadonlyPureSelectorOptions, ReadonlyPureSelectorToken, ReadonlySelectorFamilyToken, ReadonlySelectorToken, Realm, RegularAtomFamilyOptions, RegularAtomFamilyToken, RegularAtomOptions, RegularAtomToken, SelectorDisposal, SelectorFamilyToken, SelectorToken, Setter, SetterToolkit, Silo, SingularTypedKey, StateCreation, StateDisposal, StateUpdate, T$, TimelineManageable, TimelineOptions, TimelineToken, TimelineUpdate, TokenDenomination, TokenType, Transact, TransactionIO, TransactionOptions, TransactionToken, TransactionUpdate, TransactionUpdateContent, TransactionUpdateHandler, TypeTag, TypedKey, UpdateHandler, Vassal, WritableFamilyToken, WritableHeldSelectorFamilyOptions, WritableHeldSelectorFamilyToken, WritableHeldSelectorOptions, WritableHeldSelectorToken, WritablePureSelectorFamilyOptions, WritablePureSelectorFamilyToken, WritablePureSelectorOptions, WritablePureSelectorToken, WritableSelectorFamilyToken, WritableSelectorToken, WritableToken, Write, atom, atomFamily, belongsTo, disposeState, editRelations, findRelations, findState, getInternalRelations, getState, isToken, join, redo, runTransaction, selector, selectorFamily, setState, simpleLog, simpleLogger, subscribe, timeline, transaction, undo };
|
|
810
787
|
//# sourceMappingURL=index.d.ts.map
|