atom.io 0.25.6 → 0.26.0
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/data/dist/index.js +33 -25
- package/data/package.json +1 -4
- package/dist/{chunk-HYXKCFVY.js → chunk-IBTHB2PI.js} +59 -60
- package/dist/{chunk-MR5NETHW.js → chunk-IW6WYRS7.js} +4 -5
- package/dist/chunk-XWL6SNVU.js +7 -0
- package/dist/index.js +33 -21
- package/ephemeral/dist/index.js +1 -1
- package/ephemeral/package.json +1 -4
- package/eslint-plugin/dist/index.js +7 -8
- package/eslint-plugin/package.json +1 -4
- package/immortal/dist/index.js +1 -1
- package/immortal/package.json +1 -4
- package/internal/dist/index.js +173 -160
- package/internal/package.json +1 -4
- package/introspection/dist/index.js +32 -30
- package/introspection/package.json +1 -4
- package/json/dist/index.js +1 -1
- package/json/package.json +1 -4
- package/package.json +18 -50
- package/react/dist/index.js +2 -2
- package/react/package.json +1 -4
- package/react-devtools/dist/index.js +75 -68
- package/react-devtools/package.json +1 -4
- package/realtime/dist/index.js +8 -9
- package/realtime/package.json +1 -4
- package/realtime-client/dist/index.js +6 -6
- package/realtime-client/package.json +1 -4
- package/realtime-react/dist/index.js +9 -11
- package/realtime-react/package.json +1 -4
- package/realtime-server/dist/index.js +59 -54
- package/realtime-server/package.json +1 -4
- package/realtime-testing/dist/index.js +3 -3
- package/realtime-testing/package.json +1 -4
- package/transceivers/set-rtx/dist/index.js +11 -11
- package/transceivers/set-rtx/package.json +1 -4
- package/data/dist/index.cjs +0 -953
- package/dist/chunk-S4N6XNPH.js +0 -38
- package/dist/index.cjs +0 -215
- package/ephemeral/dist/index.cjs +0 -11
- package/eslint-plugin/dist/index.cjs +0 -388
- package/immortal/dist/index.cjs +0 -14
- package/internal/dist/index.cjs +0 -3405
- package/introspection/dist/index.cjs +0 -449
- package/json/dist/index.cjs +0 -128
- package/react/dist/index.cjs +0 -118
- package/react-devtools/dist/index.cjs +0 -2191
- package/realtime/dist/index.cjs +0 -120
- package/realtime-client/dist/index.cjs +0 -569
- package/realtime-react/dist/index.cjs +0 -189
- package/realtime-server/dist/index.cjs +0 -965
- package/realtime-testing/dist/index.cjs +0 -201
- package/transceivers/set-rtx/dist/index.cjs +0 -215
|
@@ -1,449 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var Internal = require('atom.io/internal');
|
|
4
|
-
var atom_io = require('atom.io');
|
|
5
|
-
|
|
6
|
-
function _interopNamespace(e) {
|
|
7
|
-
if (e && e.__esModule) return e;
|
|
8
|
-
var n = Object.create(null);
|
|
9
|
-
if (e) {
|
|
10
|
-
Object.keys(e).forEach(function (k) {
|
|
11
|
-
if (k !== 'default') {
|
|
12
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
13
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
14
|
-
enumerable: true,
|
|
15
|
-
get: function () { return e[k]; }
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
n.default = e;
|
|
21
|
-
return Object.freeze(n);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
var Internal__namespace = /*#__PURE__*/_interopNamespace(Internal);
|
|
25
|
-
|
|
26
|
-
var __defProp = Object.defineProperty;
|
|
27
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
28
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
29
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
30
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
31
|
-
var __spreadValues = (a, b) => {
|
|
32
|
-
for (var prop in b || (b = {}))
|
|
33
|
-
if (__hasOwnProp.call(b, prop))
|
|
34
|
-
__defNormalProp(a, prop, b[prop]);
|
|
35
|
-
if (__getOwnPropSymbols)
|
|
36
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
37
|
-
if (__propIsEnum.call(b, prop))
|
|
38
|
-
__defNormalProp(a, prop, b[prop]);
|
|
39
|
-
}
|
|
40
|
-
return a;
|
|
41
|
-
};
|
|
42
|
-
var attachAtomIndex = (store = Internal.IMPLICIT.STORE) => {
|
|
43
|
-
const atomTokenIndexState__INTERNAL = Internal.createRegularAtom(
|
|
44
|
-
{
|
|
45
|
-
key: `\u{1F441}\u200D\u{1F5E8} Atom Token Index (Internal)`,
|
|
46
|
-
default: () => {
|
|
47
|
-
const base = /* @__PURE__ */ new Map();
|
|
48
|
-
for (const [key, val] of store.atoms) {
|
|
49
|
-
if (!key.includes(`\u{1F441}\u200D\u{1F5E8}`)) {
|
|
50
|
-
const token = Internal.deposit(val);
|
|
51
|
-
if (val.family) {
|
|
52
|
-
let familyNode = base.get(val.family.key);
|
|
53
|
-
if (!familyNode || !(`familyMembers` in familyNode)) {
|
|
54
|
-
familyNode = {
|
|
55
|
-
key: val.family.key,
|
|
56
|
-
familyMembers: /* @__PURE__ */ new Map()
|
|
57
|
-
};
|
|
58
|
-
base.set(val.family.key, familyNode);
|
|
59
|
-
}
|
|
60
|
-
familyNode.familyMembers.set(val.family.subKey, token);
|
|
61
|
-
} else {
|
|
62
|
-
base.set(key, token);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return base;
|
|
67
|
-
},
|
|
68
|
-
effects: [
|
|
69
|
-
({ setSelf }) => {
|
|
70
|
-
store.on.atomCreation.subscribe(`introspection`, (atomToken) => {
|
|
71
|
-
if (atomToken.key.includes(`\u{1F441}\u200D\u{1F5E8}`)) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
setSelf((self) => {
|
|
75
|
-
if (atomToken.family) {
|
|
76
|
-
const { key: familyKey, subKey } = atomToken.family;
|
|
77
|
-
let familyNode = self.get(familyKey);
|
|
78
|
-
if (familyNode === void 0 || !(`familyMembers` in familyNode)) {
|
|
79
|
-
familyNode = {
|
|
80
|
-
key: familyKey,
|
|
81
|
-
familyMembers: /* @__PURE__ */ new Map()
|
|
82
|
-
};
|
|
83
|
-
self.set(familyKey, familyNode);
|
|
84
|
-
}
|
|
85
|
-
familyNode.familyMembers.set(subKey, atomToken);
|
|
86
|
-
} else {
|
|
87
|
-
self.set(atomToken.key, atomToken);
|
|
88
|
-
}
|
|
89
|
-
return self;
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
store.on.atomDisposal.subscribe(`introspection`, (atomToken) => {
|
|
93
|
-
setSelf((self) => {
|
|
94
|
-
if (atomToken.family) {
|
|
95
|
-
const { key: familyKey, subKey } = atomToken.family;
|
|
96
|
-
const familyNode = self.get(familyKey);
|
|
97
|
-
if (familyNode && `familyMembers` in familyNode) {
|
|
98
|
-
familyNode.familyMembers.delete(subKey);
|
|
99
|
-
if (familyNode.familyMembers.size === 0) {
|
|
100
|
-
self.delete(familyKey);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
} else {
|
|
104
|
-
self.delete(atomToken.key);
|
|
105
|
-
}
|
|
106
|
-
return self;
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
]
|
|
111
|
-
},
|
|
112
|
-
void 0,
|
|
113
|
-
store
|
|
114
|
-
);
|
|
115
|
-
return Internal.createStandaloneSelector(
|
|
116
|
-
{
|
|
117
|
-
key: `\u{1F441}\u200D\u{1F5E8} Atom Token Index`,
|
|
118
|
-
get: ({ get }) => get(atomTokenIndexState__INTERNAL)
|
|
119
|
-
},
|
|
120
|
-
store
|
|
121
|
-
);
|
|
122
|
-
};
|
|
123
|
-
var attachSelectorIndex = (store = Internal.IMPLICIT.STORE) => {
|
|
124
|
-
const readonlySelectorTokenIndexState__INTERNAL = Internal.createRegularAtom(
|
|
125
|
-
{
|
|
126
|
-
key: `\u{1F441}\u200D\u{1F5E8} Selector Token Index (Internal)`,
|
|
127
|
-
default: () => {
|
|
128
|
-
const base = /* @__PURE__ */ new Map();
|
|
129
|
-
for (const map of [store.readonlySelectors, store.selectors]) {
|
|
130
|
-
for (const [key, val] of map) {
|
|
131
|
-
if (!key.includes(`\u{1F441}\u200D\u{1F5E8}`)) {
|
|
132
|
-
const token = Internal.deposit(val);
|
|
133
|
-
if (val.family) {
|
|
134
|
-
let familyNode = base.get(val.family.key);
|
|
135
|
-
if (!familyNode || !(`familyMembers` in familyNode)) {
|
|
136
|
-
familyNode = {
|
|
137
|
-
key: val.family.key,
|
|
138
|
-
familyMembers: /* @__PURE__ */ new Map()
|
|
139
|
-
};
|
|
140
|
-
base.set(val.family.key, familyNode);
|
|
141
|
-
}
|
|
142
|
-
familyNode.familyMembers.set(val.family.subKey, token);
|
|
143
|
-
} else {
|
|
144
|
-
base.set(key, token);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
return base;
|
|
150
|
-
},
|
|
151
|
-
effects: [
|
|
152
|
-
({ setSelf }) => {
|
|
153
|
-
store.on.selectorCreation.subscribe(
|
|
154
|
-
`introspection`,
|
|
155
|
-
(selectorToken) => {
|
|
156
|
-
if (selectorToken.key.includes(`\u{1F441}\u200D\u{1F5E8}`)) {
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
setSelf((self) => {
|
|
160
|
-
if (selectorToken.family) {
|
|
161
|
-
const { key: familyKey, subKey } = selectorToken.family;
|
|
162
|
-
let familyNode = self.get(familyKey);
|
|
163
|
-
if (familyNode === void 0 || !(`familyMembers` in familyNode)) {
|
|
164
|
-
familyNode = {
|
|
165
|
-
key: familyKey,
|
|
166
|
-
familyMembers: /* @__PURE__ */ new Map()
|
|
167
|
-
};
|
|
168
|
-
self.set(familyKey, familyNode);
|
|
169
|
-
}
|
|
170
|
-
familyNode.familyMembers.set(subKey, selectorToken);
|
|
171
|
-
} else {
|
|
172
|
-
self.set(selectorToken.key, selectorToken);
|
|
173
|
-
}
|
|
174
|
-
return self;
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
);
|
|
178
|
-
store.on.selectorDisposal.subscribe(
|
|
179
|
-
`introspection`,
|
|
180
|
-
(selectorToken) => {
|
|
181
|
-
setSelf((self) => {
|
|
182
|
-
if (selectorToken.family) {
|
|
183
|
-
const { key: familyKey, subKey } = selectorToken.family;
|
|
184
|
-
const familyNode = self.get(familyKey);
|
|
185
|
-
if (familyNode && `familyMembers` in familyNode) {
|
|
186
|
-
familyNode.familyMembers.delete(subKey);
|
|
187
|
-
if (familyNode.familyMembers.size === 0) {
|
|
188
|
-
self.delete(familyKey);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
} else {
|
|
192
|
-
self.delete(selectorToken.key);
|
|
193
|
-
}
|
|
194
|
-
return self;
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
);
|
|
198
|
-
}
|
|
199
|
-
]
|
|
200
|
-
},
|
|
201
|
-
void 0,
|
|
202
|
-
store
|
|
203
|
-
);
|
|
204
|
-
return Internal.createStandaloneSelector(
|
|
205
|
-
{
|
|
206
|
-
key: `\u{1F441}\u200D\u{1F5E8} Selector Token Index`,
|
|
207
|
-
get: ({ get }) => get(readonlySelectorTokenIndexState__INTERNAL)
|
|
208
|
-
},
|
|
209
|
-
Internal.IMPLICIT.STORE
|
|
210
|
-
);
|
|
211
|
-
};
|
|
212
|
-
var attachTimelineFamily = (store = Internal.IMPLICIT.STORE) => {
|
|
213
|
-
const findTimelineLogState__INTERNAL = Internal.createRegularAtomFamily(
|
|
214
|
-
{
|
|
215
|
-
key: `\u{1F441}\u200D\u{1F5E8} Timeline Update Log (Internal)`,
|
|
216
|
-
default: (key) => {
|
|
217
|
-
var _a;
|
|
218
|
-
return (_a = store.timelines.get(key)) != null ? _a : {
|
|
219
|
-
type: `timeline`,
|
|
220
|
-
key: ``,
|
|
221
|
-
at: 0,
|
|
222
|
-
timeTraveling: null,
|
|
223
|
-
history: [],
|
|
224
|
-
selectorTime: null,
|
|
225
|
-
transactionKey: null,
|
|
226
|
-
install: () => {
|
|
227
|
-
},
|
|
228
|
-
subject: new Internal.Subject(),
|
|
229
|
-
subscriptions: /* @__PURE__ */ new Map()
|
|
230
|
-
};
|
|
231
|
-
},
|
|
232
|
-
effects: (key) => [
|
|
233
|
-
({ setSelf }) => {
|
|
234
|
-
const tl = store.timelines.get(key);
|
|
235
|
-
tl == null ? void 0 : tl.subject.subscribe(`introspection`, (_) => {
|
|
236
|
-
setSelf(__spreadValues({}, tl));
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
]
|
|
240
|
-
},
|
|
241
|
-
store
|
|
242
|
-
);
|
|
243
|
-
const findTimelineLogState = Internal.createSelectorFamily(
|
|
244
|
-
{
|
|
245
|
-
key: `\u{1F441}\u200D\u{1F5E8} Timeline Update Log`,
|
|
246
|
-
get: (key) => ({ get }) => get(findTimelineLogState__INTERNAL(key))
|
|
247
|
-
},
|
|
248
|
-
store
|
|
249
|
-
);
|
|
250
|
-
return findTimelineLogState;
|
|
251
|
-
};
|
|
252
|
-
var attachTimelineIndex = (store = Internal.IMPLICIT.STORE) => {
|
|
253
|
-
const timelineTokenIndexState__INTERNAL = Internal.createRegularAtom(
|
|
254
|
-
{
|
|
255
|
-
key: `\u{1F441}\u200D\u{1F5E8} Timeline Token Index (Internal)`,
|
|
256
|
-
default: () => [...store.timelines].map(([key]) => {
|
|
257
|
-
return { key, type: `timeline` };
|
|
258
|
-
}),
|
|
259
|
-
effects: [
|
|
260
|
-
({ setSelf }) => {
|
|
261
|
-
store.on.timelineCreation.subscribe(
|
|
262
|
-
`introspection`,
|
|
263
|
-
(timelineToken) => {
|
|
264
|
-
setSelf((state) => [...state, timelineToken]);
|
|
265
|
-
}
|
|
266
|
-
);
|
|
267
|
-
}
|
|
268
|
-
]
|
|
269
|
-
},
|
|
270
|
-
void 0,
|
|
271
|
-
store
|
|
272
|
-
);
|
|
273
|
-
const timelineTokenIndex = Internal.createStandaloneSelector(
|
|
274
|
-
{
|
|
275
|
-
key: `\u{1F441}\u200D\u{1F5E8} Timeline Token Index`,
|
|
276
|
-
get: ({ get }) => get(timelineTokenIndexState__INTERNAL)
|
|
277
|
-
},
|
|
278
|
-
store
|
|
279
|
-
);
|
|
280
|
-
return timelineTokenIndex;
|
|
281
|
-
};
|
|
282
|
-
var attachTransactionIndex = (store = Internal.IMPLICIT.STORE) => {
|
|
283
|
-
const transactionTokenIndexState__INTERNAL = Internal.createRegularAtom(
|
|
284
|
-
{
|
|
285
|
-
key: `\u{1F441}\u200D\u{1F5E8} Transaction Token Index (Internal)`,
|
|
286
|
-
default: () => [...store.transactions].map(([key]) => {
|
|
287
|
-
return { key, type: `transaction` };
|
|
288
|
-
}),
|
|
289
|
-
effects: [
|
|
290
|
-
({ setSelf }) => {
|
|
291
|
-
store.on.transactionCreation.subscribe(
|
|
292
|
-
`introspection`,
|
|
293
|
-
(transactionToken) => {
|
|
294
|
-
setSelf((state) => [...state, transactionToken]);
|
|
295
|
-
}
|
|
296
|
-
);
|
|
297
|
-
}
|
|
298
|
-
]
|
|
299
|
-
},
|
|
300
|
-
void 0,
|
|
301
|
-
store
|
|
302
|
-
);
|
|
303
|
-
const transactionTokenIndex = Internal.createStandaloneSelector(
|
|
304
|
-
{
|
|
305
|
-
key: `\u{1F441}\u200D\u{1F5E8} Transaction Token Index`,
|
|
306
|
-
get: ({ get }) => get(transactionTokenIndexState__INTERNAL)
|
|
307
|
-
},
|
|
308
|
-
store
|
|
309
|
-
);
|
|
310
|
-
return transactionTokenIndex;
|
|
311
|
-
};
|
|
312
|
-
var attachTransactionLogs = (store = Internal.IMPLICIT.STORE) => {
|
|
313
|
-
const findTransactionUpdateLog = Internal.createRegularAtomFamily(
|
|
314
|
-
{
|
|
315
|
-
key: `\u{1F441}\u200D\u{1F5E8} Transaction Update Log (Internal)`,
|
|
316
|
-
default: () => [],
|
|
317
|
-
effects: (key) => [
|
|
318
|
-
({ setSelf }) => {
|
|
319
|
-
const tx = store.transactions.get(key);
|
|
320
|
-
tx == null ? void 0 : tx.subject.subscribe(`introspection`, (transactionUpdate) => {
|
|
321
|
-
if (transactionUpdate.key === key) {
|
|
322
|
-
setSelf((state) => [...state, transactionUpdate]);
|
|
323
|
-
}
|
|
324
|
-
});
|
|
325
|
-
}
|
|
326
|
-
]
|
|
327
|
-
},
|
|
328
|
-
store
|
|
329
|
-
);
|
|
330
|
-
const findTransactionUpdateLogState = Internal.createSelectorFamily(
|
|
331
|
-
{
|
|
332
|
-
key: `\u{1F441}\u200D\u{1F5E8} Transaction Update Log`,
|
|
333
|
-
get: (key) => ({ get }) => get(findTransactionUpdateLog(key))
|
|
334
|
-
},
|
|
335
|
-
store
|
|
336
|
-
);
|
|
337
|
-
return findTransactionUpdateLogState;
|
|
338
|
-
};
|
|
339
|
-
|
|
340
|
-
// introspection/src/attach-introspection-states.ts
|
|
341
|
-
var attachIntrospectionStates = (store = Internal__namespace.IMPLICIT.STORE) => {
|
|
342
|
-
return {
|
|
343
|
-
atomIndex: attachAtomIndex(store),
|
|
344
|
-
selectorIndex: attachSelectorIndex(store),
|
|
345
|
-
transactionIndex: attachTransactionIndex(store),
|
|
346
|
-
findTransactionLogState: attachTransactionLogs(store),
|
|
347
|
-
timelineIndex: attachTimelineIndex(store),
|
|
348
|
-
findTimelineState: attachTimelineFamily(store)
|
|
349
|
-
};
|
|
350
|
-
};
|
|
351
|
-
var _Auditor = class _Auditor {
|
|
352
|
-
/**
|
|
353
|
-
* @param {Store} store - The store to audit.
|
|
354
|
-
*/
|
|
355
|
-
constructor(store = Internal__namespace.IMPLICIT.STORE) {
|
|
356
|
-
this.store = store;
|
|
357
|
-
this.auditorCreatedAt = performance.now();
|
|
358
|
-
this.statesCreatedAt = /* @__PURE__ */ new Map();
|
|
359
|
-
this.disposed = false;
|
|
360
|
-
this.atomIndex = attachAtomIndex(this.store);
|
|
361
|
-
this.selectorIndex = attachSelectorIndex(this.store);
|
|
362
|
-
this.unsubscribeFromAtomCreation = this.store.on.atomCreation.subscribe(
|
|
363
|
-
`auditor-${this.auditorCreatedAt}`,
|
|
364
|
-
({ key }) => {
|
|
365
|
-
this.statesCreatedAt.set(key, performance.now() - this.auditorCreatedAt);
|
|
366
|
-
}
|
|
367
|
-
);
|
|
368
|
-
this.unsubscribeFromAtomDisposal = this.store.on.atomDisposal.subscribe(
|
|
369
|
-
`auditor-${this.auditorCreatedAt}`,
|
|
370
|
-
({ key }) => {
|
|
371
|
-
this.statesCreatedAt.delete(key);
|
|
372
|
-
}
|
|
373
|
-
);
|
|
374
|
-
this.unsubscribeFromSelectorCreation = this.store.on.selectorCreation.subscribe(
|
|
375
|
-
`auditor-${this.auditorCreatedAt}`,
|
|
376
|
-
({ key }) => {
|
|
377
|
-
this.statesCreatedAt.set(
|
|
378
|
-
key,
|
|
379
|
-
performance.now() - this.auditorCreatedAt
|
|
380
|
-
);
|
|
381
|
-
}
|
|
382
|
-
);
|
|
383
|
-
this.unsubscribeFromSelectorDisposal = this.store.on.selectorDisposal.subscribe(
|
|
384
|
-
`auditor-${this.auditorCreatedAt}`,
|
|
385
|
-
({ key }) => {
|
|
386
|
-
this.statesCreatedAt.delete(key);
|
|
387
|
-
}
|
|
388
|
-
);
|
|
389
|
-
}
|
|
390
|
-
/**
|
|
391
|
-
* Lists all resources in the store, along with their creation time.
|
|
392
|
-
*
|
|
393
|
-
* @param {ListResourcesParam} [param] - Optional parameters for filtering the list of resources.
|
|
394
|
-
* @returns {readonly [ReadableToken<unknown>, number]}[] - An array of tuples, where each tuple contains a state token belonging to a family in the store and that state's creation time.
|
|
395
|
-
*/
|
|
396
|
-
listResources(param = _Auditor.DEFAULT_LIST_RESOURCES_PARAM) {
|
|
397
|
-
if (this.disposed) {
|
|
398
|
-
throw new Error(`This Auditor has been disposed`);
|
|
399
|
-
}
|
|
400
|
-
const atoms = atom_io.getState(this.atomIndex);
|
|
401
|
-
const selectors = atom_io.getState(this.selectorIndex);
|
|
402
|
-
const atomFamilyNodes = [...atoms.values()].filter(
|
|
403
|
-
(node) => `familyMembers` in node
|
|
404
|
-
);
|
|
405
|
-
const selectorFamilyNodes = [...selectors.values()].filter(
|
|
406
|
-
(node) => `familyMembers` in node
|
|
407
|
-
);
|
|
408
|
-
const currentTime = performance.now();
|
|
409
|
-
const resources = [];
|
|
410
|
-
if (param.atomFamilies) {
|
|
411
|
-
for (const familyNode of atomFamilyNodes) {
|
|
412
|
-
const tokens = familyNode.familyMembers.values();
|
|
413
|
-
for (const token of tokens) {
|
|
414
|
-
const storedTime = this.statesCreatedAt.get(token.key);
|
|
415
|
-
const creationTime = storedTime != null ? storedTime : this.auditorCreatedAt;
|
|
416
|
-
const age = currentTime - creationTime;
|
|
417
|
-
resources.push([token, age]);
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
if (param.selectorFamilies) {
|
|
422
|
-
for (const familyNode of selectorFamilyNodes) {
|
|
423
|
-
const tokens = familyNode.familyMembers.values();
|
|
424
|
-
for (const token of tokens) {
|
|
425
|
-
const storedTime = this.statesCreatedAt.get(token.key);
|
|
426
|
-
const creationTime = storedTime != null ? storedTime : this.auditorCreatedAt;
|
|
427
|
-
const age = currentTime - creationTime;
|
|
428
|
-
resources.push([token, age]);
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
return resources;
|
|
433
|
-
}
|
|
434
|
-
[Symbol.dispose]() {
|
|
435
|
-
this.unsubscribeFromAtomCreation();
|
|
436
|
-
this.unsubscribeFromAtomDisposal();
|
|
437
|
-
this.unsubscribeFromSelectorCreation();
|
|
438
|
-
this.unsubscribeFromSelectorDisposal();
|
|
439
|
-
this.disposed = true;
|
|
440
|
-
}
|
|
441
|
-
};
|
|
442
|
-
_Auditor.DEFAULT_LIST_RESOURCES_PARAM = {
|
|
443
|
-
atomFamilies: true,
|
|
444
|
-
selectorFamilies: true
|
|
445
|
-
};
|
|
446
|
-
var Auditor = _Auditor;
|
|
447
|
-
|
|
448
|
-
exports.Auditor = Auditor;
|
|
449
|
-
exports.attachIntrospectionStates = attachIntrospectionStates;
|
package/json/dist/index.cjs
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var internal = require('atom.io/internal');
|
|
4
|
-
|
|
5
|
-
// json/src/select-json.ts
|
|
6
|
-
var selectJson = (atom, transform, store = internal.IMPLICIT.STORE) => {
|
|
7
|
-
return internal.createStandaloneSelector(
|
|
8
|
-
{
|
|
9
|
-
key: `${atom.key}:JSON`,
|
|
10
|
-
get: ({ get }) => transform.toJson(get(atom)),
|
|
11
|
-
set: ({ set }, newValue) => {
|
|
12
|
-
set(atom, transform.fromJson(newValue));
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
store
|
|
16
|
-
);
|
|
17
|
-
};
|
|
18
|
-
function selectJsonFamily(family, transform, store = internal.IMPLICIT.STORE) {
|
|
19
|
-
const jsonFamily = internal.createSelectorFamily(
|
|
20
|
-
{
|
|
21
|
-
key: `${family.key}:JSON`,
|
|
22
|
-
get: (key) => ({ seek, get }) => {
|
|
23
|
-
const existingState = seek(family, key);
|
|
24
|
-
if (existingState) {
|
|
25
|
-
return transform.toJson(get(existingState));
|
|
26
|
-
}
|
|
27
|
-
const stringKey = stringifyJson(key);
|
|
28
|
-
const molecule = store.molecules.get(stringKey);
|
|
29
|
-
if (molecule) {
|
|
30
|
-
const atom = internal.growMoleculeInStore(molecule, family, store);
|
|
31
|
-
return transform.toJson(get(atom));
|
|
32
|
-
}
|
|
33
|
-
if (store.config.lifespan === `immortal`) {
|
|
34
|
-
throw new Error(`No molecule found for key "${stringKey}"`);
|
|
35
|
-
}
|
|
36
|
-
const newToken = internal.initFamilyMemberInStore(family, key, store);
|
|
37
|
-
return transform.toJson(get(newToken));
|
|
38
|
-
},
|
|
39
|
-
set: (key) => ({ seek, set }, newValue) => {
|
|
40
|
-
const existingState = seek(family, key);
|
|
41
|
-
if (existingState) {
|
|
42
|
-
set(existingState, transform.fromJson(newValue));
|
|
43
|
-
} else {
|
|
44
|
-
const stringKey = stringifyJson(key);
|
|
45
|
-
const molecule = store.molecules.get(stringKey);
|
|
46
|
-
if (molecule) {
|
|
47
|
-
const atom = internal.growMoleculeInStore(molecule, family, store);
|
|
48
|
-
set(atom, transform.fromJson(newValue));
|
|
49
|
-
} else {
|
|
50
|
-
if (store.config.lifespan === `immortal`) {
|
|
51
|
-
throw new Error(`No molecule found for key "${stringKey}"`);
|
|
52
|
-
}
|
|
53
|
-
set(
|
|
54
|
-
internal.initFamilyMemberInStore(family, key, store),
|
|
55
|
-
transform.fromJson(newValue)
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
store
|
|
62
|
-
);
|
|
63
|
-
family.subject.subscribe(
|
|
64
|
-
`store=${store.config.name}::json-selector-family`,
|
|
65
|
-
(event) => {
|
|
66
|
-
if (event.token.family) {
|
|
67
|
-
internal.seekInStore(jsonFamily, parseJson(event.token.family.subKey), store);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
);
|
|
71
|
-
return jsonFamily;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// ../anvl/src/json/json-interface.ts
|
|
75
|
-
var stringSetJsonInterface = {
|
|
76
|
-
toJson: (stringSet) => Array.from(stringSet),
|
|
77
|
-
fromJson: (json) => new Set(json)
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
// ../anvl/src/json/index.ts
|
|
81
|
-
var parseJson = (str) => JSON.parse(str);
|
|
82
|
-
var stringifyJson = (json) => JSON.stringify(json);
|
|
83
|
-
var JSON_TYPE_NAMES = [
|
|
84
|
-
`array`,
|
|
85
|
-
`boolean`,
|
|
86
|
-
`null`,
|
|
87
|
-
`number`,
|
|
88
|
-
`object`,
|
|
89
|
-
`string`
|
|
90
|
-
];
|
|
91
|
-
var JSON_DEFAULTS = {
|
|
92
|
-
array: [],
|
|
93
|
-
boolean: false,
|
|
94
|
-
null: null,
|
|
95
|
-
number: 0,
|
|
96
|
-
object: {},
|
|
97
|
-
string: ``
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
// ../anvl/src/primitive/index.ts
|
|
101
|
-
var isString = (input) => {
|
|
102
|
-
return typeof input === `string`;
|
|
103
|
-
};
|
|
104
|
-
var isNumber = (input) => {
|
|
105
|
-
return typeof input === `number`;
|
|
106
|
-
};
|
|
107
|
-
var isBoolean = (input) => {
|
|
108
|
-
return typeof input === `boolean`;
|
|
109
|
-
};
|
|
110
|
-
var isNull = (input) => {
|
|
111
|
-
return input === null;
|
|
112
|
-
};
|
|
113
|
-
var isPrimitive = (input) => {
|
|
114
|
-
return isString(input) || isNumber(input) || isBoolean(input) || isNull(input);
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
exports.JSON_DEFAULTS = JSON_DEFAULTS;
|
|
118
|
-
exports.JSON_TYPE_NAMES = JSON_TYPE_NAMES;
|
|
119
|
-
exports.isBoolean = isBoolean;
|
|
120
|
-
exports.isNull = isNull;
|
|
121
|
-
exports.isNumber = isNumber;
|
|
122
|
-
exports.isPrimitive = isPrimitive;
|
|
123
|
-
exports.isString = isString;
|
|
124
|
-
exports.parseJson = parseJson;
|
|
125
|
-
exports.selectJson = selectJson;
|
|
126
|
-
exports.selectJsonFamily = selectJsonFamily;
|
|
127
|
-
exports.stringSetJsonInterface = stringSetJsonInterface;
|
|
128
|
-
exports.stringifyJson = stringifyJson;
|
package/react/dist/index.cjs
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var internal = require('atom.io/internal');
|
|
4
|
-
var React5 = require('react');
|
|
5
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var atom_io = require('atom.io');
|
|
7
|
-
|
|
8
|
-
function _interopNamespace(e) {
|
|
9
|
-
if (e && e.__esModule) return e;
|
|
10
|
-
var n = Object.create(null);
|
|
11
|
-
if (e) {
|
|
12
|
-
Object.keys(e).forEach(function (k) {
|
|
13
|
-
if (k !== 'default') {
|
|
14
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
-
enumerable: true,
|
|
17
|
-
get: function () { return e[k]; }
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
n.default = e;
|
|
23
|
-
return Object.freeze(n);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
var React5__namespace = /*#__PURE__*/_interopNamespace(React5);
|
|
27
|
-
|
|
28
|
-
// react/src/store-context.tsx
|
|
29
|
-
var StoreContext = React5__namespace.createContext(internal.IMPLICIT.STORE);
|
|
30
|
-
var StoreProvider = ({ children, store = internal.IMPLICIT.STORE }) => /* @__PURE__ */ jsxRuntime.jsx(StoreContext.Provider, { value: store, children });
|
|
31
|
-
function parseStateOverloads(store, ...rest) {
|
|
32
|
-
let token;
|
|
33
|
-
if (rest.length === 2) {
|
|
34
|
-
const family = rest[0];
|
|
35
|
-
const key = rest[1];
|
|
36
|
-
if (store.config.lifespan === `immortal`) {
|
|
37
|
-
const maybeToken = internal.seekInStore(family, key, store);
|
|
38
|
-
if (!maybeToken) {
|
|
39
|
-
throw new internal.NotFoundError(family, key, store);
|
|
40
|
-
}
|
|
41
|
-
token = maybeToken;
|
|
42
|
-
} else {
|
|
43
|
-
token = internal.findInStore(family, key, store);
|
|
44
|
-
}
|
|
45
|
-
} else {
|
|
46
|
-
token = rest[0];
|
|
47
|
-
}
|
|
48
|
-
return token;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// react/src/use-i.ts
|
|
52
|
-
function useI(...params) {
|
|
53
|
-
const store = React5__namespace.useContext(StoreContext);
|
|
54
|
-
const token = parseStateOverloads(store, ...params);
|
|
55
|
-
const setter = React5__namespace.useRef(null);
|
|
56
|
-
if (setter.current === null) {
|
|
57
|
-
setter.current = (next) => {
|
|
58
|
-
internal.setIntoStore(token, next, store);
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
return setter.current;
|
|
62
|
-
}
|
|
63
|
-
function useO(...params) {
|
|
64
|
-
const store = React5__namespace.useContext(StoreContext);
|
|
65
|
-
const token = parseStateOverloads(store, ...params);
|
|
66
|
-
const id = React5__namespace.useId();
|
|
67
|
-
return React5__namespace.useSyncExternalStore(
|
|
68
|
-
(dispatch) => internal.subscribeToState(token, dispatch, `use-o:${id}`, store),
|
|
69
|
-
() => internal.getFromStore(token, store),
|
|
70
|
-
() => internal.getFromStore(token, store)
|
|
71
|
-
);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// react/src/use-json.ts
|
|
75
|
-
function useJSON(token, key) {
|
|
76
|
-
const store = React5__namespace.useContext(StoreContext);
|
|
77
|
-
const stateToken = token.type === `mutable_atom_family` ? internal.findInStore(token, key, store) : token;
|
|
78
|
-
const jsonToken = internal.getJsonToken(stateToken, store);
|
|
79
|
-
return useO(jsonToken);
|
|
80
|
-
}
|
|
81
|
-
function useTL(token) {
|
|
82
|
-
const store = React5__namespace.useContext(StoreContext);
|
|
83
|
-
const id = React5__namespace.useId();
|
|
84
|
-
const timeline = internal.withdraw(token, store);
|
|
85
|
-
const tokenRef = React5__namespace.useRef(token);
|
|
86
|
-
const rebuildMeta = () => {
|
|
87
|
-
return {
|
|
88
|
-
at: timeline.at,
|
|
89
|
-
length: timeline.history.length,
|
|
90
|
-
undo: () => {
|
|
91
|
-
atom_io.undo(token);
|
|
92
|
-
},
|
|
93
|
-
redo: () => {
|
|
94
|
-
atom_io.redo(token);
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
const meta = React5__namespace.useRef(rebuildMeta());
|
|
99
|
-
const retrieve = () => {
|
|
100
|
-
if (meta.current.at !== (timeline == null ? void 0 : timeline.at) || meta.current.length !== (timeline == null ? void 0 : timeline.history.length) || tokenRef.current !== token) {
|
|
101
|
-
tokenRef.current = token;
|
|
102
|
-
meta.current = rebuildMeta();
|
|
103
|
-
}
|
|
104
|
-
return meta.current;
|
|
105
|
-
};
|
|
106
|
-
return React5__namespace.useSyncExternalStore(
|
|
107
|
-
(dispatch) => internal.subscribeToTimeline(token, dispatch, `use-tl:${id}`, store),
|
|
108
|
-
retrieve,
|
|
109
|
-
retrieve
|
|
110
|
-
);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
exports.StoreContext = StoreContext;
|
|
114
|
-
exports.StoreProvider = StoreProvider;
|
|
115
|
-
exports.useI = useI;
|
|
116
|
-
exports.useJSON = useJSON;
|
|
117
|
-
exports.useO = useO;
|
|
118
|
-
exports.useTL = useTL;
|