@prisma-next/sql-builder 0.7.0 → 0.8.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/{db-DkZcNekS.d.mts → db-BDDDtxLg.d.mts} +39 -1
- package/dist/db-BDDDtxLg.d.mts.map +1 -0
- package/dist/exports/types.d.mts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/runtime/index.d.mts +1 -1
- package/dist/runtime/index.mjs +117 -15
- package/dist/runtime/index.mjs.map +1 -1
- package/package.json +16 -16
- package/src/runtime/builder-base.ts +21 -1
- package/src/runtime/mutation-impl.ts +116 -0
- package/src/runtime/query-impl.ts +38 -0
- package/src/types/grouped-query.ts +17 -0
- package/src/types/mutation-query.ts +30 -0
- package/src/types/select-query.ts +17 -0
- package/dist/db-DkZcNekS.d.mts.map +0 -1
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
AnnotationValue,
|
|
3
|
+
OperationKind,
|
|
4
|
+
ValidAnnotations,
|
|
5
|
+
} from '@prisma-next/framework-components/runtime';
|
|
6
|
+
import { assertAnnotationsApplicable } from '@prisma-next/framework-components/runtime';
|
|
1
7
|
import type { StorageTable } from '@prisma-next/sql-contract/types';
|
|
2
8
|
import {
|
|
3
9
|
type AnyExpression as AstExpression,
|
|
@@ -30,6 +36,29 @@ import {
|
|
|
30
36
|
import { createFieldProxy } from './field-proxy';
|
|
31
37
|
import { createFunctions } from './functions';
|
|
32
38
|
|
|
39
|
+
/**
|
|
40
|
+
* Validates and merges a variadic annotations call into a builder's
|
|
41
|
+
* accumulated user-annotations map. Used by `.annotate(...)` on each of
|
|
42
|
+
* the three mutation builders (`InsertQueryImpl`, `UpdateQueryImpl`,
|
|
43
|
+
* `DeleteQueryImpl`); the read builders share the same logic via
|
|
44
|
+
* `QueryBase.annotate()` in `./query-impl.ts`.
|
|
45
|
+
*
|
|
46
|
+
* Runs `assertAnnotationsApplicable` at call time (not at `.build()`) so
|
|
47
|
+
* inapplicable annotations forced through casts surface immediately
|
|
48
|
+
* rather than at plan-construction time.
|
|
49
|
+
*/
|
|
50
|
+
function mergeWriteAnnotations(
|
|
51
|
+
current: ReadonlyMap<string, AnnotationValue<unknown, OperationKind>>,
|
|
52
|
+
annotations: readonly AnnotationValue<unknown, OperationKind>[],
|
|
53
|
+
): ReadonlyMap<string, AnnotationValue<unknown, OperationKind>> {
|
|
54
|
+
assertAnnotationsApplicable(annotations, 'write', 'sql-dsl.annotate');
|
|
55
|
+
const next = new Map(current);
|
|
56
|
+
for (const annotation of annotations) {
|
|
57
|
+
next.set(annotation.namespace, annotation);
|
|
58
|
+
}
|
|
59
|
+
return next;
|
|
60
|
+
}
|
|
61
|
+
|
|
33
62
|
type WhereCallback = ExpressionBuilder<Scope, QueryContext>;
|
|
34
63
|
|
|
35
64
|
function buildParamValues(
|
|
@@ -88,6 +117,7 @@ export class InsertQueryImpl<
|
|
|
88
117
|
readonly #values: Record<string, unknown>;
|
|
89
118
|
readonly #returningColumns: string[];
|
|
90
119
|
readonly #rowFields: Record<string, ScopeField>;
|
|
120
|
+
readonly #annotations: ReadonlyMap<string, AnnotationValue<unknown, OperationKind>>;
|
|
91
121
|
|
|
92
122
|
constructor(
|
|
93
123
|
tableName: string,
|
|
@@ -97,6 +127,7 @@ export class InsertQueryImpl<
|
|
|
97
127
|
ctx: BuilderContext,
|
|
98
128
|
returningColumns: string[] = [],
|
|
99
129
|
rowFields: Record<string, ScopeField> = {},
|
|
130
|
+
annotations: ReadonlyMap<string, AnnotationValue<unknown, OperationKind>> = new Map(),
|
|
100
131
|
) {
|
|
101
132
|
super(ctx);
|
|
102
133
|
this.#tableName = tableName;
|
|
@@ -105,6 +136,7 @@ export class InsertQueryImpl<
|
|
|
105
136
|
this.#values = values;
|
|
106
137
|
this.#returningColumns = returningColumns;
|
|
107
138
|
this.#rowFields = rowFields;
|
|
139
|
+
this.#annotations = annotations;
|
|
108
140
|
}
|
|
109
141
|
|
|
110
142
|
returning = this._gate<ReturningCapability, string[], InsertQuery<QC, AvailableScope, never>>(
|
|
@@ -125,10 +157,36 @@ export class InsertQueryImpl<
|
|
|
125
157
|
this.ctx,
|
|
126
158
|
columns,
|
|
127
159
|
newRowFields,
|
|
160
|
+
this.#annotations,
|
|
128
161
|
) as unknown as InsertQuery<QC, AvailableScope, never>;
|
|
129
162
|
},
|
|
130
163
|
);
|
|
131
164
|
|
|
165
|
+
/**
|
|
166
|
+
* Attach one or more write-typed annotations to this query plan.
|
|
167
|
+
* The type-level `As & ValidAnnotations<'write', As>` gate rejects
|
|
168
|
+
* read-only annotations at the call site; the runtime check fails
|
|
169
|
+
* closed for callers that bypass the type gate. See `QueryBase.annotate`
|
|
170
|
+
* in `./query-impl.ts` for the read-builder counterpart.
|
|
171
|
+
*/
|
|
172
|
+
annotate<As extends readonly AnnotationValue<unknown, OperationKind>[]>(
|
|
173
|
+
...annotations: As & ValidAnnotations<'write', As>
|
|
174
|
+
): InsertQuery<QC, AvailableScope, RowType> {
|
|
175
|
+
return new InsertQueryImpl(
|
|
176
|
+
this.#tableName,
|
|
177
|
+
this.#table,
|
|
178
|
+
this.#scope,
|
|
179
|
+
this.#values,
|
|
180
|
+
this.ctx,
|
|
181
|
+
this.#returningColumns,
|
|
182
|
+
this.#rowFields,
|
|
183
|
+
mergeWriteAnnotations(
|
|
184
|
+
this.#annotations,
|
|
185
|
+
annotations as readonly AnnotationValue<unknown, OperationKind>[],
|
|
186
|
+
),
|
|
187
|
+
);
|
|
188
|
+
}
|
|
189
|
+
|
|
132
190
|
build(): SqlQueryPlan<ResolveRow<RowType, QC['codecTypes'], QC['resolvedColumnOutputTypes']>> {
|
|
133
191
|
const paramValues = buildParamValues(
|
|
134
192
|
this.#values,
|
|
@@ -149,6 +207,7 @@ export class InsertQueryImpl<
|
|
|
149
207
|
return buildQueryPlan<ResolveRow<RowType, QC['codecTypes'], QC['resolvedColumnOutputTypes']>>(
|
|
150
208
|
ast,
|
|
151
209
|
this.ctx,
|
|
210
|
+
this.#annotations,
|
|
152
211
|
);
|
|
153
212
|
}
|
|
154
213
|
}
|
|
@@ -168,6 +227,7 @@ export class UpdateQueryImpl<
|
|
|
168
227
|
readonly #whereCallbacks: readonly WhereCallback[];
|
|
169
228
|
readonly #returningColumns: string[];
|
|
170
229
|
readonly #rowFields: Record<string, ScopeField>;
|
|
230
|
+
readonly #annotations: ReadonlyMap<string, AnnotationValue<unknown, OperationKind>>;
|
|
171
231
|
|
|
172
232
|
constructor(
|
|
173
233
|
tableName: string,
|
|
@@ -178,6 +238,7 @@ export class UpdateQueryImpl<
|
|
|
178
238
|
whereCallbacks: readonly WhereCallback[] = [],
|
|
179
239
|
returningColumns: string[] = [],
|
|
180
240
|
rowFields: Record<string, ScopeField> = {},
|
|
241
|
+
annotations: ReadonlyMap<string, AnnotationValue<unknown, OperationKind>> = new Map(),
|
|
181
242
|
) {
|
|
182
243
|
super(ctx);
|
|
183
244
|
this.#tableName = tableName;
|
|
@@ -187,6 +248,7 @@ export class UpdateQueryImpl<
|
|
|
187
248
|
this.#whereCallbacks = whereCallbacks;
|
|
188
249
|
this.#returningColumns = returningColumns;
|
|
189
250
|
this.#rowFields = rowFields;
|
|
251
|
+
this.#annotations = annotations;
|
|
190
252
|
}
|
|
191
253
|
|
|
192
254
|
where(expr: ExpressionBuilder<AvailableScope, QC>): UpdateQuery<QC, AvailableScope, RowType> {
|
|
@@ -199,6 +261,7 @@ export class UpdateQueryImpl<
|
|
|
199
261
|
[...this.#whereCallbacks, expr as unknown as WhereCallback],
|
|
200
262
|
this.#returningColumns,
|
|
201
263
|
this.#rowFields,
|
|
264
|
+
this.#annotations,
|
|
202
265
|
);
|
|
203
266
|
}
|
|
204
267
|
|
|
@@ -221,10 +284,35 @@ export class UpdateQueryImpl<
|
|
|
221
284
|
this.#whereCallbacks,
|
|
222
285
|
columns,
|
|
223
286
|
newRowFields,
|
|
287
|
+
this.#annotations,
|
|
224
288
|
) as unknown as UpdateQuery<QC, AvailableScope, never>;
|
|
225
289
|
},
|
|
226
290
|
);
|
|
227
291
|
|
|
292
|
+
/**
|
|
293
|
+
* Attach one or more write-typed annotations to this query plan.
|
|
294
|
+
* See `InsertQueryImpl.annotate` for semantics; the runtime check
|
|
295
|
+
* fails closed for callers that bypass the type-level gate.
|
|
296
|
+
*/
|
|
297
|
+
annotate<As extends readonly AnnotationValue<unknown, OperationKind>[]>(
|
|
298
|
+
...annotations: As & ValidAnnotations<'write', As>
|
|
299
|
+
): UpdateQuery<QC, AvailableScope, RowType> {
|
|
300
|
+
return new UpdateQueryImpl(
|
|
301
|
+
this.#tableName,
|
|
302
|
+
this.#table,
|
|
303
|
+
this.#scope,
|
|
304
|
+
this.#setValues,
|
|
305
|
+
this.ctx,
|
|
306
|
+
this.#whereCallbacks,
|
|
307
|
+
this.#returningColumns,
|
|
308
|
+
this.#rowFields,
|
|
309
|
+
mergeWriteAnnotations(
|
|
310
|
+
this.#annotations,
|
|
311
|
+
annotations as readonly AnnotationValue<unknown, OperationKind>[],
|
|
312
|
+
),
|
|
313
|
+
);
|
|
314
|
+
}
|
|
315
|
+
|
|
228
316
|
build(): SqlQueryPlan<ResolveRow<RowType, QC['codecTypes'], QC['resolvedColumnOutputTypes']>> {
|
|
229
317
|
const setParams = buildParamValues(
|
|
230
318
|
this.#setValues,
|
|
@@ -253,6 +341,7 @@ export class UpdateQueryImpl<
|
|
|
253
341
|
return buildQueryPlan<ResolveRow<RowType, QC['codecTypes'], QC['resolvedColumnOutputTypes']>>(
|
|
254
342
|
ast,
|
|
255
343
|
this.ctx,
|
|
344
|
+
this.#annotations,
|
|
256
345
|
);
|
|
257
346
|
}
|
|
258
347
|
}
|
|
@@ -270,6 +359,7 @@ export class DeleteQueryImpl<
|
|
|
270
359
|
readonly #whereCallbacks: readonly WhereCallback[];
|
|
271
360
|
readonly #returningColumns: string[];
|
|
272
361
|
readonly #rowFields: Record<string, ScopeField>;
|
|
362
|
+
readonly #annotations: ReadonlyMap<string, AnnotationValue<unknown, OperationKind>>;
|
|
273
363
|
|
|
274
364
|
constructor(
|
|
275
365
|
tableName: string,
|
|
@@ -278,6 +368,7 @@ export class DeleteQueryImpl<
|
|
|
278
368
|
whereCallbacks: readonly WhereCallback[] = [],
|
|
279
369
|
returningColumns: string[] = [],
|
|
280
370
|
rowFields: Record<string, ScopeField> = {},
|
|
371
|
+
annotations: ReadonlyMap<string, AnnotationValue<unknown, OperationKind>> = new Map(),
|
|
281
372
|
) {
|
|
282
373
|
super(ctx);
|
|
283
374
|
this.#tableName = tableName;
|
|
@@ -285,6 +376,7 @@ export class DeleteQueryImpl<
|
|
|
285
376
|
this.#whereCallbacks = whereCallbacks;
|
|
286
377
|
this.#returningColumns = returningColumns;
|
|
287
378
|
this.#rowFields = rowFields;
|
|
379
|
+
this.#annotations = annotations;
|
|
288
380
|
}
|
|
289
381
|
|
|
290
382
|
where(expr: ExpressionBuilder<AvailableScope, QC>): DeleteQuery<QC, AvailableScope, RowType> {
|
|
@@ -295,6 +387,7 @@ export class DeleteQueryImpl<
|
|
|
295
387
|
[...this.#whereCallbacks, expr as unknown as WhereCallback],
|
|
296
388
|
this.#returningColumns,
|
|
297
389
|
this.#rowFields,
|
|
390
|
+
this.#annotations,
|
|
298
391
|
);
|
|
299
392
|
}
|
|
300
393
|
|
|
@@ -315,10 +408,32 @@ export class DeleteQueryImpl<
|
|
|
315
408
|
this.#whereCallbacks,
|
|
316
409
|
columns,
|
|
317
410
|
newRowFields,
|
|
411
|
+
this.#annotations,
|
|
318
412
|
) as unknown as DeleteQuery<QC, AvailableScope, never>;
|
|
319
413
|
},
|
|
320
414
|
);
|
|
321
415
|
|
|
416
|
+
/**
|
|
417
|
+
* Attach one or more write-typed annotations to this query plan.
|
|
418
|
+
* See `InsertQueryImpl.annotate` for semantics.
|
|
419
|
+
*/
|
|
420
|
+
annotate<As extends readonly AnnotationValue<unknown, OperationKind>[]>(
|
|
421
|
+
...annotations: As & ValidAnnotations<'write', As>
|
|
422
|
+
): DeleteQuery<QC, AvailableScope, RowType> {
|
|
423
|
+
return new DeleteQueryImpl(
|
|
424
|
+
this.#tableName,
|
|
425
|
+
this.#scope,
|
|
426
|
+
this.ctx,
|
|
427
|
+
this.#whereCallbacks,
|
|
428
|
+
this.#returningColumns,
|
|
429
|
+
this.#rowFields,
|
|
430
|
+
mergeWriteAnnotations(
|
|
431
|
+
this.#annotations,
|
|
432
|
+
annotations as readonly AnnotationValue<unknown, OperationKind>[],
|
|
433
|
+
),
|
|
434
|
+
);
|
|
435
|
+
}
|
|
436
|
+
|
|
322
437
|
build(): SqlQueryPlan<ResolveRow<RowType, QC['codecTypes'], QC['resolvedColumnOutputTypes']>> {
|
|
323
438
|
const whereExpr = combineWhereExprs(
|
|
324
439
|
this.#whereCallbacks.map((cb) =>
|
|
@@ -337,6 +452,7 @@ export class DeleteQueryImpl<
|
|
|
337
452
|
return buildQueryPlan<ResolveRow<RowType, QC['codecTypes'], QC['resolvedColumnOutputTypes']>>(
|
|
338
453
|
ast,
|
|
339
454
|
this.ctx,
|
|
455
|
+
this.#annotations,
|
|
340
456
|
);
|
|
341
457
|
}
|
|
342
458
|
}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
AnnotationValue,
|
|
3
|
+
OperationKind,
|
|
4
|
+
ValidAnnotations,
|
|
5
|
+
} from '@prisma-next/framework-components/runtime';
|
|
6
|
+
import { assertAnnotationsApplicable } from '@prisma-next/framework-components/runtime';
|
|
1
7
|
import { DerivedTableSource, type SelectAst } from '@prisma-next/sql-relational-core/ast';
|
|
2
8
|
import type { SqlQueryPlan } from '@prisma-next/sql-relational-core/plan';
|
|
3
9
|
import type {
|
|
@@ -81,6 +87,38 @@ abstract class QueryBase<
|
|
|
81
87
|
return this.clone(cloneState(this.state, { distinct: true }));
|
|
82
88
|
}
|
|
83
89
|
|
|
90
|
+
/**
|
|
91
|
+
* Attach one or more annotations to this query plan.
|
|
92
|
+
*
|
|
93
|
+
* Read builders (`SelectQueryImpl`, `GroupedQueryImpl`) accept
|
|
94
|
+
* annotations whose declared `applicableTo` includes `'read'`.
|
|
95
|
+
* The type-level `As & ValidAnnotations<'read', As>` gate rejects
|
|
96
|
+
* write-only annotations at the call site; the runtime check below
|
|
97
|
+
* fails closed for callers that bypass the type gate (cast / `any`).
|
|
98
|
+
*
|
|
99
|
+
* Multiple `.annotate(...)` calls compose; duplicate namespaces use
|
|
100
|
+
* last-write-wins. The accumulated annotations are merged into
|
|
101
|
+
* `plan.meta.annotations` at `.build()` time, alongside any framework-
|
|
102
|
+
* internal metadata under reserved namespaces (e.g. `codecs`).
|
|
103
|
+
*
|
|
104
|
+
* Chainable in any position (before / after `.where`, `.select`,
|
|
105
|
+
* `.limit`, etc.); the returned builder has the same row type.
|
|
106
|
+
*/
|
|
107
|
+
annotate<As extends readonly AnnotationValue<unknown, OperationKind>[]>(
|
|
108
|
+
...annotations: As & ValidAnnotations<'read', As>
|
|
109
|
+
): this {
|
|
110
|
+
assertAnnotationsApplicable(
|
|
111
|
+
annotations as readonly AnnotationValue<unknown, OperationKind>[],
|
|
112
|
+
'read',
|
|
113
|
+
'sql-dsl.annotate',
|
|
114
|
+
);
|
|
115
|
+
const next = new Map(this.state.annotations);
|
|
116
|
+
for (const annotation of annotations as readonly AnnotationValue<unknown, OperationKind>[]) {
|
|
117
|
+
next.set(annotation.namespace, annotation);
|
|
118
|
+
}
|
|
119
|
+
return this.clone(cloneState(this.state, { annotations: next }));
|
|
120
|
+
}
|
|
121
|
+
|
|
84
122
|
groupBy(
|
|
85
123
|
...fields: ((keyof RowType | keyof AvailableScope['topLevel']) & string)[]
|
|
86
124
|
): GroupedQuery<QC, AvailableScope, RowType>;
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
AnnotationValue,
|
|
3
|
+
OperationKind,
|
|
4
|
+
ValidAnnotations,
|
|
5
|
+
} from '@prisma-next/framework-components/runtime';
|
|
1
6
|
import type {
|
|
2
7
|
AggregateFunctions,
|
|
3
8
|
BooleanCodecType,
|
|
@@ -19,6 +24,18 @@ export interface GroupedQuery<
|
|
|
19
24
|
WithDistinct,
|
|
20
25
|
WithAlias<RowType>,
|
|
21
26
|
WithBuild<QC, RowType> {
|
|
27
|
+
/**
|
|
28
|
+
* Attach one or more read-typed annotations to this query plan.
|
|
29
|
+
* Annotations declare `applicableTo: ['read']` (or `['read', 'write']`)
|
|
30
|
+
* via `defineAnnotation`; write-only annotations fail to compile here.
|
|
31
|
+
* Annotations are merged into `plan.meta.annotations` at `.build()` time.
|
|
32
|
+
* Chainable in any position; multiple calls compose with last-write-wins
|
|
33
|
+
* on duplicate namespaces.
|
|
34
|
+
*/
|
|
35
|
+
annotate<As extends readonly AnnotationValue<unknown, OperationKind>[]>(
|
|
36
|
+
...annotations: As & ValidAnnotations<'read', As>
|
|
37
|
+
): GroupedQuery<QC, AvailableScope, RowType>;
|
|
38
|
+
|
|
22
39
|
groupBy(
|
|
23
40
|
...fields: ((keyof RowType | keyof AvailableScope['topLevel']) & string)[]
|
|
24
41
|
): GroupedQuery<QC, AvailableScope, RowType>;
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
AnnotationValue,
|
|
3
|
+
OperationKind,
|
|
4
|
+
ValidAnnotations,
|
|
5
|
+
} from '@prisma-next/framework-components/runtime';
|
|
1
6
|
import type { StorageTable } from '@prisma-next/sql-contract/types';
|
|
2
7
|
import type { SqlQueryPlan } from '@prisma-next/sql-relational-core/plan';
|
|
3
8
|
import type { ExpressionBuilder, WithFields } from '../expression';
|
|
@@ -30,6 +35,17 @@ export interface InsertQuery<
|
|
|
30
35
|
AvailableScope extends Scope,
|
|
31
36
|
RowType extends Record<string, ScopeField>,
|
|
32
37
|
> {
|
|
38
|
+
/**
|
|
39
|
+
* Attach one or more write-typed annotations to this query plan.
|
|
40
|
+
* Annotations declare `applicableTo: ['write']` (or `['read', 'write']`)
|
|
41
|
+
* via `defineAnnotation`; read-only annotations fail to compile here.
|
|
42
|
+
* Annotations are merged into `plan.meta.annotations` at `.build()` time.
|
|
43
|
+
* Chainable in any position; multiple calls compose with last-write-wins
|
|
44
|
+
* on duplicate namespaces.
|
|
45
|
+
*/
|
|
46
|
+
annotate<As extends readonly AnnotationValue<unknown, OperationKind>[]>(
|
|
47
|
+
...annotations: As & ValidAnnotations<'write', As>
|
|
48
|
+
): InsertQuery<QC, AvailableScope, RowType>;
|
|
33
49
|
returning: GatedMethod<
|
|
34
50
|
QC['capabilities'],
|
|
35
51
|
ReturningCapability,
|
|
@@ -45,6 +61,13 @@ export interface UpdateQuery<
|
|
|
45
61
|
AvailableScope extends Scope,
|
|
46
62
|
RowType extends Record<string, ScopeField>,
|
|
47
63
|
> {
|
|
64
|
+
/**
|
|
65
|
+
* Attach one or more write-typed annotations to this query plan.
|
|
66
|
+
* See `InsertQuery.annotate` for semantics.
|
|
67
|
+
*/
|
|
68
|
+
annotate<As extends readonly AnnotationValue<unknown, OperationKind>[]>(
|
|
69
|
+
...annotations: As & ValidAnnotations<'write', As>
|
|
70
|
+
): UpdateQuery<QC, AvailableScope, RowType>;
|
|
48
71
|
where(expr: ExpressionBuilder<AvailableScope, QC>): UpdateQuery<QC, AvailableScope, RowType>;
|
|
49
72
|
returning: GatedMethod<
|
|
50
73
|
QC['capabilities'],
|
|
@@ -61,6 +84,13 @@ export interface DeleteQuery<
|
|
|
61
84
|
AvailableScope extends Scope,
|
|
62
85
|
RowType extends Record<string, ScopeField>,
|
|
63
86
|
> {
|
|
87
|
+
/**
|
|
88
|
+
* Attach one or more write-typed annotations to this query plan.
|
|
89
|
+
* See `InsertQuery.annotate` for semantics.
|
|
90
|
+
*/
|
|
91
|
+
annotate<As extends readonly AnnotationValue<unknown, OperationKind>[]>(
|
|
92
|
+
...annotations: As & ValidAnnotations<'write', As>
|
|
93
|
+
): DeleteQuery<QC, AvailableScope, RowType>;
|
|
64
94
|
where(expr: ExpressionBuilder<AvailableScope, QC>): DeleteQuery<QC, AvailableScope, RowType>;
|
|
65
95
|
returning: GatedMethod<
|
|
66
96
|
QC['capabilities'],
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
AnnotationValue,
|
|
3
|
+
OperationKind,
|
|
4
|
+
ValidAnnotations,
|
|
5
|
+
} from '@prisma-next/framework-components/runtime';
|
|
1
6
|
import type {
|
|
2
7
|
Expression,
|
|
3
8
|
ExpressionBuilder,
|
|
@@ -20,6 +25,18 @@ export interface SelectQuery<
|
|
|
20
25
|
WithDistinct,
|
|
21
26
|
WithAlias<RowType>,
|
|
22
27
|
WithBuild<QC, RowType> {
|
|
28
|
+
/**
|
|
29
|
+
* Attach one or more read-typed annotations to this query plan.
|
|
30
|
+
* Annotations declare `applicableTo: ['read']` (or `['read', 'write']`)
|
|
31
|
+
* via `defineAnnotation`; write-only annotations fail to compile here.
|
|
32
|
+
* Annotations are merged into `plan.meta.annotations` at `.build()` time.
|
|
33
|
+
* Chainable in any position; multiple calls compose with last-write-wins
|
|
34
|
+
* on duplicate namespaces.
|
|
35
|
+
*/
|
|
36
|
+
annotate<As extends readonly AnnotationValue<unknown, OperationKind>[]>(
|
|
37
|
+
...annotations: As & ValidAnnotations<'read', As>
|
|
38
|
+
): SelectQuery<QC, AvailableScope, RowType>;
|
|
39
|
+
|
|
23
40
|
where(expr: ExpressionBuilder<AvailableScope, QC>): SelectQuery<QC, AvailableScope, RowType>;
|
|
24
41
|
|
|
25
42
|
orderBy(
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"db-DkZcNekS.d.mts","names":[],"sources":["../src/scope.ts","../src/expression.ts","../src/resolve.ts","../src/types/mutation-query.ts","../src/types/joined-tables.ts","../src/types/grouped-query.ts","../src/types/select-query.ts","../src/types/shared.ts","../src/types/table-proxy.ts","../src/types/db.ts"],"mappings":";;;;;;KAMY,cAAA,GAAiB,MAAA;EAAA,SAA0B,KAAA;EAAA,SAAyB,MAAA;AAAA;AAAA,KAKpE,WAAA,mCAA8C,YAAA,SAAqB,QAAA,GAC3E,MAAA;AAAA,cAGiB,cAAA;AAAA,cACA,cAAA;AAAA,KAET,MAAA,oBAA0B,CAAA,GAAI,CAAA,CAAE,CAAA;AAAA,KAChC,QAAA,GAAW,MAAA,QAAc,UAAA;AAAA,KAEzB,UAAA,GAAa,MAAA,SAAe,UAAA;AAAA,KAE5B,KAAA;EACV,QAAA,EAAU,UAAA;EACV,UAAA,EAAY,MAAA,SAAe,UAAA;AAAA;AAAA,KAGjB,UAAA,aAAuB,UAAA;EAAA,UACvB,cAAA;IACR,QAAA,EAAU,GAAA;IACV,UAAA,EAAY,MAAA,CAAO,KAAA,EAAO,GAAA;EAAA;EAG5B,iBAAA,IAAqB,KAAA;EACrB,QAAA,IAAY,aAAA;AAAA;AAAA,KAGF,YAAA,oCAAgD,cAAA;EAC1D,QAAA,EAAU,wBAAA,CAAyB,KAAA;EACnC,UAAA,UACQ,IAAA,GAAO,wBAAA,CAAyB,KAAA;AAAA;AAAA,KAI9B,wBAAA,WAAmC,cAAA,kBACjC,CAAA;EACV,OAAA,EAAS,CAAA,YAAa,CAAA;EACtB,QAAA,EAAU,CAAA,YAAa,CAAA;AAAA;AAAA,KAIf,WAAA,WAAsB,KAAA,YAAiB,KAAA;EACjD,QAAA,EAAU,MAAA,CACR,IAAA,CAAK,CAAA,oBAAqB,CAAA,gBAAiB,IAAA,CAAK,CAAA,oBAAqB,CAAA;EAEvE,UAAA,EAAY,MAAA,CAAO,CAAA,iBAAkB,CAAA;AAAA;AAAA,KAG3B,WAAA,WAAsB,KAAA;EAChC,QAAA,EAAU,CAAA;EACV,UAAA,EAAY,MAAA,CAAO,IAAA,CAAK,CAAA,gBAAiB,MAAA,IAAU,MAAA,CAAO,MAAA,EAAQ,CAAA,eAAgB,MAAA;AAAA;AAAA,KAGxE,kBAAA,WAA6B,UAAA,kBAC3B,CAAA;EAAM,OAAA,EAAS,CAAA,CAAE,CAAA;EAAe,QAAA;AAAA;AAAA,KAGlC,aAAA,WAAwB,KAAA;EAClC,QAAA,EAAU,kBAAA,CAAmB,CAAA;EAC7B,UAAA,wBACsB,CAAA,iBAAkB,kBAAA,CAAmB,CAAA,eAAgB,SAAA;AAAA;AAAA,KAIjE,QAAA,iBAAyB,MAAA,SAAe,UAAA;EAAA,CACjD,cAAA,GAAiB,OAAA;EAClB,QAAA,IAAY,SAAA;EACZ,YAAA,IAAgB,MAAA,SAAe,UAAA;AAAA;AAAA,KAGrB,YAAA;EAAA,SACD,UAAA,EAAY,cAAA;EAAA,SACZ,YAAA,EAAc,MAAA,SAAe,MAAA;EAAA,SAC7B,mBAAA,EAAqB,uBAAA;EAAA,SACrB,yBAAA,EAA2B,MAAA;AAAA;;;KC3E1B,gBAAA;EAAqB,OAAA;EAAsB,QAAA;AAAA;AAAA,KAE3C,SAAA,uBAAgC,UAAA,0BAAoC,MAAA,CAC9E,MAAA,WAAiB,KAAA,GAAQ,KAAA;AAAA,KAGf,UAAA,2BAEQ,UAAA,kCACc,SAAA,OAC9B,MAAA,CAAO,MAAA,GAAS,IAAA,CAAK,SAAA,EAAW,OAAA;AAAA,KAExB,kBAAA,WAA6B,MAAA,SAAe,YAAA,CAAW,UAAA,oBACrD,CAAA,GAAI,CAAA,CAAE,CAAA,UAAW,YAAA,iBAA2B,UAAA,IAAc,CAAA;AAAA,KAG5D,UAAA,wBAAkC,KAAA,kBAChC,cAAA,eAA6B,YAAA,CAAW,cAAA,aAA2B,CAAA,6BAE3D,cAAA,+BACN,cAAA,eAA6B,SAAA,IAAa,YAAA,CACpD,cAAA,eAA6B,SAAA,EAAW,CAAA;AAAA,KAKlC,iBAAA,wBAAyC,KAAA,aAAkB,YAAA,KACrE,MAAA,EAAQ,UAAA,CAAW,cAAA,GACnB,GAAA,EAAK,SAAA,CAAU,EAAA,MACZ,YAAA,CAAW,gBAAA;AAAA,KAEJ,gBAAA;AAAA,KACA,YAAA;AAAA,KAEA,cAAA;EACV,SAAA,GAAY,gBAAA;EACZ,KAAA,GAAQ,YAAA;AAAA;AAAA,KAGE,YAAA,wBACa,KAAA,kBACP,MAAA,SAAe,UAAA;EAE/B,QAAA,EAAU,MAAA,CAAO,cAAA,eAA6B,OAAA;EAC9C,UAAA,EAAY,cAAA;AAAA;AAAA,KAGT,kBAAA,YAA8B,uBAAA,kBACrB,EAAA,GAAK,EAAA,CAAG,CAAA;AAAA,KAGV,gBAAA,YAA4B,MAAA;EAAA,SAA0B,KAAA;AAAA;EAChE,EAAA,2BACE,CAAA,EAAG,eAAA,CAAgB,OAAA,WAAkB,EAAA,UACrC,CAAA,EAAG,eAAA,CAAgB,OAAA,WAAkB,EAAA,aAClC,YAAA,CAAW,gBAAA;EAChB,EAAA,8CACE,CAAA,EAAG,eAAA,CAAgB,OAAA,EAAS,CAAA,EAAG,EAAA,UAC/B,CAAA,EAAG,eAAA,CAAgB,OAAA,EAAS,CAAA,EAAG,EAAA,aAC5B,YAAA,CAAW,gBAAA;EAChB,EAAA,8CACE,CAAA,EAAG,eAAA,CAAgB,OAAA,EAAS,CAAA,EAAG,EAAA,GAC/B,CAAA,EAAG,eAAA,CAAgB,OAAA,EAAS,CAAA,EAAG,EAAA,MAC5B,YAAA,CAAW,gBAAA;EAChB,GAAA,8CACE,CAAA,EAAG,eAAA,CAAgB,OAAA,EAAS,CAAA,EAAG,EAAA,GAC/B,CAAA,EAAG,eAAA,CAAgB,OAAA,EAAS,CAAA,EAAG,EAAA,MAC5B,YAAA,CAAW,gBAAA;EAChB,EAAA,8CACE,CAAA,EAAG,eAAA,CAAgB,OAAA,EAAS,CAAA,EAAG,EAAA,GAC/B,CAAA,EAAG,eAAA,CAAgB,OAAA,EAAS,CAAA,EAAG,EAAA,MAC5B,YAAA,CAAW,gBAAA;EAChB,GAAA,8CACE,CAAA,EAAG,eAAA,CAAgB,OAAA,EAAS,CAAA,EAAG,EAAA,GAC/B,CAAA,EAAG,eAAA,CAAgB,OAAA,EAAS,CAAA,EAAG,EAAA,MAC5B,YAAA,CAAW,gBAAA;EAChB,GAAA,MAAS,IAAA,EAAM,eAAA,uBAAsC,EAAA,QAAU,YAAA,CAAW,gBAAA;EAC1E,EAAA,MAAQ,GAAA,EAAK,eAAA,uBAAsC,EAAA,QAAU,YAAA,CAAW,gBAAA;EAExE,MAAA,GAAS,QAAA,EAAU,QAAA,CAAS,MAAA,SAAe,UAAA,OAAiB,YAAA,CAAW,gBAAA;EACvE,SAAA,GAAY,QAAA,EAAU,QAAA,CAAS,MAAA,SAAe,UAAA,OAAiB,YAAA,CAAW,gBAAA;EAE1E,EAAA;IAAA,yBAEI,IAAA,EAAM,YAAA;MAAa,OAAA,EAAS,OAAA;MAAS,QAAA;IAAA,IACrC,QAAA,EAAU,QAAA,CAAS,MAAA;MAAiB,OAAA,EAAS,OAAA;MAAS,QAAA;IAAA,MACrD,YAAA,CAAW,gBAAA;IAAA,yBAEZ,IAAA,EAAM,YAAA;MAAa,OAAA,EAAS,OAAA;MAAS,QAAA;IAAA,IACrC,MAAA,EAAQ,KAAA,CAAM,eAAA,CAAgB,OAAA,WAAkB,EAAA,KAC/C,YAAA,CAAW,gBAAA;EAAA;EAGhB,KAAA;IAAA,yBAEI,IAAA,EAAM,YAAA;MAAa,OAAA,EAAS,OAAA;MAAS,QAAA;IAAA,IACrC,QAAA,EAAU,QAAA,CAAS,MAAA;MAAiB,OAAA,EAAS,OAAA;MAAS,QAAA;IAAA,MACrD,YAAA,CAAW,gBAAA;IAAA,yBAEZ,IAAA,EAAM,YAAA;MAAa,OAAA,EAAS,OAAA;MAAS,QAAA;IAAA,IACrC,MAAA,EAAQ,KAAA,CAAM,eAAA,CAAgB,OAAA,WAAkB,EAAA,KAC/C,YAAA,CAAW,gBAAA;EAAA;AAAA;AAAA,KAIN,SAAA,YAAqB,YAAA,IAAgB,gBAAA,CAAiB,EAAA,kBAChE,kBAAA,CAAmB,EAAA;AAAA,KAET,UAAA;EAAe,OAAA;EAAsB,QAAA;AAAA;AAAA,KAErC,sBAAA;EACV,KAAA,GAAQ,IAAA,GAAO,YAAA,CAAW,UAAA,MAAgB,YAAA,CAAW,UAAA;EACrD,GAAA,aAAgB,UAAA,EACd,IAAA,EAAM,YAAA,CAAW,CAAA,MACd,YAAA;IAAa,OAAA,EAAS,CAAA;IAAc,QAAA;EAAA;EACzC,GAAA,aAAgB,UAAA,EACd,IAAA,EAAM,YAAA,CAAW,CAAA,MACd,YAAA;IAAa,OAAA,EAAS,CAAA;IAAc,QAAA;EAAA;EACzC,GAAA,aAAgB,UAAA,EACd,IAAA,EAAM,YAAA,CAAW,CAAA,MACd,YAAA;IAAa,OAAA,EAAS,CAAA;IAAc,QAAA;EAAA;EACzC,GAAA,aAAgB,UAAA,EACd,IAAA,EAAM,YAAA,CAAW,CAAA,MACd,YAAA;IAAa,OAAA,EAAS,CAAA;IAAc,QAAA;EAAA;AAAA;AAAA,KAG/B,kBAAA,YAA8B,YAAA,IAAgB,SAAA,CAAU,EAAA,IAAM,sBAAA;;;KCtIrE,YAAA,WACO,UAAA,qBACS,MAAA;EAAA,SAA0B,MAAA;AAAA,MAC3C,CAAA,0BAA2B,UAAA,GAC3B,CAAA,4BACE,UAAA,CAAW,CAAA,gCACX,UAAA,CAAW,CAAA;AAAA,KAGZ,aAAA,cAA2B,UAAA,IAAc,CAAA,4BAA6B,CAAA,UAAW,CAAA;AAAA,KAE1E,UAAA,aACE,MAAA,SAAe,UAAA,sBACR,MAAA;EAAA,SAA0B,MAAA;AAAA,wBACzB,MAAA,oBAA0B,MAAA,mBAC5C,MAAA,yBACoB,GAAA,wBAA2B,WAAA,GAC7C,YAAA,CAAa,GAAA,CAAI,CAAA,GAAI,UAAA,IACrB,CAAA,eAAgB,WAAA,GACd,aAAA,CAAc,WAAA,CAAY,WAAA,CAAY,CAAA,SAAU,WAAA,IAAe,GAAA,CAAI,CAAA,KACnE,YAAA,CAAa,GAAA,CAAI,CAAA,GAAI,UAAA;;;KChBjB,mBAAA;EAAwB,GAAA;IAAO,SAAA;EAAA;AAAA;AAAA,KAG/B,YAAA,eACI,YAAA,aACH,MAAA;EAAA,SAA0B,KAAA;AAAA,oBAEzB,KAAA,eAAoB,KAAA,YAAiB,CAAA,2BAA4B,EAAA,GACzE,EAAA,CAAG,KAAA,YAAiB,CAAA;AAAA,UAaT,WAAA,YACJ,YAAA,yBACY,KAAA,kBACP,MAAA,SAAe,UAAA;EAE/B,SAAA,EAAW,WAAA,CACT,EAAA,kBACA,mBAAA,0BACwB,cAAA,6BACnB,OAAA,EAAS,OAAA,KACT,WAAA,CAAY,EAAA,EAAI,cAAA,EAAgB,UAAA,CAAW,QAAA,EAAU,cAAA,cAA4B,OAAA;EAExF,KAAA,IAAS,YAAA,CAAa,UAAA,CAAW,OAAA,EAAS,EAAA,gBAAkB,EAAA;AAAA;AAAA,UAG7C,WAAA,YACJ,YAAA,yBACY,KAAA,kBACP,MAAA,SAAe,UAAA;EAE/B,KAAA,CAAM,IAAA,EAAM,iBAAA,CAAkB,cAAA,EAAgB,EAAA,IAAM,WAAA,CAAY,EAAA,EAAI,cAAA,EAAgB,OAAA;EACpF,SAAA,EAAW,WAAA,CACT,EAAA,kBACA,mBAAA,0BACwB,cAAA,6BACnB,OAAA,EAAS,OAAA,KACT,WAAA,CAAY,EAAA,EAAI,cAAA,EAAgB,UAAA,CAAW,QAAA,EAAU,cAAA,cAA4B,OAAA;EAExF,KAAA,IAAS,YAAA,CAAa,UAAA,CAAW,OAAA,EAAS,EAAA,gBAAkB,EAAA;AAAA;AAAA,UAG7C,WAAA,YACJ,YAAA,yBACY,KAAA,kBACP,MAAA,SAAe,UAAA;EAE/B,KAAA,CAAM,IAAA,EAAM,iBAAA,CAAkB,cAAA,EAAgB,EAAA,IAAM,WAAA,CAAY,EAAA,EAAI,cAAA,EAAgB,OAAA;EACpF,SAAA,EAAW,WAAA,CACT,EAAA,kBACA,mBAAA,0BACwB,cAAA,6BACnB,OAAA,EAAS,OAAA,KACT,WAAA,CAAY,EAAA,EAAI,cAAA,EAAgB,UAAA,CAAW,QAAA,EAAU,cAAA,cAA4B,OAAA;EAExF,KAAA,IAAS,YAAA,CAAa,UAAA,CAAW,OAAA,EAAS,EAAA,gBAAkB,EAAA;AAAA;;;UCpE7C,YAAA,YAAwB,YAAA,yBAAqC,KAAA,UACpE,UAAA,CAAW,EAAA,EAAI,cAAA,EAAgB,QAAA,GACrC,QAAA,CAAS,EAAA,EAAI,cAAA,EAAgB,EAAA;;;UCOhB,YAAA,YACJ,YAAA,yBACY,KAAA,kBACP,MAAA,SAAe,UAAA,WACvB,QAAA,CAAS,OAAA,GACf,cAAA,EACA,YAAA,EACA,SAAA,CAAU,OAAA,GACV,SAAA,CAAU,EAAA,EAAI,OAAA;EAChB,OAAA,IACK,MAAA,UAAgB,OAAA,SAAgB,cAAA,4BAClC,YAAA,CAAa,EAAA,EAAI,cAAA,EAAgB,OAAA;EAEpC,OAAA,CACE,IAAA,GACE,MAAA,EAAQ,UAAA,CAAW,YAAA,CAAa,cAAA,EAAgB,OAAA,IAChD,GAAA,EAAK,SAAA,CAAU,EAAA,MACZ,YAAA,CAAW,UAAA,IACf,YAAA,CAAa,EAAA,EAAI,cAAA,EAAgB,OAAA;EAEpC,MAAA,CACE,IAAA,GACE,MAAA,EAAQ,UAAA,CAAW,YAAA,CAAa,cAAA,EAAgB,OAAA,IAChD,GAAA,EAAK,kBAAA,CAAmB,EAAA,MACrB,YAAA,CAAW,gBAAA,IACf,YAAA,CAAa,EAAA,EAAI,cAAA,EAAgB,OAAA;EAEpC,OAAA,CACE,KAAA,SAAc,OAAA,SAAgB,cAAA,wBAC9B,OAAA,GAAU,cAAA,GACT,YAAA,CAAa,EAAA,EAAI,cAAA,EAAgB,OAAA;EAEpC,OAAA,CACE,IAAA,GACE,MAAA,EAAQ,UAAA,CAAW,YAAA,CAAa,cAAA,EAAgB,OAAA,IAChD,GAAA,EAAK,kBAAA,CAAmB,EAAA,MACrB,YAAA,CAAW,UAAA,GAChB,OAAA,GAAU,cAAA,GACT,YAAA,CAAa,EAAA,EAAI,cAAA,EAAgB,OAAA;EAEpC,UAAA,EAAY,WAAA,CACV,EAAA;IACE,QAAA;MAAY,UAAA;IAAA;EAAA;IAAA,IAGP,MAAA,UAAgB,OAAA,SAAgB,cAAA,4BAClC,YAAA,CAAa,EAAA,EAAI,cAAA,EAAgB,OAAA;IAAA,CAElC,IAAA,GACE,MAAA,EAAQ,UAAA,CAAW,YAAA,CAAa,cAAA,EAAgB,OAAA,IAChD,GAAA,EAAK,SAAA,CAAU,EAAA,MACZ,YAAA,CAAW,UAAA,IACf,YAAA,CAAa,EAAA,EAAI,cAAA,EAAgB,OAAA;EAAA;AAAA;;;UCpDzB,WAAA,YACJ,YAAA,yBACY,KAAA,kBACP,MAAA,SAAe,UAAA,WACvB,QAAA,CAAS,OAAA,GACf,UAAA,CAAW,EAAA,EAAI,cAAA,EAAgB,OAAA,GAC/B,cAAA,EACA,YAAA,EACA,SAAA,CAAU,OAAA,GACV,SAAA,CAAU,EAAA,EAAI,OAAA;EAChB,KAAA,CAAM,IAAA,EAAM,iBAAA,CAAkB,cAAA,EAAgB,EAAA,IAAM,WAAA,CAAY,EAAA,EAAI,cAAA,EAAgB,OAAA;EAEpF,OAAA,CACE,KAAA,SAAc,OAAA,SAAgB,cAAA,wBAC9B,OAAA,GAAU,cAAA,GACT,WAAA,CAAY,EAAA,EAAI,cAAA,EAAgB,OAAA;EAEnC,OAAA,CACE,IAAA,GACE,MAAA,EAAQ,UAAA,CAAW,YAAA,CAAa,cAAA,EAAgB,OAAA,IAChD,GAAA,EAAK,SAAA,CAAU,EAAA,MACZ,YAAA,CAAW,UAAA,GAChB,OAAA,GAAU,cAAA,GACT,WAAA,CAAY,EAAA,EAAI,cAAA,EAAgB,OAAA;EAEnC,OAAA,IACK,MAAA,UAAgB,OAAA,SAAgB,cAAA,4BAClC,YAAA,CAAa,EAAA,EAAI,cAAA,EAAgB,OAAA;EAEpC,OAAA,CACE,IAAA,GACE,MAAA,EAAQ,UAAA,CAAW,YAAA,CAAa,cAAA,EAAgB,OAAA,IAChD,GAAA,EAAK,SAAA,CAAU,EAAA,MACZ,YAAA,CAAW,UAAA,IACf,YAAA,CAAa,EAAA,EAAI,cAAA,EAAgB,OAAA;EAEpC,UAAA,EAAY,WAAA,CACV,EAAA;IACE,QAAA;MAAY,UAAA;IAAA;EAAA;IAAA,IAGP,MAAA,UAAgB,OAAA,SAAgB,cAAA,4BAClC,WAAA,CAAY,EAAA,EAAI,cAAA,EAAgB,OAAA;IAAA,CAEjC,IAAA,GACE,MAAA,EAAQ,UAAA,CAAW,YAAA,CAAa,cAAA,EAAgB,OAAA,IAChD,GAAA,EAAK,SAAA,CAAU,EAAA,MACZ,YAAA,CAAW,UAAA,IACf,WAAA,CAAY,EAAA,EAAI,cAAA,EAAgB,OAAA;EAAA;AAAA;;;UChCxB,cAAA,YAA0B,YAAA,sBAAkC,KAAA;EAC3E,IAAA,eAAmB,UAAA,CAAW,UAAA,mBAC5B,KAAA,EAAO,KAAA,GACN,WAAA,CAAY,EAAA,EAAI,WAAA,CAAY,WAAA,EAAa,KAAA,QAAa,cAAA,IAAkB,QAAA;AAAA;AAAA,UAG5D,UAAA,YACJ,YAAA,yBACY,KAAA,kBACP,MAAA,SAAe,UAAA,IAAc,QAAA;EAE7C,MAAA,wBAA8B,cAAA,6BACzB,OAAA,EAAS,OAAA,GACX,WAAA,CAAY,EAAA,EAAI,cAAA,EAAgB,UAAA,CAAW,OAAA,EAAS,cAAA,cAA4B,OAAA;EAEnF,MAAA,qCAA2C,UAAA,EACzC,KAAA,EAAO,KAAA,EACP,IAAA,GAAO,MAAA,EAAQ,UAAA,CAAW,cAAA,GAAiB,GAAA,EAAK,kBAAA,CAAmB,EAAA,MAAQ,YAAA,CAAW,KAAA,IACrF,WAAA,CAAY,EAAA,EAAI,cAAA,EAAgB,SAAA,CAAU,OAAA,EAAS,KAAA,EAAO,KAAA;EAE7D,MAAA,gBAAsB,MAAA,SAAe,YAAA,CAAW,UAAA,IAC9C,QAAA,GAAW,MAAA,EAAQ,UAAA,CAAW,cAAA,GAAiB,GAAA,EAAK,kBAAA,CAAmB,EAAA,MAAQ,MAAA,GAC9E,WAAA,CAAY,EAAA,EAAI,cAAA,EAAgB,MAAA,CAAO,OAAA,GAAU,kBAAA,CAAmB,MAAA;AAAA;AAAA,UAGxD,QAAA,YAAoB,YAAA,yBAAqC,KAAA;EACxE,SAAA,eAAwB,UAAA,CAAW,UAAA,mBACjC,KAAA,EAAO,KAAA,EACP,EAAA,EAAI,iBAAA,CAAkB,WAAA,CAAY,cAAA,EAAgB,KAAA,QAAa,cAAA,IAAkB,EAAA,IAChF,YAAA,CAAa,EAAA,EAAI,WAAA,CAAY,cAAA,EAAgB,KAAA,QAAa,cAAA;EAE7D,aAAA,eAA4B,UAAA,CAAW,UAAA,mBACrC,KAAA,EAAO,KAAA,EACP,EAAA,EAAI,iBAAA,CAAkB,WAAA,CAAY,cAAA,EAAgB,KAAA,QAAa,cAAA,IAAkB,EAAA,IAChF,YAAA,CAAa,EAAA,EAAI,WAAA,CAAY,cAAA,EAAgB,aAAA,CAAc,KAAA,QAAa,cAAA;EAE3E,cAAA,eAA6B,UAAA,CAAW,UAAA,mBACtC,KAAA,EAAO,KAAA,EACP,EAAA,EAAI,iBAAA,CAAkB,WAAA,CAAY,cAAA,EAAgB,KAAA,QAAa,cAAA,IAAkB,EAAA,IAChF,YAAA,CAAa,EAAA,EAAI,WAAA,CAAY,aAAA,CAAc,cAAA,GAAiB,KAAA,QAAa,cAAA;EAE5E,aAAA,eAA4B,UAAA,CAAW,UAAA,mBACrC,KAAA,EAAO,KAAA,EACP,EAAA,EAAI,iBAAA,CAAkB,WAAA,CAAY,cAAA,EAAgB,KAAA,QAAa,cAAA,IAAkB,EAAA,IAChF,YAAA,CACD,EAAA,EACA,WAAA,CAAY,aAAA,CAAc,cAAA,GAAiB,aAAA,CAAc,KAAA,QAAa,cAAA;EAGxE,WAAA,EAAa,WAAA,CACX,YAAA;IACE,GAAA;MAAO,OAAA;IAAA;EAAA,6CACiC,MAAA,SAAe,UAAA,GACvD,KAAA,EAAO,KAAA,EACP,OAAA,GAAU,OAAA,EAAS,cAAA,CAAe,EAAA,EAAI,cAAA,MAAoB,QAAA,CAAS,UAAA,MAChE,YAAA,CACH,EAAA,EACA,WAAA,CAAY,cAAA;IAAkB,QAAA,EAAU,UAAA;IAAY,UAAA,EAAY,MAAA,CAAO,KAAA,EAAO,UAAA;EAAA;EAIlF,gBAAA,EAAkB,WAAA,CAChB,YAAA;IACE,GAAA;MAAO,OAAA;IAAA;EAAA,6CACiC,MAAA,SAAe,UAAA,GACvD,KAAA,EAAO,KAAA,EACP,OAAA,GAAU,OAAA,EAAS,cAAA,CAAe,EAAA,EAAI,cAAA,MAAoB,QAAA,CAAS,UAAA,MAChE,YAAA,CACH,EAAA,EACA,WAAA,CACE,cAAA,EACA,aAAA;IAAgB,QAAA,EAAU,UAAA;IAAY,UAAA,EAAY,MAAA,CAAO,KAAA,EAAO,UAAA;EAAA;AAAA;AAAA,UAMvD,cAAA;EACf,KAAA,CAAM,KAAA;EACN,MAAA,CAAO,KAAA;AAAA;AAAA,UAGQ,YAAA;EACf,QAAA;AAAA;AAAA,UAGe,SAAA,iBAA0B,MAAA,SAAe,UAAA;EACxD,EAAA,uBAAyB,QAAA,EAAU,KAAA,GAAQ,UAAA,CAAW,OAAA,EAAS,KAAA;AAAA;AAAA,UAGhD,SAAA,YAAqB,YAAA,kBAA8B,MAAA,SAAe,UAAA;EACjF,KAAA,IAAS,YAAA,CAAa,UAAA,CAAW,OAAA,EAAS,EAAA,gBAAkB,EAAA;AAAA;;;KCnGzD,iBAAA,gCAAiD,CAAA;EAAA,SAC3C,MAAA,uBAA6B,MAAA;IAAA,SAEzB,OAAA;MAAA,SAAoB,KAAA;IAAA;EAAA;AAAA,kBAIjB,MAAA,YAAkB,MAAA,CAAO,CAAA,8BAA+B,SAAA,GAAY,CAAA,iBAC1E,MAAA;AAAA,KAGP,kBAAA,2DAA6E,CAAA;EAAA,SACvE,MAAA,uBAA6B,MAAA;IAAA,SAEzB,OAAA;MAAA,SAAoB,MAAA,EAAQ,MAAA;QAAA,SAA0B,MAAA;MAAA;IAAA;EAAA;AAAA,IAGjE,SAAA,eAAwB,MAAA,iBAER,MAAA,CAAO,SAAA,kCACR,MAAA,CAAO,SAAA,uBAAgC,CAAA,oBAAqB,UAAA,GACnE,CAAA,iBAEE,MAAA,CAAO,SAAA;AAAA,KAIhB,mBAAA,iDAGgB,MAAA,SAAe,MAAA,2CACX,UAAA,GACrB,MAAA,kBACA,iBAAA,CAAkB,CAAA,EAAG,SAAA,2CACnB,SAAA,eAAwB,UAAA,GACtB,CAAA;EAAA,SACW,OAAA;IAAA,SAAoB,MAAA,uBAA6B,MAAA,SAAe,YAAA;EAAA;AAAA,IAEzE,SAAA,eAAwB,MAAA,uBAEF,MAAA,CAAO,SAAA,wBAAiC,kBAAA,CACxD,CAAA,EACA,SAAA,EACA,OAAA,2CAEE,SAAA,eAAwB,UAAA,CAAW,SAAA,IACjC,UAAA,CAAW,SAAA,EAAW,SAAA,0BAI9B,MAAA,kBACF,MAAA,kBACF,MAAA,kBACF,MAAA;AAAA,KAED,oBAAA,kBAEW,YAAA,uCAEH,MAAA;EAAA,SAA0B,KAAA;AAAA,wBACjB,MAAA,SAAe,MAAA,2CACZ,WAAA,GACrB,YAAA,CAAa,KAAA,EAAO,EAAA,IACpB,iBAAA,CAAkB,CAAA,EAAG,SAAA,2CACnB,SAAA,eAAwB,WAAA,iBAER,KAAA,eAAoB,kBAAA,CAC9B,CAAA,EACA,SAAA,EACA,CAAA,oDAEE,SAAA,eAAwB,WAAA,CAAY,SAAA,IAClC,KAAA,YAAiB,CAAA,6BACf,WAAA,CAAY,WAAA,CAAY,SAAA,EAAW,SAAA,YACnC,WAAA,CAAY,WAAA,CAAY,SAAA,EAAW,SAAA,KACrC,KAAA,YAAiB,CAAA,2BAA4B,EAAA,GAC3C,EAAA,CAAG,KAAA,YAAiB,CAAA,mCAExB,KAAA,YAAiB,CAAA,2BAA4B,EAAA,GAC3C,EAAA,CAAG,KAAA,YAAiB,CAAA,qCAG5B,YAAA,CAAa,KAAA,EAAO,EAAA,IACtB,YAAA,CAAa,KAAA,EAAO,EAAA;AAAA,KAErB,oBAAA,kBAEW,YAAA,uCAEH,MAAA;EAAA,SAA0B,KAAA;AAAA,wBACjB,MAAA,SAAe,MAAA,sBACjC,oBAAA,CAAqB,CAAA,EAAG,KAAA,EAAO,SAAA,EAAW,EAAA,EAAI,WAAA;AAAA,KAE7C,YAAA,WAAuB,kBAAA;EAAA,SACjB,UAAA,EAAY,iBAAA,CAAkB,CAAA;EAAA,SAC9B,YAAA,EAAc,CAAA;EAAA,SACd,mBAAA,EAAqB,0BAAA,CAA2B,CAAA;EAAA,SAChD,yBAAA,EAA2B,mBAAA,CAAoB,CAAA,EAAG,IAAA,EAAM,uBAAA,CAAwB,CAAA;AAAA;AAAA,UAG1E,UAAA,WACL,kBAAA,8BACkB,CAAA,8CACL,IAAA,yBACA,KAAA,GAAQ,YAAA,CAAa,IAAA,EAAM,CAAA,sBAAuB,IAAA,eAC9D,YAAA,GAAe,YAAA,CAAa,CAAA,EAAG,IAAA,WAClC,UAAA,CAAW,wBAAA,CAAyB,CAAA,sBAAuB,IAAA,IAAQ,KAAA,GACzE,UAAA,CAAW,EAAA,EAAI,cAAA,EAAgB,QAAA,GAC/B,QAAA,CAAS,EAAA,EAAI,cAAA,EAAgB,CAAA;EAC/B,EAAA,0BACE,QAAA,EAAU,QAAA,GACT,UAAA,CAAW,CAAA,EAAG,IAAA,EAAM,QAAA,EAAU,WAAA,CAAY,cAAA,EAAgB,KAAA,EAAO,QAAA;EAEpE,MAAA,CACE,MAAA,EAAQ,oBAAA,CACN,CAAA,EACA,CAAA,sBAAuB,IAAA,GACvB,IAAA,EACA,EAAA,gBACA,sBAAA,CAAuB,CAAA,KAExB,WAAA,CAAY,EAAA,EAAI,cAAA,EAAgB,QAAA;EAEnC,MAAA,CACE,GAAA,EAAK,oBAAA,CACH,CAAA,EACA,CAAA,sBAAuB,IAAA,GACvB,IAAA,EACA,EAAA,gBACA,sBAAA,CAAuB,CAAA,KAExB,WAAA,CAAY,EAAA,EAAI,cAAA,EAAgB,QAAA;EAEnC,MAAA,IAAU,WAAA,CAAY,EAAA,EAAI,cAAA,EAAgB,QAAA;AAAA;;;KCtJhC,gBAAA,GAAmB,MAAA,SAAe,MAAA;AAAA,KAElC,kBAAA;EAAA,SACD,OAAA;IAAA,SAAoB,MAAA,EAAQ,MAAA,SAAe,YAAA;EAAA;EAAA,SAC3C,YAAA,EAAc,gBAAA;AAAA;AAAA,KAGb,EAAA,WAAa,kBAAA,8BACC,CAAA,wBAAyB,UAAA,CAAW,CAAA,EAAG,IAAA"}
|