@prisma-next/sql-relational-core 0.12.0 → 0.13.0-dev.2

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 (74) hide show
  1. package/dist/{codec-types-Cezo7k-i.d.mts → codec-types-DFLA6Hmj.d.mts} +6 -4
  2. package/dist/codec-types-DFLA6Hmj.d.mts.map +1 -0
  3. package/dist/ddl-types-D3vlEjMA.d.mts +126 -0
  4. package/dist/ddl-types-D3vlEjMA.d.mts.map +1 -0
  5. package/dist/ddl-types-X9_XHUl0.mjs +130 -0
  6. package/dist/ddl-types-X9_XHUl0.mjs.map +1 -0
  7. package/dist/{errors-BF7W5uUd.mjs → errors-BwyJxXME.mjs} +1 -1
  8. package/dist/{errors-BF7W5uUd.mjs.map → errors-BwyJxXME.mjs.map} +1 -1
  9. package/dist/{errors-Bavu5wZA.d.mts → errors-CPLfzKkw.d.mts} +2 -2
  10. package/dist/{errors-Bavu5wZA.d.mts.map → errors-CPLfzKkw.d.mts.map} +1 -1
  11. package/dist/exports/ast.d.mts +11 -15
  12. package/dist/exports/ast.d.mts.map +1 -1
  13. package/dist/exports/ast.mjs +4 -3
  14. package/dist/exports/ast.mjs.map +1 -1
  15. package/dist/exports/codec-descriptor-registry.d.mts +8 -4
  16. package/dist/exports/codec-descriptor-registry.d.mts.map +1 -1
  17. package/dist/exports/codec-descriptor-registry.mjs +24 -26
  18. package/dist/exports/codec-descriptor-registry.mjs.map +1 -1
  19. package/dist/exports/contract-free.d.mts +161 -0
  20. package/dist/exports/contract-free.d.mts.map +1 -0
  21. package/dist/exports/contract-free.mjs +268 -0
  22. package/dist/exports/contract-free.mjs.map +1 -0
  23. package/dist/exports/errors.d.mts +1 -1
  24. package/dist/exports/errors.mjs +1 -1
  25. package/dist/exports/expression.d.mts +2 -2
  26. package/dist/exports/expression.d.mts.map +1 -1
  27. package/dist/exports/expression.mjs +1 -1
  28. package/dist/exports/middleware.d.mts +2 -2
  29. package/dist/exports/middleware.mjs +1 -1
  30. package/dist/exports/plan.d.mts +2 -2
  31. package/dist/exports/query-lane-context.d.mts +1 -1
  32. package/dist/exports/types.d.mts +3 -3
  33. package/dist/index.d.mts +12 -11
  34. package/dist/index.mjs +6 -5
  35. package/dist/{middleware-EOcO8Ogo.d.mts → middleware-BXSFukKU.d.mts} +2 -2
  36. package/dist/{middleware-EOcO8Ogo.d.mts.map → middleware-BXSFukKU.d.mts.map} +1 -1
  37. package/dist/{middleware-B0yz0pff.mjs → middleware-CMr4CHNz.mjs} +2 -2
  38. package/dist/{middleware-B0yz0pff.mjs.map → middleware-CMr4CHNz.mjs.map} +1 -1
  39. package/dist/{plan-CG3sy5kw.d.mts → plan-DObuWSWi.d.mts} +3 -3
  40. package/dist/plan-DObuWSWi.d.mts.map +1 -0
  41. package/dist/{query-lane-context-Dw1Tz0kv.d.mts → query-lane-context-CY0-e8Qo.d.mts} +8 -6
  42. package/dist/query-lane-context-CY0-e8Qo.d.mts.map +1 -0
  43. package/dist/{sql-execution-plan-D4OimCVH.d.mts → sql-execution-plan-JwVeAzXt.d.mts} +2 -2
  44. package/dist/{sql-execution-plan-D4OimCVH.d.mts.map → sql-execution-plan-JwVeAzXt.d.mts.map} +1 -1
  45. package/dist/{types-C_1ZqLwZ.d.mts → types-BbGUx5Bi.d.mts} +19 -6
  46. package/dist/types-BbGUx5Bi.d.mts.map +1 -0
  47. package/dist/{types-DoolOzqd.d.mts → types-CQVke4QO.d.mts} +8 -20
  48. package/dist/types-CQVke4QO.d.mts.map +1 -0
  49. package/dist/{types-C4EdOD-s.mjs → types-D72v8s92.mjs} +24 -5
  50. package/dist/types-D72v8s92.mjs.map +1 -0
  51. package/dist/{types-CkTDkFcK.d.mts → types-LGikJRYV.d.mts} +3 -3
  52. package/dist/{types-CkTDkFcK.d.mts.map → types-LGikJRYV.d.mts.map} +1 -1
  53. package/dist/{util-DWmhUCEO.mjs → util-DQQgv2j1.mjs} +1 -1
  54. package/dist/{util-DWmhUCEO.mjs.map → util-DQQgv2j1.mjs.map} +1 -1
  55. package/package.json +14 -13
  56. package/src/ast/adapter-types.ts +0 -5
  57. package/src/ast/codec-types.ts +5 -3
  58. package/src/ast/ddl-types.ts +198 -0
  59. package/src/ast/types.ts +31 -6
  60. package/src/codec-descriptor-registry.ts +2 -2
  61. package/src/codec-ref-for-column.ts +26 -20
  62. package/src/contract-free/column.ts +56 -0
  63. package/src/contract-free/dml.ts +17 -0
  64. package/src/contract-free/table.ts +390 -0
  65. package/src/exports/ast.ts +1 -0
  66. package/src/exports/contract-free.ts +26 -0
  67. package/src/query-lane-context.ts +5 -3
  68. package/src/types.ts +3 -23
  69. package/dist/codec-types-Cezo7k-i.d.mts.map +0 -1
  70. package/dist/plan-CG3sy5kw.d.mts.map +0 -1
  71. package/dist/query-lane-context-Dw1Tz0kv.d.mts.map +0 -1
  72. package/dist/types-C4EdOD-s.mjs.map +0 -1
  73. package/dist/types-C_1ZqLwZ.d.mts.map +0 -1
  74. package/dist/types-DoolOzqd.d.mts.map +0 -1
@@ -61,13 +61,15 @@ interface Codec$1<Id extends string = string, TTraits extends readonly CodecTrai
61
61
  *
62
62
  * Built once at `ExecutionContext` construction time by walking the contract's `storage.tables[].columns[]` and resolving each column through its descriptor's factory. Runtime encode/decode dispatch resolves codecs via `forCodecRef(ref)` — the single dispatch shape for AST-bound codec resolution.
63
63
  *
64
- * `forColumn(table, column)` is retained for build-time helpers that need column-keyed lookup (e.g. projection stamping); runtime dispatch routes through `forCodecRef`.
64
+ * `forColumn(namespace, table, column)` is retained for build-time helpers that need column-keyed lookup (e.g. projection stamping); runtime dispatch routes through `forCodecRef`.
65
65
  */
66
66
  interface ContractCodecRegistry {
67
67
  /**
68
- * Resolve the codec for `(table, column)`. Returns the per-instance parameterized codec for parameterized columns, the shared codec for non-parameterized columns, or `undefined` if the column is unknown or the codec isn't registered.
68
+ * Resolve the codec for `(namespace, table, column)`. Returns the per-instance parameterized codec for parameterized columns, the shared codec for non-parameterized columns, or `undefined` if the column is unknown or the codec isn't registered.
69
+ *
70
+ * The `namespaceId` coordinate leads and is always supplied — the column is resolved strictly within that namespace, so two same-bare-named tables across namespaces resolve to their own per-namespace codecs.
69
71
  */
70
- forColumn(table: string, column: string): Codec$1 | undefined;
72
+ forColumn(namespaceId: string, table: string, column: string): Codec$1 | undefined;
71
73
  /**
72
74
  * Resolve a codec by {@link CodecRef}. The single dispatch shape for AST-bound codec resolution — every codec-bearing AST node carries a `CodecRef` that resolves through this method via the per-`ExecutionContext` `AstCodecResolver`. Two refs with the same `codecId` and structurally equal `typeParams` (regardless of object key order) return the same memoised codec instance. Throws `RUNTIME.CODEC_DESCRIPTOR_MISSING` for unknown `codecId`s and `RUNTIME.TYPE_PARAMS_INVALID` on `paramsSchema` rejection.
73
75
  *
@@ -104,4 +106,4 @@ type ExtractCodecTypes<ScalarNames extends { readonly [K in keyof ScalarNames]:
104
106
  } };
105
107
  //#endregion
106
108
  export { CodecMeta as a, ContractCodecRegistry as c, DescriptorCodecTraits as d, ExtractCodecTypes as f, SqlColumnRef as h, CodecDescriptor$1 as i, DescriptorCodecId as l, SqlCodecInstanceContext as m, Codec$1 as n, CodecRef$1 as o, SqlCodecCallContext as p, CodecCallContext$1 as r, CodecTrait$1 as s, AnyCodecDescriptor as t, DescriptorCodecInput as u };
107
- //# sourceMappingURL=codec-types-Cezo7k-i.d.mts.map
109
+ //# sourceMappingURL=codec-types-DFLA6Hmj.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec-types-DFLA6Hmj.d.mts","names":[],"sources":["../src/ast/codec-types.ts"],"mappings":";;;;AAqBA;;;;UAAiB,YAAA;EAAA,SACN,KAAA;EAAA,SACA,IAAI;AAAA;;;;;;UAQE,mBAAA,SAA4B,gBAAgB;EAAA,SAClD,MAAA,GAAS,YAAA;AAAA;;;;;;;;;AAasD;UADzD,uBAAA,SAAgC,oBAAoB;EAAA,SAC1D,MAAA,EAAQ,aAAA;IAAA,SAAyB,KAAA;IAAA,SAAwB,MAAA;EAAA;AAAA;;;;UAMnD,SAAA;EAAA,SACN,EAAA;IAAA,SACE,GAAA;MAAA,SACE,QAAA;QAAA,SACE,UAAA;MAAA;IAAA;EAAA;AAAA;;;;;;;;UAaA,OAAA,sDAEU,UAAA,cAAwB,UAAA,+CAGzC,KAAA,CAAU,EAAA,EAAI,OAAA,EAAS,KAAA,EAAO,MAAA;EACtC,MAAA,CAAO,KAAA,EAAO,MAAA,EAAQ,GAAA,EAAK,mBAAA,GAAsB,OAAA,CAAQ,KAAA;EACzD,MAAA,CAAO,IAAA,EAAM,KAAA,EAAO,GAAA,EAAK,mBAAA,GAAsB,OAAA,CAAQ,MAAA;AAAA;;;;;;;;UAUxC,qBAAA;EAZG;;;;;EAkBlB,SAAA,CAAU,WAAA,UAAqB,KAAA,UAAe,MAAA,WAAiB,OAAA;EAjBxD;;;;;EAwBP,WAAA,CAAY,GAAA,EAAK,QAAA,GAAW,OAAA;AAAA;;;;;KAQlB,kBAAA,GAAqB,eAAe;AAAA,KAE3C,uBAAA,MACH,CAAA,SAAU,eAAA,aAA4B,UAAA,CAAW,UAAA,CAAW,CAAA;AAAA,KAElD,iBAAA,MAAuB,CAAA,SAAU,kBAAA,GAAqB,CAAA;AAAA,KAEtD,oBAAA,MACV,uBAAA,CAAwB,CAAA,UAAW,KAAA,kBAA2B,UAAA,yBAC1D,EAAA;;;;;;;KASM,qBAAA,MAA2B,CAAA;EAAA,SAC5B,MAAA,iCAAuC,UAAA;AAAA,IAE9C,OAAA,WAAkB,UAAA;;;;;;KAQV,iBAAA,4CAEa,WAAA,GAAc,kBAAA,KACjC,MAAA,yCAEiB,WAAA,IAAe,iBAAA,CAAkB,WAAA,CAAY,CAAA;EAAA,SACvD,KAAA,EAAO,oBAAA,CAAqB,WAAA,CAAY,CAAA;EAAA,SACxC,MAAA,EAAQ,oBAAA,CAAqB,WAAA,CAAY,CAAA;EAAA,SACzC,MAAA,EAAQ,qBAAA,CAAsB,WAAA,CAAY,CAAA;AAAA"}
@@ -0,0 +1,126 @@
1
+ import { d as AnyParamRef } from "./types-BbGUx5Bi.mjs";
2
+ import { ColumnDefaultLiteralInputValue } from "@prisma-next/contract/types";
3
+ import { ReferentialAction } from "@prisma-next/sql-contract/types";
4
+
5
+ //#region src/ast/ddl-types.d.ts
6
+ /**
7
+ * Render-time context the column-default visitor needs to make dialect
8
+ * decisions that depend on the parent column. Today only the parent
9
+ * column's native type (`"jsonb"`, `"text"`, …) — the Postgres renderer
10
+ * uses it to decide whether to emit a `::jsonb` / `::json` cast on JSON
11
+ * literal defaults so the emitted DDL matches the column type without
12
+ * relying on Postgres's implicit text → jsonb cast at default-evaluation
13
+ * time. Additional fields can join without re-shaping the interface.
14
+ */
15
+ interface DdlColumnRenderContext {
16
+ readonly nativeType: string;
17
+ }
18
+ interface DdlColumnDefaultVisitor<R> {
19
+ literal(node: LiteralColumnDefault, ctx: DdlColumnRenderContext): R;
20
+ function(node: FunctionColumnDefault, ctx: DdlColumnRenderContext): R;
21
+ }
22
+ declare abstract class DdlColumnDefault {
23
+ abstract readonly kind: string;
24
+ abstract accept<R>(visitor: DdlColumnDefaultVisitor<R>, ctx: DdlColumnRenderContext): R;
25
+ protected freeze(): void;
26
+ }
27
+ declare class LiteralColumnDefault extends DdlColumnDefault {
28
+ readonly kind: "literal";
29
+ readonly value: ColumnDefaultLiteralInputValue;
30
+ constructor(value: ColumnDefaultLiteralInputValue);
31
+ accept<R>(visitor: DdlColumnDefaultVisitor<R>, ctx: DdlColumnRenderContext): R;
32
+ }
33
+ declare class FunctionColumnDefault extends DdlColumnDefault {
34
+ readonly kind: "function";
35
+ readonly expression: string;
36
+ constructor(expression: string);
37
+ accept<R>(visitor: DdlColumnDefaultVisitor<R>, ctx: DdlColumnRenderContext): R;
38
+ }
39
+ type AnyDdlColumnDefault = LiteralColumnDefault | FunctionColumnDefault;
40
+ declare class DdlColumn {
41
+ readonly name: string;
42
+ readonly type: string;
43
+ readonly notNull?: boolean | undefined;
44
+ readonly primaryKey?: boolean | undefined;
45
+ readonly default?: AnyDdlColumnDefault | undefined;
46
+ constructor(options: {
47
+ readonly name: string;
48
+ readonly type: string;
49
+ readonly notNull?: boolean;
50
+ readonly primaryKey?: boolean;
51
+ readonly default?: AnyDdlColumnDefault;
52
+ });
53
+ }
54
+ declare abstract class DdlNode {
55
+ abstract readonly kind: string;
56
+ /**
57
+ * Structural brand: every DDL node answers `true`. Lets {@link isDdlNode}
58
+ * recognise any `DdlNode` subclass — including target-contributed kinds —
59
+ * without a central kind registry that subclasses would have to register
60
+ * into.
61
+ */
62
+ isDdlNode(): true;
63
+ protected freeze(): void;
64
+ collectParamRefs(): AnyParamRef[];
65
+ }
66
+ declare function isDdlNode(value: unknown): value is DdlNode;
67
+ /**
68
+ * A composite (or single-column) PRIMARY KEY constraint on a `CreateTable`
69
+ * node. When `name` is set, the adapter renders `CONSTRAINT <name> PRIMARY KEY
70
+ * (…)`; otherwise it renders an anonymous `PRIMARY KEY (…)`.
71
+ *
72
+ * Frozen on construction — immutable after creation.
73
+ */
74
+ declare class PrimaryKeyConstraint {
75
+ readonly kind: "primary-key";
76
+ readonly columns: ReadonlyArray<string>;
77
+ readonly name: string | undefined;
78
+ constructor(options: {
79
+ readonly columns: readonly string[];
80
+ readonly name?: string;
81
+ });
82
+ }
83
+ /**
84
+ * A FOREIGN KEY constraint on a `CreateTable` node. `onDelete` and `onUpdate`
85
+ * use the same `ReferentialAction` vocabulary already used by the migration
86
+ * planner and the contract IR — no parallel string enum.
87
+ *
88
+ * Frozen on construction — immutable after creation.
89
+ */
90
+ declare class ForeignKeyConstraint {
91
+ readonly kind: "foreign-key";
92
+ readonly columns: ReadonlyArray<string>;
93
+ readonly refTable: string;
94
+ readonly refColumns: ReadonlyArray<string>;
95
+ readonly onDelete: ReferentialAction | undefined;
96
+ readonly onUpdate: ReferentialAction | undefined;
97
+ readonly name: string | undefined;
98
+ constructor(options: {
99
+ readonly columns: readonly string[];
100
+ readonly refTable: string;
101
+ readonly refColumns: readonly string[];
102
+ readonly onDelete?: ReferentialAction;
103
+ readonly onUpdate?: ReferentialAction;
104
+ readonly name?: string;
105
+ });
106
+ }
107
+ /**
108
+ * A table-level UNIQUE constraint on a `CreateTable` node. When `name` is
109
+ * set, the adapter renders `CONSTRAINT <name> UNIQUE (…)`; otherwise it
110
+ * renders an anonymous `UNIQUE (…)`.
111
+ *
112
+ * Frozen on construction — immutable after creation.
113
+ */
114
+ declare class UniqueConstraint {
115
+ readonly kind: "unique";
116
+ readonly columns: ReadonlyArray<string>;
117
+ readonly name: string | undefined;
118
+ constructor(options: {
119
+ readonly columns: readonly string[];
120
+ readonly name?: string;
121
+ });
122
+ }
123
+ type DdlTableConstraint = PrimaryKeyConstraint | ForeignKeyConstraint | UniqueConstraint;
124
+ //#endregion
125
+ export { DdlColumnRenderContext as a, ForeignKeyConstraint as c, PrimaryKeyConstraint as d, UniqueConstraint as f, DdlColumnDefaultVisitor as i, FunctionColumnDefault as l, DdlColumn as n, DdlNode as o, isDdlNode as p, DdlColumnDefault as r, DdlTableConstraint as s, AnyDdlColumnDefault as t, LiteralColumnDefault as u };
126
+ //# sourceMappingURL=ddl-types-D3vlEjMA.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ddl-types-D3vlEjMA.d.mts","names":[],"sources":["../src/ast/ddl-types.ts"],"mappings":";;;;;;;AAcA;;;;AACqB;AAGrB;;UAJiB,sBAAA;EAAA,SACN,UAAU;AAAA;AAAA,UAGJ,uBAAA;EACf,OAAA,CAAQ,IAAA,EAAM,oBAAA,EAAsB,GAAA,EAAK,sBAAA,GAAyB,CAAA;EAClE,QAAA,CAAS,IAAA,EAAM,qBAAA,EAAuB,GAAA,EAAK,sBAAA,GAAyB,CAAA;AAAA;AAAA,uBAGhD,gBAAA;EAAA,kBACF,IAAA;EAAA,SACT,MAAA,IAAU,OAAA,EAAS,uBAAA,CAAwB,CAAA,GAAI,GAAA,EAAK,sBAAA,GAAyB,CAAA;EAAA,UAE5E,MAAA;AAAA;AAAA,cAKC,oBAAA,SAA6B,gBAAA;EAAA,SAC/B,IAAA;EAAA,SACA,KAAA,EAAO,8BAAA;cAEJ,KAAA,EAAO,8BAAA;EASV,MAAA,IAAU,OAAA,EAAS,uBAAA,CAAwB,CAAA,GAAI,GAAA,EAAK,sBAAA,GAAyB,CAAA;AAAA;AAAA,cAK3E,qBAAA,SAA8B,gBAAA;EAAA,SAChC,IAAA;EAAA,SACA,UAAA;cAEG,UAAA;EAMH,MAAA,IAAU,OAAA,EAAS,uBAAA,CAAwB,CAAA,GAAI,GAAA,EAAK,sBAAA,GAAyB,CAAA;AAAA;AAAA,KAK5E,mBAAA,GAAsB,oBAAA,GAAuB,qBAAqB;AAAA,cAEjE,SAAA;EAAA,SACF,IAAA;EAAA,SACA,IAAA;EAAA,SACA,OAAA;EAAA,SACA,UAAA;EAAA,SACA,OAAA,GAAU,mBAAA;cAEP,OAAA;IAAA,SACD,IAAA;IAAA,SACA,IAAA;IAAA,SACA,OAAA;IAAA,SACA,UAAA;IAAA,SACA,OAAA,GAAU,mBAAmB;EAAA;AAAA;AAAA,uBAWpB,OAAA;EAAA,kBACF,IAAA;EAlEoE;;;AAEtE;AAKlB;;EAmEE,SAAA;EAAA,UAIU,MAAA;EAIV,gBAAA,IAAoB,WAAW;AAAA;AAAA,iBAKjB,SAAA,CAAU,KAAA,YAAiB,KAAA,IAAS,OAAO;;;;;;;;cAoB9C,oBAAA;EAAA,SACF,IAAA;EAAA,SACA,OAAA,EAAS,aAAa;EAAA,SACtB,IAAA;cAEG,OAAA;IAAA,SAAoB,OAAA;IAAA,SAAqC,IAAA;EAAA;AAAA;;;;;;AA5FkB;AAKzF;cAqGa,oBAAA;EAAA,SACF,IAAA;EAAA,SACA,OAAA,EAAS,aAAA;EAAA,SACT,QAAA;EAAA,SACA,UAAA,EAAY,aAAA;EAAA,SACZ,QAAA,EAAU,iBAAA;EAAA,SACV,QAAA,EAAU,iBAAA;EAAA,SACV,IAAA;cAEG,OAAA;IAAA,SACD,OAAA;IAAA,SACA,QAAA;IAAA,SACA,UAAA;IAAA,SACA,QAAA,GAAW,iBAAA;IAAA,SACX,QAAA,GAAW,iBAAA;IAAA,SACX,IAAA;EAAA;AAAA;;;;;;;AA1G4E;cA6H5E,gBAAA;EAAA,SACF,IAAA;EAAA,SACA,OAAA,EAAS,aAAa;EAAA,SACtB,IAAA;cAEG,OAAA;IAAA,SAAoB,OAAA;IAAA,SAAqC,IAAA;EAAA;AAAA;AAAA,KAO3D,kBAAA,GAAqB,oBAAA,GAAuB,oBAAA,GAAuB,gBAAA"}
@@ -0,0 +1,130 @@
1
+ import { isColumnDefaultLiteralInputValue } from "@prisma-next/contract/types";
2
+ //#region src/ast/ddl-types.ts
3
+ var DdlColumnDefault = class {
4
+ freeze() {
5
+ Object.freeze(this);
6
+ }
7
+ };
8
+ var LiteralColumnDefault = class extends DdlColumnDefault {
9
+ kind = "literal";
10
+ value;
11
+ constructor(value) {
12
+ super();
13
+ if (!isColumnDefaultLiteralInputValue(value)) throw new Error("Invalid column default literal value");
14
+ this.value = value;
15
+ this.freeze();
16
+ }
17
+ accept(visitor, ctx) {
18
+ return visitor.literal(this, ctx);
19
+ }
20
+ };
21
+ var FunctionColumnDefault = class extends DdlColumnDefault {
22
+ kind = "function";
23
+ expression;
24
+ constructor(expression) {
25
+ super();
26
+ this.expression = expression;
27
+ this.freeze();
28
+ }
29
+ accept(visitor, ctx) {
30
+ return visitor.function(this, ctx);
31
+ }
32
+ };
33
+ var DdlColumn = class {
34
+ name;
35
+ type;
36
+ notNull;
37
+ primaryKey;
38
+ default;
39
+ constructor(options) {
40
+ this.name = options.name;
41
+ this.type = options.type;
42
+ this.notNull = options.notNull;
43
+ this.primaryKey = options.primaryKey;
44
+ this.default = options.default;
45
+ Object.freeze(this);
46
+ }
47
+ };
48
+ var DdlNode = class {
49
+ /**
50
+ * Structural brand: every DDL node answers `true`. Lets {@link isDdlNode}
51
+ * recognise any `DdlNode` subclass — including target-contributed kinds —
52
+ * without a central kind registry that subclasses would have to register
53
+ * into.
54
+ */
55
+ isDdlNode() {
56
+ return true;
57
+ }
58
+ freeze() {
59
+ Object.freeze(this);
60
+ }
61
+ collectParamRefs() {
62
+ return [];
63
+ }
64
+ };
65
+ function isDdlNode(value) {
66
+ return typeof value === "object" && value !== null && "isDdlNode" in value && typeof value.isDdlNode === "function";
67
+ }
68
+ /**
69
+ * A composite (or single-column) PRIMARY KEY constraint on a `CreateTable`
70
+ * node. When `name` is set, the adapter renders `CONSTRAINT <name> PRIMARY KEY
71
+ * (…)`; otherwise it renders an anonymous `PRIMARY KEY (…)`.
72
+ *
73
+ * Frozen on construction — immutable after creation.
74
+ */
75
+ var PrimaryKeyConstraint = class {
76
+ kind = "primary-key";
77
+ columns;
78
+ name;
79
+ constructor(options) {
80
+ this.columns = Object.freeze([...options.columns]);
81
+ this.name = options.name;
82
+ Object.freeze(this);
83
+ }
84
+ };
85
+ /**
86
+ * A FOREIGN KEY constraint on a `CreateTable` node. `onDelete` and `onUpdate`
87
+ * use the same `ReferentialAction` vocabulary already used by the migration
88
+ * planner and the contract IR — no parallel string enum.
89
+ *
90
+ * Frozen on construction — immutable after creation.
91
+ */
92
+ var ForeignKeyConstraint = class {
93
+ kind = "foreign-key";
94
+ columns;
95
+ refTable;
96
+ refColumns;
97
+ onDelete;
98
+ onUpdate;
99
+ name;
100
+ constructor(options) {
101
+ this.columns = Object.freeze([...options.columns]);
102
+ this.refTable = options.refTable;
103
+ this.refColumns = Object.freeze([...options.refColumns]);
104
+ this.onDelete = options.onDelete;
105
+ this.onUpdate = options.onUpdate;
106
+ this.name = options.name;
107
+ Object.freeze(this);
108
+ }
109
+ };
110
+ /**
111
+ * A table-level UNIQUE constraint on a `CreateTable` node. When `name` is
112
+ * set, the adapter renders `CONSTRAINT <name> UNIQUE (…)`; otherwise it
113
+ * renders an anonymous `UNIQUE (…)`.
114
+ *
115
+ * Frozen on construction — immutable after creation.
116
+ */
117
+ var UniqueConstraint = class {
118
+ kind = "unique";
119
+ columns;
120
+ name;
121
+ constructor(options) {
122
+ this.columns = Object.freeze([...options.columns]);
123
+ this.name = options.name;
124
+ Object.freeze(this);
125
+ }
126
+ };
127
+ //#endregion
128
+ export { FunctionColumnDefault as a, UniqueConstraint as c, ForeignKeyConstraint as i, isDdlNode as l, DdlColumnDefault as n, LiteralColumnDefault as o, DdlNode as r, PrimaryKeyConstraint as s, DdlColumn as t };
129
+
130
+ //# sourceMappingURL=ddl-types-X9_XHUl0.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ddl-types-X9_XHUl0.mjs","names":[],"sources":["../src/ast/ddl-types.ts"],"sourcesContent":["import type { ColumnDefaultLiteralInputValue } from '@prisma-next/contract/types';\nimport { isColumnDefaultLiteralInputValue } from '@prisma-next/contract/types';\nimport type { ReferentialAction } from '@prisma-next/sql-contract/types';\nimport type { AnyParamRef } from './types';\n\n/**\n * Render-time context the column-default visitor needs to make dialect\n * decisions that depend on the parent column. Today only the parent\n * column's native type (`\"jsonb\"`, `\"text\"`, …) — the Postgres renderer\n * uses it to decide whether to emit a `::jsonb` / `::json` cast on JSON\n * literal defaults so the emitted DDL matches the column type without\n * relying on Postgres's implicit text → jsonb cast at default-evaluation\n * time. Additional fields can join without re-shaping the interface.\n */\nexport interface DdlColumnRenderContext {\n readonly nativeType: string;\n}\n\nexport interface DdlColumnDefaultVisitor<R> {\n literal(node: LiteralColumnDefault, ctx: DdlColumnRenderContext): R;\n function(node: FunctionColumnDefault, ctx: DdlColumnRenderContext): R;\n}\n\nexport abstract class DdlColumnDefault {\n abstract readonly kind: string;\n abstract accept<R>(visitor: DdlColumnDefaultVisitor<R>, ctx: DdlColumnRenderContext): R;\n\n protected freeze(): void {\n Object.freeze(this);\n }\n}\n\nexport class LiteralColumnDefault extends DdlColumnDefault {\n readonly kind = 'literal' as const;\n readonly value: ColumnDefaultLiteralInputValue;\n\n constructor(value: ColumnDefaultLiteralInputValue) {\n super();\n if (!isColumnDefaultLiteralInputValue(value)) {\n throw new Error('Invalid column default literal value');\n }\n this.value = value;\n this.freeze();\n }\n\n override accept<R>(visitor: DdlColumnDefaultVisitor<R>, ctx: DdlColumnRenderContext): R {\n return visitor.literal(this, ctx);\n }\n}\n\nexport class FunctionColumnDefault extends DdlColumnDefault {\n readonly kind = 'function' as const;\n readonly expression: string;\n\n constructor(expression: string) {\n super();\n this.expression = expression;\n this.freeze();\n }\n\n override accept<R>(visitor: DdlColumnDefaultVisitor<R>, ctx: DdlColumnRenderContext): R {\n return visitor.function(this, ctx);\n }\n}\n\nexport type AnyDdlColumnDefault = LiteralColumnDefault | FunctionColumnDefault;\n\nexport class DdlColumn {\n readonly name: string;\n readonly type: string;\n readonly notNull?: boolean | undefined;\n readonly primaryKey?: boolean | undefined;\n readonly default?: AnyDdlColumnDefault | undefined;\n\n constructor(options: {\n readonly name: string;\n readonly type: string;\n readonly notNull?: boolean;\n readonly primaryKey?: boolean;\n readonly default?: AnyDdlColumnDefault;\n }) {\n this.name = options.name;\n this.type = options.type;\n this.notNull = options.notNull;\n this.primaryKey = options.primaryKey;\n this.default = options.default;\n Object.freeze(this);\n }\n}\n\nexport abstract class DdlNode {\n abstract readonly kind: string;\n\n /**\n * Structural brand: every DDL node answers `true`. Lets {@link isDdlNode}\n * recognise any `DdlNode` subclass — including target-contributed kinds —\n * without a central kind registry that subclasses would have to register\n * into.\n */\n isDdlNode(): true {\n return true;\n }\n\n protected freeze(): void {\n Object.freeze(this);\n }\n\n collectParamRefs(): AnyParamRef[] {\n return [];\n }\n}\n\nexport function isDdlNode(value: unknown): value is DdlNode {\n return (\n typeof value === 'object' &&\n value !== null &&\n 'isDdlNode' in value &&\n typeof value.isDdlNode === 'function'\n );\n}\n\n// ---------------------------------------------------------------------------\n// Table-level constraint nodes\n// ---------------------------------------------------------------------------\n\n/**\n * A composite (or single-column) PRIMARY KEY constraint on a `CreateTable`\n * node. When `name` is set, the adapter renders `CONSTRAINT <name> PRIMARY KEY\n * (…)`; otherwise it renders an anonymous `PRIMARY KEY (…)`.\n *\n * Frozen on construction — immutable after creation.\n */\nexport class PrimaryKeyConstraint {\n readonly kind = 'primary-key' as const;\n readonly columns: ReadonlyArray<string>;\n readonly name: string | undefined;\n\n constructor(options: { readonly columns: readonly string[]; readonly name?: string }) {\n this.columns = Object.freeze([...options.columns]);\n this.name = options.name;\n Object.freeze(this);\n }\n}\n\n/**\n * A FOREIGN KEY constraint on a `CreateTable` node. `onDelete` and `onUpdate`\n * use the same `ReferentialAction` vocabulary already used by the migration\n * planner and the contract IR — no parallel string enum.\n *\n * Frozen on construction — immutable after creation.\n */\nexport class ForeignKeyConstraint {\n readonly kind = 'foreign-key' as const;\n readonly columns: ReadonlyArray<string>;\n readonly refTable: string;\n readonly refColumns: ReadonlyArray<string>;\n readonly onDelete: ReferentialAction | undefined;\n readonly onUpdate: ReferentialAction | undefined;\n readonly name: string | undefined;\n\n constructor(options: {\n readonly columns: readonly string[];\n readonly refTable: string;\n readonly refColumns: readonly string[];\n readonly onDelete?: ReferentialAction;\n readonly onUpdate?: ReferentialAction;\n readonly name?: string;\n }) {\n this.columns = Object.freeze([...options.columns]);\n this.refTable = options.refTable;\n this.refColumns = Object.freeze([...options.refColumns]);\n this.onDelete = options.onDelete;\n this.onUpdate = options.onUpdate;\n this.name = options.name;\n Object.freeze(this);\n }\n}\n\n/**\n * A table-level UNIQUE constraint on a `CreateTable` node. When `name` is\n * set, the adapter renders `CONSTRAINT <name> UNIQUE (…)`; otherwise it\n * renders an anonymous `UNIQUE (…)`.\n *\n * Frozen on construction — immutable after creation.\n */\nexport class UniqueConstraint {\n readonly kind = 'unique' as const;\n readonly columns: ReadonlyArray<string>;\n readonly name: string | undefined;\n\n constructor(options: { readonly columns: readonly string[]; readonly name?: string }) {\n this.columns = Object.freeze([...options.columns]);\n this.name = options.name;\n Object.freeze(this);\n }\n}\n\nexport type DdlTableConstraint = PrimaryKeyConstraint | ForeignKeyConstraint | UniqueConstraint;\n"],"mappings":";;AAuBA,IAAsB,mBAAtB,MAAuC;CAIrC,SAAyB;EACvB,OAAO,OAAO,IAAI;CACpB;AACF;AAEA,IAAa,uBAAb,cAA0C,iBAAiB;CACzD,OAAgB;CAChB;CAEA,YAAY,OAAuC;EACjD,MAAM;EACN,IAAI,CAAC,iCAAiC,KAAK,GACzC,MAAM,IAAI,MAAM,sCAAsC;EAExD,KAAK,QAAQ;EACb,KAAK,OAAO;CACd;CAEA,OAAmB,SAAqC,KAAgC;EACtF,OAAO,QAAQ,QAAQ,MAAM,GAAG;CAClC;AACF;AAEA,IAAa,wBAAb,cAA2C,iBAAiB;CAC1D,OAAgB;CAChB;CAEA,YAAY,YAAoB;EAC9B,MAAM;EACN,KAAK,aAAa;EAClB,KAAK,OAAO;CACd;CAEA,OAAmB,SAAqC,KAAgC;EACtF,OAAO,QAAQ,SAAS,MAAM,GAAG;CACnC;AACF;AAIA,IAAa,YAAb,MAAuB;CACrB;CACA;CACA;CACA;CACA;CAEA,YAAY,SAMT;EACD,KAAK,OAAO,QAAQ;EACpB,KAAK,OAAO,QAAQ;EACpB,KAAK,UAAU,QAAQ;EACvB,KAAK,aAAa,QAAQ;EAC1B,KAAK,UAAU,QAAQ;EACvB,OAAO,OAAO,IAAI;CACpB;AACF;AAEA,IAAsB,UAAtB,MAA8B;;;;;;;CAS5B,YAAkB;EAChB,OAAO;CACT;CAEA,SAAyB;EACvB,OAAO,OAAO,IAAI;CACpB;CAEA,mBAAkC;EAChC,OAAO,CAAC;CACV;AACF;AAEA,SAAgB,UAAU,OAAkC;CAC1D,OACE,OAAO,UAAU,YACjB,UAAU,QACV,eAAe,SACf,OAAO,MAAM,cAAc;AAE/B;;;;;;;;AAaA,IAAa,uBAAb,MAAkC;CAChC,OAAgB;CAChB;CACA;CAEA,YAAY,SAA0E;EACpF,KAAK,UAAU,OAAO,OAAO,CAAC,GAAG,QAAQ,OAAO,CAAC;EACjD,KAAK,OAAO,QAAQ;EACpB,OAAO,OAAO,IAAI;CACpB;AACF;;;;;;;;AASA,IAAa,uBAAb,MAAkC;CAChC,OAAgB;CAChB;CACA;CACA;CACA;CACA;CACA;CAEA,YAAY,SAOT;EACD,KAAK,UAAU,OAAO,OAAO,CAAC,GAAG,QAAQ,OAAO,CAAC;EACjD,KAAK,WAAW,QAAQ;EACxB,KAAK,aAAa,OAAO,OAAO,CAAC,GAAG,QAAQ,UAAU,CAAC;EACvD,KAAK,WAAW,QAAQ;EACxB,KAAK,WAAW,QAAQ;EACxB,KAAK,OAAO,QAAQ;EACpB,OAAO,OAAO,IAAI;CACpB;AACF;;;;;;;;AASA,IAAa,mBAAb,MAA8B;CAC5B,OAAgB;CAChB;CACA;CAEA,YAAY,SAA0E;EACpF,KAAK,UAAU,OAAO,OAAO,CAAC,GAAG,QAAQ,OAAO,CAAC;EACjD,KAAK,OAAO,QAAQ;EACpB,OAAO,OAAO,IAAI;CACpB;AACF"}
@@ -32,4 +32,4 @@ function planUnsupported(message, details, hints, docs) {
32
32
  //#endregion
33
33
  export { planUnsupported as n, planInvalid as t };
34
34
 
35
- //# sourceMappingURL=errors-BF7W5uUd.mjs.map
35
+ //# sourceMappingURL=errors-BwyJxXME.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors-BF7W5uUd.mjs","names":[],"sources":["../src/errors.ts"],"sourcesContent":["import type { RuntimeError } from './types';\n\nexport function planInvalid(\n message: string,\n details?: Record<string, unknown>,\n hints?: readonly string[],\n docs?: readonly string[],\n): RuntimeError {\n const error = new Error(message) as RuntimeError;\n\n Object.defineProperty(error, 'name', {\n value: 'RuntimeError',\n configurable: true,\n });\n\n return Object.assign(error, {\n code: 'PLAN.INVALID',\n category: 'PLAN' as const,\n severity: 'error' as const,\n details,\n hints,\n docs,\n });\n}\n\nexport function planUnsupported(\n message: string,\n details?: Record<string, unknown>,\n hints?: readonly string[],\n docs?: readonly string[],\n): RuntimeError {\n const error = new Error(message) as RuntimeError;\n\n Object.defineProperty(error, 'name', {\n value: 'RuntimeError',\n configurable: true,\n });\n\n return Object.assign(error, {\n code: 'PLAN.UNSUPPORTED',\n category: 'PLAN' as const,\n severity: 'error' as const,\n details,\n hints,\n docs,\n });\n}\n"],"mappings":";AAEA,SAAgB,YACd,SACA,SACA,OACA,MACc;CACd,MAAM,QAAQ,IAAI,MAAM,OAAO;CAE/B,OAAO,eAAe,OAAO,QAAQ;EACnC,OAAO;EACP,cAAc;CAChB,CAAC;CAED,OAAO,OAAO,OAAO,OAAO;EAC1B,MAAM;EACN,UAAU;EACV,UAAU;EACV;EACA;EACA;CACF,CAAC;AACH;AAEA,SAAgB,gBACd,SACA,SACA,OACA,MACc;CACd,MAAM,QAAQ,IAAI,MAAM,OAAO;CAE/B,OAAO,eAAe,OAAO,QAAQ;EACnC,OAAO;EACP,cAAc;CAChB,CAAC;CAED,OAAO,OAAO,OAAO,OAAO;EAC1B,MAAM;EACN,UAAU;EACV,UAAU;EACV;EACA;EACA;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"errors-BwyJxXME.mjs","names":[],"sources":["../src/errors.ts"],"sourcesContent":["import type { RuntimeError } from './types';\n\nexport function planInvalid(\n message: string,\n details?: Record<string, unknown>,\n hints?: readonly string[],\n docs?: readonly string[],\n): RuntimeError {\n const error = new Error(message) as RuntimeError;\n\n Object.defineProperty(error, 'name', {\n value: 'RuntimeError',\n configurable: true,\n });\n\n return Object.assign(error, {\n code: 'PLAN.INVALID',\n category: 'PLAN' as const,\n severity: 'error' as const,\n details,\n hints,\n docs,\n });\n}\n\nexport function planUnsupported(\n message: string,\n details?: Record<string, unknown>,\n hints?: readonly string[],\n docs?: readonly string[],\n): RuntimeError {\n const error = new Error(message) as RuntimeError;\n\n Object.defineProperty(error, 'name', {\n value: 'RuntimeError',\n configurable: true,\n });\n\n return Object.assign(error, {\n code: 'PLAN.UNSUPPORTED',\n category: 'PLAN' as const,\n severity: 'error' as const,\n details,\n hints,\n docs,\n });\n}\n"],"mappings":";AAEA,SAAgB,YACd,SACA,SACA,OACA,MACc;CACd,MAAM,QAAQ,IAAI,MAAM,OAAO;CAE/B,OAAO,eAAe,OAAO,QAAQ;EACnC,OAAO;EACP,cAAc;CAChB,CAAC;CAED,OAAO,OAAO,OAAO,OAAO;EAC1B,MAAM;EACN,UAAU;EACV,UAAU;EACV;EACA;EACA;CACF,CAAC;AACH;AAEA,SAAgB,gBACd,SACA,SACA,OACA,MACc;CACd,MAAM,QAAQ,IAAI,MAAM,OAAO;CAE/B,OAAO,eAAe,OAAO,QAAQ;EACnC,OAAO;EACP,cAAc;CAChB,CAAC;CAED,OAAO,OAAO,OAAO,OAAO;EAC1B,MAAM;EACN,UAAU;EACV,UAAU;EACV;EACA;EACA;CACF,CAAC;AACH"}
@@ -1,8 +1,8 @@
1
- import { y as RuntimeError } from "./types-DoolOzqd.mjs";
1
+ import { v as RuntimeError } from "./types-CQVke4QO.mjs";
2
2
 
3
3
  //#region src/errors.d.ts
4
4
  declare function planInvalid(message: string, details?: Record<string, unknown>, hints?: readonly string[], docs?: readonly string[]): RuntimeError;
5
5
  declare function planUnsupported(message: string, details?: Record<string, unknown>, hints?: readonly string[], docs?: readonly string[]): RuntimeError;
6
6
  //#endregion
7
7
  export { planUnsupported as n, planInvalid as t };
8
- //# sourceMappingURL=errors-Bavu5wZA.d.mts.map
8
+ //# sourceMappingURL=errors-CPLfzKkw.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors-Bavu5wZA.d.mts","names":[],"sources":["../src/errors.ts"],"mappings":";;;iBAEgB,WAAA,CACd,OAAA,UACA,OAAA,GAAU,MAAA,mBACV,KAAA,sBACA,IAAA,uBACC,YAAY;AAAA,iBAkBC,eAAA,CACd,OAAA,UACA,OAAA,GAAU,MAAA,mBACV,KAAA,sBACA,IAAA,uBACC,YAAY"}
1
+ {"version":3,"file":"errors-CPLfzKkw.d.mts","names":[],"sources":["../src/errors.ts"],"mappings":";;;iBAEgB,WAAA,CACd,OAAA,UACA,OAAA,GAAU,MAAA,mBACV,KAAA,sBACA,IAAA,uBACC,YAAY;AAAA,iBAkBC,eAAA,CACd,OAAA,UACA,OAAA,GAAU,MAAA,mBACV,KAAA,sBACA,IAAA,uBACC,YAAY"}
@@ -1,8 +1,8 @@
1
- import { a as CodecMeta, c as ContractCodecRegistry, d as DescriptorCodecTraits, f as ExtractCodecTypes, h as SqlColumnRef, i as CodecDescriptor, l as DescriptorCodecId, m as SqlCodecInstanceContext, n as Codec, o as CodecRef, p as SqlCodecCallContext, r as CodecCallContext, s as CodecTrait, t as AnyCodecDescriptor, u as DescriptorCodecInput } from "../codec-types-Cezo7k-i.mjs";
2
- import { $ as RawSqlExpr, A as InsertAst, B as LiteralExpr, C as EqColJoinOn, D as ExpressionRewriter, E as ExpressionFolder, F as JsonArrayAggExpr, G as OperationExpr, H as LoweredStatement, I as JsonObjectEntry, J as ParamRef, K as OrExpr, L as JsonObjectExpr, M as InsertValue, N as JoinAst, O as ExpressionSource, P as JoinOnExpr, Q as RawExpr, R as LimitOffsetValue, S as DoUpdateSetConflictAction, T as ExprVisitor, U as NotExpr, V as LoweredParam, W as NullCheckExpr, X as ProjectionExpr, Y as PreparedParamRef, Z as ProjectionItem, _ as DefaultValueExpr, a as AndExpr, at as TableSource, b as Direction, c as AnyInsertOnConflictAction, ct as WhereArg, d as AnyParamRef, dt as isQueryAst, et as RawSqlLiteral, f as AnyQueryAst, ft as isWhereExpr, g as ColumnRef, h as BinaryOp, i as AggregateOpFn, it as TableRef, j as InsertOnConflict, k as IdentifierRef, l as AnyInsertValue, lt as WindowFn, m as BinaryExpr, mt as whereExprKinds, n as AggregateExpr, nt as SelectAstOptions, o as AnyExpression, ot as ToWhereExpr, p as AstRewriter, pt as queryAstKinds, q as OrderByItem, r as AggregateFn, rt as SubqueryExpr, s as AnyFromSource, st as UpdateAst, t as AggregateCountFn, tt as SelectAst, u as AnyOperationArg, ut as WindowFuncExpr, v as DeleteAst, w as ExistsExpr, x as DoNothingConflictAction, y as DerivedTableSource, z as ListExpression } from "../types-C_1ZqLwZ.mjs";
3
- import * as _$_prisma_next_framework_components_codec0 from "@prisma-next/framework-components/codec";
4
- import { CodecCallContext as CodecCallContext$1, CodecDescriptorImpl, CodecImpl, CodecInstanceContext } from "@prisma-next/framework-components/codec";
1
+ import { a as CodecMeta, c as ContractCodecRegistry, d as DescriptorCodecTraits, f as ExtractCodecTypes, h as SqlColumnRef, i as CodecDescriptor, l as DescriptorCodecId, m as SqlCodecInstanceContext, n as Codec, o as CodecRef, p as SqlCodecCallContext, r as CodecCallContext, s as CodecTrait, t as AnyCodecDescriptor, u as DescriptorCodecInput } from "../codec-types-DFLA6Hmj.mjs";
2
+ import { $ as RawSqlExpr, A as InsertAst, B as LiteralExpr, C as EqColJoinOn, D as ExpressionRewriter, E as ExpressionFolder, F as JsonArrayAggExpr, G as OperationExpr, H as LoweredStatement, I as JsonObjectEntry, J as ParamRef, K as OrExpr, L as JsonObjectExpr, M as InsertValue, N as JoinAst, O as ExpressionSource, P as JoinOnExpr, Q as RawExpr, R as LimitOffsetValue, S as DoUpdateSetConflictAction, T as ExprVisitor, U as NotExpr, V as LoweredParam, W as NullCheckExpr, X as ProjectionExpr, Y as PreparedParamRef, Z as ProjectionItem, _ as DefaultValueExpr, a as AndExpr, at as TableSource, b as Direction, c as AnyInsertOnConflictAction, ct as WhereArg, d as AnyParamRef, dt as isQueryAst, et as RawSqlLiteral, f as AnyQueryAst, ft as isWhereExpr, g as ColumnRef, h as BinaryOp, i as AggregateOpFn, it as TableRef, j as InsertOnConflict, k as IdentifierRef, l as AnyInsertValue, lt as WindowFn, m as BinaryExpr, mt as whereExprKinds, n as AggregateExpr, nt as SelectAstOptions, o as AnyExpression, ot as ToWhereExpr, p as AstRewriter, pt as queryAstKinds, q as OrderByItem, r as AggregateFn, rt as SubqueryExpr, s as AnyFromSource, st as UpdateAst, t as AggregateCountFn, tt as SelectAst, u as AnyOperationArg, ut as WindowFuncExpr, v as DeleteAst, w as ExistsExpr, x as DoNothingConflictAction, y as DerivedTableSource, z as ListExpression } from "../types-BbGUx5Bi.mjs";
3
+ import { a as DdlColumnRenderContext, c as ForeignKeyConstraint, d as PrimaryKeyConstraint, f as UniqueConstraint, i as DdlColumnDefaultVisitor, l as FunctionColumnDefault, n as DdlColumn, o as DdlNode, p as isDdlNode, r as DdlColumnDefault, s as DdlTableConstraint, t as AnyDdlColumnDefault, u as LiteralColumnDefault } from "../ddl-types-D3vlEjMA.mjs";
5
4
  import { ContractMarkerRecord, JsonValue } from "@prisma-next/contract/types";
5
+ import { CodecCallContext as CodecCallContext$1, CodecDescriptorImpl, CodecImpl, CodecInstanceContext } from "@prisma-next/framework-components/codec";
6
6
  import { StandardSchemaV1 } from "@standard-schema/spec";
7
7
 
8
8
  //#region src/ast/driver-types.d.ts
@@ -80,10 +80,6 @@ interface SqlQueryable {
80
80
  //#endregion
81
81
  //#region src/ast/adapter-types.d.ts
82
82
  type AdapterTarget = string;
83
- interface MarkerStatement {
84
- readonly sql: string;
85
- readonly params: readonly unknown[];
86
- }
87
83
  /**
88
84
  * Outcome of an adapter's marker read. `no-table` means the marker storage itself is absent
89
85
  * (e.g. attaching to a database that was never `db init`'d); `absent` means the storage exists
@@ -172,7 +168,7 @@ declare class SqlTextDescriptor extends CodecDescriptorImpl<void> {
172
168
  factory(): (ctx: CodecInstanceContext) => SqlTextCodec;
173
169
  }
174
170
  declare const sqlTextDescriptor: SqlTextDescriptor;
175
- declare const sqlTextColumn: () => _$_prisma_next_framework_components_codec0.ColumnSpec<SqlTextCodec, undefined>;
171
+ declare const sqlTextColumn: () => import("@prisma-next/framework-components/codec").ColumnSpec<SqlTextCodec, undefined>;
176
172
  declare class SqlIntCodec extends CodecImpl<typeof SQL_INT_CODEC_ID, readonly ['equality', 'order', 'numeric'], number, number> {
177
173
  encode(value: number, _ctx: CodecCallContext$1): Promise<number>;
178
174
  decode(wire: number, _ctx: CodecCallContext$1): Promise<number>;
@@ -187,7 +183,7 @@ declare class SqlIntDescriptor extends CodecDescriptorImpl<void> {
187
183
  factory(): (ctx: CodecInstanceContext) => SqlIntCodec;
188
184
  }
189
185
  declare const sqlIntDescriptor: SqlIntDescriptor;
190
- declare const sqlIntColumn: () => _$_prisma_next_framework_components_codec0.ColumnSpec<SqlIntCodec, undefined>;
186
+ declare const sqlIntColumn: () => import("@prisma-next/framework-components/codec").ColumnSpec<SqlIntCodec, undefined>;
191
187
  declare class SqlFloatCodec extends CodecImpl<typeof SQL_FLOAT_CODEC_ID, readonly ['equality', 'order', 'numeric'], number, number> {
192
188
  encode(value: number, _ctx: CodecCallContext$1): Promise<number>;
193
189
  decode(wire: number, _ctx: CodecCallContext$1): Promise<number>;
@@ -202,7 +198,7 @@ declare class SqlFloatDescriptor extends CodecDescriptorImpl<void> {
202
198
  factory(): (ctx: CodecInstanceContext) => SqlFloatCodec;
203
199
  }
204
200
  declare const sqlFloatDescriptor: SqlFloatDescriptor;
205
- declare const sqlFloatColumn: () => _$_prisma_next_framework_components_codec0.ColumnSpec<SqlFloatCodec, undefined>;
201
+ declare const sqlFloatColumn: () => import("@prisma-next/framework-components/codec").ColumnSpec<SqlFloatCodec, undefined>;
206
202
  declare class SqlCharCodec extends CodecImpl<typeof SQL_CHAR_CODEC_ID, readonly ['equality', 'order', 'textual'], string, string> {
207
203
  encode(value: string, _ctx: CodecCallContext$1): Promise<string>;
208
204
  decode(wire: string, _ctx: CodecCallContext$1): Promise<string>;
@@ -218,7 +214,7 @@ declare class SqlCharDescriptor extends CodecDescriptorImpl<LengthParams> {
218
214
  factory(_params: LengthParams): (ctx: CodecInstanceContext) => SqlCharCodec;
219
215
  }
220
216
  declare const sqlCharDescriptor: SqlCharDescriptor;
221
- declare const sqlCharColumn: (params?: LengthParams) => _$_prisma_next_framework_components_codec0.ColumnSpec<SqlCharCodec, LengthParams>;
217
+ declare const sqlCharColumn: (params?: LengthParams) => import("@prisma-next/framework-components/codec").ColumnSpec<SqlCharCodec, LengthParams>;
222
218
  declare class SqlVarcharCodec extends CodecImpl<typeof SQL_VARCHAR_CODEC_ID, readonly ['equality', 'order', 'textual'], string, string> {
223
219
  encode(value: string, _ctx: CodecCallContext$1): Promise<string>;
224
220
  decode(wire: string, _ctx: CodecCallContext$1): Promise<string>;
@@ -234,7 +230,7 @@ declare class SqlVarcharDescriptor extends CodecDescriptorImpl<LengthParams> {
234
230
  factory(_params: LengthParams): (ctx: CodecInstanceContext) => SqlVarcharCodec;
235
231
  }
236
232
  declare const sqlVarcharDescriptor: SqlVarcharDescriptor;
237
- declare const sqlVarcharColumn: (params?: LengthParams) => _$_prisma_next_framework_components_codec0.ColumnSpec<SqlVarcharCodec, LengthParams>;
233
+ declare const sqlVarcharColumn: (params?: LengthParams) => import("@prisma-next/framework-components/codec").ColumnSpec<SqlVarcharCodec, LengthParams>;
238
234
  declare class SqlTimestampCodec extends CodecImpl<typeof SQL_TIMESTAMP_CODEC_ID, readonly ['equality', 'order'], Date, Date> {
239
235
  encode(value: Date, _ctx: CodecCallContext$1): Promise<Date>;
240
236
  decode(wire: Date, _ctx: CodecCallContext$1): Promise<Date>;
@@ -250,7 +246,7 @@ declare class SqlTimestampDescriptor extends CodecDescriptorImpl<PrecisionParams
250
246
  factory(_params: PrecisionParams): (ctx: CodecInstanceContext) => SqlTimestampCodec;
251
247
  }
252
248
  declare const sqlTimestampDescriptor: SqlTimestampDescriptor;
253
- declare const sqlTimestampColumn: (params?: PrecisionParams) => _$_prisma_next_framework_components_codec0.ColumnSpec<SqlTimestampCodec, PrecisionParams>;
249
+ declare const sqlTimestampColumn: (params?: PrecisionParams) => import("@prisma-next/framework-components/codec").ColumnSpec<SqlTimestampCodec, PrecisionParams>;
254
250
  //#endregion
255
251
  //#region src/ast/util.d.ts
256
252
  declare function compact<T extends Record<string, unknown>>(o: T): T;
@@ -266,5 +262,5 @@ declare function compact<T extends Record<string, unknown>>(o: T): T;
266
262
  */
267
263
  declare function collectOrderedParamRefs(ast: AnyQueryAst): ReadonlyArray<AnyParamRef>;
268
264
  //#endregion
269
- export { Adapter, AdapterProfile, AdapterTarget, AggregateCountFn, AggregateExpr, AggregateFn, AggregateOpFn, AndExpr, AnyCodecDescriptor, AnyExpression, AnyFromSource, AnyInsertOnConflictAction, AnyInsertValue, AnyOperationArg, AnyParamRef, AnyQueryAst, AstRewriter, BinaryExpr, BinaryOp, Codec, CodecCallContext, CodecDescriptor, CodecMeta, CodecRef, CodecTrait, ColumnRef, ContractCodecRegistry, DefaultValueExpr, DeleteAst, DerivedTableSource, DescriptorCodecId, DescriptorCodecInput, DescriptorCodecTraits, Direction, DoNothingConflictAction, DoUpdateSetConflictAction, EqColJoinOn, ExistsExpr, ExprVisitor, ExpressionFolder, ExpressionRewriter, ExpressionSource, ExtractCodecTypes, IdentifierRef, InsertAst, InsertOnConflict, InsertValue, JoinAst, JoinOnExpr, JsonArrayAggExpr, JsonObjectEntry, JsonObjectExpr, LimitOffsetValue, ListExpression, LiteralExpr, LoweredParam, LoweredStatement, Lowerer, LowererContext, MarkerReadResult, MarkerStatement, NotExpr, NullCheckExpr, OperationExpr, OrExpr, OrderByItem, ParamRef, PreparedExecuteRequest, PreparedParamRef, ProjectionExpr, ProjectionItem, RawExpr, RawSqlExpr, RawSqlLiteral, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_TIMESTAMP_CODEC_ID, SQL_VARCHAR_CODEC_ID, SelectAst, SelectAstOptions, SqlCharCodec, SqlCharDescriptor, SqlCodecCallContext, SqlCodecInstanceContext, SqlColumnRef, SqlConnection, SqlDriver, SqlDriverState, SqlExecuteRequest, SqlExplainResult, SqlFloatCodec, SqlFloatDescriptor, SqlIntCodec, SqlIntDescriptor, SqlQueryResult, SqlQueryable, SqlTextCodec, SqlTextDescriptor, SqlTimestampCodec, SqlTimestampDescriptor, SqlTransaction, SqlVarcharCodec, SqlVarcharDescriptor, SubqueryExpr, TableRef, TableSource, ToWhereExpr, UpdateAst, WhereArg, WindowFn, WindowFuncExpr, collectOrderedParamRefs, compact, isQueryAst, isWhereExpr, queryAstKinds, sqlCharColumn, sqlCharDecode, sqlCharDescriptor, sqlCharEncode, sqlCharRenderOutputType, sqlFloatColumn, sqlFloatDecode, sqlFloatDescriptor, sqlFloatEncode, sqlIntColumn, sqlIntDecode, sqlIntDescriptor, sqlIntEncode, sqlTextColumn, sqlTextDecode, sqlTextDescriptor, sqlTextEncode, sqlTimestampColumn, sqlTimestampDecode, sqlTimestampDecodeJson, sqlTimestampDescriptor, sqlTimestampEncode, sqlTimestampEncodeJson, sqlTimestampRenderOutputType, sqlVarcharColumn, sqlVarcharDecode, sqlVarcharDescriptor, sqlVarcharEncode, sqlVarcharRenderOutputType, whereExprKinds };
265
+ export { Adapter, AdapterProfile, AdapterTarget, AggregateCountFn, AggregateExpr, AggregateFn, AggregateOpFn, AndExpr, AnyCodecDescriptor, AnyDdlColumnDefault, AnyExpression, AnyFromSource, AnyInsertOnConflictAction, AnyInsertValue, AnyOperationArg, AnyParamRef, AnyQueryAst, AstRewriter, BinaryExpr, BinaryOp, Codec, type CodecCallContext, type CodecDescriptor, CodecMeta, type CodecRef, type CodecTrait, ColumnRef, ContractCodecRegistry, DdlColumn, DdlColumnDefault, DdlColumnDefaultVisitor, DdlColumnRenderContext, DdlNode, DdlTableConstraint, DefaultValueExpr, DeleteAst, DerivedTableSource, DescriptorCodecId, DescriptorCodecInput, DescriptorCodecTraits, Direction, DoNothingConflictAction, DoUpdateSetConflictAction, EqColJoinOn, ExistsExpr, ExprVisitor, ExpressionFolder, ExpressionRewriter, ExpressionSource, ExtractCodecTypes, ForeignKeyConstraint, FunctionColumnDefault, IdentifierRef, InsertAst, InsertOnConflict, InsertValue, JoinAst, JoinOnExpr, JsonArrayAggExpr, JsonObjectEntry, JsonObjectExpr, LimitOffsetValue, ListExpression, LiteralColumnDefault, LiteralExpr, LoweredParam, LoweredStatement, Lowerer, LowererContext, MarkerReadResult, NotExpr, NullCheckExpr, OperationExpr, OrExpr, OrderByItem, ParamRef, PreparedExecuteRequest, PreparedParamRef, PrimaryKeyConstraint, ProjectionExpr, ProjectionItem, RawExpr, RawSqlExpr, RawSqlLiteral, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_TIMESTAMP_CODEC_ID, SQL_VARCHAR_CODEC_ID, SelectAst, SelectAstOptions, SqlCharCodec, SqlCharDescriptor, SqlCodecCallContext, SqlCodecInstanceContext, SqlColumnRef, SqlConnection, SqlDriver, SqlDriverState, SqlExecuteRequest, SqlExplainResult, SqlFloatCodec, SqlFloatDescriptor, SqlIntCodec, SqlIntDescriptor, SqlQueryResult, SqlQueryable, SqlTextCodec, SqlTextDescriptor, SqlTimestampCodec, SqlTimestampDescriptor, SqlTransaction, SqlVarcharCodec, SqlVarcharDescriptor, SubqueryExpr, TableRef, TableSource, ToWhereExpr, UniqueConstraint, UpdateAst, WhereArg, WindowFn, WindowFuncExpr, collectOrderedParamRefs, compact, isDdlNode, isQueryAst, isWhereExpr, queryAstKinds, sqlCharColumn, sqlCharDecode, sqlCharDescriptor, sqlCharEncode, sqlCharRenderOutputType, sqlFloatColumn, sqlFloatDecode, sqlFloatDescriptor, sqlFloatEncode, sqlIntColumn, sqlIntDecode, sqlIntDescriptor, sqlIntEncode, sqlTextColumn, sqlTextDecode, sqlTextDescriptor, sqlTextEncode, sqlTimestampColumn, sqlTimestampDecode, sqlTimestampDecodeJson, sqlTimestampDescriptor, sqlTimestampEncode, sqlTimestampEncodeJson, sqlTimestampRenderOutputType, sqlVarcharColumn, sqlVarcharDecode, sqlVarcharDescriptor, sqlVarcharEncode, sqlVarcharRenderOutputType, whereExprKinds };
270
266
  //# sourceMappingURL=ast.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.mts","names":[],"sources":["../../src/ast/driver-types.ts","../../src/ast/adapter-types.ts","../../src/ast/sql-codec-helpers.ts","../../src/ast/sql-codecs.ts","../../src/ast/util.ts"],"mappings":"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"}
1
+ {"version":3,"file":"ast.d.mts","names":[],"sources":["../../src/ast/driver-types.ts","../../src/ast/adapter-types.ts","../../src/ast/sql-codec-helpers.ts","../../src/ast/sql-codecs.ts","../../src/ast/util.ts"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { A as SelectAst, C as OrExpr, D as ProjectionItem, E as PreparedParamRef, F as isQueryAst, I as isWhereExpr, L as queryAstKinds, M as TableSource, N as UpdateAst, O as RawExpr, P as WindowFuncExpr, R as whereExprKinds, S as OperationExpr, T as ParamRef, _ as JsonObjectExpr, a as DefaultValueExpr, b as NotExpr, c as DoNothingConflictAction, d as ExistsExpr, f as IdentifierRef, g as JsonArrayAggExpr, h as JoinAst, i as ColumnRef, j as SubqueryExpr, k as RawSqlExpr, l as DoUpdateSetConflictAction, m as InsertOnConflict, n as AndExpr, o as DeleteAst, p as InsertAst, r as BinaryExpr, s as DerivedTableSource, t as AggregateExpr, u as EqColJoinOn, v as ListExpression, w as OrderByItem, x as NullCheckExpr, y as LiteralExpr } from "../types-C4EdOD-s.mjs";
2
- import { n as compact, t as collectOrderedParamRefs } from "../util-DWmhUCEO.mjs";
1
+ import { a as FunctionColumnDefault, c as UniqueConstraint, i as ForeignKeyConstraint, l as isDdlNode, n as DdlColumnDefault, o as LiteralColumnDefault, r as DdlNode, s as PrimaryKeyConstraint, t as DdlColumn } from "../ddl-types-X9_XHUl0.mjs";
2
+ import { A as SelectAst, C as OrExpr, D as ProjectionItem, E as PreparedParamRef, F as isQueryAst, I as isWhereExpr, L as queryAstKinds, M as TableSource, N as UpdateAst, O as RawExpr, P as WindowFuncExpr, R as whereExprKinds, S as OperationExpr, T as ParamRef, _ as JsonObjectExpr, a as DefaultValueExpr, b as NotExpr, c as DoNothingConflictAction, d as ExistsExpr, f as IdentifierRef, g as JsonArrayAggExpr, h as JoinAst, i as ColumnRef, j as SubqueryExpr, k as RawSqlExpr, l as DoUpdateSetConflictAction, m as InsertOnConflict, n as AndExpr, o as DeleteAst, p as InsertAst, r as BinaryExpr, s as DerivedTableSource, t as AggregateExpr, u as EqColJoinOn, v as ListExpression, w as OrderByItem, x as NullCheckExpr, y as LiteralExpr } from "../types-D72v8s92.mjs";
3
+ import { n as compact, t as collectOrderedParamRefs } from "../util-DQQgv2j1.mjs";
3
4
  import { CodecDescriptorImpl, CodecImpl, column, voidParamsSchema } from "@prisma-next/framework-components/codec";
4
5
  import { type } from "arktype";
5
6
  //#region src/ast/sql-codec-helpers.ts
@@ -230,6 +231,6 @@ var SqlTimestampDescriptor = class extends CodecDescriptorImpl {
230
231
  const sqlTimestampDescriptor = new SqlTimestampDescriptor();
231
232
  const sqlTimestampColumn = (params = {}) => column(sqlTimestampDescriptor.factory(params), sqlTimestampDescriptor.codecId, params, "timestamp");
232
233
  //#endregion
233
- export { AggregateExpr, AndExpr, BinaryExpr, ColumnRef, DefaultValueExpr, DeleteAst, DerivedTableSource, DoNothingConflictAction, DoUpdateSetConflictAction, EqColJoinOn, ExistsExpr, IdentifierRef, InsertAst, InsertOnConflict, JoinAst, JsonArrayAggExpr, JsonObjectExpr, ListExpression, LiteralExpr, NotExpr, NullCheckExpr, OperationExpr, OrExpr, OrderByItem, ParamRef, PreparedParamRef, ProjectionItem, RawExpr, RawSqlExpr, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_TIMESTAMP_CODEC_ID, SQL_VARCHAR_CODEC_ID, SelectAst, SqlCharCodec, SqlCharDescriptor, SqlFloatCodec, SqlFloatDescriptor, SqlIntCodec, SqlIntDescriptor, SqlTextCodec, SqlTextDescriptor, SqlTimestampCodec, SqlTimestampDescriptor, SqlVarcharCodec, SqlVarcharDescriptor, SubqueryExpr, TableSource, UpdateAst, WindowFuncExpr, collectOrderedParamRefs, compact, isQueryAst, isWhereExpr, queryAstKinds, sqlCharColumn, sqlCharDecode, sqlCharDescriptor, sqlCharEncode, sqlCharRenderOutputType, sqlFloatColumn, sqlFloatDecode, sqlFloatDescriptor, sqlFloatEncode, sqlIntColumn, sqlIntDecode, sqlIntDescriptor, sqlIntEncode, sqlTextColumn, sqlTextDecode, sqlTextDescriptor, sqlTextEncode, sqlTimestampColumn, sqlTimestampDecode, sqlTimestampDecodeJson, sqlTimestampDescriptor, sqlTimestampEncode, sqlTimestampEncodeJson, sqlTimestampRenderOutputType, sqlVarcharColumn, sqlVarcharDecode, sqlVarcharDescriptor, sqlVarcharEncode, sqlVarcharRenderOutputType, whereExprKinds };
234
+ export { AggregateExpr, AndExpr, BinaryExpr, ColumnRef, DdlColumn, DdlColumnDefault, DdlNode, DefaultValueExpr, DeleteAst, DerivedTableSource, DoNothingConflictAction, DoUpdateSetConflictAction, EqColJoinOn, ExistsExpr, ForeignKeyConstraint, FunctionColumnDefault, IdentifierRef, InsertAst, InsertOnConflict, JoinAst, JsonArrayAggExpr, JsonObjectExpr, ListExpression, LiteralColumnDefault, LiteralExpr, NotExpr, NullCheckExpr, OperationExpr, OrExpr, OrderByItem, ParamRef, PreparedParamRef, PrimaryKeyConstraint, ProjectionItem, RawExpr, RawSqlExpr, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_TIMESTAMP_CODEC_ID, SQL_VARCHAR_CODEC_ID, SelectAst, SqlCharCodec, SqlCharDescriptor, SqlFloatCodec, SqlFloatDescriptor, SqlIntCodec, SqlIntDescriptor, SqlTextCodec, SqlTextDescriptor, SqlTimestampCodec, SqlTimestampDescriptor, SqlVarcharCodec, SqlVarcharDescriptor, SubqueryExpr, TableSource, UniqueConstraint, UpdateAst, WindowFuncExpr, collectOrderedParamRefs, compact, isDdlNode, isQueryAst, isWhereExpr, queryAstKinds, sqlCharColumn, sqlCharDecode, sqlCharDescriptor, sqlCharEncode, sqlCharRenderOutputType, sqlFloatColumn, sqlFloatDecode, sqlFloatDescriptor, sqlFloatEncode, sqlIntColumn, sqlIntDecode, sqlIntDescriptor, sqlIntEncode, sqlTextColumn, sqlTextDecode, sqlTextDescriptor, sqlTextEncode, sqlTimestampColumn, sqlTimestampDecode, sqlTimestampDecodeJson, sqlTimestampDescriptor, sqlTimestampEncode, sqlTimestampEncodeJson, sqlTimestampRenderOutputType, sqlVarcharColumn, sqlVarcharDecode, sqlVarcharDescriptor, sqlVarcharEncode, sqlVarcharRenderOutputType, whereExprKinds };
234
235
 
235
236
  //# sourceMappingURL=ast.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast.mjs","names":["arktype"],"sources":["../../src/ast/sql-codec-helpers.ts","../../src/ast/sql-codecs.ts"],"sourcesContent":["/**\n * Shared encode/decode/render constants and codec id literals for the six SQL base codecs (`sql/char@1`, `sql/varchar@1`, `sql/int@1`, `sql/float@1`, `sql/text@1`, `sql/timestamp@1`).\n *\n * The codec implementations live in `sql-codecs.ts` (TML-2357). This module retains only the conversion helpers + emit-path renderers the codec methods compose with — keeping a single source of truth for non-trivial conversions while the codec methods provide the framework-required `Promise<…>` boundary.\n */\n\nimport type { JsonValue } from '@prisma-next/contract/types';\n\nexport const SQL_CHAR_CODEC_ID = 'sql/char@1' as const;\nexport const SQL_VARCHAR_CODEC_ID = 'sql/varchar@1' as const;\nexport const SQL_INT_CODEC_ID = 'sql/int@1' as const;\nexport const SQL_FLOAT_CODEC_ID = 'sql/float@1' as const;\nexport const SQL_TEXT_CODEC_ID = 'sql/text@1' as const;\nexport const SQL_TIMESTAMP_CODEC_ID = 'sql/timestamp@1' as const;\n\nexport const sqlCharEncode = (value: string): string => value;\nexport const sqlCharDecode = (wire: string): string => wire.trimEnd();\nexport const sqlCharRenderOutputType = (typeParams: { readonly length?: number }) => {\n const length = typeParams.length;\n if (length === undefined) return undefined;\n if (typeof length !== 'number' || !Number.isFinite(length) || !Number.isInteger(length)) {\n throw new Error(\n `renderOutputType: expected integer \"length\" in typeParams for Char, got ${String(length)}`,\n );\n }\n return `Char<${length}>`;\n};\n\nexport const sqlVarcharEncode = (value: string): string => value;\nexport const sqlVarcharDecode = (wire: string): string => wire;\nexport const sqlVarcharRenderOutputType = (typeParams: { readonly length?: number }) => {\n const length = typeParams.length;\n if (length === undefined) return undefined;\n if (typeof length !== 'number' || !Number.isFinite(length) || !Number.isInteger(length)) {\n throw new Error(\n `renderOutputType: expected integer \"length\" in typeParams for Varchar, got ${String(length)}`,\n );\n }\n return `Varchar<${length}>`;\n};\n\nexport const sqlIntEncode = (value: number): number => value;\nexport const sqlIntDecode = (wire: number): number => wire;\n\nexport const sqlFloatEncode = (value: number): number => value;\nexport const sqlFloatDecode = (wire: number): number => wire;\n\nexport const sqlTextEncode = (value: string): string => value;\nexport const sqlTextDecode = (wire: string): string => wire;\n\nexport const sqlTimestampEncode = (value: Date): Date => value;\nexport const sqlTimestampDecode = (wire: Date): Date => wire;\nexport const sqlTimestampEncodeJson = (value: Date): JsonValue => value.toISOString();\nexport const sqlTimestampDecodeJson = (json: JsonValue): Date => {\n if (typeof json !== 'string') {\n throw new Error(`Expected ISO date string for sql/timestamp@1, got ${typeof json}`);\n }\n const date = new Date(json);\n if (Number.isNaN(date.getTime())) {\n throw new Error(`Invalid ISO date string for sql/timestamp@1: ${json}`);\n }\n return date;\n};\nexport const sqlTimestampRenderOutputType = (typeParams: { readonly precision?: number }) => {\n const precision = typeParams.precision;\n if (precision === undefined) {\n return 'Timestamp';\n }\n if (\n typeof precision !== 'number' ||\n !Number.isFinite(precision) ||\n !Number.isInteger(precision)\n ) {\n throw new Error(\n `renderOutputType: expected integer \"precision\" in typeParams for Timestamp, got ${String(precision)}`,\n );\n }\n return `Timestamp<${precision}>`;\n};\n","/**\n * The six SQL base codecs (TML-2357).\n *\n * Each codec ships as three artifacts:\n *\n * 1. A `SqlXCodec` class extending {@link CodecImpl} that wraps the module-level encode/decode constants exported from `sql-codec-helpers.ts` (the single source of truth for runtime behaviour). 2. A `SqlXDescriptor` class extending {@link CodecDescriptorImpl} declaring the codec id, traits, target types, params schema, and (where applicable) the emit-path `renderOutputType`. 3. A per-codec column helper (`sqlXColumn`)\n * that calls `descriptor.factory(...)` directly and packages the result into a {@link ColumnSpec} via the framework {@link column} packager. The helper is tied to its descriptor with `satisfies ColumnHelperFor`.\n *\n * After TML-2357 this file is the canonical source of SQL base codec metadata and runtime behaviour — the legacy `mkCodec` / `defineCodec` carriers retired with the deletion sweep.\n */\n\nimport type { JsonValue } from '@prisma-next/contract/types';\nimport {\n type CodecCallContext,\n CodecDescriptorImpl,\n CodecImpl,\n type CodecInstanceContext,\n type ColumnHelperFor,\n type ColumnHelperForStrict,\n column,\n voidParamsSchema,\n} from '@prisma-next/framework-components/codec';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport { type as arktype } from 'arktype';\nimport {\n SQL_CHAR_CODEC_ID,\n SQL_FLOAT_CODEC_ID,\n SQL_INT_CODEC_ID,\n SQL_TEXT_CODEC_ID,\n SQL_TIMESTAMP_CODEC_ID,\n SQL_VARCHAR_CODEC_ID,\n sqlCharDecode,\n sqlCharEncode,\n sqlCharRenderOutputType,\n sqlFloatDecode,\n sqlFloatEncode,\n sqlIntDecode,\n sqlIntEncode,\n sqlTextDecode,\n sqlTextEncode,\n sqlTimestampDecode,\n sqlTimestampDecodeJson,\n sqlTimestampEncode,\n sqlTimestampEncodeJson,\n sqlTimestampRenderOutputType,\n sqlVarcharDecode,\n sqlVarcharEncode,\n sqlVarcharRenderOutputType,\n} from './sql-codec-helpers';\n\ntype LengthParams = { readonly length?: number };\ntype PrecisionParams = { readonly precision?: number };\n\nconst lengthParamsSchema = arktype({\n 'length?': 'number.integer > 0',\n}) satisfies StandardSchemaV1<LengthParams>;\n\nconst precisionParamsSchema = arktype({\n 'precision?': 'number.integer >= 0 & number.integer <= 6',\n}) satisfies StandardSchemaV1<PrecisionParams>;\n\nexport class SqlTextCodec extends CodecImpl<\n typeof SQL_TEXT_CODEC_ID,\n readonly ['equality', 'order', 'textual'],\n string,\n string\n> {\n async encode(value: string, _ctx: CodecCallContext): Promise<string> {\n return sqlTextEncode(value);\n }\n async decode(wire: string, _ctx: CodecCallContext): Promise<string> {\n return sqlTextDecode(wire);\n }\n encodeJson(value: string): JsonValue {\n return value;\n }\n decodeJson(json: JsonValue): string {\n return json as string;\n }\n}\n\nexport class SqlTextDescriptor extends CodecDescriptorImpl<void> {\n override readonly codecId = SQL_TEXT_CODEC_ID;\n override readonly traits = ['equality', 'order', 'textual'] as const;\n override readonly targetTypes = ['text'] as const;\n override readonly paramsSchema: StandardSchemaV1<void> = voidParamsSchema;\n override factory(): (ctx: CodecInstanceContext) => SqlTextCodec {\n return () => new SqlTextCodec(this);\n }\n}\n\nexport const sqlTextDescriptor = new SqlTextDescriptor();\n\nexport const sqlTextColumn = () =>\n column(sqlTextDescriptor.factory(), sqlTextDescriptor.codecId, undefined, 'text');\n\nsqlTextColumn satisfies ColumnHelperFor<SqlTextDescriptor>;\nsqlTextColumn satisfies ColumnHelperForStrict<SqlTextDescriptor>;\n\nexport class SqlIntCodec extends CodecImpl<\n typeof SQL_INT_CODEC_ID,\n readonly ['equality', 'order', 'numeric'],\n number,\n number\n> {\n async encode(value: number, _ctx: CodecCallContext): Promise<number> {\n return sqlIntEncode(value);\n }\n async decode(wire: number, _ctx: CodecCallContext): Promise<number> {\n return sqlIntDecode(wire);\n }\n encodeJson(value: number): JsonValue {\n return value;\n }\n decodeJson(json: JsonValue): number {\n return json as number;\n }\n}\n\nexport class SqlIntDescriptor extends CodecDescriptorImpl<void> {\n override readonly codecId = SQL_INT_CODEC_ID;\n override readonly traits = ['equality', 'order', 'numeric'] as const;\n override readonly targetTypes = ['int'] as const;\n override readonly paramsSchema: StandardSchemaV1<void> = voidParamsSchema;\n override factory(): (ctx: CodecInstanceContext) => SqlIntCodec {\n return () => new SqlIntCodec(this);\n }\n}\n\nexport const sqlIntDescriptor = new SqlIntDescriptor();\n\nexport const sqlIntColumn = () =>\n column(sqlIntDescriptor.factory(), sqlIntDescriptor.codecId, undefined, 'int');\n\nsqlIntColumn satisfies ColumnHelperFor<SqlIntDescriptor>;\nsqlIntColumn satisfies ColumnHelperForStrict<SqlIntDescriptor>;\n\nexport class SqlFloatCodec extends CodecImpl<\n typeof SQL_FLOAT_CODEC_ID,\n readonly ['equality', 'order', 'numeric'],\n number,\n number\n> {\n async encode(value: number, _ctx: CodecCallContext): Promise<number> {\n return sqlFloatEncode(value);\n }\n async decode(wire: number, _ctx: CodecCallContext): Promise<number> {\n return sqlFloatDecode(wire);\n }\n encodeJson(value: number): JsonValue {\n return value;\n }\n decodeJson(json: JsonValue): number {\n return json as number;\n }\n}\n\nexport class SqlFloatDescriptor extends CodecDescriptorImpl<void> {\n override readonly codecId = SQL_FLOAT_CODEC_ID;\n override readonly traits = ['equality', 'order', 'numeric'] as const;\n override readonly targetTypes = ['float'] as const;\n override readonly paramsSchema: StandardSchemaV1<void> = voidParamsSchema;\n override factory(): (ctx: CodecInstanceContext) => SqlFloatCodec {\n return () => new SqlFloatCodec(this);\n }\n}\n\nexport const sqlFloatDescriptor = new SqlFloatDescriptor();\n\nexport const sqlFloatColumn = () =>\n column(sqlFloatDescriptor.factory(), sqlFloatDescriptor.codecId, undefined, 'float');\n\nsqlFloatColumn satisfies ColumnHelperFor<SqlFloatDescriptor>;\nsqlFloatColumn satisfies ColumnHelperForStrict<SqlFloatDescriptor>;\n\nexport class SqlCharCodec extends CodecImpl<\n typeof SQL_CHAR_CODEC_ID,\n readonly ['equality', 'order', 'textual'],\n string,\n string\n> {\n async encode(value: string, _ctx: CodecCallContext): Promise<string> {\n return sqlCharEncode(value);\n }\n async decode(wire: string, _ctx: CodecCallContext): Promise<string> {\n return sqlCharDecode(wire);\n }\n encodeJson(value: string): JsonValue {\n return value;\n }\n decodeJson(json: JsonValue): string {\n return json as string;\n }\n}\n\nexport class SqlCharDescriptor extends CodecDescriptorImpl<LengthParams> {\n override readonly codecId = SQL_CHAR_CODEC_ID;\n override readonly traits = ['equality', 'order', 'textual'] as const;\n override readonly targetTypes = ['char'] as const;\n override readonly paramsSchema: StandardSchemaV1<LengthParams> = lengthParamsSchema;\n override renderOutputType(params: LengthParams): string | undefined {\n return sqlCharRenderOutputType(params);\n }\n override factory(_params: LengthParams): (ctx: CodecInstanceContext) => SqlCharCodec {\n return () => new SqlCharCodec(this);\n }\n}\n\nexport const sqlCharDescriptor = new SqlCharDescriptor();\n\nexport const sqlCharColumn = (params: LengthParams = {}) =>\n column(sqlCharDescriptor.factory(params), sqlCharDescriptor.codecId, params, 'char');\n\nsqlCharColumn satisfies ColumnHelperFor<SqlCharDescriptor>;\nsqlCharColumn satisfies ColumnHelperForStrict<SqlCharDescriptor>;\n\nexport class SqlVarcharCodec extends CodecImpl<\n typeof SQL_VARCHAR_CODEC_ID,\n readonly ['equality', 'order', 'textual'],\n string,\n string\n> {\n async encode(value: string, _ctx: CodecCallContext): Promise<string> {\n return sqlVarcharEncode(value);\n }\n async decode(wire: string, _ctx: CodecCallContext): Promise<string> {\n return sqlVarcharDecode(wire);\n }\n encodeJson(value: string): JsonValue {\n return value;\n }\n decodeJson(json: JsonValue): string {\n return json as string;\n }\n}\n\nexport class SqlVarcharDescriptor extends CodecDescriptorImpl<LengthParams> {\n override readonly codecId = SQL_VARCHAR_CODEC_ID;\n override readonly traits = ['equality', 'order', 'textual'] as const;\n override readonly targetTypes = ['varchar'] as const;\n override readonly paramsSchema: StandardSchemaV1<LengthParams> = lengthParamsSchema;\n override renderOutputType(params: LengthParams): string | undefined {\n return sqlVarcharRenderOutputType(params);\n }\n override factory(_params: LengthParams): (ctx: CodecInstanceContext) => SqlVarcharCodec {\n return () => new SqlVarcharCodec(this);\n }\n}\n\nexport const sqlVarcharDescriptor = new SqlVarcharDescriptor();\n\nexport const sqlVarcharColumn = (params: LengthParams = {}) =>\n column(sqlVarcharDescriptor.factory(params), sqlVarcharDescriptor.codecId, params, 'varchar');\n\nsqlVarcharColumn satisfies ColumnHelperFor<SqlVarcharDescriptor>;\nsqlVarcharColumn satisfies ColumnHelperForStrict<SqlVarcharDescriptor>;\n\nexport class SqlTimestampCodec extends CodecImpl<\n typeof SQL_TIMESTAMP_CODEC_ID,\n readonly ['equality', 'order'],\n Date,\n Date\n> {\n async encode(value: Date, _ctx: CodecCallContext): Promise<Date> {\n return sqlTimestampEncode(value);\n }\n async decode(wire: Date, _ctx: CodecCallContext): Promise<Date> {\n return sqlTimestampDecode(wire);\n }\n encodeJson(value: Date): JsonValue {\n return sqlTimestampEncodeJson(value);\n }\n decodeJson(json: JsonValue): Date {\n return sqlTimestampDecodeJson(json);\n }\n}\n\nexport class SqlTimestampDescriptor extends CodecDescriptorImpl<PrecisionParams> {\n override readonly codecId = SQL_TIMESTAMP_CODEC_ID;\n override readonly traits = ['equality', 'order'] as const;\n override readonly targetTypes = ['timestamp'] as const;\n override readonly paramsSchema: StandardSchemaV1<PrecisionParams> = precisionParamsSchema;\n override renderOutputType(params: PrecisionParams): string | undefined {\n return sqlTimestampRenderOutputType(params);\n }\n override factory(_params: PrecisionParams): (ctx: CodecInstanceContext) => SqlTimestampCodec {\n return () => new SqlTimestampCodec(this);\n }\n}\n\nexport const sqlTimestampDescriptor = new SqlTimestampDescriptor();\n\nexport const sqlTimestampColumn = (params: PrecisionParams = {}) =>\n column(\n sqlTimestampDescriptor.factory(params),\n sqlTimestampDescriptor.codecId,\n params,\n 'timestamp',\n );\n\nsqlTimestampColumn satisfies ColumnHelperFor<SqlTimestampDescriptor>;\nsqlTimestampColumn satisfies ColumnHelperForStrict<SqlTimestampDescriptor>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ast.mjs","names":["arktype"],"sources":["../../src/ast/sql-codec-helpers.ts","../../src/ast/sql-codecs.ts"],"sourcesContent":["/**\n * Shared encode/decode/render constants and codec id literals for the six SQL base codecs (`sql/char@1`, `sql/varchar@1`, `sql/int@1`, `sql/float@1`, `sql/text@1`, `sql/timestamp@1`).\n *\n * The codec implementations live in `sql-codecs.ts` (TML-2357). This module retains only the conversion helpers + emit-path renderers the codec methods compose with — keeping a single source of truth for non-trivial conversions while the codec methods provide the framework-required `Promise<…>` boundary.\n */\n\nimport type { JsonValue } from '@prisma-next/contract/types';\n\nexport const SQL_CHAR_CODEC_ID = 'sql/char@1' as const;\nexport const SQL_VARCHAR_CODEC_ID = 'sql/varchar@1' as const;\nexport const SQL_INT_CODEC_ID = 'sql/int@1' as const;\nexport const SQL_FLOAT_CODEC_ID = 'sql/float@1' as const;\nexport const SQL_TEXT_CODEC_ID = 'sql/text@1' as const;\nexport const SQL_TIMESTAMP_CODEC_ID = 'sql/timestamp@1' as const;\n\nexport const sqlCharEncode = (value: string): string => value;\nexport const sqlCharDecode = (wire: string): string => wire.trimEnd();\nexport const sqlCharRenderOutputType = (typeParams: { readonly length?: number }) => {\n const length = typeParams.length;\n if (length === undefined) return undefined;\n if (typeof length !== 'number' || !Number.isFinite(length) || !Number.isInteger(length)) {\n throw new Error(\n `renderOutputType: expected integer \"length\" in typeParams for Char, got ${String(length)}`,\n );\n }\n return `Char<${length}>`;\n};\n\nexport const sqlVarcharEncode = (value: string): string => value;\nexport const sqlVarcharDecode = (wire: string): string => wire;\nexport const sqlVarcharRenderOutputType = (typeParams: { readonly length?: number }) => {\n const length = typeParams.length;\n if (length === undefined) return undefined;\n if (typeof length !== 'number' || !Number.isFinite(length) || !Number.isInteger(length)) {\n throw new Error(\n `renderOutputType: expected integer \"length\" in typeParams for Varchar, got ${String(length)}`,\n );\n }\n return `Varchar<${length}>`;\n};\n\nexport const sqlIntEncode = (value: number): number => value;\nexport const sqlIntDecode = (wire: number): number => wire;\n\nexport const sqlFloatEncode = (value: number): number => value;\nexport const sqlFloatDecode = (wire: number): number => wire;\n\nexport const sqlTextEncode = (value: string): string => value;\nexport const sqlTextDecode = (wire: string): string => wire;\n\nexport const sqlTimestampEncode = (value: Date): Date => value;\nexport const sqlTimestampDecode = (wire: Date): Date => wire;\nexport const sqlTimestampEncodeJson = (value: Date): JsonValue => value.toISOString();\nexport const sqlTimestampDecodeJson = (json: JsonValue): Date => {\n if (typeof json !== 'string') {\n throw new Error(`Expected ISO date string for sql/timestamp@1, got ${typeof json}`);\n }\n const date = new Date(json);\n if (Number.isNaN(date.getTime())) {\n throw new Error(`Invalid ISO date string for sql/timestamp@1: ${json}`);\n }\n return date;\n};\nexport const sqlTimestampRenderOutputType = (typeParams: { readonly precision?: number }) => {\n const precision = typeParams.precision;\n if (precision === undefined) {\n return 'Timestamp';\n }\n if (\n typeof precision !== 'number' ||\n !Number.isFinite(precision) ||\n !Number.isInteger(precision)\n ) {\n throw new Error(\n `renderOutputType: expected integer \"precision\" in typeParams for Timestamp, got ${String(precision)}`,\n );\n }\n return `Timestamp<${precision}>`;\n};\n","/**\n * The six SQL base codecs (TML-2357).\n *\n * Each codec ships as three artifacts:\n *\n * 1. A `SqlXCodec` class extending {@link CodecImpl} that wraps the module-level encode/decode constants exported from `sql-codec-helpers.ts` (the single source of truth for runtime behaviour). 2. A `SqlXDescriptor` class extending {@link CodecDescriptorImpl} declaring the codec id, traits, target types, params schema, and (where applicable) the emit-path `renderOutputType`. 3. A per-codec column helper (`sqlXColumn`)\n * that calls `descriptor.factory(...)` directly and packages the result into a {@link ColumnSpec} via the framework {@link column} packager. The helper is tied to its descriptor with `satisfies ColumnHelperFor`.\n *\n * After TML-2357 this file is the canonical source of SQL base codec metadata and runtime behaviour — the legacy `mkCodec` / `defineCodec` carriers retired with the deletion sweep.\n */\n\nimport type { JsonValue } from '@prisma-next/contract/types';\nimport {\n type CodecCallContext,\n CodecDescriptorImpl,\n CodecImpl,\n type CodecInstanceContext,\n type ColumnHelperFor,\n type ColumnHelperForStrict,\n column,\n voidParamsSchema,\n} from '@prisma-next/framework-components/codec';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport { type as arktype } from 'arktype';\nimport {\n SQL_CHAR_CODEC_ID,\n SQL_FLOAT_CODEC_ID,\n SQL_INT_CODEC_ID,\n SQL_TEXT_CODEC_ID,\n SQL_TIMESTAMP_CODEC_ID,\n SQL_VARCHAR_CODEC_ID,\n sqlCharDecode,\n sqlCharEncode,\n sqlCharRenderOutputType,\n sqlFloatDecode,\n sqlFloatEncode,\n sqlIntDecode,\n sqlIntEncode,\n sqlTextDecode,\n sqlTextEncode,\n sqlTimestampDecode,\n sqlTimestampDecodeJson,\n sqlTimestampEncode,\n sqlTimestampEncodeJson,\n sqlTimestampRenderOutputType,\n sqlVarcharDecode,\n sqlVarcharEncode,\n sqlVarcharRenderOutputType,\n} from './sql-codec-helpers';\n\ntype LengthParams = { readonly length?: number };\ntype PrecisionParams = { readonly precision?: number };\n\nconst lengthParamsSchema = arktype({\n 'length?': 'number.integer > 0',\n}) satisfies StandardSchemaV1<LengthParams>;\n\nconst precisionParamsSchema = arktype({\n 'precision?': 'number.integer >= 0 & number.integer <= 6',\n}) satisfies StandardSchemaV1<PrecisionParams>;\n\nexport class SqlTextCodec extends CodecImpl<\n typeof SQL_TEXT_CODEC_ID,\n readonly ['equality', 'order', 'textual'],\n string,\n string\n> {\n async encode(value: string, _ctx: CodecCallContext): Promise<string> {\n return sqlTextEncode(value);\n }\n async decode(wire: string, _ctx: CodecCallContext): Promise<string> {\n return sqlTextDecode(wire);\n }\n encodeJson(value: string): JsonValue {\n return value;\n }\n decodeJson(json: JsonValue): string {\n return json as string;\n }\n}\n\nexport class SqlTextDescriptor extends CodecDescriptorImpl<void> {\n override readonly codecId = SQL_TEXT_CODEC_ID;\n override readonly traits = ['equality', 'order', 'textual'] as const;\n override readonly targetTypes = ['text'] as const;\n override readonly paramsSchema: StandardSchemaV1<void> = voidParamsSchema;\n override factory(): (ctx: CodecInstanceContext) => SqlTextCodec {\n return () => new SqlTextCodec(this);\n }\n}\n\nexport const sqlTextDescriptor = new SqlTextDescriptor();\n\nexport const sqlTextColumn = () =>\n column(sqlTextDescriptor.factory(), sqlTextDescriptor.codecId, undefined, 'text');\n\nsqlTextColumn satisfies ColumnHelperFor<SqlTextDescriptor>;\nsqlTextColumn satisfies ColumnHelperForStrict<SqlTextDescriptor>;\n\nexport class SqlIntCodec extends CodecImpl<\n typeof SQL_INT_CODEC_ID,\n readonly ['equality', 'order', 'numeric'],\n number,\n number\n> {\n async encode(value: number, _ctx: CodecCallContext): Promise<number> {\n return sqlIntEncode(value);\n }\n async decode(wire: number, _ctx: CodecCallContext): Promise<number> {\n return sqlIntDecode(wire);\n }\n encodeJson(value: number): JsonValue {\n return value;\n }\n decodeJson(json: JsonValue): number {\n return json as number;\n }\n}\n\nexport class SqlIntDescriptor extends CodecDescriptorImpl<void> {\n override readonly codecId = SQL_INT_CODEC_ID;\n override readonly traits = ['equality', 'order', 'numeric'] as const;\n override readonly targetTypes = ['int'] as const;\n override readonly paramsSchema: StandardSchemaV1<void> = voidParamsSchema;\n override factory(): (ctx: CodecInstanceContext) => SqlIntCodec {\n return () => new SqlIntCodec(this);\n }\n}\n\nexport const sqlIntDescriptor = new SqlIntDescriptor();\n\nexport const sqlIntColumn = () =>\n column(sqlIntDescriptor.factory(), sqlIntDescriptor.codecId, undefined, 'int');\n\nsqlIntColumn satisfies ColumnHelperFor<SqlIntDescriptor>;\nsqlIntColumn satisfies ColumnHelperForStrict<SqlIntDescriptor>;\n\nexport class SqlFloatCodec extends CodecImpl<\n typeof SQL_FLOAT_CODEC_ID,\n readonly ['equality', 'order', 'numeric'],\n number,\n number\n> {\n async encode(value: number, _ctx: CodecCallContext): Promise<number> {\n return sqlFloatEncode(value);\n }\n async decode(wire: number, _ctx: CodecCallContext): Promise<number> {\n return sqlFloatDecode(wire);\n }\n encodeJson(value: number): JsonValue {\n return value;\n }\n decodeJson(json: JsonValue): number {\n return json as number;\n }\n}\n\nexport class SqlFloatDescriptor extends CodecDescriptorImpl<void> {\n override readonly codecId = SQL_FLOAT_CODEC_ID;\n override readonly traits = ['equality', 'order', 'numeric'] as const;\n override readonly targetTypes = ['float'] as const;\n override readonly paramsSchema: StandardSchemaV1<void> = voidParamsSchema;\n override factory(): (ctx: CodecInstanceContext) => SqlFloatCodec {\n return () => new SqlFloatCodec(this);\n }\n}\n\nexport const sqlFloatDescriptor = new SqlFloatDescriptor();\n\nexport const sqlFloatColumn = () =>\n column(sqlFloatDescriptor.factory(), sqlFloatDescriptor.codecId, undefined, 'float');\n\nsqlFloatColumn satisfies ColumnHelperFor<SqlFloatDescriptor>;\nsqlFloatColumn satisfies ColumnHelperForStrict<SqlFloatDescriptor>;\n\nexport class SqlCharCodec extends CodecImpl<\n typeof SQL_CHAR_CODEC_ID,\n readonly ['equality', 'order', 'textual'],\n string,\n string\n> {\n async encode(value: string, _ctx: CodecCallContext): Promise<string> {\n return sqlCharEncode(value);\n }\n async decode(wire: string, _ctx: CodecCallContext): Promise<string> {\n return sqlCharDecode(wire);\n }\n encodeJson(value: string): JsonValue {\n return value;\n }\n decodeJson(json: JsonValue): string {\n return json as string;\n }\n}\n\nexport class SqlCharDescriptor extends CodecDescriptorImpl<LengthParams> {\n override readonly codecId = SQL_CHAR_CODEC_ID;\n override readonly traits = ['equality', 'order', 'textual'] as const;\n override readonly targetTypes = ['char'] as const;\n override readonly paramsSchema: StandardSchemaV1<LengthParams> = lengthParamsSchema;\n override renderOutputType(params: LengthParams): string | undefined {\n return sqlCharRenderOutputType(params);\n }\n override factory(_params: LengthParams): (ctx: CodecInstanceContext) => SqlCharCodec {\n return () => new SqlCharCodec(this);\n }\n}\n\nexport const sqlCharDescriptor = new SqlCharDescriptor();\n\nexport const sqlCharColumn = (params: LengthParams = {}) =>\n column(sqlCharDescriptor.factory(params), sqlCharDescriptor.codecId, params, 'char');\n\nsqlCharColumn satisfies ColumnHelperFor<SqlCharDescriptor>;\nsqlCharColumn satisfies ColumnHelperForStrict<SqlCharDescriptor>;\n\nexport class SqlVarcharCodec extends CodecImpl<\n typeof SQL_VARCHAR_CODEC_ID,\n readonly ['equality', 'order', 'textual'],\n string,\n string\n> {\n async encode(value: string, _ctx: CodecCallContext): Promise<string> {\n return sqlVarcharEncode(value);\n }\n async decode(wire: string, _ctx: CodecCallContext): Promise<string> {\n return sqlVarcharDecode(wire);\n }\n encodeJson(value: string): JsonValue {\n return value;\n }\n decodeJson(json: JsonValue): string {\n return json as string;\n }\n}\n\nexport class SqlVarcharDescriptor extends CodecDescriptorImpl<LengthParams> {\n override readonly codecId = SQL_VARCHAR_CODEC_ID;\n override readonly traits = ['equality', 'order', 'textual'] as const;\n override readonly targetTypes = ['varchar'] as const;\n override readonly paramsSchema: StandardSchemaV1<LengthParams> = lengthParamsSchema;\n override renderOutputType(params: LengthParams): string | undefined {\n return sqlVarcharRenderOutputType(params);\n }\n override factory(_params: LengthParams): (ctx: CodecInstanceContext) => SqlVarcharCodec {\n return () => new SqlVarcharCodec(this);\n }\n}\n\nexport const sqlVarcharDescriptor = new SqlVarcharDescriptor();\n\nexport const sqlVarcharColumn = (params: LengthParams = {}) =>\n column(sqlVarcharDescriptor.factory(params), sqlVarcharDescriptor.codecId, params, 'varchar');\n\nsqlVarcharColumn satisfies ColumnHelperFor<SqlVarcharDescriptor>;\nsqlVarcharColumn satisfies ColumnHelperForStrict<SqlVarcharDescriptor>;\n\nexport class SqlTimestampCodec extends CodecImpl<\n typeof SQL_TIMESTAMP_CODEC_ID,\n readonly ['equality', 'order'],\n Date,\n Date\n> {\n async encode(value: Date, _ctx: CodecCallContext): Promise<Date> {\n return sqlTimestampEncode(value);\n }\n async decode(wire: Date, _ctx: CodecCallContext): Promise<Date> {\n return sqlTimestampDecode(wire);\n }\n encodeJson(value: Date): JsonValue {\n return sqlTimestampEncodeJson(value);\n }\n decodeJson(json: JsonValue): Date {\n return sqlTimestampDecodeJson(json);\n }\n}\n\nexport class SqlTimestampDescriptor extends CodecDescriptorImpl<PrecisionParams> {\n override readonly codecId = SQL_TIMESTAMP_CODEC_ID;\n override readonly traits = ['equality', 'order'] as const;\n override readonly targetTypes = ['timestamp'] as const;\n override readonly paramsSchema: StandardSchemaV1<PrecisionParams> = precisionParamsSchema;\n override renderOutputType(params: PrecisionParams): string | undefined {\n return sqlTimestampRenderOutputType(params);\n }\n override factory(_params: PrecisionParams): (ctx: CodecInstanceContext) => SqlTimestampCodec {\n return () => new SqlTimestampCodec(this);\n }\n}\n\nexport const sqlTimestampDescriptor = new SqlTimestampDescriptor();\n\nexport const sqlTimestampColumn = (params: PrecisionParams = {}) =>\n column(\n sqlTimestampDescriptor.factory(params),\n sqlTimestampDescriptor.codecId,\n params,\n 'timestamp',\n );\n\nsqlTimestampColumn satisfies ColumnHelperFor<SqlTimestampDescriptor>;\nsqlTimestampColumn satisfies ColumnHelperForStrict<SqlTimestampDescriptor>;\n"],"mappings":"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"}