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