doxum 0.1.1
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/LICENSE +21 -0
- package/README.md +218 -0
- package/dist/chunk-pbuEa-1d.js +13 -0
- package/dist/contract-DwNiKioc.d.ts +480 -0
- package/dist/contract-Otb5W6cQ.d.cts +480 -0
- package/dist/dependency-BdEMyquf.js +735 -0
- package/dist/dependency-BdEMyquf.js.map +1 -0
- package/dist/dependency-DLcCvNKq.cjs +1015 -0
- package/dist/dependency-DLcCvNKq.cjs.map +1 -0
- package/dist/index.cjs +2718 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +89 -0
- package/dist/index.d.ts +87 -0
- package/dist/index.js +2689 -0
- package/dist/index.js.map +1 -0
- package/dist/integration.cjs +15 -0
- package/dist/integration.cjs.map +1 -0
- package/dist/integration.d.cts +11 -0
- package/dist/integration.d.ts +11 -0
- package/dist/integration.js +14 -0
- package/dist/integration.js.map +1 -0
- package/dist/react.cjs +99 -0
- package/dist/react.cjs.map +1 -0
- package/dist/react.d.cts +16 -0
- package/dist/react.d.ts +16 -0
- package/dist/react.js +96 -0
- package/dist/react.js.map +1 -0
- package/package.json +89 -0
- package/skills/doxum-runtime/SKILL.md +51 -0
- package/skills/doxum-runtime/agents/openai.yaml +4 -0
- package/skills/doxum-runtime/references/guide.en.md +295 -0
- package/skills/doxum-runtime/references/guide.zh-CN.md +240 -0
- package/skills/doxum-runtime/references/invariants.en.md +147 -0
- package/skills/doxum-runtime/references/invariants.zh-CN.md +97 -0
- package/skills/doxum-runtime/references/patterns.en.md +287 -0
- package/skills/doxum-runtime/references/patterns.zh-CN.md +240 -0
|
@@ -0,0 +1,1015 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __exportAll = (all, no_symbols) => {
|
|
4
|
+
let target = {};
|
|
5
|
+
for (var name in all) __defProp(target, name, {
|
|
6
|
+
get: all[name],
|
|
7
|
+
enumerable: true
|
|
8
|
+
});
|
|
9
|
+
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
10
|
+
return target;
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region core/src/schema.ts
|
|
14
|
+
const node = (value) => Object.freeze(value);
|
|
15
|
+
const field = () => node({ kind: "field" });
|
|
16
|
+
const optional = (value) => node({
|
|
17
|
+
...value,
|
|
18
|
+
optional: true
|
|
19
|
+
});
|
|
20
|
+
const object = (shape) => node({
|
|
21
|
+
kind: "object",
|
|
22
|
+
shape
|
|
23
|
+
});
|
|
24
|
+
const variant = (tag, variants) => node({
|
|
25
|
+
kind: "variant",
|
|
26
|
+
tag,
|
|
27
|
+
variants
|
|
28
|
+
});
|
|
29
|
+
const single = (value) => node({
|
|
30
|
+
kind: "single",
|
|
31
|
+
value
|
|
32
|
+
});
|
|
33
|
+
const table = (value) => node({
|
|
34
|
+
kind: "table",
|
|
35
|
+
value
|
|
36
|
+
});
|
|
37
|
+
const map = (value) => node({
|
|
38
|
+
kind: "map",
|
|
39
|
+
value
|
|
40
|
+
});
|
|
41
|
+
const record = () => node({ kind: "record" });
|
|
42
|
+
const dict = () => node({ kind: "dict" });
|
|
43
|
+
const list = (config) => ({
|
|
44
|
+
kind: "list",
|
|
45
|
+
keyOf: config.keyOf
|
|
46
|
+
});
|
|
47
|
+
const tree = () => node({ kind: "tree" });
|
|
48
|
+
const pathProxy = (address) => new Proxy({ address }, { get: (_target, property) => {
|
|
49
|
+
if (property === "address") return address;
|
|
50
|
+
if (property === "item") return (id) => pathProxy([...address, id]);
|
|
51
|
+
if (typeof property === "symbol") return void 0;
|
|
52
|
+
return pathProxy([...address, property]);
|
|
53
|
+
} });
|
|
54
|
+
const select = (owner, kind, pick) => {
|
|
55
|
+
const selected = pick(pathProxy([]));
|
|
56
|
+
return Object.freeze({
|
|
57
|
+
kind,
|
|
58
|
+
schema: owner,
|
|
59
|
+
address: Object.freeze([...selected.address ?? []])
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
const schema = (shape) => {
|
|
63
|
+
const result = {
|
|
64
|
+
kind: "schema",
|
|
65
|
+
shape,
|
|
66
|
+
collection: (pick) => select(result, "collection", pick),
|
|
67
|
+
value: (pick) => select(result, "value", pick)
|
|
68
|
+
};
|
|
69
|
+
return Object.freeze(result);
|
|
70
|
+
};
|
|
71
|
+
//#endregion
|
|
72
|
+
//#region core/src/profile.ts
|
|
73
|
+
const active = { current: void 0 };
|
|
74
|
+
const profile = {
|
|
75
|
+
clone: {
|
|
76
|
+
call: () => {
|
|
77
|
+
const value = active.current;
|
|
78
|
+
if (value) value.clone.calls += 1;
|
|
79
|
+
},
|
|
80
|
+
node: (reason) => {
|
|
81
|
+
const value = active.current;
|
|
82
|
+
if (!value) return;
|
|
83
|
+
value.clone.nodes[reason] += 1;
|
|
84
|
+
},
|
|
85
|
+
container: () => {
|
|
86
|
+
const value = active.current;
|
|
87
|
+
if (value) value.clone.containers += 1;
|
|
88
|
+
},
|
|
89
|
+
deepEqual: () => {
|
|
90
|
+
const value = active.current;
|
|
91
|
+
if (value) value.clone.deepEqual.calls += 1;
|
|
92
|
+
},
|
|
93
|
+
deepEqualContainer: () => {
|
|
94
|
+
const value = active.current;
|
|
95
|
+
if (value) value.clone.deepEqual.containers += 1;
|
|
96
|
+
},
|
|
97
|
+
initialDocument: () => {
|
|
98
|
+
const value = active.current;
|
|
99
|
+
if (value) value.clone.documents.initial += 1;
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
mutation: {
|
|
103
|
+
normalized: () => {
|
|
104
|
+
const value = active.current;
|
|
105
|
+
if (value) value.mutation.normalized += 1;
|
|
106
|
+
},
|
|
107
|
+
executed: () => {
|
|
108
|
+
const value = active.current;
|
|
109
|
+
if (value) value.mutation.executed += 1;
|
|
110
|
+
},
|
|
111
|
+
inverse: () => {
|
|
112
|
+
const value = active.current;
|
|
113
|
+
if (value) value.mutation.inverseCreated += 1;
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
batch: {
|
|
117
|
+
operation: () => {
|
|
118
|
+
const value = active.current;
|
|
119
|
+
if (value) value.batch.operations += 1;
|
|
120
|
+
},
|
|
121
|
+
entry: (amount = 1) => {
|
|
122
|
+
const value = active.current;
|
|
123
|
+
if (value) value.batch.entries += amount;
|
|
124
|
+
},
|
|
125
|
+
collectionResolved: () => {
|
|
126
|
+
const value = active.current;
|
|
127
|
+
if (value) value.batch.collectionsResolved += 1;
|
|
128
|
+
},
|
|
129
|
+
journalRecord: () => {
|
|
130
|
+
const value = active.current;
|
|
131
|
+
if (value) value.batch.journalRecords += 1;
|
|
132
|
+
},
|
|
133
|
+
rejected: () => {
|
|
134
|
+
const value = active.current;
|
|
135
|
+
if (value) value.batch.rejected += 1;
|
|
136
|
+
},
|
|
137
|
+
inverse: () => {
|
|
138
|
+
const value = active.current;
|
|
139
|
+
if (value) value.batch.inverseOperations += 1;
|
|
140
|
+
},
|
|
141
|
+
payloadTransferred: () => {
|
|
142
|
+
const value = active.current;
|
|
143
|
+
if (value) value.batch.payloadTransferred += 1;
|
|
144
|
+
},
|
|
145
|
+
payloadSnapshot: () => {
|
|
146
|
+
const value = active.current;
|
|
147
|
+
if (value) value.batch.payloadSnapshots += 1;
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
journal: {
|
|
151
|
+
subject: () => {
|
|
152
|
+
const value = active.current;
|
|
153
|
+
if (value) value.journal.subjects += 1;
|
|
154
|
+
},
|
|
155
|
+
comparison: () => {
|
|
156
|
+
const value = active.current;
|
|
157
|
+
if (value) value.journal.comparisons += 1;
|
|
158
|
+
},
|
|
159
|
+
absorbed: () => {
|
|
160
|
+
const value = active.current;
|
|
161
|
+
if (value) value.journal.absorbed += 1;
|
|
162
|
+
},
|
|
163
|
+
orderSnapshot: (items) => {
|
|
164
|
+
const value = active.current;
|
|
165
|
+
if (!value) return;
|
|
166
|
+
value.journal.orderSnapshots += 1;
|
|
167
|
+
value.journal.orderItems += items;
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
address: {
|
|
171
|
+
schemaStep: () => {
|
|
172
|
+
const value = active.current;
|
|
173
|
+
if (value) value.address.schemaSteps += 1;
|
|
174
|
+
},
|
|
175
|
+
documentStep: () => {
|
|
176
|
+
const value = active.current;
|
|
177
|
+
if (value) value.address.documentSteps += 1;
|
|
178
|
+
},
|
|
179
|
+
arrayCopied: () => {
|
|
180
|
+
const value = active.current;
|
|
181
|
+
if (value) value.address.arraysCopied += 1;
|
|
182
|
+
},
|
|
183
|
+
prefixComparison: () => {
|
|
184
|
+
const value = active.current;
|
|
185
|
+
if (value) value.address.prefixComparisons += 1;
|
|
186
|
+
},
|
|
187
|
+
segmentCompared: () => {
|
|
188
|
+
const value = active.current;
|
|
189
|
+
if (value) value.address.segmentsCompared += 1;
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
impact: { affects: () => {
|
|
193
|
+
const value = active.current;
|
|
194
|
+
if (value) value.impact.affectsChecks += 1;
|
|
195
|
+
} },
|
|
196
|
+
reader: {
|
|
197
|
+
session: () => {
|
|
198
|
+
const value = active.current;
|
|
199
|
+
if (value) value.reader.sessions += 1;
|
|
200
|
+
},
|
|
201
|
+
lookup: () => {
|
|
202
|
+
const value = active.current;
|
|
203
|
+
if (value) value.reader.nodeLookups += 1;
|
|
204
|
+
},
|
|
205
|
+
collectionIds: (amount = 1) => {
|
|
206
|
+
const value = active.current;
|
|
207
|
+
if (value) value.reader.collectionIds += amount;
|
|
208
|
+
},
|
|
209
|
+
structuralSnapshot: () => {
|
|
210
|
+
const value = active.current;
|
|
211
|
+
if (value) value.reader.structuralSnapshots += 1;
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
collectionView: {
|
|
215
|
+
mapped: () => {
|
|
216
|
+
const value = active.current;
|
|
217
|
+
if (value) value.collectionView.mappedItems += 1;
|
|
218
|
+
},
|
|
219
|
+
idsScanned: (amount = 1) => {
|
|
220
|
+
const value = active.current;
|
|
221
|
+
if (value) value.collectionView.idsScanned += amount;
|
|
222
|
+
},
|
|
223
|
+
arrayCopied: () => {
|
|
224
|
+
const value = active.current;
|
|
225
|
+
if (value) value.collectionView.arraysCopied += 1;
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
materialized: {
|
|
229
|
+
updated: () => {
|
|
230
|
+
const value = active.current;
|
|
231
|
+
if (value) value.materialized.updated += 1;
|
|
232
|
+
},
|
|
233
|
+
skipped: () => {
|
|
234
|
+
const value = active.current;
|
|
235
|
+
if (value) value.materialized.skipped += 1;
|
|
236
|
+
},
|
|
237
|
+
rebuilt: () => {
|
|
238
|
+
const value = active.current;
|
|
239
|
+
if (value) value.materialized.rebuilt += 1;
|
|
240
|
+
},
|
|
241
|
+
sourceChanged: () => {
|
|
242
|
+
const value = active.current;
|
|
243
|
+
if (value) value.materialized.sourceChanges += 1;
|
|
244
|
+
},
|
|
245
|
+
notification: () => {
|
|
246
|
+
const value = active.current;
|
|
247
|
+
if (value) value.materialized.notifications += 1;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
//#endregion
|
|
252
|
+
//#region core/src/address.ts
|
|
253
|
+
const registries = /* @__PURE__ */ new WeakMap();
|
|
254
|
+
const registryNode = () => ({ static: /* @__PURE__ */ new Map() });
|
|
255
|
+
const registryFor = (schema) => {
|
|
256
|
+
const cached = registries.get(schema);
|
|
257
|
+
if (cached) return cached;
|
|
258
|
+
const registry = {
|
|
259
|
+
root: registryNode(),
|
|
260
|
+
nextPath: 0
|
|
261
|
+
};
|
|
262
|
+
registries.set(schema, registry);
|
|
263
|
+
return registry;
|
|
264
|
+
};
|
|
265
|
+
const hashText = (value, seed) => {
|
|
266
|
+
let hash = seed;
|
|
267
|
+
for (let index = 0; index < value.length; index += 1) hash = Math.imul(hash ^ value.charCodeAt(index), 16777619);
|
|
268
|
+
return hash >>> 0;
|
|
269
|
+
};
|
|
270
|
+
const appendAddressHash = (hash, segment) => hashText(segment, hashText("/", hash));
|
|
271
|
+
const isRecord$1 = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
272
|
+
const unwrap = (node) => {
|
|
273
|
+
let current = node;
|
|
274
|
+
while (current?.kind === "single") current = current.value;
|
|
275
|
+
return current;
|
|
276
|
+
};
|
|
277
|
+
const variantNode = (node, value) => {
|
|
278
|
+
const tag = isRecord$1(value) && typeof value[node.tag] === "string" ? value[node.tag] : void 0;
|
|
279
|
+
return node.variants[String(tag ?? Object.keys(node.variants)[0] ?? "")];
|
|
280
|
+
};
|
|
281
|
+
const schemaRoot$1 = (schema) => ({
|
|
282
|
+
kind: "object",
|
|
283
|
+
shape: schema.shape
|
|
284
|
+
});
|
|
285
|
+
const step = (nodeInput, value, segment) => {
|
|
286
|
+
let node = unwrap(nodeInput);
|
|
287
|
+
if (!node) return {
|
|
288
|
+
node: void 0,
|
|
289
|
+
dynamic: false
|
|
290
|
+
};
|
|
291
|
+
if (node.kind === "variant") node = unwrap(variantNode(node, value));
|
|
292
|
+
if (!node) return {
|
|
293
|
+
node: void 0,
|
|
294
|
+
dynamic: false
|
|
295
|
+
};
|
|
296
|
+
if (node.kind === "object") return {
|
|
297
|
+
node: node.shape[segment],
|
|
298
|
+
dynamic: false
|
|
299
|
+
};
|
|
300
|
+
if (node.kind === "table" || node.kind === "map") return {
|
|
301
|
+
node: node.value,
|
|
302
|
+
dynamic: true
|
|
303
|
+
};
|
|
304
|
+
if (node.kind === "record" || node.kind === "dict" || node.kind === "list" || node.kind === "tree") return {
|
|
305
|
+
node,
|
|
306
|
+
dynamic: true
|
|
307
|
+
};
|
|
308
|
+
return {
|
|
309
|
+
node: void 0,
|
|
310
|
+
dynamic: false
|
|
311
|
+
};
|
|
312
|
+
};
|
|
313
|
+
const pathFor = (schema, address, document) => {
|
|
314
|
+
const registry = registryFor(schema);
|
|
315
|
+
let trie = registry.root;
|
|
316
|
+
let node = schemaRoot$1(schema);
|
|
317
|
+
let value = document;
|
|
318
|
+
for (const segment of address) {
|
|
319
|
+
profile.address.schemaStep();
|
|
320
|
+
profile.address.documentStep();
|
|
321
|
+
const resolved = step(node, value, segment);
|
|
322
|
+
if (!resolved.node) return void 0;
|
|
323
|
+
trie = resolved.dynamic ? trie.dynamic ??= registryNode() : (() => {
|
|
324
|
+
const existing = trie.static.get(segment);
|
|
325
|
+
if (existing) return existing;
|
|
326
|
+
const created = registryNode();
|
|
327
|
+
trie.static.set(segment, created);
|
|
328
|
+
return created;
|
|
329
|
+
})();
|
|
330
|
+
node = resolved.node;
|
|
331
|
+
value = readSegment(value, segment);
|
|
332
|
+
}
|
|
333
|
+
if (trie.path === void 0) trie.path = registry.nextPath++;
|
|
334
|
+
return trie.path;
|
|
335
|
+
};
|
|
336
|
+
const resolveAddress = (schema, address, document) => {
|
|
337
|
+
if (!Array.isArray(address)) return void 0;
|
|
338
|
+
for (const segment of address) if (typeof segment !== "string") return void 0;
|
|
339
|
+
profile.address.arrayCopied();
|
|
340
|
+
const owned = Object.freeze(address.slice());
|
|
341
|
+
const path = pathFor(schema, owned, document);
|
|
342
|
+
return path === void 0 ? void 0 : {
|
|
343
|
+
path,
|
|
344
|
+
address: owned
|
|
345
|
+
};
|
|
346
|
+
};
|
|
347
|
+
const nodeAt = (schema, address, document) => {
|
|
348
|
+
let node = schemaRoot$1(schema);
|
|
349
|
+
let value = document;
|
|
350
|
+
for (const segment of address) {
|
|
351
|
+
node = step(node, value, segment).node;
|
|
352
|
+
value = readSegment(value, segment);
|
|
353
|
+
if (!node) return void 0;
|
|
354
|
+
}
|
|
355
|
+
return unwrap(node);
|
|
356
|
+
};
|
|
357
|
+
const readSegment = (value, segment) => {
|
|
358
|
+
if (!isRecord$1(value) && !Array.isArray(value)) return void 0;
|
|
359
|
+
if (isRecord$1(value) && "byId" in value && isRecord$1(value.byId)) {
|
|
360
|
+
const entity = value.byId[segment];
|
|
361
|
+
if (entity !== void 0 || Object.prototype.hasOwnProperty.call(value.byId, segment)) return entity;
|
|
362
|
+
}
|
|
363
|
+
return value[segment];
|
|
364
|
+
};
|
|
365
|
+
const read = (root, address) => {
|
|
366
|
+
let value = root;
|
|
367
|
+
for (const segment of address) {
|
|
368
|
+
value = readSegment(value, segment);
|
|
369
|
+
if (value === void 0) return void 0;
|
|
370
|
+
}
|
|
371
|
+
return value;
|
|
372
|
+
};
|
|
373
|
+
/** Resolves schema and document location in one address traversal. */
|
|
374
|
+
const resolveLocated = (schema, root, address) => {
|
|
375
|
+
if (address.length === 0) return void 0;
|
|
376
|
+
let node = schemaRoot$1(schema);
|
|
377
|
+
let current = root;
|
|
378
|
+
let collection;
|
|
379
|
+
let addressHash = 2166136261;
|
|
380
|
+
for (let index = 0; index < address.length - 1; index += 1) {
|
|
381
|
+
profile.address.schemaStep();
|
|
382
|
+
profile.address.documentStep();
|
|
383
|
+
const resolved = step(node, current, address[index]);
|
|
384
|
+
if (!resolved.node) return void 0;
|
|
385
|
+
if (node?.kind === "table" || node?.kind === "map") collection = {
|
|
386
|
+
address: address.slice(0, index),
|
|
387
|
+
addressHash,
|
|
388
|
+
id: address[index],
|
|
389
|
+
...collection ? { parent: collection } : {}
|
|
390
|
+
};
|
|
391
|
+
addressHash = appendAddressHash(addressHash, address[index]);
|
|
392
|
+
node = resolved.node;
|
|
393
|
+
current = readSegment(current, address[index]);
|
|
394
|
+
if (!node) return void 0;
|
|
395
|
+
}
|
|
396
|
+
profile.address.schemaStep();
|
|
397
|
+
profile.address.documentStep();
|
|
398
|
+
const last = address[address.length - 1];
|
|
399
|
+
const resolved = step(node, current, last);
|
|
400
|
+
if (!resolved.node || !isRecord$1(current) && !Array.isArray(current)) return void 0;
|
|
401
|
+
if (node?.kind === "table" || node?.kind === "map") collection = {
|
|
402
|
+
address: address.slice(0, -1),
|
|
403
|
+
addressHash,
|
|
404
|
+
id: last,
|
|
405
|
+
...collection ? { parent: collection } : {}
|
|
406
|
+
};
|
|
407
|
+
addressHash = appendAddressHash(addressHash, last);
|
|
408
|
+
if (isRecord$1(current) && "byId" in current && isRecord$1(current.byId) && last in current.byId) return {
|
|
409
|
+
addressHash,
|
|
410
|
+
node: resolved.node,
|
|
411
|
+
parent: current.byId,
|
|
412
|
+
key: last,
|
|
413
|
+
value: current.byId[last],
|
|
414
|
+
...collection ? { collection } : {}
|
|
415
|
+
};
|
|
416
|
+
return {
|
|
417
|
+
addressHash,
|
|
418
|
+
node: resolved.node,
|
|
419
|
+
parent: current,
|
|
420
|
+
key: Array.isArray(current) && /^\d+$/.test(last) ? Number(last) : last,
|
|
421
|
+
value: readSegment(current, last),
|
|
422
|
+
...collection ? { collection } : {}
|
|
423
|
+
};
|
|
424
|
+
};
|
|
425
|
+
const locate = (root, address) => {
|
|
426
|
+
if (address.length === 0) return void 0;
|
|
427
|
+
let current = root;
|
|
428
|
+
for (let index = 0; index < address.length - 1; index += 1) current = readSegment(current, address[index]);
|
|
429
|
+
if (!isRecord$1(current) && !Array.isArray(current)) return void 0;
|
|
430
|
+
const last = address[address.length - 1];
|
|
431
|
+
if (isRecord$1(current) && "byId" in current && isRecord$1(current.byId) && last in current.byId) return {
|
|
432
|
+
parent: current.byId,
|
|
433
|
+
key: last,
|
|
434
|
+
value: current.byId[last]
|
|
435
|
+
};
|
|
436
|
+
return {
|
|
437
|
+
parent: current,
|
|
438
|
+
key: Array.isArray(current) && /^\d+$/.test(last) ? Number(last) : last,
|
|
439
|
+
value: readSegment(current, last)
|
|
440
|
+
};
|
|
441
|
+
};
|
|
442
|
+
const set = (root, address, value) => {
|
|
443
|
+
const target = locate(root, address);
|
|
444
|
+
if (!target) return false;
|
|
445
|
+
target.parent[target.key] = value;
|
|
446
|
+
return true;
|
|
447
|
+
};
|
|
448
|
+
const contains = (parent, child) => {
|
|
449
|
+
profile.address.prefixComparison();
|
|
450
|
+
if (parent.length > child.length) return false;
|
|
451
|
+
for (let index = 0; index < parent.length; index += 1) {
|
|
452
|
+
profile.address.segmentCompared();
|
|
453
|
+
if (parent[index] !== child[index]) return false;
|
|
454
|
+
}
|
|
455
|
+
return true;
|
|
456
|
+
};
|
|
457
|
+
const overlaps = (a, b) => contains(a, b) || contains(b, a);
|
|
458
|
+
const debugKey = (address) => {
|
|
459
|
+
let result = "";
|
|
460
|
+
for (let index = 0; index < address.length; index += 1) {
|
|
461
|
+
if (index > 0) result += "/";
|
|
462
|
+
result += address[index].replaceAll("~", "~~").replaceAll("/", "~/");
|
|
463
|
+
}
|
|
464
|
+
return result;
|
|
465
|
+
};
|
|
466
|
+
//#endregion
|
|
467
|
+
//#region core/src/impact-target.ts
|
|
468
|
+
var impact_target_exports = /* @__PURE__ */ __exportAll({
|
|
469
|
+
address: () => address,
|
|
470
|
+
belongs: () => belongs,
|
|
471
|
+
bucket: () => bucket,
|
|
472
|
+
id: () => id,
|
|
473
|
+
same: () => same
|
|
474
|
+
});
|
|
475
|
+
const address = (target) => "at" in target ? target.at : target.address;
|
|
476
|
+
const id = (target) => target.kind === "collection" && "id" in target ? target.id : void 0;
|
|
477
|
+
const belongs = (target, schema) => !("schema" in target) || target.schema === schema;
|
|
478
|
+
const same = (left, right) => {
|
|
479
|
+
if (left.kind !== right.kind) return false;
|
|
480
|
+
if ("schema" in left && "schema" in right && left.schema !== right.schema) return false;
|
|
481
|
+
const leftAddress = address(left);
|
|
482
|
+
const rightAddress = address(right);
|
|
483
|
+
if (leftAddress.length !== rightAddress.length) return false;
|
|
484
|
+
for (let index = 0; index < leftAddress.length; index += 1) if (leftAddress[index] !== rightAddress[index]) return false;
|
|
485
|
+
return left.kind !== "collection" || id(left) === id(right);
|
|
486
|
+
};
|
|
487
|
+
const bucket = (target) => address(target)[0];
|
|
488
|
+
//#endregion
|
|
489
|
+
//#region core/src/value/ownership.ts
|
|
490
|
+
const stablePayloads = /* @__PURE__ */ new WeakSet();
|
|
491
|
+
const markStablePayload = (value) => {
|
|
492
|
+
if (Array.isArray(value) || isPlainObject(value)) stablePayloads.add(value);
|
|
493
|
+
return value;
|
|
494
|
+
};
|
|
495
|
+
const isStablePayload = (value) => (Array.isArray(value) || isPlainObject(value)) && stablePayloads.has(value);
|
|
496
|
+
const isPlainObject = (value) => {
|
|
497
|
+
if (value === null || typeof value !== "object") return false;
|
|
498
|
+
const prototype = Object.getPrototypeOf(value);
|
|
499
|
+
return prototype === Object.prototype || prototype === null;
|
|
500
|
+
};
|
|
501
|
+
const countCloneReason = (reason) => {
|
|
502
|
+
if (reason) profile.clone.node(reason);
|
|
503
|
+
};
|
|
504
|
+
const cloneValue = (value, reason) => {
|
|
505
|
+
profile.clone.call();
|
|
506
|
+
countCloneReason(reason);
|
|
507
|
+
if (Array.isArray(value)) {
|
|
508
|
+
profile.clone.container();
|
|
509
|
+
const result = new Array(value.length);
|
|
510
|
+
for (let index = 0; index < value.length; index += 1) result[index] = cloneValue(value[index], reason);
|
|
511
|
+
return reason === "commit" || reason === "inverse" ? markStablePayload(Object.freeze(result)) : result;
|
|
512
|
+
}
|
|
513
|
+
if (isPlainObject(value)) {
|
|
514
|
+
profile.clone.container();
|
|
515
|
+
const result = Object.create(Object.getPrototypeOf(value));
|
|
516
|
+
for (const key in value) if (Object.prototype.hasOwnProperty.call(value, key)) result[key] = cloneValue(value[key], reason);
|
|
517
|
+
return reason === "commit" || reason === "inverse" ? markStablePayload(Object.freeze(result)) : result;
|
|
518
|
+
}
|
|
519
|
+
return value;
|
|
520
|
+
};
|
|
521
|
+
const ownPayload = (value, reason = "canonical") => Array.isArray(value) || isPlainObject(value) ? cloneValue(value, reason) : value;
|
|
522
|
+
const transferPayload = (value) => {
|
|
523
|
+
profile.batch.payloadTransferred();
|
|
524
|
+
return value;
|
|
525
|
+
};
|
|
526
|
+
const snapshotPayload = (value, reason = "commit") => (profile.batch.payloadSnapshot(), ownPayload(value, reason));
|
|
527
|
+
const operationOwnsStructuralPayload = (operation) => operation.type === "variant.replace" || operation.type === "dict.replace" || operation.type === "entity.create" || operation.type === "list.insert" || operation.type === "list.replace" || operation.type === "tree.replace";
|
|
528
|
+
const deepEqual = (left, right) => {
|
|
529
|
+
profile.clone.deepEqual();
|
|
530
|
+
if (Object.is(left, right)) return true;
|
|
531
|
+
if (Array.isArray(left) && Array.isArray(right)) {
|
|
532
|
+
profile.clone.deepEqualContainer();
|
|
533
|
+
if (left.length !== right.length) return false;
|
|
534
|
+
for (let index = 0; index < left.length; index += 1) if (!deepEqual(left[index], right[index])) return false;
|
|
535
|
+
return true;
|
|
536
|
+
}
|
|
537
|
+
if (isPlainObject(left) && isPlainObject(right)) {
|
|
538
|
+
profile.clone.deepEqualContainer();
|
|
539
|
+
const leftKeys = Object.keys(left);
|
|
540
|
+
if (leftKeys.length !== Object.keys(right).length) return false;
|
|
541
|
+
for (const key of leftKeys) if (!Object.prototype.hasOwnProperty.call(right, key) || !deepEqual(left[key], right[key])) return false;
|
|
542
|
+
return true;
|
|
543
|
+
}
|
|
544
|
+
return false;
|
|
545
|
+
};
|
|
546
|
+
const sameStructuralValue = (left, right) => Object.is(left, right) || (Array.isArray(left) || isPlainObject(left)) && deepEqual(left, right);
|
|
547
|
+
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
548
|
+
//#endregion
|
|
549
|
+
//#region core/src/access/reader.ts
|
|
550
|
+
const schemaRoot = (schema) => object(schema.shape);
|
|
551
|
+
const assertActive = (context) => {
|
|
552
|
+
if (!context.active()) throw new Error("Document reader is no longer active.");
|
|
553
|
+
};
|
|
554
|
+
const readAt = (context, address) => {
|
|
555
|
+
assertActive(context);
|
|
556
|
+
profile.reader.lookup();
|
|
557
|
+
return read(context.root(), address);
|
|
558
|
+
};
|
|
559
|
+
const collectValue = (context, address) => {
|
|
560
|
+
context.dependencies?.record({
|
|
561
|
+
kind: "value",
|
|
562
|
+
at: address
|
|
563
|
+
});
|
|
564
|
+
};
|
|
565
|
+
const collectCollection = (context, address, id) => {
|
|
566
|
+
const target = {
|
|
567
|
+
kind: "collection",
|
|
568
|
+
at: address,
|
|
569
|
+
...id === void 0 ? {} : { id }
|
|
570
|
+
};
|
|
571
|
+
context.dependencies?.record(target);
|
|
572
|
+
};
|
|
573
|
+
const readerFor = (node, context, address = []) => {
|
|
574
|
+
if (node.kind === "field") return { get: () => {
|
|
575
|
+
collectValue(context, address);
|
|
576
|
+
return readAt(context, address);
|
|
577
|
+
} };
|
|
578
|
+
if (node.kind === "dict" || node.kind === "record") return { get: () => {
|
|
579
|
+
collectValue(context, address);
|
|
580
|
+
profile.reader.structuralSnapshot();
|
|
581
|
+
return cloneValue(readAt(context, address), "reader");
|
|
582
|
+
} };
|
|
583
|
+
if (node.kind === "list") return {
|
|
584
|
+
values: () => {
|
|
585
|
+
collectValue(context, address);
|
|
586
|
+
const value = readAt(context, address);
|
|
587
|
+
profile.reader.structuralSnapshot();
|
|
588
|
+
return cloneValue(Array.isArray(value) ? value : [], "reader");
|
|
589
|
+
},
|
|
590
|
+
length: () => {
|
|
591
|
+
collectValue(context, address);
|
|
592
|
+
const value = readAt(context, address);
|
|
593
|
+
return Array.isArray(value) ? value.length : 0;
|
|
594
|
+
},
|
|
595
|
+
at: (index) => {
|
|
596
|
+
collectValue(context, address);
|
|
597
|
+
const value = readAt(context, address);
|
|
598
|
+
profile.reader.structuralSnapshot();
|
|
599
|
+
return cloneValue(Array.isArray(value) ? value[index] : void 0, "reader");
|
|
600
|
+
}
|
|
601
|
+
};
|
|
602
|
+
if (node.kind === "tree") return {
|
|
603
|
+
rootId: () => {
|
|
604
|
+
collectValue(context, address);
|
|
605
|
+
const value = readAt(context, address);
|
|
606
|
+
return isRecord(value) && typeof value.rootId === "string" ? value.rootId : void 0;
|
|
607
|
+
},
|
|
608
|
+
has: (id) => {
|
|
609
|
+
collectValue(context, address);
|
|
610
|
+
const value = readAt(context, address);
|
|
611
|
+
return isRecord(value) && isRecord(value.nodes) && Object.prototype.hasOwnProperty.call(value.nodes, id);
|
|
612
|
+
},
|
|
613
|
+
value: (id) => {
|
|
614
|
+
collectValue(context, address);
|
|
615
|
+
const value = readAt(context, address);
|
|
616
|
+
profile.reader.structuralSnapshot();
|
|
617
|
+
return cloneValue(isRecord(value) && isRecord(value.nodes) && isRecord(value.nodes[id]) ? value.nodes[id].value : void 0, "reader");
|
|
618
|
+
},
|
|
619
|
+
parent: (id) => {
|
|
620
|
+
collectValue(context, address);
|
|
621
|
+
const value = readAt(context, address);
|
|
622
|
+
const entry = isRecord(value) && isRecord(value.nodes) ? value.nodes[id] : void 0;
|
|
623
|
+
return isRecord(entry) && typeof entry.parentId === "string" ? entry.parentId : void 0;
|
|
624
|
+
},
|
|
625
|
+
children: (id) => {
|
|
626
|
+
collectValue(context, address);
|
|
627
|
+
const value = readAt(context, address);
|
|
628
|
+
const entry = isRecord(value) && isRecord(value.nodes) ? value.nodes[id] : void 0;
|
|
629
|
+
return isRecord(entry) && Array.isArray(entry.children) ? [...entry.children] : [];
|
|
630
|
+
}
|
|
631
|
+
};
|
|
632
|
+
if (node.kind === "table" || node.kind === "map") {
|
|
633
|
+
let items;
|
|
634
|
+
return {
|
|
635
|
+
ids: () => {
|
|
636
|
+
collectCollection(context, address);
|
|
637
|
+
const value = readAt(context, address);
|
|
638
|
+
const ids = node.kind === "table" && isRecord(value) && Array.isArray(value.ids) ? [...value.ids] : isRecord(value) ? Object.keys(value) : [];
|
|
639
|
+
profile.reader.collectionIds(ids.length);
|
|
640
|
+
return ids;
|
|
641
|
+
},
|
|
642
|
+
has: (id) => {
|
|
643
|
+
collectCollection(context, address, id);
|
|
644
|
+
const value = readAt(context, address);
|
|
645
|
+
const byId = node.kind === "table" && isRecord(value) && isRecord(value.byId) ? value.byId : value;
|
|
646
|
+
return isRecord(byId) && Object.prototype.hasOwnProperty.call(byId, id);
|
|
647
|
+
},
|
|
648
|
+
get: (id) => {
|
|
649
|
+
collectCollection(context, address, id);
|
|
650
|
+
const value = readAt(context, address);
|
|
651
|
+
const byId = node.kind === "table" && isRecord(value) && isRecord(value.byId) ? value.byId : value;
|
|
652
|
+
if (!isRecord(byId) || !Object.prototype.hasOwnProperty.call(byId, id)) return void 0;
|
|
653
|
+
const cached = items?.get(id);
|
|
654
|
+
if (cached) return cached;
|
|
655
|
+
const reader = readerFor(node.value, context, [...address, id]);
|
|
656
|
+
(items ??= /* @__PURE__ */ new Map()).set(id, reader);
|
|
657
|
+
return reader;
|
|
658
|
+
}
|
|
659
|
+
};
|
|
660
|
+
}
|
|
661
|
+
if (node.kind === "single") return readerFor(node.value, context, address);
|
|
662
|
+
if (node.kind === "variant") return new Proxy({}, { get: (_target, property) => {
|
|
663
|
+
if (typeof property === "symbol") return void 0;
|
|
664
|
+
const value = readAt(context, address);
|
|
665
|
+
const tag = isRecord(value) && typeof value[node.tag] === "string" ? String(value[node.tag]) : void 0;
|
|
666
|
+
const child = (tag ? node.variants[tag] : void 0)?.shape[property];
|
|
667
|
+
return child ? readerFor(child, context, [...address, property]) : void 0;
|
|
668
|
+
} });
|
|
669
|
+
let children;
|
|
670
|
+
return new Proxy({}, { get: (_target, property) => {
|
|
671
|
+
if (typeof property === "symbol") return void 0;
|
|
672
|
+
const child = node.shape[property];
|
|
673
|
+
if (!child) return void 0;
|
|
674
|
+
const cached = children?.get(property);
|
|
675
|
+
if (cached) return cached;
|
|
676
|
+
const reader = readerFor(child, context, [...address, property]);
|
|
677
|
+
(children ??= /* @__PURE__ */ new Map()).set(property, reader);
|
|
678
|
+
return reader;
|
|
679
|
+
} });
|
|
680
|
+
};
|
|
681
|
+
const documentReader = (schema, root, active, dependencies) => {
|
|
682
|
+
profile.reader.session();
|
|
683
|
+
return readerFor(schemaRoot(schema), {
|
|
684
|
+
root,
|
|
685
|
+
active,
|
|
686
|
+
dependencies
|
|
687
|
+
});
|
|
688
|
+
};
|
|
689
|
+
//#endregion
|
|
690
|
+
//#region core/src/runtime/contract.ts
|
|
691
|
+
var DocumentReentrancyError = class extends Error {
|
|
692
|
+
constructor() {
|
|
693
|
+
super("Document writes cannot be re-entered during an update or notification.");
|
|
694
|
+
this.name = "DocumentReentrancyError";
|
|
695
|
+
}
|
|
696
|
+
};
|
|
697
|
+
var DocumentDisposedError = class extends Error {
|
|
698
|
+
constructor() {
|
|
699
|
+
super("Doxum runtime has been disposed.");
|
|
700
|
+
this.name = "DocumentDisposedError";
|
|
701
|
+
}
|
|
702
|
+
};
|
|
703
|
+
//#endregion
|
|
704
|
+
//#region core/src/runtime/access.ts
|
|
705
|
+
const states = /* @__PURE__ */ new WeakMap();
|
|
706
|
+
const bindRuntimeAccess = (runtime, state) => {
|
|
707
|
+
states.set(runtime, state);
|
|
708
|
+
};
|
|
709
|
+
const accessOf = (runtime) => {
|
|
710
|
+
const state = states.get(runtime);
|
|
711
|
+
if (!state) throw new Error("Unknown Doxum runtime.");
|
|
712
|
+
return state;
|
|
713
|
+
};
|
|
714
|
+
const schemaOf = (runtime) => accessOf(runtime).schema;
|
|
715
|
+
const documentOf = (runtime) => accessOf(runtime).document;
|
|
716
|
+
const readWith = (runtime, run, dependencies) => {
|
|
717
|
+
const state = accessOf(runtime);
|
|
718
|
+
if (state.disposed) throw new DocumentDisposedError();
|
|
719
|
+
let active = true;
|
|
720
|
+
const reader = documentReader(state.schema, () => state.document, () => active, dependencies);
|
|
721
|
+
try {
|
|
722
|
+
return run(reader);
|
|
723
|
+
} finally {
|
|
724
|
+
active = false;
|
|
725
|
+
}
|
|
726
|
+
};
|
|
727
|
+
//#endregion
|
|
728
|
+
//#region core/src/access/dependency.ts
|
|
729
|
+
const createDependencyTracker = () => {
|
|
730
|
+
const targets = [];
|
|
731
|
+
return {
|
|
732
|
+
record: (value) => {
|
|
733
|
+
if (!targets.some((entry) => same(entry, value))) targets.push(value);
|
|
734
|
+
},
|
|
735
|
+
clear: () => {
|
|
736
|
+
targets.length = 0;
|
|
737
|
+
},
|
|
738
|
+
size: () => targets.length,
|
|
739
|
+
some: (test) => targets.some(test),
|
|
740
|
+
snapshot: () => Object.freeze(targets.slice())
|
|
741
|
+
};
|
|
742
|
+
};
|
|
743
|
+
//#endregion
|
|
744
|
+
Object.defineProperty(exports, "DocumentDisposedError", {
|
|
745
|
+
enumerable: true,
|
|
746
|
+
get: function() {
|
|
747
|
+
return DocumentDisposedError;
|
|
748
|
+
}
|
|
749
|
+
});
|
|
750
|
+
Object.defineProperty(exports, "DocumentReentrancyError", {
|
|
751
|
+
enumerable: true,
|
|
752
|
+
get: function() {
|
|
753
|
+
return DocumentReentrancyError;
|
|
754
|
+
}
|
|
755
|
+
});
|
|
756
|
+
Object.defineProperty(exports, "address", {
|
|
757
|
+
enumerable: true,
|
|
758
|
+
get: function() {
|
|
759
|
+
return address;
|
|
760
|
+
}
|
|
761
|
+
});
|
|
762
|
+
Object.defineProperty(exports, "belongs", {
|
|
763
|
+
enumerable: true,
|
|
764
|
+
get: function() {
|
|
765
|
+
return belongs;
|
|
766
|
+
}
|
|
767
|
+
});
|
|
768
|
+
Object.defineProperty(exports, "bindRuntimeAccess", {
|
|
769
|
+
enumerable: true,
|
|
770
|
+
get: function() {
|
|
771
|
+
return bindRuntimeAccess;
|
|
772
|
+
}
|
|
773
|
+
});
|
|
774
|
+
Object.defineProperty(exports, "bucket", {
|
|
775
|
+
enumerable: true,
|
|
776
|
+
get: function() {
|
|
777
|
+
return bucket;
|
|
778
|
+
}
|
|
779
|
+
});
|
|
780
|
+
Object.defineProperty(exports, "cloneValue", {
|
|
781
|
+
enumerable: true,
|
|
782
|
+
get: function() {
|
|
783
|
+
return cloneValue;
|
|
784
|
+
}
|
|
785
|
+
});
|
|
786
|
+
Object.defineProperty(exports, "contains", {
|
|
787
|
+
enumerable: true,
|
|
788
|
+
get: function() {
|
|
789
|
+
return contains;
|
|
790
|
+
}
|
|
791
|
+
});
|
|
792
|
+
Object.defineProperty(exports, "createDependencyTracker", {
|
|
793
|
+
enumerable: true,
|
|
794
|
+
get: function() {
|
|
795
|
+
return createDependencyTracker;
|
|
796
|
+
}
|
|
797
|
+
});
|
|
798
|
+
Object.defineProperty(exports, "debugKey", {
|
|
799
|
+
enumerable: true,
|
|
800
|
+
get: function() {
|
|
801
|
+
return debugKey;
|
|
802
|
+
}
|
|
803
|
+
});
|
|
804
|
+
Object.defineProperty(exports, "deepEqual", {
|
|
805
|
+
enumerable: true,
|
|
806
|
+
get: function() {
|
|
807
|
+
return deepEqual;
|
|
808
|
+
}
|
|
809
|
+
});
|
|
810
|
+
Object.defineProperty(exports, "dict", {
|
|
811
|
+
enumerable: true,
|
|
812
|
+
get: function() {
|
|
813
|
+
return dict;
|
|
814
|
+
}
|
|
815
|
+
});
|
|
816
|
+
Object.defineProperty(exports, "documentOf", {
|
|
817
|
+
enumerable: true,
|
|
818
|
+
get: function() {
|
|
819
|
+
return documentOf;
|
|
820
|
+
}
|
|
821
|
+
});
|
|
822
|
+
Object.defineProperty(exports, "documentReader", {
|
|
823
|
+
enumerable: true,
|
|
824
|
+
get: function() {
|
|
825
|
+
return documentReader;
|
|
826
|
+
}
|
|
827
|
+
});
|
|
828
|
+
Object.defineProperty(exports, "field", {
|
|
829
|
+
enumerable: true,
|
|
830
|
+
get: function() {
|
|
831
|
+
return field;
|
|
832
|
+
}
|
|
833
|
+
});
|
|
834
|
+
Object.defineProperty(exports, "id", {
|
|
835
|
+
enumerable: true,
|
|
836
|
+
get: function() {
|
|
837
|
+
return id;
|
|
838
|
+
}
|
|
839
|
+
});
|
|
840
|
+
Object.defineProperty(exports, "impact_target_exports", {
|
|
841
|
+
enumerable: true,
|
|
842
|
+
get: function() {
|
|
843
|
+
return impact_target_exports;
|
|
844
|
+
}
|
|
845
|
+
});
|
|
846
|
+
Object.defineProperty(exports, "isRecord", {
|
|
847
|
+
enumerable: true,
|
|
848
|
+
get: function() {
|
|
849
|
+
return isRecord;
|
|
850
|
+
}
|
|
851
|
+
});
|
|
852
|
+
Object.defineProperty(exports, "isStablePayload", {
|
|
853
|
+
enumerable: true,
|
|
854
|
+
get: function() {
|
|
855
|
+
return isStablePayload;
|
|
856
|
+
}
|
|
857
|
+
});
|
|
858
|
+
Object.defineProperty(exports, "list", {
|
|
859
|
+
enumerable: true,
|
|
860
|
+
get: function() {
|
|
861
|
+
return list;
|
|
862
|
+
}
|
|
863
|
+
});
|
|
864
|
+
Object.defineProperty(exports, "locate", {
|
|
865
|
+
enumerable: true,
|
|
866
|
+
get: function() {
|
|
867
|
+
return locate;
|
|
868
|
+
}
|
|
869
|
+
});
|
|
870
|
+
Object.defineProperty(exports, "map", {
|
|
871
|
+
enumerable: true,
|
|
872
|
+
get: function() {
|
|
873
|
+
return map;
|
|
874
|
+
}
|
|
875
|
+
});
|
|
876
|
+
Object.defineProperty(exports, "nodeAt", {
|
|
877
|
+
enumerable: true,
|
|
878
|
+
get: function() {
|
|
879
|
+
return nodeAt;
|
|
880
|
+
}
|
|
881
|
+
});
|
|
882
|
+
Object.defineProperty(exports, "object", {
|
|
883
|
+
enumerable: true,
|
|
884
|
+
get: function() {
|
|
885
|
+
return object;
|
|
886
|
+
}
|
|
887
|
+
});
|
|
888
|
+
Object.defineProperty(exports, "operationOwnsStructuralPayload", {
|
|
889
|
+
enumerable: true,
|
|
890
|
+
get: function() {
|
|
891
|
+
return operationOwnsStructuralPayload;
|
|
892
|
+
}
|
|
893
|
+
});
|
|
894
|
+
Object.defineProperty(exports, "optional", {
|
|
895
|
+
enumerable: true,
|
|
896
|
+
get: function() {
|
|
897
|
+
return optional;
|
|
898
|
+
}
|
|
899
|
+
});
|
|
900
|
+
Object.defineProperty(exports, "overlaps", {
|
|
901
|
+
enumerable: true,
|
|
902
|
+
get: function() {
|
|
903
|
+
return overlaps;
|
|
904
|
+
}
|
|
905
|
+
});
|
|
906
|
+
Object.defineProperty(exports, "ownPayload", {
|
|
907
|
+
enumerable: true,
|
|
908
|
+
get: function() {
|
|
909
|
+
return ownPayload;
|
|
910
|
+
}
|
|
911
|
+
});
|
|
912
|
+
Object.defineProperty(exports, "profile", {
|
|
913
|
+
enumerable: true,
|
|
914
|
+
get: function() {
|
|
915
|
+
return profile;
|
|
916
|
+
}
|
|
917
|
+
});
|
|
918
|
+
Object.defineProperty(exports, "read", {
|
|
919
|
+
enumerable: true,
|
|
920
|
+
get: function() {
|
|
921
|
+
return read;
|
|
922
|
+
}
|
|
923
|
+
});
|
|
924
|
+
Object.defineProperty(exports, "readWith", {
|
|
925
|
+
enumerable: true,
|
|
926
|
+
get: function() {
|
|
927
|
+
return readWith;
|
|
928
|
+
}
|
|
929
|
+
});
|
|
930
|
+
Object.defineProperty(exports, "readerFor", {
|
|
931
|
+
enumerable: true,
|
|
932
|
+
get: function() {
|
|
933
|
+
return readerFor;
|
|
934
|
+
}
|
|
935
|
+
});
|
|
936
|
+
Object.defineProperty(exports, "record", {
|
|
937
|
+
enumerable: true,
|
|
938
|
+
get: function() {
|
|
939
|
+
return record;
|
|
940
|
+
}
|
|
941
|
+
});
|
|
942
|
+
Object.defineProperty(exports, "resolveAddress", {
|
|
943
|
+
enumerable: true,
|
|
944
|
+
get: function() {
|
|
945
|
+
return resolveAddress;
|
|
946
|
+
}
|
|
947
|
+
});
|
|
948
|
+
Object.defineProperty(exports, "resolveLocated", {
|
|
949
|
+
enumerable: true,
|
|
950
|
+
get: function() {
|
|
951
|
+
return resolveLocated;
|
|
952
|
+
}
|
|
953
|
+
});
|
|
954
|
+
Object.defineProperty(exports, "sameStructuralValue", {
|
|
955
|
+
enumerable: true,
|
|
956
|
+
get: function() {
|
|
957
|
+
return sameStructuralValue;
|
|
958
|
+
}
|
|
959
|
+
});
|
|
960
|
+
Object.defineProperty(exports, "schema", {
|
|
961
|
+
enumerable: true,
|
|
962
|
+
get: function() {
|
|
963
|
+
return schema;
|
|
964
|
+
}
|
|
965
|
+
});
|
|
966
|
+
Object.defineProperty(exports, "schemaOf", {
|
|
967
|
+
enumerable: true,
|
|
968
|
+
get: function() {
|
|
969
|
+
return schemaOf;
|
|
970
|
+
}
|
|
971
|
+
});
|
|
972
|
+
Object.defineProperty(exports, "set", {
|
|
973
|
+
enumerable: true,
|
|
974
|
+
get: function() {
|
|
975
|
+
return set;
|
|
976
|
+
}
|
|
977
|
+
});
|
|
978
|
+
Object.defineProperty(exports, "single", {
|
|
979
|
+
enumerable: true,
|
|
980
|
+
get: function() {
|
|
981
|
+
return single;
|
|
982
|
+
}
|
|
983
|
+
});
|
|
984
|
+
Object.defineProperty(exports, "snapshotPayload", {
|
|
985
|
+
enumerable: true,
|
|
986
|
+
get: function() {
|
|
987
|
+
return snapshotPayload;
|
|
988
|
+
}
|
|
989
|
+
});
|
|
990
|
+
Object.defineProperty(exports, "table", {
|
|
991
|
+
enumerable: true,
|
|
992
|
+
get: function() {
|
|
993
|
+
return table;
|
|
994
|
+
}
|
|
995
|
+
});
|
|
996
|
+
Object.defineProperty(exports, "transferPayload", {
|
|
997
|
+
enumerable: true,
|
|
998
|
+
get: function() {
|
|
999
|
+
return transferPayload;
|
|
1000
|
+
}
|
|
1001
|
+
});
|
|
1002
|
+
Object.defineProperty(exports, "tree", {
|
|
1003
|
+
enumerable: true,
|
|
1004
|
+
get: function() {
|
|
1005
|
+
return tree;
|
|
1006
|
+
}
|
|
1007
|
+
});
|
|
1008
|
+
Object.defineProperty(exports, "variant", {
|
|
1009
|
+
enumerable: true,
|
|
1010
|
+
get: function() {
|
|
1011
|
+
return variant;
|
|
1012
|
+
}
|
|
1013
|
+
});
|
|
1014
|
+
|
|
1015
|
+
//# sourceMappingURL=dependency-DLcCvNKq.cjs.map
|