@voltro/database 0.26.0 → 0.27.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 +297 -0
- package/dist/{frameworkLiveTables-BQwB8K6R.js → frameworkLiveTables-CS_Hyhgz.js} +162 -147
- package/dist/index.d.ts +28 -0
- package/dist/index.js +635 -642
- package/dist/sql.d.ts +27 -0
- package/dist/sql.js +1 -1
- package/package.json +2 -2
|
@@ -186,7 +186,7 @@ var r = (e) => {
|
|
|
186
186
|
enumValues: t
|
|
187
187
|
})
|
|
188
188
|
};
|
|
189
|
-
}, ae = () => a("boolean"), oe = () => a("timestamp"), se = () => a("date"), ce = () => a("json"), le = () => a("bytes"),
|
|
189
|
+
}, ae = () => a("boolean"), oe = () => a("timestamp"), se = () => a("date"), ce = () => a("json"), le = () => a("bytes"), ue = (e, t) => new i({
|
|
190
190
|
type: "reference",
|
|
191
191
|
nullable: !1,
|
|
192
192
|
unique: !1,
|
|
@@ -196,13 +196,13 @@ var r = (e) => {
|
|
|
196
196
|
refOnUpdate: t?.onUpdate ?? "noAction",
|
|
197
197
|
fkAutoIndex: t?.index ?? !0,
|
|
198
198
|
...t?.orphanPolicy ? { orphanPolicy: t.orphanPolicy } : {}
|
|
199
|
-
}),
|
|
199
|
+
}), l = () => new i({
|
|
200
200
|
type: "text",
|
|
201
201
|
nullable: !0,
|
|
202
202
|
unique: !1,
|
|
203
203
|
hasDefault: !1,
|
|
204
204
|
dropped: !0
|
|
205
|
-
}),
|
|
205
|
+
}), u = (e, t) => {
|
|
206
206
|
if (!Number.isInteger(e) || e <= 0) throw Error(`vector(${String(e)}): dimension must be a positive integer (the embedding length, e.g. vector(1536)).`);
|
|
207
207
|
return new i({
|
|
208
208
|
type: "vector",
|
|
@@ -212,13 +212,13 @@ var r = (e) => {
|
|
|
212
212
|
vectorDim: e,
|
|
213
213
|
vectorPrecision: t?.precision ?? "float32"
|
|
214
214
|
});
|
|
215
|
-
},
|
|
215
|
+
}, de = (e) => new i({
|
|
216
216
|
type: "array",
|
|
217
217
|
nullable: !1,
|
|
218
218
|
unique: !1,
|
|
219
219
|
hasDefault: !1,
|
|
220
220
|
arrayElement: e.__definition().type
|
|
221
|
-
}),
|
|
221
|
+
}), fe = () => a("interval"), pe = (e, t = 4326) => new i({
|
|
222
222
|
type: "text",
|
|
223
223
|
nullable: !1,
|
|
224
224
|
unique: !1,
|
|
@@ -228,7 +228,7 @@ var r = (e) => {
|
|
|
228
228
|
geomKind: e,
|
|
229
229
|
srid: t
|
|
230
230
|
}
|
|
231
|
-
}),
|
|
231
|
+
}), me = (e, t = 4326) => new i({
|
|
232
232
|
type: "text",
|
|
233
233
|
nullable: !1,
|
|
234
234
|
unique: !1,
|
|
@@ -238,44 +238,51 @@ var r = (e) => {
|
|
|
238
238
|
geomKind: e,
|
|
239
239
|
srid: t
|
|
240
240
|
}
|
|
241
|
-
}),
|
|
241
|
+
}), he = (e) => new i({
|
|
242
242
|
type: "raw",
|
|
243
243
|
nullable: !1,
|
|
244
244
|
unique: !1,
|
|
245
245
|
hasDefault: !1,
|
|
246
246
|
rawDdl: e
|
|
247
|
-
}),
|
|
247
|
+
}), d = (e) => {
|
|
248
248
|
let t = {};
|
|
249
249
|
for (let [n, r] of Object.entries(e)) t[n] = r.__definition();
|
|
250
250
|
return t;
|
|
251
|
-
},
|
|
251
|
+
}, f = /* @__PURE__ */ new WeakMap(), p = (e) => typeof e == "object" && e ? f.get(e) : void 0, ge = (e, t = {}) => {
|
|
252
|
+
let n = s();
|
|
253
|
+
return f.set(n, {
|
|
254
|
+
target: e,
|
|
255
|
+
orphanPolicy: t.orphanPolicy ?? "keep",
|
|
256
|
+
onSoftDelete: t.onSoftDelete ?? !1
|
|
257
|
+
}), n;
|
|
258
|
+
}, m = /* @__PURE__ */ new Map(), _e = (e, t) => {
|
|
252
259
|
if (t.from === t.to) throw Error(`declareEnumRename('${e}'): \`from\` and \`to\` are both '${t.from}' — a rename must change the value.`);
|
|
253
|
-
let n =
|
|
260
|
+
let n = m.get(e) ?? [];
|
|
254
261
|
for (let r of n) {
|
|
255
262
|
if (r.from === t.from && r.to === t.to) return;
|
|
256
263
|
if (r.from === t.from && r.to !== t.to) throw Error(`declareEnumRename('${e}'): value '${t.from}' is already declared as renamed to '${r.to}', cannot also rename it to '${t.to}'.`);
|
|
257
264
|
}
|
|
258
|
-
n.push(t),
|
|
259
|
-
},
|
|
260
|
-
|
|
261
|
-
},
|
|
262
|
-
|
|
263
|
-
},
|
|
264
|
-
let e =
|
|
265
|
-
return
|
|
266
|
-
},
|
|
265
|
+
n.push(t), m.set(e, n);
|
|
266
|
+
}, ve = (e) => m.get(e) ?? [], ye = () => m, be = () => {
|
|
267
|
+
m.clear();
|
|
268
|
+
}, xe = 63, Se = 60, h = [], g = (e) => {
|
|
269
|
+
h.includes(e) || h.push(e);
|
|
270
|
+
}, Ce = () => {
|
|
271
|
+
let e = h.slice();
|
|
272
|
+
return h.length = 0, e;
|
|
273
|
+
}, we = /^[a-zA-Z_][a-zA-Z0-9_]*$/, _ = (e, t) => {
|
|
267
274
|
if (t.length === 0) throw Error(`${e} cannot be empty.`);
|
|
268
|
-
if (!
|
|
269
|
-
},
|
|
270
|
-
if (
|
|
271
|
-
e.length > 60 &&
|
|
272
|
-
},
|
|
273
|
-
if (
|
|
274
|
-
t.length > 60 &&
|
|
275
|
-
},
|
|
276
|
-
if (
|
|
277
|
-
t.length > 60 &&
|
|
278
|
-
},
|
|
275
|
+
if (!we.test(t)) throw Error(`${e} '${t}' contains characters outside [A-Za-z0-9_] or starts with a digit. Dialect-portable identifiers must match /^[a-zA-Z_][a-zA-Z0-9_]*$/.`);
|
|
276
|
+
}, v = (e) => {
|
|
277
|
+
if (_("table name", e), e.length > 63) throw Error(`table name '${e}' is ${e.length} chars — exceeds the 63-byte cross-dialect limit (Postgres floor). Shorten the name; long table names also cascade into auto-named indexes and FK constraints that would themselves exceed the limit.`);
|
|
278
|
+
e.length > 60 && g(`table name '${e}' is ${e.length} chars — ${63 - e.length} from the Postgres 63-byte limit. Auto-named indexes on this table will run out of room fast.`);
|
|
279
|
+
}, y = (e, t) => {
|
|
280
|
+
if (_("column name", t), t.length > 63) throw Error(`column '${t}' on table '${e}' is ${t.length} chars — exceeds the 63-byte cross-dialect limit (Postgres floor). Rename it.`);
|
|
281
|
+
t.length > 60 && g(`column '${t}' on table '${e}' is ${t.length} chars — close to the 63-byte limit.`);
|
|
282
|
+
}, b = (e, t, n, r) => {
|
|
283
|
+
if (_("index name", t), t.length > 63) throw Error(n ? `auto-named index '${t}' on table '${e}' is ${t.length} chars — exceeds the 63-byte cross-dialect limit (Postgres floor). Supply an explicit short name: .index('<shortName>', ${JSON.stringify([...r])}).` : `index name '${t}' on table '${e}' is ${t.length} chars — exceeds the 63-byte cross-dialect limit (Postgres floor). Shorten it.`);
|
|
284
|
+
t.length > 60 && g(`index '${t}' on table '${e}' is ${t.length} chars — ${63 - t.length} from the 63-byte limit. ${n ? `Consider .index('<shortName>', ${JSON.stringify([...r])}) before it grows.` : ""}`);
|
|
285
|
+
}, x = (e, t) => {
|
|
279
286
|
if (e.length === 0) throw Error(`typeid prefix on table '${t.tableName}' cannot be empty.`);
|
|
280
287
|
if (!/^[a-z][a-z0-9_]*$/.test(e)) {
|
|
281
288
|
let n = t.kind === "derived" ? "the derived prefix doesn't match typeid's required shape — supply an explicit one via id({ prefix: '...' })." : "the prefix must match typeid's required shape /^[a-z][a-z0-9_]*$/.";
|
|
@@ -285,35 +292,35 @@ var r = (e) => {
|
|
|
285
292
|
let n = t.kind === "derived" ? "shorten the table name, or supply an explicit short prefix via id({ prefix: '...' })." : "pick a shorter prefix.";
|
|
286
293
|
throw Error(`typeid prefix '${e}' on table '${t.tableName}' is ${e.length} chars — exceeds the 63-byte limit; ${n}`);
|
|
287
294
|
}
|
|
288
|
-
e.length > 60 &&
|
|
289
|
-
},
|
|
295
|
+
e.length > 60 && g(`typeid prefix '${e}' on table '${t.tableName}' is ${e.length} chars — close to the 63-byte limit. Generated ids will be even longer (prefix + '_' + 26).`);
|
|
296
|
+
}, Te = 1704067200000n, Ee = 10n, S = 12n, C = (1n << Ee) - 1n, w = (1n << S) - 1n, T = S, E = 22n, D = () => {
|
|
290
297
|
let e = process.env.SNOWFLAKE_MACHINE_ID;
|
|
291
298
|
if (e === void 0 || e === "") return 0n;
|
|
292
299
|
let t = BigInt(e);
|
|
293
|
-
if (t < 0n || t >
|
|
300
|
+
if (t < 0n || t > C) throw Error(`SNOWFLAKE_MACHINE_ID out of range: ${e}. Must be 0..${C}.`);
|
|
294
301
|
return t;
|
|
295
|
-
},
|
|
302
|
+
}, O = () => ({
|
|
296
303
|
lastMs: 0n,
|
|
297
304
|
sequence: 0n,
|
|
298
|
-
machineId:
|
|
299
|
-
}),
|
|
300
|
-
|
|
301
|
-
}, A = () => BigInt(Date.now()),
|
|
305
|
+
machineId: D()
|
|
306
|
+
}), k, De = () => (k === void 0 && (k = O()), k), Oe = () => {
|
|
307
|
+
k = O();
|
|
308
|
+
}, A = () => BigInt(Date.now()), ke = (e) => {
|
|
302
309
|
let t = A();
|
|
303
310
|
for (; t <= e;) t = A();
|
|
304
311
|
return t;
|
|
305
312
|
}, j = () => {
|
|
306
|
-
let e =
|
|
307
|
-
t === e.lastMs ? (e.sequence = e.sequence + 1n &
|
|
308
|
-
let n = t -
|
|
313
|
+
let e = De(), t = A();
|
|
314
|
+
t === e.lastMs ? (e.sequence = e.sequence + 1n & w, e.sequence === 0n && (t = ke(e.lastMs), e.lastMs = t)) : (e.sequence = 0n, e.lastMs = t);
|
|
315
|
+
let n = t - Te;
|
|
309
316
|
if (n < 0n) throw Error("Snowflake timestamp before configured epoch (2024-01-01). System clock is wrong.");
|
|
310
|
-
return (n <<
|
|
317
|
+
return (n << E | e.machineId << T | e.sequence).toString();
|
|
311
318
|
}, M = (e) => {
|
|
312
319
|
let t = e.toLowerCase();
|
|
313
320
|
if (t.startsWith("_")) throw Error(`cannot derive a typeid prefix for table '${e}' (table names starting with '_' are not valid typeid prefixes). Pick an explicit prefix via id({ prefix: '...' }) or use a different scheme like id({ scheme: 'numeric' }) for internal tables.`);
|
|
314
321
|
if (!/^[a-z][a-z0-9_]*$/.test(t)) throw Error(`cannot derive a typeid prefix from table name '${e}' (must match [a-z][a-z0-9_]*). Pick an explicit prefix via id({ prefix: '...' }).`);
|
|
315
322
|
let n = t.endsWith("ies") && t.length > 3 ? t.slice(0, -3) + "y" : t.endsWith("ses") || t.endsWith("xes") || t.endsWith("zes") || t.endsWith("shes") || t.endsWith("ches") ? t.slice(0, -2) : t.endsWith("s") && t.length > 1 ? t.slice(0, -1) : t;
|
|
316
|
-
return
|
|
323
|
+
return x(n, {
|
|
317
324
|
kind: "derived",
|
|
318
325
|
tableName: e
|
|
319
326
|
}), n;
|
|
@@ -322,7 +329,7 @@ var r = (e) => {
|
|
|
322
329
|
kind: "typeid",
|
|
323
330
|
prefix: M(t)
|
|
324
331
|
};
|
|
325
|
-
if ("prefix" in e && !("scheme" in e)) return
|
|
332
|
+
if ("prefix" in e && !("scheme" in e)) return x(e.prefix, {
|
|
326
333
|
kind: "explicit",
|
|
327
334
|
tableName: t
|
|
328
335
|
}), {
|
|
@@ -333,7 +340,7 @@ var r = (e) => {
|
|
|
333
340
|
switch (e.scheme) {
|
|
334
341
|
case "typeid": {
|
|
335
342
|
let n = e.prefix ?? M(t);
|
|
336
|
-
return e.prefix !== void 0 &&
|
|
343
|
+
return e.prefix !== void 0 && x(e.prefix, {
|
|
337
344
|
kind: "explicit",
|
|
338
345
|
tableName: t
|
|
339
346
|
}), {
|
|
@@ -349,7 +356,7 @@ var r = (e) => {
|
|
|
349
356
|
generate: e.generate
|
|
350
357
|
};
|
|
351
358
|
}
|
|
352
|
-
},
|
|
359
|
+
}, Ae = (n, r) => {
|
|
353
360
|
switch (n.kind) {
|
|
354
361
|
case "typeid": return e(n.prefix).toString();
|
|
355
362
|
case "ulid": return t();
|
|
@@ -358,13 +365,13 @@ var r = (e) => {
|
|
|
358
365
|
case "custom": return n.generate(r);
|
|
359
366
|
}
|
|
360
367
|
}, P = (e) => ({
|
|
361
|
-
fields:
|
|
368
|
+
fields: d(e.fields),
|
|
362
369
|
...e.id === void 0 ? {} : { id: e.id },
|
|
363
370
|
...e.requires === void 0 ? {} : { requires: e.requires },
|
|
364
371
|
...e.indexes === void 0 ? {} : { indexes: e.indexes },
|
|
365
372
|
...e.behaviors === void 0 ? {} : { behaviors: e.behaviors },
|
|
366
373
|
...e.policies === void 0 ? {} : { policies: e.policies }
|
|
367
|
-
}),
|
|
374
|
+
}), je = P, F = (e) => {
|
|
368
375
|
let t = /* @__PURE__ */ new Set(), n = [], r = (e) => {
|
|
369
376
|
let i = e.id ?? e;
|
|
370
377
|
if (!t.has(i)) {
|
|
@@ -374,7 +381,7 @@ var r = (e) => {
|
|
|
374
381
|
};
|
|
375
382
|
for (let t of e) r(t);
|
|
376
383
|
return n;
|
|
377
|
-
},
|
|
384
|
+
}, Me = (e, ...t) => {
|
|
378
385
|
if (t.length === 0) throw Error(`jsonIndex("${e}"): at least one path segment is required`);
|
|
379
386
|
let n = (r) => ({
|
|
380
387
|
jsonPath: {
|
|
@@ -385,14 +392,14 @@ var r = (e) => {
|
|
|
385
392
|
numeric: () => n(!0)
|
|
386
393
|
});
|
|
387
394
|
return n(!1);
|
|
388
|
-
},
|
|
395
|
+
}, Ne = (e = "cosine", t = "float32") => {
|
|
389
396
|
let n = t === "half" ? "halfvec" : "vector";
|
|
390
397
|
switch (e) {
|
|
391
398
|
case "cosine": return `${n}_cosine_ops`;
|
|
392
399
|
case "l2": return `${n}_l2_ops`;
|
|
393
400
|
case "inner": return `${n}_ip_ops`;
|
|
394
401
|
}
|
|
395
|
-
},
|
|
402
|
+
}, Pe = [
|
|
396
403
|
"id",
|
|
397
404
|
"tenantId",
|
|
398
405
|
"createdAt",
|
|
@@ -401,7 +408,7 @@ var r = (e) => {
|
|
|
401
408
|
"updatedBy",
|
|
402
409
|
"deletedAt",
|
|
403
410
|
"deletedBy"
|
|
404
|
-
], I = (e) => e.id ?? `<anonymous mixin: ${Object.keys(e.fields).join(", ")}>`, L = (e, t) => `${e}_${t.join("_")}_idx`,
|
|
411
|
+
], I = (e) => e.id ?? `<anonymous mixin: ${Object.keys(e.fields).join(", ")}>`, L = (e, t) => `${e}_${t.join("_")}_idx`, Fe = (e, t) => `${e}_${t.join("_")}_uq`, R = (e, t, n, r, i) => {
|
|
405
412
|
if (n !== "hnsw") return;
|
|
406
413
|
if (r.length !== 1) throw Error(`hnsw index '${t}' on table '${e}' must cover exactly one vector column — got ${r.length} fields. pgvector's HNSW access method indexes a single vector column.`);
|
|
407
414
|
let a = r[0];
|
|
@@ -409,7 +416,7 @@ var r = (e) => {
|
|
|
409
416
|
let o = i[a];
|
|
410
417
|
if (o === void 0) throw Error(`hnsw index '${t}' on table '${e}' references unknown column '${a}'.`);
|
|
411
418
|
if (o.type !== "vector") throw Error(`hnsw index '${t}' on table '${e}' requires a vector() column — column '${a}' is '${o.type}'. HNSW is the pgvector approximate-nearest-neighbour method and only applies to vectors.`);
|
|
412
|
-
},
|
|
419
|
+
}, Ie = (e, t) => {
|
|
413
420
|
let n;
|
|
414
421
|
for (let [r, i] of Object.entries(e)) i.type === "id" && i.idScheme === void 0 && (n === void 0 && (n = { ...e }), n[r] = {
|
|
415
422
|
...i,
|
|
@@ -427,13 +434,14 @@ var r = (e) => {
|
|
|
427
434
|
appliedUniques: e.appliedUniques,
|
|
428
435
|
appliedFullText: e.appliedFullText,
|
|
429
436
|
appliedChecks: e.appliedChecks,
|
|
437
|
+
appliedPluginRefs: e.appliedPluginRefs ?? [],
|
|
430
438
|
appliedPrimaryKey: t,
|
|
431
439
|
...e.previousTableName === void 0 ? {} : { previousTableName: e.previousTableName },
|
|
432
440
|
...e.insertSchema === void 0 ? {} : { insertSchema: e.insertSchema },
|
|
433
441
|
...e.validatePatchSchema === void 0 ? {} : { validatePatchSchema: e.validatePatchSchema },
|
|
434
442
|
fullTextIndex: ((t, n, r) => {
|
|
435
443
|
if (n.length === 0) throw Error(`fullTextIndex '${t}' on '${e.tableName}' has no columns.`);
|
|
436
|
-
if (
|
|
444
|
+
if (b(e.tableName, t, !1, n), e.appliedFullText.some((e) => e.name === t)) throw Error(`duplicate full-text index '${t}' on table '${e.tableName}'.`);
|
|
437
445
|
return z({
|
|
438
446
|
...e,
|
|
439
447
|
tableName: e.tableName,
|
|
@@ -463,12 +471,12 @@ var r = (e) => {
|
|
|
463
471
|
for (let t of n) for (let [n, a] of Object.entries(t.fields)) {
|
|
464
472
|
let o = i.get(n);
|
|
465
473
|
if (o !== void 0) throw Error(`mixin collision on column '${n}' in table '${e.tableName}': '${I(o)}' and '${I(t)}' both define it. If they're the same mixin reached via different paths, set a shared 'id' on both. If they're genuinely different concerns, rename one of the columns.`);
|
|
466
|
-
|
|
474
|
+
y(e.tableName, n), r[n] = a, i.set(n, t);
|
|
467
475
|
}
|
|
468
476
|
let a = [...e.appliedIndexes];
|
|
469
477
|
for (let t of n) for (let n of t.indexes ?? []) {
|
|
470
478
|
let t = n.name ?? L(e.tableName, n.fields);
|
|
471
|
-
a.some((e) => e.name === t) || (
|
|
479
|
+
a.some((e) => e.name === t) || (b(e.tableName, t, n.name === void 0, n.fields), R(e.tableName, t, n.kind, n.fields, r), a.push({
|
|
472
480
|
name: t,
|
|
473
481
|
fields: n.fields,
|
|
474
482
|
...n.kind === void 0 ? {} : { kind: n.kind },
|
|
@@ -494,7 +502,7 @@ var r = (e) => {
|
|
|
494
502
|
let n, r, i, a = Array.isArray(t[0]);
|
|
495
503
|
if (a ? (r = t[0], i = t[1], n = L(e.tableName, r)) : (n = t[0], r = t[1], i = t[2]), r.length === 0) throw Error(`index '${n}' on table '${e.tableName}' has no fields — an index must cover at least one column.`);
|
|
496
504
|
let o = r.filter((e) => typeof e == "string");
|
|
497
|
-
if (
|
|
505
|
+
if (b(e.tableName, n, a, o), R(e.tableName, n, i?.kind, r, e.fields), e.appliedIndexes.some((e) => e.name === n)) throw t.length === 1 ? Error(`duplicate auto-named index '${n}' on table '${e.tableName}' — you've called .index(${JSON.stringify(r)}) twice. Pass an explicit name to the second one if both are intended (rare).`) : Error(`duplicate index '${n}' on table '${e.tableName}': each index name must be unique within a table.`);
|
|
498
506
|
return z({
|
|
499
507
|
...e,
|
|
500
508
|
tableName: e.tableName,
|
|
@@ -519,7 +527,7 @@ var r = (e) => {
|
|
|
519
527
|
expressionIndex: ((t, n, r) => {
|
|
520
528
|
if (n.length === 0) throw Error(`expressionIndex '${t}' on table '${e.tableName}' has no fields — an index must cover at least one column or expression.`);
|
|
521
529
|
let i = n.filter((e) => typeof e == "string");
|
|
522
|
-
if (
|
|
530
|
+
if (b(e.tableName, t, !1, i), R(e.tableName, t, r?.kind, n, e.fields), e.appliedIndexes.some((e) => e.name === t)) throw Error(`duplicate index '${t}' on table '${e.tableName}': each index name must be unique within a table.`);
|
|
523
531
|
return z({
|
|
524
532
|
...e,
|
|
525
533
|
tableName: e.tableName,
|
|
@@ -543,8 +551,8 @@ var r = (e) => {
|
|
|
543
551
|
}),
|
|
544
552
|
unique: ((...t) => {
|
|
545
553
|
let n, r, i, a = Array.isArray(t[0]);
|
|
546
|
-
if (a ? (r = t[0], i = t[1], n =
|
|
547
|
-
if (
|
|
554
|
+
if (a ? (r = t[0], i = t[1], n = Fe(e.tableName, r)) : (n = t[0], r = t[1], i = t[2]), r.length === 0) throw Error(`unique '${n}' on table '${e.tableName}' has no fields — a UNIQUE constraint must cover at least one column.`);
|
|
555
|
+
if (b(e.tableName, n, a, r), e.appliedUniques.some((e) => e.name === n)) throw Error(a ? `duplicate auto-named UNIQUE '${n}' on table '${e.tableName}' — you've called .unique(${JSON.stringify(r)}) twice. Pass an explicit name to the second one if both are intended (very rare).` : `duplicate UNIQUE '${n}' on table '${e.tableName}': each constraint name must be unique within a table.`);
|
|
548
556
|
return z({
|
|
549
557
|
...e,
|
|
550
558
|
tableName: e.tableName,
|
|
@@ -567,7 +575,7 @@ var r = (e) => {
|
|
|
567
575
|
uniqueActive: ((...t) => {
|
|
568
576
|
let n, r, i, a = Array.isArray(t[0]);
|
|
569
577
|
if (a ? (r = t[0], i = t[1], n = L(e.tableName, r)) : (n = t[0], r = t[1], i = t[2]), r.length === 0) throw Error(`uniqueActive '${n}' on table '${e.tableName}' has no fields — a partial UNIQUE must cover at least one column.`);
|
|
570
|
-
if (
|
|
578
|
+
if (b(e.tableName, n, a, r), e.appliedIndexes.some((e) => e.name === n)) throw Error(`duplicate index '${n}' on table '${e.tableName}': each index name must be unique within a table (uniqueActive shares the index namespace).`);
|
|
571
579
|
let o = i?.where ?? "\"deletedAt\" IS NULL";
|
|
572
580
|
return z({
|
|
573
581
|
...e,
|
|
@@ -591,7 +599,7 @@ var r = (e) => {
|
|
|
591
599
|
}),
|
|
592
600
|
check: ((t, n) => {
|
|
593
601
|
if (n.trim().length === 0) throw Error(`CHECK '${t}' on table '${e.tableName}' has an empty expression.`);
|
|
594
|
-
if (
|
|
602
|
+
if (b(e.tableName, t, !1, []), e.appliedChecks.some((e) => e.name === t)) throw Error(`duplicate CHECK '${t}' on table '${e.tableName}': each constraint name must be unique within a table.`);
|
|
595
603
|
return z({
|
|
596
604
|
...e,
|
|
597
605
|
tableName: e.tableName,
|
|
@@ -612,7 +620,7 @@ var r = (e) => {
|
|
|
612
620
|
}),
|
|
613
621
|
renamedFrom: ((t) => {
|
|
614
622
|
if (t === e.tableName) throw Error(`renamedFrom('${t}') on table '${e.tableName}' names the table itself — drop the marker, there is nothing to rename.`);
|
|
615
|
-
return
|
|
623
|
+
return v(t), z({
|
|
616
624
|
...e,
|
|
617
625
|
previousTableName: t
|
|
618
626
|
});
|
|
@@ -685,13 +693,20 @@ var r = (e) => {
|
|
|
685
693
|
validatePatchSchema: n.partial(t)
|
|
686
694
|
}))
|
|
687
695
|
};
|
|
688
|
-
},
|
|
689
|
-
|
|
690
|
-
let n =
|
|
691
|
-
|
|
696
|
+
}, Le = (e, t) => {
|
|
697
|
+
v(e);
|
|
698
|
+
let n = Object.entries(t).flatMap(([e, t]) => {
|
|
699
|
+
let n = p(t);
|
|
700
|
+
return n === void 0 ? [] : [{
|
|
701
|
+
column: e,
|
|
702
|
+
...n
|
|
703
|
+
}];
|
|
704
|
+
}), r = Ie(d(t), e);
|
|
705
|
+
for (let t of Object.keys(r)) y(e, t);
|
|
692
706
|
return z({
|
|
707
|
+
appliedPluginRefs: n,
|
|
693
708
|
tableName: e,
|
|
694
|
-
fields:
|
|
709
|
+
fields: r,
|
|
695
710
|
isReactive: !0,
|
|
696
711
|
appliedMixins: [],
|
|
697
712
|
appliedIndexes: [],
|
|
@@ -699,7 +714,7 @@ var r = (e) => {
|
|
|
699
714
|
appliedFullText: [],
|
|
700
715
|
appliedChecks: []
|
|
701
716
|
});
|
|
702
|
-
},
|
|
717
|
+
}, B = (e) => e === "sqlite" || e === "turso", V = (e, t) => {
|
|
703
718
|
switch (t) {
|
|
704
719
|
case "mysql":
|
|
705
720
|
case "mariadb": return `\`${e}\``;
|
|
@@ -708,51 +723,51 @@ var r = (e) => {
|
|
|
708
723
|
case "sqlite":
|
|
709
724
|
case "turso": return `"${e}"`;
|
|
710
725
|
}
|
|
711
|
-
},
|
|
712
|
-
let t =
|
|
726
|
+
}, H = Symbol.for("@voltro/database/tableRegistry"), U = globalThis, W = U[H] ?? (U[H] = /* @__PURE__ */ new Map()), G = (e) => {
|
|
727
|
+
let t = W.get(e.tableName);
|
|
713
728
|
if (t === void 0) {
|
|
714
|
-
|
|
729
|
+
W.set(e.tableName, e);
|
|
715
730
|
return;
|
|
716
731
|
}
|
|
717
732
|
if (t !== e) throw Error(`duplicate table '${e.tableName}' registration: two different table descriptors claim the same name. Rename one or import the shared module that defines it.`);
|
|
718
|
-
},
|
|
719
|
-
|
|
720
|
-
},
|
|
721
|
-
let t =
|
|
733
|
+
}, Re = (e) => {
|
|
734
|
+
W.get(e.tableName) === void 0 && W.set(e.tableName, e);
|
|
735
|
+
}, K = (e) => W.get(e), ze = (e) => {
|
|
736
|
+
let t = W.get(e);
|
|
722
737
|
if (t === void 0) throw Error(`table '${e}' is not registered. Register it by wrapping it in \`databaseHandle({ ... })\` (the usual path) or call \`registerTable(t)\` explicitly before this runs. Note a \`queryFor(t)\` query carries its own source table, so eager-loads don't hit this — this error means a reconstructed descriptor or by-name tooling reached an unregistered table.`);
|
|
723
738
|
return t;
|
|
724
|
-
},
|
|
725
|
-
|
|
726
|
-
},
|
|
739
|
+
}, Be = () => [...W.values()], Ve = () => {
|
|
740
|
+
W.clear();
|
|
741
|
+
}, He = (e) => W.get(e)?.isReactive !== !1, Ue = (e) => ({
|
|
727
742
|
op: "count",
|
|
728
743
|
alias: e ?? "count"
|
|
729
|
-
}),
|
|
744
|
+
}), We = (e, t) => ({
|
|
730
745
|
op: "count-distinct",
|
|
731
746
|
column: e,
|
|
732
747
|
alias: t ?? `count_distinct_${e}`
|
|
733
|
-
}),
|
|
748
|
+
}), Ge = (e, t) => ({
|
|
734
749
|
op: "sum",
|
|
735
750
|
column: e,
|
|
736
751
|
alias: t ?? `sum_${e}`
|
|
737
|
-
}),
|
|
752
|
+
}), Ke = (e, t) => ({
|
|
738
753
|
op: "avg",
|
|
739
754
|
column: e,
|
|
740
755
|
alias: t ?? `avg_${e}`
|
|
741
|
-
}),
|
|
756
|
+
}), qe = (e, t) => ({
|
|
742
757
|
op: "min",
|
|
743
758
|
column: e,
|
|
744
759
|
alias: t ?? `min_${e}`
|
|
745
|
-
}),
|
|
760
|
+
}), Je = (e, t) => ({
|
|
746
761
|
op: "max",
|
|
747
762
|
column: e,
|
|
748
763
|
alias: t ?? `max_${e}`
|
|
749
|
-
}),
|
|
764
|
+
}), Ye = (e, t) => ({
|
|
750
765
|
op: "column",
|
|
751
766
|
column: e,
|
|
752
767
|
alias: t ?? e
|
|
753
|
-
}),
|
|
768
|
+
}), q = (e) => (...t) => {
|
|
754
769
|
if (t.length < 2) throw Error(`${e}: requires at least two queries`);
|
|
755
|
-
return
|
|
770
|
+
return X({
|
|
756
771
|
table: t[0].descriptor.table,
|
|
757
772
|
predicate: void 0,
|
|
758
773
|
order: [],
|
|
@@ -764,55 +779,55 @@ var r = (e) => {
|
|
|
764
779
|
queries: t.map((e) => e.descriptor)
|
|
765
780
|
}
|
|
766
781
|
});
|
|
767
|
-
},
|
|
782
|
+
}, Xe = q("union"), Ze = q("union-all"), Qe = q("intersect"), $e = q("except"), J = (e) => ({ over: (t) => ({
|
|
768
783
|
...e,
|
|
769
784
|
window: t
|
|
770
|
-
}) }),
|
|
785
|
+
}) }), et = (e = "rowNumber") => J({
|
|
771
786
|
op: "window-row-number",
|
|
772
787
|
alias: e
|
|
773
|
-
}),
|
|
788
|
+
}), tt = (e = "rank") => J({
|
|
774
789
|
op: "window-rank",
|
|
775
790
|
alias: e
|
|
776
|
-
}),
|
|
791
|
+
}), nt = (e = "denseRank") => J({
|
|
777
792
|
op: "window-dense-rank",
|
|
778
793
|
alias: e
|
|
779
|
-
}),
|
|
794
|
+
}), rt = (e, t = 1, n) => J({
|
|
780
795
|
op: "window-lag",
|
|
781
796
|
column: e,
|
|
782
797
|
alias: n ?? `lag_${e}`,
|
|
783
798
|
offset: t
|
|
784
|
-
}),
|
|
799
|
+
}), it = (e, t = 1, n) => J({
|
|
785
800
|
op: "window-lead",
|
|
786
801
|
column: e,
|
|
787
802
|
alias: n ?? `lead_${e}`,
|
|
788
803
|
offset: t
|
|
789
|
-
}),
|
|
804
|
+
}), at = (e, t) => J({
|
|
790
805
|
op: "window-sum-over",
|
|
791
806
|
column: e,
|
|
792
807
|
alias: t ?? `sum_${e}_over`
|
|
793
|
-
}),
|
|
808
|
+
}), ot = (e, t) => J({
|
|
794
809
|
op: "window-avg-over",
|
|
795
810
|
column: e,
|
|
796
811
|
alias: t ?? `avg_${e}_over`
|
|
797
|
-
}),
|
|
798
|
-
let r = n?.find((e) => e.name === t) ??
|
|
812
|
+
}), Y = (e, t, n) => {
|
|
813
|
+
let r = n?.find((e) => e.name === t) ?? K(e)?.appliedFullText?.find((e) => e.name === t);
|
|
799
814
|
if (r === void 0) throw Error(`.matching('${t}', ...): no full-text index named '${t}' is declared on table '${e}'. Declare it with \`table(...).fullTextIndex('${t}', [columns])\` first.`);
|
|
800
815
|
return {
|
|
801
816
|
columns: r.columns,
|
|
802
817
|
...r.config === void 0 ? {} : { config: r.config },
|
|
803
818
|
...r.weights === void 0 ? {} : { weights: r.weights }
|
|
804
819
|
};
|
|
805
|
-
},
|
|
820
|
+
}, X = (e) => ({
|
|
806
821
|
descriptor: e,
|
|
807
822
|
where(t) {
|
|
808
823
|
let n = e.predicate ? { and: [e.predicate, t] } : t;
|
|
809
|
-
return
|
|
824
|
+
return X({
|
|
810
825
|
...e,
|
|
811
826
|
predicate: n
|
|
812
827
|
});
|
|
813
828
|
},
|
|
814
829
|
orderBy(t, n = "asc") {
|
|
815
|
-
return
|
|
830
|
+
return X({
|
|
816
831
|
...e,
|
|
817
832
|
order: [...e.order, {
|
|
818
833
|
column: t,
|
|
@@ -821,37 +836,37 @@ var r = (e) => {
|
|
|
821
836
|
});
|
|
822
837
|
},
|
|
823
838
|
limit(t) {
|
|
824
|
-
return
|
|
839
|
+
return X({
|
|
825
840
|
...e,
|
|
826
841
|
take: t
|
|
827
842
|
});
|
|
828
843
|
},
|
|
829
844
|
offset(t) {
|
|
830
|
-
return
|
|
845
|
+
return X({
|
|
831
846
|
...e,
|
|
832
847
|
skip: t
|
|
833
848
|
});
|
|
834
849
|
},
|
|
835
850
|
select(...t) {
|
|
836
|
-
return
|
|
851
|
+
return X({
|
|
837
852
|
...e,
|
|
838
853
|
projection: t
|
|
839
854
|
});
|
|
840
855
|
},
|
|
841
856
|
using(t) {
|
|
842
|
-
return
|
|
857
|
+
return X({
|
|
843
858
|
...e,
|
|
844
859
|
usingIndex: t
|
|
845
860
|
});
|
|
846
861
|
},
|
|
847
862
|
withDeleted() {
|
|
848
|
-
return
|
|
863
|
+
return X({
|
|
849
864
|
...e,
|
|
850
865
|
includeDeleted: !0
|
|
851
866
|
});
|
|
852
867
|
},
|
|
853
868
|
unscoped() {
|
|
854
|
-
return
|
|
869
|
+
return X({
|
|
855
870
|
...e,
|
|
856
871
|
crossTenant: !0
|
|
857
872
|
});
|
|
@@ -861,13 +876,13 @@ var r = (e) => {
|
|
|
861
876
|
...e.eager ?? {},
|
|
862
877
|
...t
|
|
863
878
|
};
|
|
864
|
-
return
|
|
879
|
+
return X({
|
|
865
880
|
...e,
|
|
866
881
|
eager: n
|
|
867
882
|
});
|
|
868
883
|
},
|
|
869
884
|
count() {
|
|
870
|
-
return
|
|
885
|
+
return X({
|
|
871
886
|
...e,
|
|
872
887
|
projection: void 0,
|
|
873
888
|
aggregations: [{
|
|
@@ -881,15 +896,15 @@ var r = (e) => {
|
|
|
881
896
|
...t,
|
|
882
897
|
alias: e
|
|
883
898
|
}));
|
|
884
|
-
return
|
|
899
|
+
return X({
|
|
885
900
|
...e,
|
|
886
901
|
projection: void 0,
|
|
887
902
|
aggregations: n
|
|
888
903
|
});
|
|
889
904
|
},
|
|
890
905
|
matching(t, n) {
|
|
891
|
-
let r =
|
|
892
|
-
return
|
|
906
|
+
let r = Y(e.table, t, e.fullTextIndexes);
|
|
907
|
+
return X({
|
|
893
908
|
...e,
|
|
894
909
|
fullTextSearch: {
|
|
895
910
|
indexName: t,
|
|
@@ -903,7 +918,7 @@ var r = (e) => {
|
|
|
903
918
|
rankBy(t) {
|
|
904
919
|
let n = e.fullTextSearch;
|
|
905
920
|
if (n === void 0) throw Error(".rankBy() requires a preceding .matching(...) clause — there is no full-text search to rank on this query.");
|
|
906
|
-
return
|
|
921
|
+
return X({
|
|
907
922
|
...e,
|
|
908
923
|
fullTextSearch: {
|
|
909
924
|
...n,
|
|
@@ -922,7 +937,7 @@ var r = (e) => {
|
|
|
922
937
|
distance: r?.distance ?? "cosine",
|
|
923
938
|
...e.annClause?.ef === void 0 ? {} : { ef: e.annClause.ef }
|
|
924
939
|
};
|
|
925
|
-
return
|
|
940
|
+
return X({
|
|
926
941
|
...e,
|
|
927
942
|
annClause: i
|
|
928
943
|
});
|
|
@@ -934,7 +949,7 @@ var r = (e) => {
|
|
|
934
949
|
distance: "cosine",
|
|
935
950
|
...e.annClause?.ef === void 0 ? {} : { ef: e.annClause.ef }
|
|
936
951
|
};
|
|
937
|
-
return
|
|
952
|
+
return X({
|
|
938
953
|
...e,
|
|
939
954
|
annClause: r,
|
|
940
955
|
take: n
|
|
@@ -947,7 +962,7 @@ var r = (e) => {
|
|
|
947
962
|
column: "",
|
|
948
963
|
distance: "cosine"
|
|
949
964
|
};
|
|
950
|
-
return
|
|
965
|
+
return X({
|
|
951
966
|
...e,
|
|
952
967
|
annClause: {
|
|
953
968
|
...n,
|
|
@@ -956,22 +971,22 @@ var r = (e) => {
|
|
|
956
971
|
});
|
|
957
972
|
},
|
|
958
973
|
use(t) {
|
|
959
|
-
return
|
|
974
|
+
return X({ ...t(e) });
|
|
960
975
|
},
|
|
961
976
|
distinct() {
|
|
962
|
-
return
|
|
977
|
+
return X({
|
|
963
978
|
...e,
|
|
964
979
|
distinct: !0
|
|
965
980
|
});
|
|
966
981
|
},
|
|
967
982
|
distinctOn(t) {
|
|
968
|
-
return
|
|
983
|
+
return X({
|
|
969
984
|
...e,
|
|
970
985
|
distinctOn: [...t]
|
|
971
986
|
});
|
|
972
987
|
},
|
|
973
988
|
as(t) {
|
|
974
|
-
return
|
|
989
|
+
return X({
|
|
975
990
|
...e,
|
|
976
991
|
alias: t
|
|
977
992
|
});
|
|
@@ -983,7 +998,7 @@ var r = (e) => {
|
|
|
983
998
|
alias: n,
|
|
984
999
|
on: r
|
|
985
1000
|
}];
|
|
986
|
-
return
|
|
1001
|
+
return X({
|
|
987
1002
|
...e,
|
|
988
1003
|
joins: a
|
|
989
1004
|
});
|
|
@@ -995,7 +1010,7 @@ var r = (e) => {
|
|
|
995
1010
|
alias: n,
|
|
996
1011
|
on: r
|
|
997
1012
|
}];
|
|
998
|
-
return
|
|
1013
|
+
return X({
|
|
999
1014
|
...e,
|
|
1000
1015
|
joins: a
|
|
1001
1016
|
});
|
|
@@ -1005,7 +1020,7 @@ var r = (e) => {
|
|
|
1005
1020
|
outputKey: e,
|
|
1006
1021
|
source: t
|
|
1007
1022
|
}));
|
|
1008
|
-
return
|
|
1023
|
+
return X({
|
|
1009
1024
|
...e,
|
|
1010
1025
|
projection: void 0,
|
|
1011
1026
|
joinedProjection: n
|
|
@@ -1014,7 +1029,7 @@ var r = (e) => {
|
|
|
1014
1029
|
withCte(t, n) {
|
|
1015
1030
|
let r = e.ctes ?? [];
|
|
1016
1031
|
if (r.some((e) => e.name === t)) throw Error(`Query.withCte: duplicate CTE name '${t}'`);
|
|
1017
|
-
return
|
|
1032
|
+
return X({
|
|
1018
1033
|
...e,
|
|
1019
1034
|
ctes: [...r, {
|
|
1020
1035
|
name: t,
|
|
@@ -1025,7 +1040,7 @@ var r = (e) => {
|
|
|
1025
1040
|
recursiveCte(t, n) {
|
|
1026
1041
|
let r = e.ctes ?? [];
|
|
1027
1042
|
if (r.some((e) => e.name === t)) throw Error(`Query.recursiveCte: duplicate CTE name '${t}'`);
|
|
1028
|
-
return
|
|
1043
|
+
return X({
|
|
1029
1044
|
...e,
|
|
1030
1045
|
ctes: [...r, {
|
|
1031
1046
|
name: t,
|
|
@@ -1036,20 +1051,20 @@ var r = (e) => {
|
|
|
1036
1051
|
},
|
|
1037
1052
|
groupBy(t) {
|
|
1038
1053
|
let n = e.groupBy ? [...e.groupBy, ...t] : [...t];
|
|
1039
|
-
return
|
|
1054
|
+
return X({
|
|
1040
1055
|
...e,
|
|
1041
1056
|
groupBy: n
|
|
1042
1057
|
});
|
|
1043
1058
|
},
|
|
1044
1059
|
having(t) {
|
|
1045
1060
|
let n = e.having ? { and: [e.having, t] } : t;
|
|
1046
|
-
return
|
|
1061
|
+
return X({
|
|
1047
1062
|
...e,
|
|
1048
1063
|
having: n
|
|
1049
1064
|
});
|
|
1050
1065
|
},
|
|
1051
1066
|
exists() {
|
|
1052
|
-
return
|
|
1067
|
+
return X({
|
|
1053
1068
|
...e,
|
|
1054
1069
|
projection: void 0,
|
|
1055
1070
|
aggregations: [{
|
|
@@ -1060,8 +1075,8 @@ var r = (e) => {
|
|
|
1060
1075
|
});
|
|
1061
1076
|
}
|
|
1062
1077
|
});
|
|
1063
|
-
function
|
|
1064
|
-
return
|
|
1078
|
+
function Z(e) {
|
|
1079
|
+
return X({
|
|
1065
1080
|
table: e.tableName,
|
|
1066
1081
|
predicate: void 0,
|
|
1067
1082
|
order: [],
|
|
@@ -1072,7 +1087,7 @@ function X(e) {
|
|
|
1072
1087
|
sourceTable: e
|
|
1073
1088
|
});
|
|
1074
1089
|
}
|
|
1075
|
-
var
|
|
1090
|
+
var st = (e, t, n) => Q(e, "id", t, n), Q = (e, t, n, r, i = "asc") => {
|
|
1076
1091
|
let a = [...e.order.filter((e) => e.column !== t), {
|
|
1077
1092
|
column: t,
|
|
1078
1093
|
direction: i
|
|
@@ -1087,21 +1102,21 @@ var at = (e, t, n) => Z(e, "id", t, n), Z = (e, t, n, r, i = "asc") => {
|
|
|
1087
1102
|
order: a,
|
|
1088
1103
|
take: r
|
|
1089
1104
|
};
|
|
1090
|
-
},
|
|
1105
|
+
}, ct = (e) => {
|
|
1091
1106
|
let t = {};
|
|
1092
|
-
for (let [n, r] of Object.entries(e))
|
|
1107
|
+
for (let [n, r] of Object.entries(e)) G(r), t[n] = Z(r);
|
|
1093
1108
|
return t;
|
|
1094
|
-
},
|
|
1095
|
-
if (
|
|
1096
|
-
let r =
|
|
1097
|
-
for (let t of Object.keys(r))
|
|
1109
|
+
}, lt = (e) => e.isView === !0, ut = (e, t, n) => {
|
|
1110
|
+
if (v(e), n.trim().length === 0) throw Error(`view('${e}', …): the SELECT body is empty — a view must define a query.`);
|
|
1111
|
+
let r = d(t);
|
|
1112
|
+
for (let t of Object.keys(r)) y(e, t);
|
|
1098
1113
|
return {
|
|
1099
1114
|
tableName: e,
|
|
1100
1115
|
fields: r,
|
|
1101
1116
|
isView: !0,
|
|
1102
1117
|
viewSelect: n
|
|
1103
1118
|
};
|
|
1104
|
-
},
|
|
1119
|
+
}, dt = (e) => Z({
|
|
1105
1120
|
...e,
|
|
1106
1121
|
isReactive: !1,
|
|
1107
1122
|
appliedMixins: [],
|
|
@@ -1109,8 +1124,8 @@ var at = (e, t, n) => Z(e, "id", t, n), Z = (e, t, n, r, i = "asc") => {
|
|
|
1109
1124
|
appliedUniques: [],
|
|
1110
1125
|
appliedFullText: [],
|
|
1111
1126
|
appliedChecks: []
|
|
1112
|
-
}),
|
|
1113
|
-
let r = n === null ?
|
|
1127
|
+
}), ft = (e, t, n = null) => {
|
|
1128
|
+
let r = n === null ? V(e.tableName, t) : `${V(n, t)}.${V(e.tableName, t)}`, i = e.viewSelect.trim();
|
|
1114
1129
|
switch (t) {
|
|
1115
1130
|
case "postgres":
|
|
1116
1131
|
case "mysql":
|
|
@@ -1119,16 +1134,16 @@ var at = (e, t, n) => Z(e, "id", t, n), Z = (e, t, n, r, i = "asc") => {
|
|
|
1119
1134
|
case "sqlite":
|
|
1120
1135
|
case "turso": return `DROP VIEW IF EXISTS ${r};\nCREATE VIEW ${r} AS ${i};`;
|
|
1121
1136
|
}
|
|
1122
|
-
},
|
|
1137
|
+
}, pt = /^[A-Za-z_][A-Za-z0-9_]*$/, mt = (e) => "$" + e.map((e) => typeof e == "number" ? `[${e}]` : pt.test(e) ? `.${e}` : `."${e.replace(/"/g, "\\\"")}"`).join(""), ht = (e) => "{" + e.map((e) => {
|
|
1123
1138
|
let t = String(e);
|
|
1124
1139
|
return /^[A-Za-z0-9_]+$/.test(t) ? t : `"${t.replace(/(["\\])/g, "\\$1")}"`;
|
|
1125
|
-
}).join(",") + "}",
|
|
1126
|
-
let i =
|
|
1140
|
+
}).join(",") + "}", gt = (e, t, n, r = {}) => {
|
|
1141
|
+
let i = V(e, n), a = r.numeric ?? !1;
|
|
1127
1142
|
if (n === "postgres") {
|
|
1128
|
-
let e = `(${i} #>> '${
|
|
1143
|
+
let e = `(${i} #>> '${ht(t)}'::text[])`;
|
|
1129
1144
|
return a ? `${e}::numeric` : e;
|
|
1130
1145
|
}
|
|
1131
|
-
let o =
|
|
1146
|
+
let o = mt(t);
|
|
1132
1147
|
switch (n) {
|
|
1133
1148
|
case "mysql":
|
|
1134
1149
|
case "mariadb": {
|
|
@@ -1145,10 +1160,10 @@ var at = (e, t, n) => Z(e, "id", t, n), Z = (e, t, n, r, i = "asc") => {
|
|
|
1145
1160
|
return a ? `CAST(${e} AS REAL)` : e;
|
|
1146
1161
|
}
|
|
1147
1162
|
}
|
|
1148
|
-
},
|
|
1163
|
+
}, _t = (e) => {
|
|
1149
1164
|
if (!e.id || e.id.length === 0) throw Error("migration: `id` is required + must be non-empty");
|
|
1150
1165
|
if (!e.up || !e.down) throw Error(`migration ${e.id}: both \`up\` and \`down\` must be functions`);
|
|
1151
1166
|
return e;
|
|
1152
|
-
},
|
|
1167
|
+
}, vt = /^\d{8}_\d{6}_[a-z0-9_]+\.ts$/, yt = (e) => typeof e == "object" && !!e && "id" in e && "up" in e && "down" in e && typeof e.id == "string" && typeof e.up == "function" && typeof e.down == "function", $ = /* @__PURE__ */ new Set(["voltro_isr_cache"]), bt = (e) => $.has(e) || e.startsWith("_voltro_") || e.startsWith("_cloud_") || e.startsWith("cluster_"), xt = /__dropped_\d{14}$/, St = (e) => xt.test(e);
|
|
1153
1168
|
//#endregion
|
|
1154
|
-
export { N as $,
|
|
1169
|
+
export { N as $, et as A, d as At, G as B, Je as C, l as Ct, Z as D, ee as Dt, st as E, o as Et, Be as F, r as Ft, Me as G, B as H, Ve as I, s as It, je as J, Le as K, Re as L, oe as Lt, at as M, he as Mt, Xe as N, te as Nt, tt as O, fe as Ot, Ze as P, ue as Pt, Ae as Q, K as R, u as Rt, it as S, c as St, Q as T, me as Tt, V as U, ze as V, Pe as W, F as X, P as Y, M as Z, ct as _, re as _t, yt as a, y as at, Qe as b, se as bt, lt as c, x as ct, ft as d, _e as dt, j as et, Ke as f, ve as ft, We as g, de as gt, Ue as h, i as ht, vt as i, Ce as it, Ge as j, ne as jt, Y as k, ce as kt, dt as l, ye as lt, Ye as m, p as mt, bt as n, xe as nt, _t as o, b as ot, ot as p, ge as pt, Ne as q, St as r, Se as rt, gt as s, v as st, $ as t, Oe as tt, ut as u, be as ut, nt as v, ae as vt, qe as w, pe as wt, rt as x, ie as xt, $e as y, le as yt, He as z };
|