@rudderjs/orm-drizzle 1.1.0 → 1.3.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/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +306 -10
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -37,6 +37,10 @@ export declare class DrizzleAdapter implements OrmAdapter {
|
|
|
37
37
|
private constructor();
|
|
38
38
|
static make(config: DrizzleConfig): Promise<DrizzleAdapter>;
|
|
39
39
|
query<T>(table: string): QueryBuilder<T>;
|
|
40
|
+
/** @internal — resolve a table by name across both the constructor-provided
|
|
41
|
+
* `tables` map and the global `DrizzleTableRegistry`. Returns `undefined`
|
|
42
|
+
* when unknown so callers can throw a relation-aware error. */
|
|
43
|
+
resolveTable(name: string): unknown;
|
|
40
44
|
connect(): Promise<void>;
|
|
41
45
|
disconnect(): Promise<void>;
|
|
42
46
|
}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { eq, ne, gt, gte, lt, lte, like, inArray, notInArray, isNull, isNotNull, and, or, asc, desc, count as sqlCount, sql, } from 'drizzle-orm';
|
|
1
|
+
import { eq, ne, gt, gte, lt, lte, like, inArray, notInArray, isNull, isNotNull, and, or, asc, desc, count as sqlCount, sql, exists, notExists, getTableColumns, } from 'drizzle-orm';
|
|
2
2
|
// ─── Global Table Registry ─────────────────────────────────
|
|
3
3
|
export class DrizzleTableRegistry {
|
|
4
4
|
static tables = new Map();
|
|
@@ -9,11 +9,22 @@ export class DrizzleTableRegistry {
|
|
|
9
9
|
return this.tables.get(name);
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
+
/** @internal — combine SQL exprs with AND. Single-element returns as-is so
|
|
13
|
+
* callers don't pay an extra wrap. Empty input returns a tautology so
|
|
14
|
+
* EXISTS subqueries with no inner predicate stay valid. */
|
|
15
|
+
function _andSql(exprs) {
|
|
16
|
+
if (exprs.length === 0)
|
|
17
|
+
return sql `1 = 1`;
|
|
18
|
+
if (exprs.length === 1)
|
|
19
|
+
return exprs[0];
|
|
20
|
+
return and(...exprs);
|
|
21
|
+
}
|
|
12
22
|
// ─── Drizzle Query Builder ─────────────────────────────────
|
|
13
23
|
class DrizzleQueryBuilder {
|
|
14
24
|
db;
|
|
15
25
|
table;
|
|
16
26
|
primaryKey;
|
|
27
|
+
resolveTable;
|
|
17
28
|
_wheres = [];
|
|
18
29
|
_orWheres = [];
|
|
19
30
|
_orders = [];
|
|
@@ -22,10 +33,34 @@ class DrizzleQueryBuilder {
|
|
|
22
33
|
_withTrashed = false;
|
|
23
34
|
_onlyTrashed = false;
|
|
24
35
|
_softDeletes = false;
|
|
25
|
-
|
|
36
|
+
/** Extra SQL expressions AND-merged into buildConditions(). Populated by
|
|
37
|
+
* whereRelationExists with `EXISTS` / `NOT EXISTS` correlated subqueries
|
|
38
|
+
* and by `whereGroup` with the sub-builder's combined SQL. */
|
|
39
|
+
_extraExprs = [];
|
|
40
|
+
/** OR-merged SQL expressions. Populated by `orWhereGroup` — each entry is
|
|
41
|
+
* added to the top-level OR list alongside flat `_orWheres`. */
|
|
42
|
+
_orExtraExprs = [];
|
|
43
|
+
/** Aggregate eager-load requests. Each becomes one correlated subselect in
|
|
44
|
+
* the SELECT list of the main query (run once per terminal call). */
|
|
45
|
+
_aggregates = [];
|
|
46
|
+
/** When true, terminal methods throw — sub-builders are for `where*` chaining only. */
|
|
47
|
+
_isSubBuilder = false;
|
|
48
|
+
constructor(db, table, primaryKey,
|
|
49
|
+
/** Resolves a table name to its drizzle table object. Required for
|
|
50
|
+
* whereRelationExists to build correlated subqueries against the
|
|
51
|
+
* related (and pivot) tables. */
|
|
52
|
+
resolveTable) {
|
|
26
53
|
this.db = db;
|
|
27
54
|
this.table = table;
|
|
28
55
|
this.primaryKey = primaryKey;
|
|
56
|
+
this.resolveTable = resolveTable;
|
|
57
|
+
}
|
|
58
|
+
/** @internal — mark this builder as a sub-builder so terminals throw. */
|
|
59
|
+
_markSubBuilder() { this._isSubBuilder = true; return this; }
|
|
60
|
+
_assertNotSubBuilder() {
|
|
61
|
+
if (this._isSubBuilder) {
|
|
62
|
+
throw new Error('[RudderJS ORM] Sub-builder is for where* chaining only — call get() on the parent builder.');
|
|
63
|
+
}
|
|
29
64
|
}
|
|
30
65
|
where(column, operatorOrValue, value) {
|
|
31
66
|
if (value === undefined) {
|
|
@@ -45,6 +80,24 @@ class DrizzleQueryBuilder {
|
|
|
45
80
|
}
|
|
46
81
|
return this;
|
|
47
82
|
}
|
|
83
|
+
whereGroup(fn) {
|
|
84
|
+
const sub = new DrizzleQueryBuilder(this.db, this.table, this.primaryKey, this.resolveTable)
|
|
85
|
+
._markSubBuilder();
|
|
86
|
+
fn(sub);
|
|
87
|
+
const expr = sub.buildConditions();
|
|
88
|
+
if (expr)
|
|
89
|
+
this._extraExprs.push(expr);
|
|
90
|
+
return this;
|
|
91
|
+
}
|
|
92
|
+
orWhereGroup(fn) {
|
|
93
|
+
const sub = new DrizzleQueryBuilder(this.db, this.table, this.primaryKey, this.resolveTable)
|
|
94
|
+
._markSubBuilder();
|
|
95
|
+
fn(sub);
|
|
96
|
+
const expr = sub.buildConditions();
|
|
97
|
+
if (expr)
|
|
98
|
+
this._orExtraExprs.push(expr);
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
48
101
|
orderBy(column, direction = 'ASC') {
|
|
49
102
|
this._orders.push({ column, direction });
|
|
50
103
|
return this;
|
|
@@ -57,6 +110,11 @@ class DrizzleQueryBuilder {
|
|
|
57
110
|
// contract compatible across adapters; use Drizzle's relational query API
|
|
58
111
|
// directly when you need eager loading.
|
|
59
112
|
with(..._relations) { return this; }
|
|
113
|
+
// No-op at the adapter level — pivot column projection is handled in the
|
|
114
|
+
// ORM's deferred-QB closure (see `_belongsToManyDeferredQb` and morph
|
|
115
|
+
// siblings). Apps calling `Model.query().withPivot(...)` outside a pivot
|
|
116
|
+
// relation get a silent no-op.
|
|
117
|
+
withPivot(..._columns) { return this; }
|
|
60
118
|
withTrashed() { this._withTrashed = true; return this; }
|
|
61
119
|
onlyTrashed() { this._onlyTrashed = true; return this; }
|
|
62
120
|
/** @internal — called by Model to enable automatic soft delete filtering */
|
|
@@ -64,8 +122,18 @@ class DrizzleQueryBuilder {
|
|
|
64
122
|
col(column) {
|
|
65
123
|
return this.table[column];
|
|
66
124
|
}
|
|
125
|
+
/** @internal — resolve a column on an arbitrary table; shared with the
|
|
126
|
+
* whereRelationExists subquery builder. */
|
|
127
|
+
colOf(table, column) {
|
|
128
|
+
return table[column];
|
|
129
|
+
}
|
|
67
130
|
clauseToExpr(clause) {
|
|
68
|
-
|
|
131
|
+
return this.clauseToExprOn(this.table, clause);
|
|
132
|
+
}
|
|
133
|
+
/** Same shape as clauseToExpr but parameterised by the column owner —
|
|
134
|
+
* used to AND constraint clauses into a whereHas inner subquery. */
|
|
135
|
+
clauseToExprOn(table, clause) {
|
|
136
|
+
const col = this.colOf(table, clause.column);
|
|
69
137
|
switch (clause.operator) {
|
|
70
138
|
case '=': return eq(col, clause.value);
|
|
71
139
|
case '!=': return ne(col, clause.value);
|
|
@@ -82,6 +150,194 @@ class DrizzleQueryBuilder {
|
|
|
82
150
|
}
|
|
83
151
|
}
|
|
84
152
|
}
|
|
153
|
+
whereRelationExists(p) {
|
|
154
|
+
const Related = this.resolveTable(p.relatedTable);
|
|
155
|
+
if (!Related) {
|
|
156
|
+
throw new Error(`[RudderJS ORM Drizzle] whereRelationExists: no table schema registered for "${p.relatedTable}". ` +
|
|
157
|
+
`Pass tables: { ${p.relatedTable}: ... } in drizzle() config.`);
|
|
158
|
+
}
|
|
159
|
+
const parentCol = this.col(p.parentColumn);
|
|
160
|
+
if (p.through) {
|
|
161
|
+
// Pivot path — two-step EXISTS:
|
|
162
|
+
// EXISTS (
|
|
163
|
+
// SELECT 1 FROM pivot
|
|
164
|
+
// WHERE pivot.foreignPivotKey = parent.parentColumn
|
|
165
|
+
// AND <extraEquals>
|
|
166
|
+
// AND EXISTS (
|
|
167
|
+
// SELECT 1 FROM related
|
|
168
|
+
// WHERE related.relatedColumn = pivot.relatedPivotKey
|
|
169
|
+
// AND <constraintWheres>
|
|
170
|
+
// )
|
|
171
|
+
// )
|
|
172
|
+
const Pivot = this.resolveTable(p.through.pivotTable);
|
|
173
|
+
if (!Pivot) {
|
|
174
|
+
throw new Error(`[RudderJS ORM Drizzle] whereRelationExists: no table schema registered for pivot "${p.through.pivotTable}".`);
|
|
175
|
+
}
|
|
176
|
+
const pivotForeignCol = this.colOf(Pivot, p.through.foreignPivotKey);
|
|
177
|
+
const pivotRelatedCol = this.colOf(Pivot, p.through.relatedPivotKey);
|
|
178
|
+
const relatedRelCol = this.colOf(Related, p.relatedColumn);
|
|
179
|
+
const innerExprs = [eq(relatedRelCol, pivotRelatedCol)];
|
|
180
|
+
for (const w of p.constraintWheres)
|
|
181
|
+
innerExprs.push(this.clauseToExprOn(Related, w));
|
|
182
|
+
const innerSelect = this.db.select().from(Related).where(_andSql(innerExprs));
|
|
183
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
184
|
+
const pivotExprs = [eq(pivotForeignCol, parentCol), exists(innerSelect)];
|
|
185
|
+
for (const [k, v] of Object.entries(p.extraEquals ?? {})) {
|
|
186
|
+
pivotExprs.push(eq(this.colOf(Pivot, k), v));
|
|
187
|
+
}
|
|
188
|
+
const pivotSelect = this.db.select().from(Pivot).where(_andSql(pivotExprs));
|
|
189
|
+
// Cast through `unknown` to side-step the local DrizzleQB type — the
|
|
190
|
+
// real drizzle select implements SQLWrapper, but our stripped interface
|
|
191
|
+
// doesn't expose `getSQL`. exists()/notExists() runtime accepts it.
|
|
192
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
193
|
+
this._extraExprs.push((p.exists ? exists(pivotSelect) : notExists(pivotSelect)));
|
|
194
|
+
return this;
|
|
195
|
+
}
|
|
196
|
+
// Direct path — single correlated EXISTS.
|
|
197
|
+
const relatedRelCol = this.colOf(Related, p.relatedColumn);
|
|
198
|
+
const exprs = [eq(relatedRelCol, parentCol)];
|
|
199
|
+
for (const w of p.constraintWheres)
|
|
200
|
+
exprs.push(this.clauseToExprOn(Related, w));
|
|
201
|
+
for (const [k, v] of Object.entries(p.extraEquals ?? {})) {
|
|
202
|
+
exprs.push(eq(this.colOf(Related, k), v));
|
|
203
|
+
}
|
|
204
|
+
const inner = this.db.select().from(Related).where(_andSql(exprs));
|
|
205
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
206
|
+
this._extraExprs.push((p.exists ? exists(inner) : notExists(inner)));
|
|
207
|
+
return this;
|
|
208
|
+
}
|
|
209
|
+
// withConstrained intentionally not implemented yet — Drizzle's relational
|
|
210
|
+
// query API has its own `with(..., { where })` shape we don't currently
|
|
211
|
+
// surface. `withWhereHas` falls back to plain `with()` until we wire it up.
|
|
212
|
+
withAggregate(requests) {
|
|
213
|
+
this._aggregates.push(...requests);
|
|
214
|
+
return this;
|
|
215
|
+
}
|
|
216
|
+
async _aggregate(fn, column) {
|
|
217
|
+
this._assertNotSubBuilder();
|
|
218
|
+
const cond = this.buildConditions();
|
|
219
|
+
const valueExpr = (() => {
|
|
220
|
+
switch (fn) {
|
|
221
|
+
case 'count':
|
|
222
|
+
return sql `COUNT(*)`;
|
|
223
|
+
case 'exists':
|
|
224
|
+
return sql `COUNT(*)`;
|
|
225
|
+
case 'sum':
|
|
226
|
+
return sql `COALESCE(SUM(${this.col(column)}), 0)`;
|
|
227
|
+
case 'min':
|
|
228
|
+
return sql `MIN(${this.col(column)})`;
|
|
229
|
+
case 'max':
|
|
230
|
+
return sql `MAX(${this.col(column)})`;
|
|
231
|
+
case 'avg':
|
|
232
|
+
return sql `AVG(${this.col(column)})`;
|
|
233
|
+
}
|
|
234
|
+
})();
|
|
235
|
+
let q = this.db.select({ value: valueExpr }).from(this.table);
|
|
236
|
+
if (cond)
|
|
237
|
+
q = q.where(cond);
|
|
238
|
+
const result = await q;
|
|
239
|
+
const raw = result[0]?.value;
|
|
240
|
+
if (fn === 'count')
|
|
241
|
+
return Number(raw ?? 0);
|
|
242
|
+
if (fn === 'exists')
|
|
243
|
+
return Number(raw ?? 0) > 0;
|
|
244
|
+
if (raw === null || raw === undefined) {
|
|
245
|
+
return fn === 'sum' ? 0 : null;
|
|
246
|
+
}
|
|
247
|
+
return Number(raw);
|
|
248
|
+
}
|
|
249
|
+
/** @internal — build a correlated subselect SQL fragment for one
|
|
250
|
+
* AggregateRequest. Used by `buildAggregateSelectFields`. */
|
|
251
|
+
_aggregateSubquery(req) {
|
|
252
|
+
const js = req.joinShape;
|
|
253
|
+
const Related = this.resolveTable(js.relatedTable);
|
|
254
|
+
if (!Related) {
|
|
255
|
+
throw new Error(`[RudderJS ORM Drizzle] withAggregate: no table schema registered for "${js.relatedTable}". ` +
|
|
256
|
+
`Pass tables: { ${js.relatedTable}: ... } in drizzle() config.`);
|
|
257
|
+
}
|
|
258
|
+
const parentCol = this.col(js.parentColumn);
|
|
259
|
+
if (js.through) {
|
|
260
|
+
const Pivot = this.resolveTable(js.through.pivotTable);
|
|
261
|
+
if (!Pivot) {
|
|
262
|
+
throw new Error(`[RudderJS ORM Drizzle] withAggregate: no table schema registered for pivot "${js.through.pivotTable}".`);
|
|
263
|
+
}
|
|
264
|
+
const pivotForeignCol = this.colOf(Pivot, js.through.foreignPivotKey);
|
|
265
|
+
const pivotRelatedCol = this.colOf(Pivot, js.through.relatedPivotKey);
|
|
266
|
+
const relatedKeyCol = this.colOf(Related, js.relatedColumn);
|
|
267
|
+
const needJoin = req.fn === 'sum' || req.fn === 'min' || req.fn === 'max' || req.fn === 'avg'
|
|
268
|
+
|| req.constraintWheres.length > 0
|
|
269
|
+
|| js.softDeletes === true;
|
|
270
|
+
const exprs = [eq(pivotForeignCol, parentCol)];
|
|
271
|
+
for (const [k, v] of Object.entries(js.extraEquals ?? {})) {
|
|
272
|
+
exprs.push(eq(this.colOf(Pivot, k), v));
|
|
273
|
+
}
|
|
274
|
+
const fnExpr = this._aggregateFnExpr(req, Related);
|
|
275
|
+
if (!needJoin) {
|
|
276
|
+
// Simple count(*) over pivot rows for this parent.
|
|
277
|
+
const subq = sql `(SELECT ${fnExpr} FROM ${Pivot} WHERE ${_andSql(exprs)})`;
|
|
278
|
+
return req.fn === 'exists' ? sql `(${subq} > 0)` : subq;
|
|
279
|
+
}
|
|
280
|
+
// Join pivot → related so we can apply soft-delete + constraints +
|
|
281
|
+
// numeric aggregates over a related column.
|
|
282
|
+
for (const w of req.constraintWheres)
|
|
283
|
+
exprs.push(this.clauseToExprOn(Related, w));
|
|
284
|
+
if (js.softDeletes) {
|
|
285
|
+
const da = this.colOf(Related, 'deletedAt');
|
|
286
|
+
if (da)
|
|
287
|
+
exprs.push(isNull(da));
|
|
288
|
+
}
|
|
289
|
+
const subq = sql `(SELECT ${fnExpr} FROM ${Pivot} INNER JOIN ${Related} ON ${relatedKeyCol} = ${pivotRelatedCol} WHERE ${_andSql(exprs)})`;
|
|
290
|
+
return req.fn === 'exists' ? sql `(${subq} > 0)` : subq;
|
|
291
|
+
}
|
|
292
|
+
// Direct (no pivot): single subselect on the related table.
|
|
293
|
+
const relatedRelCol = this.colOf(Related, js.relatedColumn);
|
|
294
|
+
const exprs = [eq(relatedRelCol, parentCol)];
|
|
295
|
+
for (const w of req.constraintWheres)
|
|
296
|
+
exprs.push(this.clauseToExprOn(Related, w));
|
|
297
|
+
for (const [k, v] of Object.entries(js.extraEquals ?? {})) {
|
|
298
|
+
exprs.push(eq(this.colOf(Related, k), v));
|
|
299
|
+
}
|
|
300
|
+
if (js.softDeletes) {
|
|
301
|
+
const da = this.colOf(Related, 'deletedAt');
|
|
302
|
+
if (da)
|
|
303
|
+
exprs.push(isNull(da));
|
|
304
|
+
}
|
|
305
|
+
const fnExpr = this._aggregateFnExpr(req, Related);
|
|
306
|
+
const subq = sql `(SELECT ${fnExpr} FROM ${Related} WHERE ${_andSql(exprs)})`;
|
|
307
|
+
return req.fn === 'exists' ? sql `(${subq} > 0)` : subq;
|
|
308
|
+
}
|
|
309
|
+
/** @internal — `COUNT(*)` / `SUM(col)` / etc. SQL fragment, plus the
|
|
310
|
+
* COALESCE wrapping that keeps null-sum from leaking out of an empty
|
|
311
|
+
* matching set. */
|
|
312
|
+
_aggregateFnExpr(req, Related) {
|
|
313
|
+
switch (req.fn) {
|
|
314
|
+
case 'count':
|
|
315
|
+
case 'exists':
|
|
316
|
+
return sql `COUNT(*)`;
|
|
317
|
+
case 'sum':
|
|
318
|
+
return sql `COALESCE(SUM(${this.colOf(Related, req.column)}), 0)`;
|
|
319
|
+
case 'min':
|
|
320
|
+
return sql `MIN(${this.colOf(Related, req.column)})`;
|
|
321
|
+
case 'max':
|
|
322
|
+
return sql `MAX(${this.colOf(Related, req.column)})`;
|
|
323
|
+
case 'avg':
|
|
324
|
+
return sql `AVG(${this.colOf(Related, req.column)})`;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
/** @internal — returns the SELECT-list fields object when aggregates are
|
|
328
|
+
* present, or `null` to signal "default *-select." Mixing the two forms
|
|
329
|
+
* is what lets `db.select(<fields>)` inject named aggregate columns
|
|
330
|
+
* alongside the original table columns. */
|
|
331
|
+
buildAggregateSelectFields() {
|
|
332
|
+
if (this._aggregates.length === 0)
|
|
333
|
+
return null;
|
|
334
|
+
const cols = getTableColumns(this.table);
|
|
335
|
+
const fields = { ...cols };
|
|
336
|
+
for (const req of this._aggregates) {
|
|
337
|
+
fields[req.alias] = this._aggregateSubquery(req);
|
|
338
|
+
}
|
|
339
|
+
return fields;
|
|
340
|
+
}
|
|
85
341
|
softDeleteExpr() {
|
|
86
342
|
if (!this._softDeletes || this._withTrashed)
|
|
87
343
|
return undefined;
|
|
@@ -97,6 +353,13 @@ class DrizzleQueryBuilder {
|
|
|
97
353
|
const softExpr = this.softDeleteExpr();
|
|
98
354
|
if (softExpr)
|
|
99
355
|
andExprs.push(softExpr);
|
|
356
|
+
// EXISTS / NOT EXISTS subqueries from whereRelationExists + AND-rooted
|
|
357
|
+
// whereGroup blocks.
|
|
358
|
+
for (const e of this._extraExprs)
|
|
359
|
+
andExprs.push(e);
|
|
360
|
+
// OR-rooted whereGroup blocks join the flat orWhere list.
|
|
361
|
+
for (const e of this._orExtraExprs)
|
|
362
|
+
orExprs.push(e);
|
|
100
363
|
const hasAnd = andExprs.length > 0;
|
|
101
364
|
const hasOr = orExprs.length > 0;
|
|
102
365
|
if (!hasAnd && !hasOr)
|
|
@@ -118,9 +381,11 @@ class DrizzleQueryBuilder {
|
|
|
118
381
|
});
|
|
119
382
|
}
|
|
120
383
|
async first() {
|
|
384
|
+
this._assertNotSubBuilder();
|
|
121
385
|
const cond = this.buildConditions();
|
|
122
386
|
const orderBy = this.buildOrderBy();
|
|
123
|
-
|
|
387
|
+
const fields = this.buildAggregateSelectFields();
|
|
388
|
+
let q = fields ? this.db.select(fields).from(this.table) : this.db.select().from(this.table);
|
|
124
389
|
if (cond)
|
|
125
390
|
q = q.where(cond);
|
|
126
391
|
if (orderBy.length)
|
|
@@ -130,21 +395,24 @@ class DrizzleQueryBuilder {
|
|
|
130
395
|
return result[0] ?? null;
|
|
131
396
|
}
|
|
132
397
|
async find(id) {
|
|
398
|
+
this._assertNotSubBuilder();
|
|
133
399
|
const pkCol = this.col(this.primaryKey);
|
|
134
400
|
const softExpr = this.softDeleteExpr();
|
|
135
401
|
const pkExpr = eq(pkCol, id);
|
|
136
402
|
const cond = softExpr ? and(pkExpr, softExpr) : pkExpr;
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
|
|
403
|
+
const fields = this.buildAggregateSelectFields();
|
|
404
|
+
const sel = fields ? this.db.select(fields).from(this.table) : this.db.select().from(this.table);
|
|
405
|
+
const result = await sel
|
|
140
406
|
.where(cond)
|
|
141
407
|
.limit(1);
|
|
142
408
|
return result[0] ?? null;
|
|
143
409
|
}
|
|
144
410
|
async get() {
|
|
411
|
+
this._assertNotSubBuilder();
|
|
145
412
|
const cond = this.buildConditions();
|
|
146
413
|
const orderBy = this.buildOrderBy();
|
|
147
|
-
|
|
414
|
+
const fields = this.buildAggregateSelectFields();
|
|
415
|
+
let q = fields ? this.db.select(fields).from(this.table) : this.db.select().from(this.table);
|
|
148
416
|
if (cond)
|
|
149
417
|
q = q.where(cond);
|
|
150
418
|
if (orderBy.length)
|
|
@@ -159,6 +427,7 @@ class DrizzleQueryBuilder {
|
|
|
159
427
|
return this.get();
|
|
160
428
|
}
|
|
161
429
|
async count() {
|
|
430
|
+
this._assertNotSubBuilder();
|
|
162
431
|
const cond = this.buildConditions();
|
|
163
432
|
let q = this.db.select({ value: sqlCount() }).from(this.table);
|
|
164
433
|
if (cond)
|
|
@@ -167,6 +436,7 @@ class DrizzleQueryBuilder {
|
|
|
167
436
|
return Number(result[0]?.value ?? 0);
|
|
168
437
|
}
|
|
169
438
|
async create(data) {
|
|
439
|
+
this._assertNotSubBuilder();
|
|
170
440
|
const result = await this.db
|
|
171
441
|
.insert(this.table)
|
|
172
442
|
.values(data)
|
|
@@ -176,6 +446,7 @@ class DrizzleQueryBuilder {
|
|
|
176
446
|
return result[0];
|
|
177
447
|
}
|
|
178
448
|
async update(id, data) {
|
|
449
|
+
this._assertNotSubBuilder();
|
|
179
450
|
const pkCol = this.col(this.primaryKey);
|
|
180
451
|
const result = await this.db
|
|
181
452
|
.update(this.table)
|
|
@@ -187,6 +458,7 @@ class DrizzleQueryBuilder {
|
|
|
187
458
|
return result[0];
|
|
188
459
|
}
|
|
189
460
|
async delete(id) {
|
|
461
|
+
this._assertNotSubBuilder();
|
|
190
462
|
const pkCol = this.col(this.primaryKey);
|
|
191
463
|
if (this._softDeletes) {
|
|
192
464
|
await this.db.update(this.table).set({ deletedAt: new Date() }).where(eq(pkCol, id));
|
|
@@ -197,6 +469,7 @@ class DrizzleQueryBuilder {
|
|
|
197
469
|
.where(eq(pkCol, id));
|
|
198
470
|
}
|
|
199
471
|
async restore(id) {
|
|
472
|
+
this._assertNotSubBuilder();
|
|
200
473
|
const pkCol = this.col(this.primaryKey);
|
|
201
474
|
const result = await this.db
|
|
202
475
|
.update(this.table)
|
|
@@ -206,17 +479,20 @@ class DrizzleQueryBuilder {
|
|
|
206
479
|
return result[0];
|
|
207
480
|
}
|
|
208
481
|
async forceDelete(id) {
|
|
482
|
+
this._assertNotSubBuilder();
|
|
209
483
|
const pkCol = this.col(this.primaryKey);
|
|
210
484
|
await this.db
|
|
211
485
|
.delete(this.table)
|
|
212
486
|
.where(eq(pkCol, id));
|
|
213
487
|
}
|
|
214
488
|
async insertMany(rows) {
|
|
489
|
+
this._assertNotSubBuilder();
|
|
215
490
|
if (rows.length === 0)
|
|
216
491
|
return;
|
|
217
492
|
await this.db.insert(this.table).values(rows);
|
|
218
493
|
}
|
|
219
494
|
async deleteAll() {
|
|
495
|
+
this._assertNotSubBuilder();
|
|
220
496
|
const cond = this.buildConditions();
|
|
221
497
|
let q = this.db.delete(this.table);
|
|
222
498
|
if (cond)
|
|
@@ -229,7 +505,18 @@ class DrizzleQueryBuilder {
|
|
|
229
505
|
const result = await (q.returning?.() ?? q);
|
|
230
506
|
return Array.isArray(result) ? result.length : 0;
|
|
231
507
|
}
|
|
508
|
+
async updateAll(data) {
|
|
509
|
+
const cond = this.buildConditions();
|
|
510
|
+
let q = this.db.update(this.table).set(data);
|
|
511
|
+
if (cond)
|
|
512
|
+
q = q.where(cond);
|
|
513
|
+
// Same .returning() rationale as deleteAll — count via returning where the
|
|
514
|
+
// driver supports it (Postgres/SQLite). MySQL returns zero.
|
|
515
|
+
const result = await (q.returning?.() ?? q);
|
|
516
|
+
return Array.isArray(result) ? result.length : 0;
|
|
517
|
+
}
|
|
232
518
|
async increment(id, column, amount = 1, extra = {}) {
|
|
519
|
+
this._assertNotSubBuilder();
|
|
233
520
|
const pkCol = this.col(this.primaryKey);
|
|
234
521
|
const col = this.col(column);
|
|
235
522
|
const result = await this.db
|
|
@@ -242,6 +529,7 @@ class DrizzleQueryBuilder {
|
|
|
242
529
|
return result[0];
|
|
243
530
|
}
|
|
244
531
|
async decrement(id, column, amount = 1, extra = {}) {
|
|
532
|
+
this._assertNotSubBuilder();
|
|
245
533
|
const pkCol = this.col(this.primaryKey);
|
|
246
534
|
const col = this.col(column);
|
|
247
535
|
const result = await this.db
|
|
@@ -254,9 +542,11 @@ class DrizzleQueryBuilder {
|
|
|
254
542
|
return result[0];
|
|
255
543
|
}
|
|
256
544
|
async paginate(page = 1, perPage = 15) {
|
|
545
|
+
this._assertNotSubBuilder();
|
|
257
546
|
const cond = this.buildConditions();
|
|
258
547
|
const orderBy = this.buildOrderBy();
|
|
259
|
-
|
|
548
|
+
const fields = this.buildAggregateSelectFields();
|
|
549
|
+
let pageQ = fields ? this.db.select(fields).from(this.table) : this.db.select().from(this.table);
|
|
260
550
|
let cntQ = this.db.select({ value: sqlCount() }).from(this.table);
|
|
261
551
|
if (cond) {
|
|
262
552
|
pageQ = pageQ.where(cond);
|
|
@@ -328,7 +618,13 @@ export class DrizzleAdapter {
|
|
|
328
618
|
`Pass tables: { ${table}: myTable } in drizzle() config or call ` +
|
|
329
619
|
`DrizzleTableRegistry.register("${table}", myTable).`);
|
|
330
620
|
}
|
|
331
|
-
return new DrizzleQueryBuilder(this.db, schema, this.primaryKey);
|
|
621
|
+
return new DrizzleQueryBuilder(this.db, schema, this.primaryKey, (name) => this.resolveTable(name));
|
|
622
|
+
}
|
|
623
|
+
/** @internal — resolve a table by name across both the constructor-provided
|
|
624
|
+
* `tables` map and the global `DrizzleTableRegistry`. Returns `undefined`
|
|
625
|
+
* when unknown so callers can throw a relation-aware error. */
|
|
626
|
+
resolveTable(name) {
|
|
627
|
+
return this.tables[name] ?? DrizzleTableRegistry.get(name);
|
|
332
628
|
}
|
|
333
629
|
async connect() {
|
|
334
630
|
// Drizzle connects lazily on first query — no-op
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EACnD,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,QAAQ,EAAE,GAAG,EAC1C,MAAM,EAAE,SAAS,EACjB,eAAe,GAEhB,MAAM,aAAa,CAAA;AAqCpB,8DAA8D;AAE9D,MAAM,OAAO,oBAAoB;IACvB,MAAM,CAAC,MAAM,GAAyB,IAAI,GAAG,EAAE,CAAA;IAEvD,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,KAAc;QAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;;AAGH;;4DAE4D;AAC5D,SAAS,OAAO,CAAC,KAAY;IAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA,OAAc,CAAA;IAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAE,CAAA;IACxC,OAAO,GAAG,CAAC,GAAG,KAAK,CAAQ,CAAA;AAC7B,CAAC;AAED,8DAA8D;AAE9D,MAAM,mBAAmB;IAuBJ;IACA;IACA;IAIA;IA5BX,OAAO,GAAuB,EAAE,CAAA;IAChC,SAAS,GAAqB,EAAE,CAAA;IAChC,OAAO,GAAuB,EAAE,CAAA;IAChC,OAAO,GAAuB,IAAI,CAAA;IAClC,QAAQ,GAAsB,IAAI,CAAA;IAClC,YAAY,GAAI,KAAK,CAAA;IACrB,YAAY,GAAI,KAAK,CAAA;IACrB,YAAY,GAAI,KAAK,CAAA;IAC7B;;mEAE+D;IACvD,WAAW,GAAW,EAAE,CAAA;IAChC;qEACiE;IACzD,aAAa,GAAU,EAAE,CAAA;IACjC;0EACsE;IAC9D,WAAW,GAAuB,EAAE,CAAA;IAC5C,uFAAuF;IAC/E,aAAa,GAAG,KAAK,CAAA;IAE7B,YACmB,EAAqB,EACrB,KAAmB,EACnB,UAAkB;IACnC;;sCAEkC;IACjB,YAAuC;QANvC,OAAE,GAAF,EAAE,CAAmB;QACrB,UAAK,GAAL,KAAK,CAAc;QACnB,eAAU,GAAV,UAAU,CAAQ;QAIlB,iBAAY,GAAZ,YAAY,CAA2B;IACvD,CAAC;IAEJ,yEAAyE;IACzE,eAAe,KAAW,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;IAE1D,oBAAoB;QAC1B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAA;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAc,EAAE,eAAwC,EAAE,KAAe;QAC7E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAA;QACtE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAgC,EAAE,KAAK,EAAE,CAAC,CAAA;QAClF,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,MAAc,EAAE,eAAwC,EAAE,KAAe;QAC/E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAA;QACxE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAgC,EAAE,KAAK,EAAE,CAAC,CAAA;QACpF,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU,CAAC,EAAkD;QAC3D,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAI,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;aAC5F,eAAe,EAAE,CAAA;QACpB,EAAE,CAAC,GAAG,CAAC,CAAA;QACP,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,EAAE,CAAA;QAClC,IAAI,IAAI;YAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAC,EAAkD;QAC7D,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAI,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;aAC5F,eAAe,EAAE,CAAA;QACpB,EAAE,CAAC,GAAG,CAAC,CAAA;QACP,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,EAAE,CAAA;QAClC,IAAI,IAAI;YAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,MAAc,EAAE,YAA4B,KAAK;QACvD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;QACxC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,CAAS,IAAW,IAAI,CAAC,OAAO,GAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;IAC1D,MAAM,CAAC,CAAS,IAAU,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;IAE1D,4EAA4E;IAC5E,+EAA+E;IAC/E,0EAA0E;IAC1E,0EAA0E;IAC1E,wCAAwC;IACxC,IAAI,CAAC,GAAG,UAAoB,IAAU,OAAO,IAAI,CAAA,CAAC,CAAC;IAEnD,yEAAyE;IACzE,sEAAsE;IACtE,yEAAyE;IACzE,+BAA+B;IAC/B,SAAS,CAAC,GAAG,QAAkB,IAAU,OAAO,IAAI,CAAA,CAAC,CAAC;IAEtD,WAAW,KAAY,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;IAC9D,WAAW,KAAY,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;IAE9D,4EAA4E;IAC5E,kBAAkB,KAAW,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;IAE5D,GAAG,CAAC,MAAc;QACxB,OAAQ,IAAI,CAAC,KAAiC,CAAC,MAAM,CAAC,CAAA;IACxD,CAAC;IAED;gDAC4C;IACpC,KAAK,CAAC,KAAc,EAAE,MAAc;QAC1C,OAAQ,KAAiC,CAAC,MAAM,CAAW,CAAA;IAC7D,CAAC;IAEO,YAAY,CAAC,MAAmB;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAChD,CAAC;IAED;yEACqE;IAC7D,cAAc,CAAC,KAAc,EAAE,MAAmB;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAC5C,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxB,KAAK,GAAG,CAAC,CAAM,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAQ,CAAA;YAClD,KAAK,IAAI,CAAC,CAAK,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAQ,CAAA;YAClD,KAAK,GAAG,CAAC,CAAM,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAQ,CAAA;YAClD,KAAK,IAAI,CAAC,CAAK,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAQ,CAAA;YACnD,KAAK,GAAG,CAAC,CAAM,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAQ,CAAA;YAClD,KAAK,IAAI,CAAC,CAAK,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAQ,CAAA;YACnD,KAAK,MAAM,CAAC,CAAG,OAAO,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,KAAe,CAAQ,CAAA;YAC9D,KAAK,IAAI,CAAC,CAAK,OAAO,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,KAAkB,CAAQ,CAAA;YACpE,KAAK,QAAQ,CAAC,CAAC,OAAO,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,KAAkB,CAAQ,CAAA;YACvE,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,WAAW,GAAU,MAAM,CAAC,QAAQ,CAAA;gBAC1C,MAAM,IAAI,KAAK,CAAC,gDAAgD,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;YACxF,CAAC;QACH,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,CAA6B;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;QACjD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,+EAA+E,CAAC,CAAC,YAAY,KAAK;gBAClG,kBAAkB,CAAC,CAAC,YAAY,8BAA8B,CAC/D,CAAA;QACH,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAW,CAAA;QAEpD,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,gCAAgC;YAChC,aAAa;YACb,0BAA0B;YAC1B,wDAAwD;YACxD,0BAA0B;YAC1B,qBAAqB;YACrB,gCAAgC;YAChC,8DAA8D;YAC9D,mCAAmC;YACnC,UAAU;YACV,MAAM;YACN,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YACrD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,qFAAqF,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAC9G,CAAA;YACH,CAAC;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;YACpE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;YACpE,MAAM,aAAa,GAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,CAAA;YAE5D,MAAM,UAAU,GAAU,CAAC,EAAE,CAAC,aAAa,EAAE,eAAe,CAAQ,CAAC,CAAA;YACrE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB;gBAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;YACpF,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;YAE7E,8DAA8D;YAC9D,MAAM,UAAU,GAAU,CAAC,EAAE,CAAC,eAAe,EAAE,SAAS,CAAQ,EAAE,MAAM,CAAC,WAAkB,CAAQ,CAAC,CAAA;YACpG,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;gBACzD,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAQ,CAAC,CAAA;YACrD,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;YAE3E,qEAAqE;YACrE,wEAAwE;YACxE,oEAAoE;YACpE,8DAA8D;YAC9D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAkB,CAAC,CAAQ,CAAC,CAAA;YACrG,OAAO,IAAI,CAAA;QACb,CAAC;QAED,0CAA0C;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,CAAA;QAC1D,MAAM,KAAK,GAAU,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,CAAQ,CAAC,CAAA;QAC1D,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;QAC/E,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAQ,CAAC,CAAA;QAClD,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;QAClE,8DAA8D;QAC9D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAY,CAAC,CAAQ,CAAC,CAAA;QACzF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,2EAA2E;IAC3E,wEAAwE;IACxE,4EAA4E;IAE5E,aAAa,CAAC,QAA4B;QACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAe,EAAE,MAAe;QAC/C,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QAEnC,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;YACtB,QAAQ,EAAE,EAAE,CAAC;gBACX,KAAK,OAAO;oBACV,OAAO,GAAG,CAAQ,UAAU,CAAA;gBAC9B,KAAK,QAAQ;oBACX,OAAO,GAAG,CAAQ,UAAU,CAAA;gBAC9B,KAAK,KAAK;oBACR,OAAO,GAAG,CAAQ,gBAAgB,IAAI,CAAC,GAAG,CAAC,MAAO,CAAW,OAAO,CAAA;gBACtE,KAAK,KAAK;oBACR,OAAO,GAAG,CAAQ,OAAO,IAAI,CAAC,GAAG,CAAC,MAAO,CAAW,GAAG,CAAA;gBACzD,KAAK,KAAK;oBACR,OAAO,GAAG,CAAQ,OAAO,IAAI,CAAC,GAAG,CAAC,MAAO,CAAW,GAAG,CAAA;gBACzD,KAAK,KAAK;oBACR,OAAO,GAAG,CAAQ,OAAO,IAAI,CAAC,GAAG,CAAC,MAAO,CAAW,GAAG,CAAA;YAC3D,CAAC;QACH,CAAC,CAAC,EAAE,CAAA;QAEJ,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7D,IAAI,IAAI;YAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE3B,MAAM,MAAM,GAAG,MAAO,CAAmD,CAAA;QACzE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAA;QAC5B,IAAI,EAAE,KAAK,OAAO;YAAE,OAAO,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QAC3C,IAAI,EAAE,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QAChD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAChC,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC;IAED;kEAC8D;IACtD,kBAAkB,CAAC,GAAqB;QAC9C,MAAM,EAAE,GAAQ,GAAG,CAAC,SAAS,CAAA;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,CAAA;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,yEAAyE,EAAE,CAAC,YAAY,KAAK;gBAC7F,kBAAkB,EAAE,CAAC,YAAY,8BAA8B,CAChE,CAAA;QACH,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAW,CAAA;QAErD,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YACtD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,+EAA+E,EAAE,CAAC,OAAO,CAAC,UAAU,IAAI,CACzG,CAAA;YACH,CAAC;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAI,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;YACvE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAI,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;YACvE,MAAM,aAAa,GAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,CAAA;YAE7D,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,CAAC,EAAE,KAAK,KAAK;mBACxF,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;mBAC/B,EAAE,CAAC,WAAW,KAAK,IAAI,CAAA;YAE5B,MAAM,KAAK,GAAU,CAAC,EAAE,CAAC,eAAe,EAAE,SAAS,CAAQ,CAAC,CAAA;YAC5D,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC1D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAQ,CAAC,CAAA;YAChD,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YAElD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,mDAAmD;gBACnD,MAAM,IAAI,GAAG,GAAG,CAAA,WAAW,MAAM,SAAS,KAAe,UAAU,OAAO,CAAC,KAAK,CAAC,GAAG,CAAA;gBACpF,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAA,IAAI,IAAI,OAAe,CAAC,CAAC,CAAE,IAAY,CAAA;YAC1E,CAAC;YAED,mEAAmE;YACnE,4CAA4C;YAC5C,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,gBAAgB;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;YACjF,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAuB,CAAA;gBACjE,IAAI,EAAE;oBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAQ,CAAC,CAAA;YACvC,CAAC;YACD,MAAM,IAAI,GAAG,GAAG,CAAA,WAAW,MAAM,SAAS,KAAe,eAAe,OAAiB,OAAO,aAAa,MAAM,eAAe,UAAU,OAAO,CAAC,KAAK,CAAC,GAAG,CAAA;YAC7J,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAA,IAAI,IAAI,OAAe,CAAC,CAAC,CAAE,IAAY,CAAA;QAC1E,CAAC;QAED,4DAA4D;QAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,CAAA;QAC3D,MAAM,KAAK,GAAU,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,CAAQ,CAAC,CAAA;QAC1D,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,gBAAgB;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;QACjF,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAQ,CAAC,CAAA;QAClD,CAAC;QACD,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACnB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAuB,CAAA;YACjE,IAAI,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAQ,CAAC,CAAA;QACvC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,GAAG,CAAA,WAAW,MAAM,SAAS,OAAiB,UAAU,OAAO,CAAC,KAAK,CAAC,GAAG,CAAA;QACtF,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAA,IAAI,IAAI,OAAe,CAAC,CAAC,CAAE,IAAY,CAAA;IAC1E,CAAC;IAED;;wBAEoB;IACZ,gBAAgB,CAAC,GAAqB,EAAE,OAAgB;QAC9D,QAAQ,GAAG,CAAC,EAAE,EAAE,CAAC;YACf,KAAK,OAAO,CAAC;YACb,KAAK,QAAQ;gBACX,OAAO,GAAG,CAAA,UAAU,CAAA;YACtB,KAAK,KAAK;gBACR,OAAO,GAAG,CAAA,gBAAgB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,MAAO,CAAC,OAAO,CAAA;YACnE,KAAK,KAAK;gBACR,OAAO,GAAG,CAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,MAAO,CAAC,GAAG,CAAA;YACtD,KAAK,KAAK;gBACR,OAAO,GAAG,CAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,MAAO,CAAC,GAAG,CAAA;YACtD,KAAK,KAAK;gBACR,OAAO,GAAG,CAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,MAAO,CAAC,GAAG,CAAA;QACxD,CAAC;IACH,CAAC;IAED;;;gDAG4C;IACpC,0BAA0B;QAChC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC9C,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,KAA8C,CAA4B,CAAA;QAC5G,MAAM,MAAM,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAA;QACnD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAGO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,SAAS,CAAA;QAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAuB,CAAA;QAChE,IAAI,CAAC,YAAY;YAAE,OAAO,SAAS,CAAA;QACnC,mEAAmE;QACnE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAQ,CAAA;IACpF,CAAC;IAEO,eAAe;QACrB,MAAM,QAAQ,GAAU,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;QACnE,MAAM,OAAO,GAAW,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;QAErE,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QACtC,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAErC,uEAAuE;QACvE,qBAAqB;QACrB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClD,0DAA0D;QAC1D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEnD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;QAClC,MAAM,KAAK,GAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;QAEjC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAA;QAEvC,MAAM,WAAW,GAAoB,MAAM;YACzC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAQ,CAAC;YACjE,CAAC,CAAC,SAAS,CAAA;QACb,MAAM,UAAU,GAAoB,KAAK;YACvC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAQ,CAAC;YAC7D,CAAC,CAAC,SAAS,CAAA;QAEb,IAAI,WAAW,IAAI,UAAU;YAAE,OAAO,EAAE,CAAC,WAAW,EAAE,UAAU,CAAQ,CAAA;QACxE,OAAO,CAAC,WAAW,IAAI,UAAU,CAAQ,CAAA;IAC3C,CAAC;IAEO,YAAY;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAW,CAAA;YACxC,OAAO,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,MAAM,IAAI,GAAM,IAAI,CAAC,eAAe,EAAE,CAAA;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QACnC,MAAM,MAAM,GAAI,IAAI,CAAC,0BAA0B,EAAE,CAAA;QAEjD,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5F,IAAI,IAAI;YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,OAAO,CAAC,MAAM;YAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAA;QAC7C,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAEd,MAAM,MAAM,GAAG,MAAO,CAA6B,CAAA;QACnD,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAmB;QAC5B,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,MAAM,KAAK,GAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAW,CAAA;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QACtC,MAAM,MAAM,GAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAQ,CAAA;QACrC,MAAM,IAAI,GAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAQ,CAAC,CAAC,CAAC,MAAM,CAAA;QACjE,MAAM,MAAM,GAAK,IAAI,CAAC,0BAA0B,EAAE,CAAA;QAElD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAChG,MAAM,MAAM,GAAG,MAAO,GAAG;aACtB,KAAK,CAAC,IAAI,CAAC;aACX,KAAK,CAAC,CAAC,CAA6B,CAAA;QACvC,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,MAAM,IAAI,GAAM,IAAI,CAAC,eAAe,EAAE,CAAA;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QACnC,MAAM,MAAM,GAAI,IAAI,CAAC,0BAA0B,EAAE,CAAA;QAEjD,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5F,IAAI,IAAI;YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,OAAO,CAAC,MAAM;YAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAA;QAC7C,IAAI,IAAI,CAAC,OAAO,KAAM,IAAI;YAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACrD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;YAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEvD,OAAO,CAA4B,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,GAAG;QACP,OAAO,IAAI,CAAC,GAAG,EAAE,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QAEnC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC9D,IAAI,IAAI;YAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE3B,MAAM,MAAM,GAA+C,MAAO,CAAoE,CAAA;QACtI,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAgB;QAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,EAAE;aAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aAClB,MAAM,CAAC,IAAI,CAAC;aACZ,SAAS,EAA8B,CAAA;QAC1C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACpF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAmB,EAAE,IAAgB;QAChD,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAW,CAAA;QACjD,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,EAAE;aAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aAClB,GAAG,CAAC,IAAI,CAAC;aACT,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;aACpB,SAAS,EAA8B,CAAA;QAC1C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACpF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAmB;QAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAW,CAAA;QACjD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAA8B,CAAA;YAClH,OAAM;QACR,CAAC;QACD,MAAO,IAAI,CAAC,EAAE;aACX,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aAClB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAA8B,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAmB;QAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAW,CAAA;QACjD,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,EAAE;aAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aAClB,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aACxB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;aACpB,SAAS,EAA8B,CAAA;QAC1C,OAAO,MAAM,CAAC,CAAC,CAAM,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAmB;QACnC,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAW,CAAA;QACjD,MAAO,IAAI,CAAC,EAAE;aACX,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aAClB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAA8B,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAkB;QACjC,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAC7B,MAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAA8B,CAAA;IAC7E,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QACnC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,IAAI;YAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3B,yEAAyE;QACzE,wEAAwE;QACxE,0EAA0E;QAC1E,uEAAuE;QACvE,mCAAmC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAE,CAAgD,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,CAA8B,CAAA;QACxH,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAClD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAgB;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QACnC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,IAAI;YAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3B,2EAA2E;QAC3E,4DAA4D;QAC5D,MAAM,MAAM,GAAG,MAAM,CAAE,CAAgD,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,CAA8B,CAAA;QACxH,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAClD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAmB,EAAE,MAAc,EAAE,MAAM,GAAG,CAAC,EAAE,QAAiC,EAAE;QAClG,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAW,CAAA;QACjD,MAAM,GAAG,GAAK,IAAI,CAAC,GAAG,CAAC,MAAM,CAAW,CAAA;QACxC,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,EAAE;aAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aAClB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,CAAA,GAAG,GAAG,MAAM,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC;aACpD,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;aACpB,SAAS,EAA8B,CAAA;QAC1C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACvF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAmB,EAAE,MAAc,EAAE,MAAM,GAAG,CAAC,EAAE,QAAiC,EAAE;QAClG,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAW,CAAA;QACjD,MAAM,GAAG,GAAK,IAAI,CAAC,GAAG,CAAC,MAAM,CAAW,CAAA;QACxC,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,EAAE;aAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aAClB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,CAAA,GAAG,GAAG,MAAM,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC;aACpD,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;aACpB,SAAS,EAA8B,CAAA;QAC1C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACvF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE;QACnC,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,MAAM,IAAI,GAAM,IAAI,CAAC,eAAe,EAAE,CAAA;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QACnC,MAAM,MAAM,GAAI,IAAI,CAAC,0BAA0B,EAAE,CAAA;QAEjD,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAChG,IAAI,IAAI,GAAI,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAElE,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACzB,IAAI,GAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC;QACD,IAAI,OAAO,CAAC,MAAM;YAAE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAA;QACrD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAA;QAEzD,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5C,KAAgC;YAChC,IAAuE;SACxE,CAAC,CAAA;QAEF,MAAM,KAAK,GAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAA;QAExD,OAAO;YACL,IAAI;YACJ,KAAK;YACL,OAAO;YACP,WAAW,EAAE,IAAI;YACjB,QAAQ;YACR,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;YAC9B,EAAE,EAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,EAAE,KAAK,CAAC;SACtC,CAAA;IACH,CAAC;CACF;AAED,8DAA8D;AAE9D,MAAM,OAAO,cAAc;IAEd;IACQ;IACA;IAHnB,YACW,EAA6B,EACrB,MAAmC,EACnC,UAAkB;QAF1B,OAAE,GAAF,EAAE,CAA2B;QACrB,WAAM,GAAN,MAAM,CAA6B;QACnC,eAAU,GAAV,UAAU,CAAQ;IAClC,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAqB;QACrC,IAAI,EAAE,GAAG,MAAM,CAAC,MAA+B,CAAA;QAE/C,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,GAAG,GAAM,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,eAAe,CAAA;YAC3E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAA;YAExC,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;gBAC5B,sEAAsE;gBACtE,MAAM,cAAc,GAAY,MAAM,MAAM,CAAC,UAAU,CAAsD,CAAA;gBAC7G,MAAM,QAAQ,GAAkB,cAAc,CAAC,OAAO,IAAK,cAAsD,CAAA;gBACjH,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAA6C,CAAA;gBACnH,EAAE,GAAI,UAAqD,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;YAC5E,CAAC;iBAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,EAAE,YAAY,EAAE,GAAU,MAAM,MAAM,CAAC,gBAAgB,CAAoC,CAAA;gBACjG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAK,MAAM,MAAM,CAAC,oBAAoB,CAAwC,CAAA;gBACzG,EAAE,GAAG,QAAQ,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAyB,CAAA;YAC9D,CAAC;iBAAM,CAAC;gBACN,0EAA0E;gBAC1E,MAAM,YAAY,GAAc,MAAM,MAAM,CAAC,gBAAgB,CAA2D,CAAA;gBACxH,MAAM,QAAQ,GAAkB,YAAY,CAAC,OAAO,IAAK,YAAyD,CAAA;gBAClH,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAK,MAAM,MAAM,CAAC,4BAA4B,CAAgD,CAAA;gBACzH,EAAE,GAAI,QAAkD,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;YACnG,CAAC;QACH,CAAC;QAED,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;QACxF,OAAO,IAAI,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAA;IAC/E,CAAC;IAED,KAAK,CAAI,KAAa;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,0DAA0D,KAAK,KAAK;gBACpE,kBAAkB,KAAK,0CAA0C;gBACjE,kCAAkC,KAAK,cAAc,CACtD,CAAA;QACH,CAAC;QACD,OAAO,IAAI,mBAAmB,CAAI,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;IACxG,CAAC;IAED;;oEAEgE;IAChE,YAAY,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC5D,CAAC;IAED,KAAK,CAAC,OAAO;QACX,iDAAiD;IACnD,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAA;QAChC,IAAI,OAAO,GAAG,KAAK,UAAU;YAAE,MAAM,GAAG,EAAE,CAAA;IAC5C,CAAC;CACF;AAiBD,MAAM,UAAU,OAAO,CAAC,SAAwB,EAAE;IAChD,OAAO;QACL,KAAK,CAAC,MAAM;YACV,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC;KACF,CAAA;AACH,CAAC;AAED,8DAA8D;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAyB7C;;;;;;;GAOG;AACH,MAAM,OAAO,gBAAiB,SAAQ,eAAe;IACnD,QAAQ,KAAU,CAAC;IAEnB,KAAK,CAAC,IAAI;QACR,MAAM,GAAG,GAAG,SAAS,CAA6B,UAAU,EAAE,SAAS,CAAC,CAAA;QAExE,MAAM,aAAa,GAAkB,EAAE,CAAA;QAEvC,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACzC,IAAI,IAAI,EAAE,CAAC;gBACT,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;gBAClC,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS;oBAAE,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;YAC1D,CAAC;YACD,IAAI,GAAG,CAAC,MAAM;gBAAE,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;YACjD,IAAI,GAAG,CAAC,MAAM;gBAAE,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;QACnD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACxD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;QAEvB,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC1B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rudderjs/orm-drizzle",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Drizzle ORM adapter for RudderJS. Implements OrmAdapterProvider / OrmAdapter / QueryBuilder<T> using Drizzle's SQL-like fluent API.",
|
|
5
5
|
"rudderjs": {
|
|
6
6
|
"provider": "DatabaseProvider",
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"drizzle-orm": "^0.38.0",
|
|
31
|
-
"@rudderjs/contracts": "^1.
|
|
32
|
-
"@rudderjs/core": "^1.
|
|
33
|
-
"@rudderjs/orm": "^1.
|
|
31
|
+
"@rudderjs/contracts": "^1.3.0",
|
|
32
|
+
"@rudderjs/core": "^1.1.2",
|
|
33
|
+
"@rudderjs/orm": "^1.8.0"
|
|
34
34
|
},
|
|
35
35
|
"optionalDependencies": {
|
|
36
36
|
"better-sqlite3": "^12.0.0",
|