@voltro/runtime 0.86.0 → 0.88.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/CHANGELOG.md +5484 -0
- package/README.md +43 -0
- package/THIRD-PARTY-NOTICES.md +1511 -276
- package/dist/aggregate.js +1 -2
- package/dist/aggregateExtrema.js +1 -2
- package/dist/aggregateIvm.js +1 -2
- package/dist/analyticsMirror.js +1 -2
- package/dist/analyticsSink.js +9 -16
- package/dist/apiKeyUsage.js +1 -2
- package/dist/apiKeys.js +83 -80
- package/dist/apiKeysWiring.js +1 -2
- package/dist/apiRoleBucketSampler.js +63 -0
- package/dist/apiRoleWorkloadHistory.js +55 -0
- package/dist/apiRoleWorkloadMetrics.js +77 -0
- package/dist/apiRoleWorkloadStorage.js +94 -0
- package/dist/approvalBuiltins.js +1 -2
- package/dist/approvals.js +68 -76
- package/dist/authMiddlewareLayer.js +8 -8
- package/dist/bindEvent.js +49 -30
- package/dist/boot-refusal.d.ts +10 -0
- package/dist/{bootRefusal.js → boot-refusal.js} +1 -2
- package/dist/bootListener.js +203 -47
- package/dist/bootStoreCodec.js +39 -39
- package/dist/businessRules.js +1 -2
- package/dist/changeClaimsTable.js +1 -2
- package/dist/circuitBreaker.js +1 -72
- package/dist/columnOnUpdate.js +1 -2
- package/dist/composeAnalytics.js +32 -12
- package/dist/computedQuery.js +1 -2
- package/dist/computedQueryCache.js +289 -0
- package/dist/connectionBuiltins.js +1 -2
- package/dist/connectionCredentials.js +1 -2
- package/dist/connectionState.js +1 -2
- package/dist/connectionVault.js +1 -2
- package/dist/connectionsFacade.js +33 -32
- package/dist/coordinatedSchedule.js +85 -80
- package/dist/crdtHistory.js +1 -2
- package/dist/crdtMerge.js +1 -2
- package/dist/crdtVersionsTable.js +1 -2
- package/dist/credentialBound.js +1 -2
- package/dist/crud.js +1 -2
- package/dist/dataStore.js +155 -123
- package/dist/dataloader.js +1 -2
- package/dist/declaredTablesGuard.js +3 -3
- package/dist/defineExecutor.js +1 -2
- package/dist/dependencyGraph.js +1 -2
- package/dist/devices.js +1 -2
- package/dist/devicesWiring.js +1 -2
- package/dist/dialectReplicationAdapter.js +1 -2
- package/dist/dispatcher.js +404 -330
- package/dist/effectStore.js +3 -4
- package/dist/engineClients.js +23 -0
- package/dist/eventBus.js +1 -2
- package/dist/eventPublish.js +1 -2
- package/dist/events.js +1 -2
- package/dist/expectation.js +1 -2
- package/dist/expectationEvaluator.js +2 -3
- package/dist/experiment.js +1 -2
- package/dist/experimentEvaluator.js +1 -2
- package/dist/externalizedTasks.js +20 -8
- package/dist/fieldCipher.js +110 -42
- package/dist/fieldKeyRegistry.js +294 -0
- package/dist/fieldKeyRekey.js +285 -0
- package/dist/fieldKeyScan.js +135 -0
- package/dist/fieldKeyring.js +76 -0
- package/dist/fingerprint.js +1 -2
- package/dist/finops.js +1 -2
- package/dist/finopsAccountant.js +1 -2
- package/dist/handlerBody.js +1 -2
- package/dist/healthProbes.js +1 -2
- package/dist/hot.d.ts +56 -0
- package/dist/hot.js +3 -0
- package/dist/hotDataStore.js +147 -0
- package/dist/hotDataStoreSnapshot.js +97 -0
- package/dist/hotDataStoreTables.js +17 -0
- package/dist/http-range.d.ts +53 -0
- package/dist/http-range.js +51 -0
- package/dist/httpClientSsrf.js +13 -39
- package/dist/httpClientTracing.js +13 -11
- package/dist/httpCompression.js +18 -19
- package/dist/httpInputStream.js +81 -0
- package/dist/httpKeepAlive.js +1 -2
- package/dist/httpRouteMounts.js +2 -2
- package/dist/idempotencyStore.js +93 -54
- package/dist/idleDetector.js +1 -2
- package/dist/index.d.ts +1185 -452
- package/dist/index.js +144 -134
- package/dist/insertRequiredColumns.js +1 -2
- package/dist/instanceMembership.js +1 -2
- package/dist/ivm.js +1 -2
- package/dist/kvDataStore.js +1 -2
- package/dist/kvFacade.js +24 -19
- package/dist/matcher.js +1 -2
- package/dist/memoryColumnDefaults.js +1 -2
- package/dist/memoryQueryJoins.js +17 -18
- package/dist/memorySetOperations.js +42 -0
- package/dist/metrics.js +39 -26
- package/dist/observability.js +2 -3
- package/dist/observedGraph.js +1 -2
- package/dist/originGuard.js +1 -2
- package/dist/outbox.js +2 -3
- package/dist/pluginRefRules.js +1 -2
- package/dist/policyGuardResolver.js +1 -2
- package/dist/preview.js +1 -2
- package/dist/projectedRows.js +1 -2
- package/dist/provenance.js +1 -2
- package/dist/rangeIndex.js +1 -2
- package/dist/rawReadScope.js +2 -3
- package/dist/reaction.js +1 -2
- package/dist/reactiveConfig.js +1 -2
- package/dist/readClassification.js +1 -2
- package/dist/readRecorder.js +36 -36
- package/dist/readScopePredicate.js +11 -0
- package/dist/rebac.js +1 -2
- package/dist/rebacInterceptor.js +1 -2
- package/dist/registry.js +1 -2
- package/dist/relevantFields.js +1 -2
- package/dist/replicaHealth.js +1 -2
- package/dist/replicaLocality.js +1 -2
- package/dist/replicaObservations.js +1 -2
- package/dist/replicaSelection.js +1 -2
- package/dist/replicatedDataStore.js +23 -6
- package/dist/requestLoader.js +1 -2
- package/dist/resumeCensus.js +1 -2
- package/dist/revalidation.js +1 -2
- package/dist/rowFilter.js +57 -41
- package/dist/rowStateBytes.js +1 -2
- package/dist/rpcBodyCap.js +1 -2
- package/dist/rpcConnections.js +9 -10
- package/dist/rpcDefectDiagnostics.js +1 -2
- package/dist/rpcServer.js +523 -451
- package/dist/rpcWorkloadAdmission.js +49 -0
- package/dist/runAsSystem.js +1 -2
- package/dist/rywPositionStore.js +83 -49
- package/dist/schedule.js +1 -2
- package/dist/scheduleBackfillRequests.js +1 -2
- package/dist/scheduleClaimsTable.js +1 -2
- package/dist/scheduleRunsTable.js +1 -2
- package/dist/scheduler.js +7 -3
- package/dist/schemaRegistry.js +1 -2
- package/dist/secretsResolver.js +1 -2
- package/dist/securityHeaders.js +1 -2
- package/dist/servePipeline.js +238 -154
- package/dist/serverOnlyAudit.js +1 -2
- package/dist/serverTracer.js +1 -2
- package/dist/serviceCredentials.js +1 -2
- package/dist/setReadScopes.js +27 -0
- package/dist/singleNodeOrchestrator.js +1 -2
- package/dist/snapshotValueCodec.js +45 -0
- package/dist/sourceResolution.js +35 -26
- package/dist/storeMiddleware.js +213 -212
- package/dist/storeQuery.js +1 -2
- package/dist/storeRead.js +1 -2
- package/dist/subscriber.js +2 -2
- package/dist/subscriptionOutbox.js +1 -2
- package/dist/subscriptionRegistry.js +1 -2
- package/dist/subscriptionResume.js +1 -2
- package/dist/subscriptionSocketMetrics.js +1 -2
- package/dist/systemSubject.js +1 -2
- package/dist/tenantScope.js +9 -22
- package/dist/tenantSelection.js +1 -2
- package/dist/timeline.js +1 -2
- package/dist/traceContext.js +1 -2
- package/dist/traceSink.js +1 -2
- package/dist/traceSpansTable.js +1 -2
- package/dist/traceparent.js +9 -21
- package/dist/transactionSubject.js +1 -2
- package/dist/trustedProxy.js +2 -3
- package/dist/undo.js +1 -2
- package/dist/undoBuiltins.js +1 -2
- package/dist/undoCapture.js +1 -2
- package/dist/undoLogTable.js +1 -2
- package/dist/upsertBinding.js +1 -2
- package/dist/wakeOrchestrator.js +1 -2
- package/dist/wakeRegistry.js +1 -2
- package/dist/wakeRouter.js +1 -2
- package/dist/wakeSupervisor.js +1 -2
- package/dist/wakeupsTable.js +1 -2
- package/dist/webSocketGatewayRuntime.js +112 -73
- package/dist/webhookVerification.js +1 -2
- package/dist/wireColumnStrip.js +1 -2
- package/dist/workflowReadBuiltins.js +1 -2
- package/dist/workflowRuntime.js +10 -11
- package/package.json +36 -17
package/dist/dataStore.js
CHANGED
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
import { memoryQueryJoins as e } from "./memoryQueryJoins.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
import { memoryOutputColumns as t, memoryRowKey as n, memorySetRows as r } from "./memorySetOperations.js";
|
|
3
|
+
import { applyMemoryColumnDefaults as i } from "./memoryColumnDefaults.js";
|
|
4
|
+
import { Effect as a } from "effect";
|
|
5
|
+
import { applyJsonPatch as o, attachEagerLoads as s, attributionFields as c, collectSubqueries as l, compareDecimal as u, emitCommittedChanges as d, evaluatePredicate as f, externalChangeEvent as p, getTable as m, hasEagerLoads as h, isTableReactive as g, jsonPatchAssignments as _, preparePredicate as v, raiseChangeListenerCeiling as y, requireTable as b, rowKeyColumns as x, settleTransactionExit as S, stampGeneratedId as C, transactionRetrySchedule as w, upsertUpdatePatch as T, upsertUpdateValues as E } from "@voltro/database";
|
|
6
|
+
import { EventEmitter as D } from "node:events";
|
|
7
|
+
// src/dataStore.ts
|
|
8
|
+
var O = (e, t, n, r = m(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) => {
|
|
8
9
|
for (let i of t) {
|
|
9
10
|
let t = e[i.column], a = n[i.column];
|
|
10
11
|
if (t === a || t instanceof Date && a instanceof Date && t.getTime() === a.getTime()) continue;
|
|
11
12
|
if (t == null) return i.direction === "asc" ? -1 : 1;
|
|
12
13
|
if (a == null) return i.direction === "asc" ? 1 : -1;
|
|
13
|
-
let o = r?.[i.column]?.type === "decimal" ?
|
|
14
|
+
let o = r?.[i.column]?.type === "decimal" ? u(t, a) ?? 0 : t < a ? -1 : 1;
|
|
14
15
|
if (o !== 0) return i.direction === "asc" ? o : -o;
|
|
15
16
|
}
|
|
16
17
|
return 0;
|
|
17
|
-
}),
|
|
18
|
+
}), k = (e, t, n, r) => !e || f(e, t, n, r ? m(r)?.fields : void 0), A = (e, t) => {
|
|
18
19
|
let n = /* @__PURE__ */ new Map();
|
|
19
20
|
if (!e) return n;
|
|
20
|
-
for (let r of
|
|
21
|
-
let e = t.get(r.descriptor.table) ?? /* @__PURE__ */ new Map(), i =
|
|
21
|
+
for (let r of l(e)) {
|
|
22
|
+
let e = t.get(r.descriptor.table) ?? /* @__PURE__ */ new Map(), i = A(r.descriptor.predicate, t), a = I(r.descriptor, e, t, i);
|
|
22
23
|
if (r.kind === "exists") n.set(r.descriptor, a.length);
|
|
23
24
|
else {
|
|
24
25
|
let e = r.descriptor.projection, t = /* @__PURE__ */ new Set();
|
|
@@ -33,12 +34,12 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
return n;
|
|
36
|
-
},
|
|
37
|
+
}, j = {
|
|
37
38
|
A: 4,
|
|
38
39
|
B: 2,
|
|
39
40
|
C: 1,
|
|
40
41
|
D: .5
|
|
41
|
-
},
|
|
42
|
+
}, M = (e) => (typeof e == "string" ? e : e == null ? "" : JSON.stringify(e)).toLowerCase().match(/[\p{L}\p{N}]+/gu) ?? [], N = (e) => {
|
|
42
43
|
let t = {
|
|
43
44
|
children: /* @__PURE__ */ new Map(),
|
|
44
45
|
terms: []
|
|
@@ -55,23 +56,23 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
55
56
|
r.terms.push(n);
|
|
56
57
|
}
|
|
57
58
|
return t;
|
|
58
|
-
},
|
|
59
|
+
}, P = (e, t, n) => {
|
|
59
60
|
let r = Array(n).fill(0);
|
|
60
61
|
for (let n of t) {
|
|
61
62
|
let t = e;
|
|
62
63
|
for (let e = 0; e < n.length && (t = t.children.get(n[e]), t !== void 0); e++) for (let e of t.terms) r[e] = r[e] + 1;
|
|
63
64
|
}
|
|
64
65
|
return r;
|
|
65
|
-
},
|
|
66
|
-
let n =
|
|
66
|
+
}, F = (e, t) => {
|
|
67
|
+
let n = M(t.query);
|
|
67
68
|
if (n.length === 0) return [];
|
|
68
69
|
let r = [], i;
|
|
69
70
|
for (let a of e) {
|
|
70
71
|
let e = 0, o = /* @__PURE__ */ new Set();
|
|
71
72
|
for (let r of t.columns) {
|
|
72
|
-
let s =
|
|
73
|
-
i === void 0 && n.length >= 16 && s.length >= 512 && (i =
|
|
74
|
-
let l = i === void 0 ? void 0 :
|
|
73
|
+
let s = M(a[r]), c = j[t.weights?.[r] ?? ""] ?? 1;
|
|
74
|
+
i === void 0 && n.length >= 16 && s.length >= 512 && (i = N(n));
|
|
75
|
+
let l = i === void 0 ? void 0 : P(i, s, n.length);
|
|
75
76
|
for (let t = 0; t < n.length; t++) {
|
|
76
77
|
let r = n[t], i = l?.[t];
|
|
77
78
|
if (i === void 0) {
|
|
@@ -87,24 +88,33 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
87
88
|
});
|
|
88
89
|
}
|
|
89
90
|
return r;
|
|
90
|
-
},
|
|
91
|
-
let
|
|
92
|
-
if (
|
|
93
|
-
let e =
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
});
|
|
107
|
-
|
|
91
|
+
}, I = (i, a, o = /* @__PURE__ */ new Map(), s = null) => {
|
|
92
|
+
for (let e of [i.take, i.skip]) if (e !== void 0 && (!Number.isSafeInteger(e) || e < 0)) throw Error("Query limit and offset must be non-negative safe integers");
|
|
93
|
+
if (i.setOp && i.setOp.queries.length >= 2) {
|
|
94
|
+
let e = r(i, (e) => I(e, o.get(e.table) ?? /* @__PURE__ */ new Map(), o)), n = O(e, i.order, i.table, t(i, e)), a = i.skip === void 0 ? n : n.slice(i.skip);
|
|
95
|
+
return i.take === void 0 ? a : a.slice(0, i.take);
|
|
96
|
+
}
|
|
97
|
+
let c = s ?? A(i.predicate, o), l = i.alias !== void 0 || (i.joins?.length ?? 0) > 0 || i.joinedProjection !== void 0 ? e(i, [...a.values()], o, (e) => A(e, o)) : void 0, u = i.predicate === void 0 ? void 0 : v(i.predicate, c, l?.columns ?? m(i.table)?.fields), d = l?.rows ?? [...a.values()], f = u === void 0 ? d : d.filter((e) => u(e) ?? !0);
|
|
98
|
+
if (i.aggregations && i.aggregations.length > 0) {
|
|
99
|
+
let e = L(f, i.aggregations, i.groupBy, i.table, l?.columns);
|
|
100
|
+
if (!i.having) return e;
|
|
101
|
+
let t = A(i.having, o);
|
|
102
|
+
return e.filter((e) => k(i.having, e, t));
|
|
103
|
+
}
|
|
104
|
+
let p = O(i.fullTextSearch === void 0 ? f : F(f, i.fullTextSearch), i.order.map((e) => ({
|
|
105
|
+
...e,
|
|
106
|
+
column: i.joinedProjection?.find((t) => t.outputKey === e.column)?.source ?? e.column
|
|
107
|
+
})), i.table, l?.columns), h = i.fullTextSearch?.rank, g = h?.order === !0 ? p.sort((e, t) => Number(t[h.alias] ?? 0) - Number(e[h.alias] ?? 0)) : p, _ = l?.project ?? (i.projection ? (e) => Object.fromEntries(i.projection.map((t) => [t, e[t]])) : (e) => e), y = g;
|
|
108
|
+
if (i.distinct) {
|
|
109
|
+
let e = t(i, g), r = Object.keys(e), a = /* @__PURE__ */ new Set();
|
|
110
|
+
y = g.filter((t) => {
|
|
111
|
+
let i = n(_(t), r, e);
|
|
112
|
+
return !a.has(i) && (a.add(i), !0);
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
let b = i.skip ? y.slice(i.skip) : y;
|
|
116
|
+
return (i.take === void 0 ? b : b.slice(0, i.take)).map(_);
|
|
117
|
+
}, L = (e, t, n, r, i = m(r)?.fields) => {
|
|
108
118
|
let a = /* @__PURE__ */ new Map();
|
|
109
119
|
for (let t of e) {
|
|
110
120
|
let e = {};
|
|
@@ -122,22 +132,32 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
122
132
|
let o = [];
|
|
123
133
|
for (let e of a.values()) {
|
|
124
134
|
let n = { ...e.keyVals };
|
|
125
|
-
for (let r of t) n[r.alias] =
|
|
135
|
+
for (let r of t) n[r.alias] = B(r, e.rows, r.column === void 0 ? void 0 : i?.[r.column]?.type, r.column === void 0 ? void 0 : i?.[r.column]?.scale);
|
|
126
136
|
o.push(n);
|
|
127
137
|
}
|
|
128
138
|
return o;
|
|
129
|
-
},
|
|
139
|
+
}, R = /^-?\d+$/, z = (e, t) => {
|
|
130
140
|
let n = !1;
|
|
131
141
|
for (let r of e) {
|
|
132
142
|
let e = r[t];
|
|
133
143
|
if (e != null) {
|
|
134
|
-
if (typeof e != "string" || !
|
|
144
|
+
if (typeof e != "string" || !R.test(e)) return !1;
|
|
135
145
|
n = !0;
|
|
136
146
|
}
|
|
137
147
|
}
|
|
138
148
|
return n;
|
|
139
|
-
},
|
|
140
|
-
if (n === void 0 && (e.op === "sum" || e.op === "avg") && e.column !== void 0 &&
|
|
149
|
+
}, B = (e, t, n, r) => {
|
|
150
|
+
if (n === void 0 && (e.op === "sum" || e.op === "avg") && e.column !== void 0 && z(t, e.column) && (n = "bigint"), n === "decimal" && (e.op === "sum" || e.op === "avg")) {
|
|
151
|
+
let n = t.map((t) => t[e.column]).filter((e) => e != null).map(String);
|
|
152
|
+
if (n.length === 0) return null;
|
|
153
|
+
if (e.op === "avg") return n.reduce((e, t) => e + Number(t), 0) / n.length;
|
|
154
|
+
let i = r ?? Math.max(0, ...n.map((e) => (e.split(".")[1] ?? "").length)), a = n.reduce((e, t) => {
|
|
155
|
+
let n = t.startsWith("-"), [r = "0", a = ""] = t.replace(/^[-+]/, "").split("."), o = BigInt((r || "0") + a.slice(0, i).padEnd(i, "0"));
|
|
156
|
+
return e + (n ? -o : o);
|
|
157
|
+
}, 0n), o = (a < 0n ? -a : a).toString().padStart(i + 1, "0");
|
|
158
|
+
return (a < 0n ? "-" : "") + (i === 0 ? o : `${o.slice(0, -i)}.${o.slice(-i)}`);
|
|
159
|
+
}
|
|
160
|
+
if (n === "bigint" && (e.op === "sum" || e.op === "avg")) {
|
|
141
161
|
let n = 0n, r = 0;
|
|
142
162
|
for (let i of t) {
|
|
143
163
|
let t = i[e.column];
|
|
@@ -186,18 +206,18 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
186
206
|
continue;
|
|
187
207
|
}
|
|
188
208
|
if (n === "decimal" || n === "bigint") {
|
|
189
|
-
let n =
|
|
209
|
+
let n = u(t, r);
|
|
190
210
|
n !== null && (e.op === "min" && n < 0 || e.op === "max" && n > 0) && (r = t);
|
|
191
211
|
continue;
|
|
192
212
|
}
|
|
193
|
-
let a = t instanceof Date ? t.getTime() : t, o = r instanceof Date ? r.getTime() : r,
|
|
194
|
-
(
|
|
213
|
+
let a = t instanceof Date ? t.getTime() : t, o = r instanceof Date ? r.getTime() : r, s = e.op === "min";
|
|
214
|
+
(s && a < o || !s && a > o) && (r = t);
|
|
195
215
|
}
|
|
196
216
|
return r;
|
|
197
217
|
}
|
|
198
218
|
default: throw Error(`computeAggregates: unknown op '${e.op}'`);
|
|
199
219
|
}
|
|
200
|
-
},
|
|
220
|
+
}, V = (e, t) => {
|
|
201
221
|
let n = /* @__PURE__ */ new Set();
|
|
202
222
|
for (let e of t.values()) for (let t of Object.keys(e)) n.add(t);
|
|
203
223
|
return {
|
|
@@ -205,31 +225,31 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
205
225
|
columns: [...n],
|
|
206
226
|
rowCount: t.size
|
|
207
227
|
};
|
|
208
|
-
},
|
|
228
|
+
}, H = "\0", U = (e, t) => e === null ? t : `${e}${H}${t}`, W = class extends Error {
|
|
209
229
|
constructor() {
|
|
210
230
|
super("InMemoryDataStore.transactional: concurrent table change; transaction attempt was discarded."), this.name = "MemoryTransactionConflict";
|
|
211
231
|
}
|
|
212
|
-
},
|
|
232
|
+
}, G = (e, t) => {
|
|
213
233
|
if (typeof t == "string" || typeof t == "number") return e.has(String(t)) ? String(t) : void 0;
|
|
214
|
-
let n =
|
|
234
|
+
let n = x(t);
|
|
215
235
|
for (let [t, r] of e) if (n.every(([e, t]) => r[e] === t)) return t;
|
|
216
|
-
},
|
|
236
|
+
}, K = /* @__PURE__ */ new WeakSet(), q = class e {
|
|
217
237
|
#e;
|
|
218
238
|
#t;
|
|
219
239
|
#n;
|
|
220
240
|
#r(e, t = !0) {
|
|
221
|
-
t && this.#l(this.#c(e.table)),
|
|
222
|
-
...
|
|
241
|
+
t && this.#l(this.#c(e.table)), g(e.table) && this.#n.emit("change", {
|
|
242
|
+
...c(),
|
|
223
243
|
...e
|
|
224
244
|
});
|
|
225
245
|
}
|
|
226
246
|
#i(e, t = !1) {
|
|
227
247
|
if (t) for (let t of e) this.#l(this.#c(t.table));
|
|
228
|
-
let n = e.filter((e) =>
|
|
229
|
-
...
|
|
248
|
+
let n = e.filter((e) => g(e.table)).map((e) => ({
|
|
249
|
+
...c(),
|
|
230
250
|
...e
|
|
231
251
|
}));
|
|
232
|
-
|
|
252
|
+
d(n, (e) => this.#n.emit("change", e));
|
|
233
253
|
}
|
|
234
254
|
#a;
|
|
235
255
|
#o;
|
|
@@ -238,7 +258,7 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
238
258
|
return r.#e = t.tables, r.#t = t.revisions, r.#n = t.emitter, r.#a = t.numericCounters, r;
|
|
239
259
|
}
|
|
240
260
|
constructor(e, t = null) {
|
|
241
|
-
if (this.#o = t, this.#e = /* @__PURE__ */ new Map(), this.#t = /* @__PURE__ */ new Map(), this.#n = new
|
|
261
|
+
if (this.#o = t, this.#e = /* @__PURE__ */ new Map(), this.#t = /* @__PURE__ */ new Map(), this.#n = new D(), y(this.#n), this.#a = /* @__PURE__ */ new Map(), e) for (let [n, r] of Object.entries(e)) {
|
|
242
262
|
let e = /* @__PURE__ */ new Map(), i = 0n;
|
|
243
263
|
for (let [t, n] of r.entries()) {
|
|
244
264
|
let r = n.id, a = r == null ? `__voltro_seed_${t}` : String(r);
|
|
@@ -247,7 +267,7 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
247
267
|
e > i && (i = e);
|
|
248
268
|
} catch {}
|
|
249
269
|
}
|
|
250
|
-
let a =
|
|
270
|
+
let a = U(t, n);
|
|
251
271
|
this.#e.set(a, e), i > 0n && this.#a.set(a, i);
|
|
252
272
|
}
|
|
253
273
|
}
|
|
@@ -260,35 +280,38 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
260
280
|
}, t);
|
|
261
281
|
}
|
|
262
282
|
#c(e) {
|
|
263
|
-
return
|
|
283
|
+
return U(this.#o, e);
|
|
264
284
|
}
|
|
265
285
|
#l(e) {
|
|
266
286
|
this.#t.set(e, (this.#t.get(e) ?? 0n) + 1n);
|
|
267
287
|
}
|
|
268
288
|
#u(e = this.#e) {
|
|
269
|
-
let t = /* @__PURE__ */ new Map(), n = this.#o === null ? null : `${this.#o}${
|
|
270
|
-
for (let [r, i] of e) n === null ? r.includes(
|
|
289
|
+
let t = /* @__PURE__ */ new Map(), n = this.#o === null ? null : `${this.#o}${H}`;
|
|
290
|
+
for (let [r, i] of e) n === null ? r.includes(H) || t.set(r, i) : r.startsWith(n) && t.set(r.slice(n.length), i);
|
|
271
291
|
return t;
|
|
272
292
|
}
|
|
273
293
|
#d(e) {
|
|
274
294
|
let t = this.#c(e), n = this.#e.get(t);
|
|
275
|
-
return n || (n = /* @__PURE__ */ new Map(), this.#e.set(t, n)),
|
|
295
|
+
return n || (n = /* @__PURE__ */ new Map(), this.#e.set(t, n)), K.has(n) && (n = new Map(n), this.#e.set(t, n)), n;
|
|
276
296
|
}
|
|
277
297
|
storedTables() {
|
|
278
|
-
return [...this.#u()].map(([e, t]) =>
|
|
298
|
+
return [...this.#u()].map(([e, t]) => V(e, t));
|
|
299
|
+
}
|
|
300
|
+
integrityQuery(e) {
|
|
301
|
+
return this.query(e);
|
|
279
302
|
}
|
|
280
303
|
async query(e) {
|
|
281
|
-
let t =
|
|
282
|
-
return
|
|
283
|
-
}
|
|
284
|
-
async insert(e,
|
|
285
|
-
|
|
286
|
-
let
|
|
287
|
-
if (a.id === void 0 && (
|
|
288
|
-
let
|
|
304
|
+
let t = I(e, this.#e.get(this.#c(e.table)) ?? /* @__PURE__ */ new Map(), this.#u());
|
|
305
|
+
return h(e) ? s(t, e.eager, b(e.table), (e) => this.query(e)) : t;
|
|
306
|
+
}
|
|
307
|
+
async insert(e, t) {
|
|
308
|
+
t = i(e, C(e, t));
|
|
309
|
+
let n = m(e), r = (n?.fields)?.id?.idScheme, a = t;
|
|
310
|
+
if (a.id === void 0 && (n === void 0 || r !== void 0)) {
|
|
311
|
+
let n = this.#f(e);
|
|
289
312
|
a = {
|
|
290
|
-
...
|
|
291
|
-
id:
|
|
313
|
+
...t,
|
|
314
|
+
id: n
|
|
292
315
|
};
|
|
293
316
|
}
|
|
294
317
|
let o = a.id === void 0 ? `__voltro_row_${this.#f(e)}` : String(a.id);
|
|
@@ -299,19 +322,19 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
299
322
|
new: a
|
|
300
323
|
}), a;
|
|
301
324
|
}
|
|
302
|
-
async insertMany(e, t) {
|
|
303
|
-
let
|
|
304
|
-
for (let
|
|
305
|
-
return n;
|
|
325
|
+
async insertMany(e, t, n) {
|
|
326
|
+
let r = [];
|
|
327
|
+
for (let n of t) r.push(await this.insert(e, n));
|
|
328
|
+
return n?.returning === "none" ? [] : r;
|
|
306
329
|
}
|
|
307
|
-
async patchJson(e, t, n,
|
|
308
|
-
let
|
|
330
|
+
async patchJson(e, t, n, r, i) {
|
|
331
|
+
let a = _(t, n, i), s = this.#e.get(this.#c(e));
|
|
309
332
|
if (!s) return null;
|
|
310
|
-
let c =
|
|
333
|
+
let c = G(s, t), l = c === void 0 ? void 0 : s.get(c);
|
|
311
334
|
if (!l || c === void 0) return null;
|
|
312
335
|
let u = {
|
|
313
|
-
...
|
|
314
|
-
...
|
|
336
|
+
...o(l, n, r),
|
|
337
|
+
...a
|
|
315
338
|
};
|
|
316
339
|
return this.#d(e).set(c, u), this.#r({
|
|
317
340
|
table: e,
|
|
@@ -328,7 +351,7 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
328
351
|
async update(e, t, n) {
|
|
329
352
|
let r = this.#e.get(this.#c(e));
|
|
330
353
|
if (!r) return null;
|
|
331
|
-
let i =
|
|
354
|
+
let i = G(r, t), a = i === void 0 ? void 0 : r.get(i);
|
|
332
355
|
if (!a || i === void 0) return null;
|
|
333
356
|
let o = {
|
|
334
357
|
...a,
|
|
@@ -344,7 +367,7 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
344
367
|
async delete(e, t) {
|
|
345
368
|
let n = this.#e.get(this.#c(e));
|
|
346
369
|
if (!n) return !1;
|
|
347
|
-
let r =
|
|
370
|
+
let r = G(n, t), i = r === void 0 ? void 0 : n.get(r);
|
|
348
371
|
return !i || r === void 0 ? !1 : (this.#d(e).delete(r), this.#r({
|
|
349
372
|
table: e,
|
|
350
373
|
op: "delete",
|
|
@@ -355,7 +378,7 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
355
378
|
async updateMany(e, t, n) {
|
|
356
379
|
let r = this.#e.get(this.#c(e));
|
|
357
380
|
if (!r) return 0;
|
|
358
|
-
let i =
|
|
381
|
+
let i = A(n.where, this.#u()), a = v(n.where, i, m(e)?.fields), o = 0, s = [];
|
|
359
382
|
for (let [n, i] of r) {
|
|
360
383
|
if (!a(i)) continue;
|
|
361
384
|
let r = {
|
|
@@ -374,7 +397,7 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
374
397
|
async deleteMany(e, t) {
|
|
375
398
|
let n = this.#e.get(this.#c(e));
|
|
376
399
|
if (!n) return 0;
|
|
377
|
-
let r =
|
|
400
|
+
let r = A(t.where, this.#u()), i = v(t.where, r, m(e)?.fields), a = [];
|
|
378
401
|
for (let [e, t] of n) i(t) && a.push([e, t]);
|
|
379
402
|
for (let [t, n] of a) this.#d(e).delete(t);
|
|
380
403
|
return this.#i(a.map(([, t]) => ({
|
|
@@ -385,10 +408,10 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
385
408
|
})), !0), a.length;
|
|
386
409
|
}
|
|
387
410
|
async upsert(e, t, n) {
|
|
388
|
-
|
|
411
|
+
E(n);
|
|
389
412
|
let r = this.#p(e, t, n.conflictColumns);
|
|
390
413
|
if (r) {
|
|
391
|
-
let i =
|
|
414
|
+
let i = T(t, r, n), a = Object.fromEntries(n.conflictColumns.map((e) => [e, r[e]]));
|
|
392
415
|
return await this.update(e, a, i) ?? r;
|
|
393
416
|
}
|
|
394
417
|
return this.insert(e, t);
|
|
@@ -409,14 +432,17 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
409
432
|
#p(e, t, n) {
|
|
410
433
|
let r = this.#e.get(this.#c(e));
|
|
411
434
|
if (r && n.length !== 0) outer: for (let e of r.values()) {
|
|
412
|
-
for (let r of n)
|
|
435
|
+
for (let r of n) {
|
|
436
|
+
let n = e[r], i = t[r];
|
|
437
|
+
if (n !== i && !(n instanceof Date && i instanceof Date && n.getTime() === i.getTime())) continue outer;
|
|
438
|
+
}
|
|
413
439
|
return e;
|
|
414
440
|
}
|
|
415
441
|
}
|
|
416
442
|
async transactional(e) {
|
|
417
|
-
let t =
|
|
443
|
+
let t = a.tryPromise({
|
|
418
444
|
try: async () => {
|
|
419
|
-
let t = new
|
|
445
|
+
let t = new J(this.#m());
|
|
420
446
|
try {
|
|
421
447
|
let n = await e(t);
|
|
422
448
|
return t.commit(), n;
|
|
@@ -426,7 +452,7 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
426
452
|
},
|
|
427
453
|
catch: (e) => e
|
|
428
454
|
});
|
|
429
|
-
return
|
|
455
|
+
return S(await a.runPromiseExit(t.pipe(a.retry(w((e) => e instanceof W)))));
|
|
430
456
|
}
|
|
431
457
|
onChange(e) {
|
|
432
458
|
return this.#n.on("change", e), () => {
|
|
@@ -434,11 +460,11 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
434
460
|
};
|
|
435
461
|
}
|
|
436
462
|
injectExternalChange(e) {
|
|
437
|
-
this.#r(
|
|
463
|
+
this.#r(p(e), !1);
|
|
438
464
|
}
|
|
439
465
|
#m() {
|
|
440
466
|
let e = new Map(this.#e);
|
|
441
|
-
for (let t of e.values())
|
|
467
|
+
for (let t of e.values()) K.add(t);
|
|
442
468
|
let t = new Map(this.#t), n = /* @__PURE__ */ new Set();
|
|
443
469
|
return {
|
|
444
470
|
readTable: (t) => {
|
|
@@ -452,7 +478,7 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
452
478
|
for (let e of r.keys()) i.add(this.#c(e));
|
|
453
479
|
let a = new Set(n);
|
|
454
480
|
for (let e of i) a.add(e);
|
|
455
|
-
for (let e of a) if ((t.get(e) ?? 0n) !== (this.#t.get(e) ?? 0n)) throw new
|
|
481
|
+
for (let e of a) if ((t.get(e) ?? 0n) !== (this.#t.get(e) ?? 0n)) throw new W();
|
|
456
482
|
for (let [e, t] of r) {
|
|
457
483
|
if (!this.#e.get(this.#c(e))) continue;
|
|
458
484
|
let n = this.#d(e);
|
|
@@ -468,7 +494,7 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
468
494
|
allocateNumericId: (e) => this.#f(e)
|
|
469
495
|
};
|
|
470
496
|
}
|
|
471
|
-
},
|
|
497
|
+
}, J = class {
|
|
472
498
|
parent;
|
|
473
499
|
overlay = /* @__PURE__ */ new Map();
|
|
474
500
|
tombstones = /* @__PURE__ */ new Map();
|
|
@@ -512,11 +538,12 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
512
538
|
buildTablesView(e) {
|
|
513
539
|
let t = /* @__PURE__ */ new Set([e.table]), n = (e) => {
|
|
514
540
|
t.add(e.table);
|
|
541
|
+
for (let t of e.setOp?.queries ?? []) n(t);
|
|
515
542
|
for (let r of e.joins ?? []) {
|
|
516
543
|
t.add(r.table);
|
|
517
|
-
for (let e of
|
|
544
|
+
for (let e of l(r.on)) n(e.descriptor);
|
|
518
545
|
}
|
|
519
|
-
if (e.predicate) for (let t of
|
|
546
|
+
if (e.predicate) for (let t of l(e.predicate)) n(t.descriptor);
|
|
520
547
|
};
|
|
521
548
|
n(e);
|
|
522
549
|
let r = /* @__PURE__ */ new Map();
|
|
@@ -524,22 +551,25 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
524
551
|
return r;
|
|
525
552
|
}
|
|
526
553
|
storedTables() {
|
|
527
|
-
return [.../* @__PURE__ */ new Set([...this.parent.listTables(), ...this.overlay.keys()])].map((e) =>
|
|
554
|
+
return [.../* @__PURE__ */ new Set([...this.parent.listTables(), ...this.overlay.keys()])].map((e) => V(e, this.materialise(e)));
|
|
528
555
|
}
|
|
529
556
|
getOrCreateOverlay(e) {
|
|
530
557
|
this.assertActive();
|
|
531
558
|
let t = this.overlay.get(e);
|
|
532
559
|
return t || (t = /* @__PURE__ */ new Map(), this.overlay.set(e, t)), t;
|
|
533
560
|
}
|
|
561
|
+
integrityQuery(e) {
|
|
562
|
+
return this.query(e);
|
|
563
|
+
}
|
|
534
564
|
async query(e) {
|
|
535
|
-
let t = this.buildTablesView(e), n =
|
|
536
|
-
return
|
|
537
|
-
}
|
|
538
|
-
async insert(e,
|
|
539
|
-
|
|
540
|
-
let
|
|
541
|
-
a.id === void 0 && (
|
|
542
|
-
...
|
|
565
|
+
let t = this.buildTablesView(e), n = I(e, this.materialise(e.table), t);
|
|
566
|
+
return h(e) ? s(n, e.eager, b(e.table), (e) => this.query(e)) : n;
|
|
567
|
+
}
|
|
568
|
+
async insert(e, t) {
|
|
569
|
+
t = i(e, C(e, t));
|
|
570
|
+
let n = m(e), r = (n?.fields)?.id?.idScheme, a = t;
|
|
571
|
+
a.id === void 0 && (n === void 0 || r !== void 0) && (a = {
|
|
572
|
+
...t,
|
|
543
573
|
id: this.parent.allocateNumericId(e)
|
|
544
574
|
});
|
|
545
575
|
let o = a.id === void 0 ? `__voltro_row_${this.parent.allocateNumericId(e)}` : String(a.id);
|
|
@@ -550,13 +580,13 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
550
580
|
new: a
|
|
551
581
|
}), a;
|
|
552
582
|
}
|
|
553
|
-
async insertMany(e, t) {
|
|
554
|
-
let
|
|
555
|
-
for (let
|
|
556
|
-
return n;
|
|
583
|
+
async insertMany(e, t, n) {
|
|
584
|
+
let r = [];
|
|
585
|
+
for (let n of t) r.push(await this.insert(e, n));
|
|
586
|
+
return n?.returning === "none" ? [] : r;
|
|
557
587
|
}
|
|
558
588
|
async update(e, t, n) {
|
|
559
|
-
let r = this.materialise(e), i =
|
|
589
|
+
let r = this.materialise(e), i = G(r, t), a = i === void 0 ? void 0 : r.get(i);
|
|
560
590
|
if (!a || i === void 0) return null;
|
|
561
591
|
let o = {
|
|
562
592
|
...a,
|
|
@@ -569,12 +599,12 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
569
599
|
new: o
|
|
570
600
|
}), o;
|
|
571
601
|
}
|
|
572
|
-
async patchJson(e, t, n,
|
|
573
|
-
let
|
|
602
|
+
async patchJson(e, t, n, r, i) {
|
|
603
|
+
let a = _(t, n, i), s = this.materialise(e), c = G(s, t), l = c === void 0 ? void 0 : s.get(c);
|
|
574
604
|
if (!l || c === void 0) return null;
|
|
575
605
|
let u = {
|
|
576
|
-
...
|
|
577
|
-
...
|
|
606
|
+
...o(l, n, r),
|
|
607
|
+
...a
|
|
578
608
|
};
|
|
579
609
|
return this.getOrCreateOverlay(e).set(c, u), this.events.push({
|
|
580
610
|
table: e,
|
|
@@ -584,7 +614,7 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
584
614
|
}), u;
|
|
585
615
|
}
|
|
586
616
|
async delete(e, t) {
|
|
587
|
-
let n = this.materialise(e), r =
|
|
617
|
+
let n = this.materialise(e), r = G(n, t), i = r === void 0 ? void 0 : n.get(r);
|
|
588
618
|
if (!i || r === void 0) return !1;
|
|
589
619
|
this.overlay.get(e)?.delete(r);
|
|
590
620
|
let a = this.tombstones.get(e);
|
|
@@ -596,7 +626,7 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
596
626
|
}), !0;
|
|
597
627
|
}
|
|
598
628
|
async updateMany(e, t, n) {
|
|
599
|
-
let r = this.materialise(e), i =
|
|
629
|
+
let r = this.materialise(e), i = A(n.where, this.buildTablesViewForPred(n.where)), a = v(n.where, i, m(e)?.fields), o = 0;
|
|
600
630
|
for (let [n, i] of r) {
|
|
601
631
|
if (!a(i)) continue;
|
|
602
632
|
let r = {
|
|
@@ -613,7 +643,7 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
613
643
|
return o;
|
|
614
644
|
}
|
|
615
645
|
async deleteMany(e, t) {
|
|
616
|
-
let n = this.materialise(e), r =
|
|
646
|
+
let n = this.materialise(e), r = A(t.where, this.buildTablesViewForPred(t.where)), i = v(t.where, r, m(e)?.fields), a = 0, o = this.tombstones.get(e);
|
|
617
647
|
for (let [t, r] of n) i(r) && (this.overlay.get(e)?.delete(t), o || (o = /* @__PURE__ */ new Set(), this.tombstones.set(e, o)), o.add(t), this.events.push({
|
|
618
648
|
table: e,
|
|
619
649
|
op: "delete",
|
|
@@ -624,16 +654,16 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
624
654
|
}
|
|
625
655
|
buildTablesViewForPred(e) {
|
|
626
656
|
let t = /* @__PURE__ */ new Set();
|
|
627
|
-
for (let n of
|
|
657
|
+
for (let n of l(e)) t.add(n.descriptor.table);
|
|
628
658
|
let n = /* @__PURE__ */ new Map();
|
|
629
659
|
for (let e of t) n.set(e, this.materialise(e));
|
|
630
660
|
return n;
|
|
631
661
|
}
|
|
632
662
|
async upsert(e, t, n) {
|
|
633
|
-
|
|
663
|
+
E(n);
|
|
634
664
|
let r = this.findByConflictColumns(e, t, n.conflictColumns);
|
|
635
665
|
if (r) {
|
|
636
|
-
let i =
|
|
666
|
+
let i = T(t, r, n), a = Object.fromEntries(n.conflictColumns.map((e) => [e, r[e]]));
|
|
637
667
|
return await this.update(e, a, i) ?? r;
|
|
638
668
|
}
|
|
639
669
|
return this.insert(e, t);
|
|
@@ -655,7 +685,10 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
655
685
|
if (n.length === 0) return;
|
|
656
686
|
let r = this.materialise(e);
|
|
657
687
|
outer: for (let e of r.values()) {
|
|
658
|
-
for (let r of n)
|
|
688
|
+
for (let r of n) {
|
|
689
|
+
let n = e[r], i = t[r];
|
|
690
|
+
if (n !== i && !(n instanceof Date && i instanceof Date && n.getTime() === i.getTime())) continue outer;
|
|
691
|
+
}
|
|
659
692
|
return e;
|
|
660
693
|
}
|
|
661
694
|
}
|
|
@@ -675,5 +708,4 @@ var T = (e, t, n, r = d(n)?.fields) => t.length === 0 ? e : [...e].sort((e, n) =
|
|
|
675
708
|
this.settled || (this.settled = !0, this.overlay.clear(), this.tombstones.clear(), this.events.length = 0);
|
|
676
709
|
}
|
|
677
710
|
};
|
|
678
|
-
|
|
679
|
-
export { W as InMemoryDataStore };
|
|
711
|
+
export { q as InMemoryDataStore };
|
package/dist/dataloader.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { inSet as e } from "@voltro/database";
|
|
2
|
-
|
|
2
|
+
// src/dataloader.ts
|
|
3
3
|
var t = () => {
|
|
4
4
|
let e, t;
|
|
5
5
|
return {
|
|
@@ -57,5 +57,4 @@ var t = () => {
|
|
|
57
57
|
loadMany: (e, t) => l(e, t)
|
|
58
58
|
};
|
|
59
59
|
};
|
|
60
|
-
//#endregion
|
|
61
60
|
export { r as makeDataLoader };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/declaredTablesGuard.ts
|
|
2
2
|
var e = class extends Error {
|
|
3
3
|
table;
|
|
4
4
|
operation;
|
|
@@ -14,8 +14,9 @@ var e = class extends Error {
|
|
|
14
14
|
};
|
|
15
15
|
return {
|
|
16
16
|
query: async (e) => (i(e.table, "query"), n.query(e)),
|
|
17
|
+
...n.integrityQuery === void 0 ? {} : { integrityQuery: async (e) => (i(e.table, "integrityQuery"), n.integrityQuery(e)) },
|
|
17
18
|
insert: async (e, t) => (i(e, "insert"), n.insert(e, t)),
|
|
18
|
-
insertMany: async (e, t) => (i(e, "insertMany"), n.insertMany(e, t)),
|
|
19
|
+
insertMany: async (e, t, r) => (i(e, "insertMany"), n.insertMany(e, t, r)),
|
|
19
20
|
patchJson: async (e, t, r, a, o) => (i(e, "patchJson"), n.patchJson(e, t, r, a, o)),
|
|
20
21
|
update: async (e, t, r) => (i(e, "update"), n.update(e, t, r)),
|
|
21
22
|
updateMany: async (e, t, r) => (i(e, "updateMany"), n.updateMany(e, t, r)),
|
|
@@ -44,5 +45,4 @@ var e = class extends Error {
|
|
|
44
45
|
...n.storedTables === void 0 ? {} : { storedTables: () => n.storedTables() }
|
|
45
46
|
};
|
|
46
47
|
};
|
|
47
|
-
//#endregion
|
|
48
48
|
export { e as UndeclaredTableAccess, t as guardUndeclaredTables };
|
package/dist/defineExecutor.js
CHANGED
package/dist/dependencyGraph.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { collectSubqueries as e, getRelations as t } from "@voltro/database";
|
|
2
|
-
|
|
2
|
+
// src/dependencyGraph.ts
|
|
3
3
|
var n = (e) => {
|
|
4
4
|
let t = /* @__PURE__ */ new Set();
|
|
5
5
|
return r(e, t), t;
|
|
@@ -28,5 +28,4 @@ var n = (e) => {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
|
-
//#endregion
|
|
32
31
|
export { n as resolveDependentTables };
|