atom.io 0.28.0 → 0.28.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-BX3MTH2Z.js → chunk-D3ZPRYEW.js} +15 -23
- package/eslint-plugin/dist/index.js +0 -1
- package/eslint-plugin/src/walk.ts +0 -1
- package/internal/dist/index.d.ts +3 -3
- package/internal/dist/index.js +1 -1
- package/internal/src/families/dispose-from-store.ts +0 -6
- package/internal/src/operation.ts +7 -7
- package/internal/src/selector/create-writable-selector.ts +1 -1
- package/internal/src/set-state/become.ts +1 -3
- package/internal/src/set-state/evict-downstream.ts +2 -2
- package/internal/src/set-state/set-atom.ts +1 -1
- package/internal/src/set-state/set-into-store.ts +1 -1
- package/internal/src/set-state/stow-update.ts +2 -2
- package/internal/src/store/store.ts +1 -1
- package/introspection/dist/index.d.ts +15 -6
- package/introspection/dist/index.js +620 -1
- package/introspection/src/attach-atom-index.ts +5 -6
- package/introspection/src/attach-introspection-states.ts +5 -6
- package/introspection/src/attach-selector-index.ts +6 -7
- package/introspection/src/attach-timeline-family.ts +3 -4
- package/introspection/src/attach-timeline-index.ts +4 -8
- package/introspection/src/attach-transaction-index.ts +4 -8
- package/introspection/src/attach-transaction-logs.ts +4 -8
- package/introspection/src/attach-type-selectors.ts +13 -6
- package/introspection/src/differ.ts +1 -1
- package/introspection/src/index.ts +1 -0
- package/introspection/src/refinery.ts +9 -7
- package/introspection/src/sprawl.ts +42 -0
- package/json/dist/index.d.ts +12 -1
- package/json/dist/index.js +111 -2
- package/json/src/index.ts +36 -1
- package/package.json +8 -8
- package/react-devtools/dist/index.d.ts +159 -2
- package/react-devtools/dist/index.js +260 -663
- package/react-devtools/src/AtomIODevtools.tsx +24 -13
- package/react-devtools/src/StateEditor.tsx +5 -47
- package/react-devtools/src/StateIndex.tsx +18 -11
- package/react-devtools/src/TimelineIndex.tsx +9 -6
- package/react-devtools/src/TransactionIndex.tsx +9 -11
- package/react-devtools/src/Updates.tsx +2 -0
- package/react-devtools/src/elastic-input/ElasticInput.tsx +86 -0
- package/react-devtools/src/elastic-input/NumberInput.tsx +199 -0
- package/react-devtools/src/elastic-input/TextInput.tsx +47 -0
- package/react-devtools/src/elastic-input/index.ts +3 -0
- package/react-devtools/src/error-boundary/DefaultFallback.tsx +49 -0
- package/react-devtools/src/error-boundary/ReactErrorBoundary.tsx +56 -0
- package/react-devtools/src/error-boundary/index.ts +2 -0
- package/react-devtools/src/index.ts +3 -0
- package/react-devtools/src/json-editor/assets/Untitled-1.ai +1436 -2
- package/react-devtools/src/json-editor/assets/data-vis.ai +1548 -1
- package/react-devtools/src/json-editor/comp/json-editor-sketches.ai +1451 -3
- package/react-devtools/src/json-editor/default-components.tsx +101 -0
- package/react-devtools/src/json-editor/developer-interface.tsx +81 -0
- package/react-devtools/src/json-editor/editors-by-type/array-editor.tsx +38 -0
- package/react-devtools/src/json-editor/editors-by-type/non-json.tsx +23 -0
- package/react-devtools/src/json-editor/editors-by-type/object-editor.tsx +128 -0
- package/react-devtools/src/json-editor/editors-by-type/primitive-editors.tsx +73 -0
- package/react-devtools/src/json-editor/editors-by-type/utilities/array-elements.ts +16 -0
- package/react-devtools/src/json-editor/editors-by-type/utilities/cast-json.ts +57 -0
- package/react-devtools/src/json-editor/editors-by-type/utilities/cast-to-json.ts +156 -0
- package/react-devtools/src/json-editor/editors-by-type/utilities/object-properties.ts +106 -0
- package/react-devtools/src/json-editor/index.ts +32 -0
- package/react-devtools/src/json-editor/json-editor-internal.tsx +128 -0
- package/react-devtools/src/json-editor/todo.md +7 -0
- package/react-devtools/src/store.ts +70 -46
- package/realtime/src/realtime-continuity.ts +3 -2
- package/realtime-client/src/pull-atom-family-member.ts +2 -0
- package/realtime-client/src/pull-mutable-atom-family-member.ts +2 -0
- package/realtime-client/src/pull-selector-family-member.ts +2 -0
- package/realtime-server/src/ipc-sockets/child-socket.ts +2 -0
- package/realtime-testing/src/setup-realtime-test.tsx +2 -0
- package/src/logger.ts +1 -0
- package/transceivers/set-rtx/src/set-rtx.ts +1 -0
- package/dist/chunk-D52JNVER.js +0 -721
- package/dist/chunk-EUVKUTW3.js +0 -89
|
@@ -209,9 +209,7 @@ function actUponStore(token, id, store) {
|
|
|
209
209
|
}
|
|
210
210
|
|
|
211
211
|
// internal/src/set-state/become.ts
|
|
212
|
-
var become = (nextVersionOfThing) => (originalThing) => nextVersionOfThing instanceof Function ? nextVersionOfThing(
|
|
213
|
-
originalThing instanceof Function ? originalThing() : originalThing
|
|
214
|
-
) : nextVersionOfThing;
|
|
212
|
+
var become = (nextVersionOfThing) => (originalThing) => nextVersionOfThing instanceof Function ? nextVersionOfThing(originalThing) : nextVersionOfThing;
|
|
215
213
|
|
|
216
214
|
// internal/src/get-state/read-or-compute-value.ts
|
|
217
215
|
var readOrComputeValue = (state, target) => {
|
|
@@ -235,7 +233,7 @@ var readOrComputeValue = (state, target) => {
|
|
|
235
233
|
};
|
|
236
234
|
|
|
237
235
|
// internal/src/operation.ts
|
|
238
|
-
var openOperation = (
|
|
236
|
+
var openOperation = (store, token) => {
|
|
239
237
|
if (store.operation.open) {
|
|
240
238
|
const rejectionTime = performance.now();
|
|
241
239
|
store.logger.info(
|
|
@@ -272,25 +270,25 @@ var closeOperation = (store) => {
|
|
|
272
270
|
store.operation = { open: false };
|
|
273
271
|
store.on.operationClose.next(store.operation);
|
|
274
272
|
};
|
|
275
|
-
var isDone = (
|
|
273
|
+
var isDone = (store, key) => {
|
|
276
274
|
if (!store.operation.open) {
|
|
277
|
-
store.logger.
|
|
275
|
+
store.logger.error(
|
|
278
276
|
`\u{1F41E}`,
|
|
279
277
|
`unknown`,
|
|
280
278
|
key,
|
|
281
|
-
`isDone called outside of an operation. This is probably a bug.`
|
|
279
|
+
`isDone called outside of an operation. This is probably a bug in AtomIO.`
|
|
282
280
|
);
|
|
283
281
|
return true;
|
|
284
282
|
}
|
|
285
283
|
return store.operation.done.has(key);
|
|
286
284
|
};
|
|
287
|
-
var markDone = (
|
|
285
|
+
var markDone = (store, key) => {
|
|
288
286
|
if (!store.operation.open) {
|
|
289
|
-
store.logger.
|
|
287
|
+
store.logger.error(
|
|
290
288
|
`\u{1F41E}`,
|
|
291
289
|
`unknown`,
|
|
292
290
|
key,
|
|
293
|
-
`markDone called outside of an operation. This is probably a bug.`
|
|
291
|
+
`markDone called outside of an operation. This is probably a bug in AtomIO.`
|
|
294
292
|
);
|
|
295
293
|
return;
|
|
296
294
|
}
|
|
@@ -348,11 +346,11 @@ var evictDownStream = (atom, store) => {
|
|
|
348
346
|
);
|
|
349
347
|
}
|
|
350
348
|
for (const key of downstreamKeys) {
|
|
351
|
-
if (isDone(
|
|
349
|
+
if (isDone(target, key)) {
|
|
352
350
|
continue;
|
|
353
351
|
}
|
|
354
352
|
evictCachedValue(key, target);
|
|
355
|
-
markDone(
|
|
353
|
+
markDone(target, key);
|
|
356
354
|
}
|
|
357
355
|
}
|
|
358
356
|
};
|
|
@@ -362,7 +360,7 @@ function shouldUpdateBeStowed(key, update) {
|
|
|
362
360
|
if (isTransceiver(update.newValue)) {
|
|
363
361
|
return false;
|
|
364
362
|
}
|
|
365
|
-
if (key.includes(`\u{
|
|
363
|
+
if (key.includes(`\u{1F50D}`)) {
|
|
366
364
|
return false;
|
|
367
365
|
}
|
|
368
366
|
return true;
|
|
@@ -419,7 +417,7 @@ var setAtom = (atom, next, target) => {
|
|
|
419
417
|
if (isAtomDefault(atom.key, target)) {
|
|
420
418
|
markAtomAsNotDefault(atom.key, target);
|
|
421
419
|
}
|
|
422
|
-
markDone(atom.key
|
|
420
|
+
markDone(target, atom.key);
|
|
423
421
|
evictDownStream(atom, target);
|
|
424
422
|
const update = { oldValue, newValue };
|
|
425
423
|
if (isRootStore(target)) {
|
|
@@ -791,7 +789,7 @@ var createWritableSelector = (store, options, family) => {
|
|
|
791
789
|
`)`
|
|
792
790
|
);
|
|
793
791
|
cacheValue(options.key, newValue, subject, innerTarget);
|
|
794
|
-
markDone(options.key
|
|
792
|
+
markDone(innerTarget, options.key);
|
|
795
793
|
if (isRootStore(innerTarget)) {
|
|
796
794
|
subject.next({ newValue, oldValue });
|
|
797
795
|
}
|
|
@@ -1353,11 +1351,6 @@ function disposeFromStore(store, ...params) {
|
|
|
1353
1351
|
const disposal = store.disposalTraces.buffer.find(
|
|
1354
1352
|
(item) => item?.key === token.key
|
|
1355
1353
|
);
|
|
1356
|
-
console.log(
|
|
1357
|
-
`seeking disposal trace for`,
|
|
1358
|
-
token,
|
|
1359
|
-
store.disposalTraces.buffer.filter(Boolean)
|
|
1360
|
-
);
|
|
1361
1354
|
store.logger.error(
|
|
1362
1355
|
`\u274C`,
|
|
1363
1356
|
token.type,
|
|
@@ -1388,7 +1381,6 @@ ${disposal.trace}` : `No previous disposal trace was found.`
|
|
|
1388
1381
|
`)?.slice(3)?.join(`
|
|
1389
1382
|
`);
|
|
1390
1383
|
store.disposalTraces.add({ key: token.key, trace });
|
|
1391
|
-
console.log(`added`, token);
|
|
1392
1384
|
}
|
|
1393
1385
|
}
|
|
1394
1386
|
|
|
@@ -1420,7 +1412,7 @@ ${disposal.trace}` : `No previous disposal trace was found.`
|
|
|
1420
1412
|
);
|
|
1421
1413
|
return;
|
|
1422
1414
|
}
|
|
1423
|
-
const rejectionTime = openOperation(
|
|
1415
|
+
const rejectionTime = openOperation(store, token);
|
|
1424
1416
|
if (rejectionTime) {
|
|
1425
1417
|
const unsubscribe = store.on.operationClose.subscribe(
|
|
1426
1418
|
`waiting to set "${token.key}" at T-${rejectionTime}`,
|
|
@@ -1914,7 +1906,7 @@ var Store = class {
|
|
|
1914
1906
|
lifespan: `ephemeral`
|
|
1915
1907
|
};
|
|
1916
1908
|
loggers = [
|
|
1917
|
-
new AtomIOLogger(`warn`, (_, __, key) => !key.includes(`\u{
|
|
1909
|
+
new AtomIOLogger(`warn`, (_, __, key) => !key.includes(`\u{1F50D}`))
|
|
1918
1910
|
];
|
|
1919
1911
|
logger = {
|
|
1920
1912
|
error: (...messages) => {
|
package/internal/dist/index.d.ts
CHANGED
|
@@ -207,10 +207,10 @@ type OperationProgress = {
|
|
|
207
207
|
time: number;
|
|
208
208
|
token: WritableToken<any>;
|
|
209
209
|
};
|
|
210
|
-
declare const openOperation: (token: WritableToken<any
|
|
210
|
+
declare const openOperation: (store: Store, token: WritableToken<any>) => number | undefined;
|
|
211
211
|
declare const closeOperation: (store: Store) => void;
|
|
212
|
-
declare const isDone: (
|
|
213
|
-
declare const markDone: (
|
|
212
|
+
declare const isDone: (store: Store, key: string) => boolean;
|
|
213
|
+
declare const markDone: (store: Store, key: string) => void;
|
|
214
214
|
|
|
215
215
|
type TimelineAtomUpdate<ManagedAtom extends TimelineManageable> = Flat<StateUpdate<TokenType<ManagedAtom>> & {
|
|
216
216
|
key: string;
|
package/internal/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { FAMILY_MEMBER_TOKEN_TYPES, FamilyTracker, Future, IMPLICIT, LazyMap, Molecule, NotFoundError, StatefulSubject, Store, Subject, TRANSACTION_PHASES, Tracker, abortTransaction, actUponStore, applyTransaction, arbitrary, assignTransactionToContinuity, become, buildTransaction, cacheValue, clearStore, closeOperation, counterfeit, createAtomFamily, createMoleculeFamily, createMutableAtom, createMutableAtomFamily, createReadonlySelector, createReadonlySelectorFamily, createRegularAtom, createRegularAtomFamily, createSelectorFamily, createStandaloneAtom, createStandaloneSelector, createTimeline, createTransaction, createWritableSelector, deposit, disposeAtom, disposeFromStore, disposeMolecule, disposeSelector, eldest, evictCachedValue, findInStore, getContinuityKey, getEnvironmentData, getEpochNumberOfAction, getEpochNumberOfContinuity, getFromStore, getJsonFamily, getJsonToken, getSelectorDependencyKeys, getUpdateFamily, getUpdateToken, growMoleculeInStore, ingestAtomUpdate, ingestCreationEvent, ingestDisposalEvent, ingestMoleculeCreationEvent, ingestMoleculeDisposalEvent, ingestSelectorUpdate, ingestTransactionUpdate, initFamilyMemberInStore, isAtomDefault, isAtomKey, isChildStore, isDone, isReadonlySelectorKey, isRootStore, isSelectorKey, isStateKey, isTransceiver, makeMoleculeInStore, markAtomAsDefault, markAtomAsNotDefault, markDone, newest, openOperation, prettyPrintTokenType, readCachedValue, readOrComputeValue, recallState, registerSelector, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeInStore, subscribeToRootAtoms, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceAllSelectorAtoms, traceSelectorAtoms, updateSelectorAtoms, withdraw } from '../../dist/chunk-
|
|
1
|
+
export { FAMILY_MEMBER_TOKEN_TYPES, FamilyTracker, Future, IMPLICIT, LazyMap, Molecule, NotFoundError, StatefulSubject, Store, Subject, TRANSACTION_PHASES, Tracker, abortTransaction, actUponStore, applyTransaction, arbitrary, assignTransactionToContinuity, become, buildTransaction, cacheValue, clearStore, closeOperation, counterfeit, createAtomFamily, createMoleculeFamily, createMutableAtom, createMutableAtomFamily, createReadonlySelector, createReadonlySelectorFamily, createRegularAtom, createRegularAtomFamily, createSelectorFamily, createStandaloneAtom, createStandaloneSelector, createTimeline, createTransaction, createWritableSelector, deposit, disposeAtom, disposeFromStore, disposeMolecule, disposeSelector, eldest, evictCachedValue, findInStore, getContinuityKey, getEnvironmentData, getEpochNumberOfAction, getEpochNumberOfContinuity, getFromStore, getJsonFamily, getJsonToken, getSelectorDependencyKeys, getUpdateFamily, getUpdateToken, growMoleculeInStore, ingestAtomUpdate, ingestCreationEvent, ingestDisposalEvent, ingestMoleculeCreationEvent, ingestMoleculeDisposalEvent, ingestSelectorUpdate, ingestTransactionUpdate, initFamilyMemberInStore, isAtomDefault, isAtomKey, isChildStore, isDone, isReadonlySelectorKey, isRootStore, isSelectorKey, isStateKey, isTransceiver, makeMoleculeInStore, markAtomAsDefault, markAtomAsNotDefault, markDone, newest, openOperation, prettyPrintTokenType, readCachedValue, readOrComputeValue, recallState, registerSelector, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeInStore, subscribeToRootAtoms, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceAllSelectorAtoms, traceSelectorAtoms, updateSelectorAtoms, withdraw } from '../../dist/chunk-D3ZPRYEW.js';
|
|
2
2
|
import '../../dist/chunk-IBTHB2PI.js';
|
|
3
3
|
import '../../dist/chunk-XWL6SNVU.js';
|
|
@@ -59,11 +59,6 @@ export function disposeFromStore(
|
|
|
59
59
|
const disposal = store.disposalTraces.buffer.find(
|
|
60
60
|
(item) => item?.key === token.key,
|
|
61
61
|
)
|
|
62
|
-
console.log(
|
|
63
|
-
`seeking disposal trace for`,
|
|
64
|
-
token,
|
|
65
|
-
store.disposalTraces.buffer.filter(Boolean),
|
|
66
|
-
)
|
|
67
62
|
store.logger.error(
|
|
68
63
|
`❌`,
|
|
69
64
|
token.type,
|
|
@@ -93,6 +88,5 @@ export function disposeFromStore(
|
|
|
93
88
|
if (stack) {
|
|
94
89
|
const trace = stack?.split(`\n`)?.slice(3)?.join(`\n`)
|
|
95
90
|
store.disposalTraces.add({ key: token.key, trace })
|
|
96
|
-
console.log(`added`, token)
|
|
97
91
|
}
|
|
98
92
|
}
|
|
@@ -16,8 +16,8 @@ export type OperationProgress =
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
export const openOperation = (
|
|
19
|
-
token: WritableToken<any>,
|
|
20
19
|
store: Store,
|
|
20
|
+
token: WritableToken<any>,
|
|
21
21
|
): number | undefined => {
|
|
22
22
|
if (store.operation.open) {
|
|
23
23
|
const rejectionTime = performance.now()
|
|
@@ -60,25 +60,25 @@ export const closeOperation = (store: Store): void => {
|
|
|
60
60
|
store.on.operationClose.next(store.operation)
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
export const isDone = (
|
|
63
|
+
export const isDone = (store: Store, key: string): boolean => {
|
|
64
64
|
if (!store.operation.open) {
|
|
65
|
-
store.logger.
|
|
65
|
+
store.logger.error(
|
|
66
66
|
`🐞`,
|
|
67
67
|
`unknown`,
|
|
68
68
|
key,
|
|
69
|
-
`isDone called outside of an operation. This is probably a bug.`,
|
|
69
|
+
`isDone called outside of an operation. This is probably a bug in AtomIO.`,
|
|
70
70
|
)
|
|
71
71
|
return true
|
|
72
72
|
}
|
|
73
73
|
return store.operation.done.has(key)
|
|
74
74
|
}
|
|
75
|
-
export const markDone = (
|
|
75
|
+
export const markDone = (store: Store, key: string): void => {
|
|
76
76
|
if (!store.operation.open) {
|
|
77
|
-
store.logger.
|
|
77
|
+
store.logger.error(
|
|
78
78
|
`🐞`,
|
|
79
79
|
`unknown`,
|
|
80
80
|
key,
|
|
81
|
-
`markDone called outside of an operation. This is probably a bug.`,
|
|
81
|
+
`markDone called outside of an operation. This is probably a bug in AtomIO.`,
|
|
82
82
|
)
|
|
83
83
|
return
|
|
84
84
|
}
|
|
@@ -48,7 +48,7 @@ export const createWritableSelector = <T>(
|
|
|
48
48
|
`)`,
|
|
49
49
|
)
|
|
50
50
|
cacheValue(options.key, newValue, subject, innerTarget)
|
|
51
|
-
markDone(options.key
|
|
51
|
+
markDone(innerTarget, options.key)
|
|
52
52
|
if (isRootStore(innerTarget)) {
|
|
53
53
|
subject.next({ newValue, oldValue })
|
|
54
54
|
}
|
|
@@ -4,7 +4,5 @@ export const become =
|
|
|
4
4
|
<T>(nextVersionOfThing: Modify<T> | T) =>
|
|
5
5
|
(originalThing: T): T =>
|
|
6
6
|
nextVersionOfThing instanceof Function
|
|
7
|
-
? nextVersionOfThing(
|
|
8
|
-
originalThing instanceof Function ? originalThing() : originalThing,
|
|
9
|
-
)
|
|
7
|
+
? nextVersionOfThing(originalThing)
|
|
10
8
|
: nextVersionOfThing
|
|
@@ -26,11 +26,11 @@ export const evictDownStream = <T>(atom: Atom<T>, store: Store): void => {
|
|
|
26
26
|
)
|
|
27
27
|
}
|
|
28
28
|
for (const key of downstreamKeys) {
|
|
29
|
-
if (isDone(
|
|
29
|
+
if (isDone(target, key)) {
|
|
30
30
|
continue
|
|
31
31
|
}
|
|
32
32
|
evictCachedValue(key, target)
|
|
33
|
-
markDone(
|
|
33
|
+
markDone(target, key)
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -30,7 +30,7 @@ export const setAtom = <T>(
|
|
|
30
30
|
if (isAtomDefault(atom.key, target)) {
|
|
31
31
|
markAtomAsNotDefault(atom.key, target)
|
|
32
32
|
}
|
|
33
|
-
markDone(atom.key
|
|
33
|
+
markDone(target, atom.key)
|
|
34
34
|
evictDownStream(atom, target)
|
|
35
35
|
const update = { oldValue, newValue }
|
|
36
36
|
if (isRootStore(target)) {
|
|
@@ -58,7 +58,7 @@ export function setIntoStore<T, New extends T>(
|
|
|
58
58
|
return
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
const rejectionTime = openOperation(
|
|
61
|
+
const rejectionTime = openOperation(store, token)
|
|
62
62
|
if (rejectionTime) {
|
|
63
63
|
const unsubscribe = store.on.operationClose.subscribe(
|
|
64
64
|
`waiting to set "${token.key}" at T-${rejectionTime}`,
|
|
@@ -11,8 +11,8 @@ function shouldUpdateBeStowed(key: string, update: StateUpdate<any>): boolean {
|
|
|
11
11
|
if (isTransceiver(update.newValue)) {
|
|
12
12
|
return false
|
|
13
13
|
}
|
|
14
|
-
// do not stow updates where the key contains
|
|
15
|
-
if (key.includes(
|
|
14
|
+
// do not stow updates where the key contains 🔍
|
|
15
|
+
if (key.includes(`🔍`)) {
|
|
16
16
|
return false
|
|
17
17
|
}
|
|
18
18
|
return true
|
|
@@ -132,7 +132,7 @@ export class Store implements Lineage {
|
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
public loggers: AtomIOLogger[] = [
|
|
135
|
-
new AtomIOLogger(`warn`, (_, __, key) => !key.includes(
|
|
135
|
+
new AtomIOLogger(`warn`, (_, __, key) => !key.includes(`🔍`)),
|
|
136
136
|
]
|
|
137
137
|
public logger: Logger = {
|
|
138
138
|
error: (...messages) => {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { AtomToken, SelectorToken, ReadonlySelectorToken, TransactionToken, ReadonlySelectorFamilyToken, TransactionUpdate, TimelineToken, ReadableToken } from 'atom.io';
|
|
2
2
|
import * as Internal from 'atom.io/internal';
|
|
3
|
-
import { Func, Timeline, Flat } from 'atom.io/internal';
|
|
3
|
+
import { Func, Timeline, Store, Flat } from 'atom.io/internal';
|
|
4
4
|
import { Json } from 'atom.io/json';
|
|
5
5
|
|
|
6
6
|
type AtomTokenIndex = WritableTokenIndex<AtomToken<unknown>>;
|
|
7
7
|
|
|
8
8
|
type SelectorTokenIndex = WritableTokenIndex<SelectorToken<unknown>>;
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
type IntrospectionStates = {
|
|
11
11
|
atomIndex: ReadonlySelectorToken<AtomTokenIndex>;
|
|
12
12
|
selectorIndex: ReadonlySelectorToken<SelectorTokenIndex>;
|
|
13
13
|
transactionIndex: ReadonlySelectorToken<TransactionToken<Func>[]>;
|
|
@@ -16,6 +16,7 @@ declare const attachIntrospectionStates: (store?: Internal.Store) => {
|
|
|
16
16
|
timelineSelectors: ReadonlySelectorFamilyToken<Timeline<any>, string>;
|
|
17
17
|
typeSelectors: ReadonlySelectorFamilyToken<string, string>;
|
|
18
18
|
};
|
|
19
|
+
declare const attachIntrospectionStates: (store: Store) => IntrospectionStates;
|
|
19
20
|
|
|
20
21
|
type ListResourcesParam = {
|
|
21
22
|
atomFamilies: boolean;
|
|
@@ -78,12 +79,13 @@ declare const primitiveRefinery: Refinery<{
|
|
|
78
79
|
boolean: (input: unknown) => input is boolean;
|
|
79
80
|
null: (input: unknown) => input is null;
|
|
80
81
|
}>;
|
|
82
|
+
declare function isPlainObject(input: unknown): input is Json.Tree.Object;
|
|
81
83
|
declare const jsonTreeRefinery: Refinery<{
|
|
82
|
-
object:
|
|
84
|
+
object: typeof isPlainObject;
|
|
83
85
|
array: (input: unknown) => input is Json.Tree.Array;
|
|
84
86
|
}>;
|
|
85
87
|
declare const jsonRefinery: Refinery<{
|
|
86
|
-
object:
|
|
88
|
+
object: typeof isPlainObject;
|
|
87
89
|
array: (input: unknown) => input is Json.Tree.Array;
|
|
88
90
|
number: (input: unknown) => input is number;
|
|
89
91
|
string: (input: unknown) => input is string;
|
|
@@ -128,14 +130,21 @@ declare const prettyJson: Differ<{
|
|
|
128
130
|
boolean: (input: unknown) => input is boolean;
|
|
129
131
|
null: (input: unknown) => input is null;
|
|
130
132
|
}, {
|
|
131
|
-
object:
|
|
133
|
+
object: typeof isPlainObject;
|
|
132
134
|
array: (input: unknown) => input is Json.Tree.Array;
|
|
133
135
|
}>;
|
|
134
136
|
|
|
137
|
+
type InspectionResult = Partial<{
|
|
138
|
+
pathComplete: true;
|
|
139
|
+
jobComplete: true;
|
|
140
|
+
}>;
|
|
141
|
+
type InspectNode = (path: string[], node: unknown) => InspectionResult | void;
|
|
142
|
+
declare const sprawl: (tree: Array<unknown> | object, inspector: InspectNode) => void;
|
|
143
|
+
|
|
135
144
|
type FamilyNode<Token extends ReadableToken<unknown>> = {
|
|
136
145
|
key: string;
|
|
137
146
|
familyMembers: Map<string, Token>;
|
|
138
147
|
};
|
|
139
148
|
type WritableTokenIndex<Token extends ReadableToken<unknown>> = Map<string, FamilyNode<Token> | Token>;
|
|
140
149
|
|
|
141
|
-
export { Auditor, type ClassSignature, Differ, type FamilyNode, type JsonType, type ListResourcesParam, type Refinement, type RefinementStrategy, type RefinementSupport, Refinery, type Supported, type WritableTokenIndex, attachIntrospectionStates, diffArray, diffBoolean, diffNumber, diffObject, diffString, discoverType, jsonRefinery, jsonTreeRefinery, prettyJson, primitiveRefinery };
|
|
150
|
+
export { Auditor, type ClassSignature, Differ, type FamilyNode, type InspectNode, type InspectionResult, type IntrospectionStates, type JsonType, type ListResourcesParam, type Refinement, type RefinementStrategy, type RefinementSupport, Refinery, type Supported, type WritableTokenIndex, attachIntrospectionStates, diffArray, diffBoolean, diffNumber, diffObject, diffString, discoverType, isPlainObject, jsonRefinery, jsonTreeRefinery, prettyJson, primitiveRefinery, sprawl };
|