atom.io 0.6.7 → 0.6.9
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/index.d.mts +241 -263
- package/dist/index.d.ts +241 -263
- package/dist/index.js +28 -1911
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5 -1871
- package/dist/index.mjs.map +1 -1
- package/introspection/dist/index.d.mts +121 -176
- package/introspection/dist/index.d.ts +121 -176
- package/introspection/dist/index.js +6 -346
- package/introspection/dist/index.js.map +1 -1
- package/introspection/dist/index.mjs +5 -324
- package/introspection/dist/index.mjs.map +1 -1
- package/json/dist/index.d.mts +37 -8
- package/json/dist/index.d.ts +37 -8
- package/json/dist/index.js +31 -48
- package/json/dist/index.js.map +1 -1
- package/json/dist/index.mjs +6 -14
- package/json/dist/index.mjs.map +1 -1
- package/package.json +30 -14
- package/react/dist/index.js +34 -83
- package/react/dist/index.js.map +1 -1
- package/react/dist/index.mjs +7 -43
- package/react/dist/index.mjs.map +1 -1
- package/react-devtools/dist/index.css +1 -42
- package/react-devtools/dist/index.css.map +1 -1
- package/react-devtools/dist/index.d.mts +128 -193
- package/react-devtools/dist/index.d.ts +128 -193
- package/react-devtools/dist/index.js +56 -4154
- package/react-devtools/dist/index.js.map +1 -1
- package/react-devtools/dist/index.mjs +19 -4117
- package/react-devtools/dist/index.mjs.map +1 -1
- package/realtime/dist/index.d.mts +7 -11
- package/realtime/dist/index.d.ts +7 -11
- package/realtime/dist/index.js +26 -185
- package/realtime/dist/index.js.map +1 -1
- package/realtime/dist/index.mjs +4 -149
- package/realtime/dist/index.mjs.map +1 -1
- package/realtime-react/dist/index.d.mts +12 -16
- package/realtime-react/dist/index.d.ts +12 -16
- package/realtime-react/dist/index.js +41 -214
- package/realtime-react/dist/index.js.map +1 -1
- package/realtime-react/dist/index.mjs +9 -169
- package/realtime-react/dist/index.mjs.map +1 -1
- package/src/atom.ts +7 -6
- package/src/index.ts +12 -9
- package/src/logger.ts +5 -5
- package/src/selector.ts +16 -14
- package/src/silo.ts +36 -39
- package/src/subscribe.ts +25 -20
- package/src/timeline.ts +9 -4
- package/src/transaction.ts +3 -4
- package/src/internal/atom-internal.ts +0 -54
- package/src/internal/families-internal.ts +0 -141
- package/src/internal/get.ts +0 -129
- package/src/internal/index.ts +0 -15
- package/src/internal/is-default.ts +0 -35
- package/src/internal/operation.ts +0 -139
- package/src/internal/selector/create-read-write-selector.ts +0 -66
- package/src/internal/selector/create-readonly-selector.ts +0 -46
- package/src/internal/selector/index.ts +0 -4
- package/src/internal/selector/lookup-selector-sources.ts +0 -16
- package/src/internal/selector/register-selector.ts +0 -57
- package/src/internal/selector/trace-selector-atoms.ts +0 -43
- package/src/internal/selector/update-selector-atoms.ts +0 -33
- 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/subject.ts +0 -24
- package/src/internal/subscribe-internal.ts +0 -88
- package/src/internal/time-travel-internal.ts +0 -91
- package/src/internal/timeline/add-atom-to-timeline.ts +0 -168
- package/src/internal/timeline/index.ts +0 -1
- package/src/internal/timeline-internal.ts +0 -107
- package/src/internal/transaction/abort-transaction.ts +0 -12
- package/src/internal/transaction/apply-transaction.ts +0 -57
- package/src/internal/transaction/build-transaction.ts +0 -33
- package/src/internal/transaction/index.ts +0 -25
- package/src/internal/transaction/redo-transaction.ts +0 -23
- package/src/internal/transaction/undo-transaction.ts +0 -23
- package/src/internal/transaction-internal.ts +0 -61
- package/src/introspection/attach-atom-index.ts +0 -73
- package/src/introspection/attach-introspection-states.ts +0 -42
- package/src/introspection/attach-selector-index.ts +0 -77
- package/src/introspection/attach-timeline-family.ts +0 -59
- package/src/introspection/attach-timeline-index.ts +0 -36
- package/src/introspection/attach-transaction-index.ts +0 -38
- package/src/introspection/attach-transaction-logs.ts +0 -40
- package/src/introspection/index.ts +0 -20
- package/src/json/index.ts +0 -1
- package/src/json/select-json.ts +0 -18
- package/src/react/index.ts +0 -2
- package/src/react/store-context.tsx +0 -13
- package/src/react/store-hooks.ts +0 -47
- package/src/react-devtools/AtomIODevtools.tsx +0 -107
- package/src/react-devtools/Button.tsx +0 -24
- package/src/react-devtools/StateEditor.tsx +0 -70
- package/src/react-devtools/StateIndex.tsx +0 -153
- package/src/react-devtools/TimelineIndex.tsx +0 -92
- package/src/react-devtools/TransactionIndex.tsx +0 -70
- package/src/react-devtools/Updates.tsx +0 -145
- package/src/react-devtools/devtools.scss +0 -311
- package/src/react-devtools/index.ts +0 -72
- 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-context.tsx +0 -30
- 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 -22
- package/src/realtime-react/use-push.ts +0 -25
- package/src/realtime-react/use-server-action.ts +0 -33
- package/src/realtime-testing/index.ts +0 -1
- package/src/realtime-testing/setup-realtime-test.tsx +0 -159
- package/src/web-effects/index.ts +0 -1
- package/src/web-effects/storage.ts +0 -30
|
@@ -1,327 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
-
var __spreadValues = (a, b) => {
|
|
9
|
-
for (var prop in b || (b = {}))
|
|
10
|
-
if (__hasOwnProp.call(b, prop))
|
|
11
|
-
__defNormalProp(a, prop, b[prop]);
|
|
12
|
-
if (__getOwnPropSymbols)
|
|
13
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
-
if (__propIsEnum.call(b, prop))
|
|
15
|
-
__defNormalProp(a, prop, b[prop]);
|
|
16
|
-
}
|
|
17
|
-
return a;
|
|
18
|
-
};
|
|
19
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
1
|
+
import { __INTERNAL__ } from 'atom.io';
|
|
2
|
+
import { Subject } from 'atom.io/internal';
|
|
20
3
|
|
|
21
|
-
|
|
22
|
-
import { __INTERNAL__ as __INTERNAL__7 } from "atom.io";
|
|
4
|
+
var E=Object.defineProperty,g=Object.defineProperties;var M=Object.getOwnPropertyDescriptors;var S=Object.getOwnPropertySymbols;var h=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable;var u=(e,o,t)=>o in e?E(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,a=(e,o)=>{for(var t in o||(o={}))h.call(o,t)&&u(e,t,o[t]);if(S)for(var t of S(o))F.call(o,t)&&u(e,t,o[t]);return e},m=(e,o)=>g(e,M(o));var x=(e=__INTERNAL__.IMPLICIT.STORE)=>{let o=__INTERNAL__.atom__INTERNAL({key:"\u{1F441}\u200D\u{1F5E8} Atom Token Index (Internal)",default:()=>[...e.atoms].filter(([t])=>!t.includes("\u{1F441}\u200D\u{1F5E8}")).reduce((t,[n])=>(t[n]={key:n,type:"atom"},t),{}),effects:[({setSelf:t})=>{e.subject.atomCreation.subscribe("introspection",n=>{e.operation.open||n.key.includes("\u{1F441}\u200D\u{1F5E8}")||t(i=>{let{key:r,family:c}=n;if(c){let{key:l,subKey:d}=c,T=i[l];if(T===void 0||"familyMembers"in T){let s=T||{key:l,familyMembers:{}};return m(a({},i),{[l]:m(a({},s),{familyMembers:m(a({},s.familyMembers),{[d]:n})})})}}return m(a({},i),{[r]:n})});});}]},void 0,e);return __INTERNAL__.selector__INTERNAL({key:"\u{1F441}\u200D\u{1F5E8} Atom Token Index",get:({get:t})=>t(o)},void 0,e)};var R=(e=__INTERNAL__.IMPLICIT.STORE)=>{let o=__INTERNAL__.atom__INTERNAL({key:"\u{1F441}\u200D\u{1F5E8} Selector Token Index (Internal)",default:()=>Object.assign([...e.readonlySelectors].filter(([t])=>!t.includes("\u{1F441}\u200D\u{1F5E8}")).reduce((t,[n])=>(t[n]={key:n,type:"readonly_selector"},t),{}),[...e.selectors].reduce((t,[n])=>(t[n]={key:n,type:"selector"},t),{})),effects:[({setSelf:t})=>{e.subject.selectorCreation.subscribe("introspection",n=>{e.operation.open||n.key.includes("\u{1F441}\u200D\u{1F5E8}")||t(i=>{let{key:r,family:c}=n;if(c){let{key:l,subKey:d}=c,T=i[l];if(T===void 0||"familyMembers"in T){let s=T||{key:l,familyMembers:{}};return m(a({},i),{[l]:m(a({},s),{familyMembers:m(a({},s.familyMembers),{[d]:n})})})}}return m(a({},i),{[r]:n})});});}]},void 0,e);return __INTERNAL__.selector__INTERNAL({key:"\u{1F441}\u200D\u{1F5E8} Selector Token Index",get:({get:t})=>t(o)})};var N=(e=__INTERNAL__.IMPLICIT.STORE)=>{let o=__INTERNAL__.atomFamily__INTERNAL({key:"\u{1F441}\u200D\u{1F5E8} Timeline Update Log (Internal)",default:n=>{var i;return (i=e.timelines.get(n))!=null?i:{type:"timeline",key:"",at:0,timeTraveling:null,history:[],selectorTime:null,transactionKey:null,install:()=>{},subject:new Subject}},effects:n=>[({setSelf:i})=>{let r=e.timelines.get(n);r==null||r.subject.subscribe("introspection",c=>{if(e.operation.open===!0){let l=e.subject.operationStatus.subscribe("introspection",d=>{d.open===!1&&(l(),i(a({},r)));});}else i(a({},r));});}]},e);return __INTERNAL__.selectorFamily__INTERNAL({key:"\u{1F441}\u200D\u{1F5E8} Timeline Update Log",get:n=>({get:i})=>i(o(n))},e)};var L=(e=__INTERNAL__.IMPLICIT.STORE)=>{let o=__INTERNAL__.atom__INTERNAL({key:"\u{1F441}\u200D\u{1F5E8} Timeline Token Index (Internal)",default:()=>[...e.timelines].map(([n])=>({key:n,type:"timeline"})),effects:[({setSelf:n})=>{e.subject.timelineCreation.subscribe("introspection",i=>{n(r=>[...r,i]);});}]},void 0,e);return __INTERNAL__.selector__INTERNAL({key:"\u{1F441}\u200D\u{1F5E8} Timeline Token Index",get:({get:n})=>n(o)},void 0,e)};var A=(e=__INTERNAL__.IMPLICIT.STORE)=>{let o=__INTERNAL__.atom__INTERNAL({key:"\u{1F441}\u200D\u{1F5E8} Transaction Token Index (Internal)",default:()=>[...e.transactions].map(([n])=>({key:n,type:"transaction"})),effects:[({setSelf:n})=>{e.subject.transactionCreation.subscribe("introspection",i=>{n(r=>[...r,i]);});}]},void 0,e);return __INTERNAL__.selector__INTERNAL({key:"\u{1F441}\u200D\u{1F5E8} Transaction Token Index",get:({get:n})=>n(o)},void 0,e)};var b=(e=__INTERNAL__.IMPLICIT.STORE)=>{let o=__INTERNAL__.atomFamily__INTERNAL({key:"\u{1F441}\u200D\u{1F5E8} Transaction Update Log (Internal)",default:()=>[],effects:n=>[({setSelf:i})=>{let r=e.transactions.get(n);r==null||r.subject.subscribe("introspection",c=>{c.key===n&&i(l=>[...l,c]);});}]},e);return __INTERNAL__.selectorFamily__INTERNAL({key:"\u{1F441}\u200D\u{1F5E8} Transaction Update Log",get:n=>({get:i})=>i(o(n))},e)};var ie=(e=__INTERNAL__.IMPLICIT.STORE)=>({atomIndex:x(e),selectorIndex:R(e),transactionIndex:A(e),findTransactionLogState:b(e),timelineIndex:L(e),findTimelineState:N(e)});
|
|
23
5
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
var attachAtomIndex = (store = __INTERNAL__.IMPLICIT.STORE) => {
|
|
27
|
-
const atomTokenIndexState__INTERNAL = __INTERNAL__.atom__INTERNAL(
|
|
28
|
-
{
|
|
29
|
-
key: `\u{1F441}\u200D\u{1F5E8} Atom Token Index (Internal)`,
|
|
30
|
-
default: () => [...store.atoms].filter(([key]) => !key.includes(`\u{1F441}\u200D\u{1F5E8}`)).reduce((acc, [key]) => {
|
|
31
|
-
acc[key] = { key, type: `atom` };
|
|
32
|
-
return acc;
|
|
33
|
-
}, {}),
|
|
34
|
-
effects: [
|
|
35
|
-
({ setSelf }) => {
|
|
36
|
-
store.subject.atomCreation.subscribe((atomToken) => {
|
|
37
|
-
if (store.operation.open) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
if (atomToken.key.includes(`\u{1F441}\u200D\u{1F5E8}`)) {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
setSelf((state) => {
|
|
44
|
-
const { key, family } = atomToken;
|
|
45
|
-
if (family) {
|
|
46
|
-
const { key: familyKey, subKey } = family;
|
|
47
|
-
const current = state[familyKey];
|
|
48
|
-
if (current === void 0 || `familyMembers` in current) {
|
|
49
|
-
const familyKeyState = current || {
|
|
50
|
-
key: familyKey,
|
|
51
|
-
familyMembers: {}
|
|
52
|
-
};
|
|
53
|
-
return __spreadProps(__spreadValues({}, state), {
|
|
54
|
-
[familyKey]: __spreadProps(__spreadValues({}, familyKeyState), {
|
|
55
|
-
familyMembers: __spreadProps(__spreadValues({}, familyKeyState.familyMembers), {
|
|
56
|
-
[subKey]: atomToken
|
|
57
|
-
})
|
|
58
|
-
})
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return __spreadProps(__spreadValues({}, state), {
|
|
63
|
-
[key]: atomToken
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
]
|
|
69
|
-
},
|
|
70
|
-
void 0,
|
|
71
|
-
store
|
|
72
|
-
);
|
|
73
|
-
return __INTERNAL__.selector__INTERNAL(
|
|
74
|
-
{
|
|
75
|
-
key: `\u{1F441}\u200D\u{1F5E8} Atom Token Index`,
|
|
76
|
-
get: ({ get }) => get(atomTokenIndexState__INTERNAL)
|
|
77
|
-
},
|
|
78
|
-
void 0,
|
|
79
|
-
store
|
|
80
|
-
);
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
// ../src/introspection/attach-selector-index.ts
|
|
84
|
-
import { __INTERNAL__ as __INTERNAL__2 } from "atom.io";
|
|
85
|
-
var attachSelectorIndex = (store = __INTERNAL__2.IMPLICIT.STORE) => {
|
|
86
|
-
const readonlySelectorTokenIndexState__INTERNAL = __INTERNAL__2.atom__INTERNAL(
|
|
87
|
-
{
|
|
88
|
-
key: `\u{1F441}\u200D\u{1F5E8} Selector Token Index (Internal)`,
|
|
89
|
-
default: () => Object.assign(
|
|
90
|
-
[...store.readonlySelectors].filter(([key]) => !key.includes(`\u{1F441}\u200D\u{1F5E8}`)).reduce((acc, [key]) => {
|
|
91
|
-
acc[key] = { key, type: `readonly_selector` };
|
|
92
|
-
return acc;
|
|
93
|
-
}, {}),
|
|
94
|
-
[...store.selectors].reduce((acc, [key]) => {
|
|
95
|
-
acc[key] = { key, type: `selector` };
|
|
96
|
-
return acc;
|
|
97
|
-
}, {})
|
|
98
|
-
),
|
|
99
|
-
effects: [
|
|
100
|
-
({ setSelf }) => {
|
|
101
|
-
store.subject.selectorCreation.subscribe((selectorToken) => {
|
|
102
|
-
if (store.operation.open) {
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
if (selectorToken.key.includes(`\u{1F441}\u200D\u{1F5E8}`)) {
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
setSelf((state) => {
|
|
109
|
-
const { key, family } = selectorToken;
|
|
110
|
-
if (family) {
|
|
111
|
-
const { key: familyKey, subKey } = family;
|
|
112
|
-
const current = state[familyKey];
|
|
113
|
-
if (current === void 0 || `familyMembers` in current) {
|
|
114
|
-
const familyKeyState = current || {
|
|
115
|
-
key: familyKey,
|
|
116
|
-
familyMembers: {}
|
|
117
|
-
};
|
|
118
|
-
return __spreadProps(__spreadValues({}, state), {
|
|
119
|
-
[familyKey]: __spreadProps(__spreadValues({}, familyKeyState), {
|
|
120
|
-
familyMembers: __spreadProps(__spreadValues({}, familyKeyState.familyMembers), {
|
|
121
|
-
[subKey]: selectorToken
|
|
122
|
-
})
|
|
123
|
-
})
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
return __spreadProps(__spreadValues({}, state), {
|
|
128
|
-
[key]: selectorToken
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
]
|
|
134
|
-
},
|
|
135
|
-
void 0,
|
|
136
|
-
store
|
|
137
|
-
);
|
|
138
|
-
return __INTERNAL__2.selector__INTERNAL({
|
|
139
|
-
key: `\u{1F441}\u200D\u{1F5E8} Selector Token Index`,
|
|
140
|
-
get: ({ get }) => get(readonlySelectorTokenIndexState__INTERNAL)
|
|
141
|
-
});
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
// ../src/introspection/attach-timeline-family.ts
|
|
145
|
-
import { __INTERNAL__ as __INTERNAL__3 } from "atom.io";
|
|
146
|
-
|
|
147
|
-
// ../src/internal/subject.ts
|
|
148
|
-
var Subject = class {
|
|
149
|
-
constructor() {
|
|
150
|
-
this.subscribers = [];
|
|
151
|
-
}
|
|
152
|
-
subscribe(subscriber) {
|
|
153
|
-
this.subscribers.push(subscriber);
|
|
154
|
-
const unsubscribe = () => this.unsubscribe(subscriber);
|
|
155
|
-
return { unsubscribe };
|
|
156
|
-
}
|
|
157
|
-
unsubscribe(subscriber) {
|
|
158
|
-
const subscriberIndex = this.subscribers.indexOf(subscriber);
|
|
159
|
-
if (subscriberIndex !== -1) {
|
|
160
|
-
this.subscribers.splice(subscriberIndex, 1);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
next(value) {
|
|
164
|
-
for (const subscriber of this.subscribers) {
|
|
165
|
-
subscriber(value);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
};
|
|
169
|
-
|
|
170
|
-
// ../src/introspection/attach-timeline-family.ts
|
|
171
|
-
var attachTimelineFamily = (store = __INTERNAL__3.IMPLICIT.STORE) => {
|
|
172
|
-
const findTimelineLogState__INTERNAL = __INTERNAL__3.atomFamily__INTERNAL(
|
|
173
|
-
{
|
|
174
|
-
key: `\u{1F441}\u200D\u{1F5E8} Timeline Update Log (Internal)`,
|
|
175
|
-
default: (key) => {
|
|
176
|
-
var _a;
|
|
177
|
-
return (_a = store.timelines.get(key)) != null ? _a : {
|
|
178
|
-
key: ``,
|
|
179
|
-
at: 0,
|
|
180
|
-
timeTraveling: false,
|
|
181
|
-
history: [],
|
|
182
|
-
selectorTime: null,
|
|
183
|
-
transactionKey: null,
|
|
184
|
-
install: () => {
|
|
185
|
-
},
|
|
186
|
-
subject: new Subject()
|
|
187
|
-
};
|
|
188
|
-
},
|
|
189
|
-
effects: (key) => [
|
|
190
|
-
({ setSelf }) => {
|
|
191
|
-
const tl = store.timelines.get(key);
|
|
192
|
-
tl == null ? void 0 : tl.subject.subscribe((_) => {
|
|
193
|
-
if (store.operation.open === true) {
|
|
194
|
-
const subscription = store.subject.operationStatus.subscribe(
|
|
195
|
-
(operationStatus) => {
|
|
196
|
-
if (operationStatus.open === false) {
|
|
197
|
-
subscription.unsubscribe();
|
|
198
|
-
setSelf(__spreadValues({}, tl));
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
);
|
|
202
|
-
} else {
|
|
203
|
-
setSelf(__spreadValues({}, tl));
|
|
204
|
-
}
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
]
|
|
208
|
-
},
|
|
209
|
-
store
|
|
210
|
-
);
|
|
211
|
-
const findTimelineLogState = __INTERNAL__3.selectorFamily__INTERNAL(
|
|
212
|
-
{
|
|
213
|
-
key: `\u{1F441}\u200D\u{1F5E8} Timeline Update Log`,
|
|
214
|
-
get: (key) => ({ get }) => get(findTimelineLogState__INTERNAL(key))
|
|
215
|
-
},
|
|
216
|
-
store
|
|
217
|
-
);
|
|
218
|
-
return findTimelineLogState;
|
|
219
|
-
};
|
|
220
|
-
|
|
221
|
-
// ../src/introspection/attach-timeline-index.ts
|
|
222
|
-
import { __INTERNAL__ as __INTERNAL__4 } from "atom.io";
|
|
223
|
-
var attachTimelineIndex = (store = __INTERNAL__4.IMPLICIT.STORE) => {
|
|
224
|
-
const timelineTokenIndexState__INTERNAL = __INTERNAL__4.atom__INTERNAL(
|
|
225
|
-
{
|
|
226
|
-
key: `\u{1F441}\u200D\u{1F5E8} Timeline Token Index (Internal)`,
|
|
227
|
-
default: () => [...store.timelines].map(([key]) => {
|
|
228
|
-
return { key, type: `timeline` };
|
|
229
|
-
}),
|
|
230
|
-
effects: [
|
|
231
|
-
({ setSelf }) => {
|
|
232
|
-
store.subject.timelineCreation.subscribe((timelineToken) => {
|
|
233
|
-
setSelf((state) => [...state, timelineToken]);
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
]
|
|
237
|
-
},
|
|
238
|
-
void 0,
|
|
239
|
-
store
|
|
240
|
-
);
|
|
241
|
-
const timelineTokenIndex = __INTERNAL__4.selector__INTERNAL(
|
|
242
|
-
{
|
|
243
|
-
key: `\u{1F441}\u200D\u{1F5E8} Timeline Token Index`,
|
|
244
|
-
get: ({ get }) => get(timelineTokenIndexState__INTERNAL)
|
|
245
|
-
},
|
|
246
|
-
void 0,
|
|
247
|
-
store
|
|
248
|
-
);
|
|
249
|
-
return timelineTokenIndex;
|
|
250
|
-
};
|
|
251
|
-
|
|
252
|
-
// ../src/introspection/attach-transaction-index.ts
|
|
253
|
-
import { __INTERNAL__ as __INTERNAL__5 } from "atom.io";
|
|
254
|
-
var attachTransactionIndex = (store = __INTERNAL__5.IMPLICIT.STORE) => {
|
|
255
|
-
const transactionTokenIndexState__INTERNAL = __INTERNAL__5.atom__INTERNAL(
|
|
256
|
-
{
|
|
257
|
-
key: `\u{1F441}\u200D\u{1F5E8} Transaction Token Index (Internal)`,
|
|
258
|
-
default: () => [...store.transactions].map(([key]) => {
|
|
259
|
-
return { key, type: `transaction` };
|
|
260
|
-
}),
|
|
261
|
-
effects: [
|
|
262
|
-
({ setSelf }) => {
|
|
263
|
-
store.subject.transactionCreation.subscribe((transactionToken) => {
|
|
264
|
-
setSelf((state) => [...state, transactionToken]);
|
|
265
|
-
});
|
|
266
|
-
}
|
|
267
|
-
]
|
|
268
|
-
},
|
|
269
|
-
void 0,
|
|
270
|
-
store
|
|
271
|
-
);
|
|
272
|
-
const transactionTokenIndex = __INTERNAL__5.selector__INTERNAL(
|
|
273
|
-
{
|
|
274
|
-
key: `\u{1F441}\u200D\u{1F5E8} Transaction Token Index`,
|
|
275
|
-
get: ({ get }) => get(transactionTokenIndexState__INTERNAL)
|
|
276
|
-
},
|
|
277
|
-
void 0,
|
|
278
|
-
store
|
|
279
|
-
);
|
|
280
|
-
return transactionTokenIndex;
|
|
281
|
-
};
|
|
282
|
-
|
|
283
|
-
// ../src/introspection/attach-transaction-logs.ts
|
|
284
|
-
import { __INTERNAL__ as __INTERNAL__6 } from "atom.io";
|
|
285
|
-
var attachTransactionLogs = (store = __INTERNAL__6.IMPLICIT.STORE) => {
|
|
286
|
-
const findTransactionUpdateLog = __INTERNAL__6.atomFamily__INTERNAL(
|
|
287
|
-
{
|
|
288
|
-
key: `\u{1F441}\u200D\u{1F5E8} Transaction Update Log (Internal)`,
|
|
289
|
-
default: () => [],
|
|
290
|
-
effects: (key) => [
|
|
291
|
-
({ setSelf }) => {
|
|
292
|
-
const tx = store.transactions.get(key);
|
|
293
|
-
tx == null ? void 0 : tx.subject.subscribe((transactionUpdate) => {
|
|
294
|
-
if (transactionUpdate.key === key) {
|
|
295
|
-
setSelf((state) => [...state, transactionUpdate]);
|
|
296
|
-
}
|
|
297
|
-
});
|
|
298
|
-
}
|
|
299
|
-
]
|
|
300
|
-
},
|
|
301
|
-
store
|
|
302
|
-
);
|
|
303
|
-
const findTransactionUpdateLogState = __INTERNAL__6.selectorFamily__INTERNAL(
|
|
304
|
-
{
|
|
305
|
-
key: `\u{1F441}\u200D\u{1F5E8} Transaction Update Log`,
|
|
306
|
-
get: (key) => ({ get }) => get(findTransactionUpdateLog(key))
|
|
307
|
-
},
|
|
308
|
-
store
|
|
309
|
-
);
|
|
310
|
-
return findTransactionUpdateLogState;
|
|
311
|
-
};
|
|
312
|
-
|
|
313
|
-
// ../src/introspection/attach-introspection-states.ts
|
|
314
|
-
var attachIntrospectionStates = (store = __INTERNAL__7.IMPLICIT.STORE) => {
|
|
315
|
-
return {
|
|
316
|
-
atomIndex: attachAtomIndex(store),
|
|
317
|
-
selectorIndex: attachSelectorIndex(store),
|
|
318
|
-
transactionIndex: attachTransactionIndex(store),
|
|
319
|
-
findTransactionLogState: attachTransactionLogs(store),
|
|
320
|
-
timelineIndex: attachTimelineIndex(store),
|
|
321
|
-
findTimelineState: attachTimelineFamily(store)
|
|
322
|
-
};
|
|
323
|
-
};
|
|
324
|
-
export {
|
|
325
|
-
attachIntrospectionStates
|
|
326
|
-
};
|
|
6
|
+
export { ie as attachIntrospectionStates };
|
|
7
|
+
//# sourceMappingURL=out.js.map
|
|
327
8
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/introspection/attach-introspection-states.ts","../../src/introspection/attach-atom-index.ts","../../src/introspection/attach-selector-index.ts","../../src/introspection/attach-timeline-family.ts","../../src/internal/subject.ts","../../src/introspection/attach-timeline-index.ts","../../src/introspection/attach-transaction-index.ts","../../src/introspection/attach-transaction-logs.ts"],"sourcesContent":["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: false,\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":["__INTERNAL__","__INTERNAL__","__INTERNAL__","__INTERNAL__","__INTERNAL__","__INTERNAL__","__INTERNAL__","__INTERNAL__","__INTERNAL__"]}
|
|
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":["__INTERNAL__","attachAtomIndex","store","atomTokenIndexState__INTERNAL","key","acc","setSelf","atomToken","state","family","familyKey","subKey","current","familyKeyState","__spreadProps","__spreadValues","get","attachSelectorIndex","readonlySelectorTokenIndexState__INTERNAL","selectorToken","Subject","attachTimelineFamily","findTimelineLogState__INTERNAL","_a","tl","_","unsubscribe","operationStatus","attachTimelineIndex","timelineTokenIndexState__INTERNAL","timelineToken","attachTransactionIndex","transactionTokenIndexState__INTERNAL","transactionToken","attachTransactionLogs","findTransactionUpdateLog","tx","transactionUpdate","attachIntrospectionStates"],"mappings":"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","sourcesContent":["import { __INTERNAL__ } from \"atom.io\"\nimport type {\n\tReadonlySelectorFamily,\n\tReadonlySelectorToken,\n\tTimelineToken,\n\tTransactionToken,\n\tTransactionUpdate,\n\tƒn,\n} from \"atom.io\"\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 { __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(\n\t\t\t\t\t\t\t`introspection`,\n\t\t\t\t\t\t\t(atomToken) => {\n\t\t\t\t\t\t\t\tif (store.operation.open) {\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\tif (atomToken.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\tsetSelf((state) => {\n\t\t\t\t\t\t\t\t\tconst { key, family } = atomToken\n\t\t\t\t\t\t\t\t\tif (family) {\n\t\t\t\t\t\t\t\t\t\tconst { key: familyKey, subKey } = family\n\t\t\t\t\t\t\t\t\t\tconst current = state[familyKey]\n\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\tconst familyKeyState = current || {\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: {},\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn {\n\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[familyKey]: {\n\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\tfamilyMembers: {\n\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[subKey]: atomToken,\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}\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t\t[key]: atomToken,\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)\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(\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 (store.operation.open) {\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\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\tsetSelf((state) => {\n\t\t\t\t\t\t\t\t\tconst { key, family } = selectorToken\n\t\t\t\t\t\t\t\t\tif (family) {\n\t\t\t\t\t\t\t\t\t\tconst { key: familyKey, subKey } = family\n\t\t\t\t\t\t\t\t\t\tconst current = state[familyKey]\n\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\tconst familyKeyState = current || {\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: {},\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn {\n\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[familyKey]: {\n\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\tfamilyMembers: {\n\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[subKey]: selectorToken,\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}\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t\t[key]: selectorToken,\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)\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__ } from \"atom.io\"\nimport type { Timeline } from \"atom.io/internal\"\nimport { Subject } from \"atom.io/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\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 = __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","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(\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 = __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, ƒn } from \"atom.io\"\nimport { __INTERNAL__ } from \"atom.io\"\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(\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 = __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, ƒn } from \"atom.io\"\nimport { __INTERNAL__ } from \"atom.io\"\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(`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 = __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"]}
|
package/json/dist/index.d.mts
CHANGED
|
@@ -1,18 +1,47 @@
|
|
|
1
1
|
import * as AtomIO from 'atom.io';
|
|
2
2
|
|
|
3
|
-
type JsonInterface<T, J extends
|
|
3
|
+
type JsonInterface<T, J extends Serializable = Serializable> = {
|
|
4
4
|
toJson: (t: T) => J;
|
|
5
5
|
fromJson: (json: J) => T;
|
|
6
6
|
};
|
|
7
|
+
declare const stringSetJsonInterface: JsonInterface<Set<string>, Array<string>>;
|
|
7
8
|
|
|
8
|
-
type
|
|
9
|
-
|
|
9
|
+
type primitive = boolean | number | string | null;
|
|
10
|
+
|
|
11
|
+
type Serializable = primitive | Readonly<{
|
|
10
12
|
[key: string]: Serializable;
|
|
11
13
|
}> | ReadonlyArray<Serializable>;
|
|
12
|
-
type
|
|
13
|
-
type
|
|
14
|
-
|
|
14
|
+
type Object$1<Key extends string = string, Value extends Serializable = Serializable> = Record<Key, Value>;
|
|
15
|
+
type Array<Element extends Serializable = Serializable> = ReadonlyArray<Element>;
|
|
16
|
+
|
|
17
|
+
type json_Array<Element extends Serializable = Serializable> = Array<Element>;
|
|
18
|
+
type json_Serializable = Serializable;
|
|
19
|
+
declare namespace json {
|
|
20
|
+
export {
|
|
21
|
+
json_Array as Array,
|
|
22
|
+
Object$1 as Object,
|
|
23
|
+
json_Serializable as Serializable,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
declare const parseJson: <S extends Stringified<Serializable>>(str: string | S) => S extends Stringified<infer J extends Serializable> ? J : Serializable;
|
|
28
|
+
type Stringified<J extends Serializable> = string & {
|
|
29
|
+
__json: J;
|
|
30
|
+
};
|
|
31
|
+
declare const stringifyJson: <J extends Serializable>(json: J) => Stringified<J>;
|
|
32
|
+
type Empty = Record<string, never>;
|
|
33
|
+
declare const JSON_TYPE_NAMES: readonly ["array", "boolean", "null", "number", "object", "string"];
|
|
34
|
+
type JsonTypeName = typeof JSON_TYPE_NAMES[number];
|
|
35
|
+
interface JsonTypes extends Record<JsonTypeName, Serializable> {
|
|
36
|
+
array: Array;
|
|
37
|
+
boolean: boolean;
|
|
38
|
+
null: null;
|
|
39
|
+
number: number;
|
|
40
|
+
object: Object$1;
|
|
41
|
+
string: string;
|
|
42
|
+
}
|
|
43
|
+
declare const JSON_DEFAULTS: JsonTypes;
|
|
15
44
|
|
|
16
|
-
declare const selectJson: <T, J extends Json>(atom: AtomIO.AtomToken<T>, transform: JsonInterface<T, J>, store?: AtomIO.Store) => AtomIO.SelectorToken<J>;
|
|
45
|
+
declare const selectJson: <T, J extends AtomIO.Json.Serializable>(atom: AtomIO.AtomToken<T>, transform: JsonInterface<T, J>, store?: AtomIO.Store) => AtomIO.SelectorToken<J>;
|
|
17
46
|
|
|
18
|
-
export { selectJson };
|
|
47
|
+
export { Empty, JSON_DEFAULTS, JSON_TYPE_NAMES, json as Json, JsonInterface, JsonTypeName, JsonTypes, Stringified, parseJson, selectJson, stringSetJsonInterface, stringifyJson };
|
package/json/dist/index.d.ts
CHANGED
|
@@ -1,18 +1,47 @@
|
|
|
1
1
|
import * as AtomIO from 'atom.io';
|
|
2
2
|
|
|
3
|
-
type JsonInterface<T, J extends
|
|
3
|
+
type JsonInterface<T, J extends Serializable = Serializable> = {
|
|
4
4
|
toJson: (t: T) => J;
|
|
5
5
|
fromJson: (json: J) => T;
|
|
6
6
|
};
|
|
7
|
+
declare const stringSetJsonInterface: JsonInterface<Set<string>, Array<string>>;
|
|
7
8
|
|
|
8
|
-
type
|
|
9
|
-
|
|
9
|
+
type primitive = boolean | number | string | null;
|
|
10
|
+
|
|
11
|
+
type Serializable = primitive | Readonly<{
|
|
10
12
|
[key: string]: Serializable;
|
|
11
13
|
}> | ReadonlyArray<Serializable>;
|
|
12
|
-
type
|
|
13
|
-
type
|
|
14
|
-
|
|
14
|
+
type Object$1<Key extends string = string, Value extends Serializable = Serializable> = Record<Key, Value>;
|
|
15
|
+
type Array<Element extends Serializable = Serializable> = ReadonlyArray<Element>;
|
|
16
|
+
|
|
17
|
+
type json_Array<Element extends Serializable = Serializable> = Array<Element>;
|
|
18
|
+
type json_Serializable = Serializable;
|
|
19
|
+
declare namespace json {
|
|
20
|
+
export {
|
|
21
|
+
json_Array as Array,
|
|
22
|
+
Object$1 as Object,
|
|
23
|
+
json_Serializable as Serializable,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
declare const parseJson: <S extends Stringified<Serializable>>(str: string | S) => S extends Stringified<infer J extends Serializable> ? J : Serializable;
|
|
28
|
+
type Stringified<J extends Serializable> = string & {
|
|
29
|
+
__json: J;
|
|
30
|
+
};
|
|
31
|
+
declare const stringifyJson: <J extends Serializable>(json: J) => Stringified<J>;
|
|
32
|
+
type Empty = Record<string, never>;
|
|
33
|
+
declare const JSON_TYPE_NAMES: readonly ["array", "boolean", "null", "number", "object", "string"];
|
|
34
|
+
type JsonTypeName = typeof JSON_TYPE_NAMES[number];
|
|
35
|
+
interface JsonTypes extends Record<JsonTypeName, Serializable> {
|
|
36
|
+
array: Array;
|
|
37
|
+
boolean: boolean;
|
|
38
|
+
null: null;
|
|
39
|
+
number: number;
|
|
40
|
+
object: Object$1;
|
|
41
|
+
string: string;
|
|
42
|
+
}
|
|
43
|
+
declare const JSON_DEFAULTS: JsonTypes;
|
|
15
44
|
|
|
16
|
-
declare const selectJson: <T, J extends Json>(atom: AtomIO.AtomToken<T>, transform: JsonInterface<T, J>, store?: AtomIO.Store) => AtomIO.SelectorToken<J>;
|
|
45
|
+
declare const selectJson: <T, J extends AtomIO.Json.Serializable>(atom: AtomIO.AtomToken<T>, transform: JsonInterface<T, J>, store?: AtomIO.Store) => AtomIO.SelectorToken<J>;
|
|
17
46
|
|
|
18
|
-
export { selectJson };
|
|
47
|
+
export { Empty, JSON_DEFAULTS, JSON_TYPE_NAMES, json as Json, JsonInterface, JsonTypeName, JsonTypes, Stringified, parseJson, selectJson, stringSetJsonInterface, stringifyJson };
|
package/json/dist/index.js
CHANGED
|
@@ -1,51 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
'use strict';
|
|
28
2
|
|
|
29
|
-
|
|
30
|
-
var json_exports = {};
|
|
31
|
-
__export(json_exports, {
|
|
32
|
-
selectJson: () => selectJson
|
|
33
|
-
});
|
|
34
|
-
module.exports = __toCommonJS(json_exports);
|
|
3
|
+
var n = require('atom.io');
|
|
35
4
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
var
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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 n__namespace = /*#__PURE__*/_interopNamespace(n);
|
|
24
|
+
|
|
25
|
+
var J={toJson:e=>Array.from(e),fromJson:e=>new Set(e)};var a=e=>JSON.parse(e),l=e=>JSON.stringify(e),p=["array","boolean","null","number","object","string"],S={array:[],boolean:!1,null:null,number:0,object:{},string:""};var y=(e,t,r=n__namespace.__INTERNAL__.IMPLICIT.STORE)=>n__namespace.__INTERNAL__.selector__INTERNAL({key:`${e.key}JSON`,get:({get:o})=>t.toJson(o(e)),set:({set:o},s)=>o(e,t.fromJson(s))},void 0,r);
|
|
26
|
+
|
|
27
|
+
exports.JSON_DEFAULTS = S;
|
|
28
|
+
exports.JSON_TYPE_NAMES = p;
|
|
29
|
+
exports.parseJson = a;
|
|
30
|
+
exports.selectJson = y;
|
|
31
|
+
exports.stringSetJsonInterface = J;
|
|
32
|
+
exports.stringifyJson = l;
|
|
33
|
+
//# sourceMappingURL=out.js.map
|
|
51
34
|
//# sourceMappingURL=index.js.map
|
package/json/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../anvl/src/json/json-interface.ts","../../../anvl/src/json/index.ts","../src/select-json.ts"],"names":["stringSetJsonInterface","stringSet","json","parseJson","str","stringifyJson","JSON_TYPE_NAMES","JSON_DEFAULTS","AtomIO","selectJson","atom","transform","store","get","set","newValue"],"mappings":"AAOO,IAAMA,EAGT,CACH,OAASC,GAAc,MAAM,KAAKA,CAAS,EAC3C,SAAWC,GAAS,IAAI,IAAIA,CAAI,CACjC,ECTO,IAAMC,EACZC,GAC4D,KAAK,MAAMA,CAAG,EAI9DC,EACZH,GACoB,KAAK,UAAUA,CAAI,EAI3BI,EAAkB,CAC9B,QACA,UACA,OACA,SACA,SACA,QACD,EAaaC,EAA2B,CACvC,MAAO,CAAC,EACR,QAAS,GACT,KAAM,KACN,OAAQ,EACR,OAAQ,CAAC,EACT,OAAQ,EACT,EC3CA,UAAYC,MAAY,UAIjB,IAAMC,EAAa,CACzBC,EACAC,EACAC,EAA6B,eAAa,SAAS,QAE5C,eAAa,mBACnB,CACC,IAAK,GAAGF,EAAK,GAAG,OAChB,IAAK,CAAC,CAAE,IAAAG,CAAI,IAAMF,EAAU,OAAOE,EAAIH,CAAI,CAAC,EAC5C,IAAK,CAAC,CAAE,IAAAI,CAAI,EAAGC,IAAaD,EAAIJ,EAAMC,EAAU,SAASI,CAAQ,CAAC,CACnE,EACA,OACAH,CACD","sourcesContent":["import type { Json } from \".\"\n\nexport type JsonInterface<T, J extends Json.Serializable = Json.Serializable> = {\n\ttoJson: (t: T) => J\n\tfromJson: (json: J) => T\n}\n\nexport const stringSetJsonInterface: JsonInterface<\n\tSet<string>,\n\tJson.Array<string>\n> = {\n\ttoJson: (stringSet) => Array.from(stringSet),\n\tfromJson: (json) => new Set(json),\n}\n","export * from \"./json-interface\"\nimport type * as Json from \"./json\"\nexport { Json }\n\nexport const parseJson = <S extends Stringified<Json.Serializable>>(\n\tstr: S | string,\n): S extends Stringified<infer J> ? J : Json.Serializable => JSON.parse(str)\n\nexport type Stringified<J extends Json.Serializable> = string & { __json: J }\n\nexport const stringifyJson = <J extends Json.Serializable>(\n\tjson: J,\n): Stringified<J> => JSON.stringify(json) as Stringified<J>\n\nexport type Empty = Record<string, never>\n\nexport const JSON_TYPE_NAMES = [\n\t`array`,\n\t`boolean`,\n\t`null`,\n\t`number`,\n\t`object`,\n\t`string`,\n] as const\n\nexport type JsonTypeName = typeof JSON_TYPE_NAMES[number]\n\nexport interface JsonTypes extends Record<JsonTypeName, Json.Serializable> {\n\tarray: Json.Array\n\tboolean: boolean\n\tnull: null\n\tnumber: number\n\tobject: Json.Object\n\tstring: string\n}\n\nexport const JSON_DEFAULTS: JsonTypes = {\n\tarray: [],\n\tboolean: false,\n\tnull: null,\n\tnumber: 0,\n\tobject: {},\n\tstring: ``,\n}\n","import * as AtomIO from \"atom.io\"\n\nimport type { Json, JsonInterface } from \".\"\n\nexport const selectJson = <T, J extends Json.Serializable>(\n\tatom: AtomIO.AtomToken<T>,\n\ttransform: JsonInterface<T, J>,\n\tstore: AtomIO.Store = AtomIO.__INTERNAL__.IMPLICIT.STORE,\n): AtomIO.SelectorToken<J> =>\n\tAtomIO.__INTERNAL__.selector__INTERNAL(\n\t\t{\n\t\t\tkey: `${atom.key}JSON`,\n\t\t\tget: ({ get }) => transform.toJson(get(atom)),\n\t\t\tset: ({ set }, newValue) => set(atom, transform.fromJson(newValue)),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n"]}
|