atom.io 0.6.8 → 0.7.0
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/README.md +21 -2
- package/dist/index.d.mts +42 -461
- package/dist/index.d.ts +42 -461
- package/dist/index.js +128 -1792
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +75 -1742
- package/dist/index.mjs.map +1 -1
- package/internal/dist/index.d.mts +342 -0
- package/internal/dist/index.d.ts +342 -0
- package/internal/dist/index.js +1873 -0
- package/internal/dist/index.js.map +1 -0
- package/internal/dist/index.mjs +1798 -0
- package/internal/dist/index.mjs.map +1 -0
- package/internal/package.json +15 -0
- package/internal/src/atom/create-atom.ts +75 -0
- package/internal/src/atom/delete-atom.ts +10 -0
- package/internal/src/atom/index.ts +3 -0
- package/{src/internal → internal/src/atom}/is-default.ts +4 -2
- package/internal/src/caching.ts +21 -0
- package/internal/src/families/create-atom-family.ts +59 -0
- package/internal/src/families/create-readonly-selector-family.ts +45 -0
- package/internal/src/families/create-selector-family.ts +67 -0
- package/internal/src/families/index.ts +3 -0
- package/internal/src/get-state-internal.ts +23 -0
- package/internal/src/index.ts +13 -0
- package/internal/src/mutable/create-mutable-atom-family.ts +25 -0
- package/internal/src/mutable/create-mutable-atom.ts +49 -0
- package/internal/src/mutable/get-json-token.ts +22 -0
- package/internal/src/mutable/get-update-token.ts +20 -0
- package/internal/src/mutable/index.ts +17 -0
- package/internal/src/mutable/is-atom-token-mutable.ts +7 -0
- package/internal/src/mutable/tracker-family.ts +61 -0
- package/internal/src/mutable/tracker.ts +164 -0
- package/internal/src/mutable/transceiver.ts +110 -0
- package/internal/src/operation.ts +68 -0
- package/{src/internal → internal/src}/selector/create-read-write-selector.ts +10 -13
- package/{src/internal → internal/src}/selector/create-readonly-selector.ts +9 -8
- package/internal/src/selector/create-selector.ts +65 -0
- package/{src/internal → internal/src}/selector/index.ts +1 -0
- package/internal/src/selector/lookup-selector-sources.ts +20 -0
- package/{src/internal → internal/src}/selector/register-selector.ts +13 -9
- package/{src/internal → internal/src}/selector/trace-selector-atoms.ts +4 -2
- package/{src/internal → internal/src}/selector/update-selector-atoms.ts +4 -3
- package/internal/src/set-state/become.ts +10 -0
- package/internal/src/set-state/copy-mutable-if-needed.ts +23 -0
- package/internal/src/set-state/copy-mutable-in-transaction.ts +59 -0
- package/internal/src/set-state/copy-mutable-into-new-store.ts +34 -0
- package/internal/src/set-state/emit-update.ts +23 -0
- package/internal/src/set-state/evict-downstream.ts +39 -0
- package/internal/src/set-state/index.ts +2 -0
- package/internal/src/set-state/set-atom-state.ts +38 -0
- package/internal/src/set-state/set-selector-state.ts +19 -0
- package/internal/src/set-state/set-state-internal.ts +18 -0
- package/internal/src/set-state/stow-update.ts +42 -0
- package/internal/src/store/deposit.ts +43 -0
- package/internal/src/store/index.ts +5 -0
- package/internal/src/store/lookup.ts +26 -0
- package/internal/src/store/store.ts +154 -0
- package/internal/src/store/withdraw-new-family-member.ts +53 -0
- package/internal/src/store/withdraw.ts +113 -0
- package/internal/src/subject.ts +21 -0
- package/internal/src/subscribe/index.ts +1 -0
- package/internal/src/subscribe/recall-state.ts +19 -0
- package/internal/src/subscribe/subscribe-to-root-atoms.ts +47 -0
- package/{src/internal → internal/src}/timeline/add-atom-to-timeline.ts +50 -29
- package/internal/src/timeline/index.ts +3 -0
- package/{src/internal → internal/src/timeline}/time-travel-internal.ts +6 -6
- package/{src/internal → internal/src/timeline}/timeline-internal.ts +20 -12
- package/{src/internal → internal/src}/transaction/abort-transaction.ts +1 -1
- package/{src/internal → internal/src}/transaction/apply-transaction.ts +25 -18
- package/{src/internal → internal/src}/transaction/build-transaction.ts +12 -6
- package/{src/internal → internal/src}/transaction/index.ts +3 -2
- package/{src/internal → internal/src}/transaction/redo-transaction.ts +4 -5
- package/{src/internal → internal/src/transaction}/transaction-internal.ts +16 -13
- package/{src/internal → internal/src}/transaction/undo-transaction.ts +4 -5
- package/introspection/dist/index.d.mts +12 -260
- package/introspection/dist/index.d.ts +12 -260
- package/introspection/dist/index.js +125 -140
- package/introspection/dist/index.js.map +1 -1
- package/introspection/dist/index.mjs +103 -116
- package/introspection/dist/index.mjs.map +1 -1
- package/{src/introspection → introspection/src}/attach-atom-index.ts +41 -30
- package/{src/introspection → introspection/src}/attach-introspection-states.ts +6 -10
- package/introspection/src/attach-selector-index.ts +90 -0
- package/{src/introspection → introspection/src}/attach-timeline-family.ts +16 -16
- package/introspection/src/attach-timeline-index.ts +38 -0
- package/introspection/src/attach-transaction-index.ts +40 -0
- package/{src/introspection → introspection/src}/attach-transaction-logs.ts +11 -8
- package/json/dist/index.d.mts +41 -2
- package/json/dist/index.d.ts +41 -2
- package/json/dist/index.js +88 -48
- package/json/dist/index.js.map +1 -1
- package/json/dist/index.mjs +76 -13
- package/json/dist/index.mjs.map +1 -1
- package/json/src/index.ts +5 -0
- package/json/src/select-json-family.ts +35 -0
- package/json/src/select-json.ts +22 -0
- package/package.json +105 -57
- package/react/dist/index.d.mts +9 -17
- package/react/dist/index.d.ts +9 -17
- package/react/dist/index.js +45 -77
- package/react/dist/index.js.map +1 -1
- package/react/dist/index.mjs +18 -34
- package/react/dist/index.mjs.map +1 -1
- package/react/src/store-context.tsx +12 -0
- package/react/src/store-hooks.ts +36 -0
- package/react-devtools/dist/index.css +1 -1
- package/react-devtools/dist/index.css.map +1 -1
- package/react-devtools/dist/index.d.mts +199 -230
- package/react-devtools/dist/index.d.ts +199 -230
- package/react-devtools/dist/index.js +610 -2466
- package/react-devtools/dist/index.js.map +1 -1
- package/react-devtools/dist/index.mjs +543 -2401
- package/react-devtools/dist/index.mjs.map +1 -1
- package/{src/react-devtools → react-devtools/src}/AtomIODevtools.tsx +5 -3
- package/{src/react-devtools → react-devtools/src}/Button.tsx +2 -3
- package/{src/react-devtools → react-devtools/src}/StateEditor.tsx +3 -2
- package/{src/react-devtools → react-devtools/src}/StateIndex.tsx +7 -4
- package/{src/react-devtools → react-devtools/src}/TimelineIndex.tsx +7 -11
- package/{src/react-devtools → react-devtools/src}/TransactionIndex.tsx +4 -4
- package/{src/react-devtools → react-devtools/src}/Updates.tsx +9 -4
- package/{src/react-devtools → react-devtools/src}/index.ts +5 -5
- package/realtime-react/dist/index.d.mts +9 -25
- package/realtime-react/dist/index.d.ts +9 -25
- package/realtime-react/dist/index.js +75 -193
- package/realtime-react/dist/index.js.map +1 -1
- package/realtime-react/dist/index.mjs +44 -148
- package/realtime-react/dist/index.mjs.map +1 -1
- package/realtime-react/src/index.ts +7 -0
- package/{src/realtime-react → realtime-react/src}/realtime-context.tsx +3 -4
- package/realtime-react/src/use-pull-family-member.ts +15 -0
- package/realtime-react/src/use-pull-mutable-family-member.ts +20 -0
- package/realtime-react/src/use-pull-mutable.ts +17 -0
- package/realtime-react/src/use-pull.ts +15 -0
- package/realtime-react/src/use-push.ts +19 -0
- package/realtime-react/src/use-server-action.ts +18 -0
- package/realtime-testing/dist/index.d.mts +49 -0
- package/realtime-testing/dist/index.d.ts +49 -0
- package/realtime-testing/dist/index.js +147 -0
- package/realtime-testing/dist/index.js.map +1 -0
- package/realtime-testing/dist/index.mjs +116 -0
- package/realtime-testing/dist/index.mjs.map +1 -0
- package/{src/realtime-testing → realtime-testing/src}/setup-realtime-test.tsx +10 -8
- package/src/atom.ts +64 -8
- package/src/index.ts +36 -29
- package/src/logger.ts +7 -7
- package/src/selector.ts +5 -5
- package/src/silo.ts +49 -43
- package/src/subscribe.ts +27 -22
- package/src/timeline.ts +9 -4
- package/src/transaction.ts +3 -4
- package/transceivers/set-rtx/dist/index.d.mts +39 -0
- package/transceivers/set-rtx/dist/index.d.ts +39 -0
- package/transceivers/set-rtx/dist/index.js +213 -0
- package/transceivers/set-rtx/dist/index.js.map +1 -0
- package/transceivers/set-rtx/dist/index.mjs +211 -0
- package/transceivers/set-rtx/dist/index.mjs.map +1 -0
- package/{realtime → transceivers/set-rtx}/package.json +1 -1
- package/transceivers/set-rtx/src/index.ts +1 -0
- package/transceivers/set-rtx/src/set-rtx.ts +242 -0
- package/realtime/dist/index.d.mts +0 -25
- package/realtime/dist/index.d.ts +0 -25
- package/realtime/dist/index.js +0 -190
- package/realtime/dist/index.js.map +0 -1
- package/realtime/dist/index.mjs +0 -151
- package/realtime/dist/index.mjs.map +0 -1
- package/src/internal/atom-internal.ts +0 -54
- package/src/internal/families-internal.ts +0 -144
- package/src/internal/get.ts +0 -129
- package/src/internal/index.ts +0 -15
- package/src/internal/operation.ts +0 -139
- package/src/internal/selector/lookup-selector-sources.ts +0 -16
- package/src/internal/selector-internal.ts +0 -58
- package/src/internal/set.ts +0 -99
- package/src/internal/store.ts +0 -151
- package/src/internal/subscribe-internal.ts +0 -88
- package/src/internal/timeline/index.ts +0 -1
- package/src/introspection/attach-selector-index.ts +0 -77
- package/src/introspection/attach-timeline-index.ts +0 -36
- package/src/introspection/attach-transaction-index.ts +0 -38
- package/src/json/index.ts +0 -1
- package/src/json/select-json.ts +0 -18
- package/src/react/store-context.tsx +0 -13
- package/src/react/store-hooks.ts +0 -47
- package/src/react-explorer/AtomIOExplorer.tsx +0 -218
- package/src/react-explorer/explorer-effects.ts +0 -20
- package/src/react-explorer/explorer-states.ts +0 -217
- package/src/react-explorer/index.ts +0 -23
- package/src/react-explorer/space-states.ts +0 -72
- package/src/react-explorer/view-states.ts +0 -41
- package/src/realtime/README.md +0 -33
- package/src/realtime/hook-composition/expose-family.ts +0 -101
- package/src/realtime/hook-composition/expose-single.ts +0 -38
- package/src/realtime/hook-composition/expose-timeline.ts +0 -60
- package/src/realtime/hook-composition/index.ts +0 -12
- package/src/realtime/hook-composition/receive-state.ts +0 -29
- package/src/realtime/hook-composition/receive-transaction.ts +0 -18
- package/src/realtime/index.ts +0 -1
- package/src/realtime-react/index.ts +0 -3
- package/src/realtime-react/realtime-hooks.ts +0 -39
- package/src/realtime-react/realtime-state.ts +0 -10
- package/src/realtime-react/use-pull-family-member.ts +0 -26
- package/src/realtime-react/use-pull-family.ts +0 -24
- package/src/realtime-react/use-pull.ts +0 -24
- package/src/realtime-react/use-push.ts +0 -27
- package/src/realtime-react/use-server-action.ts +0 -33
- package/src/tracker/index.ts +0 -3
- package/src/tracker/tracker.ts +0 -61
- package/src/web-effects/index.ts +0 -1
- package/src/web-effects/storage.ts +0 -30
- /package/{src/introspection → introspection/src}/index.ts +0 -0
- /package/{src/react → react/src}/index.ts +0 -0
- /package/{src/react-devtools → react-devtools/src}/devtools.scss +0 -0
- /package/{src/realtime-testing → realtime-testing/src}/index.ts +0 -0
|
@@ -1,8 +1,30 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var __INTERNAL__ = require('atom.io/internal');
|
|
4
|
+
|
|
5
|
+
function _interopNamespace(e) {
|
|
6
|
+
if (e && e.__esModule) return e;
|
|
7
|
+
var n = Object.create(null);
|
|
8
|
+
if (e) {
|
|
9
|
+
Object.keys(e).forEach(function (k) {
|
|
10
|
+
if (k !== 'default') {
|
|
11
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
12
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () { return e[k]; }
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
n.default = e;
|
|
20
|
+
return Object.freeze(n);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
var __INTERNAL____namespace = /*#__PURE__*/_interopNamespace(__INTERNAL__);
|
|
24
|
+
|
|
1
25
|
var __defProp = Object.defineProperty;
|
|
2
26
|
var __defProps = Object.defineProperties;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
27
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
28
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
7
29
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
30
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -19,50 +41,24 @@ var __spreadValues = (a, b) => {
|
|
|
19
41
|
return a;
|
|
20
42
|
};
|
|
21
43
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
25
|
-
};
|
|
26
|
-
var __copyProps = (to, from, except, desc) => {
|
|
27
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
28
|
-
for (let key of __getOwnPropNames(from))
|
|
29
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
30
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
31
|
-
}
|
|
32
|
-
return to;
|
|
33
|
-
};
|
|
34
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
35
|
-
|
|
36
|
-
// ../src/introspection/index.ts
|
|
37
|
-
var introspection_exports = {};
|
|
38
|
-
__export(introspection_exports, {
|
|
39
|
-
attachIntrospectionStates: () => attachIntrospectionStates
|
|
40
|
-
});
|
|
41
|
-
module.exports = __toCommonJS(introspection_exports);
|
|
42
|
-
|
|
43
|
-
// ../src/introspection/attach-introspection-states.ts
|
|
44
|
-
var import_atom7 = require("atom.io");
|
|
45
|
-
|
|
46
|
-
// ../src/introspection/attach-atom-index.ts
|
|
47
|
-
var import_atom = require("atom.io");
|
|
48
|
-
var attachAtomIndex = (store = import_atom.__INTERNAL__.IMPLICIT.STORE) => {
|
|
49
|
-
const atomTokenIndexState__INTERNAL = import_atom.__INTERNAL__.atom__INTERNAL(
|
|
44
|
+
var attachAtomIndex = (store = __INTERNAL__.IMPLICIT.STORE) => {
|
|
45
|
+
const atomTokenIndexState__INTERNAL = __INTERNAL__.createAtom(
|
|
50
46
|
{
|
|
51
47
|
key: `\u{1F441}\u200D\u{1F5E8} Atom Token Index (Internal)`,
|
|
52
|
-
default: () =>
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
48
|
+
default: () => {
|
|
49
|
+
const defaultAtomIndex = [...store.atoms].filter(([key]) => !key.includes(`\u{1F441}\u200D\u{1F5E8}`)).reduce((acc, [key]) => {
|
|
50
|
+
acc[key] = { key, type: `atom` };
|
|
51
|
+
return acc;
|
|
52
|
+
}, {});
|
|
53
|
+
return defaultAtomIndex;
|
|
54
|
+
},
|
|
56
55
|
effects: [
|
|
57
56
|
({ setSelf }) => {
|
|
58
|
-
store.subject.atomCreation.subscribe((atomToken) => {
|
|
59
|
-
if (store.operation.open) {
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
57
|
+
store.subject.atomCreation.subscribe(`introspection`, (atomToken) => {
|
|
62
58
|
if (atomToken.key.includes(`\u{1F441}\u200D\u{1F5E8}`)) {
|
|
63
59
|
return;
|
|
64
60
|
}
|
|
65
|
-
setSelf((state) => {
|
|
61
|
+
const set = () => setSelf((state) => {
|
|
66
62
|
const { key, family } = atomToken;
|
|
67
63
|
if (family) {
|
|
68
64
|
const { key: familyKey, subKey } = family;
|
|
@@ -85,6 +81,17 @@ var attachAtomIndex = (store = import_atom.__INTERNAL__.IMPLICIT.STORE) => {
|
|
|
85
81
|
[key]: atomToken
|
|
86
82
|
});
|
|
87
83
|
});
|
|
84
|
+
if (__INTERNAL__.target(store).operation.open) {
|
|
85
|
+
const unsubscribe = store.subject.operationStatus.subscribe(
|
|
86
|
+
`introspection: waiting to update atom index`,
|
|
87
|
+
() => {
|
|
88
|
+
unsubscribe();
|
|
89
|
+
set();
|
|
90
|
+
}
|
|
91
|
+
);
|
|
92
|
+
} else {
|
|
93
|
+
set();
|
|
94
|
+
}
|
|
88
95
|
});
|
|
89
96
|
}
|
|
90
97
|
]
|
|
@@ -92,7 +99,7 @@ var attachAtomIndex = (store = import_atom.__INTERNAL__.IMPLICIT.STORE) => {
|
|
|
92
99
|
void 0,
|
|
93
100
|
store
|
|
94
101
|
);
|
|
95
|
-
return
|
|
102
|
+
return __INTERNAL__.createSelector(
|
|
96
103
|
{
|
|
97
104
|
key: `\u{1F441}\u200D\u{1F5E8} Atom Token Index`,
|
|
98
105
|
get: ({ get }) => get(atomTokenIndexState__INTERNAL)
|
|
@@ -101,11 +108,8 @@ var attachAtomIndex = (store = import_atom.__INTERNAL__.IMPLICIT.STORE) => {
|
|
|
101
108
|
store
|
|
102
109
|
);
|
|
103
110
|
};
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
var import_atom2 = require("atom.io");
|
|
107
|
-
var attachSelectorIndex = (store = import_atom2.__INTERNAL__.IMPLICIT.STORE) => {
|
|
108
|
-
const readonlySelectorTokenIndexState__INTERNAL = import_atom2.__INTERNAL__.atom__INTERNAL(
|
|
111
|
+
var attachSelectorIndex = (store = __INTERNAL__.IMPLICIT.STORE) => {
|
|
112
|
+
const readonlySelectorTokenIndexState__INTERNAL = __INTERNAL__.createAtom(
|
|
109
113
|
{
|
|
110
114
|
key: `\u{1F441}\u200D\u{1F5E8} Selector Token Index (Internal)`,
|
|
111
115
|
default: () => Object.assign(
|
|
@@ -120,83 +124,67 @@ var attachSelectorIndex = (store = import_atom2.__INTERNAL__.IMPLICIT.STORE) =>
|
|
|
120
124
|
),
|
|
121
125
|
effects: [
|
|
122
126
|
({ setSelf }) => {
|
|
123
|
-
store.subject.selectorCreation.subscribe(
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
127
|
+
store.subject.selectorCreation.subscribe(
|
|
128
|
+
`introspection`,
|
|
129
|
+
(selectorToken) => {
|
|
130
|
+
if (selectorToken.key.includes(`\u{1F441}\u200D\u{1F5E8}`)) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
const set = () => setSelf((state) => {
|
|
134
|
+
const { key, family } = selectorToken;
|
|
135
|
+
if (family) {
|
|
136
|
+
const { key: familyKey, subKey } = family;
|
|
137
|
+
const current = state[familyKey];
|
|
138
|
+
if (current === void 0 || `familyMembers` in current) {
|
|
139
|
+
const familyKeyState = current || {
|
|
140
|
+
key: familyKey,
|
|
141
|
+
familyMembers: {}
|
|
142
|
+
};
|
|
143
|
+
return __spreadProps(__spreadValues({}, state), {
|
|
144
|
+
[familyKey]: __spreadProps(__spreadValues({}, familyKeyState), {
|
|
145
|
+
familyMembers: __spreadProps(__spreadValues({}, familyKeyState.familyMembers), {
|
|
146
|
+
[subKey]: selectorToken
|
|
147
|
+
})
|
|
144
148
|
})
|
|
145
|
-
})
|
|
146
|
-
}
|
|
149
|
+
});
|
|
150
|
+
}
|
|
147
151
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
152
|
+
return __spreadProps(__spreadValues({}, state), {
|
|
153
|
+
[key]: selectorToken
|
|
154
|
+
});
|
|
151
155
|
});
|
|
152
|
-
|
|
153
|
-
|
|
156
|
+
if (__INTERNAL__.target(store).operation.open) {
|
|
157
|
+
const unsubscribe = store.subject.operationStatus.subscribe(
|
|
158
|
+
`introspection: waiting to update selector index`,
|
|
159
|
+
() => {
|
|
160
|
+
unsubscribe();
|
|
161
|
+
set();
|
|
162
|
+
}
|
|
163
|
+
);
|
|
164
|
+
} else {
|
|
165
|
+
set();
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
);
|
|
154
169
|
}
|
|
155
170
|
]
|
|
156
171
|
},
|
|
157
172
|
void 0,
|
|
158
173
|
store
|
|
159
174
|
);
|
|
160
|
-
return
|
|
175
|
+
return __INTERNAL__.createSelector({
|
|
161
176
|
key: `\u{1F441}\u200D\u{1F5E8} Selector Token Index`,
|
|
162
177
|
get: ({ get }) => get(readonlySelectorTokenIndexState__INTERNAL)
|
|
163
178
|
});
|
|
164
179
|
};
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
var import_atom3 = require("atom.io");
|
|
168
|
-
|
|
169
|
-
// ../../anvl/reactivity/subject.ts
|
|
170
|
-
var Subject = class {
|
|
171
|
-
constructor() {
|
|
172
|
-
this.subscribers = [];
|
|
173
|
-
}
|
|
174
|
-
subscribe(subscriber) {
|
|
175
|
-
this.subscribers.push(subscriber);
|
|
176
|
-
const unsubscribe = () => this.unsubscribe(subscriber);
|
|
177
|
-
return { unsubscribe };
|
|
178
|
-
}
|
|
179
|
-
unsubscribe(subscriber) {
|
|
180
|
-
const subscriberIndex = this.subscribers.indexOf(subscriber);
|
|
181
|
-
if (subscriberIndex !== -1) {
|
|
182
|
-
this.subscribers.splice(subscriberIndex, 1);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
next(value) {
|
|
186
|
-
for (const subscriber of this.subscribers) {
|
|
187
|
-
subscriber(value);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
};
|
|
191
|
-
|
|
192
|
-
// ../src/introspection/attach-timeline-family.ts
|
|
193
|
-
var attachTimelineFamily = (store = import_atom3.__INTERNAL__.IMPLICIT.STORE) => {
|
|
194
|
-
const findTimelineLogState__INTERNAL = import_atom3.__INTERNAL__.atomFamily__INTERNAL(
|
|
180
|
+
var attachTimelineFamily = (store = __INTERNAL__.IMPLICIT.STORE) => {
|
|
181
|
+
const findTimelineLogState__INTERNAL = __INTERNAL__.createAtomFamily(
|
|
195
182
|
{
|
|
196
183
|
key: `\u{1F441}\u200D\u{1F5E8} Timeline Update Log (Internal)`,
|
|
197
184
|
default: (key) => {
|
|
198
185
|
var _a;
|
|
199
186
|
return (_a = store.timelines.get(key)) != null ? _a : {
|
|
187
|
+
type: `timeline`,
|
|
200
188
|
key: ``,
|
|
201
189
|
at: 0,
|
|
202
190
|
timeTraveling: null,
|
|
@@ -205,18 +193,19 @@ var attachTimelineFamily = (store = import_atom3.__INTERNAL__.IMPLICIT.STORE) =>
|
|
|
205
193
|
transactionKey: null,
|
|
206
194
|
install: () => {
|
|
207
195
|
},
|
|
208
|
-
subject: new Subject()
|
|
196
|
+
subject: new __INTERNAL__.Subject()
|
|
209
197
|
};
|
|
210
198
|
},
|
|
211
199
|
effects: (key) => [
|
|
212
200
|
({ setSelf }) => {
|
|
213
201
|
const tl = store.timelines.get(key);
|
|
214
|
-
tl == null ? void 0 : tl.subject.subscribe((_) => {
|
|
202
|
+
tl == null ? void 0 : tl.subject.subscribe(`introspection`, (_) => {
|
|
215
203
|
if (store.operation.open === true) {
|
|
216
|
-
const
|
|
204
|
+
const unsubscribe = store.subject.operationStatus.subscribe(
|
|
205
|
+
`introspection`,
|
|
217
206
|
(operationStatus) => {
|
|
218
207
|
if (operationStatus.open === false) {
|
|
219
|
-
|
|
208
|
+
unsubscribe();
|
|
220
209
|
setSelf(__spreadValues({}, tl));
|
|
221
210
|
}
|
|
222
211
|
}
|
|
@@ -230,7 +219,7 @@ var attachTimelineFamily = (store = import_atom3.__INTERNAL__.IMPLICIT.STORE) =>
|
|
|
230
219
|
},
|
|
231
220
|
store
|
|
232
221
|
);
|
|
233
|
-
const findTimelineLogState =
|
|
222
|
+
const findTimelineLogState = __INTERNAL__.createSelectorFamily(
|
|
234
223
|
{
|
|
235
224
|
key: `\u{1F441}\u200D\u{1F5E8} Timeline Update Log`,
|
|
236
225
|
get: (key) => ({ get }) => get(findTimelineLogState__INTERNAL(key))
|
|
@@ -239,11 +228,8 @@ var attachTimelineFamily = (store = import_atom3.__INTERNAL__.IMPLICIT.STORE) =>
|
|
|
239
228
|
);
|
|
240
229
|
return findTimelineLogState;
|
|
241
230
|
};
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
var import_atom4 = require("atom.io");
|
|
245
|
-
var attachTimelineIndex = (store = import_atom4.__INTERNAL__.IMPLICIT.STORE) => {
|
|
246
|
-
const timelineTokenIndexState__INTERNAL = import_atom4.__INTERNAL__.atom__INTERNAL(
|
|
231
|
+
var attachTimelineIndex = (store = __INTERNAL__.IMPLICIT.STORE) => {
|
|
232
|
+
const timelineTokenIndexState__INTERNAL = __INTERNAL__.createAtom(
|
|
247
233
|
{
|
|
248
234
|
key: `\u{1F441}\u200D\u{1F5E8} Timeline Token Index (Internal)`,
|
|
249
235
|
default: () => [...store.timelines].map(([key]) => {
|
|
@@ -251,16 +237,19 @@ var attachTimelineIndex = (store = import_atom4.__INTERNAL__.IMPLICIT.STORE) =>
|
|
|
251
237
|
}),
|
|
252
238
|
effects: [
|
|
253
239
|
({ setSelf }) => {
|
|
254
|
-
store.subject.timelineCreation.subscribe(
|
|
255
|
-
|
|
256
|
-
|
|
240
|
+
store.subject.timelineCreation.subscribe(
|
|
241
|
+
`introspection`,
|
|
242
|
+
(timelineToken) => {
|
|
243
|
+
setSelf((state) => [...state, timelineToken]);
|
|
244
|
+
}
|
|
245
|
+
);
|
|
257
246
|
}
|
|
258
247
|
]
|
|
259
248
|
},
|
|
260
249
|
void 0,
|
|
261
250
|
store
|
|
262
251
|
);
|
|
263
|
-
const timelineTokenIndex =
|
|
252
|
+
const timelineTokenIndex = __INTERNAL__.createSelector(
|
|
264
253
|
{
|
|
265
254
|
key: `\u{1F441}\u200D\u{1F5E8} Timeline Token Index`,
|
|
266
255
|
get: ({ get }) => get(timelineTokenIndexState__INTERNAL)
|
|
@@ -270,11 +259,8 @@ var attachTimelineIndex = (store = import_atom4.__INTERNAL__.IMPLICIT.STORE) =>
|
|
|
270
259
|
);
|
|
271
260
|
return timelineTokenIndex;
|
|
272
261
|
};
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
var import_atom5 = require("atom.io");
|
|
276
|
-
var attachTransactionIndex = (store = import_atom5.__INTERNAL__.IMPLICIT.STORE) => {
|
|
277
|
-
const transactionTokenIndexState__INTERNAL = import_atom5.__INTERNAL__.atom__INTERNAL(
|
|
262
|
+
var attachTransactionIndex = (store = __INTERNAL__.IMPLICIT.STORE) => {
|
|
263
|
+
const transactionTokenIndexState__INTERNAL = __INTERNAL__.createAtom(
|
|
278
264
|
{
|
|
279
265
|
key: `\u{1F441}\u200D\u{1F5E8} Transaction Token Index (Internal)`,
|
|
280
266
|
default: () => [...store.transactions].map(([key]) => {
|
|
@@ -282,16 +268,19 @@ var attachTransactionIndex = (store = import_atom5.__INTERNAL__.IMPLICIT.STORE)
|
|
|
282
268
|
}),
|
|
283
269
|
effects: [
|
|
284
270
|
({ setSelf }) => {
|
|
285
|
-
store.subject.transactionCreation.subscribe(
|
|
286
|
-
|
|
287
|
-
|
|
271
|
+
store.subject.transactionCreation.subscribe(
|
|
272
|
+
`introspection`,
|
|
273
|
+
(transactionToken) => {
|
|
274
|
+
setSelf((state) => [...state, transactionToken]);
|
|
275
|
+
}
|
|
276
|
+
);
|
|
288
277
|
}
|
|
289
278
|
]
|
|
290
279
|
},
|
|
291
280
|
void 0,
|
|
292
281
|
store
|
|
293
282
|
);
|
|
294
|
-
const transactionTokenIndex =
|
|
283
|
+
const transactionTokenIndex = __INTERNAL__.createSelector(
|
|
295
284
|
{
|
|
296
285
|
key: `\u{1F441}\u200D\u{1F5E8} Transaction Token Index`,
|
|
297
286
|
get: ({ get }) => get(transactionTokenIndexState__INTERNAL)
|
|
@@ -301,18 +290,15 @@ var attachTransactionIndex = (store = import_atom5.__INTERNAL__.IMPLICIT.STORE)
|
|
|
301
290
|
);
|
|
302
291
|
return transactionTokenIndex;
|
|
303
292
|
};
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
var import_atom6 = require("atom.io");
|
|
307
|
-
var attachTransactionLogs = (store = import_atom6.__INTERNAL__.IMPLICIT.STORE) => {
|
|
308
|
-
const findTransactionUpdateLog = import_atom6.__INTERNAL__.atomFamily__INTERNAL(
|
|
293
|
+
var attachTransactionLogs = (store = __INTERNAL__.IMPLICIT.STORE) => {
|
|
294
|
+
const findTransactionUpdateLog = __INTERNAL__.createAtomFamily(
|
|
309
295
|
{
|
|
310
296
|
key: `\u{1F441}\u200D\u{1F5E8} Transaction Update Log (Internal)`,
|
|
311
297
|
default: () => [],
|
|
312
298
|
effects: (key) => [
|
|
313
299
|
({ setSelf }) => {
|
|
314
300
|
const tx = store.transactions.get(key);
|
|
315
|
-
tx == null ? void 0 : tx.subject.subscribe((transactionUpdate) => {
|
|
301
|
+
tx == null ? void 0 : tx.subject.subscribe(`introspection`, (transactionUpdate) => {
|
|
316
302
|
if (transactionUpdate.key === key) {
|
|
317
303
|
setSelf((state) => [...state, transactionUpdate]);
|
|
318
304
|
}
|
|
@@ -322,7 +308,7 @@ var attachTransactionLogs = (store = import_atom6.__INTERNAL__.IMPLICIT.STORE) =
|
|
|
322
308
|
},
|
|
323
309
|
store
|
|
324
310
|
);
|
|
325
|
-
const findTransactionUpdateLogState =
|
|
311
|
+
const findTransactionUpdateLogState = __INTERNAL__.createSelectorFamily(
|
|
326
312
|
{
|
|
327
313
|
key: `\u{1F441}\u200D\u{1F5E8} Transaction Update Log`,
|
|
328
314
|
get: (key) => ({ get }) => get(findTransactionUpdateLog(key))
|
|
@@ -332,8 +318,8 @@ var attachTransactionLogs = (store = import_atom6.__INTERNAL__.IMPLICIT.STORE) =
|
|
|
332
318
|
return findTransactionUpdateLogState;
|
|
333
319
|
};
|
|
334
320
|
|
|
335
|
-
//
|
|
336
|
-
var attachIntrospectionStates = (store =
|
|
321
|
+
// src/attach-introspection-states.ts
|
|
322
|
+
var attachIntrospectionStates = (store = __INTERNAL____namespace.IMPLICIT.STORE) => {
|
|
337
323
|
return {
|
|
338
324
|
atomIndex: attachAtomIndex(store),
|
|
339
325
|
selectorIndex: attachSelectorIndex(store),
|
|
@@ -343,8 +329,7 @@ var attachIntrospectionStates = (store = import_atom7.__INTERNAL__.IMPLICIT.STOR
|
|
|
343
329
|
findTimelineState: attachTimelineFamily(store)
|
|
344
330
|
};
|
|
345
331
|
};
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
});
|
|
332
|
+
|
|
333
|
+
exports.attachIntrospectionStates = attachIntrospectionStates;
|
|
334
|
+
//# sourceMappingURL=out.js.map
|
|
350
335
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/introspection/index.ts","../../src/introspection/attach-introspection-states.ts","../../src/introspection/attach-atom-index.ts","../../src/introspection/attach-selector-index.ts","../../src/introspection/attach-timeline-family.ts","../../../anvl/reactivity/subject.ts","../../src/introspection/attach-timeline-index.ts","../../src/introspection/attach-transaction-index.ts","../../src/introspection/attach-transaction-logs.ts"],"sourcesContent":["import type { AtomToken, ReadonlySelectorToken, SelectorToken } from \"atom.io\"\n\nexport * from \"./attach-introspection-states\"\n\nexport type FamilyNode<\n\tToken extends\n\t\t| AtomToken<unknown>\n\t\t| ReadonlySelectorToken<unknown>\n\t\t| SelectorToken<unknown>,\n> = {\n\tkey: string\n\tfamilyMembers: Record<string, Token>\n}\n\nexport type StateTokenIndex<\n\tToken extends\n\t\t| AtomToken<unknown>\n\t\t| ReadonlySelectorToken<unknown>\n\t\t| SelectorToken<unknown>,\n> = Record<string, FamilyNode<Token> | Token>\n","import { __INTERNAL__ } from \"atom.io\"\nimport type {\n\tReadonlySelectorFamily,\n\tReadonlySelectorToken,\n\tTimelineToken,\n\tTimelineUpdate,\n\tTransactionToken,\n\tTransactionUpdate,\n} from \"atom.io\"\n\nimport type { ƒn } from \"~/packages/anvl/src/function\"\n\nimport { attachAtomIndex, type AtomTokenIndex } from \"./attach-atom-index\"\nimport {\n\tattachSelectorIndex,\n\ttype SelectorTokenIndex,\n} 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 type { Timeline } from \"../internal\"\n\nexport const attachIntrospectionStates = (\n\tstore: __INTERNAL__.Store = __INTERNAL__.IMPLICIT.STORE,\n): {\n\tatomIndex: ReadonlySelectorToken<AtomTokenIndex>\n\tselectorIndex: ReadonlySelectorToken<SelectorTokenIndex>\n\ttransactionIndex: ReadonlySelectorToken<TransactionToken<ƒn>[]>\n\tfindTransactionLogState: ReadonlySelectorFamily<TransactionUpdate<ƒn>[]>\n\ttimelineIndex: ReadonlySelectorToken<TimelineToken[]>\n\tfindTimelineState: ReadonlySelectorFamily<Timeline>\n} => {\n\treturn {\n\t\tatomIndex: attachAtomIndex(store),\n\t\tselectorIndex: attachSelectorIndex(store),\n\t\ttransactionIndex: attachTransactionIndex(store),\n\t\tfindTransactionLogState: attachTransactionLogs(store),\n\t\ttimelineIndex: attachTimelineIndex(store),\n\t\tfindTimelineState: attachTimelineFamily(store),\n\t}\n}\n","import type { AtomToken, ReadonlySelectorToken } from \"atom.io\"\nimport { __INTERNAL__ } from \"atom.io\"\n\nimport type { StateTokenIndex } from \".\"\n\nexport type AtomTokenIndex = StateTokenIndex<AtomToken<unknown>>\n\nexport const attachAtomIndex = (\n\tstore: __INTERNAL__.Store = __INTERNAL__.IMPLICIT.STORE,\n): ReadonlySelectorToken<AtomTokenIndex> => {\n\tconst atomTokenIndexState__INTERNAL =\n\t\t__INTERNAL__.atom__INTERNAL<AtomTokenIndex>(\n\t\t\t{\n\t\t\t\tkey: `👁🗨 Atom Token Index (Internal)`,\n\t\t\t\tdefault: () =>\n\t\t\t\t\t[...store.atoms]\n\t\t\t\t\t\t.filter(([key]) => !key.includes(`👁🗨`))\n\t\t\t\t\t\t.reduce<AtomTokenIndex>((acc, [key]) => {\n\t\t\t\t\t\t\tacc[key] = { key, type: `atom` }\n\t\t\t\t\t\t\treturn acc\n\t\t\t\t\t\t}, {}),\n\t\t\t\teffects: [\n\t\t\t\t\t({ setSelf }) => {\n\t\t\t\t\t\tstore.subject.atomCreation.subscribe((atomToken) => {\n\t\t\t\t\t\t\tif (store.operation.open) {\n\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (atomToken.key.includes(`👁🗨`)) {\n\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetSelf((state) => {\n\t\t\t\t\t\t\t\tconst { key, family } = atomToken\n\t\t\t\t\t\t\t\tif (family) {\n\t\t\t\t\t\t\t\t\tconst { key: familyKey, subKey } = family\n\t\t\t\t\t\t\t\t\tconst current = state[familyKey]\n\t\t\t\t\t\t\t\t\tif (current === undefined || `familyMembers` in current) {\n\t\t\t\t\t\t\t\t\t\tconst familyKeyState = current || {\n\t\t\t\t\t\t\t\t\t\t\tkey: familyKey,\n\t\t\t\t\t\t\t\t\t\t\tfamilyMembers: {},\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t\t\t[familyKey]: {\n\t\t\t\t\t\t\t\t\t\t\t\t...familyKeyState,\n\t\t\t\t\t\t\t\t\t\t\t\tfamilyMembers: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t...familyKeyState.familyMembers,\n\t\t\t\t\t\t\t\t\t\t\t\t\t[subKey]: atomToken,\n\t\t\t\t\t\t\t\t\t\t\t\t},\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}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t[key]: atomToken,\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\tstore,\n\t\t)\n\treturn __INTERNAL__.selector__INTERNAL(\n\t\t{\n\t\t\tkey: `👁🗨 Atom Token Index`,\n\t\t\tget: ({ get }) => get(atomTokenIndexState__INTERNAL),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n}\n","import { __INTERNAL__ } from \"atom.io\"\nimport type { ReadonlySelectorToken, SelectorToken } from \"atom.io\"\n\nimport type { StateTokenIndex } from \".\"\n\nexport type SelectorTokenIndex = StateTokenIndex<\n\tReadonlySelectorToken<unknown> | SelectorToken<unknown>\n>\n\nexport const attachSelectorIndex = (\n\tstore: __INTERNAL__.Store = __INTERNAL__.IMPLICIT.STORE,\n): ReadonlySelectorToken<SelectorTokenIndex> => {\n\tconst readonlySelectorTokenIndexState__INTERNAL =\n\t\t__INTERNAL__.atom__INTERNAL<SelectorTokenIndex>(\n\t\t\t{\n\t\t\t\tkey: `👁🗨 Selector Token Index (Internal)`,\n\t\t\t\tdefault: () =>\n\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t[...store.readonlySelectors]\n\t\t\t\t\t\t\t.filter(([key]) => !key.includes(`👁🗨`))\n\t\t\t\t\t\t\t.reduce<SelectorTokenIndex>((acc, [key]) => {\n\t\t\t\t\t\t\t\tacc[key] = { key, type: `readonly_selector` }\n\t\t\t\t\t\t\t\treturn acc\n\t\t\t\t\t\t\t}, {}),\n\t\t\t\t\t\t[...store.selectors].reduce<SelectorTokenIndex>((acc, [key]) => {\n\t\t\t\t\t\t\tacc[key] = { key, type: `selector` }\n\t\t\t\t\t\t\treturn acc\n\t\t\t\t\t\t}, {}),\n\t\t\t\t\t),\n\t\t\t\teffects: [\n\t\t\t\t\t({ setSelf }) => {\n\t\t\t\t\t\tstore.subject.selectorCreation.subscribe((selectorToken) => {\n\t\t\t\t\t\t\tif (store.operation.open) {\n\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (selectorToken.key.includes(`👁🗨`)) {\n\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetSelf((state) => {\n\t\t\t\t\t\t\t\tconst { key, family } = selectorToken\n\t\t\t\t\t\t\t\tif (family) {\n\t\t\t\t\t\t\t\t\tconst { key: familyKey, subKey } = family\n\t\t\t\t\t\t\t\t\tconst current = state[familyKey]\n\t\t\t\t\t\t\t\t\tif (current === undefined || `familyMembers` in current) {\n\t\t\t\t\t\t\t\t\t\tconst familyKeyState = current || {\n\t\t\t\t\t\t\t\t\t\t\tkey: familyKey,\n\t\t\t\t\t\t\t\t\t\t\tfamilyMembers: {},\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t\t\t[familyKey]: {\n\t\t\t\t\t\t\t\t\t\t\t\t...familyKeyState,\n\t\t\t\t\t\t\t\t\t\t\t\tfamilyMembers: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t...familyKeyState.familyMembers,\n\t\t\t\t\t\t\t\t\t\t\t\t\t[subKey]: selectorToken,\n\t\t\t\t\t\t\t\t\t\t\t\t},\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}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t[key]: selectorToken,\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\tstore,\n\t\t)\n\treturn __INTERNAL__.selector__INTERNAL({\n\t\tkey: `👁🗨 Selector Token Index`,\n\t\tget: ({ get }) => get(readonlySelectorTokenIndexState__INTERNAL),\n\t})\n}\n","import type { ReadonlySelectorFamily, Store } from \"atom.io\"\nimport { __INTERNAL__, timeline } from \"atom.io\"\n\nimport { withdraw, type Timeline, Subject } from \"../internal\"\n\nexport const attachTimelineFamily = (\n\tstore: Store = __INTERNAL__.IMPLICIT.STORE,\n): ReadonlySelectorFamily<Timeline> => {\n\tconst findTimelineLogState__INTERNAL = __INTERNAL__.atomFamily__INTERNAL<\n\t\tTimeline,\n\t\tstring\n\t>(\n\t\t{\n\t\t\tkey: `👁🗨 Timeline Update Log (Internal)`,\n\t\t\tdefault: (key) =>\n\t\t\t\tstore.timelines.get(key) ?? {\n\t\t\t\t\tkey: ``,\n\t\t\t\t\tat: 0,\n\t\t\t\t\ttimeTraveling: null,\n\t\t\t\t\thistory: [],\n\t\t\t\t\tselectorTime: null,\n\t\t\t\t\ttransactionKey: null,\n\t\t\t\t\tinstall: () => {},\n\t\t\t\t\tsubject: new Subject(),\n\t\t\t\t},\n\t\t\teffects: (key) => [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tconst tl = store.timelines.get(key)\n\t\t\t\t\ttl?.subject.subscribe((_) => {\n\t\t\t\t\t\tif (store.operation.open === true) {\n\t\t\t\t\t\t\tconst subscription = store.subject.operationStatus.subscribe(\n\t\t\t\t\t\t\t\t(operationStatus) => {\n\t\t\t\t\t\t\t\t\tif (operationStatus.open === false) {\n\t\t\t\t\t\t\t\t\t\tsubscription.unsubscribe()\n\t\t\t\t\t\t\t\t\t\tsetSelf({ ...tl })\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)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetSelf({ ...tl })\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\tstore,\n\t)\n\tconst findTimelineLogState = __INTERNAL__.selectorFamily__INTERNAL<\n\t\tTimeline,\n\t\tstring\n\t>(\n\t\t{\n\t\t\tkey: `👁🗨 Timeline Update Log`,\n\t\t\tget: (key) => ({ get }) => get(findTimelineLogState__INTERNAL(key)),\n\t\t},\n\t\tstore,\n\t)\n\treturn findTimelineLogState\n}\n","type Subscriber<T> = (value: T) => void\n\nexport class Subject<T> {\n\tpublic subscribers: Subscriber<T>[] = []\n\n\tpublic subscribe(subscriber: Subscriber<T>): { unsubscribe: () => void } {\n\t\tthis.subscribers.push(subscriber)\n\t\tconst unsubscribe = () => this.unsubscribe(subscriber)\n\t\treturn { unsubscribe }\n\t}\n\n\tprivate unsubscribe(subscriber: Subscriber<T>) {\n\t\tconst subscriberIndex = this.subscribers.indexOf(subscriber)\n\t\tif (subscriberIndex !== -1) {\n\t\t\tthis.subscribers.splice(subscriberIndex, 1)\n\t\t}\n\t}\n\n\tpublic next(value: T): void {\n\t\tfor (const subscriber of this.subscribers) {\n\t\t\tsubscriber(value)\n\t\t}\n\t}\n}\n","import type { ReadonlySelectorToken, Store, TimelineToken } from \"atom.io\"\nimport { __INTERNAL__ } from \"atom.io\"\n\nexport const attachTimelineIndex = (\n\tstore: Store = __INTERNAL__.IMPLICIT.STORE,\n): ReadonlySelectorToken<TimelineToken[]> => {\n\tconst timelineTokenIndexState__INTERNAL = __INTERNAL__.atom__INTERNAL<\n\t\tTimelineToken[]\n\t>(\n\t\t{\n\t\t\tkey: `👁🗨 Timeline Token Index (Internal)`,\n\t\t\tdefault: () =>\n\t\t\t\t[...store.timelines].map(([key]) => {\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.subject.timelineCreation.subscribe((timelineToken) => {\n\t\t\t\t\t\tsetSelf((state) => [...state, timelineToken])\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n\tconst timelineTokenIndex = __INTERNAL__.selector__INTERNAL(\n\t\t{\n\t\t\tkey: `👁🗨 Timeline Token Index`,\n\t\t\tget: ({ get }) => get(timelineTokenIndexState__INTERNAL),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n\treturn timelineTokenIndex\n}\n","import type { ReadonlySelectorToken, TransactionToken } from \"atom.io\"\nimport { __INTERNAL__ } from \"atom.io\"\n\nimport type { ƒn } from \"~/packages/anvl/src/function\"\n\nexport const attachTransactionIndex = (\n\tstore: __INTERNAL__.Store = __INTERNAL__.IMPLICIT.STORE,\n): ReadonlySelectorToken<TransactionToken<ƒn>[]> => {\n\tconst transactionTokenIndexState__INTERNAL = __INTERNAL__.atom__INTERNAL<\n\t\tTransactionToken<ƒn>[]\n\t>(\n\t\t{\n\t\t\tkey: `👁🗨 Transaction Token Index (Internal)`,\n\t\t\tdefault: () =>\n\t\t\t\t[...store.transactions].map(([key]) => {\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.subject.transactionCreation.subscribe((transactionToken) => {\n\t\t\t\t\t\tsetSelf((state) => [...state, transactionToken])\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n\tconst transactionTokenIndex = __INTERNAL__.selector__INTERNAL(\n\t\t{\n\t\t\tkey: `👁🗨 Transaction Token Index`,\n\t\t\tget: ({ get }) => get(transactionTokenIndexState__INTERNAL),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n\treturn transactionTokenIndex\n}\n","import type { ReadonlySelectorFamily, TransactionUpdate } from \"atom.io\"\nimport { __INTERNAL__ } from \"atom.io\"\n\nimport type { ƒn } from \"~/packages/anvl/src/function\"\n\nexport const attachTransactionLogs = (\n\tstore: __INTERNAL__.Store = __INTERNAL__.IMPLICIT.STORE,\n): ReadonlySelectorFamily<TransactionUpdate<ƒn>[]> => {\n\tconst findTransactionUpdateLog = __INTERNAL__.atomFamily__INTERNAL<\n\t\tTransactionUpdate<ƒn>[],\n\t\tstring\n\t>(\n\t\t{\n\t\t\tkey: `👁🗨 Transaction Update Log (Internal)`,\n\t\t\tdefault: () => [],\n\t\t\teffects: (key) => [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tconst tx = store.transactions.get(key)\n\t\t\t\t\ttx?.subject.subscribe((transactionUpdate) => {\n\t\t\t\t\t\tif (transactionUpdate.key === key) {\n\t\t\t\t\t\t\tsetSelf((state) => [...state, transactionUpdate])\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\tstore,\n\t)\n\tconst findTransactionUpdateLogState = __INTERNAL__.selectorFamily__INTERNAL<\n\t\tTransactionUpdate<ƒn>[],\n\t\tstring\n\t>(\n\t\t{\n\t\t\tkey: `👁🗨 Transaction Update Log`,\n\t\t\tget: (key) => ({ get }) => get(findTransactionUpdateLog(key)),\n\t\t},\n\t\tstore,\n\t)\n\treturn findTransactionUpdateLogState\n}\n"],"mappings":"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","names":["import_atom","import_atom","import_atom","import_atom","import_atom","import_atom"]}
|
|
1
|
+
{"version":3,"sources":["../src/attach-introspection-states.ts","../src/attach-atom-index.ts","../src/attach-selector-index.ts","../src/attach-timeline-family.ts","../src/attach-timeline-index.ts","../src/attach-transaction-index.ts","../src/attach-transaction-logs.ts"],"names":["IMPLICIT","createAtom","createSelector","target","createAtomFamily","createSelectorFamily"],"mappings":"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","sourcesContent":["import type {\n\tReadonlySelectorFamily,\n\tReadonlySelectorToken,\n\tTimelineToken,\n\tTransactionToken,\n\tTransactionUpdate,\n\tƒn,\n} from \"atom.io\"\nimport * as __INTERNAL__ from \"atom.io/internal\"\nimport type { 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\"\n\nexport const attachIntrospectionStates = (\n\tstore: __INTERNAL__.Store = __INTERNAL__.IMPLICIT.STORE,\n): {\n\tatomIndex: ReadonlySelectorToken<AtomTokenIndex>\n\tselectorIndex: ReadonlySelectorToken<SelectorTokenIndex>\n\ttransactionIndex: ReadonlySelectorToken<TransactionToken<ƒn>[]>\n\tfindTransactionLogState: ReadonlySelectorFamily<TransactionUpdate<ƒn>[]>\n\ttimelineIndex: ReadonlySelectorToken<TimelineToken[]>\n\tfindTimelineState: ReadonlySelectorFamily<Timeline>\n} => {\n\treturn {\n\t\tatomIndex: attachAtomIndex(store),\n\t\tselectorIndex: attachSelectorIndex(store),\n\t\ttransactionIndex: attachTransactionIndex(store),\n\t\tfindTransactionLogState: attachTransactionLogs(store),\n\t\ttimelineIndex: attachTimelineIndex(store),\n\t\tfindTimelineState: attachTimelineFamily(store),\n\t}\n}\n","import type { AtomToken, ReadonlySelectorToken } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { IMPLICIT, createAtom, createSelector, target } from \"atom.io/internal\"\n\nimport type { StateTokenIndex } from \".\"\n\nexport type AtomTokenIndex = StateTokenIndex<AtomToken<unknown>>\n\nexport const attachAtomIndex = (\n\tstore: Store = IMPLICIT.STORE,\n): ReadonlySelectorToken<AtomTokenIndex> => {\n\tconst atomTokenIndexState__INTERNAL = createAtom<AtomTokenIndex>(\n\t\t{\n\t\t\tkey: `👁🗨 Atom Token Index (Internal)`,\n\t\t\tdefault: () => {\n\t\t\t\tconst defaultAtomIndex = [...store.atoms]\n\t\t\t\t\t.filter(([key]) => !key.includes(`👁🗨`))\n\t\t\t\t\t.reduce<AtomTokenIndex>((acc, [key]) => {\n\t\t\t\t\t\tacc[key] = { key, type: `atom` }\n\t\t\t\t\t\treturn acc\n\t\t\t\t\t}, {})\n\t\t\t\treturn defaultAtomIndex\n\t\t\t},\n\t\t\teffects: [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tstore.subject.atomCreation.subscribe(`introspection`, (atomToken) => {\n\t\t\t\t\t\tif (atomToken.key.includes(`👁🗨`)) {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst set = () =>\n\t\t\t\t\t\t\tsetSelf((state) => {\n\t\t\t\t\t\t\t\tconst { key, family } = atomToken\n\t\t\t\t\t\t\t\tif (family) {\n\t\t\t\t\t\t\t\t\tconst { key: familyKey, subKey } = family\n\t\t\t\t\t\t\t\t\tconst current = state[familyKey]\n\t\t\t\t\t\t\t\t\tif (current === undefined || `familyMembers` in current) {\n\t\t\t\t\t\t\t\t\t\tconst familyKeyState = current || {\n\t\t\t\t\t\t\t\t\t\t\tkey: familyKey,\n\t\t\t\t\t\t\t\t\t\t\tfamilyMembers: {},\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t\t\t[familyKey]: {\n\t\t\t\t\t\t\t\t\t\t\t\t...familyKeyState,\n\t\t\t\t\t\t\t\t\t\t\t\tfamilyMembers: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t...familyKeyState.familyMembers,\n\t\t\t\t\t\t\t\t\t\t\t\t\t[subKey]: atomToken,\n\t\t\t\t\t\t\t\t\t\t\t\t},\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}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t[key]: atomToken,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\tif (target(store).operation.open) {\n\t\t\t\t\t\t\tconst unsubscribe = store.subject.operationStatus.subscribe(\n\t\t\t\t\t\t\t\t`introspection: waiting to update atom index`,\n\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\tunsubscribe()\n\t\t\t\t\t\t\t\t\tset()\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tset()\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\tstore,\n\t)\n\treturn createSelector(\n\t\t{\n\t\t\tkey: `👁🗨 Atom Token Index`,\n\t\t\tget: ({ get }) => get(atomTokenIndexState__INTERNAL),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n}\n","import type { ReadonlySelectorToken, SelectorToken } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { IMPLICIT, createAtom, createSelector, target } from \"atom.io/internal\"\n\nimport type { StateTokenIndex } from \".\"\n\nexport type SelectorTokenIndex = StateTokenIndex<\n\tReadonlySelectorToken<unknown> | SelectorToken<unknown>\n>\n\nexport const attachSelectorIndex = (\n\tstore: Store = IMPLICIT.STORE,\n): ReadonlySelectorToken<SelectorTokenIndex> => {\n\tconst readonlySelectorTokenIndexState__INTERNAL =\n\t\tcreateAtom<SelectorTokenIndex>(\n\t\t\t{\n\t\t\t\tkey: `👁🗨 Selector Token Index (Internal)`,\n\t\t\t\tdefault: () =>\n\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t[...store.readonlySelectors]\n\t\t\t\t\t\t\t.filter(([key]) => !key.includes(`👁🗨`))\n\t\t\t\t\t\t\t.reduce<SelectorTokenIndex>((acc, [key]) => {\n\t\t\t\t\t\t\t\tacc[key] = { key, type: `readonly_selector` }\n\t\t\t\t\t\t\t\treturn acc\n\t\t\t\t\t\t\t}, {}),\n\t\t\t\t\t\t[...store.selectors].reduce<SelectorTokenIndex>((acc, [key]) => {\n\t\t\t\t\t\t\tacc[key] = { key, type: `selector` }\n\t\t\t\t\t\t\treturn acc\n\t\t\t\t\t\t}, {}),\n\t\t\t\t\t),\n\t\t\t\teffects: [\n\t\t\t\t\t({ setSelf }) => {\n\t\t\t\t\t\tstore.subject.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 (selectorToken.key.includes(`👁🗨`)) {\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconst set = () =>\n\t\t\t\t\t\t\t\t\tsetSelf((state) => {\n\t\t\t\t\t\t\t\t\t\tconst { key, family } = selectorToken\n\t\t\t\t\t\t\t\t\t\tif (family) {\n\t\t\t\t\t\t\t\t\t\t\tconst { key: familyKey, subKey } = family\n\t\t\t\t\t\t\t\t\t\t\tconst current = state[familyKey]\n\t\t\t\t\t\t\t\t\t\t\tif (current === undefined || `familyMembers` in current) {\n\t\t\t\t\t\t\t\t\t\t\t\tconst familyKeyState = current || {\n\t\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\t\tfamilyMembers: {},\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t\t\t\t\t[familyKey]: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...familyKeyState,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfamilyMembers: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...familyKeyState.familyMembers,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[subKey]: selectorToken,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t}\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\treturn {\n\t\t\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t\t\t[key]: selectorToken,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\tif (target(store).operation.open) {\n\t\t\t\t\t\t\t\t\tconst unsubscribe = store.subject.operationStatus.subscribe(\n\t\t\t\t\t\t\t\t\t\t`introspection: waiting to update selector index`,\n\t\t\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\t\t\tunsubscribe()\n\t\t\t\t\t\t\t\t\t\t\tset()\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tset()\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\tstore,\n\t\t)\n\treturn createSelector({\n\t\tkey: `👁🗨 Selector Token Index`,\n\t\tget: ({ get }) => get(readonlySelectorTokenIndexState__INTERNAL),\n\t})\n}\n","import type { ReadonlySelectorFamily } from \"atom.io\"\nimport type { Store, Timeline } from \"atom.io/internal\"\nimport {\n\tIMPLICIT,\n\tSubject,\n\tcreateAtomFamily,\n\tcreateSelectorFamily,\n} from \"atom.io/internal\"\n\nexport const attachTimelineFamily = (\n\tstore: Store = IMPLICIT.STORE,\n): ReadonlySelectorFamily<Timeline> => {\n\tconst findTimelineLogState__INTERNAL = createAtomFamily<Timeline, string>(\n\t\t{\n\t\t\tkey: `👁🗨 Timeline Update Log (Internal)`,\n\t\t\tdefault: (key) =>\n\t\t\t\tstore.timelines.get(key) ?? {\n\t\t\t\t\ttype: `timeline`,\n\t\t\t\t\tkey: ``,\n\t\t\t\t\tat: 0,\n\t\t\t\t\ttimeTraveling: null,\n\t\t\t\t\thistory: [],\n\t\t\t\t\tselectorTime: null,\n\t\t\t\t\ttransactionKey: null,\n\t\t\t\t\tinstall: () => {},\n\t\t\t\t\tsubject: new Subject(),\n\t\t\t\t},\n\t\t\teffects: (key) => [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tconst tl = store.timelines.get(key)\n\t\t\t\t\ttl?.subject.subscribe(`introspection`, (_) => {\n\t\t\t\t\t\tif (store.operation.open === true) {\n\t\t\t\t\t\t\tconst unsubscribe = store.subject.operationStatus.subscribe(\n\t\t\t\t\t\t\t\t`introspection`,\n\t\t\t\t\t\t\t\t(operationStatus) => {\n\t\t\t\t\t\t\t\t\tif (operationStatus.open === false) {\n\t\t\t\t\t\t\t\t\t\tunsubscribe()\n\t\t\t\t\t\t\t\t\t\tsetSelf({ ...tl })\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)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetSelf({ ...tl })\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\tstore,\n\t)\n\tconst findTimelineLogState = createSelectorFamily<Timeline, string>(\n\t\t{\n\t\t\tkey: `👁🗨 Timeline Update Log`,\n\t\t\tget: (key) => ({ get }) => get(findTimelineLogState__INTERNAL(key)),\n\t\t},\n\t\tstore,\n\t)\n\treturn findTimelineLogState\n}\n","import type { ReadonlySelectorToken, TimelineToken } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { IMPLICIT, createAtom, createSelector } from \"atom.io/internal\"\n\nexport const attachTimelineIndex = (\n\tstore: Store = IMPLICIT.STORE,\n): ReadonlySelectorToken<TimelineToken[]> => {\n\tconst timelineTokenIndexState__INTERNAL = createAtom<TimelineToken[]>(\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 => {\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.subject.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\tstore,\n\t)\n\tconst timelineTokenIndex = createSelector(\n\t\t{\n\t\t\tkey: `👁🗨 Timeline Token Index`,\n\t\t\tget: ({ get }) => get(timelineTokenIndexState__INTERNAL),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n\treturn timelineTokenIndex\n}\n","import type { ReadonlySelectorToken, TransactionToken, ƒn } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { IMPLICIT, createAtom, createSelector } from \"atom.io/internal\"\n\nexport const attachTransactionIndex = (\n\tstore: Store = IMPLICIT.STORE,\n): ReadonlySelectorToken<TransactionToken<ƒn>[]> => {\n\tconst transactionTokenIndexState__INTERNAL = createAtom<\n\t\tTransactionToken<ƒn>[]\n\t>(\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<ƒn> => {\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.subject.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\tstore,\n\t)\n\tconst transactionTokenIndex = createSelector(\n\t\t{\n\t\t\tkey: `👁🗨 Transaction Token Index`,\n\t\t\tget: ({ get }) => get(transactionTokenIndexState__INTERNAL),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n\treturn transactionTokenIndex\n}\n","import type { ReadonlySelectorFamily, TransactionUpdate, ƒn } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport {\n\tIMPLICIT,\n\tcreateAtomFamily,\n\tcreateSelectorFamily,\n} from \"atom.io/internal\"\n\nexport const attachTransactionLogs = (\n\tstore: Store = IMPLICIT.STORE,\n): ReadonlySelectorFamily<TransactionUpdate<ƒn>[]> => {\n\tconst findTransactionUpdateLog = createAtomFamily<\n\t\tTransactionUpdate<ƒn>[],\n\t\tstring\n\t>(\n\t\t{\n\t\t\tkey: `👁🗨 Transaction Update Log (Internal)`,\n\t\t\tdefault: () => [],\n\t\t\teffects: (key) => [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tconst tx = store.transactions.get(key)\n\t\t\t\t\ttx?.subject.subscribe(`introspection`, (transactionUpdate) => {\n\t\t\t\t\t\tif (transactionUpdate.key === key) {\n\t\t\t\t\t\t\tsetSelf((state) => [...state, transactionUpdate])\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\tstore,\n\t)\n\tconst findTransactionUpdateLogState = createSelectorFamily<\n\t\tTransactionUpdate<ƒn>[],\n\t\tstring\n\t>(\n\t\t{\n\t\t\tkey: `👁🗨 Transaction Update Log`,\n\t\t\tget: (key) => ({ get }) => get(findTransactionUpdateLog(key)),\n\t\t},\n\t\tstore,\n\t)\n\treturn findTransactionUpdateLogState\n}\n"]}
|