@prisma-next/sql-relational-core 0.16.0-dev.2 → 0.16.0-dev.20

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.
Files changed (40) hide show
  1. package/dist/{codec-types-C8vFGWij.d.mts → codec-types-Bayoa4PI.d.mts} +3 -2
  2. package/dist/codec-types-Bayoa4PI.d.mts.map +1 -0
  3. package/dist/{ddl-types-DzaZCtFT.d.mts → ddl-types-B3SfjPGI.d.mts} +3 -3
  4. package/dist/{ddl-types-DzaZCtFT.d.mts.map → ddl-types-B3SfjPGI.d.mts.map} +1 -1
  5. package/dist/exports/ast.d.mts +4 -4
  6. package/dist/exports/ast.mjs +63 -2
  7. package/dist/exports/ast.mjs.map +1 -1
  8. package/dist/exports/codec-descriptor-registry.d.mts +2 -2
  9. package/dist/exports/contract-free.d.mts +3 -3
  10. package/dist/exports/contract-free.mjs +1 -1
  11. package/dist/exports/expression.d.mts +2 -2
  12. package/dist/exports/expression.mjs +1 -1
  13. package/dist/exports/middleware.d.mts +1 -1
  14. package/dist/exports/plan.d.mts +2 -2
  15. package/dist/exports/query-lane-context.d.mts +1 -1
  16. package/dist/exports/types.d.mts +1 -1
  17. package/dist/index.d.mts +9 -9
  18. package/dist/index.mjs +3 -3
  19. package/dist/{middleware-CFDg6XOc.d.mts → middleware-_9-4TYKC.d.mts} +2 -2
  20. package/dist/{middleware-CFDg6XOc.d.mts.map → middleware-_9-4TYKC.d.mts.map} +1 -1
  21. package/dist/{plan-CBT55zev.d.mts → plan-Dq94efZJ.d.mts} +2 -2
  22. package/dist/{plan-CBT55zev.d.mts.map → plan-Dq94efZJ.d.mts.map} +1 -1
  23. package/dist/{query-lane-context-BNbbusGn.d.mts → query-lane-context-DTCOHMXn.d.mts} +2 -2
  24. package/dist/{query-lane-context-BNbbusGn.d.mts.map → query-lane-context-DTCOHMXn.d.mts.map} +1 -1
  25. package/dist/{sql-execution-plan-CPw3uKrJ.d.mts → sql-execution-plan-B-C-6cZN.d.mts} +2 -2
  26. package/dist/{sql-execution-plan-CPw3uKrJ.d.mts.map → sql-execution-plan-B-C-6cZN.d.mts.map} +1 -1
  27. package/dist/{types-BR266jxM.d.mts → types-CRV7uuOC.d.mts} +5 -5
  28. package/dist/{types-BR266jxM.d.mts.map → types-CRV7uuOC.d.mts.map} +1 -1
  29. package/dist/{types-Dr3jep6j.d.mts → types-CWlaErjN.d.mts} +97 -13
  30. package/dist/types-CWlaErjN.d.mts.map +1 -0
  31. package/dist/{types-DtzFztRV.mjs → types-DpAvAX8u.mjs} +160 -24
  32. package/dist/types-DpAvAX8u.mjs.map +1 -0
  33. package/package.json +11 -11
  34. package/src/ast/codec-types.ts +37 -0
  35. package/src/ast/json-value-projection.ts +100 -0
  36. package/src/ast/types.ts +227 -49
  37. package/src/exports/ast.ts +1 -0
  38. package/dist/codec-types-C8vFGWij.d.mts.map +0 -1
  39. package/dist/types-Dr3jep6j.d.mts.map +0 -1
  40. package/dist/types-DtzFztRV.mjs.map +0 -1
package/src/ast/types.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  import type { ParamSpec } from '@prisma-next/operations';
2
2
  import type { SqlLoweringSpec } from '@prisma-next/sql-operations';
3
+
3
4
  import { ifDefined } from '@prisma-next/utils/defined';
4
- import type { CodecRef } from './codec-types';
5
+ import { structuredError } from '@prisma-next/utils/structured-error';
6
+ import { type CodecRef, frozenCodecRef } from './codec-types';
7
+ import type { AnyJsonValueProjection } from './json-value-projection';
5
8
 
6
9
  export type Direction = 'asc' | 'desc';
7
10
 
@@ -50,6 +53,9 @@ export interface ExprVisitor<R> {
50
53
  operation(expr: OperationExpr): R;
51
54
  aggregate(expr: AggregateExpr): R;
52
55
  windowFunc(expr: WindowFuncExpr): R;
56
+ functionCall(expr: FunctionCallExpr): R;
57
+ cast(expr: CastExpr): R;
58
+ case(expr: CaseExpr): R;
53
59
  jsonObject(expr: JsonObjectExpr): R;
54
60
  jsonArrayAgg(expr: JsonArrayAggExpr): R;
55
61
  binary(expr: BinaryExpr): R;
@@ -65,6 +71,31 @@ export interface ExprVisitor<R> {
65
71
  rawExpr(expr: RawExpr): R;
66
72
  }
67
73
 
74
+ const toAnyExpressionVisitor: ExprVisitor<AnyExpression> = {
75
+ columnRef: (expr) => expr,
76
+ identifierRef: (expr) => expr,
77
+ subquery: (expr) => expr,
78
+ operation: (expr) => expr,
79
+ aggregate: (expr) => expr,
80
+ windowFunc: (expr) => expr,
81
+ functionCall: (expr) => expr,
82
+ cast: (expr) => expr,
83
+ case: (expr) => expr,
84
+ jsonObject: (expr) => expr,
85
+ jsonArrayAgg: (expr) => expr,
86
+ binary: (expr) => expr,
87
+ and: (expr) => expr,
88
+ or: (expr) => expr,
89
+ exists: (expr) => expr,
90
+ nullCheck: (expr) => expr,
91
+ not: (expr) => expr,
92
+ literal: (expr) => expr,
93
+ param: (expr) => expr,
94
+ preparedParam: (expr) => expr,
95
+ list: (expr) => expr,
96
+ rawExpr: (expr) => expr,
97
+ };
98
+
68
99
  export interface ExpressionFolder<T> {
69
100
  empty: T;
70
101
  combine(a: T, b: T): T;
@@ -85,7 +116,7 @@ export type JoinOnExpr = EqColJoinOn | AnyExpression;
85
116
  export type WhereArg = AnyExpression | ToWhereExpr;
86
117
  export type JsonObjectEntry = {
87
118
  readonly key: string;
88
- readonly value: ProjectionExpr;
119
+ readonly value: AnyJsonValueProjection;
89
120
  };
90
121
 
91
122
  function frozenArrayCopy<T>(values: readonly T[]): ReadonlyArray<T> {
@@ -102,18 +133,6 @@ function frozenRecordCopy<T>(record: Readonly<Record<string, T>>): Readonly<Reco
102
133
  return Object.freeze({ ...record });
103
134
  }
104
135
 
105
- function frozenCodecRef(codec: CodecRef): CodecRef {
106
- const typeParams =
107
- codec.typeParams === undefined
108
- ? undefined
109
- : (structuredClone(codec.typeParams) as CodecRef['typeParams']);
110
- const base = {
111
- codecId: codec.codecId,
112
- ...ifDefined('typeParams', typeParams),
113
- };
114
- return Object.freeze(codec.many ? { ...base, many: true } : base);
115
- }
116
-
117
136
  function freezeRows(
118
137
  rows: ReadonlyArray<Record<string, InsertValue>>,
119
138
  ): ReadonlyArray<Readonly<Record<string, InsertValue>>> {
@@ -242,7 +261,7 @@ function rewriteUpdateSet(
242
261
  ): Record<string, AnyExpression> {
243
262
  const result: Record<string, AnyExpression> = {};
244
263
  for (const [key, value] of Object.entries(set)) {
245
- result[key] = value.rewrite(rewriter as ExpressionRewriter);
264
+ result[key] = value.rewrite(rewriter);
246
265
  }
247
266
  return result;
248
267
  }
@@ -250,9 +269,13 @@ function rewriteUpdateSet(
250
269
  function rewriteLimitOffset<T extends number | AnyExpression | undefined>(
251
270
  value: T,
252
271
  rewriter: AstRewriter,
253
- ): T {
272
+ ): T;
273
+ function rewriteLimitOffset(
274
+ value: number | AnyExpression | undefined,
275
+ rewriter: AstRewriter,
276
+ ): number | AnyExpression | undefined {
254
277
  if (value === undefined || typeof value === 'number') return value;
255
- return value.rewrite(rewriter) as T;
278
+ return value.rewrite(rewriter);
256
279
  }
257
280
 
258
281
  function rewriteOnConflict(onConflict: InsertOnConflict, rewriter: AstRewriter): InsertOnConflict {
@@ -306,12 +329,16 @@ abstract class Expression extends AstNode implements ExpressionSource {
306
329
  throw new Error(`${this.constructor.name} does not expose a base column reference`);
307
330
  }
308
331
 
332
+ #asAnyExpression(): AnyExpression {
333
+ return this.accept(toAnyExpressionVisitor);
334
+ }
335
+
309
336
  toExpr(): AnyExpression {
310
- return this as unknown as AnyExpression;
337
+ return this.#asAnyExpression();
311
338
  }
312
339
 
313
340
  not(): NotExpr {
314
- return new NotExpr(this as unknown as AnyExpression);
341
+ return new NotExpr(this.#asAnyExpression());
315
342
  }
316
343
  }
317
344
 
@@ -380,28 +407,65 @@ export class DerivedTableSource extends FromSource {
380
407
  }
381
408
  }
382
409
 
410
+ export interface FunctionSourceAlias {
411
+ readonly alias: string;
412
+ readonly columnAliases?: ReadonlyArray<string>;
413
+ }
414
+
383
415
  export class FunctionSource extends FromSource {
384
416
  readonly kind = 'function-source' as const;
385
417
  readonly fn: string;
386
418
  readonly args: ReadonlyArray<AnyExpression>;
387
419
  readonly alias: string | undefined;
388
-
389
- protected constructor(fn: string, args: ReadonlyArray<AnyExpression>, alias?: string) {
420
+ readonly columnAliases: ReadonlyArray<string> | undefined;
421
+ readonly ordinality: boolean;
422
+
423
+ protected constructor(
424
+ fn: string,
425
+ args: ReadonlyArray<AnyExpression>,
426
+ alias?: FunctionSourceAlias,
427
+ ordinality = false,
428
+ ) {
390
429
  super();
430
+ if (alias?.columnAliases?.length === 0) {
431
+ throw structuredError('SQL.AST_INVALID', 'FunctionSource column aliases must not be empty', {
432
+ meta: { kind: 'function-source', field: 'columnAliases' },
433
+ });
434
+ }
391
435
  this.fn = fn;
392
436
  this.args = frozenArrayCopy(args);
393
- this.alias = alias;
437
+ this.alias = alias?.alias;
438
+ this.columnAliases =
439
+ alias?.columnAliases === undefined ? undefined : frozenArrayCopy(alias.columnAliases);
440
+ this.ordinality = ordinality;
394
441
  this.freeze();
395
442
  }
396
443
 
397
- static of(fn: string, args: ReadonlyArray<AnyExpression>, alias?: string): FunctionSource {
444
+ static of(
445
+ fn: string,
446
+ args: ReadonlyArray<AnyExpression>,
447
+ alias?: FunctionSourceAlias,
448
+ ): FunctionSource {
398
449
  return new FunctionSource(fn, args, alias);
399
450
  }
400
451
 
452
+ #aliasOptions(): FunctionSourceAlias | undefined {
453
+ if (this.alias === undefined) return undefined;
454
+ return {
455
+ alias: this.alias,
456
+ ...ifDefined('columnAliases', this.columnAliases),
457
+ };
458
+ }
459
+
460
+ withOrdinality(): FunctionSource {
461
+ if (this.ordinality) return this;
462
+ return new FunctionSource(this.fn, this.args, this.#aliasOptions(), true);
463
+ }
464
+
401
465
  override rewrite(rewriter: AstRewriter): AnyFromSource {
402
466
  const rewrittenArgs = this.args.map((arg) => rewriteComparable(arg, rewriter));
403
467
  if (rewrittenArgs.every((arg, i) => arg === this.args[i])) return this;
404
- return new FunctionSource(this.fn, rewrittenArgs, this.alias);
468
+ return new FunctionSource(this.fn, rewrittenArgs, this.#aliasOptions(), this.ordinality);
405
469
  }
406
470
 
407
471
  override toFromSource(): AnyFromSource {
@@ -648,9 +712,7 @@ export class OperationExpr extends Expression {
648
712
  return new OperationExpr({
649
713
  method: this.method,
650
714
  self: this.self.rewrite(rewriter),
651
- args: this.args.map((arg) => rewriteComparable(arg, rewriter)) as ReadonlyArray<
652
- AnyExpression | ParamRef | LiteralExpr
653
- >,
715
+ args: this.args.map((arg) => rewriteComparable(arg, rewriter)),
654
716
  returns: this.returns,
655
717
  lowering: this.lowering,
656
718
  });
@@ -825,6 +887,129 @@ export class WindowFuncExpr extends Expression {
825
887
  }
826
888
  }
827
889
 
890
+ export class FunctionCallExpr extends Expression {
891
+ readonly kind = 'function-call' as const;
892
+ readonly fn: string;
893
+ readonly args: ReadonlyArray<AnyExpression>;
894
+
895
+ constructor(fn: string, args: ReadonlyArray<AnyExpression>) {
896
+ super();
897
+ this.fn = fn;
898
+ this.args = frozenArrayCopy(args);
899
+ this.freeze();
900
+ }
901
+
902
+ static of(fn: string, args: ReadonlyArray<AnyExpression>): FunctionCallExpr {
903
+ return new FunctionCallExpr(fn, args);
904
+ }
905
+
906
+ override accept<R>(visitor: ExprVisitor<R>): R {
907
+ return visitor.functionCall(this);
908
+ }
909
+
910
+ override rewrite(rewriter: ExpressionRewriter): AnyExpression {
911
+ return new FunctionCallExpr(
912
+ this.fn,
913
+ this.args.map((arg) => arg.rewrite(rewriter)),
914
+ );
915
+ }
916
+
917
+ override fold<T>(folder: ExpressionFolder<T>): T {
918
+ return combineAll(
919
+ folder,
920
+ this.args.map((arg) => () => arg.fold(folder)),
921
+ );
922
+ }
923
+ }
924
+
925
+ export class CastExpr extends Expression {
926
+ readonly kind = 'cast' as const;
927
+ readonly expr: AnyExpression;
928
+ readonly targetType: string;
929
+
930
+ constructor(expr: AnyExpression, targetType: string) {
931
+ super();
932
+ this.expr = expr;
933
+ this.targetType = targetType;
934
+ this.freeze();
935
+ }
936
+
937
+ static as(expr: AnyExpression, targetType: string): CastExpr {
938
+ return new CastExpr(expr, targetType);
939
+ }
940
+
941
+ override accept<R>(visitor: ExprVisitor<R>): R {
942
+ return visitor.cast(this);
943
+ }
944
+
945
+ override rewrite(rewriter: ExpressionRewriter): AnyExpression {
946
+ return new CastExpr(this.expr.rewrite(rewriter), this.targetType);
947
+ }
948
+
949
+ override fold<T>(folder: ExpressionFolder<T>): T {
950
+ return this.expr.fold(folder);
951
+ }
952
+ }
953
+
954
+ export interface CaseBranch {
955
+ readonly condition: AnyExpression;
956
+ readonly value: AnyExpression;
957
+ }
958
+
959
+ export class CaseExpr extends Expression {
960
+ readonly kind = 'case' as const;
961
+ readonly branches: ReadonlyArray<Readonly<CaseBranch>>;
962
+ readonly elseExpr: AnyExpression | undefined;
963
+
964
+ constructor(branches: ReadonlyArray<CaseBranch>, elseExpr?: AnyExpression) {
965
+ super();
966
+ if (branches.length === 0) {
967
+ throw structuredError('SQL.AST_INVALID', 'CaseExpr requires at least one branch', {
968
+ meta: { kind: 'case', field: 'branches' },
969
+ });
970
+ }
971
+ this.branches = Object.freeze(
972
+ branches.map((branch) =>
973
+ Object.freeze({
974
+ condition: branch.condition,
975
+ value: branch.value,
976
+ }),
977
+ ),
978
+ );
979
+ this.elseExpr = elseExpr;
980
+ this.freeze();
981
+ }
982
+
983
+ static of(branches: ReadonlyArray<CaseBranch>, elseExpr?: AnyExpression): CaseExpr {
984
+ return new CaseExpr(branches, elseExpr);
985
+ }
986
+
987
+ override accept<R>(visitor: ExprVisitor<R>): R {
988
+ return visitor.case(this);
989
+ }
990
+
991
+ override rewrite(rewriter: ExpressionRewriter): AnyExpression {
992
+ return new CaseExpr(
993
+ this.branches.map((branch) => ({
994
+ condition: branch.condition.rewrite(rewriter),
995
+ value: branch.value.rewrite(rewriter),
996
+ })),
997
+ this.elseExpr?.rewrite(rewriter),
998
+ );
999
+ }
1000
+
1001
+ override fold<T>(folder: ExpressionFolder<T>): T {
1002
+ const elseExpr = this.elseExpr;
1003
+ return combineAll(folder, [
1004
+ ...this.branches.flatMap((branch) => [
1005
+ () => branch.condition.fold(folder),
1006
+ () => branch.value.fold(folder),
1007
+ ]),
1008
+ ...(elseExpr === undefined ? [] : [() => elseExpr.fold(folder)]),
1009
+ ]);
1010
+ }
1011
+ }
1012
+
828
1013
  export class JsonObjectExpr extends Expression {
829
1014
  readonly kind = 'json-object' as const;
830
1015
  readonly entries: ReadonlyArray<JsonObjectEntry>;
@@ -835,7 +1020,7 @@ export class JsonObjectExpr extends Expression {
835
1020
  this.freeze();
836
1021
  }
837
1022
 
838
- static entry(key: string, value: ProjectionExpr): JsonObjectEntry {
1023
+ static entry(key: string, value: AnyJsonValueProjection): JsonObjectEntry {
839
1024
  return {
840
1025
  key,
841
1026
  value,
@@ -854,12 +1039,7 @@ export class JsonObjectExpr extends Expression {
854
1039
  return new JsonObjectExpr(
855
1040
  this.entries.map((entry) => ({
856
1041
  key: entry.key,
857
- value:
858
- entry.value.kind === 'literal'
859
- ? rewriter.literal
860
- ? rewriter.literal(entry.value)
861
- : entry.value
862
- : entry.value.rewrite(rewriter),
1042
+ value: entry.value.rewrite(rewriter),
863
1043
  })),
864
1044
  );
865
1045
  }
@@ -867,14 +1047,7 @@ export class JsonObjectExpr extends Expression {
867
1047
  override fold<T>(folder: ExpressionFolder<T>): T {
868
1048
  return combineAll(
869
1049
  folder,
870
- this.entries.map(
871
- (entry) => () =>
872
- entry.value.kind === 'literal'
873
- ? folder.literal
874
- ? folder.literal(entry.value)
875
- : folder.empty
876
- : entry.value.fold(folder),
877
- ),
1050
+ this.entries.map((entry) => () => entry.value.fold(folder)),
878
1051
  );
879
1052
  }
880
1053
  }
@@ -915,12 +1088,12 @@ export class OrderByItem extends AstNode {
915
1088
 
916
1089
  export class JsonArrayAggExpr extends Expression {
917
1090
  readonly kind = 'json-array-agg' as const;
918
- readonly expr: AnyExpression;
1091
+ readonly expr: AnyJsonValueProjection;
919
1092
  readonly onEmpty: 'null' | 'emptyArray';
920
1093
  readonly orderBy: ReadonlyArray<OrderByItem> | undefined;
921
1094
 
922
1095
  constructor(
923
- expr: AnyExpression,
1096
+ expr: AnyJsonValueProjection,
924
1097
  onEmpty: 'null' | 'emptyArray' = 'null',
925
1098
  orderBy?: ReadonlyArray<OrderByItem>,
926
1099
  ) {
@@ -932,7 +1105,7 @@ export class JsonArrayAggExpr extends Expression {
932
1105
  }
933
1106
 
934
1107
  static of(
935
- expr: AnyExpression,
1108
+ expr: AnyJsonValueProjection,
936
1109
  onEmpty: 'null' | 'emptyArray' = 'null',
937
1110
  orderBy?: ReadonlyArray<OrderByItem>,
938
1111
  ): JsonArrayAggExpr {
@@ -1304,9 +1477,9 @@ export class ProjectionItem extends AstNode {
1304
1477
  readonly alias: string;
1305
1478
  readonly expr: ProjectionExpr;
1306
1479
  /**
1307
- * Codec identity for the projected cell. Decode-side dispatch resolves the per-instance codec through `contractCodecs.forCodecRef(codec)` — content-keyed memoisation collapses repeated lookups for the same logical column onto one shared {@link Codec}.
1480
+ * Codec identity for any known projected result, whether read directly from a contract column or forwarded through a query wrapper. Decode-side dispatch resolves the per-instance codec through `contractCodecs.forCodecRef(codec)` — content-keyed memoisation collapses repeated lookups for the same logical result onto one shared {@link Codec}.
1308
1481
  *
1309
- * Stays `undefined` for non-column-bound projections (computed expressions, subqueries, raw aliases) whose decoded type the runtime cannot infer from a single contract column.
1482
+ * Stays `undefined` only when the projected result's codec is unknown, such as computed expressions, subqueries, or raw aliases whose decoded type the runtime cannot infer.
1310
1483
  */
1311
1484
  readonly codec: CodecRef | undefined;
1312
1485
 
@@ -1991,6 +2164,9 @@ export type AnyExpression =
1991
2164
  | OperationExpr
1992
2165
  | AggregateExpr
1993
2166
  | WindowFuncExpr
2167
+ | FunctionCallExpr
2168
+ | CastExpr
2169
+ | CaseExpr
1994
2170
  | JsonObjectExpr
1995
2171
  | JsonArrayAggExpr
1996
2172
  | ListExpression
@@ -2027,7 +2203,8 @@ export function isQueryAst(value: unknown): value is AnyQueryAst {
2027
2203
  typeof value === 'object' &&
2028
2204
  value !== null &&
2029
2205
  'kind' in value &&
2030
- queryAstKinds.has((value as { kind: string }).kind)
2206
+ typeof value.kind === 'string' &&
2207
+ queryAstKinds.has(value.kind)
2031
2208
  );
2032
2209
  }
2033
2210
 
@@ -2036,7 +2213,8 @@ export function isWhereExpr(value: unknown): value is AnyExpression {
2036
2213
  typeof value === 'object' &&
2037
2214
  value !== null &&
2038
2215
  'kind' in value &&
2039
- whereExprKinds.has((value as { kind: string }).kind)
2216
+ typeof value.kind === 'string' &&
2217
+ whereExprKinds.has(value.kind)
2040
2218
  );
2041
2219
  }
2042
2220
 
@@ -2,6 +2,7 @@ export * from '../ast/adapter-types';
2
2
  export * from '../ast/codec-types';
3
3
  export * from '../ast/ddl-types';
4
4
  export * from '../ast/driver-types';
5
+ export * from '../ast/json-value-projection';
5
6
  export * from '../ast/sql-codec-helpers';
6
7
  export * from '../ast/sql-codecs';
7
8
  export * from '../ast/types';
@@ -1 +0,0 @@
1
- {"version":3,"file":"codec-types-C8vFGWij.d.mts","names":[],"sources":["../src/ast/codec-types.ts"],"mappings":";;;;;;;UAqBiB;WACN;WACA;;;;;;;UAQM,4BAA4B;WAClC,SAAS;;;;;;;;;;;UAYH,gCAAgC;WACtC,QAAQ;aAAyB;aAAwB;;;;;;UAMnD;WACN;aACE;eACE;iBACE;;;;;;;;;;;;UAaA,QACf,4BACA,yBAAyB,wBAAwB,cACjD,iBACA,0BACQ,MAAU,IAAI,SAAS,OAAO;EACtC,OAAO,OAAO,QAAQ,KAAK,sBAAsB,QAAQ;EACzD,OAAO,MAAM,OAAO,KAAK,sBAAsB,QAAQ;;;;;;;;;UAUxC;;;;;;EAMf,UAAU,qBAAqB,eAAe,iBAAiB;;;;;;EAO/D,YAAY,KAAK,WAAW;;;;;;KAQlB,qBAAqB;KAE5B,wBAAwB,KAC3B,UAAU,sBAAsB,MAAM,WAAW,WAAW;KAElD,kBAAkB,KAAK,UAAU,qBAAqB;KAEtD,qBAAqB,KAC/B,wBAAwB,WAAW,uBAA2B,6BAA6B,MACvF;;;;;;;KASM,sBAAsB,KAAK;WAC5B,cAAc,yBAAyB;IAE9C,kBAAkB;;;;;;KAQV,kBACV,gCACY,WAAW,cAAc,wBACjC,oCAEM,WAAW,eAAe,kBAAkB,YAAY;WACvD,OAAO,qBAAqB,YAAY;WACxC,QAAQ,qBAAqB,YAAY;WACzC,QAAQ,sBAAsB,YAAY"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-Dr3jep6j.d.mts","names":[],"sources":["../src/ast/types.ts"],"mappings":"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"}