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