atom.io 0.6.5 → 0.6.7
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 +32 -78
- package/dist/index.d.mts +11 -43
- package/dist/index.d.ts +11 -43
- package/dist/index.js +111 -291
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +108 -278
- package/dist/index.mjs.map +1 -1
- package/introspection/dist/index.d.mts +273 -0
- package/introspection/dist/index.d.ts +273 -0
- package/introspection/dist/index.js +350 -0
- package/introspection/dist/index.js.map +1 -0
- package/introspection/dist/index.mjs +327 -0
- package/introspection/dist/index.mjs.map +1 -0
- package/introspection/package.json +15 -0
- package/package.json +22 -12
- package/react-devtools/dist/index.css +22 -5
- package/react-devtools/dist/index.css.map +1 -1
- package/react-devtools/dist/index.d.mts +347 -10
- package/react-devtools/dist/index.d.ts +347 -10
- package/react-devtools/dist/index.js +2743 -696
- package/react-devtools/dist/index.js.map +1 -1
- package/react-devtools/dist/index.mjs +2739 -701
- package/react-devtools/dist/index.mjs.map +1 -1
- package/src/internal/atom-internal.ts +5 -6
- package/src/internal/get.ts +7 -9
- package/src/internal/index.ts +0 -1
- package/src/internal/operation.ts +15 -21
- package/src/internal/selector/create-read-write-selector.ts +8 -4
- package/src/internal/selector/create-readonly-selector.ts +1 -7
- package/src/internal/selector-internal.ts +1 -3
- package/src/internal/set.ts +1 -4
- package/src/internal/store.ts +22 -24
- package/src/internal/subscribe-internal.ts +7 -1
- package/src/internal/time-travel-internal.ts +2 -0
- package/src/internal/timeline/add-atom-to-timeline.ts +11 -12
- package/src/internal/timeline-internal.ts +6 -4
- package/src/internal/transaction/apply-transaction.ts +9 -6
- package/src/internal/transaction/build-transaction.ts +6 -6
- package/src/internal/transaction-internal.ts +1 -7
- package/src/introspection/attach-atom-index.ts +73 -0
- package/src/introspection/attach-introspection-states.ts +42 -0
- package/src/introspection/attach-selector-index.ts +77 -0
- package/src/introspection/attach-timeline-family.ts +59 -0
- package/src/introspection/attach-timeline-index.ts +36 -0
- package/src/introspection/attach-transaction-index.ts +38 -0
- package/src/introspection/attach-transaction-logs.ts +40 -0
- package/src/introspection/index.ts +20 -0
- package/src/react-devtools/AtomIODevtools.tsx +97 -97
- package/src/react-devtools/Button.tsx +24 -0
- package/src/react-devtools/StateEditor.tsx +14 -16
- package/src/react-devtools/StateIndex.tsx +153 -0
- package/src/react-devtools/TimelineIndex.tsx +92 -0
- package/src/react-devtools/TransactionIndex.tsx +70 -0
- package/src/react-devtools/Updates.tsx +145 -0
- package/src/react-devtools/devtools.scss +196 -15
- package/src/react-devtools/index.ts +71 -0
- package/src/react-explorer/AtomIOExplorer.tsx +3 -4
- package/src/react-explorer/explorer-states.ts +1 -1
- package/src/react-explorer/space-states.ts +3 -1
- package/src/react-explorer/view-states.ts +0 -2
- package/realtime-testing/dist/index.d.mts +0 -49
- package/realtime-testing/dist/index.d.ts +0 -49
- package/realtime-testing/dist/index.js +0 -165
- package/realtime-testing/dist/index.js.map +0 -1
- package/realtime-testing/dist/index.mjs +0 -129
- package/realtime-testing/dist/index.mjs.map +0 -1
- package/src/internal/meta/attach-meta.ts +0 -17
- package/src/internal/meta/index.ts +0 -4
- package/src/internal/meta/meta-state.ts +0 -135
- package/src/internal/meta/meta-timelines.ts +0 -1
- package/src/internal/meta/meta-transactions.ts +0 -1
- package/src/react-devtools/TokenList.tsx +0 -61
|
@@ -19,28 +19,18 @@ var __spreadValues = (a2, b2) => {
|
|
|
19
19
|
var __spreadProps = (a2, b2) => __defProps(a2, __getOwnPropDescs(b2));
|
|
20
20
|
var __restKey = (key) => typeof key === "symbol" ? key : key + "";
|
|
21
21
|
var __objRest = (source, exclude) => {
|
|
22
|
-
var
|
|
22
|
+
var target2 = {};
|
|
23
23
|
for (var prop in source)
|
|
24
24
|
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
25
|
-
|
|
25
|
+
target2[prop] = source[prop];
|
|
26
26
|
if (source != null && __getOwnPropSymbols)
|
|
27
27
|
for (var prop of __getOwnPropSymbols(source)) {
|
|
28
28
|
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
29
|
-
|
|
29
|
+
target2[prop] = source[prop];
|
|
30
30
|
}
|
|
31
|
-
return
|
|
31
|
+
return target2;
|
|
32
32
|
};
|
|
33
33
|
|
|
34
|
-
// ../src/react-devtools/AtomIODevtools.tsx
|
|
35
|
-
import { atom, __INTERNAL__ } from "atom.io";
|
|
36
|
-
import { useI, useO, useIO } from "atom.io/react";
|
|
37
|
-
import { LayoutGroup, motion, spring } from "framer-motion";
|
|
38
|
-
import { useRef as useRef4 } from "react";
|
|
39
|
-
|
|
40
|
-
// ../src/react-devtools/TokenList.tsx
|
|
41
|
-
import { getState } from "atom.io";
|
|
42
|
-
import { Fragment as Fragment3 } from "react";
|
|
43
|
-
|
|
44
34
|
// ../../anvl/src/object/index.ts
|
|
45
35
|
import { pipe as pipe3 } from "fp-ts/function";
|
|
46
36
|
|
|
@@ -59,11 +49,24 @@ var entriesToRecord = (entries) => Object.fromEntries(entries);
|
|
|
59
49
|
// ../../anvl/src/object/mapObject.ts
|
|
60
50
|
import { pipe } from "fp-ts/function";
|
|
61
51
|
|
|
52
|
+
// ../../anvl/src/array/venn.ts
|
|
53
|
+
var includesAll = (items) => (array) => {
|
|
54
|
+
for (const item of items) {
|
|
55
|
+
if (!array.includes(item))
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
return true;
|
|
59
|
+
};
|
|
60
|
+
var comprises = (items) => (array) => includesAll(items)(array) && includesAll(array)(items);
|
|
61
|
+
|
|
62
62
|
// ../../anvl/src/array/index.ts
|
|
63
63
|
var isArray = (isType) => (input) => Array.isArray(input) && input.every((item) => isType(item));
|
|
64
64
|
var map = (f) => (a2) => a2.map(f);
|
|
65
65
|
var every = (f = Boolean) => (a2) => a2.every(f);
|
|
66
66
|
var allTrue = every((x) => x === true);
|
|
67
|
+
var addTo = (a2) => (x) => a2.includes(x) ? a2 : [...a2, x];
|
|
68
|
+
var isEmptyArray = (input) => Array.isArray(input) && input.length === 0;
|
|
69
|
+
var isOneOf = (...args) => (input) => args.includes(input);
|
|
67
70
|
|
|
68
71
|
// ../../anvl/src/object/mapObject.ts
|
|
69
72
|
var mapObject = (obj, fn) => pipe(
|
|
@@ -83,12 +86,11 @@ var pass = (...params) => (fn) => fn(...params);
|
|
|
83
86
|
var raiseError = (message) => {
|
|
84
87
|
throw new Error(message);
|
|
85
88
|
};
|
|
86
|
-
var
|
|
89
|
+
var fallback = (fn, fallbackValue) => {
|
|
87
90
|
try {
|
|
88
|
-
fn();
|
|
89
|
-
return true;
|
|
91
|
+
return fn();
|
|
90
92
|
} catch (_) {
|
|
91
|
-
return
|
|
93
|
+
return fallbackValue;
|
|
92
94
|
}
|
|
93
95
|
};
|
|
94
96
|
|
|
@@ -100,6 +102,7 @@ var ifNullish = (alt) => (input) => input != null ? input : alt;
|
|
|
100
102
|
// ../../anvl/src/object/refinement.ts
|
|
101
103
|
var isNonNullObject = (input) => typeof input === `object` && input !== null;
|
|
102
104
|
var isPlainObject = (input) => isNonNullObject(input) && Object.getPrototypeOf(input) === Object.prototype;
|
|
105
|
+
var isEmptyObject = (input) => isPlainObject(input) && Object.keys(input).length === 0;
|
|
103
106
|
var isRecord = (isKey, isValue) => (input) => isPlainObject(input) && Object.entries(input).every(([k, v]) => isKey(k) && isValue(v));
|
|
104
107
|
var hasProperties = (isValue, options = { allowExtraProperties: false }) => {
|
|
105
108
|
const name = `{${recordToEntries(
|
|
@@ -130,192 +133,1573 @@ var doesExtend = (
|
|
|
130
133
|
/* alias for hasExactProperties with allowExtraProperties */
|
|
131
134
|
(isValue) => hasProperties(isValue, { allowExtraProperties: true })
|
|
132
135
|
);
|
|
136
|
+
var hasExactProperties = (
|
|
137
|
+
/* alias for hasProperties without allowExtraProperties */
|
|
138
|
+
(isValue) => hasProperties(isValue, { allowExtraProperties: false })
|
|
139
|
+
);
|
|
140
|
+
|
|
141
|
+
// ../../anvl/src/object/sprawl.ts
|
|
142
|
+
var sprawl = (tree, inspector) => {
|
|
143
|
+
const walk = (path, node) => {
|
|
144
|
+
const inspect = (path2, node2) => {
|
|
145
|
+
const result2 = inspector(path2, node2);
|
|
146
|
+
if (result2)
|
|
147
|
+
return result2;
|
|
148
|
+
return null;
|
|
149
|
+
};
|
|
150
|
+
const result = inspect(path, node);
|
|
151
|
+
if ((result == null ? void 0 : result.jobComplete) || (result == null ? void 0 : result.pathComplete)) {
|
|
152
|
+
return result;
|
|
153
|
+
}
|
|
154
|
+
const childEntries = Array.isArray(node) ? node.map((v, i) => [i, v]) : isPlainObject(node) ? Object.entries(node) : [];
|
|
155
|
+
for (const [k, v] of childEntries) {
|
|
156
|
+
const subResult = walk([...path, k], v);
|
|
157
|
+
if (subResult == null ? void 0 : subResult.jobComplete) {
|
|
158
|
+
return subResult;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return {};
|
|
162
|
+
};
|
|
163
|
+
walk([], tree);
|
|
164
|
+
};
|
|
133
165
|
|
|
134
166
|
// ../../anvl/src/object/index.ts
|
|
167
|
+
var treeShake = (shouldDiscard = isUndefined) => (obj) => {
|
|
168
|
+
const newObj = {};
|
|
169
|
+
const entries = Object.entries(obj);
|
|
170
|
+
entries.forEach(
|
|
171
|
+
([key, val]) => !shouldDiscard(val, key) ? newObj[key] = val : null
|
|
172
|
+
);
|
|
173
|
+
return newObj;
|
|
174
|
+
};
|
|
135
175
|
var delve = (obj, path) => {
|
|
136
176
|
const found = path.reduce((acc, key) => acc == null ? void 0 : acc[key], obj);
|
|
137
177
|
return found === void 0 ? new Error(`Not found`) : { found };
|
|
138
178
|
};
|
|
139
179
|
|
|
140
|
-
// ../../anvl/src/
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
180
|
+
// ../../anvl/src/refinement/refinery.ts
|
|
181
|
+
var Refinery = class {
|
|
182
|
+
constructor(supported) {
|
|
183
|
+
this.supported = supported;
|
|
184
|
+
}
|
|
185
|
+
refine(input) {
|
|
186
|
+
for (const [key, refiner] of Object.entries(this.supported)) {
|
|
187
|
+
try {
|
|
188
|
+
if (
|
|
189
|
+
// @ts-expect-error that's the point
|
|
190
|
+
refiner(input) === true && refiner !== Boolean
|
|
191
|
+
) {
|
|
192
|
+
return { type: key, data: input };
|
|
193
|
+
}
|
|
194
|
+
} catch (e) {
|
|
195
|
+
try {
|
|
196
|
+
if (input instanceof refiner) {
|
|
197
|
+
return { type: key, data: input };
|
|
198
|
+
}
|
|
199
|
+
} catch (e2) {
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return null;
|
|
156
204
|
}
|
|
157
205
|
};
|
|
158
|
-
var
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
object: {},
|
|
176
|
-
string: ``
|
|
206
|
+
var jsonRefinery = new Refinery({
|
|
207
|
+
number: (input) => typeof input === `number`,
|
|
208
|
+
string: (input) => typeof input === `string`,
|
|
209
|
+
boolean: (input) => typeof input === `boolean`,
|
|
210
|
+
object: isPlainObject,
|
|
211
|
+
array: (input) => Array.isArray(input),
|
|
212
|
+
null: (input) => input === null
|
|
213
|
+
});
|
|
214
|
+
var discoverType = (input) => {
|
|
215
|
+
if (input === void 0) {
|
|
216
|
+
return `undefined`;
|
|
217
|
+
}
|
|
218
|
+
const refined = jsonRefinery.refine(input);
|
|
219
|
+
if (refined) {
|
|
220
|
+
return refined.type;
|
|
221
|
+
}
|
|
222
|
+
return Object.getPrototypeOf(input).constructor.name;
|
|
177
223
|
};
|
|
178
224
|
|
|
179
|
-
// ../../
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
225
|
+
// ../../anvl/src/tree/differ.ts
|
|
226
|
+
function diffNumber(a2, b2) {
|
|
227
|
+
const sign = a2 < b2 ? `+` : `-`;
|
|
228
|
+
return {
|
|
229
|
+
summary: `${sign}${Math.abs(a2 - b2)} (${a2} \u2192 ${b2})`
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
function diffString(a2, b2) {
|
|
233
|
+
const sign = a2.length < b2.length ? `+` : `-`;
|
|
234
|
+
return {
|
|
235
|
+
summary: `${sign}${Math.abs(a2.length - b2.length)} ("${a2}" \u2192 "${b2}")`
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
function diffBoolean(a2, b2) {
|
|
239
|
+
return {
|
|
240
|
+
summary: `${a2} \u2192 ${b2}`
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
function diffObject(a2, b2, recurse) {
|
|
244
|
+
let summary = ``;
|
|
245
|
+
const added = [];
|
|
246
|
+
const removed = [];
|
|
247
|
+
const changed = [];
|
|
248
|
+
sprawl(a2, (path, nodeA) => {
|
|
249
|
+
let key;
|
|
250
|
+
for (key of path) {
|
|
251
|
+
const nodeB = b2[key];
|
|
252
|
+
if (nodeB === void 0) {
|
|
253
|
+
removed.push([key, JSON.stringify(nodeA)]);
|
|
254
|
+
} else {
|
|
255
|
+
const delta = recurse(nodeA, nodeB);
|
|
256
|
+
if (delta.summary !== `No Change`) {
|
|
257
|
+
changed.push([key, delta]);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
197
260
|
}
|
|
198
|
-
})
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
261
|
+
});
|
|
262
|
+
sprawl(b2, (path, nodeB) => {
|
|
263
|
+
let key;
|
|
264
|
+
for (key of path) {
|
|
265
|
+
const nodeA = a2[key];
|
|
266
|
+
if (nodeA === void 0) {
|
|
267
|
+
added.push([key, JSON.stringify(nodeB)]);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
summary = `\uFF5E${changed.length} \uFF0B${added.length} \uFF0D${removed.length}`;
|
|
272
|
+
return {
|
|
273
|
+
summary,
|
|
274
|
+
added,
|
|
275
|
+
removed,
|
|
276
|
+
changed
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
function diffArray(a2, b2, recurse) {
|
|
280
|
+
return diffObject(a2, b2, recurse);
|
|
281
|
+
}
|
|
282
|
+
var Differ = class {
|
|
283
|
+
constructor(leafRefinery, treeRefinery, diffFunctions) {
|
|
284
|
+
this.leafRefinery = leafRefinery;
|
|
285
|
+
this.treeRefinery = treeRefinery;
|
|
286
|
+
this.leafDiffers = {};
|
|
287
|
+
this.treeDiffers = {};
|
|
288
|
+
for (const key of Object.keys(leafRefinery.supported)) {
|
|
289
|
+
const diffFunction = diffFunctions[key];
|
|
290
|
+
this.leafDiffers[key] = diffFunction;
|
|
291
|
+
}
|
|
292
|
+
for (const key of Object.keys(treeRefinery.supported)) {
|
|
293
|
+
const diffFunction = diffFunctions[key];
|
|
294
|
+
this.treeDiffers[key] = diffFunction;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
diff(a2, b2) {
|
|
298
|
+
var _a2, _b;
|
|
299
|
+
if (a2 === b2) {
|
|
300
|
+
return { summary: `No Change` };
|
|
301
|
+
}
|
|
302
|
+
try {
|
|
303
|
+
if (JSON.stringify(a2) === JSON.stringify(b2)) {
|
|
304
|
+
return { summary: `No Change` };
|
|
305
|
+
}
|
|
306
|
+
} catch (thrown) {
|
|
307
|
+
console.error(`Error stringifying`, a2, b2);
|
|
308
|
+
}
|
|
309
|
+
const aRefined = (_a2 = this.leafRefinery.refine(a2)) != null ? _a2 : this.treeRefinery.refine(a2);
|
|
310
|
+
const bRefined = (_b = this.leafRefinery.refine(b2)) != null ? _b : this.treeRefinery.refine(b2);
|
|
311
|
+
if (aRefined !== null && bRefined !== null) {
|
|
312
|
+
if (aRefined.type === bRefined.type) {
|
|
313
|
+
if (aRefined.type in this.leafDiffers) {
|
|
314
|
+
const delta = this.leafDiffers[aRefined.type](
|
|
315
|
+
aRefined.data,
|
|
316
|
+
bRefined.data
|
|
317
|
+
);
|
|
318
|
+
return delta;
|
|
206
319
|
}
|
|
207
|
-
|
|
208
|
-
|
|
320
|
+
if (aRefined.type in this.treeDiffers) {
|
|
321
|
+
const delta = this.treeDiffers[aRefined.type](
|
|
322
|
+
aRefined.data,
|
|
323
|
+
bRefined.data,
|
|
324
|
+
(x, y) => this.diff(x, y)
|
|
325
|
+
);
|
|
326
|
+
return delta;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
209
329
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
width: inputWidth
|
|
223
|
-
}, props.style)
|
|
224
|
-
}),
|
|
225
|
-
void 0,
|
|
226
|
-
false,
|
|
227
|
-
{
|
|
228
|
-
fileName: "../../hamr/src/react-elastic-input/ElasticInput.tsx",
|
|
229
|
-
lineNumber: 45,
|
|
230
|
-
columnNumber: 4
|
|
231
|
-
},
|
|
232
|
-
this
|
|
233
|
-
),
|
|
234
|
-
/* @__PURE__ */ jsxDEV(
|
|
235
|
-
"span",
|
|
236
|
-
{
|
|
237
|
-
ref: spanRef,
|
|
238
|
-
style: {
|
|
239
|
-
padding: (_b = props.style) == null ? void 0 : _b.padding,
|
|
240
|
-
position: `absolute`,
|
|
241
|
-
visibility: `hidden`,
|
|
242
|
-
// color: `red`,
|
|
243
|
-
whiteSpace: `pre`,
|
|
244
|
-
fontFamily: ((_c = props.style) == null ? void 0 : _c.fontFamily) || `inherit`,
|
|
245
|
-
fontSize: ((_d = props.style) == null ? void 0 : _d.fontSize) || `inherit`
|
|
246
|
-
},
|
|
247
|
-
children: props.value
|
|
248
|
-
},
|
|
249
|
-
void 0,
|
|
250
|
-
false,
|
|
251
|
-
{
|
|
252
|
-
fileName: "../../hamr/src/react-elastic-input/ElasticInput.tsx",
|
|
253
|
-
lineNumber: 58,
|
|
254
|
-
columnNumber: 4
|
|
255
|
-
},
|
|
256
|
-
this
|
|
257
|
-
)
|
|
258
|
-
] }, void 0, true, {
|
|
259
|
-
fileName: "../../hamr/src/react-elastic-input/ElasticInput.tsx",
|
|
260
|
-
lineNumber: 44,
|
|
261
|
-
columnNumber: 3
|
|
262
|
-
}, this);
|
|
263
|
-
});
|
|
264
|
-
|
|
265
|
-
// ../../hamr/src/react-elastic-input/NumberInput.tsx
|
|
266
|
-
import { pipe as pipe5 } from "fp-ts/function";
|
|
267
|
-
import { useState as useState2, useId, useRef as useRef2 } from "react";
|
|
330
|
+
const typeA = discoverType(a2);
|
|
331
|
+
const typeB = discoverType(b2);
|
|
332
|
+
if (typeA === typeB) {
|
|
333
|
+
return {
|
|
334
|
+
summary: `${typeA} \u2192 ${typeB}`
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
return {
|
|
338
|
+
summary: `Type change: ${typeA} \u2192 ${typeB}`
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
};
|
|
268
342
|
|
|
269
|
-
// ../../anvl/src/
|
|
270
|
-
var
|
|
343
|
+
// ../../anvl/src/string/capitalize.ts
|
|
344
|
+
var capitalize = (str) => str[0].toUpperCase() + str.slice(1);
|
|
271
345
|
|
|
272
|
-
//
|
|
273
|
-
|
|
274
|
-
function
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
return Math.round(value * factor) / factor;
|
|
346
|
+
// ../src/internal/get.ts
|
|
347
|
+
var computeSelectorState = (selector) => selector.get();
|
|
348
|
+
function lookup(key, store) {
|
|
349
|
+
const core = target(store);
|
|
350
|
+
const type = core.atoms.has(key) ? `atom` : core.selectors.has(key) ? `selector` : `readonly_selector`;
|
|
351
|
+
return { key, type };
|
|
279
352
|
}
|
|
280
|
-
|
|
281
|
-
var
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
353
|
+
function withdraw(token, store) {
|
|
354
|
+
var _a2, _b, _c, _d, _e;
|
|
355
|
+
const core = target(store);
|
|
356
|
+
return (_e = (_d = (_c = (_b = (_a2 = core.atoms.get(token.key)) != null ? _a2 : core.selectors.get(token.key)) != null ? _b : core.readonlySelectors.get(token.key)) != null ? _c : core.transactions.get(token.key)) != null ? _d : core.timelines.get(token.key)) != null ? _e : null;
|
|
357
|
+
}
|
|
358
|
+
function deposit(state) {
|
|
359
|
+
return __spreadValues({
|
|
360
|
+
key: state.key,
|
|
361
|
+
type: state.type
|
|
362
|
+
}, `family` in state && { family: state.family });
|
|
363
|
+
}
|
|
364
|
+
var getState__INTERNAL = (state, store = IMPLICIT.STORE) => {
|
|
365
|
+
var _a2, _b, _c;
|
|
366
|
+
if (isValueCached(state.key, store)) {
|
|
367
|
+
(_a2 = store.config.logger) == null ? void 0 : _a2.info(`>> read "${state.key}"`);
|
|
368
|
+
return readCachedValue(state.key, store);
|
|
369
|
+
}
|
|
370
|
+
if (state.type !== `atom`) {
|
|
371
|
+
(_b = store.config.logger) == null ? void 0 : _b.info(`-> calc "${state.key}"`);
|
|
372
|
+
return computeSelectorState(state);
|
|
373
|
+
}
|
|
374
|
+
(_c = store.config.logger) == null ? void 0 : _c.error(
|
|
375
|
+
`Attempted to get atom "${state.key}", which was never initialized in store "${store.config.name}".`
|
|
376
|
+
);
|
|
377
|
+
return state.default;
|
|
287
378
|
};
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
return
|
|
379
|
+
|
|
380
|
+
// ../src/internal/is-default.ts
|
|
381
|
+
var isAtomDefault = (key, store = IMPLICIT.STORE) => {
|
|
382
|
+
const core = target(store);
|
|
383
|
+
return core.atomsThatAreDefault.has(key);
|
|
293
384
|
};
|
|
294
|
-
var
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
decimalPlaces: 100,
|
|
298
|
-
nullable: true
|
|
385
|
+
var markAtomAsDefault = (key, store = IMPLICIT.STORE) => {
|
|
386
|
+
const core = target(store);
|
|
387
|
+
core.atomsThatAreDefault = new Set(core.atomsThatAreDefault).add(key);
|
|
299
388
|
};
|
|
300
|
-
var
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
const { max, min, decimalPlaces } = __spreadValues(__spreadValues({}, DEFAULT_NUMBER_CONSTRAINTS), constraints);
|
|
305
|
-
const constrained = pipe5(
|
|
306
|
-
input != null ? input : 0,
|
|
307
|
-
clampInto(min, max),
|
|
308
|
-
(n) => decimalPlaces ? round(n, decimalPlaces) : n
|
|
309
|
-
);
|
|
310
|
-
return constrained;
|
|
389
|
+
var markAtomAsNotDefault = (key, store = IMPLICIT.STORE) => {
|
|
390
|
+
const core = target(store);
|
|
391
|
+
core.atomsThatAreDefault = new Set(target(store).atomsThatAreDefault);
|
|
392
|
+
core.atomsThatAreDefault.delete(key);
|
|
311
393
|
};
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
394
|
+
|
|
395
|
+
// ../../anvl/src/join/core-relation-data.ts
|
|
396
|
+
import { isString } from "fp-ts/string";
|
|
397
|
+
|
|
398
|
+
// ../../anvl/src/refinement/index.ts
|
|
399
|
+
var canExist = (_) => true;
|
|
400
|
+
var cannotExist = (_) => false;
|
|
401
|
+
var isLiteral = (value) => (input) => input === value;
|
|
402
|
+
var isWithin = (args) => (input) => args.includes(input);
|
|
403
|
+
var couldBe = (isTypeA, logging = false, refinements = [isTypeA]) => {
|
|
404
|
+
const name = `(${refinements.map((r) => r.name || `anon`).join(` | `)})`;
|
|
405
|
+
const _ = {
|
|
406
|
+
[name]: (input) => refinements.some(
|
|
407
|
+
(refinement) => {
|
|
408
|
+
var _a2;
|
|
409
|
+
return logging && console.log(
|
|
410
|
+
refinements.map((r) => r.name || `anon`).join(` | `),
|
|
411
|
+
`>`,
|
|
412
|
+
(_a2 = refinement.name) != null ? _a2 : `anon`,
|
|
413
|
+
`:`,
|
|
414
|
+
refinement(input)
|
|
415
|
+
), refinement(input);
|
|
416
|
+
}
|
|
417
|
+
)
|
|
418
|
+
};
|
|
419
|
+
const checkTypes = Object.assign(_[name], {
|
|
420
|
+
or: (isTypeB) => couldBe(isTypeB, logging, [...refinements, isTypeB])
|
|
421
|
+
});
|
|
422
|
+
return checkTypes;
|
|
317
423
|
};
|
|
318
|
-
var
|
|
424
|
+
var isUnion = couldBe(cannotExist);
|
|
425
|
+
var mustBe = (isTypeA, logging = false, refinements = [isTypeA]) => {
|
|
426
|
+
const name = `(${refinements.map((r) => r.name || `anon`).join(` & `)})`;
|
|
427
|
+
const _ = {
|
|
428
|
+
[name]: (input) => refinements.every(
|
|
429
|
+
(refinement) => (logging && console.log(
|
|
430
|
+
refinements.map((r) => r.name || `anon`).join(` & `),
|
|
431
|
+
`>`,
|
|
432
|
+
refinement.name || `anon`,
|
|
433
|
+
`:`,
|
|
434
|
+
refinement(input)
|
|
435
|
+
), refinement(input))
|
|
436
|
+
)
|
|
437
|
+
};
|
|
438
|
+
const checkTypes = Object.assign(_[name], {
|
|
439
|
+
and: (isTypeB) => mustBe(isTypeB, logging, [...refinements, isTypeB])
|
|
440
|
+
});
|
|
441
|
+
return checkTypes;
|
|
442
|
+
};
|
|
443
|
+
var isIntersection = mustBe(canExist);
|
|
444
|
+
|
|
445
|
+
// ../../anvl/src/join/core-relation-data.ts
|
|
446
|
+
var RELATION_TYPES = [`1:1`, `1:n`, `n:n`];
|
|
447
|
+
var isRelationType = (x) => RELATION_TYPES.includes(x);
|
|
448
|
+
var EMPTY_RELATION_DATA = {
|
|
449
|
+
contents: {},
|
|
450
|
+
relations: {},
|
|
451
|
+
relationType: `n:n`,
|
|
452
|
+
a: `from`,
|
|
453
|
+
b: `to`
|
|
454
|
+
};
|
|
455
|
+
var isRelationData = ({
|
|
456
|
+
from: a2 = `from`,
|
|
457
|
+
to: b2 = `to`,
|
|
458
|
+
isContent
|
|
459
|
+
} = {}) => (input) => {
|
|
460
|
+
return hasExactProperties({
|
|
461
|
+
contents: isContent ? isRecord(isString, isContent) : hasExactProperties({}),
|
|
462
|
+
relations: isRecord(isString, isArray(isString)),
|
|
463
|
+
relationType: isRelationType,
|
|
464
|
+
a: isLiteral(a2),
|
|
465
|
+
b: isLiteral(b2)
|
|
466
|
+
})(input);
|
|
467
|
+
};
|
|
468
|
+
|
|
469
|
+
// ../../anvl/src/join/get-related-ids.ts
|
|
470
|
+
var getRelatedIds = (relationMap, id) => {
|
|
471
|
+
var _a2;
|
|
472
|
+
return (_a2 = relationMap.relations[id]) != null ? _a2 : [];
|
|
473
|
+
};
|
|
474
|
+
var getRelatedId = (relationMap, id) => {
|
|
475
|
+
const relations = getRelatedIds(relationMap, id);
|
|
476
|
+
if (relations.length > 1) {
|
|
477
|
+
console.warn(
|
|
478
|
+
`entry with id ${id} was not expected to have multiple relations`
|
|
479
|
+
);
|
|
480
|
+
}
|
|
481
|
+
return relations[0];
|
|
482
|
+
};
|
|
483
|
+
|
|
484
|
+
// ../../anvl/src/join/make-json-interface.ts
|
|
485
|
+
var makeJsonInterface = (join, ...params) => {
|
|
486
|
+
const isContent = params[0];
|
|
487
|
+
const { a: a2, b: b2 } = join;
|
|
488
|
+
const options = {
|
|
489
|
+
from: a2,
|
|
490
|
+
to: b2,
|
|
491
|
+
isContent
|
|
492
|
+
};
|
|
493
|
+
return {
|
|
494
|
+
toJson: (join2) => join2.toJSON(),
|
|
495
|
+
fromJson: (json) => Join.fromJSON(json, options)
|
|
496
|
+
};
|
|
497
|
+
};
|
|
498
|
+
|
|
499
|
+
// ../../anvl/src/join/relation-contents.ts
|
|
500
|
+
import { pipe as pipe5 } from "fp-ts/function";
|
|
501
|
+
|
|
502
|
+
// ../../anvl/src/join/relation-record.ts
|
|
503
|
+
var getRelationEntries = (relationMap, idA) => getRelatedIds(relationMap, idA).map((idB) => [
|
|
504
|
+
idB,
|
|
505
|
+
getContent(relationMap, idA, idB)
|
|
506
|
+
]);
|
|
507
|
+
var getRelationRecord = (relationMap, id) => Object.fromEntries(getRelationEntries(relationMap, id));
|
|
508
|
+
|
|
509
|
+
// ../../anvl/src/join/remove-relation.ts
|
|
510
|
+
import { pipe as pipe4 } from "fp-ts/function";
|
|
511
|
+
import { isString as isString2 } from "fp-ts/string";
|
|
512
|
+
|
|
513
|
+
// ../../anvl/src/string/split.ts
|
|
514
|
+
var split = (separator) => (str) => str.split(separator);
|
|
515
|
+
|
|
516
|
+
// ../../anvl/src/join/remove-relation.ts
|
|
517
|
+
var removeSpecific = (current, idA, idB) => {
|
|
518
|
+
const isIdForRemoval = isOneOf(idA, idB);
|
|
519
|
+
return __spreadProps(__spreadValues({}, current), {
|
|
520
|
+
relations: pipe4(
|
|
521
|
+
current.relations,
|
|
522
|
+
recordToEntries,
|
|
523
|
+
map(([id, relations]) => [
|
|
524
|
+
id,
|
|
525
|
+
isIdForRemoval(id) ? relations.filter((relation) => !isIdForRemoval(relation)) : relations
|
|
526
|
+
]),
|
|
527
|
+
entriesToRecord,
|
|
528
|
+
treeShake(isEmptyArray)
|
|
529
|
+
),
|
|
530
|
+
contents: pipe4(
|
|
531
|
+
current.contents,
|
|
532
|
+
treeShake(
|
|
533
|
+
(_, key) => isString2(key) && pipe4(key, split(`/`), comprises([idA, idB]))
|
|
534
|
+
)
|
|
535
|
+
)
|
|
536
|
+
});
|
|
537
|
+
};
|
|
538
|
+
var removeAll = (current, idToRemove) => {
|
|
539
|
+
const next = __spreadProps(__spreadValues({}, current), {
|
|
540
|
+
relations: pipe4(
|
|
541
|
+
current.relations,
|
|
542
|
+
recordToEntries,
|
|
543
|
+
map(([id, relations]) => [
|
|
544
|
+
id,
|
|
545
|
+
relations.filter((relation) => relation !== idToRemove)
|
|
546
|
+
]),
|
|
547
|
+
entriesToRecord,
|
|
548
|
+
treeShake((val, key) => key === idToRemove || isEmptyArray(val))
|
|
549
|
+
),
|
|
550
|
+
contents: pipe4(
|
|
551
|
+
current.contents,
|
|
552
|
+
treeShake(
|
|
553
|
+
(_, key) => isString2(key) && key.split(`/`).includes(idToRemove)
|
|
554
|
+
)
|
|
555
|
+
)
|
|
556
|
+
});
|
|
557
|
+
return next;
|
|
558
|
+
};
|
|
559
|
+
var removeRelation = (current, relation) => {
|
|
560
|
+
const idA = relation[current.a];
|
|
561
|
+
const idB = relation[current.b];
|
|
562
|
+
return idB ? removeSpecific(current, idA, idB) : removeAll(current, idA);
|
|
563
|
+
};
|
|
564
|
+
|
|
565
|
+
// ../../anvl/src/join/set-relation.ts
|
|
566
|
+
var setManyToMany = (map2, idA, idB, ...rest) => {
|
|
567
|
+
var _a2, _b;
|
|
568
|
+
const next = __spreadProps(__spreadValues({}, map2), {
|
|
569
|
+
relations: __spreadProps(__spreadValues({}, map2.relations), {
|
|
570
|
+
[idA]: addTo((_a2 = map2.relations[idA]) != null ? _a2 : [])(idB),
|
|
571
|
+
[idB]: addTo((_b = map2.relations[idB]) != null ? _b : [])(idA)
|
|
572
|
+
})
|
|
573
|
+
});
|
|
574
|
+
const content = rest[0];
|
|
575
|
+
return content ? setContent(next, idA, idB, content) : next;
|
|
576
|
+
};
|
|
577
|
+
var removeEmpties = treeShake(isEmptyArray);
|
|
578
|
+
var set1ToMany = (current, leaderId, followerId, ...rest) => {
|
|
579
|
+
var _a2;
|
|
580
|
+
const relations = __spreadValues({}, current.relations);
|
|
581
|
+
const prevLeaderId = getRelatedId(current, followerId);
|
|
582
|
+
const next = __spreadProps(__spreadValues({}, current), {
|
|
583
|
+
relations: removeEmpties(__spreadProps(__spreadValues(__spreadValues({}, relations), prevLeaderId && prevLeaderId !== leaderId && {
|
|
584
|
+
[prevLeaderId]: relations[prevLeaderId].filter(
|
|
585
|
+
(id) => id !== followerId
|
|
586
|
+
)
|
|
587
|
+
}), {
|
|
588
|
+
[followerId]: [leaderId],
|
|
589
|
+
[leaderId]: addTo((_a2 = relations[leaderId]) != null ? _a2 : [])(followerId)
|
|
590
|
+
}))
|
|
591
|
+
});
|
|
592
|
+
const content = rest[0];
|
|
593
|
+
return content ? setContent(next, leaderId, followerId, content) : next;
|
|
594
|
+
};
|
|
595
|
+
var set1To1 = (current, wifeId, husbandId, ...rest) => {
|
|
596
|
+
const prevWifeId = getRelatedId(current, husbandId);
|
|
597
|
+
const prevHusbandId = getRelatedId(current, wifeId);
|
|
598
|
+
const next = __spreadProps(__spreadValues({}, current), {
|
|
599
|
+
relations: removeEmpties(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, current.relations), prevWifeId && { [prevWifeId]: [] }), prevHusbandId && { [prevHusbandId]: [] }), {
|
|
600
|
+
[wifeId]: [husbandId],
|
|
601
|
+
[husbandId]: [wifeId]
|
|
602
|
+
}))
|
|
603
|
+
});
|
|
604
|
+
const content = rest[0];
|
|
605
|
+
return content ? setContent(next, wifeId, husbandId, content) : next;
|
|
606
|
+
};
|
|
607
|
+
var setRelationWithContent = (current, relation, ...rest) => {
|
|
608
|
+
const { [current.a]: idA, [current.b]: idB } = relation;
|
|
609
|
+
switch (current.relationType) {
|
|
610
|
+
case `1:1`:
|
|
611
|
+
return set1To1(current, idA, idB, ...rest);
|
|
612
|
+
case `1:n`:
|
|
613
|
+
return set1ToMany(current, idA, idB, ...rest);
|
|
614
|
+
case `n:n`:
|
|
615
|
+
return setManyToMany(current, idA, idB, ...rest);
|
|
616
|
+
}
|
|
617
|
+
};
|
|
618
|
+
|
|
619
|
+
// ../../anvl/src/join/relation-contents.ts
|
|
620
|
+
var makeContentId = (idA, idB) => [idA, idB].sort().join(`/`);
|
|
621
|
+
var getContent = (relationMap, idA, idB) => relationMap.contents[makeContentId(idA, idB)];
|
|
622
|
+
var setContent = (map2, idA, idB, content) => __spreadProps(__spreadValues({}, map2), {
|
|
623
|
+
contents: __spreadProps(__spreadValues({}, map2.contents), {
|
|
624
|
+
[makeContentId(idA, idB)]: content
|
|
625
|
+
})
|
|
626
|
+
});
|
|
627
|
+
var getRelations = (relationMap, id) => getRelationEntries(relationMap, id).map(
|
|
628
|
+
([id2, content]) => __spreadValues({
|
|
629
|
+
id: id2
|
|
630
|
+
}, content)
|
|
631
|
+
);
|
|
632
|
+
var setRelations = (current, subject, relations) => {
|
|
633
|
+
const idA = subject[current.a];
|
|
634
|
+
const idB = subject[current.b];
|
|
635
|
+
return pipe5(
|
|
636
|
+
current,
|
|
637
|
+
(relationData) => {
|
|
638
|
+
const relatedIds = getRelatedIds(current, idA);
|
|
639
|
+
const removedIds = relatedIds.filter(
|
|
640
|
+
(id) => !relations.some((r) => r.id === id)
|
|
641
|
+
);
|
|
642
|
+
let step = relationData;
|
|
643
|
+
for (const id of removedIds) {
|
|
644
|
+
const remove = {
|
|
645
|
+
[current.a]: idA != null ? idA : id,
|
|
646
|
+
[current.b]: idB != null ? idB : id
|
|
647
|
+
};
|
|
648
|
+
step = removeRelation(step, remove);
|
|
649
|
+
}
|
|
650
|
+
return step;
|
|
651
|
+
},
|
|
652
|
+
(relationData) => {
|
|
653
|
+
let step = relationData;
|
|
654
|
+
for (const _a2 of relations) {
|
|
655
|
+
const _b = _a2, { id } = _b, rest = __objRest(_b, ["id"]);
|
|
656
|
+
const content = isEmptyObject(rest) ? void 0 : rest;
|
|
657
|
+
step = setRelationWithContent(
|
|
658
|
+
step,
|
|
659
|
+
{ [current.a]: idA != null ? idA : id, [current.b]: idB != null ? idB : id },
|
|
660
|
+
// @ts-expect-error hacky
|
|
661
|
+
content
|
|
662
|
+
);
|
|
663
|
+
}
|
|
664
|
+
return step;
|
|
665
|
+
},
|
|
666
|
+
(relationData) => {
|
|
667
|
+
const newlyOrderedIds = relations.map((r) => r.id);
|
|
668
|
+
return __spreadProps(__spreadValues({}, relationData), {
|
|
669
|
+
relations: __spreadProps(__spreadValues({}, relationData.relations), {
|
|
670
|
+
[idA != null ? idA : idB]: newlyOrderedIds
|
|
671
|
+
})
|
|
672
|
+
});
|
|
673
|
+
}
|
|
674
|
+
);
|
|
675
|
+
};
|
|
676
|
+
|
|
677
|
+
// ../../anvl/src/join/index.ts
|
|
678
|
+
var Join = class _Join {
|
|
679
|
+
constructor(json) {
|
|
680
|
+
this.a = `from`;
|
|
681
|
+
this.b = `to`;
|
|
682
|
+
this.makeJsonInterface = (...params) => {
|
|
683
|
+
return makeJsonInterface(this, ...params);
|
|
684
|
+
};
|
|
685
|
+
Object.assign(this, __spreadProps(__spreadValues(__spreadValues({}, EMPTY_RELATION_DATA), json), {
|
|
686
|
+
makeJsonInterface: this.makeJsonInterface
|
|
687
|
+
}));
|
|
688
|
+
}
|
|
689
|
+
toJSON() {
|
|
690
|
+
return {
|
|
691
|
+
relationType: this.relationType,
|
|
692
|
+
relations: this.relations,
|
|
693
|
+
contents: this.contents,
|
|
694
|
+
a: this.a,
|
|
695
|
+
b: this.b
|
|
696
|
+
};
|
|
697
|
+
}
|
|
698
|
+
static fromJSON(json, options) {
|
|
699
|
+
const isValid = isRelationData(options)(json);
|
|
700
|
+
if (isValid) {
|
|
701
|
+
return new _Join(json);
|
|
702
|
+
}
|
|
703
|
+
throw new Error(
|
|
704
|
+
`Saved JSON for this Join is invalid: ${JSON.stringify(json)}`
|
|
705
|
+
);
|
|
706
|
+
}
|
|
707
|
+
from(newA) {
|
|
708
|
+
return new _Join(__spreadProps(__spreadValues({}, this), { a: newA }));
|
|
709
|
+
}
|
|
710
|
+
to(newB) {
|
|
711
|
+
return new _Join(__spreadProps(__spreadValues({}, this), { b: newB }));
|
|
712
|
+
}
|
|
713
|
+
getRelatedId(id) {
|
|
714
|
+
return getRelatedId(this, id);
|
|
715
|
+
}
|
|
716
|
+
getRelatedIds(id) {
|
|
717
|
+
return getRelatedIds(this, id);
|
|
718
|
+
}
|
|
719
|
+
getContent(idA, idB) {
|
|
720
|
+
return getContent(this, idA, idB);
|
|
721
|
+
}
|
|
722
|
+
getRelationEntries(id) {
|
|
723
|
+
return getRelationEntries(this, id);
|
|
724
|
+
}
|
|
725
|
+
getRelationRecord(id) {
|
|
726
|
+
return getRelationRecord(this, id);
|
|
727
|
+
}
|
|
728
|
+
getRelation(id) {
|
|
729
|
+
return getRelations(this, id)[0];
|
|
730
|
+
}
|
|
731
|
+
getRelations(id) {
|
|
732
|
+
return getRelations(this, id);
|
|
733
|
+
}
|
|
734
|
+
setRelations(subject, relations) {
|
|
735
|
+
return new _Join(setRelations(this, subject, relations));
|
|
736
|
+
}
|
|
737
|
+
set(relation, ...rest) {
|
|
738
|
+
return new _Join(setRelationWithContent(this, relation, ...rest));
|
|
739
|
+
}
|
|
740
|
+
remove(relation) {
|
|
741
|
+
return new _Join(
|
|
742
|
+
removeRelation(this, relation)
|
|
743
|
+
);
|
|
744
|
+
}
|
|
745
|
+
};
|
|
746
|
+
|
|
747
|
+
// ../src/internal/store.ts
|
|
748
|
+
var createStore = (name, store = null) => {
|
|
749
|
+
var _a2;
|
|
750
|
+
const created = __spreadProps(__spreadValues({}, store != null ? store : (() => ({
|
|
751
|
+
atomsThatAreDefault: /* @__PURE__ */ new Set(),
|
|
752
|
+
selectorAtoms: new Join({ relationType: `n:n` }).from(`selectorKey`).to(`atomKey`),
|
|
753
|
+
selectorGraph: new Join({ relationType: `n:n` })
|
|
754
|
+
}))()), {
|
|
755
|
+
valueMap: new Map(store == null ? void 0 : store.valueMap),
|
|
756
|
+
atoms: /* @__PURE__ */ new Map(),
|
|
757
|
+
readonlySelectors: /* @__PURE__ */ new Map(),
|
|
758
|
+
selectors: /* @__PURE__ */ new Map(),
|
|
759
|
+
transactions: /* @__PURE__ */ new Map(),
|
|
760
|
+
timelines: /* @__PURE__ */ new Map(),
|
|
761
|
+
timelineAtoms: new Join({ relationType: `1:n` }).from(`timelineKey`).to(`atomKey`),
|
|
762
|
+
subject: {
|
|
763
|
+
atomCreation: new Subject(),
|
|
764
|
+
selectorCreation: new Subject(),
|
|
765
|
+
transactionCreation: new Subject(),
|
|
766
|
+
timelineCreation: new Subject(),
|
|
767
|
+
operationStatus: new Subject()
|
|
768
|
+
},
|
|
769
|
+
operation: __spreadValues({
|
|
770
|
+
open: false
|
|
771
|
+
}, store == null ? void 0 : store.operation),
|
|
772
|
+
transactionStatus: __spreadValues({
|
|
773
|
+
phase: `idle`
|
|
774
|
+
}, store == null ? void 0 : store.transactionStatus),
|
|
775
|
+
config: __spreadProps(__spreadValues({
|
|
776
|
+
logger: __spreadValues(__spreadProps(__spreadValues({}, console), {
|
|
777
|
+
info: doNothing
|
|
778
|
+
}), (_a2 = store == null ? void 0 : store.config) == null ? void 0 : _a2.logger),
|
|
779
|
+
logger__INTERNAL: console
|
|
780
|
+
}, store == null ? void 0 : store.config), {
|
|
781
|
+
name
|
|
782
|
+
})
|
|
783
|
+
});
|
|
784
|
+
store == null ? void 0 : store.atoms.forEach((atom2) => {
|
|
785
|
+
const copiedAtom = __spreadProps(__spreadValues({}, atom2), { subject: new Subject() });
|
|
786
|
+
created.atoms.set(atom2.key, copiedAtom);
|
|
787
|
+
});
|
|
788
|
+
store == null ? void 0 : store.readonlySelectors.forEach((selector) => {
|
|
789
|
+
selector.install(created);
|
|
790
|
+
});
|
|
791
|
+
store == null ? void 0 : store.selectors.forEach((selector) => {
|
|
792
|
+
selector.install(created);
|
|
793
|
+
});
|
|
794
|
+
store == null ? void 0 : store.transactions.forEach((tx) => {
|
|
795
|
+
tx.install(created);
|
|
796
|
+
});
|
|
797
|
+
store == null ? void 0 : store.timelines.forEach((timeline2) => {
|
|
798
|
+
timeline2.install(created);
|
|
799
|
+
});
|
|
800
|
+
return created;
|
|
801
|
+
};
|
|
802
|
+
var IMPLICIT = {
|
|
803
|
+
STORE_INTERNAL: void 0,
|
|
804
|
+
get STORE() {
|
|
805
|
+
var _a2;
|
|
806
|
+
return (_a2 = this.STORE_INTERNAL) != null ? _a2 : this.STORE_INTERNAL = createStore(`DEFAULT`);
|
|
807
|
+
}
|
|
808
|
+
};
|
|
809
|
+
|
|
810
|
+
// ../src/internal/operation.ts
|
|
811
|
+
var openOperation = (token, store) => {
|
|
812
|
+
var _a2, _b;
|
|
813
|
+
const core = target(store);
|
|
814
|
+
if (core.operation.open) {
|
|
815
|
+
(_a2 = store.config.logger) == null ? void 0 : _a2.error(
|
|
816
|
+
`\u274C failed to setState to "${token.key}" during a setState for "${core.operation.token.key}"`
|
|
817
|
+
);
|
|
818
|
+
throw Symbol(`violation`);
|
|
819
|
+
}
|
|
820
|
+
core.operation = {
|
|
821
|
+
open: true,
|
|
822
|
+
done: /* @__PURE__ */ new Set(),
|
|
823
|
+
prev: new Map(store.valueMap),
|
|
824
|
+
time: Date.now(),
|
|
825
|
+
token
|
|
826
|
+
};
|
|
827
|
+
(_b = store.config.logger) == null ? void 0 : _b.info(
|
|
828
|
+
`\u2B55 operation start from "${token.key}" in store "${store.config.name}"`
|
|
829
|
+
);
|
|
830
|
+
};
|
|
831
|
+
var closeOperation = (store) => {
|
|
832
|
+
var _a2;
|
|
833
|
+
const core = target(store);
|
|
834
|
+
core.operation = { open: false };
|
|
835
|
+
(_a2 = store.config.logger) == null ? void 0 : _a2.info(`\u{1F534} operation done`);
|
|
836
|
+
store.subject.operationStatus.next(core.operation);
|
|
837
|
+
};
|
|
838
|
+
var isDone = (key, store = IMPLICIT.STORE) => {
|
|
839
|
+
var _a2;
|
|
840
|
+
const core = target(store);
|
|
841
|
+
if (!core.operation.open) {
|
|
842
|
+
(_a2 = store.config.logger) == null ? void 0 : _a2.warn(
|
|
843
|
+
`isDone called outside of an operation. This is probably a bug.`
|
|
844
|
+
);
|
|
845
|
+
return true;
|
|
846
|
+
}
|
|
847
|
+
return core.operation.done.has(key);
|
|
848
|
+
};
|
|
849
|
+
var markDone = (key, store = IMPLICIT.STORE) => {
|
|
850
|
+
var _a2;
|
|
851
|
+
const core = target(store);
|
|
852
|
+
if (!core.operation.open) {
|
|
853
|
+
(_a2 = store.config.logger) == null ? void 0 : _a2.warn(
|
|
854
|
+
`markDone called outside of an operation. This is probably a bug.`
|
|
855
|
+
);
|
|
856
|
+
return;
|
|
857
|
+
}
|
|
858
|
+
core.operation.done.add(key);
|
|
859
|
+
};
|
|
860
|
+
var recallState = (state, store = IMPLICIT.STORE) => {
|
|
861
|
+
var _a2;
|
|
862
|
+
const core = target(store);
|
|
863
|
+
if (!core.operation.open) {
|
|
864
|
+
(_a2 = store.config.logger) == null ? void 0 : _a2.warn(
|
|
865
|
+
`recall called outside of an operation. This is probably a bug.`
|
|
866
|
+
);
|
|
867
|
+
return core.valueMap.get(state.key);
|
|
868
|
+
}
|
|
869
|
+
return core.operation.prev.get(state.key);
|
|
870
|
+
};
|
|
871
|
+
var cacheValue = (key, value, store = IMPLICIT.STORE) => {
|
|
872
|
+
const core = target(store);
|
|
873
|
+
core.valueMap.set(key, value);
|
|
874
|
+
};
|
|
875
|
+
var evictCachedValue = (key, store = IMPLICIT.STORE) => {
|
|
876
|
+
const core = target(store);
|
|
877
|
+
core.valueMap.delete(key);
|
|
878
|
+
};
|
|
879
|
+
var readCachedValue = (key, store = IMPLICIT.STORE) => target(store).valueMap.get(key);
|
|
880
|
+
var isValueCached = (key, store = IMPLICIT.STORE) => target(store).valueMap.has(key);
|
|
881
|
+
|
|
882
|
+
// ../src/internal/transaction-internal.ts
|
|
883
|
+
var target = (store = IMPLICIT.STORE) => store.transactionStatus.phase === `building` ? store.transactionStatus.core : store;
|
|
884
|
+
|
|
885
|
+
// ../src/internal/atom-internal.ts
|
|
886
|
+
function atom__INTERNAL(options, family, store = IMPLICIT.STORE) {
|
|
887
|
+
var _a2, _b, _c;
|
|
888
|
+
const core = target(store);
|
|
889
|
+
const existing = core.atoms.get(options.key);
|
|
890
|
+
if (existing) {
|
|
891
|
+
(_b = (_a2 = store.config.logger) == null ? void 0 : _a2.error) == null ? void 0 : _b.call(
|
|
892
|
+
_a2,
|
|
893
|
+
`Key "${options.key}" already exists in the store.`
|
|
894
|
+
);
|
|
895
|
+
return deposit(existing);
|
|
896
|
+
}
|
|
897
|
+
const subject = new Subject();
|
|
898
|
+
const newAtom = __spreadValues(__spreadProps(__spreadValues({}, options), {
|
|
899
|
+
subject,
|
|
900
|
+
type: `atom`
|
|
901
|
+
}), family && { family });
|
|
902
|
+
const initialValue = options.default instanceof Function ? options.default() : options.default;
|
|
903
|
+
core.atoms.set(newAtom.key, newAtom);
|
|
904
|
+
markAtomAsDefault(options.key, store);
|
|
905
|
+
cacheValue(options.key, initialValue, store);
|
|
906
|
+
const token = deposit(newAtom);
|
|
907
|
+
(_c = options.effects) == null ? void 0 : _c.forEach(
|
|
908
|
+
(effect) => effect({
|
|
909
|
+
setSelf: (next) => setState(token, next, store),
|
|
910
|
+
onSet: (handle) => subscribe(token, handle, store)
|
|
911
|
+
})
|
|
912
|
+
);
|
|
913
|
+
store.subject.atomCreation.next(token);
|
|
914
|
+
return token;
|
|
915
|
+
}
|
|
916
|
+
|
|
917
|
+
// ../../anvl/src/json/index.ts
|
|
918
|
+
import { pipe as pipe6 } from "fp-ts/function";
|
|
919
|
+
|
|
920
|
+
// ../../anvl/src/json/refine.ts
|
|
921
|
+
import { isBoolean } from "fp-ts/boolean";
|
|
922
|
+
import { isNumber } from "fp-ts/number";
|
|
923
|
+
import { isString as isString3 } from "fp-ts/string";
|
|
924
|
+
var JSON_PROTOTYPES = [
|
|
925
|
+
`Array`,
|
|
926
|
+
`Boolean`,
|
|
927
|
+
`Number`,
|
|
928
|
+
`Object`,
|
|
929
|
+
`String`
|
|
930
|
+
];
|
|
931
|
+
var refineJsonType = (data) => data === null ? { type: `null`, data: null } : isBoolean(data) ? { type: `boolean`, data } : isNumber(data) ? { type: `number`, data } : isString3(data) ? { type: `string`, data } : Array.isArray(data) ? { type: `array`, data } : isPlainObject(data) ? { type: `object`, data } : raiseError(
|
|
932
|
+
data === void 0 ? `undefined passed to refineJsonType. This is not valid JSON.` : `${stringifyJson(data)} with prototype "${Object.getPrototypeOf(data).constructor.name}" passed to refineJsonType. This is not valid JSON.`
|
|
933
|
+
);
|
|
934
|
+
var isJson = (input) => {
|
|
935
|
+
var _a2;
|
|
936
|
+
if (input === null)
|
|
937
|
+
return true;
|
|
938
|
+
if (input === void 0)
|
|
939
|
+
return false;
|
|
940
|
+
const prototype = (_a2 = Object.getPrototypeOf(input)) == null ? void 0 : _a2.constructor.name;
|
|
941
|
+
const isJson2 = JSON_PROTOTYPES.includes(prototype);
|
|
942
|
+
return isJson2;
|
|
943
|
+
};
|
|
944
|
+
|
|
945
|
+
// ../../anvl/src/json/index.ts
|
|
946
|
+
var stringifyJson = (json) => JSON.stringify(json);
|
|
947
|
+
var JSON_TYPE_NAMES = [
|
|
948
|
+
`array`,
|
|
949
|
+
`boolean`,
|
|
950
|
+
`null`,
|
|
951
|
+
`number`,
|
|
952
|
+
`object`,
|
|
953
|
+
`string`
|
|
954
|
+
];
|
|
955
|
+
var JSON_DEFAULTS = {
|
|
956
|
+
array: [],
|
|
957
|
+
boolean: false,
|
|
958
|
+
null: null,
|
|
959
|
+
number: 0,
|
|
960
|
+
object: {},
|
|
961
|
+
string: ``
|
|
962
|
+
};
|
|
963
|
+
|
|
964
|
+
// ../src/internal/families-internal.ts
|
|
965
|
+
function atomFamily__INTERNAL(options, store = IMPLICIT.STORE) {
|
|
966
|
+
const subject = new Subject();
|
|
967
|
+
return Object.assign(
|
|
968
|
+
(key) => {
|
|
969
|
+
var _a2;
|
|
970
|
+
const subKey = stringifyJson(key);
|
|
971
|
+
const family = { key: options.key, subKey };
|
|
972
|
+
const fullKey = `${options.key}(${subKey})`;
|
|
973
|
+
const existing = withdraw({ key: fullKey, type: `atom` }, store);
|
|
974
|
+
const token = existing ? deposit(existing) : atom__INTERNAL(
|
|
975
|
+
{
|
|
976
|
+
key: fullKey,
|
|
977
|
+
default: options.default instanceof Function ? options.default(key) : options.default,
|
|
978
|
+
effects: (_a2 = options.effects) == null ? void 0 : _a2.call(options, key)
|
|
979
|
+
},
|
|
980
|
+
family,
|
|
981
|
+
store
|
|
982
|
+
);
|
|
983
|
+
subject.next(token);
|
|
984
|
+
return token;
|
|
985
|
+
},
|
|
986
|
+
{
|
|
987
|
+
key: options.key,
|
|
988
|
+
type: `atom_family`,
|
|
989
|
+
subject
|
|
990
|
+
}
|
|
991
|
+
);
|
|
992
|
+
}
|
|
993
|
+
|
|
994
|
+
// ../src/internal/selector/lookup-selector-sources.ts
|
|
995
|
+
var lookupSelectorSources = (key, store) => target(store).selectorGraph.getRelations(key).filter(({ source }) => source !== key).map(({ source }) => lookup(source, store));
|
|
996
|
+
|
|
997
|
+
// ../src/internal/selector/trace-selector-atoms.ts
|
|
998
|
+
var traceSelectorAtoms = (selectorKey, dependency, store) => {
|
|
999
|
+
const roots = [];
|
|
1000
|
+
const sources = lookupSelectorSources(dependency.key, store);
|
|
1001
|
+
let depth = 0;
|
|
1002
|
+
while (sources.length > 0) {
|
|
1003
|
+
const source = sources.shift();
|
|
1004
|
+
++depth;
|
|
1005
|
+
if (depth > 999) {
|
|
1006
|
+
throw new Error(
|
|
1007
|
+
`Maximum selector dependency depth exceeded in selector "${selectorKey}".`
|
|
1008
|
+
);
|
|
1009
|
+
}
|
|
1010
|
+
if (source.type !== `atom`) {
|
|
1011
|
+
sources.push(...lookupSelectorSources(source.key, store));
|
|
1012
|
+
} else {
|
|
1013
|
+
roots.push(source);
|
|
1014
|
+
}
|
|
1015
|
+
}
|
|
1016
|
+
return roots;
|
|
1017
|
+
};
|
|
1018
|
+
var traceAllSelectorAtoms = (selectorKey, store) => {
|
|
1019
|
+
const sources = lookupSelectorSources(selectorKey, store);
|
|
1020
|
+
return sources.flatMap(
|
|
1021
|
+
(source) => source.type === `atom` ? source : traceSelectorAtoms(selectorKey, source, store)
|
|
1022
|
+
);
|
|
1023
|
+
};
|
|
1024
|
+
|
|
1025
|
+
// ../src/internal/set.ts
|
|
1026
|
+
var evictDownStream = (state, store = IMPLICIT.STORE) => {
|
|
1027
|
+
var _a2, _b;
|
|
1028
|
+
const core = target(store);
|
|
1029
|
+
const downstream = core.selectorAtoms.getRelations(state.key);
|
|
1030
|
+
const downstreamKeys = downstream.map(({ id }) => id);
|
|
1031
|
+
(_a2 = store.config.logger) == null ? void 0 : _a2.info(
|
|
1032
|
+
` || ${downstreamKeys.length} downstream:`,
|
|
1033
|
+
downstreamKeys
|
|
1034
|
+
);
|
|
1035
|
+
if (core.operation.open) {
|
|
1036
|
+
(_b = store.config.logger) == null ? void 0 : _b.info(` ||`, [...core.operation.done], `already done`);
|
|
1037
|
+
}
|
|
1038
|
+
downstream.forEach(({ id: stateKey }) => {
|
|
1039
|
+
var _a3, _b2, _c, _d;
|
|
1040
|
+
if (isDone(stateKey, store)) {
|
|
1041
|
+
(_a3 = store.config.logger) == null ? void 0 : _a3.info(` || ${stateKey} already done`);
|
|
1042
|
+
return;
|
|
1043
|
+
}
|
|
1044
|
+
const state2 = (_b2 = core.selectors.get(stateKey)) != null ? _b2 : core.readonlySelectors.get(stateKey);
|
|
1045
|
+
if (!state2) {
|
|
1046
|
+
(_c = store.config.logger) == null ? void 0 : _c.info(
|
|
1047
|
+
` || ${stateKey} is an atom, and can't be downstream`
|
|
1048
|
+
);
|
|
1049
|
+
return;
|
|
1050
|
+
}
|
|
1051
|
+
evictCachedValue(stateKey, store);
|
|
1052
|
+
(_d = store.config.logger) == null ? void 0 : _d.info(` xx evicted "${stateKey}"`);
|
|
1053
|
+
markDone(stateKey, store);
|
|
1054
|
+
});
|
|
1055
|
+
};
|
|
1056
|
+
var setAtomState = (atom2, next, store = IMPLICIT.STORE) => {
|
|
1057
|
+
var _a2, _b;
|
|
1058
|
+
const oldValue = getState__INTERNAL(atom2, store);
|
|
1059
|
+
const newValue = become(next)(oldValue);
|
|
1060
|
+
(_a2 = store.config.logger) == null ? void 0 : _a2.info(`<< setting atom "${atom2.key}" to`, newValue);
|
|
1061
|
+
cacheValue(atom2.key, newValue, store);
|
|
1062
|
+
if (isAtomDefault(atom2.key, store)) {
|
|
1063
|
+
markAtomAsNotDefault(atom2.key, store);
|
|
1064
|
+
}
|
|
1065
|
+
markDone(atom2.key, store);
|
|
1066
|
+
(_b = store.config.logger) == null ? void 0 : _b.info(
|
|
1067
|
+
` || evicting caches downstream from "${atom2.key}"`
|
|
1068
|
+
);
|
|
1069
|
+
evictDownStream(atom2, store);
|
|
1070
|
+
const update = { oldValue, newValue };
|
|
1071
|
+
if (store.transactionStatus.phase !== `building`) {
|
|
1072
|
+
emitUpdate(atom2, update, store);
|
|
1073
|
+
} else {
|
|
1074
|
+
stowUpdate(atom2, update, store);
|
|
1075
|
+
}
|
|
1076
|
+
};
|
|
1077
|
+
var setSelectorState = (selector, next, store = IMPLICIT.STORE) => {
|
|
1078
|
+
var _a2, _b;
|
|
1079
|
+
const oldValue = getState__INTERNAL(selector, store);
|
|
1080
|
+
const newValue = become(next)(oldValue);
|
|
1081
|
+
(_a2 = store.config.logger) == null ? void 0 : _a2.info(`<< setting selector "${selector.key}" to`, newValue);
|
|
1082
|
+
(_b = store.config.logger) == null ? void 0 : _b.info(` || propagating change made to "${selector.key}"`);
|
|
1083
|
+
selector.set(newValue);
|
|
1084
|
+
};
|
|
1085
|
+
var setState__INTERNAL = (state, value, store = IMPLICIT.STORE) => {
|
|
1086
|
+
if (`set` in state) {
|
|
1087
|
+
setSelectorState(state, value, store);
|
|
1088
|
+
} else {
|
|
1089
|
+
setAtomState(state, value, store);
|
|
1090
|
+
}
|
|
1091
|
+
};
|
|
1092
|
+
|
|
1093
|
+
// ../src/internal/subject.ts
|
|
1094
|
+
var Subject = class {
|
|
1095
|
+
constructor() {
|
|
1096
|
+
this.subscribers = [];
|
|
1097
|
+
}
|
|
1098
|
+
subscribe(subscriber) {
|
|
1099
|
+
this.subscribers.push(subscriber);
|
|
1100
|
+
const unsubscribe = () => this.unsubscribe(subscriber);
|
|
1101
|
+
return { unsubscribe };
|
|
1102
|
+
}
|
|
1103
|
+
unsubscribe(subscriber) {
|
|
1104
|
+
const subscriberIndex = this.subscribers.indexOf(subscriber);
|
|
1105
|
+
if (subscriberIndex !== -1) {
|
|
1106
|
+
this.subscribers.splice(subscriberIndex, 1);
|
|
1107
|
+
}
|
|
1108
|
+
}
|
|
1109
|
+
next(value) {
|
|
1110
|
+
for (const subscriber of this.subscribers) {
|
|
1111
|
+
subscriber(value);
|
|
1112
|
+
}
|
|
1113
|
+
}
|
|
1114
|
+
};
|
|
1115
|
+
|
|
1116
|
+
// ../src/internal/subscribe-internal.ts
|
|
1117
|
+
var stowUpdate = (state, update, store) => {
|
|
1118
|
+
var _a2;
|
|
1119
|
+
const { key } = state;
|
|
1120
|
+
const { logger } = store.config;
|
|
1121
|
+
if (store.transactionStatus.phase !== `building`) {
|
|
1122
|
+
(_a2 = store.config.logger) == null ? void 0 : _a2.warn(
|
|
1123
|
+
`stowUpdate called outside of a transaction. This is probably a bug.`
|
|
1124
|
+
);
|
|
1125
|
+
return;
|
|
1126
|
+
}
|
|
1127
|
+
store.transactionStatus.atomUpdates.push(__spreadValues({ key }, update));
|
|
1128
|
+
logger == null ? void 0 : logger.info(`\u{1F4DD} ${key} stowed (`, update.oldValue, `->`, update.newValue, `)`);
|
|
1129
|
+
};
|
|
1130
|
+
var emitUpdate = (state, update, store) => {
|
|
1131
|
+
const { key } = state;
|
|
1132
|
+
const { logger } = store.config;
|
|
1133
|
+
logger == null ? void 0 : logger.info(
|
|
1134
|
+
`\u{1F4E2} ${state.type} "${key}" went (`,
|
|
1135
|
+
update.oldValue,
|
|
1136
|
+
`->`,
|
|
1137
|
+
update.newValue,
|
|
1138
|
+
`)`
|
|
1139
|
+
);
|
|
1140
|
+
state.subject.next(update);
|
|
1141
|
+
};
|
|
1142
|
+
var subscribeToRootAtoms = (state, store) => {
|
|
1143
|
+
const dependencySubscriptions = `default` in state ? null : traceAllSelectorAtoms(state.key, store).map((atomToken) => {
|
|
1144
|
+
const atom2 = withdraw(atomToken, store);
|
|
1145
|
+
if (atom2 === null) {
|
|
1146
|
+
throw new Error(
|
|
1147
|
+
`Atom "${atomToken.key}", a dependency of selector "${state.key}", not found in store "${store.config.name}".`
|
|
1148
|
+
);
|
|
1149
|
+
}
|
|
1150
|
+
return atom2.subject.subscribe((atomChange) => {
|
|
1151
|
+
var _a2, _b;
|
|
1152
|
+
(_a2 = store.config.logger) == null ? void 0 : _a2.info(
|
|
1153
|
+
`\u{1F4E2} selector "${state.key}" saw root "${atomToken.key}" go (`,
|
|
1154
|
+
atomChange.oldValue,
|
|
1155
|
+
`->`,
|
|
1156
|
+
atomChange.newValue,
|
|
1157
|
+
`)`
|
|
1158
|
+
);
|
|
1159
|
+
const oldValue = recallState(state, store);
|
|
1160
|
+
const newValue = getState__INTERNAL(state, store);
|
|
1161
|
+
(_b = store.config.logger) == null ? void 0 : _b.info(
|
|
1162
|
+
` <- "${state.key}" went (`,
|
|
1163
|
+
oldValue,
|
|
1164
|
+
`->`,
|
|
1165
|
+
newValue,
|
|
1166
|
+
`)`
|
|
1167
|
+
);
|
|
1168
|
+
state.subject.next({ newValue, oldValue });
|
|
1169
|
+
});
|
|
1170
|
+
});
|
|
1171
|
+
return dependencySubscriptions;
|
|
1172
|
+
};
|
|
1173
|
+
|
|
1174
|
+
// ../src/atom.ts
|
|
1175
|
+
function atom(options) {
|
|
1176
|
+
return atom__INTERNAL(options);
|
|
1177
|
+
}
|
|
1178
|
+
function atomFamily(options) {
|
|
1179
|
+
return atomFamily__INTERNAL(options);
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1182
|
+
// ../src/subscribe.ts
|
|
1183
|
+
var subscribe = (token, handleUpdate, store = IMPLICIT.STORE) => {
|
|
1184
|
+
var _a2;
|
|
1185
|
+
const state = withdraw(token, store);
|
|
1186
|
+
if (state === null) {
|
|
1187
|
+
throw new Error(
|
|
1188
|
+
`State "${token.key}" not found in this store. Did you forget to initialize with the "atom" or "selector" function?`
|
|
1189
|
+
);
|
|
1190
|
+
}
|
|
1191
|
+
const subscription = state.subject.subscribe(handleUpdate);
|
|
1192
|
+
(_a2 = store.config.logger) == null ? void 0 : _a2.info(`\u{1F440} subscribe to "${state.key}"`);
|
|
1193
|
+
const dependencySubscriptions = state.type !== `atom` ? subscribeToRootAtoms(state, store) : null;
|
|
1194
|
+
const unsubscribe = dependencySubscriptions === null ? () => {
|
|
1195
|
+
var _a3;
|
|
1196
|
+
(_a3 = store.config.logger) == null ? void 0 : _a3.info(`\u{1F648} unsubscribe from "${state.key}"`);
|
|
1197
|
+
subscription.unsubscribe();
|
|
1198
|
+
} : () => {
|
|
1199
|
+
var _a3;
|
|
1200
|
+
(_a3 = store.config.logger) == null ? void 0 : _a3.info(
|
|
1201
|
+
`\u{1F648} unsubscribe from "${state.key}" and its dependencies`
|
|
1202
|
+
);
|
|
1203
|
+
subscription.unsubscribe();
|
|
1204
|
+
for (const dependencySubscription of dependencySubscriptions) {
|
|
1205
|
+
dependencySubscription.unsubscribe();
|
|
1206
|
+
}
|
|
1207
|
+
};
|
|
1208
|
+
return unsubscribe;
|
|
1209
|
+
};
|
|
1210
|
+
|
|
1211
|
+
// ../src/index.ts
|
|
1212
|
+
var setState = (token, value, store = IMPLICIT.STORE) => {
|
|
1213
|
+
try {
|
|
1214
|
+
openOperation(token, store);
|
|
1215
|
+
} catch (thrown) {
|
|
1216
|
+
if (!(typeof thrown === `symbol`)) {
|
|
1217
|
+
throw thrown;
|
|
1218
|
+
}
|
|
1219
|
+
return;
|
|
1220
|
+
}
|
|
1221
|
+
const state = withdraw(token, store);
|
|
1222
|
+
if (state === null) {
|
|
1223
|
+
throw new Error(
|
|
1224
|
+
`${capitalize(token.type)} "${token.key}" not found in store "${store.config.name}".`
|
|
1225
|
+
);
|
|
1226
|
+
}
|
|
1227
|
+
setState__INTERNAL(state, value, store);
|
|
1228
|
+
closeOperation(store);
|
|
1229
|
+
};
|
|
1230
|
+
|
|
1231
|
+
// ../src/introspection/attach-introspection-states.ts
|
|
1232
|
+
import { __INTERNAL__ as __INTERNAL__7 } from "atom.io";
|
|
1233
|
+
|
|
1234
|
+
// ../src/introspection/attach-atom-index.ts
|
|
1235
|
+
import { __INTERNAL__ } from "atom.io";
|
|
1236
|
+
var attachAtomIndex = (store = __INTERNAL__.IMPLICIT.STORE) => {
|
|
1237
|
+
const atomTokenIndexState__INTERNAL = __INTERNAL__.atom__INTERNAL(
|
|
1238
|
+
{
|
|
1239
|
+
key: `\u{1F441}\u200D\u{1F5E8} Atom Token Index (Internal)`,
|
|
1240
|
+
default: () => [...store.atoms].filter(([key]) => !key.includes(`\u{1F441}\u200D\u{1F5E8}`)).reduce((acc, [key]) => {
|
|
1241
|
+
acc[key] = { key, type: `atom` };
|
|
1242
|
+
return acc;
|
|
1243
|
+
}, {}),
|
|
1244
|
+
effects: [
|
|
1245
|
+
({ setSelf }) => {
|
|
1246
|
+
store.subject.atomCreation.subscribe((atomToken) => {
|
|
1247
|
+
if (store.operation.open) {
|
|
1248
|
+
return;
|
|
1249
|
+
}
|
|
1250
|
+
if (atomToken.key.includes(`\u{1F441}\u200D\u{1F5E8}`)) {
|
|
1251
|
+
return;
|
|
1252
|
+
}
|
|
1253
|
+
setSelf((state) => {
|
|
1254
|
+
const { key, family } = atomToken;
|
|
1255
|
+
if (family) {
|
|
1256
|
+
const { key: familyKey, subKey } = family;
|
|
1257
|
+
const current = state[familyKey];
|
|
1258
|
+
if (current === void 0 || `familyMembers` in current) {
|
|
1259
|
+
const familyKeyState = current || {
|
|
1260
|
+
key: familyKey,
|
|
1261
|
+
familyMembers: {}
|
|
1262
|
+
};
|
|
1263
|
+
return __spreadProps(__spreadValues({}, state), {
|
|
1264
|
+
[familyKey]: __spreadProps(__spreadValues({}, familyKeyState), {
|
|
1265
|
+
familyMembers: __spreadProps(__spreadValues({}, familyKeyState.familyMembers), {
|
|
1266
|
+
[subKey]: atomToken
|
|
1267
|
+
})
|
|
1268
|
+
})
|
|
1269
|
+
});
|
|
1270
|
+
}
|
|
1271
|
+
}
|
|
1272
|
+
return __spreadProps(__spreadValues({}, state), {
|
|
1273
|
+
[key]: atomToken
|
|
1274
|
+
});
|
|
1275
|
+
});
|
|
1276
|
+
});
|
|
1277
|
+
}
|
|
1278
|
+
]
|
|
1279
|
+
},
|
|
1280
|
+
void 0,
|
|
1281
|
+
store
|
|
1282
|
+
);
|
|
1283
|
+
return __INTERNAL__.selector__INTERNAL(
|
|
1284
|
+
{
|
|
1285
|
+
key: `\u{1F441}\u200D\u{1F5E8} Atom Token Index`,
|
|
1286
|
+
get: ({ get }) => get(atomTokenIndexState__INTERNAL)
|
|
1287
|
+
},
|
|
1288
|
+
void 0,
|
|
1289
|
+
store
|
|
1290
|
+
);
|
|
1291
|
+
};
|
|
1292
|
+
|
|
1293
|
+
// ../src/introspection/attach-selector-index.ts
|
|
1294
|
+
import { __INTERNAL__ as __INTERNAL__2 } from "atom.io";
|
|
1295
|
+
var attachSelectorIndex = (store = __INTERNAL__2.IMPLICIT.STORE) => {
|
|
1296
|
+
const readonlySelectorTokenIndexState__INTERNAL = __INTERNAL__2.atom__INTERNAL(
|
|
1297
|
+
{
|
|
1298
|
+
key: `\u{1F441}\u200D\u{1F5E8} Selector Token Index (Internal)`,
|
|
1299
|
+
default: () => Object.assign(
|
|
1300
|
+
[...store.readonlySelectors].filter(([key]) => !key.includes(`\u{1F441}\u200D\u{1F5E8}`)).reduce((acc, [key]) => {
|
|
1301
|
+
acc[key] = { key, type: `readonly_selector` };
|
|
1302
|
+
return acc;
|
|
1303
|
+
}, {}),
|
|
1304
|
+
[...store.selectors].reduce((acc, [key]) => {
|
|
1305
|
+
acc[key] = { key, type: `selector` };
|
|
1306
|
+
return acc;
|
|
1307
|
+
}, {})
|
|
1308
|
+
),
|
|
1309
|
+
effects: [
|
|
1310
|
+
({ setSelf }) => {
|
|
1311
|
+
store.subject.selectorCreation.subscribe((selectorToken) => {
|
|
1312
|
+
if (store.operation.open) {
|
|
1313
|
+
return;
|
|
1314
|
+
}
|
|
1315
|
+
if (selectorToken.key.includes(`\u{1F441}\u200D\u{1F5E8}`)) {
|
|
1316
|
+
return;
|
|
1317
|
+
}
|
|
1318
|
+
setSelf((state) => {
|
|
1319
|
+
const { key, family } = selectorToken;
|
|
1320
|
+
if (family) {
|
|
1321
|
+
const { key: familyKey, subKey } = family;
|
|
1322
|
+
const current = state[familyKey];
|
|
1323
|
+
if (current === void 0 || `familyMembers` in current) {
|
|
1324
|
+
const familyKeyState = current || {
|
|
1325
|
+
key: familyKey,
|
|
1326
|
+
familyMembers: {}
|
|
1327
|
+
};
|
|
1328
|
+
return __spreadProps(__spreadValues({}, state), {
|
|
1329
|
+
[familyKey]: __spreadProps(__spreadValues({}, familyKeyState), {
|
|
1330
|
+
familyMembers: __spreadProps(__spreadValues({}, familyKeyState.familyMembers), {
|
|
1331
|
+
[subKey]: selectorToken
|
|
1332
|
+
})
|
|
1333
|
+
})
|
|
1334
|
+
});
|
|
1335
|
+
}
|
|
1336
|
+
}
|
|
1337
|
+
return __spreadProps(__spreadValues({}, state), {
|
|
1338
|
+
[key]: selectorToken
|
|
1339
|
+
});
|
|
1340
|
+
});
|
|
1341
|
+
});
|
|
1342
|
+
}
|
|
1343
|
+
]
|
|
1344
|
+
},
|
|
1345
|
+
void 0,
|
|
1346
|
+
store
|
|
1347
|
+
);
|
|
1348
|
+
return __INTERNAL__2.selector__INTERNAL({
|
|
1349
|
+
key: `\u{1F441}\u200D\u{1F5E8} Selector Token Index`,
|
|
1350
|
+
get: ({ get }) => get(readonlySelectorTokenIndexState__INTERNAL)
|
|
1351
|
+
});
|
|
1352
|
+
};
|
|
1353
|
+
|
|
1354
|
+
// ../src/introspection/attach-timeline-family.ts
|
|
1355
|
+
import { __INTERNAL__ as __INTERNAL__3 } from "atom.io";
|
|
1356
|
+
var attachTimelineFamily = (store = __INTERNAL__3.IMPLICIT.STORE) => {
|
|
1357
|
+
const findTimelineLogState__INTERNAL = __INTERNAL__3.atomFamily__INTERNAL(
|
|
1358
|
+
{
|
|
1359
|
+
key: `\u{1F441}\u200D\u{1F5E8} Timeline Update Log (Internal)`,
|
|
1360
|
+
default: (key) => {
|
|
1361
|
+
var _a2;
|
|
1362
|
+
return (_a2 = store.timelines.get(key)) != null ? _a2 : {
|
|
1363
|
+
key: ``,
|
|
1364
|
+
at: 0,
|
|
1365
|
+
timeTraveling: false,
|
|
1366
|
+
history: [],
|
|
1367
|
+
selectorTime: null,
|
|
1368
|
+
transactionKey: null,
|
|
1369
|
+
install: () => {
|
|
1370
|
+
},
|
|
1371
|
+
subject: new Subject()
|
|
1372
|
+
};
|
|
1373
|
+
},
|
|
1374
|
+
effects: (key) => [
|
|
1375
|
+
({ setSelf }) => {
|
|
1376
|
+
const tl = store.timelines.get(key);
|
|
1377
|
+
tl == null ? void 0 : tl.subject.subscribe((_) => {
|
|
1378
|
+
if (store.operation.open === true) {
|
|
1379
|
+
const subscription = store.subject.operationStatus.subscribe(
|
|
1380
|
+
(operationStatus) => {
|
|
1381
|
+
if (operationStatus.open === false) {
|
|
1382
|
+
subscription.unsubscribe();
|
|
1383
|
+
setSelf(__spreadValues({}, tl));
|
|
1384
|
+
}
|
|
1385
|
+
}
|
|
1386
|
+
);
|
|
1387
|
+
} else {
|
|
1388
|
+
setSelf(__spreadValues({}, tl));
|
|
1389
|
+
}
|
|
1390
|
+
});
|
|
1391
|
+
}
|
|
1392
|
+
]
|
|
1393
|
+
},
|
|
1394
|
+
store
|
|
1395
|
+
);
|
|
1396
|
+
const findTimelineLogState = __INTERNAL__3.selectorFamily__INTERNAL(
|
|
1397
|
+
{
|
|
1398
|
+
key: `\u{1F441}\u200D\u{1F5E8} Timeline Update Log`,
|
|
1399
|
+
get: (key) => ({ get }) => get(findTimelineLogState__INTERNAL(key))
|
|
1400
|
+
},
|
|
1401
|
+
store
|
|
1402
|
+
);
|
|
1403
|
+
return findTimelineLogState;
|
|
1404
|
+
};
|
|
1405
|
+
|
|
1406
|
+
// ../src/introspection/attach-timeline-index.ts
|
|
1407
|
+
import { __INTERNAL__ as __INTERNAL__4 } from "atom.io";
|
|
1408
|
+
var attachTimelineIndex = (store = __INTERNAL__4.IMPLICIT.STORE) => {
|
|
1409
|
+
const timelineTokenIndexState__INTERNAL = __INTERNAL__4.atom__INTERNAL(
|
|
1410
|
+
{
|
|
1411
|
+
key: `\u{1F441}\u200D\u{1F5E8} Timeline Token Index (Internal)`,
|
|
1412
|
+
default: () => [...store.timelines].map(([key]) => {
|
|
1413
|
+
return { key, type: `timeline` };
|
|
1414
|
+
}),
|
|
1415
|
+
effects: [
|
|
1416
|
+
({ setSelf }) => {
|
|
1417
|
+
store.subject.timelineCreation.subscribe((timelineToken) => {
|
|
1418
|
+
setSelf((state) => [...state, timelineToken]);
|
|
1419
|
+
});
|
|
1420
|
+
}
|
|
1421
|
+
]
|
|
1422
|
+
},
|
|
1423
|
+
void 0,
|
|
1424
|
+
store
|
|
1425
|
+
);
|
|
1426
|
+
const timelineTokenIndex = __INTERNAL__4.selector__INTERNAL(
|
|
1427
|
+
{
|
|
1428
|
+
key: `\u{1F441}\u200D\u{1F5E8} Timeline Token Index`,
|
|
1429
|
+
get: ({ get }) => get(timelineTokenIndexState__INTERNAL)
|
|
1430
|
+
},
|
|
1431
|
+
void 0,
|
|
1432
|
+
store
|
|
1433
|
+
);
|
|
1434
|
+
return timelineTokenIndex;
|
|
1435
|
+
};
|
|
1436
|
+
|
|
1437
|
+
// ../src/introspection/attach-transaction-index.ts
|
|
1438
|
+
import { __INTERNAL__ as __INTERNAL__5 } from "atom.io";
|
|
1439
|
+
var attachTransactionIndex = (store = __INTERNAL__5.IMPLICIT.STORE) => {
|
|
1440
|
+
const transactionTokenIndexState__INTERNAL = __INTERNAL__5.atom__INTERNAL(
|
|
1441
|
+
{
|
|
1442
|
+
key: `\u{1F441}\u200D\u{1F5E8} Transaction Token Index (Internal)`,
|
|
1443
|
+
default: () => [...store.transactions].map(([key]) => {
|
|
1444
|
+
return { key, type: `transaction` };
|
|
1445
|
+
}),
|
|
1446
|
+
effects: [
|
|
1447
|
+
({ setSelf }) => {
|
|
1448
|
+
store.subject.transactionCreation.subscribe((transactionToken) => {
|
|
1449
|
+
setSelf((state) => [...state, transactionToken]);
|
|
1450
|
+
});
|
|
1451
|
+
}
|
|
1452
|
+
]
|
|
1453
|
+
},
|
|
1454
|
+
void 0,
|
|
1455
|
+
store
|
|
1456
|
+
);
|
|
1457
|
+
const transactionTokenIndex = __INTERNAL__5.selector__INTERNAL(
|
|
1458
|
+
{
|
|
1459
|
+
key: `\u{1F441}\u200D\u{1F5E8} Transaction Token Index`,
|
|
1460
|
+
get: ({ get }) => get(transactionTokenIndexState__INTERNAL)
|
|
1461
|
+
},
|
|
1462
|
+
void 0,
|
|
1463
|
+
store
|
|
1464
|
+
);
|
|
1465
|
+
return transactionTokenIndex;
|
|
1466
|
+
};
|
|
1467
|
+
|
|
1468
|
+
// ../src/introspection/attach-transaction-logs.ts
|
|
1469
|
+
import { __INTERNAL__ as __INTERNAL__6 } from "atom.io";
|
|
1470
|
+
var attachTransactionLogs = (store = __INTERNAL__6.IMPLICIT.STORE) => {
|
|
1471
|
+
const findTransactionUpdateLog = __INTERNAL__6.atomFamily__INTERNAL(
|
|
1472
|
+
{
|
|
1473
|
+
key: `\u{1F441}\u200D\u{1F5E8} Transaction Update Log (Internal)`,
|
|
1474
|
+
default: () => [],
|
|
1475
|
+
effects: (key) => [
|
|
1476
|
+
({ setSelf }) => {
|
|
1477
|
+
const tx = store.transactions.get(key);
|
|
1478
|
+
tx == null ? void 0 : tx.subject.subscribe((transactionUpdate) => {
|
|
1479
|
+
if (transactionUpdate.key === key) {
|
|
1480
|
+
setSelf((state) => [...state, transactionUpdate]);
|
|
1481
|
+
}
|
|
1482
|
+
});
|
|
1483
|
+
}
|
|
1484
|
+
]
|
|
1485
|
+
},
|
|
1486
|
+
store
|
|
1487
|
+
);
|
|
1488
|
+
const findTransactionUpdateLogState = __INTERNAL__6.selectorFamily__INTERNAL(
|
|
1489
|
+
{
|
|
1490
|
+
key: `\u{1F441}\u200D\u{1F5E8} Transaction Update Log`,
|
|
1491
|
+
get: (key) => ({ get }) => get(findTransactionUpdateLog(key))
|
|
1492
|
+
},
|
|
1493
|
+
store
|
|
1494
|
+
);
|
|
1495
|
+
return findTransactionUpdateLogState;
|
|
1496
|
+
};
|
|
1497
|
+
|
|
1498
|
+
// ../src/introspection/attach-introspection-states.ts
|
|
1499
|
+
var attachIntrospectionStates = (store = __INTERNAL__7.IMPLICIT.STORE) => {
|
|
1500
|
+
return {
|
|
1501
|
+
atomIndex: attachAtomIndex(store),
|
|
1502
|
+
selectorIndex: attachSelectorIndex(store),
|
|
1503
|
+
transactionIndex: attachTransactionIndex(store),
|
|
1504
|
+
findTransactionLogState: attachTransactionLogs(store),
|
|
1505
|
+
timelineIndex: attachTimelineIndex(store),
|
|
1506
|
+
findTimelineState: attachTimelineFamily(store)
|
|
1507
|
+
};
|
|
1508
|
+
};
|
|
1509
|
+
|
|
1510
|
+
// ../src/web-effects/storage.ts
|
|
1511
|
+
var persistAtom = (storage) => ({ stringify, parse }) => (key) => ({ setSelf, onSet }) => {
|
|
1512
|
+
const savedValue = storage.getItem(key);
|
|
1513
|
+
if (savedValue != null)
|
|
1514
|
+
setSelf(parse(savedValue));
|
|
1515
|
+
onSet(({ newValue }) => {
|
|
1516
|
+
if (newValue == null) {
|
|
1517
|
+
storage.removeItem(key);
|
|
1518
|
+
return;
|
|
1519
|
+
}
|
|
1520
|
+
storage.setItem(key, stringify(newValue));
|
|
1521
|
+
});
|
|
1522
|
+
};
|
|
1523
|
+
var lazyLocalStorageEffect = persistAtom(localStorage)(JSON);
|
|
1524
|
+
|
|
1525
|
+
// ../src/react-devtools/AtomIODevtools.tsx
|
|
1526
|
+
import { useO as useO5, useIO as useIO5 } from "atom.io/react";
|
|
1527
|
+
import { LayoutGroup, motion, spring } from "framer-motion";
|
|
1528
|
+
import { useRef as useRef4 } from "react";
|
|
1529
|
+
|
|
1530
|
+
// ../src/react-devtools/StateIndex.tsx
|
|
1531
|
+
import { getState, selectorFamily } from "atom.io";
|
|
1532
|
+
import { useO as useO2, useIO as useIO2 } from "atom.io/react";
|
|
1533
|
+
|
|
1534
|
+
// ../src/react-devtools/Button.tsx
|
|
1535
|
+
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
1536
|
+
var OpenClose = ({ isOpen, setIsOpen, disabled }) => {
|
|
1537
|
+
return /* @__PURE__ */ jsxDEV(
|
|
1538
|
+
"button",
|
|
1539
|
+
{
|
|
1540
|
+
type: "button",
|
|
1541
|
+
className: `carat ${isOpen ? `open` : `closed`}`,
|
|
1542
|
+
onClick: () => setIsOpen((isOpen2) => !isOpen2),
|
|
1543
|
+
disabled,
|
|
1544
|
+
children: "\u25B6"
|
|
1545
|
+
},
|
|
1546
|
+
void 0,
|
|
1547
|
+
false,
|
|
1548
|
+
{
|
|
1549
|
+
fileName: "../src/react-devtools/Button.tsx",
|
|
1550
|
+
lineNumber: 11,
|
|
1551
|
+
columnNumber: 3
|
|
1552
|
+
},
|
|
1553
|
+
this
|
|
1554
|
+
);
|
|
1555
|
+
};
|
|
1556
|
+
var button = {
|
|
1557
|
+
OpenClose
|
|
1558
|
+
};
|
|
1559
|
+
|
|
1560
|
+
// ../src/react-devtools/StateEditor.tsx
|
|
1561
|
+
import { useO, useIO } from "atom.io/react";
|
|
1562
|
+
|
|
1563
|
+
// ../../hamr/src/react-elastic-input/ElasticInput.tsx
|
|
1564
|
+
import {
|
|
1565
|
+
useLayoutEffect,
|
|
1566
|
+
useImperativeHandle,
|
|
1567
|
+
forwardRef,
|
|
1568
|
+
useRef,
|
|
1569
|
+
useState
|
|
1570
|
+
} from "react";
|
|
1571
|
+
import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
|
|
1572
|
+
var ElasticInput = forwardRef(function ElasticInputFC(props, ref) {
|
|
1573
|
+
var _a2, _b, _c, _d;
|
|
1574
|
+
const inputRef = useRef(null);
|
|
1575
|
+
const spanRef = useRef(null);
|
|
1576
|
+
const [inputWidth, setInputWidth] = useState(`auto`);
|
|
1577
|
+
useImperativeHandle(ref, () => ({
|
|
1578
|
+
focus: () => {
|
|
1579
|
+
var _a3;
|
|
1580
|
+
(_a3 = inputRef.current) == null ? void 0 : _a3.focus();
|
|
1581
|
+
}
|
|
1582
|
+
}));
|
|
1583
|
+
const extraWidth = props.type === `number` ? 15 : 0;
|
|
1584
|
+
useLayoutEffect(() => {
|
|
1585
|
+
if (spanRef.current) {
|
|
1586
|
+
setInputWidth(`${spanRef.current.offsetWidth + extraWidth}px`);
|
|
1587
|
+
const interval = setInterval(() => {
|
|
1588
|
+
if (spanRef.current) {
|
|
1589
|
+
setInputWidth(`${spanRef.current.offsetWidth + extraWidth}px`);
|
|
1590
|
+
}
|
|
1591
|
+
}, 1e3);
|
|
1592
|
+
return () => clearInterval(interval);
|
|
1593
|
+
}
|
|
1594
|
+
}, [(_a2 = inputRef.current) == null ? void 0 : _a2.value, props.value]);
|
|
1595
|
+
return /* @__PURE__ */ jsxDEV2("div", { style: { display: `inline-block`, position: `relative` }, children: [
|
|
1596
|
+
/* @__PURE__ */ jsxDEV2(
|
|
1597
|
+
"input",
|
|
1598
|
+
__spreadProps(__spreadValues({}, props), {
|
|
1599
|
+
ref: inputRef,
|
|
1600
|
+
style: __spreadValues({
|
|
1601
|
+
padding: 0,
|
|
1602
|
+
borderRadius: 0,
|
|
1603
|
+
border: `none`,
|
|
1604
|
+
fontFamily: `inherit`,
|
|
1605
|
+
fontSize: `inherit`,
|
|
1606
|
+
width: inputWidth
|
|
1607
|
+
}, props.style)
|
|
1608
|
+
}),
|
|
1609
|
+
void 0,
|
|
1610
|
+
false,
|
|
1611
|
+
{
|
|
1612
|
+
fileName: "../../hamr/src/react-elastic-input/ElasticInput.tsx",
|
|
1613
|
+
lineNumber: 45,
|
|
1614
|
+
columnNumber: 4
|
|
1615
|
+
},
|
|
1616
|
+
this
|
|
1617
|
+
),
|
|
1618
|
+
/* @__PURE__ */ jsxDEV2(
|
|
1619
|
+
"span",
|
|
1620
|
+
{
|
|
1621
|
+
ref: spanRef,
|
|
1622
|
+
style: {
|
|
1623
|
+
padding: (_b = props.style) == null ? void 0 : _b.padding,
|
|
1624
|
+
position: `absolute`,
|
|
1625
|
+
visibility: `hidden`,
|
|
1626
|
+
// color: `red`,
|
|
1627
|
+
whiteSpace: `pre`,
|
|
1628
|
+
fontFamily: ((_c = props.style) == null ? void 0 : _c.fontFamily) || `inherit`,
|
|
1629
|
+
fontSize: ((_d = props.style) == null ? void 0 : _d.fontSize) || `inherit`
|
|
1630
|
+
},
|
|
1631
|
+
children: props.value
|
|
1632
|
+
},
|
|
1633
|
+
void 0,
|
|
1634
|
+
false,
|
|
1635
|
+
{
|
|
1636
|
+
fileName: "../../hamr/src/react-elastic-input/ElasticInput.tsx",
|
|
1637
|
+
lineNumber: 58,
|
|
1638
|
+
columnNumber: 4
|
|
1639
|
+
},
|
|
1640
|
+
this
|
|
1641
|
+
)
|
|
1642
|
+
] }, void 0, true, {
|
|
1643
|
+
fileName: "../../hamr/src/react-elastic-input/ElasticInput.tsx",
|
|
1644
|
+
lineNumber: 44,
|
|
1645
|
+
columnNumber: 3
|
|
1646
|
+
}, this);
|
|
1647
|
+
});
|
|
1648
|
+
|
|
1649
|
+
// ../../hamr/src/react-elastic-input/NumberInput.tsx
|
|
1650
|
+
import { pipe as pipe7 } from "fp-ts/function";
|
|
1651
|
+
import { useState as useState2, useId, useRef as useRef2 } from "react";
|
|
1652
|
+
|
|
1653
|
+
// ../../anvl/src/number/clamp.ts
|
|
1654
|
+
var clampInto = (min, max) => (value) => value < min ? min : value > max ? max : value;
|
|
1655
|
+
|
|
1656
|
+
// ../../hamr/src/react-elastic-input/NumberInput.tsx
|
|
1657
|
+
import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
|
|
1658
|
+
function round(value, decimalPlaces) {
|
|
1659
|
+
if (decimalPlaces === void 0)
|
|
1660
|
+
return value;
|
|
1661
|
+
const factor = Math.pow(10, decimalPlaces);
|
|
1662
|
+
return Math.round(value * factor) / factor;
|
|
1663
|
+
}
|
|
1664
|
+
var VALID_NON_NUMBERS = [``, `-`, `.`, `-.`];
|
|
1665
|
+
var isValidNonNumber = (input) => VALID_NON_NUMBERS.includes(input);
|
|
1666
|
+
var VALID_NON_NUMBER_INTERPRETATIONS = {
|
|
1667
|
+
"": null,
|
|
1668
|
+
"-": 0,
|
|
1669
|
+
".": 0,
|
|
1670
|
+
"-.": 0
|
|
1671
|
+
};
|
|
1672
|
+
var isDecimalInProgress = (input) => input === `0` || !isNaN(Number(input)) && input.includes(`.`);
|
|
1673
|
+
var textToValue = (input, allowDecimal) => {
|
|
1674
|
+
if (isValidNonNumber(input))
|
|
1675
|
+
return VALID_NON_NUMBER_INTERPRETATIONS[input];
|
|
1676
|
+
return allowDecimal ? parseFloat(input) : Math.round(parseFloat(input));
|
|
1677
|
+
};
|
|
1678
|
+
var DEFAULT_NUMBER_CONSTRAINTS = {
|
|
1679
|
+
max: Infinity,
|
|
1680
|
+
min: -Infinity,
|
|
1681
|
+
decimalPlaces: 100,
|
|
1682
|
+
nullable: true
|
|
1683
|
+
};
|
|
1684
|
+
var initRefinery = (constraints) => (input) => {
|
|
1685
|
+
if (input === null && constraints.nullable === true) {
|
|
1686
|
+
return null;
|
|
1687
|
+
}
|
|
1688
|
+
const { max, min, decimalPlaces } = __spreadValues(__spreadValues({}, DEFAULT_NUMBER_CONSTRAINTS), constraints);
|
|
1689
|
+
const constrained = pipe7(
|
|
1690
|
+
input != null ? input : 0,
|
|
1691
|
+
clampInto(min, max),
|
|
1692
|
+
(n) => decimalPlaces ? round(n, decimalPlaces) : n
|
|
1693
|
+
);
|
|
1694
|
+
return constrained;
|
|
1695
|
+
};
|
|
1696
|
+
var valueToText = (numericValue) => {
|
|
1697
|
+
if (numericValue === null || numericValue === void 0) {
|
|
1698
|
+
return ``;
|
|
1699
|
+
}
|
|
1700
|
+
return numericValue.toString();
|
|
1701
|
+
};
|
|
1702
|
+
var NumberInput = ({
|
|
319
1703
|
autoSize = false,
|
|
320
1704
|
customCss,
|
|
321
1705
|
decimalPlaces,
|
|
@@ -366,13 +1750,13 @@ var NumberInput = ({
|
|
|
366
1750
|
}
|
|
367
1751
|
};
|
|
368
1752
|
const displayValue = temporaryEntry != null ? temporaryEntry : valueToText(value ? refine(value) : value);
|
|
369
|
-
return /* @__PURE__ */
|
|
370
|
-
label && /* @__PURE__ */
|
|
1753
|
+
return /* @__PURE__ */ jsxDEV3("span", { css: customCss, children: [
|
|
1754
|
+
label && /* @__PURE__ */ jsxDEV3("label", { htmlFor: id, children: label }, void 0, false, {
|
|
371
1755
|
fileName: "../../hamr/src/react-elastic-input/NumberInput.tsx",
|
|
372
1756
|
lineNumber: 166,
|
|
373
1757
|
columnNumber: 14
|
|
374
1758
|
}, this),
|
|
375
|
-
autoSize ? /* @__PURE__ */
|
|
1759
|
+
autoSize ? /* @__PURE__ */ jsxDEV3(
|
|
376
1760
|
ElasticInput,
|
|
377
1761
|
{
|
|
378
1762
|
type: "text",
|
|
@@ -394,7 +1778,7 @@ var NumberInput = ({
|
|
|
394
1778
|
columnNumber: 5
|
|
395
1779
|
},
|
|
396
1780
|
this
|
|
397
|
-
) : /* @__PURE__ */
|
|
1781
|
+
) : /* @__PURE__ */ jsxDEV3(
|
|
398
1782
|
"input",
|
|
399
1783
|
{
|
|
400
1784
|
type: "text",
|
|
@@ -425,7 +1809,7 @@ var NumberInput = ({
|
|
|
425
1809
|
};
|
|
426
1810
|
|
|
427
1811
|
// ../../hamr/src/react-elastic-input/TextInput.tsx
|
|
428
|
-
import { jsxDEV as
|
|
1812
|
+
import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
|
|
429
1813
|
var TextInput = ({
|
|
430
1814
|
value,
|
|
431
1815
|
set,
|
|
@@ -434,13 +1818,13 @@ var TextInput = ({
|
|
|
434
1818
|
customCss,
|
|
435
1819
|
autoSize = false
|
|
436
1820
|
}) => {
|
|
437
|
-
return /* @__PURE__ */
|
|
438
|
-
/* @__PURE__ */
|
|
1821
|
+
return /* @__PURE__ */ jsxDEV4("span", { css: customCss, children: [
|
|
1822
|
+
/* @__PURE__ */ jsxDEV4("label", { children: label }, void 0, false, {
|
|
439
1823
|
fileName: "../../hamr/src/react-elastic-input/TextInput.tsx",
|
|
440
|
-
lineNumber:
|
|
1824
|
+
lineNumber: 26,
|
|
441
1825
|
columnNumber: 4
|
|
442
1826
|
}, this),
|
|
443
|
-
autoSize ? /* @__PURE__ */
|
|
1827
|
+
autoSize ? /* @__PURE__ */ jsxDEV4(
|
|
444
1828
|
ElasticInput,
|
|
445
1829
|
{
|
|
446
1830
|
type: "text",
|
|
@@ -453,11 +1837,11 @@ var TextInput = ({
|
|
|
453
1837
|
false,
|
|
454
1838
|
{
|
|
455
1839
|
fileName: "../../hamr/src/react-elastic-input/TextInput.tsx",
|
|
456
|
-
lineNumber:
|
|
1840
|
+
lineNumber: 28,
|
|
457
1841
|
columnNumber: 5
|
|
458
1842
|
},
|
|
459
1843
|
this
|
|
460
|
-
) : /* @__PURE__ */
|
|
1844
|
+
) : /* @__PURE__ */ jsxDEV4(
|
|
461
1845
|
"input",
|
|
462
1846
|
{
|
|
463
1847
|
type: "text",
|
|
@@ -470,14 +1854,14 @@ var TextInput = ({
|
|
|
470
1854
|
false,
|
|
471
1855
|
{
|
|
472
1856
|
fileName: "../../hamr/src/react-elastic-input/TextInput.tsx",
|
|
473
|
-
lineNumber:
|
|
1857
|
+
lineNumber: 36,
|
|
474
1858
|
columnNumber: 5
|
|
475
1859
|
},
|
|
476
1860
|
this
|
|
477
1861
|
)
|
|
478
1862
|
] }, void 0, true, {
|
|
479
1863
|
fileName: "../../hamr/src/react-elastic-input/TextInput.tsx",
|
|
480
|
-
lineNumber:
|
|
1864
|
+
lineNumber: 25,
|
|
481
1865
|
columnNumber: 3
|
|
482
1866
|
}, this);
|
|
483
1867
|
};
|
|
@@ -491,8 +1875,32 @@ var makeElementSetters = (data, set) => data.map(
|
|
|
491
1875
|
})
|
|
492
1876
|
);
|
|
493
1877
|
|
|
1878
|
+
// ../../hamr/src/react-json-editor/editors-by-type/non-json.tsx
|
|
1879
|
+
import { jsxDEV as jsxDEV5 } from "react/jsx-dev-runtime";
|
|
1880
|
+
var NonJsonEditor = ({ data }) => {
|
|
1881
|
+
return data === void 0 ? /* @__PURE__ */ jsxDEV5(ElasticInput, { disabled: true, value: "undefined" }, void 0, false, {
|
|
1882
|
+
fileName: "../../hamr/src/react-json-editor/editors-by-type/non-json.tsx",
|
|
1883
|
+
lineNumber: 6,
|
|
1884
|
+
columnNumber: 3
|
|
1885
|
+
}, this) : /* @__PURE__ */ jsxDEV5(
|
|
1886
|
+
ElasticInput,
|
|
1887
|
+
{
|
|
1888
|
+
disabled: true,
|
|
1889
|
+
value: Object.getPrototypeOf(data).constructor.name + ` ` + JSON.stringify(data)
|
|
1890
|
+
},
|
|
1891
|
+
void 0,
|
|
1892
|
+
false,
|
|
1893
|
+
{
|
|
1894
|
+
fileName: "../../hamr/src/react-json-editor/editors-by-type/non-json.tsx",
|
|
1895
|
+
lineNumber: 8,
|
|
1896
|
+
columnNumber: 3
|
|
1897
|
+
},
|
|
1898
|
+
this
|
|
1899
|
+
);
|
|
1900
|
+
};
|
|
1901
|
+
|
|
494
1902
|
// ../../hamr/src/react-json-editor/json-editor-internal.tsx
|
|
495
|
-
import { jsxDEV as
|
|
1903
|
+
import { jsxDEV as jsxDEV6 } from "react/jsx-dev-runtime";
|
|
496
1904
|
var JsonEditor_INTERNAL = ({
|
|
497
1905
|
data,
|
|
498
1906
|
set,
|
|
@@ -509,18 +1917,19 @@ var JsonEditor_INTERNAL = ({
|
|
|
509
1917
|
Header: HeaderDisplay,
|
|
510
1918
|
Components
|
|
511
1919
|
}) => {
|
|
512
|
-
const
|
|
513
|
-
const
|
|
1920
|
+
const dataIsJson = isJson(data);
|
|
1921
|
+
const refined = dataIsJson ? refineJsonType(data) : { type: `non-json`, data };
|
|
1922
|
+
const SubEditor = dataIsJson ? SubEditors[refined.type] : NonJsonEditor;
|
|
514
1923
|
const disabled = isReadonly(path);
|
|
515
|
-
return isHidden(path) ? null : /* @__PURE__ */
|
|
516
|
-
remove && /* @__PURE__ */
|
|
1924
|
+
return isHidden(path) ? null : /* @__PURE__ */ jsxDEV6(Components.ErrorBoundary, { children: /* @__PURE__ */ jsxDEV6(Components.EditorWrapper, { className, customCss, children: [
|
|
1925
|
+
remove && /* @__PURE__ */ jsxDEV6(
|
|
517
1926
|
Components.Button,
|
|
518
1927
|
{
|
|
519
1928
|
onClick: disabled ? doNothing : remove,
|
|
520
1929
|
disabled,
|
|
521
|
-
children: /* @__PURE__ */
|
|
1930
|
+
children: /* @__PURE__ */ jsxDEV6(Components.DeleteIcon, {}, void 0, false, {
|
|
522
1931
|
fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
|
|
523
|
-
lineNumber:
|
|
1932
|
+
lineNumber: 63,
|
|
524
1933
|
columnNumber: 7
|
|
525
1934
|
}, this)
|
|
526
1935
|
},
|
|
@@ -528,17 +1937,17 @@ var JsonEditor_INTERNAL = ({
|
|
|
528
1937
|
false,
|
|
529
1938
|
{
|
|
530
1939
|
fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
|
|
531
|
-
lineNumber:
|
|
1940
|
+
lineNumber: 59,
|
|
532
1941
|
columnNumber: 6
|
|
533
1942
|
},
|
|
534
1943
|
this
|
|
535
1944
|
),
|
|
536
|
-
HeaderDisplay && /* @__PURE__ */
|
|
1945
|
+
HeaderDisplay && /* @__PURE__ */ jsxDEV6(HeaderDisplay, { data, schema }, void 0, false, {
|
|
537
1946
|
fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
|
|
538
|
-
lineNumber:
|
|
1947
|
+
lineNumber: 66,
|
|
539
1948
|
columnNumber: 23
|
|
540
1949
|
}, this),
|
|
541
|
-
rename && /* @__PURE__ */
|
|
1950
|
+
rename && /* @__PURE__ */ jsxDEV6(Components.KeyWrapper, { children: /* @__PURE__ */ jsxDEV6(
|
|
542
1951
|
ElasticInput,
|
|
543
1952
|
{
|
|
544
1953
|
value: name,
|
|
@@ -549,19 +1958,19 @@ var JsonEditor_INTERNAL = ({
|
|
|
549
1958
|
false,
|
|
550
1959
|
{
|
|
551
1960
|
fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
|
|
552
|
-
lineNumber:
|
|
1961
|
+
lineNumber: 69,
|
|
553
1962
|
columnNumber: 7
|
|
554
1963
|
},
|
|
555
1964
|
this
|
|
556
1965
|
) }, void 0, false, {
|
|
557
1966
|
fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
|
|
558
|
-
lineNumber:
|
|
1967
|
+
lineNumber: 68,
|
|
559
1968
|
columnNumber: 6
|
|
560
1969
|
}, this),
|
|
561
|
-
/* @__PURE__ */
|
|
1970
|
+
/* @__PURE__ */ jsxDEV6(
|
|
562
1971
|
SubEditor,
|
|
563
1972
|
{
|
|
564
|
-
data:
|
|
1973
|
+
data: refined.data,
|
|
565
1974
|
set,
|
|
566
1975
|
schema,
|
|
567
1976
|
remove,
|
|
@@ -575,20 +1984,20 @@ var JsonEditor_INTERNAL = ({
|
|
|
575
1984
|
false,
|
|
576
1985
|
{
|
|
577
1986
|
fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
|
|
578
|
-
lineNumber:
|
|
1987
|
+
lineNumber: 76,
|
|
579
1988
|
columnNumber: 5
|
|
580
1989
|
},
|
|
581
1990
|
this
|
|
582
1991
|
),
|
|
583
|
-
recast && /* @__PURE__ */
|
|
1992
|
+
recast && dataIsJson ? /* @__PURE__ */ jsxDEV6(
|
|
584
1993
|
"select",
|
|
585
1994
|
{
|
|
586
1995
|
onChange: disabled ? doNothing : (e) => recast(e.target.value),
|
|
587
|
-
value:
|
|
1996
|
+
value: refined.type,
|
|
588
1997
|
disabled,
|
|
589
|
-
children: Object.keys(SubEditors).map((type) => /* @__PURE__ */
|
|
1998
|
+
children: Object.keys(SubEditors).map((type) => /* @__PURE__ */ jsxDEV6("option", { value: type, children: type }, type, false, {
|
|
590
1999
|
fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
|
|
591
|
-
lineNumber:
|
|
2000
|
+
lineNumber: 98,
|
|
592
2001
|
columnNumber: 8
|
|
593
2002
|
}, this))
|
|
594
2003
|
},
|
|
@@ -596,24 +2005,24 @@ var JsonEditor_INTERNAL = ({
|
|
|
596
2005
|
false,
|
|
597
2006
|
{
|
|
598
2007
|
fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
|
|
599
|
-
lineNumber:
|
|
2008
|
+
lineNumber: 88,
|
|
600
2009
|
columnNumber: 6
|
|
601
2010
|
},
|
|
602
2011
|
this
|
|
603
|
-
)
|
|
2012
|
+
) : null
|
|
604
2013
|
] }, void 0, true, {
|
|
605
2014
|
fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
|
|
606
|
-
lineNumber:
|
|
2015
|
+
lineNumber: 57,
|
|
607
2016
|
columnNumber: 4
|
|
608
2017
|
}, this) }, void 0, false, {
|
|
609
2018
|
fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
|
|
610
|
-
lineNumber:
|
|
2019
|
+
lineNumber: 56,
|
|
611
2020
|
columnNumber: 3
|
|
612
2021
|
}, this);
|
|
613
2022
|
};
|
|
614
2023
|
|
|
615
2024
|
// ../../hamr/src/react-json-editor/editors-by-type/array-editor.tsx
|
|
616
|
-
import { Fragment, jsxDEV as
|
|
2025
|
+
import { Fragment, jsxDEV as jsxDEV7 } from "react/jsx-dev-runtime";
|
|
617
2026
|
var ArrayEditor = ({
|
|
618
2027
|
path = [],
|
|
619
2028
|
isReadonly = () => false,
|
|
@@ -623,9 +2032,9 @@ var ArrayEditor = ({
|
|
|
623
2032
|
Components
|
|
624
2033
|
}) => {
|
|
625
2034
|
const setElement = makeElementSetters(data, set);
|
|
626
|
-
return /* @__PURE__ */
|
|
2035
|
+
return /* @__PURE__ */ jsxDEV7(Fragment, { children: data.map((element, index) => {
|
|
627
2036
|
const newPath = [...path, index];
|
|
628
|
-
return /* @__PURE__ */
|
|
2037
|
+
return /* @__PURE__ */ jsxDEV7(
|
|
629
2038
|
JsonEditor_INTERNAL,
|
|
630
2039
|
{
|
|
631
2040
|
path: newPath,
|
|
@@ -657,10 +2066,10 @@ import { useRef as useRef3 } from "react";
|
|
|
657
2066
|
// ../../anvl/src/json-schema/json-schema.ts
|
|
658
2067
|
import { isBoolean as isBoolean2 } from "fp-ts/boolean";
|
|
659
2068
|
import { isNumber as isNumber2 } from "fp-ts/number";
|
|
660
|
-
import { isString as
|
|
2069
|
+
import { isString as isString6 } from "fp-ts/string";
|
|
661
2070
|
|
|
662
2071
|
// ../../anvl/src/json-schema/integer.ts
|
|
663
|
-
import { pipe as
|
|
2072
|
+
import { pipe as pipe8 } from "fp-ts/function";
|
|
664
2073
|
var isInteger = (input) => Number.isInteger(input);
|
|
665
2074
|
var parseInteger = (input) => {
|
|
666
2075
|
if (isInteger(input))
|
|
@@ -686,7 +2095,7 @@ var IntegerParseError = class extends Error {
|
|
|
686
2095
|
}
|
|
687
2096
|
};
|
|
688
2097
|
var Int = Object.assign((input) => parseInteger(input), {
|
|
689
|
-
from: (input) =>
|
|
2098
|
+
from: (input) => pipe8(
|
|
690
2099
|
input,
|
|
691
2100
|
String,
|
|
692
2101
|
parseFloat,
|
|
@@ -722,10 +2131,10 @@ var b = asNumber([new Fraction(1, 2)]);
|
|
|
722
2131
|
var c = asNumber({ a: new Fraction(1, 2) });
|
|
723
2132
|
|
|
724
2133
|
// ../../anvl/src/json-schema/refs.ts
|
|
725
|
-
import { isString as
|
|
2134
|
+
import { isString as isString4 } from "fp-ts/string";
|
|
726
2135
|
function isJsonSchemaRef(input) {
|
|
727
2136
|
return doesExtend({
|
|
728
|
-
$ref:
|
|
2137
|
+
$ref: isString4
|
|
729
2138
|
})(input);
|
|
730
2139
|
}
|
|
731
2140
|
var colorPalette = {
|
|
@@ -751,93 +2160,46 @@ var colorPalette = {
|
|
|
751
2160
|
};
|
|
752
2161
|
var retrieveRef = ({
|
|
753
2162
|
refNode: { $ref },
|
|
754
|
-
refMap = {},
|
|
755
|
-
root
|
|
756
|
-
}) => {
|
|
757
|
-
if (typeof root === `boolean`) {
|
|
758
|
-
throw new TypeError(`The root is a boolean and cannot be indexed`);
|
|
759
|
-
}
|
|
760
|
-
if ($ref in refMap)
|
|
761
|
-
return { node: refMap[$ref], refMap };
|
|
762
|
-
const [_, ...refPath] = $ref.split(`/`);
|
|
763
|
-
const discovery = delve(root, refPath);
|
|
764
|
-
if (discovery instanceof Error)
|
|
765
|
-
throw discovery;
|
|
766
|
-
let node = discovery.found;
|
|
767
|
-
while (isJsonSchemaRef(node)) {
|
|
768
|
-
const result = retrieveRef({ refNode: node, refMap, root });
|
|
769
|
-
node = result.node;
|
|
770
|
-
refMap = result.refMap;
|
|
771
|
-
}
|
|
772
|
-
if (isJsonSchema(node)) {
|
|
773
|
-
return { node, refMap: __spreadProps(__spreadValues({}, refMap), { [$ref]: node }) };
|
|
774
|
-
}
|
|
775
|
-
throw new TypeError(`The refNode is not a JsonSchema`);
|
|
776
|
-
};
|
|
777
|
-
|
|
778
|
-
// ../../anvl/src/json-schema/string-formats.ts
|
|
779
|
-
import { isString as isString3 } from "fp-ts/string";
|
|
780
|
-
var JSON_SCHEMA_STRING_FORMATS = [
|
|
781
|
-
`date-time`,
|
|
782
|
-
`date`,
|
|
783
|
-
`email`,
|
|
784
|
-
`hostname`,
|
|
785
|
-
`ipv4`,
|
|
786
|
-
`ipv6`,
|
|
787
|
-
`regex`,
|
|
788
|
-
`time`,
|
|
789
|
-
`uri-reference`,
|
|
790
|
-
`uri-template`,
|
|
791
|
-
`uri`,
|
|
792
|
-
`uuid`
|
|
793
|
-
];
|
|
794
|
-
|
|
795
|
-
// ../../anvl/src/refinement/index.ts
|
|
796
|
-
var canExist = (_) => true;
|
|
797
|
-
var cannotExist = (_) => false;
|
|
798
|
-
var isLiteral = (value) => (input) => input === value;
|
|
799
|
-
var isWithin = (args) => (input) => args.includes(input);
|
|
800
|
-
var couldBe = (isTypeA, logging = false, refinements = [isTypeA]) => {
|
|
801
|
-
const name = `(${refinements.map((r) => r.name || `anon`).join(` | `)})`;
|
|
802
|
-
const _ = {
|
|
803
|
-
[name]: (input) => refinements.some(
|
|
804
|
-
(refinement) => {
|
|
805
|
-
var _a2;
|
|
806
|
-
return logging && console.log(
|
|
807
|
-
refinements.map((r) => r.name || `anon`).join(` | `),
|
|
808
|
-
`>`,
|
|
809
|
-
(_a2 = refinement.name) != null ? _a2 : `anon`,
|
|
810
|
-
`:`,
|
|
811
|
-
refinement(input)
|
|
812
|
-
), refinement(input);
|
|
813
|
-
}
|
|
814
|
-
)
|
|
815
|
-
};
|
|
816
|
-
const checkTypes = Object.assign(_[name], {
|
|
817
|
-
or: (isTypeB) => couldBe(isTypeB, logging, [...refinements, isTypeB])
|
|
818
|
-
});
|
|
819
|
-
return checkTypes;
|
|
820
|
-
};
|
|
821
|
-
var isUnion = couldBe(cannotExist);
|
|
822
|
-
var mustBe = (isTypeA, logging = false, refinements = [isTypeA]) => {
|
|
823
|
-
const name = `(${refinements.map((r) => r.name || `anon`).join(` & `)})`;
|
|
824
|
-
const _ = {
|
|
825
|
-
[name]: (input) => refinements.every(
|
|
826
|
-
(refinement) => (logging && console.log(
|
|
827
|
-
refinements.map((r) => r.name || `anon`).join(` & `),
|
|
828
|
-
`>`,
|
|
829
|
-
refinement.name || `anon`,
|
|
830
|
-
`:`,
|
|
831
|
-
refinement(input)
|
|
832
|
-
), refinement(input))
|
|
833
|
-
)
|
|
834
|
-
};
|
|
835
|
-
const checkTypes = Object.assign(_[name], {
|
|
836
|
-
and: (isTypeB) => mustBe(isTypeB, logging, [...refinements, isTypeB])
|
|
837
|
-
});
|
|
838
|
-
return checkTypes;
|
|
2163
|
+
refMap = {},
|
|
2164
|
+
root
|
|
2165
|
+
}) => {
|
|
2166
|
+
if (typeof root === `boolean`) {
|
|
2167
|
+
throw new TypeError(`The root is a boolean and cannot be indexed`);
|
|
2168
|
+
}
|
|
2169
|
+
if ($ref in refMap)
|
|
2170
|
+
return { node: refMap[$ref], refMap };
|
|
2171
|
+
const [_, ...refPath] = $ref.split(`/`);
|
|
2172
|
+
const discovery = delve(root, refPath);
|
|
2173
|
+
if (discovery instanceof Error)
|
|
2174
|
+
throw discovery;
|
|
2175
|
+
let node = discovery.found;
|
|
2176
|
+
while (isJsonSchemaRef(node)) {
|
|
2177
|
+
const result = retrieveRef({ refNode: node, refMap, root });
|
|
2178
|
+
node = result.node;
|
|
2179
|
+
refMap = result.refMap;
|
|
2180
|
+
}
|
|
2181
|
+
if (isJsonSchema(node)) {
|
|
2182
|
+
return { node, refMap: __spreadProps(__spreadValues({}, refMap), { [$ref]: node }) };
|
|
2183
|
+
}
|
|
2184
|
+
throw new TypeError(`The refNode is not a JsonSchema`);
|
|
839
2185
|
};
|
|
840
|
-
|
|
2186
|
+
|
|
2187
|
+
// ../../anvl/src/json-schema/string-formats.ts
|
|
2188
|
+
import { isString as isString5 } from "fp-ts/string";
|
|
2189
|
+
var JSON_SCHEMA_STRING_FORMATS = [
|
|
2190
|
+
`date-time`,
|
|
2191
|
+
`date`,
|
|
2192
|
+
`email`,
|
|
2193
|
+
`hostname`,
|
|
2194
|
+
`ipv4`,
|
|
2195
|
+
`ipv6`,
|
|
2196
|
+
`regex`,
|
|
2197
|
+
`time`,
|
|
2198
|
+
`uri-reference`,
|
|
2199
|
+
`uri-template`,
|
|
2200
|
+
`uri`,
|
|
2201
|
+
`uuid`
|
|
2202
|
+
];
|
|
841
2203
|
|
|
842
2204
|
// ../../anvl/src/json-schema/json-schema.ts
|
|
843
2205
|
var JSON_SCHEMA_TYPE_NAMES = [...JSON_TYPE_NAMES, `integer`];
|
|
@@ -863,10 +2225,10 @@ var JSON_SCHEMA_REFINERY = {
|
|
|
863
2225
|
};
|
|
864
2226
|
var stringSchemaStructure = {
|
|
865
2227
|
type: isLiteral(`string`),
|
|
866
|
-
enum: ifDefined(isArray(
|
|
2228
|
+
enum: ifDefined(isArray(isString6)),
|
|
867
2229
|
minLength: ifDefined(isInteger),
|
|
868
2230
|
maxLength: ifDefined(isInteger),
|
|
869
|
-
pattern: ifDefined(
|
|
2231
|
+
pattern: ifDefined(isString6),
|
|
870
2232
|
format: ifDefined(isWithin(JSON_SCHEMA_STRING_FORMATS))
|
|
871
2233
|
};
|
|
872
2234
|
function isStringSchema(input) {
|
|
@@ -911,13 +2273,13 @@ function isNullSchema(input) {
|
|
|
911
2273
|
}
|
|
912
2274
|
var objectSchemaStructure = {
|
|
913
2275
|
type: isLiteral(`object`),
|
|
914
|
-
properties: ifDefined(isRecord(
|
|
915
|
-
required: ifDefined(isArray(
|
|
2276
|
+
properties: ifDefined(isRecord(isString6, isJsonSchema)),
|
|
2277
|
+
required: ifDefined(isArray(isString6)),
|
|
916
2278
|
additionalProperties: ifDefined(isJsonSchema),
|
|
917
2279
|
propertyNames: ifDefined(isStringSchema),
|
|
918
2280
|
minProperties: ifDefined(isInteger),
|
|
919
2281
|
maxProperties: ifDefined(isInteger),
|
|
920
|
-
dependentSchemas: ifDefined(isRecord(
|
|
2282
|
+
dependentSchemas: ifDefined(isRecord(isString6, isJsonSchema))
|
|
921
2283
|
};
|
|
922
2284
|
function isObjectSchema(input) {
|
|
923
2285
|
return doesExtend(objectSchemaStructure)(input);
|
|
@@ -959,7 +2321,7 @@ function isNegationSchema(input) {
|
|
|
959
2321
|
var mixedSchemaStructure = __spreadProps(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, arraySchemaStructure), booleanSchemaStructure), integerSchemaStructure), nullSchemaStructure), numberSchemaStructure), objectSchemaStructure), stringSchemaStructure), {
|
|
960
2322
|
type: isArray(isWithin(JSON_SCHEMA_TYPE_NAMES)),
|
|
961
2323
|
enum: ifDefined(
|
|
962
|
-
isArray(isUnion.or(isInteger).or(isBoolean2).or(isNumber2).or(
|
|
2324
|
+
isArray(isUnion.or(isInteger).or(isBoolean2).or(isNumber2).or(isString6))
|
|
963
2325
|
)
|
|
964
2326
|
});
|
|
965
2327
|
function isMixedSchema(input) {
|
|
@@ -967,8 +2329,8 @@ function isMixedSchema(input) {
|
|
|
967
2329
|
}
|
|
968
2330
|
var isJsonSchemaCore = isUnion.or(isArraySchema).or(isBooleanSchema).or(isConditionalSchema).or(isExclusiveSchema).or(isIntegerSchema).or(isIntersectionSchema).or(isMixedSchema).or(isNegationSchema).or(isNullSchema).or(isNumberSchema).or(isObjectSchema).or(isStringSchema).or(isUnionSchema);
|
|
969
2331
|
var isJsonSchemaRoot = doesExtend({
|
|
970
|
-
$id: ifDefined(
|
|
971
|
-
$schema: ifDefined(
|
|
2332
|
+
$id: ifDefined(isString6),
|
|
2333
|
+
$schema: ifDefined(isString6)
|
|
972
2334
|
});
|
|
973
2335
|
var isJsonSchemaObject = isIntersection.and(isJsonSchemaCore).and(isJsonSchemaRoot);
|
|
974
2336
|
function isJsonSchema(input) {
|
|
@@ -1205,27 +2567,27 @@ var makePropertySorter = (data, set, sortFn) => () => {
|
|
|
1205
2567
|
};
|
|
1206
2568
|
|
|
1207
2569
|
// ../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx
|
|
1208
|
-
import { Fragment as Fragment2, jsxDEV as
|
|
2570
|
+
import { Fragment as Fragment2, jsxDEV as jsxDEV8 } from "react/jsx-dev-runtime";
|
|
1209
2571
|
var PropertyAdder = ({
|
|
1210
2572
|
addProperty,
|
|
1211
2573
|
disabled,
|
|
1212
2574
|
propertyKey,
|
|
1213
2575
|
Components
|
|
1214
|
-
}) => /* @__PURE__ */
|
|
1215
|
-
/* @__PURE__ */
|
|
2576
|
+
}) => /* @__PURE__ */ jsxDEV8(Components.MissingPropertyWrapper, { children: [
|
|
2577
|
+
/* @__PURE__ */ jsxDEV8(ElasticInput, { disabled: true, defaultValue: propertyKey }, void 0, false, {
|
|
1216
2578
|
fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
|
|
1217
2579
|
lineNumber: 38,
|
|
1218
2580
|
columnNumber: 3
|
|
1219
2581
|
}, this),
|
|
1220
2582
|
` `,
|
|
1221
|
-
/* @__PURE__ */
|
|
2583
|
+
/* @__PURE__ */ jsxDEV8(ElasticInput, { disabled: true, defaultValue: "is missing" }, void 0, false, {
|
|
1222
2584
|
fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
|
|
1223
|
-
lineNumber:
|
|
2585
|
+
lineNumber: 40,
|
|
1224
2586
|
columnNumber: 3
|
|
1225
2587
|
}, this),
|
|
1226
|
-
/* @__PURE__ */
|
|
2588
|
+
/* @__PURE__ */ jsxDEV8(Components.Button, { onClick: () => addProperty(), disabled, children: "+" }, void 0, false, {
|
|
1227
2589
|
fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
|
|
1228
|
-
lineNumber:
|
|
2590
|
+
lineNumber: 41,
|
|
1229
2591
|
columnNumber: 3
|
|
1230
2592
|
}, this)
|
|
1231
2593
|
] }, void 0, true, {
|
|
@@ -1267,20 +2629,20 @@ var ObjectEditor = ({
|
|
|
1267
2629
|
[[], []]
|
|
1268
2630
|
);
|
|
1269
2631
|
const missingKeys = schemaKeys === true ? [] : schemaKeys.filter((key) => !dataKeys.includes(key));
|
|
1270
|
-
return /* @__PURE__ */
|
|
1271
|
-
/* @__PURE__ */
|
|
2632
|
+
return /* @__PURE__ */ jsxDEV8(Fragment2, { children: [
|
|
2633
|
+
/* @__PURE__ */ jsxDEV8(Components.Button, { onClick: () => sortProperties(), disabled, children: "Sort" }, void 0, false, {
|
|
1272
2634
|
fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
|
|
1273
|
-
lineNumber:
|
|
2635
|
+
lineNumber: 95,
|
|
1274
2636
|
columnNumber: 4
|
|
1275
2637
|
}, this),
|
|
1276
|
-
/* @__PURE__ */
|
|
1277
|
-
/* @__PURE__ */
|
|
2638
|
+
/* @__PURE__ */ jsxDEV8(Components.ObjectWrapper, { children: [
|
|
2639
|
+
/* @__PURE__ */ jsxDEV8("div", { className: "json_editor_properties", children: [...missingKeys, ...officialKeys, ...unofficialKeys].map((key) => {
|
|
1278
2640
|
const originalKey = stableKeyMap.current[key];
|
|
1279
2641
|
const newPath = [...path, key];
|
|
1280
2642
|
const originalPath = [...path, originalKey];
|
|
1281
2643
|
const isOfficial = schemaKeys === true || schemaKeys.includes(key);
|
|
1282
2644
|
const isMissing = missingKeys.includes(key);
|
|
1283
|
-
return isMissing ? /* @__PURE__ */
|
|
2645
|
+
return isMissing ? /* @__PURE__ */ jsxDEV8(
|
|
1284
2646
|
PropertyAdder,
|
|
1285
2647
|
{
|
|
1286
2648
|
propertyKey: key,
|
|
@@ -1292,11 +2654,11 @@ var ObjectEditor = ({
|
|
|
1292
2654
|
false,
|
|
1293
2655
|
{
|
|
1294
2656
|
fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
|
|
1295
|
-
lineNumber:
|
|
2657
|
+
lineNumber: 108,
|
|
1296
2658
|
columnNumber: 8
|
|
1297
2659
|
},
|
|
1298
2660
|
this
|
|
1299
|
-
) : /* @__PURE__ */
|
|
2661
|
+
) : /* @__PURE__ */ jsxDEV8(
|
|
1300
2662
|
JsonEditor_INTERNAL,
|
|
1301
2663
|
{
|
|
1302
2664
|
schema,
|
|
@@ -1316,17 +2678,17 @@ var ObjectEditor = ({
|
|
|
1316
2678
|
false,
|
|
1317
2679
|
{
|
|
1318
2680
|
fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
|
|
1319
|
-
lineNumber:
|
|
2681
|
+
lineNumber: 116,
|
|
1320
2682
|
columnNumber: 8
|
|
1321
2683
|
},
|
|
1322
2684
|
this
|
|
1323
2685
|
);
|
|
1324
2686
|
}) }, void 0, false, {
|
|
1325
2687
|
fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
|
|
1326
|
-
lineNumber:
|
|
2688
|
+
lineNumber: 99,
|
|
1327
2689
|
columnNumber: 5
|
|
1328
2690
|
}, this),
|
|
1329
|
-
/* @__PURE__ */
|
|
2691
|
+
/* @__PURE__ */ jsxDEV8(
|
|
1330
2692
|
Components.Button,
|
|
1331
2693
|
{
|
|
1332
2694
|
onClick: disabled ? doNothing : () => makePropertyAdder(`new_property`, `string`)(),
|
|
@@ -1337,29 +2699,30 @@ var ObjectEditor = ({
|
|
|
1337
2699
|
false,
|
|
1338
2700
|
{
|
|
1339
2701
|
fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
|
|
1340
|
-
lineNumber:
|
|
2702
|
+
lineNumber: 136,
|
|
1341
2703
|
columnNumber: 5
|
|
1342
2704
|
},
|
|
1343
2705
|
this
|
|
1344
2706
|
)
|
|
1345
2707
|
] }, void 0, true, {
|
|
1346
2708
|
fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
|
|
1347
|
-
lineNumber:
|
|
2709
|
+
lineNumber: 98,
|
|
1348
2710
|
columnNumber: 4
|
|
1349
2711
|
}, this)
|
|
1350
2712
|
] }, void 0, true, {
|
|
1351
2713
|
fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
|
|
1352
|
-
lineNumber:
|
|
2714
|
+
lineNumber: 94,
|
|
1353
2715
|
columnNumber: 3
|
|
1354
2716
|
}, this);
|
|
1355
2717
|
};
|
|
1356
2718
|
|
|
1357
2719
|
// ../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx
|
|
1358
|
-
import { jsxDEV as
|
|
2720
|
+
import { Fragment as Fragment3, jsxDEV as jsxDEV9 } from "react/jsx-dev-runtime";
|
|
1359
2721
|
var BooleanEditor = ({
|
|
1360
2722
|
data,
|
|
1361
|
-
set
|
|
1362
|
-
|
|
2723
|
+
set,
|
|
2724
|
+
Components
|
|
2725
|
+
}) => /* @__PURE__ */ jsxDEV9(Components.BooleanWrapper, { children: /* @__PURE__ */ jsxDEV9(
|
|
1363
2726
|
"input",
|
|
1364
2727
|
{
|
|
1365
2728
|
type: "checkbox",
|
|
@@ -1370,22 +2733,33 @@ var BooleanEditor = ({
|
|
|
1370
2733
|
false,
|
|
1371
2734
|
{
|
|
1372
2735
|
fileName: "../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx",
|
|
1373
|
-
lineNumber:
|
|
1374
|
-
columnNumber:
|
|
2736
|
+
lineNumber: 12,
|
|
2737
|
+
columnNumber: 3
|
|
1375
2738
|
},
|
|
1376
2739
|
this
|
|
1377
|
-
)
|
|
1378
|
-
|
|
2740
|
+
) }, void 0, false, {
|
|
2741
|
+
fileName: "../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx",
|
|
2742
|
+
lineNumber: 11,
|
|
2743
|
+
columnNumber: 2
|
|
2744
|
+
}, this);
|
|
2745
|
+
var NullEditor = ({
|
|
2746
|
+
Components
|
|
2747
|
+
}) => /* @__PURE__ */ jsxDEV9(Components.NullWrapper, { children: /* @__PURE__ */ jsxDEV9(Fragment3, {}, void 0, false, {
|
|
2748
|
+
fileName: "../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx",
|
|
2749
|
+
lineNumber: 24,
|
|
2750
|
+
columnNumber: 3
|
|
2751
|
+
}, this) }, void 0, false, {
|
|
1379
2752
|
fileName: "../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx",
|
|
1380
|
-
lineNumber:
|
|
2753
|
+
lineNumber: 23,
|
|
1381
2754
|
columnNumber: 2
|
|
1382
2755
|
}, this);
|
|
1383
2756
|
var NumberEditor = ({
|
|
1384
2757
|
path = [],
|
|
1385
2758
|
isReadonly = () => false,
|
|
1386
2759
|
data,
|
|
1387
|
-
set
|
|
1388
|
-
|
|
2760
|
+
set,
|
|
2761
|
+
Components
|
|
2762
|
+
}) => /* @__PURE__ */ jsxDEV9(Components.NumberWrapper, { children: /* @__PURE__ */ jsxDEV9(
|
|
1389
2763
|
NumberInput,
|
|
1390
2764
|
{
|
|
1391
2765
|
value: data,
|
|
@@ -1396,11 +2770,15 @@ var NumberEditor = ({
|
|
|
1396
2770
|
false,
|
|
1397
2771
|
{
|
|
1398
2772
|
fileName: "../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx",
|
|
1399
|
-
lineNumber:
|
|
1400
|
-
columnNumber:
|
|
2773
|
+
lineNumber: 36,
|
|
2774
|
+
columnNumber: 3
|
|
1401
2775
|
},
|
|
1402
2776
|
this
|
|
1403
|
-
)
|
|
2777
|
+
) }, void 0, false, {
|
|
2778
|
+
fileName: "../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx",
|
|
2779
|
+
lineNumber: 35,
|
|
2780
|
+
columnNumber: 2
|
|
2781
|
+
}, this);
|
|
1404
2782
|
var StringEditor = ({
|
|
1405
2783
|
path = [],
|
|
1406
2784
|
isReadonly = () => false,
|
|
@@ -1408,7 +2786,7 @@ var StringEditor = ({
|
|
|
1408
2786
|
set,
|
|
1409
2787
|
Components
|
|
1410
2788
|
}) => {
|
|
1411
|
-
return /* @__PURE__ */
|
|
2789
|
+
return /* @__PURE__ */ jsxDEV9(Components.StringWrapper, { children: /* @__PURE__ */ jsxDEV9(
|
|
1412
2790
|
TextInput,
|
|
1413
2791
|
{
|
|
1414
2792
|
value: data,
|
|
@@ -1419,28 +2797,27 @@ var StringEditor = ({
|
|
|
1419
2797
|
false,
|
|
1420
2798
|
{
|
|
1421
2799
|
fileName: "../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx",
|
|
1422
|
-
lineNumber:
|
|
2800
|
+
lineNumber: 53,
|
|
1423
2801
|
columnNumber: 4
|
|
1424
2802
|
},
|
|
1425
2803
|
this
|
|
1426
2804
|
) }, void 0, false, {
|
|
1427
2805
|
fileName: "../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx",
|
|
1428
|
-
lineNumber:
|
|
2806
|
+
lineNumber: 52,
|
|
1429
2807
|
columnNumber: 3
|
|
1430
2808
|
}, this);
|
|
1431
2809
|
};
|
|
1432
2810
|
|
|
1433
|
-
// ../../hamr/src/react-error-boundary/
|
|
1434
|
-
import {
|
|
1435
|
-
import { atomFamily, useRecoilState, useResetRecoilState } from "recoil";
|
|
2811
|
+
// ../../hamr/src/react-error-boundary/ReactErrorBoundary.tsx
|
|
2812
|
+
import { Component, useState as useState3 } from "react";
|
|
1436
2813
|
|
|
1437
2814
|
// ../../hamr/src/react-error-boundary/DefaultFallback.tsx
|
|
1438
|
-
import { jsxDEV as
|
|
2815
|
+
import { jsxDEV as jsxDEV10 } from "react/jsx-dev-runtime";
|
|
1439
2816
|
var DefaultFallback = ({ error, errorInfo }) => {
|
|
1440
2817
|
var _a2, _b;
|
|
1441
2818
|
const component = errorInfo == null ? void 0 : errorInfo.componentStack.split(` `).filter(Boolean)[2];
|
|
1442
2819
|
const message = (_b = (_a2 = error == null ? void 0 : error.toString()) != null ? _a2 : errorInfo == null ? void 0 : errorInfo.componentStack) != null ? _b : `Unknown error`;
|
|
1443
|
-
return /* @__PURE__ */
|
|
2820
|
+
return /* @__PURE__ */ jsxDEV10(
|
|
1444
2821
|
"div",
|
|
1445
2822
|
{
|
|
1446
2823
|
"data-testid": "error-boundary",
|
|
@@ -1452,7 +2829,7 @@ var DefaultFallback = ({ error, errorInfo }) => {
|
|
|
1452
2829
|
// backgroundRepeat: `no-repeat`,
|
|
1453
2830
|
backgroundSize: `overlay`
|
|
1454
2831
|
},
|
|
1455
|
-
children: /* @__PURE__ */
|
|
2832
|
+
children: /* @__PURE__ */ jsxDEV10(
|
|
1456
2833
|
"div",
|
|
1457
2834
|
{
|
|
1458
2835
|
style: {
|
|
@@ -1461,7 +2838,7 @@ var DefaultFallback = ({ error, errorInfo }) => {
|
|
|
1461
2838
|
padding: `50px`,
|
|
1462
2839
|
border: `1px solid dashed`
|
|
1463
2840
|
},
|
|
1464
|
-
children: /* @__PURE__ */
|
|
2841
|
+
children: /* @__PURE__ */ jsxDEV10(
|
|
1465
2842
|
"span",
|
|
1466
2843
|
{
|
|
1467
2844
|
style: {
|
|
@@ -1472,7 +2849,7 @@ var DefaultFallback = ({ error, errorInfo }) => {
|
|
|
1472
2849
|
},
|
|
1473
2850
|
children: [
|
|
1474
2851
|
`\u26A0\uFE0F `,
|
|
1475
|
-
/* @__PURE__ */
|
|
2852
|
+
/* @__PURE__ */ jsxDEV10("span", { style: { color: `#fc0`, fontWeight: 700 }, children: component }, void 0, false, {
|
|
1476
2853
|
fileName: "../../hamr/src/react-error-boundary/DefaultFallback.tsx",
|
|
1477
2854
|
lineNumber: 42,
|
|
1478
2855
|
columnNumber: 6
|
|
@@ -1512,8 +2889,8 @@ var DefaultFallback = ({ error, errorInfo }) => {
|
|
|
1512
2889
|
);
|
|
1513
2890
|
};
|
|
1514
2891
|
|
|
1515
|
-
// ../../hamr/src/react-error-boundary/
|
|
1516
|
-
import { jsxDEV as
|
|
2892
|
+
// ../../hamr/src/react-error-boundary/ReactErrorBoundary.tsx
|
|
2893
|
+
import { jsxDEV as jsxDEV11 } from "react/jsx-dev-runtime";
|
|
1517
2894
|
var ErrorBoundary = class extends Component {
|
|
1518
2895
|
constructor(props) {
|
|
1519
2896
|
super(props);
|
|
@@ -1530,27 +2907,23 @@ var ErrorBoundary = class extends Component {
|
|
|
1530
2907
|
render() {
|
|
1531
2908
|
const { error, errorInfo } = this.state;
|
|
1532
2909
|
const { children, Fallback = DefaultFallback } = this.props;
|
|
1533
|
-
return errorInfo ? /* @__PURE__ */
|
|
1534
|
-
fileName: "../../hamr/src/react-error-boundary/
|
|
1535
|
-
lineNumber:
|
|
2910
|
+
return errorInfo ? /* @__PURE__ */ jsxDEV11(Fallback, { error, errorInfo }, void 0, false, {
|
|
2911
|
+
fileName: "../../hamr/src/react-error-boundary/ReactErrorBoundary.tsx",
|
|
2912
|
+
lineNumber: 51,
|
|
1536
2913
|
columnNumber: 4
|
|
1537
2914
|
}, this) : children;
|
|
1538
2915
|
}
|
|
1539
2916
|
};
|
|
1540
|
-
var findErrorBoundaryState = atomFamily({
|
|
1541
|
-
key: `errorBoundary`,
|
|
1542
|
-
default: { error: void 0, errorInfo: void 0 }
|
|
1543
|
-
});
|
|
1544
2917
|
|
|
1545
2918
|
// ../../hamr/src/react-json-editor/default-components.tsx
|
|
1546
|
-
import { jsxDEV as
|
|
2919
|
+
import { jsxDEV as jsxDEV12 } from "react/jsx-dev-runtime";
|
|
1547
2920
|
var DEFAULT_JSON_EDITOR_COMPONENTS = {
|
|
1548
|
-
ErrorBoundary: ({ children }) => /* @__PURE__ */
|
|
2921
|
+
ErrorBoundary: ({ children }) => /* @__PURE__ */ jsxDEV12(ErrorBoundary, { children }, void 0, false, {
|
|
1549
2922
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1550
|
-
lineNumber:
|
|
2923
|
+
lineNumber: 46,
|
|
1551
2924
|
columnNumber: 35
|
|
1552
2925
|
}, this),
|
|
1553
|
-
Button: ({ onClick, children, disabled }) => /* @__PURE__ */
|
|
2926
|
+
Button: ({ onClick, children, disabled }) => /* @__PURE__ */ jsxDEV12(
|
|
1554
2927
|
"button",
|
|
1555
2928
|
{
|
|
1556
2929
|
type: "button",
|
|
@@ -1563,14 +2936,14 @@ var DEFAULT_JSON_EDITOR_COMPONENTS = {
|
|
|
1563
2936
|
false,
|
|
1564
2937
|
{
|
|
1565
2938
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1566
|
-
lineNumber:
|
|
2939
|
+
lineNumber: 48,
|
|
1567
2940
|
columnNumber: 3
|
|
1568
2941
|
},
|
|
1569
2942
|
this
|
|
1570
2943
|
),
|
|
1571
|
-
EditorWrapper: ({ children, customCss, className }) => /* @__PURE__ */
|
|
2944
|
+
EditorWrapper: ({ children, customCss, className }) => /* @__PURE__ */ jsxDEV12("div", { className: `json_editor ` + className, css: customCss, children }, void 0, false, {
|
|
1572
2945
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1573
|
-
lineNumber:
|
|
2946
|
+
lineNumber: 58,
|
|
1574
2947
|
columnNumber: 3
|
|
1575
2948
|
}, this),
|
|
1576
2949
|
EditorLayout: ({
|
|
@@ -1581,101 +2954,101 @@ var DEFAULT_JSON_EDITOR_COMPONENTS = {
|
|
|
1581
2954
|
ValueEditor,
|
|
1582
2955
|
Wrapper
|
|
1583
2956
|
}) => {
|
|
1584
|
-
return /* @__PURE__ */
|
|
1585
|
-
DeleteButton && /* @__PURE__ */
|
|
2957
|
+
return /* @__PURE__ */ jsxDEV12(Wrapper, { children: [
|
|
2958
|
+
DeleteButton && /* @__PURE__ */ jsxDEV12(DeleteButton, {}, void 0, false, {
|
|
1586
2959
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1587
|
-
lineNumber:
|
|
2960
|
+
lineNumber: 72,
|
|
1588
2961
|
columnNumber: 22
|
|
1589
2962
|
}, this),
|
|
1590
|
-
Header && /* @__PURE__ */
|
|
2963
|
+
Header && /* @__PURE__ */ jsxDEV12(Header, {}, void 0, false, {
|
|
1591
2964
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1592
|
-
lineNumber:
|
|
2965
|
+
lineNumber: 73,
|
|
1593
2966
|
columnNumber: 16
|
|
1594
2967
|
}, this),
|
|
1595
|
-
KeyInput && /* @__PURE__ */
|
|
2968
|
+
KeyInput && /* @__PURE__ */ jsxDEV12(KeyInput, {}, void 0, false, {
|
|
1596
2969
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1597
|
-
lineNumber:
|
|
2970
|
+
lineNumber: 74,
|
|
1598
2971
|
columnNumber: 18
|
|
1599
2972
|
}, this),
|
|
1600
|
-
TypeSelect && /* @__PURE__ */
|
|
2973
|
+
TypeSelect && /* @__PURE__ */ jsxDEV12(TypeSelect, {}, void 0, false, {
|
|
1601
2974
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1602
|
-
lineNumber:
|
|
2975
|
+
lineNumber: 75,
|
|
1603
2976
|
columnNumber: 20
|
|
1604
2977
|
}, this),
|
|
1605
|
-
/* @__PURE__ */
|
|
2978
|
+
/* @__PURE__ */ jsxDEV12(ValueEditor, {}, void 0, false, {
|
|
1606
2979
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1607
|
-
lineNumber:
|
|
2980
|
+
lineNumber: 76,
|
|
1608
2981
|
columnNumber: 5
|
|
1609
2982
|
}, this)
|
|
1610
2983
|
] }, void 0, true, {
|
|
1611
2984
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1612
|
-
lineNumber:
|
|
2985
|
+
lineNumber: 71,
|
|
1613
2986
|
columnNumber: 4
|
|
1614
2987
|
}, this);
|
|
1615
2988
|
},
|
|
1616
|
-
ArrayWrapper: ({ children }) => /* @__PURE__ */
|
|
2989
|
+
ArrayWrapper: ({ children }) => /* @__PURE__ */ jsxDEV12("div", { className: "json_editor_array", children }, void 0, false, {
|
|
1617
2990
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1618
|
-
lineNumber:
|
|
2991
|
+
lineNumber: 81,
|
|
1619
2992
|
columnNumber: 3
|
|
1620
2993
|
}, this),
|
|
1621
|
-
ObjectWrapper: ({ children }) => /* @__PURE__ */
|
|
2994
|
+
ObjectWrapper: ({ children }) => /* @__PURE__ */ jsxDEV12("div", { className: "json_editor_object", children }, void 0, false, {
|
|
1622
2995
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1623
|
-
lineNumber:
|
|
2996
|
+
lineNumber: 84,
|
|
1624
2997
|
columnNumber: 3
|
|
1625
2998
|
}, this),
|
|
1626
|
-
StringWrapper: ({ children }) => /* @__PURE__ */
|
|
2999
|
+
StringWrapper: ({ children }) => /* @__PURE__ */ jsxDEV12("span", { className: "json_editor_string", children }, void 0, false, {
|
|
1627
3000
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1628
|
-
lineNumber:
|
|
3001
|
+
lineNumber: 87,
|
|
1629
3002
|
columnNumber: 3
|
|
1630
3003
|
}, this),
|
|
1631
|
-
NumberWrapper: ({ children }) => /* @__PURE__ */
|
|
3004
|
+
NumberWrapper: ({ children }) => /* @__PURE__ */ jsxDEV12("span", { className: "json_editor_number", children }, void 0, false, {
|
|
1632
3005
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1633
|
-
lineNumber:
|
|
3006
|
+
lineNumber: 90,
|
|
1634
3007
|
columnNumber: 3
|
|
1635
3008
|
}, this),
|
|
1636
|
-
BooleanWrapper: ({ children }) => /* @__PURE__ */
|
|
3009
|
+
BooleanWrapper: ({ children }) => /* @__PURE__ */ jsxDEV12("span", { className: "json_editor_boolean", children }, void 0, false, {
|
|
1637
3010
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1638
|
-
lineNumber:
|
|
3011
|
+
lineNumber: 93,
|
|
1639
3012
|
columnNumber: 3
|
|
1640
3013
|
}, this),
|
|
1641
|
-
NullWrapper: ({ children }) => /* @__PURE__ */
|
|
3014
|
+
NullWrapper: ({ children }) => /* @__PURE__ */ jsxDEV12("span", { className: "json_editor_null", children }, void 0, false, {
|
|
1642
3015
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1643
|
-
lineNumber:
|
|
3016
|
+
lineNumber: 96,
|
|
1644
3017
|
columnNumber: 3
|
|
1645
3018
|
}, this),
|
|
1646
|
-
MissingPropertyWrapper: ({ children }) => /* @__PURE__ */
|
|
3019
|
+
MissingPropertyWrapper: ({ children }) => /* @__PURE__ */ jsxDEV12("div", { className: "json_editor_property json_editor_missing", children }, void 0, false, {
|
|
1647
3020
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1648
|
-
lineNumber:
|
|
3021
|
+
lineNumber: 99,
|
|
1649
3022
|
columnNumber: 3
|
|
1650
3023
|
}, this),
|
|
1651
|
-
MiscastPropertyWrapper: ({ children }) => /* @__PURE__ */
|
|
3024
|
+
MiscastPropertyWrapper: ({ children }) => /* @__PURE__ */ jsxDEV12("div", { className: "json_editor_property json_editor_miscast", children }, void 0, false, {
|
|
1652
3025
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1653
|
-
lineNumber:
|
|
3026
|
+
lineNumber: 102,
|
|
1654
3027
|
columnNumber: 3
|
|
1655
3028
|
}, this),
|
|
1656
|
-
IllegalPropertyWrapper: ({ children }) => /* @__PURE__ */
|
|
3029
|
+
IllegalPropertyWrapper: ({ children }) => /* @__PURE__ */ jsxDEV12("span", { className: "json_editor_property json_editor_illegal", children }, void 0, false, {
|
|
1657
3030
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1658
|
-
lineNumber:
|
|
3031
|
+
lineNumber: 105,
|
|
1659
3032
|
columnNumber: 3
|
|
1660
3033
|
}, this),
|
|
1661
|
-
OfficialPropertyWrapper: ({ children }) => /* @__PURE__ */
|
|
3034
|
+
OfficialPropertyWrapper: ({ children }) => /* @__PURE__ */ jsxDEV12("span", { className: "json_editor_property json_editor_official", children }, void 0, false, {
|
|
1662
3035
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1663
|
-
lineNumber:
|
|
3036
|
+
lineNumber: 108,
|
|
1664
3037
|
columnNumber: 3
|
|
1665
3038
|
}, this),
|
|
1666
|
-
UnofficialPropertyWrapper: ({ children }) => /* @__PURE__ */
|
|
3039
|
+
UnofficialPropertyWrapper: ({ children }) => /* @__PURE__ */ jsxDEV12("span", { className: "json_editor_property json_editor_unofficial", children }, void 0, false, {
|
|
1667
3040
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1668
|
-
lineNumber:
|
|
3041
|
+
lineNumber: 111,
|
|
1669
3042
|
columnNumber: 3
|
|
1670
3043
|
}, this),
|
|
1671
|
-
DeleteIcon: () => /* @__PURE__ */
|
|
3044
|
+
DeleteIcon: () => /* @__PURE__ */ jsxDEV12("span", { className: "json_editor_icon json_editor_delete", children: "x" }, void 0, false, {
|
|
1672
3045
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1673
|
-
lineNumber:
|
|
3046
|
+
lineNumber: 116,
|
|
1674
3047
|
columnNumber: 3
|
|
1675
3048
|
}, this),
|
|
1676
|
-
KeyWrapper: ({ children }) => /* @__PURE__ */
|
|
3049
|
+
KeyWrapper: ({ children }) => /* @__PURE__ */ jsxDEV12("span", { className: "json_editor_key", children }, void 0, false, {
|
|
1677
3050
|
fileName: "../../hamr/src/react-json-editor/default-components.tsx",
|
|
1678
|
-
lineNumber:
|
|
3051
|
+
lineNumber: 119,
|
|
1679
3052
|
columnNumber: 3
|
|
1680
3053
|
}, this)
|
|
1681
3054
|
};
|
|
@@ -1683,7 +3056,7 @@ var DEFAULT_JSON_EDITOR_COMPONENTS = {
|
|
|
1683
3056
|
// ../../hamr/src/react-json-editor/developer-interface.tsx
|
|
1684
3057
|
import Ajv from "ajv";
|
|
1685
3058
|
import { useMemo } from "react";
|
|
1686
|
-
import { jsxDEV as
|
|
3059
|
+
import { jsxDEV as jsxDEV13 } from "react/jsx-dev-runtime";
|
|
1687
3060
|
var JsonEditor = ({
|
|
1688
3061
|
data,
|
|
1689
3062
|
set,
|
|
@@ -1705,7 +3078,7 @@ var JsonEditor = ({
|
|
|
1705
3078
|
return ajv.compile(schema);
|
|
1706
3079
|
}, [schema]);
|
|
1707
3080
|
const validationResults = validate(data);
|
|
1708
|
-
return /* @__PURE__ */
|
|
3081
|
+
return /* @__PURE__ */ jsxDEV13(
|
|
1709
3082
|
JsonEditor_INTERNAL,
|
|
1710
3083
|
{
|
|
1711
3084
|
data,
|
|
@@ -1726,7 +3099,7 @@ var JsonEditor = ({
|
|
|
1726
3099
|
false,
|
|
1727
3100
|
{
|
|
1728
3101
|
fileName: "../../hamr/src/react-json-editor/developer-interface.tsx",
|
|
1729
|
-
lineNumber:
|
|
3102
|
+
lineNumber: 78,
|
|
1730
3103
|
columnNumber: 3
|
|
1731
3104
|
},
|
|
1732
3105
|
this
|
|
@@ -1744,17 +3117,17 @@ var SubEditors = {
|
|
|
1744
3117
|
};
|
|
1745
3118
|
|
|
1746
3119
|
// ../src/react-devtools/StateEditor.tsx
|
|
1747
|
-
import { jsxDEV as
|
|
1748
|
-
var StateEditor = ({
|
|
1749
|
-
const [data, set] =
|
|
1750
|
-
return
|
|
3120
|
+
import { jsxDEV as jsxDEV14 } from "react/jsx-dev-runtime";
|
|
3121
|
+
var StateEditor = ({ token }) => {
|
|
3122
|
+
const [data, set] = useIO(token);
|
|
3123
|
+
return isJson(data) ? /* @__PURE__ */ jsxDEV14(JsonEditor, { data, set, schema: true }, void 0, false, {
|
|
1751
3124
|
fileName: "../src/react-devtools/StateEditor.tsx",
|
|
1752
3125
|
lineNumber: 15,
|
|
1753
3126
|
columnNumber: 3
|
|
1754
|
-
}, this) : /* @__PURE__ */
|
|
3127
|
+
}, this) : /* @__PURE__ */ jsxDEV14("div", { className: "json_editor", children: /* @__PURE__ */ jsxDEV14(
|
|
1755
3128
|
ElasticInput,
|
|
1756
3129
|
{
|
|
1757
|
-
value: data instanceof Set ? `Set { ${JSON.stringify([...data]).slice(1, -1)} }` : data instanceof Map ? `Map ` + JSON.stringify([...data]) : Object.getPrototypeOf(data).constructor.name + ` ` + JSON.stringify(data),
|
|
3130
|
+
value: data instanceof Set ? `Set { ${JSON.stringify([...data]).slice(1, -1)} }` : data instanceof Map ? `Map ` + JSON.stringify([...data]) : Object.getPrototypeOf(data).constructor.name + ` ` + fallback(() => JSON.stringify(data), `?`),
|
|
1758
3131
|
disabled: true
|
|
1759
3132
|
},
|
|
1760
3133
|
void 0,
|
|
@@ -1763,318 +3136,983 @@ var StateEditor = ({ storeHooks, token }) => {
|
|
|
1763
3136
|
fileName: "../src/react-devtools/StateEditor.tsx",
|
|
1764
3137
|
lineNumber: 18,
|
|
1765
3138
|
columnNumber: 4
|
|
1766
|
-
},
|
|
1767
|
-
this
|
|
1768
|
-
) }, void 0, false, {
|
|
1769
|
-
fileName: "../src/react-devtools/StateEditor.tsx",
|
|
1770
|
-
lineNumber: 17,
|
|
3139
|
+
},
|
|
3140
|
+
this
|
|
3141
|
+
) }, void 0, false, {
|
|
3142
|
+
fileName: "../src/react-devtools/StateEditor.tsx",
|
|
3143
|
+
lineNumber: 17,
|
|
3144
|
+
columnNumber: 3
|
|
3145
|
+
}, this);
|
|
3146
|
+
};
|
|
3147
|
+
var ReadonlySelectorViewer = ({ token }) => {
|
|
3148
|
+
const data = useO(token);
|
|
3149
|
+
return isJson(data) ? /* @__PURE__ */ jsxDEV14(
|
|
3150
|
+
JsonEditor,
|
|
3151
|
+
{
|
|
3152
|
+
data,
|
|
3153
|
+
set: () => null,
|
|
3154
|
+
schema: true,
|
|
3155
|
+
isReadonly: () => true
|
|
3156
|
+
},
|
|
3157
|
+
void 0,
|
|
3158
|
+
false,
|
|
3159
|
+
{
|
|
3160
|
+
fileName: "../src/react-devtools/StateEditor.tsx",
|
|
3161
|
+
lineNumber: 39,
|
|
3162
|
+
columnNumber: 3
|
|
3163
|
+
},
|
|
3164
|
+
this
|
|
3165
|
+
) : /* @__PURE__ */ jsxDEV14("div", { className: "json_editor", children: /* @__PURE__ */ jsxDEV14(
|
|
3166
|
+
ElasticInput,
|
|
3167
|
+
{
|
|
3168
|
+
value: data instanceof Set ? `Set ` + JSON.stringify([...data]) : data instanceof Map ? `Map ` + JSON.stringify([...data]) : Object.getPrototypeOf(data).constructor.name + ` ` + JSON.stringify(data),
|
|
3169
|
+
disabled: true
|
|
3170
|
+
},
|
|
3171
|
+
void 0,
|
|
3172
|
+
false,
|
|
3173
|
+
{
|
|
3174
|
+
fileName: "../src/react-devtools/StateEditor.tsx",
|
|
3175
|
+
lineNumber: 47,
|
|
3176
|
+
columnNumber: 4
|
|
3177
|
+
},
|
|
3178
|
+
this
|
|
3179
|
+
) }, void 0, false, {
|
|
3180
|
+
fileName: "../src/react-devtools/StateEditor.tsx",
|
|
3181
|
+
lineNumber: 46,
|
|
3182
|
+
columnNumber: 3
|
|
3183
|
+
}, this);
|
|
3184
|
+
};
|
|
3185
|
+
var StoreEditor = ({ token }) => {
|
|
3186
|
+
if (token.type === `readonly_selector`) {
|
|
3187
|
+
return /* @__PURE__ */ jsxDEV14(ReadonlySelectorViewer, { token }, void 0, false, {
|
|
3188
|
+
fileName: "../src/react-devtools/StateEditor.tsx",
|
|
3189
|
+
lineNumber: 67,
|
|
3190
|
+
columnNumber: 10
|
|
3191
|
+
}, this);
|
|
3192
|
+
}
|
|
3193
|
+
return /* @__PURE__ */ jsxDEV14(StateEditor, { token }, void 0, false, {
|
|
3194
|
+
fileName: "../src/react-devtools/StateEditor.tsx",
|
|
3195
|
+
lineNumber: 69,
|
|
3196
|
+
columnNumber: 9
|
|
3197
|
+
}, this);
|
|
3198
|
+
};
|
|
3199
|
+
|
|
3200
|
+
// ../src/react-devtools/StateIndex.tsx
|
|
3201
|
+
import { Fragment as Fragment4, jsxDEV as jsxDEV15 } from "react/jsx-dev-runtime";
|
|
3202
|
+
var findStateTypeState = selectorFamily({
|
|
3203
|
+
key: `\u{1F441}\u200D\u{1F5E8} State Type`,
|
|
3204
|
+
get: (token) => ({ get }) => {
|
|
3205
|
+
let state;
|
|
3206
|
+
try {
|
|
3207
|
+
state = get(token);
|
|
3208
|
+
} catch (error) {
|
|
3209
|
+
return `error`;
|
|
3210
|
+
}
|
|
3211
|
+
if (state === void 0)
|
|
3212
|
+
return `undefined`;
|
|
3213
|
+
if (isJson(state))
|
|
3214
|
+
return refineJsonType(state).type;
|
|
3215
|
+
return Object.getPrototypeOf(state).constructor.name;
|
|
3216
|
+
}
|
|
3217
|
+
});
|
|
3218
|
+
var StateIndexLeafNode = ({ node, isOpenState, typeState }) => {
|
|
3219
|
+
var _a2, _b;
|
|
3220
|
+
const [isOpen, setIsOpen] = useIO2(isOpenState);
|
|
3221
|
+
const state = useO2(node);
|
|
3222
|
+
const stateType = useO2(typeState);
|
|
3223
|
+
const isPrimitive = Boolean(primitiveRefinery.refine(state));
|
|
3224
|
+
return /* @__PURE__ */ jsxDEV15(Fragment4, { children: [
|
|
3225
|
+
/* @__PURE__ */ jsxDEV15("header", { children: [
|
|
3226
|
+
/* @__PURE__ */ jsxDEV15(
|
|
3227
|
+
button.OpenClose,
|
|
3228
|
+
{
|
|
3229
|
+
isOpen: isOpen && !isPrimitive,
|
|
3230
|
+
setIsOpen,
|
|
3231
|
+
disabled: isPrimitive
|
|
3232
|
+
},
|
|
3233
|
+
void 0,
|
|
3234
|
+
false,
|
|
3235
|
+
{
|
|
3236
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3237
|
+
lineNumber: 45,
|
|
3238
|
+
columnNumber: 5
|
|
3239
|
+
},
|
|
3240
|
+
this
|
|
3241
|
+
),
|
|
3242
|
+
/* @__PURE__ */ jsxDEV15(
|
|
3243
|
+
"label",
|
|
3244
|
+
{
|
|
3245
|
+
onClick: () => console.log(node, getState(node)),
|
|
3246
|
+
onKeyUp: () => console.log(node, getState(node)),
|
|
3247
|
+
children: [
|
|
3248
|
+
/* @__PURE__ */ jsxDEV15("h2", { children: (_b = (_a2 = node.family) == null ? void 0 : _a2.subKey) != null ? _b : node.key }, void 0, false, {
|
|
3249
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3250
|
+
lineNumber: 54,
|
|
3251
|
+
columnNumber: 6
|
|
3252
|
+
}, this),
|
|
3253
|
+
/* @__PURE__ */ jsxDEV15("span", { className: "type detail", children: [
|
|
3254
|
+
"(",
|
|
3255
|
+
stateType,
|
|
3256
|
+
")"
|
|
3257
|
+
] }, void 0, true, {
|
|
3258
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3259
|
+
lineNumber: 55,
|
|
3260
|
+
columnNumber: 6
|
|
3261
|
+
}, this)
|
|
3262
|
+
]
|
|
3263
|
+
},
|
|
3264
|
+
void 0,
|
|
3265
|
+
true,
|
|
3266
|
+
{
|
|
3267
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3268
|
+
lineNumber: 50,
|
|
3269
|
+
columnNumber: 5
|
|
3270
|
+
},
|
|
3271
|
+
this
|
|
3272
|
+
),
|
|
3273
|
+
isPrimitive ? /* @__PURE__ */ jsxDEV15(StoreEditor, { token: node }, void 0, false, {
|
|
3274
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3275
|
+
lineNumber: 57,
|
|
3276
|
+
columnNumber: 20
|
|
3277
|
+
}, this) : null
|
|
3278
|
+
] }, void 0, true, {
|
|
3279
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3280
|
+
lineNumber: 44,
|
|
3281
|
+
columnNumber: 4
|
|
3282
|
+
}, this),
|
|
3283
|
+
isOpen && !isPrimitive ? /* @__PURE__ */ jsxDEV15("main", { children: /* @__PURE__ */ jsxDEV15(StoreEditor, { token: node }, void 0, false, {
|
|
3284
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3285
|
+
lineNumber: 61,
|
|
3286
|
+
columnNumber: 6
|
|
3287
|
+
}, this) }, void 0, false, {
|
|
3288
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3289
|
+
lineNumber: 60,
|
|
3290
|
+
columnNumber: 5
|
|
3291
|
+
}, this) : null
|
|
3292
|
+
] }, void 0, true, {
|
|
3293
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3294
|
+
lineNumber: 43,
|
|
3295
|
+
columnNumber: 3
|
|
3296
|
+
}, this);
|
|
3297
|
+
};
|
|
3298
|
+
var StateIndexTreeNode = ({ node, isOpenState }) => {
|
|
3299
|
+
const [isOpen, setIsOpen] = useIO2(isOpenState);
|
|
3300
|
+
Object.entries(node.familyMembers).forEach(([key, childNode]) => {
|
|
3301
|
+
findViewIsOpenState(key);
|
|
3302
|
+
findStateTypeState(childNode);
|
|
3303
|
+
});
|
|
3304
|
+
return /* @__PURE__ */ jsxDEV15(Fragment4, { children: [
|
|
3305
|
+
/* @__PURE__ */ jsxDEV15("header", { children: [
|
|
3306
|
+
/* @__PURE__ */ jsxDEV15(button.OpenClose, { isOpen, setIsOpen }, void 0, false, {
|
|
3307
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3308
|
+
lineNumber: 81,
|
|
3309
|
+
columnNumber: 5
|
|
3310
|
+
}, this),
|
|
3311
|
+
/* @__PURE__ */ jsxDEV15("label", { children: [
|
|
3312
|
+
/* @__PURE__ */ jsxDEV15("h2", { children: node.key }, void 0, false, {
|
|
3313
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3314
|
+
lineNumber: 83,
|
|
3315
|
+
columnNumber: 6
|
|
3316
|
+
}, this),
|
|
3317
|
+
/* @__PURE__ */ jsxDEV15("span", { className: "type detail", children: " (family)" }, void 0, false, {
|
|
3318
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3319
|
+
lineNumber: 84,
|
|
3320
|
+
columnNumber: 6
|
|
3321
|
+
}, this)
|
|
3322
|
+
] }, void 0, true, {
|
|
3323
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3324
|
+
lineNumber: 82,
|
|
3325
|
+
columnNumber: 5
|
|
3326
|
+
}, this)
|
|
3327
|
+
] }, void 0, true, {
|
|
3328
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3329
|
+
lineNumber: 80,
|
|
3330
|
+
columnNumber: 4
|
|
3331
|
+
}, this),
|
|
3332
|
+
isOpen ? Object.entries(node.familyMembers).map(([key, childNode]) => /* @__PURE__ */ jsxDEV15(
|
|
3333
|
+
StateIndexNode,
|
|
3334
|
+
{
|
|
3335
|
+
node: childNode,
|
|
3336
|
+
isOpenState: findViewIsOpenState(childNode.key),
|
|
3337
|
+
typeState: findStateTypeState(childNode)
|
|
3338
|
+
},
|
|
3339
|
+
key,
|
|
3340
|
+
false,
|
|
3341
|
+
{
|
|
3342
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3343
|
+
lineNumber: 89,
|
|
3344
|
+
columnNumber: 7
|
|
3345
|
+
},
|
|
3346
|
+
this
|
|
3347
|
+
)) : null
|
|
3348
|
+
] }, void 0, true, {
|
|
3349
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3350
|
+
lineNumber: 79,
|
|
3351
|
+
columnNumber: 3
|
|
3352
|
+
}, this);
|
|
3353
|
+
};
|
|
3354
|
+
var StateIndexNode = ({ node, isOpenState, typeState }) => {
|
|
3355
|
+
if (node.key.startsWith(`\u{1F441}\u200D\u{1F5E8}`)) {
|
|
3356
|
+
return null;
|
|
3357
|
+
}
|
|
3358
|
+
return /* @__PURE__ */ jsxDEV15("section", { className: "node state", children: `type` in node ? /* @__PURE__ */ jsxDEV15(
|
|
3359
|
+
StateIndexLeafNode,
|
|
3360
|
+
{
|
|
3361
|
+
node,
|
|
3362
|
+
isOpenState,
|
|
3363
|
+
typeState
|
|
3364
|
+
},
|
|
3365
|
+
void 0,
|
|
3366
|
+
false,
|
|
3367
|
+
{
|
|
3368
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3369
|
+
lineNumber: 114,
|
|
3370
|
+
columnNumber: 5
|
|
3371
|
+
},
|
|
3372
|
+
this
|
|
3373
|
+
) : /* @__PURE__ */ jsxDEV15(StateIndexTreeNode, { node, isOpenState }, void 0, false, {
|
|
3374
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3375
|
+
lineNumber: 120,
|
|
3376
|
+
columnNumber: 5
|
|
3377
|
+
}, this) }, void 0, false, {
|
|
3378
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3379
|
+
lineNumber: 112,
|
|
3380
|
+
columnNumber: 3
|
|
3381
|
+
}, this);
|
|
3382
|
+
};
|
|
3383
|
+
var StateIndex = ({ tokenIndex }) => {
|
|
3384
|
+
const tokenIds = useO2(tokenIndex);
|
|
3385
|
+
return /* @__PURE__ */ jsxDEV15("article", { className: "index state_index", children: Object.entries(tokenIds).filter(([key]) => !key.startsWith(`\u{1F441}\u200D\u{1F5E8}`)).sort().map(([key, node]) => {
|
|
3386
|
+
return /* @__PURE__ */ jsxDEV15(
|
|
3387
|
+
StateIndexNode,
|
|
3388
|
+
{
|
|
3389
|
+
node,
|
|
3390
|
+
isOpenState: findViewIsOpenState(node.key),
|
|
3391
|
+
typeState: findStateTypeState(node)
|
|
3392
|
+
},
|
|
3393
|
+
key,
|
|
3394
|
+
false,
|
|
3395
|
+
{
|
|
3396
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3397
|
+
lineNumber: 143,
|
|
3398
|
+
columnNumber: 7
|
|
3399
|
+
},
|
|
3400
|
+
this
|
|
3401
|
+
);
|
|
3402
|
+
}) }, void 0, false, {
|
|
3403
|
+
fileName: "../src/react-devtools/StateIndex.tsx",
|
|
3404
|
+
lineNumber: 137,
|
|
3405
|
+
columnNumber: 3
|
|
3406
|
+
}, this);
|
|
3407
|
+
};
|
|
3408
|
+
|
|
3409
|
+
// ../src/react-devtools/TimelineIndex.tsx
|
|
3410
|
+
import {
|
|
3411
|
+
undo,
|
|
3412
|
+
redo
|
|
3413
|
+
} from "atom.io";
|
|
3414
|
+
import { useIO as useIO3, useO as useO3 } from "atom.io/react";
|
|
3415
|
+
import { Fragment as Fragment6 } from "react";
|
|
3416
|
+
|
|
3417
|
+
// ../src/react-devtools/Updates.tsx
|
|
3418
|
+
import { Fragment as Fragment5, jsxDEV as jsxDEV16 } from "react/jsx-dev-runtime";
|
|
3419
|
+
var AtomUpdateFC = ({ atomUpdate }) => {
|
|
3420
|
+
return /* @__PURE__ */ jsxDEV16(
|
|
3421
|
+
"article",
|
|
3422
|
+
{
|
|
3423
|
+
className: "node atom_update",
|
|
3424
|
+
onClick: () => console.log(atomUpdate),
|
|
3425
|
+
onKeyUp: () => console.log(atomUpdate),
|
|
3426
|
+
children: [
|
|
3427
|
+
/* @__PURE__ */ jsxDEV16("span", { className: "detail", children: [
|
|
3428
|
+
atomUpdate.key,
|
|
3429
|
+
": "
|
|
3430
|
+
] }, void 0, true, {
|
|
3431
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3432
|
+
lineNumber: 20,
|
|
3433
|
+
columnNumber: 4
|
|
3434
|
+
}, this),
|
|
3435
|
+
/* @__PURE__ */ jsxDEV16("span", { children: /* @__PURE__ */ jsxDEV16("span", { className: "summary", children: prettyJson.diff(atomUpdate.oldValue, atomUpdate.newValue).summary }, void 0, false, {
|
|
3436
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3437
|
+
lineNumber: 22,
|
|
3438
|
+
columnNumber: 5
|
|
3439
|
+
}, this) }, void 0, false, {
|
|
3440
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3441
|
+
lineNumber: 21,
|
|
3442
|
+
columnNumber: 4
|
|
3443
|
+
}, this)
|
|
3444
|
+
]
|
|
3445
|
+
},
|
|
3446
|
+
atomUpdate.key,
|
|
3447
|
+
true,
|
|
3448
|
+
{
|
|
3449
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3450
|
+
lineNumber: 14,
|
|
3451
|
+
columnNumber: 3
|
|
3452
|
+
},
|
|
3453
|
+
this
|
|
3454
|
+
);
|
|
3455
|
+
};
|
|
3456
|
+
var TransactionUpdateFC = ({ serialNumber, transactionUpdate }) => {
|
|
3457
|
+
return /* @__PURE__ */ jsxDEV16("article", { className: "node transaction_update", children: [
|
|
3458
|
+
/* @__PURE__ */ jsxDEV16("header", { children: /* @__PURE__ */ jsxDEV16("h4", { children: serialNumber }, void 0, false, {
|
|
3459
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3460
|
+
lineNumber: 37,
|
|
3461
|
+
columnNumber: 5
|
|
3462
|
+
}, this) }, void 0, false, {
|
|
3463
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3464
|
+
lineNumber: 36,
|
|
3465
|
+
columnNumber: 4
|
|
3466
|
+
}, this),
|
|
3467
|
+
/* @__PURE__ */ jsxDEV16("main", { children: [
|
|
3468
|
+
/* @__PURE__ */ jsxDEV16("section", { className: "transaction_params", children: [
|
|
3469
|
+
/* @__PURE__ */ jsxDEV16("span", { className: "detail", children: "params: " }, void 0, false, {
|
|
3470
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3471
|
+
lineNumber: 41,
|
|
3472
|
+
columnNumber: 6
|
|
3473
|
+
}, this),
|
|
3474
|
+
transactionUpdate.params.map((param, index) => {
|
|
3475
|
+
return /* @__PURE__ */ jsxDEV16(
|
|
3476
|
+
"article",
|
|
3477
|
+
{
|
|
3478
|
+
className: "node transaction_param",
|
|
3479
|
+
onClick: () => console.log(transactionUpdate),
|
|
3480
|
+
onKeyUp: () => console.log(transactionUpdate),
|
|
3481
|
+
children: [
|
|
3482
|
+
/* @__PURE__ */ jsxDEV16("span", { className: "detail", children: [
|
|
3483
|
+
discoverType(param),
|
|
3484
|
+
": "
|
|
3485
|
+
] }, void 0, true, {
|
|
3486
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3487
|
+
lineNumber: 50,
|
|
3488
|
+
columnNumber: 9
|
|
3489
|
+
}, this),
|
|
3490
|
+
/* @__PURE__ */ jsxDEV16("span", { className: "summary", children: typeof param === `object` && `type` in param && `target` in param ? /* @__PURE__ */ jsxDEV16(Fragment5, { children: JSON.stringify(param.type) }, void 0, false, {
|
|
3491
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3492
|
+
lineNumber: 55,
|
|
3493
|
+
columnNumber: 11
|
|
3494
|
+
}, this) : /* @__PURE__ */ jsxDEV16(Fragment5, { children: JSON.stringify(param) }, void 0, false, {
|
|
3495
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3496
|
+
lineNumber: 57,
|
|
3497
|
+
columnNumber: 11
|
|
3498
|
+
}, this) }, void 0, false, {
|
|
3499
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3500
|
+
lineNumber: 51,
|
|
3501
|
+
columnNumber: 9
|
|
3502
|
+
}, this)
|
|
3503
|
+
]
|
|
3504
|
+
},
|
|
3505
|
+
`param` + index,
|
|
3506
|
+
true,
|
|
3507
|
+
{
|
|
3508
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3509
|
+
lineNumber: 44,
|
|
3510
|
+
columnNumber: 8
|
|
3511
|
+
},
|
|
3512
|
+
this
|
|
3513
|
+
);
|
|
3514
|
+
})
|
|
3515
|
+
] }, void 0, true, {
|
|
3516
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3517
|
+
lineNumber: 40,
|
|
3518
|
+
columnNumber: 5
|
|
3519
|
+
}, this),
|
|
3520
|
+
/* @__PURE__ */ jsxDEV16("section", { className: "node transaction_output", children: [
|
|
3521
|
+
/* @__PURE__ */ jsxDEV16("span", { className: "detail", children: "output: " }, void 0, false, {
|
|
3522
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3523
|
+
lineNumber: 65,
|
|
3524
|
+
columnNumber: 6
|
|
3525
|
+
}, this),
|
|
3526
|
+
/* @__PURE__ */ jsxDEV16("span", { className: "detail", children: discoverType(transactionUpdate.output) }, void 0, false, {
|
|
3527
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3528
|
+
lineNumber: 66,
|
|
3529
|
+
columnNumber: 6
|
|
3530
|
+
}, this),
|
|
3531
|
+
transactionUpdate.output ? /* @__PURE__ */ jsxDEV16("span", { className: "summary", children: [
|
|
3532
|
+
": ",
|
|
3533
|
+
JSON.stringify(transactionUpdate.output)
|
|
3534
|
+
] }, void 0, true, {
|
|
3535
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3536
|
+
lineNumber: 70,
|
|
3537
|
+
columnNumber: 7
|
|
3538
|
+
}, this) : null
|
|
3539
|
+
] }, void 0, true, {
|
|
3540
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3541
|
+
lineNumber: 64,
|
|
3542
|
+
columnNumber: 5
|
|
3543
|
+
}, this),
|
|
3544
|
+
/* @__PURE__ */ jsxDEV16("section", { className: "transaction_impact", children: [
|
|
3545
|
+
/* @__PURE__ */ jsxDEV16("span", { className: "detail", children: "impact: " }, void 0, false, {
|
|
3546
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3547
|
+
lineNumber: 76,
|
|
3548
|
+
columnNumber: 6
|
|
3549
|
+
}, this),
|
|
3550
|
+
transactionUpdate.atomUpdates.filter((token) => !token.key.startsWith(`\u{1F441}\u200D\u{1F5E8}`)).map((atomUpdate, index) => {
|
|
3551
|
+
return /* @__PURE__ */ jsxDEV16(
|
|
3552
|
+
article.AtomUpdate,
|
|
3553
|
+
{
|
|
3554
|
+
serialNumber: index,
|
|
3555
|
+
atomUpdate
|
|
3556
|
+
},
|
|
3557
|
+
`${transactionUpdate.key}:${index}:${atomUpdate.key}`,
|
|
3558
|
+
false,
|
|
3559
|
+
{
|
|
3560
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3561
|
+
lineNumber: 81,
|
|
3562
|
+
columnNumber: 9
|
|
3563
|
+
},
|
|
3564
|
+
this
|
|
3565
|
+
);
|
|
3566
|
+
})
|
|
3567
|
+
] }, void 0, true, {
|
|
3568
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3569
|
+
lineNumber: 75,
|
|
3570
|
+
columnNumber: 5
|
|
3571
|
+
}, this)
|
|
3572
|
+
] }, void 0, true, {
|
|
3573
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3574
|
+
lineNumber: 39,
|
|
3575
|
+
columnNumber: 4
|
|
3576
|
+
}, this)
|
|
3577
|
+
] }, void 0, true, {
|
|
3578
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3579
|
+
lineNumber: 35,
|
|
1771
3580
|
columnNumber: 3
|
|
1772
3581
|
}, this);
|
|
1773
3582
|
};
|
|
1774
|
-
var
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
},
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
},
|
|
1791
|
-
this
|
|
1792
|
-
) : /* @__PURE__ */ jsxDEV12("div", { className: "json_editor", children: /* @__PURE__ */ jsxDEV12(
|
|
1793
|
-
ElasticInput,
|
|
1794
|
-
{
|
|
1795
|
-
value: data instanceof Set ? `Set ` + JSON.stringify([...data]) : data instanceof Map ? `Map ` + JSON.stringify([...data]) : Object.getPrototypeOf(data).constructor.name + ` ` + JSON.stringify(data),
|
|
1796
|
-
disabled: true
|
|
1797
|
-
},
|
|
1798
|
-
void 0,
|
|
1799
|
-
false,
|
|
1800
|
-
{
|
|
1801
|
-
fileName: "../src/react-devtools/StateEditor.tsx",
|
|
1802
|
-
lineNumber: 48,
|
|
3583
|
+
var TimelineUpdateFC = ({ timelineUpdate }) => {
|
|
3584
|
+
return /* @__PURE__ */ jsxDEV16("article", { className: "node timeline_update", children: [
|
|
3585
|
+
/* @__PURE__ */ jsxDEV16("header", { children: /* @__PURE__ */ jsxDEV16("h4", { children: [
|
|
3586
|
+
timelineUpdate.timestamp,
|
|
3587
|
+
": ",
|
|
3588
|
+
timelineUpdate.type,
|
|
3589
|
+
" (",
|
|
3590
|
+
timelineUpdate.key,
|
|
3591
|
+
")"
|
|
3592
|
+
] }, void 0, true, {
|
|
3593
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3594
|
+
lineNumber: 100,
|
|
3595
|
+
columnNumber: 5
|
|
3596
|
+
}, this) }, void 0, false, {
|
|
3597
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3598
|
+
lineNumber: 99,
|
|
1803
3599
|
columnNumber: 4
|
|
1804
|
-
},
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
3600
|
+
}, this),
|
|
3601
|
+
/* @__PURE__ */ jsxDEV16("main", { children: timelineUpdate.type === `transaction_update` ? timelineUpdate.atomUpdates.filter((token) => !token.key.startsWith(`\u{1F441}\u200D\u{1F5E8}`)).map((atomUpdate, index) => {
|
|
3602
|
+
return /* @__PURE__ */ jsxDEV16(
|
|
3603
|
+
article.AtomUpdate,
|
|
3604
|
+
{
|
|
3605
|
+
serialNumber: index,
|
|
3606
|
+
atomUpdate
|
|
3607
|
+
},
|
|
3608
|
+
`${timelineUpdate.key}:${index}:${atomUpdate.key}`,
|
|
3609
|
+
false,
|
|
3610
|
+
{
|
|
3611
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3612
|
+
lineNumber: 111,
|
|
3613
|
+
columnNumber: 9
|
|
3614
|
+
},
|
|
3615
|
+
this
|
|
3616
|
+
);
|
|
3617
|
+
}) : timelineUpdate.type === `selector_update` ? timelineUpdate.atomUpdates.filter((token) => !token.key.startsWith(`\u{1F441}\u200D\u{1F5E8}`)).map((atomUpdate, index) => {
|
|
3618
|
+
return /* @__PURE__ */ jsxDEV16(
|
|
3619
|
+
article.AtomUpdate,
|
|
3620
|
+
{
|
|
3621
|
+
serialNumber: index,
|
|
3622
|
+
atomUpdate
|
|
3623
|
+
},
|
|
3624
|
+
`${timelineUpdate.key}:${index}:${atomUpdate.key}`,
|
|
3625
|
+
false,
|
|
3626
|
+
{
|
|
3627
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3628
|
+
lineNumber: 123,
|
|
3629
|
+
columnNumber: 9
|
|
3630
|
+
},
|
|
3631
|
+
this
|
|
3632
|
+
);
|
|
3633
|
+
}) : timelineUpdate.type === `atom_update` ? /* @__PURE__ */ jsxDEV16(
|
|
3634
|
+
article.AtomUpdate,
|
|
3635
|
+
{
|
|
3636
|
+
serialNumber: timelineUpdate.timestamp,
|
|
3637
|
+
atomUpdate: timelineUpdate
|
|
3638
|
+
},
|
|
3639
|
+
void 0,
|
|
3640
|
+
false,
|
|
3641
|
+
{
|
|
3642
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3643
|
+
lineNumber: 131,
|
|
3644
|
+
columnNumber: 6
|
|
3645
|
+
},
|
|
3646
|
+
this
|
|
3647
|
+
) : null }, void 0, false, {
|
|
3648
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3649
|
+
lineNumber: 105,
|
|
3650
|
+
columnNumber: 4
|
|
3651
|
+
}, this)
|
|
3652
|
+
] }, void 0, true, {
|
|
3653
|
+
fileName: "../src/react-devtools/Updates.tsx",
|
|
3654
|
+
lineNumber: 98,
|
|
1809
3655
|
columnNumber: 3
|
|
1810
3656
|
}, this);
|
|
1811
3657
|
};
|
|
1812
|
-
var
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
3658
|
+
var article = {
|
|
3659
|
+
AtomUpdate: AtomUpdateFC,
|
|
3660
|
+
TransactionUpdate: TransactionUpdateFC,
|
|
3661
|
+
TimelineUpdate: TimelineUpdateFC
|
|
3662
|
+
};
|
|
3663
|
+
|
|
3664
|
+
// ../src/react-devtools/TimelineIndex.tsx
|
|
3665
|
+
import { jsxDEV as jsxDEV17 } from "react/jsx-dev-runtime";
|
|
3666
|
+
var YouAreHere = () => {
|
|
3667
|
+
return /* @__PURE__ */ jsxDEV17("span", { className: "you_are_here", children: "you are here" }, void 0, false, {
|
|
3668
|
+
fileName: "../src/react-devtools/TimelineIndex.tsx",
|
|
3669
|
+
lineNumber: 17,
|
|
1823
3670
|
columnNumber: 9
|
|
1824
3671
|
}, this);
|
|
1825
3672
|
};
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
fileName: "../src/react-devtools/TokenList.tsx",
|
|
1836
|
-
lineNumber: 39,
|
|
1837
|
-
columnNumber: 13
|
|
1838
|
-
}, this),
|
|
1839
|
-
/* @__PURE__ */ jsxDEV13(StoreEditor, { storeHooks, token }, void 0, false, {
|
|
1840
|
-
fileName: "../src/react-devtools/TokenList.tsx",
|
|
1841
|
-
lineNumber: 42,
|
|
1842
|
-
columnNumber: 13
|
|
1843
|
-
}, this)
|
|
1844
|
-
] }, void 0, true, {
|
|
1845
|
-
fileName: "../src/react-devtools/TokenList.tsx",
|
|
1846
|
-
lineNumber: 38,
|
|
1847
|
-
columnNumber: 12
|
|
1848
|
-
}, this)) : recordToEntries(token.familyMembers).map(([key2, token2]) => /* @__PURE__ */ jsxDEV13(Fragment4, { children: [
|
|
1849
|
-
/* @__PURE__ */ jsxDEV13("label", { children: key2 }, void 0, false, {
|
|
1850
|
-
fileName: "../src/react-devtools/TokenList.tsx",
|
|
1851
|
-
lineNumber: 47,
|
|
1852
|
-
columnNumber: 13
|
|
3673
|
+
var TimelineLog = ({ token, isOpenState, timelineState }) => {
|
|
3674
|
+
const timeline2 = useO3(timelineState);
|
|
3675
|
+
const [isOpen, setIsOpen] = useIO3(isOpenState);
|
|
3676
|
+
return /* @__PURE__ */ jsxDEV17("section", { className: "node timeline_log", children: [
|
|
3677
|
+
/* @__PURE__ */ jsxDEV17("header", { children: [
|
|
3678
|
+
/* @__PURE__ */ jsxDEV17(button.OpenClose, { isOpen, setIsOpen }, void 0, false, {
|
|
3679
|
+
fileName: "../src/react-devtools/TimelineIndex.tsx",
|
|
3680
|
+
lineNumber: 31,
|
|
3681
|
+
columnNumber: 5
|
|
1853
3682
|
}, this),
|
|
1854
|
-
/* @__PURE__ */
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
3683
|
+
/* @__PURE__ */ jsxDEV17("label", { children: [
|
|
3684
|
+
/* @__PURE__ */ jsxDEV17("h2", { children: token.key }, void 0, false, {
|
|
3685
|
+
fileName: "../src/react-devtools/TimelineIndex.tsx",
|
|
3686
|
+
lineNumber: 33,
|
|
3687
|
+
columnNumber: 6
|
|
3688
|
+
}, this),
|
|
3689
|
+
/* @__PURE__ */ jsxDEV17("span", { className: "detail length", children: [
|
|
3690
|
+
"(",
|
|
3691
|
+
timeline2.at,
|
|
3692
|
+
"/",
|
|
3693
|
+
timeline2.history.length,
|
|
3694
|
+
")"
|
|
3695
|
+
] }, void 0, true, {
|
|
3696
|
+
fileName: "../src/react-devtools/TimelineIndex.tsx",
|
|
3697
|
+
lineNumber: 34,
|
|
3698
|
+
columnNumber: 6
|
|
3699
|
+
}, this),
|
|
3700
|
+
/* @__PURE__ */ jsxDEV17("span", { className: "gap" }, void 0, false, {
|
|
3701
|
+
fileName: "../src/react-devtools/TimelineIndex.tsx",
|
|
3702
|
+
lineNumber: 37,
|
|
3703
|
+
columnNumber: 6
|
|
3704
|
+
}, this),
|
|
3705
|
+
/* @__PURE__ */ jsxDEV17("nav", { children: [
|
|
3706
|
+
/* @__PURE__ */ jsxDEV17(
|
|
3707
|
+
"button",
|
|
3708
|
+
{
|
|
3709
|
+
type: "button",
|
|
3710
|
+
onClick: () => undo(token),
|
|
3711
|
+
disabled: timeline2.at === 0,
|
|
3712
|
+
children: "undo"
|
|
3713
|
+
},
|
|
3714
|
+
void 0,
|
|
3715
|
+
false,
|
|
3716
|
+
{
|
|
3717
|
+
fileName: "../src/react-devtools/TimelineIndex.tsx",
|
|
3718
|
+
lineNumber: 39,
|
|
3719
|
+
columnNumber: 7
|
|
3720
|
+
},
|
|
3721
|
+
this
|
|
3722
|
+
),
|
|
3723
|
+
/* @__PURE__ */ jsxDEV17(
|
|
3724
|
+
"button",
|
|
3725
|
+
{
|
|
3726
|
+
type: "button",
|
|
3727
|
+
onClick: () => redo(token),
|
|
3728
|
+
disabled: timeline2.at === timeline2.history.length,
|
|
3729
|
+
children: "redo"
|
|
3730
|
+
},
|
|
3731
|
+
void 0,
|
|
3732
|
+
false,
|
|
3733
|
+
{
|
|
3734
|
+
fileName: "../src/react-devtools/TimelineIndex.tsx",
|
|
3735
|
+
lineNumber: 46,
|
|
3736
|
+
columnNumber: 7
|
|
3737
|
+
},
|
|
3738
|
+
this
|
|
3739
|
+
)
|
|
3740
|
+
] }, void 0, true, {
|
|
3741
|
+
fileName: "../src/react-devtools/TimelineIndex.tsx",
|
|
3742
|
+
lineNumber: 38,
|
|
3743
|
+
columnNumber: 6
|
|
1861
3744
|
}, this)
|
|
1862
|
-
] },
|
|
1863
|
-
fileName: "../src/react-devtools/
|
|
1864
|
-
lineNumber:
|
|
1865
|
-
columnNumber:
|
|
3745
|
+
] }, void 0, true, {
|
|
3746
|
+
fileName: "../src/react-devtools/TimelineIndex.tsx",
|
|
3747
|
+
lineNumber: 32,
|
|
3748
|
+
columnNumber: 5
|
|
1866
3749
|
}, this)
|
|
1867
3750
|
] }, void 0, true, {
|
|
1868
|
-
fileName: "../src/react-devtools/
|
|
1869
|
-
lineNumber:
|
|
1870
|
-
columnNumber:
|
|
3751
|
+
fileName: "../src/react-devtools/TimelineIndex.tsx",
|
|
3752
|
+
lineNumber: 30,
|
|
3753
|
+
columnNumber: 4
|
|
3754
|
+
}, this),
|
|
3755
|
+
isOpen ? /* @__PURE__ */ jsxDEV17("main", { children: timeline2.history.map((update, index) => /* @__PURE__ */ jsxDEV17(Fragment6, { children: [
|
|
3756
|
+
index === timeline2.at ? /* @__PURE__ */ jsxDEV17(YouAreHere, {}, void 0, false, {
|
|
3757
|
+
fileName: "../src/react-devtools/TimelineIndex.tsx",
|
|
3758
|
+
lineNumber: 60,
|
|
3759
|
+
columnNumber: 33
|
|
3760
|
+
}, this) : null,
|
|
3761
|
+
/* @__PURE__ */ jsxDEV17(article.TimelineUpdate, { timelineUpdate: update }, void 0, false, {
|
|
3762
|
+
fileName: "../src/react-devtools/TimelineIndex.tsx",
|
|
3763
|
+
lineNumber: 61,
|
|
3764
|
+
columnNumber: 8
|
|
3765
|
+
}, this),
|
|
3766
|
+
index === timeline2.history.length - 1 && timeline2.at === timeline2.history.length ? /* @__PURE__ */ jsxDEV17(YouAreHere, {}, void 0, false, {
|
|
3767
|
+
fileName: "../src/react-devtools/TimelineIndex.tsx",
|
|
3768
|
+
lineNumber: 64,
|
|
3769
|
+
columnNumber: 9
|
|
3770
|
+
}, this) : null
|
|
3771
|
+
] }, update.key + index + timeline2.at, true, {
|
|
3772
|
+
fileName: "../src/react-devtools/TimelineIndex.tsx",
|
|
3773
|
+
lineNumber: 59,
|
|
3774
|
+
columnNumber: 7
|
|
1871
3775
|
}, this)) }, void 0, false, {
|
|
1872
|
-
fileName: "../src/react-devtools/
|
|
1873
|
-
lineNumber:
|
|
1874
|
-
columnNumber:
|
|
1875
|
-
}, this)
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
3776
|
+
fileName: "../src/react-devtools/TimelineIndex.tsx",
|
|
3777
|
+
lineNumber: 57,
|
|
3778
|
+
columnNumber: 5
|
|
3779
|
+
}, this) : null
|
|
3780
|
+
] }, void 0, true, {
|
|
3781
|
+
fileName: "../src/react-devtools/TimelineIndex.tsx",
|
|
3782
|
+
lineNumber: 29,
|
|
3783
|
+
columnNumber: 3
|
|
3784
|
+
}, this);
|
|
3785
|
+
};
|
|
3786
|
+
var TimelineIndex = () => {
|
|
3787
|
+
const tokenIds = useO3(timelineIndex);
|
|
3788
|
+
return /* @__PURE__ */ jsxDEV17("article", { className: "index timeline_index", children: tokenIds.filter((token) => !token.key.startsWith(`\u{1F441}\u200D\u{1F5E8}`)).map((token) => {
|
|
3789
|
+
return /* @__PURE__ */ jsxDEV17(
|
|
3790
|
+
TimelineLog,
|
|
3791
|
+
{
|
|
3792
|
+
token,
|
|
3793
|
+
isOpenState: findViewIsOpenState(token.key),
|
|
3794
|
+
timelineState: findTimelineState(token.key)
|
|
3795
|
+
},
|
|
3796
|
+
token.key,
|
|
3797
|
+
false,
|
|
3798
|
+
{
|
|
3799
|
+
fileName: "../src/react-devtools/TimelineIndex.tsx",
|
|
3800
|
+
lineNumber: 82,
|
|
3801
|
+
columnNumber: 7
|
|
3802
|
+
},
|
|
3803
|
+
this
|
|
3804
|
+
);
|
|
1880
3805
|
}) }, void 0, false, {
|
|
1881
|
-
fileName: "../src/react-devtools/
|
|
1882
|
-
lineNumber:
|
|
3806
|
+
fileName: "../src/react-devtools/TimelineIndex.tsx",
|
|
3807
|
+
lineNumber: 77,
|
|
1883
3808
|
columnNumber: 3
|
|
1884
3809
|
}, this);
|
|
1885
3810
|
};
|
|
1886
3811
|
|
|
1887
|
-
// ../src/
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
3812
|
+
// ../src/react-devtools/TransactionIndex.tsx
|
|
3813
|
+
import { useIO as useIO4, useO as useO4 } from "atom.io/react";
|
|
3814
|
+
import { jsxDEV as jsxDEV18 } from "react/jsx-dev-runtime";
|
|
3815
|
+
var TransactionLog = ({ token, isOpenState, logState }) => {
|
|
3816
|
+
const log = useO4(logState);
|
|
3817
|
+
const [isOpen, setIsOpen] = useIO4(isOpenState);
|
|
3818
|
+
return /* @__PURE__ */ jsxDEV18("section", { className: "node transaction_log", children: [
|
|
3819
|
+
/* @__PURE__ */ jsxDEV18("header", { children: [
|
|
3820
|
+
/* @__PURE__ */ jsxDEV18(button.OpenClose, { isOpen, setIsOpen }, void 0, false, {
|
|
3821
|
+
fileName: "../src/react-devtools/TransactionIndex.tsx",
|
|
3822
|
+
lineNumber: 31,
|
|
3823
|
+
columnNumber: 5
|
|
3824
|
+
}, this),
|
|
3825
|
+
/* @__PURE__ */ jsxDEV18("label", { children: [
|
|
3826
|
+
/* @__PURE__ */ jsxDEV18("h2", { children: token.key }, void 0, false, {
|
|
3827
|
+
fileName: "../src/react-devtools/TransactionIndex.tsx",
|
|
3828
|
+
lineNumber: 33,
|
|
3829
|
+
columnNumber: 6
|
|
3830
|
+
}, this),
|
|
3831
|
+
/* @__PURE__ */ jsxDEV18("span", { className: "detail length", children: [
|
|
3832
|
+
"(",
|
|
3833
|
+
log.length,
|
|
3834
|
+
")"
|
|
3835
|
+
] }, void 0, true, {
|
|
3836
|
+
fileName: "../src/react-devtools/TransactionIndex.tsx",
|
|
3837
|
+
lineNumber: 34,
|
|
3838
|
+
columnNumber: 6
|
|
3839
|
+
}, this)
|
|
3840
|
+
] }, void 0, true, {
|
|
3841
|
+
fileName: "../src/react-devtools/TransactionIndex.tsx",
|
|
3842
|
+
lineNumber: 32,
|
|
3843
|
+
columnNumber: 5
|
|
3844
|
+
}, this)
|
|
3845
|
+
] }, void 0, true, {
|
|
3846
|
+
fileName: "../src/react-devtools/TransactionIndex.tsx",
|
|
3847
|
+
lineNumber: 30,
|
|
3848
|
+
columnNumber: 4
|
|
3849
|
+
}, this),
|
|
3850
|
+
isOpen ? /* @__PURE__ */ jsxDEV18("main", { children: log.map((update, index) => /* @__PURE__ */ jsxDEV18(
|
|
3851
|
+
article.TransactionUpdate,
|
|
3852
|
+
{
|
|
3853
|
+
serialNumber: index,
|
|
3854
|
+
transactionUpdate: update
|
|
3855
|
+
},
|
|
3856
|
+
update.key + index,
|
|
3857
|
+
false,
|
|
3858
|
+
{
|
|
3859
|
+
fileName: "../src/react-devtools/TransactionIndex.tsx",
|
|
3860
|
+
lineNumber: 40,
|
|
3861
|
+
columnNumber: 7
|
|
3862
|
+
},
|
|
3863
|
+
this
|
|
3864
|
+
)) }, void 0, false, {
|
|
3865
|
+
fileName: "../src/react-devtools/TransactionIndex.tsx",
|
|
3866
|
+
lineNumber: 38,
|
|
3867
|
+
columnNumber: 5
|
|
3868
|
+
}, this) : null
|
|
3869
|
+
] }, void 0, true, {
|
|
3870
|
+
fileName: "../src/react-devtools/TransactionIndex.tsx",
|
|
3871
|
+
lineNumber: 29,
|
|
3872
|
+
columnNumber: 3
|
|
3873
|
+
}, this);
|
|
3874
|
+
};
|
|
3875
|
+
var TransactionIndex = () => {
|
|
3876
|
+
const tokenIds = useO4(transactionIndex);
|
|
3877
|
+
return /* @__PURE__ */ jsxDEV18("article", { className: "index transaction_index", children: tokenIds.filter((token) => !token.key.startsWith(`\u{1F441}\u200D\u{1F5E8}`)).map((token) => {
|
|
3878
|
+
return /* @__PURE__ */ jsxDEV18(
|
|
3879
|
+
TransactionLog,
|
|
3880
|
+
{
|
|
3881
|
+
token,
|
|
3882
|
+
isOpenState: findViewIsOpenState(token.key),
|
|
3883
|
+
logState: findTransactionLogState(token.key)
|
|
3884
|
+
},
|
|
3885
|
+
token.key,
|
|
3886
|
+
false,
|
|
3887
|
+
{
|
|
3888
|
+
fileName: "../src/react-devtools/TransactionIndex.tsx",
|
|
3889
|
+
lineNumber: 60,
|
|
3890
|
+
columnNumber: 7
|
|
3891
|
+
},
|
|
3892
|
+
this
|
|
3893
|
+
);
|
|
3894
|
+
}) }, void 0, false, {
|
|
3895
|
+
fileName: "../src/react-devtools/TransactionIndex.tsx",
|
|
3896
|
+
lineNumber: 55,
|
|
3897
|
+
columnNumber: 3
|
|
3898
|
+
}, this);
|
|
1899
3899
|
};
|
|
1900
|
-
var lazyLocalStorageEffect = persistAtom(localStorage)(JSON);
|
|
1901
3900
|
|
|
1902
3901
|
// ../src/react-devtools/AtomIODevtools.tsx
|
|
1903
|
-
import { Fragment as
|
|
1904
|
-
var
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
3902
|
+
import { Fragment as Fragment7, jsxDEV as jsxDEV19 } from "react/jsx-dev-runtime";
|
|
3903
|
+
var AtomIODevtools = () => {
|
|
3904
|
+
const constraintsRef = useRef4(null);
|
|
3905
|
+
const [devtoolsAreOpen, setDevtoolsAreOpen] = useIO5(devtoolsAreOpenState);
|
|
3906
|
+
const [devtoolsView, setDevtoolsView] = useIO5(devtoolsViewSelectionState);
|
|
3907
|
+
const devtoolsViewOptions = useO5(devtoolsViewOptionsState);
|
|
3908
|
+
const mouseHasMoved = useRef4(false);
|
|
3909
|
+
return /* @__PURE__ */ jsxDEV19(Fragment7, { children: [
|
|
3910
|
+
/* @__PURE__ */ jsxDEV19(
|
|
3911
|
+
motion.span,
|
|
3912
|
+
{
|
|
3913
|
+
ref: constraintsRef,
|
|
3914
|
+
className: "atom_io_devtools_zone",
|
|
3915
|
+
style: {
|
|
3916
|
+
position: `fixed`,
|
|
3917
|
+
top: 0,
|
|
3918
|
+
left: 0,
|
|
3919
|
+
right: 0,
|
|
3920
|
+
bottom: 0,
|
|
3921
|
+
pointerEvents: `none`
|
|
3922
|
+
}
|
|
3923
|
+
},
|
|
3924
|
+
void 0,
|
|
3925
|
+
false,
|
|
3926
|
+
{
|
|
3927
|
+
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
3928
|
+
lineNumber: 29,
|
|
3929
|
+
columnNumber: 4
|
|
3930
|
+
},
|
|
3931
|
+
this
|
|
3932
|
+
),
|
|
3933
|
+
/* @__PURE__ */ jsxDEV19(
|
|
3934
|
+
motion.main,
|
|
3935
|
+
{
|
|
3936
|
+
drag: true,
|
|
3937
|
+
dragConstraints: constraintsRef,
|
|
3938
|
+
className: "atom_io_devtools",
|
|
3939
|
+
transition: spring,
|
|
3940
|
+
style: devtoolsAreOpen ? {} : {
|
|
3941
|
+
backgroundColor: `#0000`,
|
|
3942
|
+
borderColor: `#0000`,
|
|
3943
|
+
maxHeight: 28,
|
|
3944
|
+
maxWidth: 33
|
|
1936
3945
|
},
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
{
|
|
1942
|
-
drag: true,
|
|
1943
|
-
dragConstraints: constraintsRef,
|
|
1944
|
-
className: "atom_io_devtools",
|
|
1945
|
-
transition: spring,
|
|
1946
|
-
style: devtoolsAreOpen ? {} : {
|
|
1947
|
-
backgroundColor: `#0000`,
|
|
1948
|
-
borderColor: `#0000`,
|
|
1949
|
-
maxHeight: 28,
|
|
1950
|
-
maxWidth: 33
|
|
1951
|
-
},
|
|
1952
|
-
children: [
|
|
1953
|
-
devtoolsAreOpen ? /* @__PURE__ */ jsxDEV14(Fragment5, { children: [
|
|
1954
|
-
/* @__PURE__ */ jsxDEV14(motion.header, { children: /* @__PURE__ */ jsxDEV14("h1", { children: "atom.io" }, void 0, false, {
|
|
3946
|
+
children: [
|
|
3947
|
+
devtoolsAreOpen ? /* @__PURE__ */ jsxDEV19(Fragment7, { children: [
|
|
3948
|
+
/* @__PURE__ */ jsxDEV19(motion.header, { children: [
|
|
3949
|
+
/* @__PURE__ */ jsxDEV19("h1", { children: "atom.io" }, void 0, false, {
|
|
1955
3950
|
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
1956
|
-
lineNumber:
|
|
1957
|
-
columnNumber: 9
|
|
1958
|
-
}, this) }, void 0, false, {
|
|
1959
|
-
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
1960
|
-
lineNumber: 63,
|
|
3951
|
+
lineNumber: 60,
|
|
1961
3952
|
columnNumber: 8
|
|
1962
3953
|
}, this),
|
|
1963
|
-
/* @__PURE__ */
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
},
|
|
1976
|
-
void 0,
|
|
1977
|
-
false,
|
|
1978
|
-
{
|
|
1979
|
-
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
1980
|
-
lineNumber: 70,
|
|
1981
|
-
columnNumber: 11
|
|
1982
|
-
},
|
|
1983
|
-
this
|
|
1984
|
-
)
|
|
1985
|
-
] }, void 0, true, {
|
|
1986
|
-
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
1987
|
-
lineNumber: 68,
|
|
1988
|
-
columnNumber: 10
|
|
1989
|
-
}, this),
|
|
1990
|
-
/* @__PURE__ */ jsxDEV14("section", { children: [
|
|
1991
|
-
/* @__PURE__ */ jsxDEV14("h2", { children: "selectors" }, void 0, false, {
|
|
1992
|
-
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
1993
|
-
lineNumber: 76,
|
|
1994
|
-
columnNumber: 11
|
|
1995
|
-
}, this),
|
|
1996
|
-
/* @__PURE__ */ jsxDEV14(
|
|
1997
|
-
TokenList,
|
|
1998
|
-
{
|
|
1999
|
-
storeHooks,
|
|
2000
|
-
tokenIndex: selectorTokenIndexState
|
|
2001
|
-
},
|
|
2002
|
-
void 0,
|
|
2003
|
-
false,
|
|
2004
|
-
{
|
|
2005
|
-
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
2006
|
-
lineNumber: 77,
|
|
2007
|
-
columnNumber: 11
|
|
2008
|
-
},
|
|
2009
|
-
this
|
|
2010
|
-
)
|
|
2011
|
-
] }, void 0, true, {
|
|
3954
|
+
/* @__PURE__ */ jsxDEV19("nav", { children: devtoolsViewOptions.map((viewOption) => /* @__PURE__ */ jsxDEV19(
|
|
3955
|
+
"button",
|
|
3956
|
+
{
|
|
3957
|
+
type: "button",
|
|
3958
|
+
className: viewOption === devtoolsView ? `active` : ``,
|
|
3959
|
+
onClick: () => setDevtoolsView(viewOption),
|
|
3960
|
+
disabled: viewOption === devtoolsView,
|
|
3961
|
+
children: viewOption
|
|
3962
|
+
},
|
|
3963
|
+
viewOption,
|
|
3964
|
+
false,
|
|
3965
|
+
{
|
|
2012
3966
|
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
2013
|
-
lineNumber:
|
|
3967
|
+
lineNumber: 63,
|
|
2014
3968
|
columnNumber: 10
|
|
2015
|
-
},
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
lineNumber: 67,
|
|
2019
|
-
columnNumber: 9
|
|
2020
|
-
}, this) }, void 0, false, {
|
|
3969
|
+
},
|
|
3970
|
+
this
|
|
3971
|
+
)) }, void 0, false, {
|
|
2021
3972
|
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
2022
|
-
lineNumber:
|
|
3973
|
+
lineNumber: 61,
|
|
2023
3974
|
columnNumber: 8
|
|
2024
3975
|
}, this)
|
|
2025
3976
|
] }, void 0, true, {
|
|
2026
3977
|
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
2027
|
-
lineNumber:
|
|
3978
|
+
lineNumber: 59,
|
|
2028
3979
|
columnNumber: 7
|
|
2029
|
-
}, this)
|
|
2030
|
-
/* @__PURE__ */
|
|
2031
|
-
"
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
3980
|
+
}, this),
|
|
3981
|
+
/* @__PURE__ */ jsxDEV19(motion.main, { children: /* @__PURE__ */ jsxDEV19(LayoutGroup, { children: devtoolsView === `atoms` ? /* @__PURE__ */ jsxDEV19(StateIndex, { tokenIndex: atomIndex }, void 0, false, {
|
|
3982
|
+
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
3983
|
+
lineNumber: 78,
|
|
3984
|
+
columnNumber: 10
|
|
3985
|
+
}, this) : devtoolsView === `selectors` ? /* @__PURE__ */ jsxDEV19(StateIndex, { tokenIndex: selectorIndex }, void 0, false, {
|
|
3986
|
+
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
3987
|
+
lineNumber: 80,
|
|
3988
|
+
columnNumber: 10
|
|
3989
|
+
}, this) : devtoolsView === `transactions` ? /* @__PURE__ */ jsxDEV19(TransactionIndex, {}, void 0, false, {
|
|
3990
|
+
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
3991
|
+
lineNumber: 82,
|
|
3992
|
+
columnNumber: 10
|
|
3993
|
+
}, this) : devtoolsView === `timelines` ? /* @__PURE__ */ jsxDEV19(TimelineIndex, {}, void 0, false, {
|
|
3994
|
+
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
3995
|
+
lineNumber: 84,
|
|
3996
|
+
columnNumber: 10
|
|
3997
|
+
}, this) : null }, void 0, false, {
|
|
3998
|
+
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
3999
|
+
lineNumber: 76,
|
|
4000
|
+
columnNumber: 8
|
|
4001
|
+
}, this) }, void 0, false, {
|
|
4002
|
+
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
4003
|
+
lineNumber: 75,
|
|
4004
|
+
columnNumber: 7
|
|
4005
|
+
}, this)
|
|
4006
|
+
] }, void 0, true, {
|
|
4007
|
+
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
4008
|
+
lineNumber: 58,
|
|
4009
|
+
columnNumber: 6
|
|
4010
|
+
}, this) : null,
|
|
4011
|
+
/* @__PURE__ */ jsxDEV19("footer", { children: /* @__PURE__ */ jsxDEV19(
|
|
4012
|
+
"button",
|
|
4013
|
+
{
|
|
4014
|
+
type: "button",
|
|
4015
|
+
onMouseDown: () => mouseHasMoved.current = false,
|
|
4016
|
+
onMouseMove: () => mouseHasMoved.current = true,
|
|
4017
|
+
onMouseUp: () => {
|
|
4018
|
+
if (!mouseHasMoved.current) {
|
|
4019
|
+
setDevtoolsAreOpen((open) => !open);
|
|
4020
|
+
}
|
|
2049
4021
|
},
|
|
2050
|
-
|
|
2051
|
-
|
|
4022
|
+
children: "\u{1F441}\u200D\u{1F5E8}"
|
|
4023
|
+
},
|
|
4024
|
+
void 0,
|
|
4025
|
+
false,
|
|
4026
|
+
{
|
|
2052
4027
|
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
2053
|
-
lineNumber:
|
|
4028
|
+
lineNumber: 91,
|
|
2054
4029
|
columnNumber: 6
|
|
2055
|
-
},
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
4030
|
+
},
|
|
4031
|
+
this
|
|
4032
|
+
) }, void 0, false, {
|
|
4033
|
+
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
4034
|
+
lineNumber: 90,
|
|
4035
|
+
columnNumber: 5
|
|
4036
|
+
}, this)
|
|
4037
|
+
]
|
|
4038
|
+
},
|
|
4039
|
+
void 0,
|
|
4040
|
+
true,
|
|
4041
|
+
{
|
|
4042
|
+
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
4043
|
+
lineNumber: 41,
|
|
4044
|
+
columnNumber: 4
|
|
4045
|
+
},
|
|
4046
|
+
this
|
|
4047
|
+
)
|
|
4048
|
+
] }, void 0, true, {
|
|
4049
|
+
fileName: "../src/react-devtools/AtomIODevtools.tsx",
|
|
4050
|
+
lineNumber: 28,
|
|
4051
|
+
columnNumber: 3
|
|
4052
|
+
}, this);
|
|
2074
4053
|
};
|
|
2075
|
-
|
|
4054
|
+
|
|
4055
|
+
// ../src/react-devtools/index.ts
|
|
4056
|
+
var {
|
|
4057
|
+
atomIndex,
|
|
4058
|
+
selectorIndex,
|
|
4059
|
+
transactionIndex,
|
|
4060
|
+
findTransactionLogState,
|
|
4061
|
+
timelineIndex,
|
|
4062
|
+
findTimelineState
|
|
4063
|
+
} = attachIntrospectionStates();
|
|
4064
|
+
var devtoolsAreOpenState = atom({
|
|
4065
|
+
key: `\u{1F441}\u200D\u{1F5E8} Devtools Are Open`,
|
|
4066
|
+
default: true,
|
|
4067
|
+
effects: [lazyLocalStorageEffect(`\u{1F441}\u200D\u{1F5E8} Devtools Are Open`)]
|
|
4068
|
+
});
|
|
4069
|
+
var devtoolsViewSelectionState = atom({
|
|
4070
|
+
key: `\u{1F441}\u200D\u{1F5E8} Devtools View Selection`,
|
|
4071
|
+
default: `atoms`,
|
|
4072
|
+
effects: [lazyLocalStorageEffect(`\u{1F441}\u200D\u{1F5E8} Devtools View`)]
|
|
4073
|
+
});
|
|
4074
|
+
var devtoolsViewOptionsState = atom({
|
|
4075
|
+
key: `\u{1F441}\u200D\u{1F5E8} Devtools View Options`,
|
|
4076
|
+
default: [`atoms`, `selectors`, `transactions`, `timelines`],
|
|
4077
|
+
effects: [lazyLocalStorageEffect(`\u{1F441}\u200D\u{1F5E8} Devtools View Options`)]
|
|
4078
|
+
});
|
|
4079
|
+
var findViewIsOpenState = atomFamily({
|
|
4080
|
+
key: `\u{1F441}\u200D\u{1F5E8} Devtools View Is Open`,
|
|
4081
|
+
default: false,
|
|
4082
|
+
effects: (key) => [lazyLocalStorageEffect(key + `:view-is-open`)]
|
|
4083
|
+
});
|
|
4084
|
+
var primitiveRefinery = new Refinery({
|
|
4085
|
+
number: (input) => typeof input === `number`,
|
|
4086
|
+
string: (input) => typeof input === `string`,
|
|
4087
|
+
boolean: (input) => typeof input === `boolean`,
|
|
4088
|
+
null: (input) => input === null
|
|
4089
|
+
});
|
|
4090
|
+
var jsonTreeRefinery = new Refinery({
|
|
4091
|
+
object: isPlainObject,
|
|
4092
|
+
array: (input) => Array.isArray(input)
|
|
4093
|
+
});
|
|
4094
|
+
var prettyJson = new Differ(primitiveRefinery, jsonTreeRefinery, {
|
|
4095
|
+
number: diffNumber,
|
|
4096
|
+
string: diffString,
|
|
4097
|
+
boolean: diffBoolean,
|
|
4098
|
+
null: () => ({ summary: `No Change` }),
|
|
4099
|
+
object: diffObject,
|
|
4100
|
+
array: diffArray
|
|
4101
|
+
});
|
|
2076
4102
|
export {
|
|
2077
4103
|
AtomIODevtools,
|
|
2078
|
-
|
|
4104
|
+
atomIndex,
|
|
4105
|
+
devtoolsAreOpenState,
|
|
4106
|
+
devtoolsViewOptionsState,
|
|
4107
|
+
devtoolsViewSelectionState,
|
|
4108
|
+
findTimelineState,
|
|
4109
|
+
findTransactionLogState,
|
|
4110
|
+
findViewIsOpenState,
|
|
4111
|
+
jsonTreeRefinery,
|
|
4112
|
+
prettyJson,
|
|
4113
|
+
primitiveRefinery,
|
|
4114
|
+
selectorIndex,
|
|
4115
|
+
timelineIndex,
|
|
4116
|
+
transactionIndex
|
|
2079
4117
|
};
|
|
2080
4118
|
//# sourceMappingURL=index.mjs.map
|