@prisma-next/sql-relational-core 0.3.0-dev.124 → 0.3.0-dev.126

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.
@@ -1,6 +1,6 @@
1
1
  import { C as createCodecRegistry, S as codec, _ as CodecRegistry, b as ExtractCodecTypes, d as CodecDefBuilder, f as CodecId, g as CodecParamsDescriptor, h as CodecOutput, m as CodecMeta, p as CodecInput, u as Codec, v as CodecTrait, w as defineCodecs, x as ExtractDataTypes, y as CodecTraits } from "../query-lane-context-BTtg0xm8.mjs";
2
2
  import { $ as TableRef, A as IdentifierRef, B as LiteralExpr, C as DoUpdateSetConflictAction, D as ExpressionFolder, E as ExprVisitor, F as JoinOnExpr, G as OrExpr, H as NotExpr, I as JsonArrayAggExpr, J as ProjectionExpr, K as OrderByItem, L as JsonObjectEntry, M as InsertOnConflict, N as InsertValue, O as ExpressionRewriter, P as JoinAst, Q as SubqueryExpr, R as JsonObjectExpr, S as DoNothingConflictAction, T as ExistsExpr, U as NullCheckExpr, V as LoweredStatement, W as OperationExpr, X as SelectAst, Y as ProjectionItem, Z as SelectAstOptions, _ as ColumnRef, a as AggregateFn, at as isWhereExpr, b as DerivedTableSource, c as AnyExpression, d as AnyInsertValue, et as TableSource, f as AnyOperationArg, g as BinaryOp, h as BinaryExpr, i as AggregateExpr, it as isQueryAst, j as InsertAst, k as ExpressionSource, l as AnyFromSource, m as AstRewriter, nt as UpdateAst, o as AggregateOpFn, ot as queryAstKinds, p as AnyQueryAst, q as ParamRef, r as AggregateCountFn, rt as WhereArg, s as AndExpr, st as whereExprKinds, tt as ToWhereExpr, u as AnyInsertOnConflictAction, v as DefaultValueExpr, w as EqColJoinOn, x as Direction, y as DeleteAst, z as ListExpression } from "../plan-BrZtMUA9.mjs";
3
- import { b as JoinOnBuilder } from "../types-CMyotK6U.mjs";
3
+ import { b as JoinOnBuilder } from "../types-C8-DxtGE.mjs";
4
4
 
5
5
  //#region src/ast/adapter-types.d.ts
6
6
  type AdapterTarget = string;
@@ -1,5 +1,5 @@
1
1
  import "../query-lane-context-BTtg0xm8.mjs";
2
2
  import "../plan-BrZtMUA9.mjs";
3
- import "../types-CMyotK6U.mjs";
4
- import { a as isExpressionSource, i as isExpressionBuilder, n as getColumnMeta, o as isParamPlaceholder, r as isColumnBuilder, s as isValueSource, t as getColumnInfo } from "../guards-DC2Ll67p.mjs";
3
+ import "../types-C8-DxtGE.mjs";
4
+ import { a as isExpressionSource, i as isExpressionBuilder, n as getColumnMeta, o as isParamPlaceholder, r as isColumnBuilder, s as isValueSource, t as getColumnInfo } from "../guards-B4LiBfVJ.mjs";
5
5
  export { getColumnInfo, getColumnMeta, isColumnBuilder, isExpressionBuilder, isExpressionSource, isParamPlaceholder, isValueSource };
@@ -1,5 +1,5 @@
1
1
  import "../query-lane-context-BTtg0xm8.mjs";
2
2
  import "../plan-BrZtMUA9.mjs";
3
- import "../types-CMyotK6U.mjs";
4
- import { t as attachOperationsToColumnBuilder } from "../operations-registry-CBmGut8O.mjs";
3
+ import "../types-C8-DxtGE.mjs";
4
+ import { t as attachOperationsToColumnBuilder } from "../operations-registry-C4qMpFab.mjs";
5
5
  export { attachOperationsToColumnBuilder };
@@ -1,5 +1,5 @@
1
1
  import "../query-lane-context-BTtg0xm8.mjs";
2
2
  import "../plan-BrZtMUA9.mjs";
3
- import "../types-CMyotK6U.mjs";
4
- import { n as param, t as Parameter } from "../param-Cmdv_exJ.mjs";
3
+ import "../types-C8-DxtGE.mjs";
4
+ import { n as param, t as Parameter } from "../param-CodWP3ig.mjs";
5
5
  export { Parameter, param };
@@ -1,5 +1,5 @@
1
1
  import "../query-lane-context-BTtg0xm8.mjs";
2
2
  import "../plan-BrZtMUA9.mjs";
3
- import "../types-CMyotK6U.mjs";
4
- import { i as schema, n as SchemaHandle, r as TableBuilderImpl, t as ColumnBuilderImpl } from "../schema-j3Srik3R.mjs";
3
+ import "../types-C8-DxtGE.mjs";
4
+ import { i as schema, n as SchemaHandle, r as TableBuilderImpl, t as ColumnBuilderImpl } from "../schema-CXcgb4Lv.mjs";
5
5
  export { ColumnBuilderImpl as Column, ColumnBuilderImpl, SchemaHandle, TableBuilderImpl as Table, TableBuilderImpl, schema };
@@ -1,4 +1,4 @@
1
1
  import "../query-lane-context-BTtg0xm8.mjs";
2
2
  import "../plan-BrZtMUA9.mjs";
3
- import { A as OperationTypes, B as SqlBuilderOptions, C as Meta, D as NullCheckBuilder, E as NestedProjection, F as RawFunctionOptions, G as TablesOf, H as TableDef, I as RawTemplateFactory, J as createOrderBuilder, K as UnaryBuilder, L as RawTemplateOptions, M as OrderBuilder, N as ParamPlaceholder, O as NullableMethods, P as RawFactory, R as ResultType, S as META, T as ModelMetadata, U as TableKey, V as SqlPlan, W as TableMetadata, Y as isColumnBuilder, _ as InferNestedProjectionRow, a as AnyOrderBuilder, b as JoinOnBuilder, c as BuildOptions, d as ColumnBuilder, f as ColumnsOf, g as HasIncludeManyCapabilities, h as ExpressionBuilder, i as AnyExpressionSource, j as OperationsForTypeId, k as OperationTypeSignature, l as BuildParamsMap, m as Expr, n as AnyColumnBuilder, o as AnyUnaryBuilder, p as ComputeColumnJsType, q as ValueSource, r as AnyColumnBuilderBase, s as BinaryBuilder, t as AnyBinaryBuilder, u as CodecTypes, v as InferProjectionRow, w as ModelDef, x as JoinOnPredicate, y as InferReturningRow, z as RuntimeError } from "../types-CMyotK6U.mjs";
3
+ import { A as OperationTypes, B as SqlBuilderOptions, C as Meta, D as NullCheckBuilder, E as NestedProjection, F as RawFunctionOptions, G as TablesOf, H as TableDef, I as RawTemplateFactory, J as createOrderBuilder, K as UnaryBuilder, L as RawTemplateOptions, M as OrderBuilder, N as ParamPlaceholder, O as NullableMethods, P as RawFactory, R as ResultType, S as META, T as ModelMetadata, U as TableKey, V as SqlPlan, W as TableMetadata, Y as isColumnBuilder, _ as InferNestedProjectionRow, a as AnyOrderBuilder, b as JoinOnBuilder, c as BuildOptions, d as ColumnBuilder, f as ColumnsOf, g as HasIncludeManyCapabilities, h as ExpressionBuilder, i as AnyExpressionSource, j as OperationsForTypeId, k as OperationTypeSignature, l as BuildParamsMap, m as Expr, n as AnyColumnBuilder, o as AnyUnaryBuilder, p as ComputeColumnJsType, q as ValueSource, r as AnyColumnBuilderBase, s as BinaryBuilder, t as AnyBinaryBuilder, u as CodecTypes, v as InferProjectionRow, w as ModelDef, x as JoinOnPredicate, y as InferReturningRow, z as RuntimeError } from "../types-C8-DxtGE.mjs";
4
4
  export { AnyBinaryBuilder, AnyColumnBuilder, AnyColumnBuilderBase, AnyExpressionSource, AnyOrderBuilder, AnyUnaryBuilder, BinaryBuilder, BuildOptions, BuildParamsMap, CodecTypes, ColumnBuilder, ColumnsOf, ComputeColumnJsType, Expr, ExpressionBuilder, HasIncludeManyCapabilities, InferNestedProjectionRow, InferProjectionRow, InferReturningRow, JoinOnBuilder, JoinOnPredicate, META, Meta, ModelDef, ModelMetadata, NestedProjection, NullCheckBuilder, NullableMethods, OperationTypeSignature, OperationTypes, OperationsForTypeId, OrderBuilder, ParamPlaceholder, RawFactory, RawFunctionOptions, RawTemplateFactory, RawTemplateOptions, ResultType, RuntimeError, SqlBuilderOptions, SqlPlan, TableDef, TableKey, TableMetadata, TablesOf, UnaryBuilder, ValueSource, createOrderBuilder, isColumnBuilder };
@@ -1,5 +1,5 @@
1
1
  import "../../query-lane-context-BTtg0xm8.mjs";
2
2
  import "../../plan-BrZtMUA9.mjs";
3
- import "../../types-CMyotK6U.mjs";
4
- import { a as isExpressionSource, i as isExpressionBuilder, n as getColumnMeta, o as isParamPlaceholder, r as isColumnBuilder, s as isValueSource, t as getColumnInfo } from "../../guards-DC2Ll67p.mjs";
3
+ import "../../types-C8-DxtGE.mjs";
4
+ import { a as isExpressionSource, i as isExpressionBuilder, n as getColumnMeta, o as isParamPlaceholder, r as isColumnBuilder, s as isValueSource, t as getColumnInfo } from "../../guards-B4LiBfVJ.mjs";
5
5
  export { getColumnInfo, getColumnMeta, isColumnBuilder, isExpressionBuilder, isExpressionSource, isParamPlaceholder, isValueSource };
@@ -1,5 +1,5 @@
1
1
  import { W as OperationExpr, k as ExpressionSource } from "./plan-BrZtMUA9.mjs";
2
- import { N as ParamPlaceholder, h as ExpressionBuilder, i as AnyExpressionSource, n as AnyColumnBuilder, q as ValueSource } from "./types-CMyotK6U.mjs";
2
+ import { N as ParamPlaceholder, h as ExpressionBuilder, i as AnyExpressionSource, n as AnyColumnBuilder, q as ValueSource } from "./types-C8-DxtGE.mjs";
3
3
  import { StorageColumn } from "@prisma-next/sql-contract/types";
4
4
 
5
5
  //#region src/utils/guards.d.ts
@@ -28,4 +28,4 @@ declare function isExpressionSource(value: unknown): value is ExpressionSource;
28
28
  declare function isValueSource(value: unknown): value is ValueSource;
29
29
  //#endregion
30
30
  export { isExpressionSource as a, isExpressionBuilder as i, getColumnMeta as n, isParamPlaceholder as o, isColumnBuilder as r, isValueSource as s, getColumnInfo as t };
31
- //# sourceMappingURL=guards-DC2Ll67p.d.mts.map
31
+ //# sourceMappingURL=guards-B4LiBfVJ.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guards-DC2Ll67p.d.mts","names":[],"sources":["../src/utils/guards.ts"],"sourcesContent":[],"mappings":";;;;;iBAUgB,aAAA,OAAoB,sBAAsB;iBAO1C,kBAAA,2BAA6C;AAP7C,iBAkBA,aAAA,CAlBoB,IAAA,EAkBA,mBAlBsB,GAkBA,aAlBa,CAAA,EAAA;EAOvD,KAAA,EAAA,MAAA;EAWA,MAAA,EAAA,MAAA;AAmBhB,CAAA;AAYA;AAYA;AAaA;iBArCgB,eAAA,2BAA0C;;;;iBAY1C,mBAAA,2BAA8C;;;;iBAY9C,kBAAA,2BAA6C;;;;;iBAa7C,aAAA,2BAAwC"}
1
+ {"version":3,"file":"guards-B4LiBfVJ.d.mts","names":[],"sources":["../src/utils/guards.ts"],"sourcesContent":[],"mappings":";;;;;iBAUgB,aAAA,OAAoB,sBAAsB;iBAO1C,kBAAA,2BAA6C;AAP7C,iBAkBA,aAAA,CAlBoB,IAAA,EAkBA,mBAlBsB,GAkBA,aAlBa,CAAA,EAAA;EAOvD,KAAA,EAAA,MAAA;EAWA,MAAA,EAAA,MAAA;AAmBhB,CAAA;AAYA;AAYA;AAaA;iBArCgB,eAAA,2BAA0C;;;;iBAY1C,mBAAA,2BAA8C;;;;iBAY9C,kBAAA,2BAA6C;;;;;iBAa7C,aAAA,2BAAwC"}
package/dist/index.d.mts CHANGED
@@ -1,12 +1,12 @@
1
1
  import { C as createCodecRegistry, S as codec, _ as CodecRegistry, a as JsonSchemaValidationResult, b as ExtractCodecTypes, c as MutationDefaultsOptions, d as CodecDefBuilder, f as CodecId, g as CodecParamsDescriptor, h as CodecOutput, i as JsonSchemaValidationError, l as TypeHelperRegistry, m as CodecMeta, n as ExecutionContext, o as JsonSchemaValidatorRegistry, p as CodecInput, r as JsonSchemaValidateFn, s as MutationDefaultsOp, t as AppliedMutationDefault, u as Codec, v as CodecTrait, w as defineCodecs, x as ExtractDataTypes, y as CodecTraits } from "./query-lane-context-BTtg0xm8.mjs";
2
2
  import { $ as TableRef, A as IdentifierRef, B as LiteralExpr, C as DoUpdateSetConflictAction, D as ExpressionFolder, E as ExprVisitor, F as JoinOnExpr, G as OrExpr, H as NotExpr, I as JsonArrayAggExpr, J as ProjectionExpr, K as OrderByItem, L as JsonObjectEntry, M as InsertOnConflict, N as InsertValue, O as ExpressionRewriter, P as JoinAst, Q as SubqueryExpr, R as JsonObjectExpr, S as DoNothingConflictAction, T as ExistsExpr, U as NullCheckExpr, V as LoweredStatement, W as OperationExpr, X as SelectAst, Y as ProjectionItem, Z as SelectAstOptions, _ as ColumnRef, a as AggregateFn, at as isWhereExpr, b as DerivedTableSource, c as AnyExpression, d as AnyInsertValue, et as TableSource, f as AnyOperationArg, g as BinaryOp, h as BinaryExpr, i as AggregateExpr, it as isQueryAst, j as InsertAst, k as ExpressionSource, l as AnyFromSource, m as AstRewriter, n as augmentDescriptorWithColumnMeta, nt as UpdateAst, o as AggregateOpFn, ot as queryAstKinds, p as AnyQueryAst, q as ParamRef, r as AggregateCountFn, rt as WhereArg, s as AndExpr, st as whereExprKinds, t as SqlQueryPlan, tt as ToWhereExpr, u as AnyInsertOnConflictAction, v as DefaultValueExpr, w as EqColJoinOn, x as Direction, y as DeleteAst, z as ListExpression } from "./plan-BrZtMUA9.mjs";
3
- import { A as OperationTypes, B as SqlBuilderOptions, C as Meta, D as NullCheckBuilder, E as NestedProjection, F as RawFunctionOptions, G as TablesOf, H as TableDef, I as RawTemplateFactory, J as createOrderBuilder, K as UnaryBuilder, L as RawTemplateOptions, M as OrderBuilder, N as ParamPlaceholder, O as NullableMethods, P as RawFactory, R as ResultType, S as META, T as ModelMetadata, U as TableKey, V as SqlPlan, W as TableMetadata, Y as isColumnBuilder, _ as InferNestedProjectionRow, a as AnyOrderBuilder, b as JoinOnBuilder, c as BuildOptions, d as ColumnBuilder, f as ColumnsOf, g as HasIncludeManyCapabilities, h as ExpressionBuilder, i as AnyExpressionSource, j as OperationsForTypeId, k as OperationTypeSignature, l as BuildParamsMap, m as Expr, n as AnyColumnBuilder, o as AnyUnaryBuilder, p as ComputeColumnJsType, q as ValueSource, r as AnyColumnBuilderBase, s as BinaryBuilder, t as AnyBinaryBuilder, u as CodecTypes, v as InferProjectionRow, w as ModelDef, x as JoinOnPredicate, y as InferReturningRow, z as RuntimeError } from "./types-CMyotK6U.mjs";
3
+ import { A as OperationTypes, B as SqlBuilderOptions, C as Meta, D as NullCheckBuilder, E as NestedProjection, F as RawFunctionOptions, G as TablesOf, H as TableDef, I as RawTemplateFactory, J as createOrderBuilder, K as UnaryBuilder, L as RawTemplateOptions, M as OrderBuilder, N as ParamPlaceholder, O as NullableMethods, P as RawFactory, R as ResultType, S as META, T as ModelMetadata, U as TableKey, V as SqlPlan, W as TableMetadata, Y as isColumnBuilder, _ as InferNestedProjectionRow, a as AnyOrderBuilder, b as JoinOnBuilder, c as BuildOptions, d as ColumnBuilder, f as ColumnsOf, g as HasIncludeManyCapabilities, h as ExpressionBuilder, i as AnyExpressionSource, j as OperationsForTypeId, k as OperationTypeSignature, l as BuildParamsMap, m as Expr, n as AnyColumnBuilder, o as AnyUnaryBuilder, p as ComputeColumnJsType, q as ValueSource, r as AnyColumnBuilderBase, s as BinaryBuilder, t as AnyBinaryBuilder, u as CodecTypes, v as InferProjectionRow, w as ModelDef, x as JoinOnPredicate, y as InferReturningRow, z as RuntimeError } from "./types-C8-DxtGE.mjs";
4
4
  import { Adapter, AdapterProfile, AdapterTarget, LoweredPayload, Lowerer, LowererContext, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_VARCHAR_CODEC_ID, SqlCodecTypes, SqlConnection, SqlDriver, SqlDriverState, SqlExecuteRequest, SqlExplainResult, SqlQueryResult, SqlQueryable, SqlTransaction, compact, createJoinOnBuilder, sqlCodecDefinitions, sqlDataTypes } from "./exports/ast.mjs";
5
5
  import { n as planUnsupported, t as planInvalid } from "./errors-BNiBIGfC.mjs";
6
- import { t as attachOperationsToColumnBuilder } from "./operations-registry-CBmGut8O.mjs";
7
- import { n as param, t as Parameter } from "./param-Cmdv_exJ.mjs";
6
+ import { t as attachOperationsToColumnBuilder } from "./operations-registry-C4qMpFab.mjs";
7
+ import { n as param, t as Parameter } from "./param-CodWP3ig.mjs";
8
8
  import "./exports/plan.mjs";
9
9
  import "./exports/query-lane-context.mjs";
10
- import { i as schema, n as SchemaHandle, r as TableBuilderImpl, t as ColumnBuilderImpl } from "./schema-j3Srik3R.mjs";
10
+ import { i as schema, n as SchemaHandle, r as TableBuilderImpl, t as ColumnBuilderImpl } from "./schema-CXcgb4Lv.mjs";
11
11
  import "./exports/types.mjs";
12
12
  export { Adapter, AdapterProfile, AdapterTarget, AggregateCountFn, AggregateExpr, AggregateFn, AggregateOpFn, AndExpr, AnyBinaryBuilder, AnyColumnBuilder, AnyColumnBuilderBase, AnyExpression, AnyExpressionSource, AnyFromSource, AnyInsertOnConflictAction, AnyInsertValue, AnyOperationArg, AnyOrderBuilder, AnyQueryAst, AnyUnaryBuilder, AppliedMutationDefault, AstRewriter, BinaryBuilder, BinaryExpr, BinaryOp, BuildOptions, BuildParamsMap, Codec, CodecDefBuilder, CodecId, CodecInput, CodecMeta, CodecOutput, CodecParamsDescriptor, CodecRegistry, CodecTrait, CodecTraits, CodecTypes, ColumnBuilderImpl as Column, ColumnBuilderImpl, ColumnBuilder, ColumnRef, ColumnsOf, ComputeColumnJsType, DefaultValueExpr, DeleteAst, DerivedTableSource, Direction, DoNothingConflictAction, DoUpdateSetConflictAction, EqColJoinOn, ExecutionContext, ExistsExpr, Expr, ExprVisitor, ExpressionBuilder, ExpressionFolder, ExpressionRewriter, ExpressionSource, ExtractCodecTypes, ExtractDataTypes, HasIncludeManyCapabilities, IdentifierRef, InferNestedProjectionRow, InferProjectionRow, InferReturningRow, InsertAst, InsertOnConflict, InsertValue, JoinAst, JoinOnBuilder, JoinOnExpr, JoinOnPredicate, JsonArrayAggExpr, JsonObjectEntry, JsonObjectExpr, JsonSchemaValidateFn, JsonSchemaValidationError, JsonSchemaValidationResult, JsonSchemaValidatorRegistry, ListExpression, LiteralExpr, LoweredPayload, LoweredStatement, Lowerer, LowererContext, META, Meta, ModelDef, ModelMetadata, MutationDefaultsOp, MutationDefaultsOptions, NestedProjection, NotExpr, NullCheckBuilder, NullCheckExpr, NullableMethods, OperationExpr, OperationTypeSignature, OperationTypes, OperationsForTypeId, OrExpr, OrderBuilder, OrderByItem, ParamPlaceholder, ParamRef, Parameter, ProjectionExpr, ProjectionItem, RawFactory, RawFunctionOptions, RawTemplateFactory, RawTemplateOptions, ResultType, RuntimeError, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_VARCHAR_CODEC_ID, SchemaHandle, SelectAst, SelectAstOptions, SqlBuilderOptions, SqlCodecTypes, SqlConnection, SqlDriver, SqlDriverState, SqlExecuteRequest, SqlExplainResult, SqlPlan, SqlQueryPlan, SqlQueryResult, SqlQueryable, SqlTransaction, SubqueryExpr, TableBuilderImpl as Table, TableBuilderImpl, TableDef, TableKey, TableMetadata, TableRef, TableSource, TablesOf, ToWhereExpr, TypeHelperRegistry, UnaryBuilder, UpdateAst, ValueSource, WhereArg, attachOperationsToColumnBuilder, augmentDescriptorWithColumnMeta, codec, compact, createCodecRegistry, createJoinOnBuilder, createOrderBuilder, defineCodecs, isColumnBuilder, isQueryAst, isWhereExpr, param, planInvalid, planUnsupported, queryAstKinds, schema, sqlCodecDefinitions, sqlDataTypes, whereExprKinds };
@@ -1,4 +1,4 @@
1
- import { A as OperationTypes, d as ColumnBuilder } from "./types-CMyotK6U.mjs";
1
+ import { A as OperationTypes, d as ColumnBuilder } from "./types-C8-DxtGE.mjs";
2
2
  import { OperationRegistry } from "@prisma-next/operations";
3
3
  import { StorageColumn } from "@prisma-next/sql-contract/types";
4
4
 
@@ -6,4 +6,4 @@ import { StorageColumn } from "@prisma-next/sql-contract/types";
6
6
  declare function attachOperationsToColumnBuilder<ColumnName extends string, ColumnMeta extends StorageColumn, JsType = unknown, Operations extends OperationTypes = Record<string, never>>(columnBuilder: ColumnBuilder<ColumnName, ColumnMeta, JsType, Record<string, never>>, columnMeta: ColumnMeta, registry: OperationRegistry | undefined, contractCapabilities?: Record<string, Record<string, boolean>>): ColumnBuilder<ColumnName, ColumnMeta, JsType, Operations>;
7
7
  //#endregion
8
8
  export { attachOperationsToColumnBuilder as t };
9
- //# sourceMappingURL=operations-registry-CBmGut8O.d.mts.map
9
+ //# sourceMappingURL=operations-registry-C4qMpFab.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"operations-registry-CBmGut8O.d.mts","names":[],"sources":["../src/operations-registry.ts"],"sourcesContent":[],"mappings":";;;;;iBAgNgB,8EAEK,oDAEA,iBAAiB,sCAErB,cAAc,YAAY,YAAY,QAAQ,oCACjD,sBACF,sDACa,eAAe,2BACrC,cAAc,YAAY,YAAY,QAAQ"}
1
+ {"version":3,"file":"operations-registry-C4qMpFab.d.mts","names":[],"sources":["../src/operations-registry.ts"],"sourcesContent":[],"mappings":";;;;;iBAgNgB,8EAEK,oDAEA,iBAAiB,sCAErB,cAAc,YAAY,YAAY,QAAQ,oCACjD,sBACF,sDACa,eAAe,2BACrC,cAAc,YAAY,YAAY,QAAQ"}
@@ -1,8 +1,8 @@
1
- import { N as ParamPlaceholder } from "./types-CMyotK6U.mjs";
1
+ import { N as ParamPlaceholder } from "./types-C8-DxtGE.mjs";
2
2
 
3
3
  //#region src/param.d.ts
4
4
  type Parameter = ParamPlaceholder;
5
5
  declare function param(name: string): Parameter;
6
6
  //#endregion
7
7
  export { param as n, Parameter as t };
8
- //# sourceMappingURL=param-Cmdv_exJ.d.mts.map
8
+ //# sourceMappingURL=param-CodWP3ig.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"param-CodWP3ig.d.mts","names":[],"sources":["../src/param.ts"],"sourcesContent":[],"mappings":";;;KAGY,SAAA,GAAY;iBAER,KAAA,gBAAqB"}
@@ -1,6 +1,6 @@
1
1
  import { n as ExecutionContext } from "./query-lane-context-BTtg0xm8.mjs";
2
2
  import { $ as TableRef, _ as ColumnRef, k as ExpressionSource } from "./plan-BrZtMUA9.mjs";
3
- import { A as OperationTypes, D as NullCheckBuilder, M as OrderBuilder, N as ParamPlaceholder, d as ColumnBuilder, k as OperationTypeSignature, p as ComputeColumnJsType, s as BinaryBuilder, u as CodecTypes } from "./types-CMyotK6U.mjs";
3
+ import { A as OperationTypes, D as NullCheckBuilder, M as OrderBuilder, N as ParamPlaceholder, d as ColumnBuilder, k as OperationTypeSignature, p as ComputeColumnJsType, s as BinaryBuilder, u as CodecTypes } from "./types-C8-DxtGE.mjs";
4
4
  import { ExtractTypeMapsFromContract, ResolveCodecTypes, ResolveOperationTypes, SqlContract, SqlStorage, StorageColumn } from "@prisma-next/sql-contract/types";
5
5
 
6
6
  //#region src/schema.d.ts
@@ -85,4 +85,4 @@ type ToOperationTypes<T> = T extends OperationTypes ? T : NormalizeOperationType
85
85
  declare function schema<Contract extends SqlContract<SqlStorage>, TTypeMaps = ExtractTypeMapsFromContract<Contract>>(context: ExecutionContext<Contract>): SchemaReturnType<Contract, TTypeMaps>;
86
86
  //#endregion
87
87
  export { schema as i, SchemaHandle as n, TableBuilderImpl as r, ColumnBuilderImpl as t };
88
- //# sourceMappingURL=schema-j3Srik3R.d.mts.map
88
+ //# sourceMappingURL=schema-CXcgb4Lv.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-j3Srik3R.d.mts","names":[],"sources":["../src/schema.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-CXcgb4Lv.d.mts","names":[],"sources":["../src/schema.ts"],"sourcesContent":[],"mappings":";;;;;;KAyBK;WAAsC,eAAe;AAFzC,CAAA,CAAA,GAE6D,KAAzE,CAAA,SAAY,CAAA;KAEZ,cAFqD,CAAA,iBAGvC,WAHuC,CAG3B,UAH2B,CAAA,EAAA,oBAAA,MAAA,EAAA,gBAKxC,MALwC,CAAA,MAAA,EAKzB,aALyB,CAAA,EAAA,qBAMrC,UANqC,EAAA,mBAOrC,cAPqC,CAAA,GAAA,iBAAf,MASpB,OAToB,GASV,aATU,CAUvC,CAVuC,GAAA,MAAA,EAWvC,OAXuC,CAW/B,CAX+B,CAAA,EAYvC,mBAZuC,CAYnB,QAZmB,EAYT,WAZS,EAYE,CAZF,GAAA,MAAA,EAYc,OAZd,CAYsB,CAZtB,CAAA,EAY0B,YAZ1B,CAAA,EAavC,UAbuC,CAAA,EAAmC;AAAK,cAiBtE,iBAjBsE,CAAA,mBAAA,MAAA,EAAA,mBAmB9D,aAnB8D,EAAA,SAAA,OAAA,CAAA,YAqBtE,gBArBsE,CAAA;EAE9E,SAAA,KAAA,EAAA,MAAc;EACY,SAAA,MAAA,EAwBV,UAxBU;EAAZ,iBAAA,aAAA;EAEc,SAAA,IAAA,EAAA,QAAA;EAAf,WAAA,CAAA,KAAA,EAAA,MAAA,EAAA,MAAA,EAsBG,UAtBH,EAAA,aAAA,EAuBkB,UAvBlB;EACG,IAAA,UAAA,CAAA,CAAA,EAyBD,UAzBC;EACA,IAAA,QAAA,CAAA,CAAA,EA6BH,MA7BG;EAEE;;;;EAGC,MAAA,CAAA,CAAA,EAgCZ,SAhCY;EAAU,QAAA,mBAAA;EAAW,EAAA,CAAA,KAAA,EAkEjC,gBAlEiC,GAkEd,gBAlEc,CAAA,EAkEK,aAlEL,CAkEmB,UAlEnB,EAkE+B,UAlE/B,EAkE2C,MAlE3C,CAAA;EAAY,GAAA,CAAA,KAAA,EAsE5C,gBAtE4C,GAsEzB,gBAtEyB,CAAA,EAsEN,aAtEM,CAsEQ,UAtER,EAsEoB,UAtEpB,EAsEgC,MAtEhC,CAAA;EAAQ,EAAA,CAAA,KAAA,EA0ErD,gBA1EqD,GA0ElC,gBA1EkC,CAAA,EA0Ef,aA1Ee,CA0ED,UA1EC,EA0EW,UA1EX,EA0EuB,MA1EvB,CAAA;EAAI,EAAA,CAAA,KAAA,EA8EzD,gBA9EyD,GA8EtC,gBA9EsC,CAAA,EA8EnB,aA9EmB,CA8EL,UA9EK,EA8EO,UA9EP,EA8EmB,MA9EnB,CAAA;EAAjE,GAAA,CAAA,KAAA,EAkFS,gBAlFT,GAkF4B,gBAlF5B,CAAA,EAkF+C,aAlF/C,CAkF6D,UAlF7D,EAkFyE,UAlFzE,EAkFqF,MAlFrF,CAAA;EACA,GAAA,CAAA,KAAA,EAqFS,gBArFT,GAqF4B,gBArF5B,CAAA,EAqF+C,aArF/C,CAqF6D,UArF7D,EAqFyE,UArFzE,EAqFqF,MArFrF,CAAA;EAJ6B,GAAA,CAAA,CAAA,EA6FxB,YA7FwB,CA6FX,UA7FW,EA6FC,UA7FD,EA6Fa,MA7Fb,CAAA;EAAa,IAAA,CAAA,CAAA,EAqGpC,YArGoC,CAqGvB,UArGuB,EAqGX,UArGW,EAqGC,MArGD,CAAA;EAQjC;;;;EAWuB,MAAA,CAAA,CAAA,EA8FxB,gBA9FwB,CA8FP,UA9FO,EA8FK,UA9FL,EA8FiB,MA9FjB,CAAA;EAGhB;;;;EA+CW,SAAA,CAAA,CAAA,EAwDhB,gBAxDgB,CAwDC,UAxDD,EAwDa,UAxDb,EAwDyB,MAxDzB,CAAA;;AAA6C,cAiE/D,gBAjE+D,CAAA,iBAkEzD,WAlEyD,CAkE7C,UAlE6C,CAAA,EAAA,oBAAA,MAAA,EAAA,gBAoE1D,MApE0D,CAAA,MAAA,EAoE3C,aApE2C,CAAA,EAAA,qBAqEvD,UArEuD,EAAA,mBAsEvD,cAtEuD,CAAA,YAuE/D,QAvE+D,CAAA;EAAY,SAAA,IAAA,EAAA,OAAA;EAAtC,SAAA,OAAA,EA0E9B,cA1E8B,CA0Ef,QA1Ee,EA0EL,WA1EK,EA0EM,OA1EN,EA0Ee,YA1Ef,EA0E2B,UA1E3B,CAAA;EAIrC,iBAAA,KAAA;EAAmB,WAAA,CAAA,IAAA,EA0EtB,WA1EsB,EAAA,OAAA,EA2EnB,cA3EmB,CA2EJ,QA3EI,EA2EM,WA3EN,EA2EiB,OA3EjB,EA2E0B,YA3E1B,EA2EsC,UA3EtC,CAAA;EAAiC,IAAA,IAAA,CAAA,CAAA,EAAA,MAAA;;KA2M5D,mBA3MoF,CAAA,iBA4MtE,WA5MsE,CA4M1D,UA5M0D,CAAA,EAAA,qBA6MpE,UA7MoE,EAAA,mBA8MpE,cA9MoE,CAAA,GAAA,yBAAtC,MAgNpB,QAhNoB,CAAA,SAAA,CAAA,CAAA,QAAA,CAAA,GAgNY,gBAhNZ,CAiN/C,QAjN+C,EAkN/C,SAlN+C,GAAA,MAAA,EAmN/C,YAnN+C,CAmNlC,QAnNkC,CAAA,SAAA,CAAA,CAAA,QAAA,CAAA,CAmNJ,SAnNI,CAAA,CAAA,EAoN/C,YApN+C,EAqN/C,UArN+C,CAAA,GAuN/C,QAvN+C,EAIvC;;;;;;;KA4NP,kBAxN0B,CAAA,iBAwNU,WAxNV,CAwNsB,UAxNtB,CAAA,CAAA,GAyN7B,QAzN6B,CAAA,SAAA,CAAA,CAAA,OAAA,CAAA,SAAA,KAAA,MAAA,GAAA,KAAA,SA0NX,MA1NW,CAAA,MAAA,EAAA,OAAA,CAAA,GAAA,wBAAiC,MA2N1B,KA3N0B,GA2NlB,KA3NkB,CA2NZ,QA3NY,CAAA,EAAY,GA4NpE,MA5NoE,CAAA,MAAA,EAAA,KAAA,CAAA,GA6NtE,MA7NsE,CAAA,MAAA,EAAA,KAAA,CAAA;AAAY,KA+N5E,YA/N4E,CAAA,iBAgOrE,WAhOqE,CAgOzD,UAhOyD,CAAA,GAgO3C,WAhO2C,CAgO/B,UAhO+B,CAAA,EAAA,qBAiOnE,UAjOmE,GAiOlD,UAjOkD,EAAA,mBAkOnE,cAlOmE,GAkOlD,MAlOkD,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA,GAAA;EAAtC,SAAA,MAAA,EAoO/B,mBApO+B,CAoOX,QApOW,EAoOD,YApOC,EAoOW,UApOX,CAAA;EAIrC;;;;EAA4E,SAAA,KAAA,EAqOvE,kBArOuE,CAqOpD,QArOoD,CAAA;CAAtC;KAwO9C,gBApOQ,CAAA,iBAqOM,WArON,CAqOkB,UArOlB,CAAA,EAAA,YAsOC,2BAtOD,CAsO6B,QAtO7B,CAAA,CAAA,GAuOT,YAvOS,CAwOX,QAxOW,EAyOX,iBAzOW,CAyOO,QAzOP,EAyOiB,SAzOjB,CAAA,EA0OX,gBA1OW,CA0OM,qBA1ON,CA0O4B,QA1O5B,EA0OsC,SA1OtC,CAAA,CAAA,CAAA;KA6OR,uBA7O2B,CAAA,CAAA,CAAA,GAAA,aAAiC,MA8O9C,CA9O8C,GAAA,aAAY,MA+OxD,CA/OwD,CA+OtD,MA/OsD,CAAA,GA+O5C,CA/O4C,CA+O1C,MA/O0C,CAAA,CA+OlC,MA/OkC,CAAA,SA+OlB,sBA/OkB,GAgPrE,CAhPqE,CAgPnE,MAhPmE,CAAA,CAgP3D,MAhP2D,CAAA,GAiPrE,sBAjPqE,EAAY,EAAtC;KAqP9C,gBAjPiB,CAAA,CAAA,CAAA,GAiPK,CAjPL,SAiPe,cAjPf,GAiPgC,CAjPhC,GAiPoC,uBAjPpC,CAiP4D,CAjP5D,CAAA;;;;;;;;;;;;;;;;AAjFT,iBAmVG,MAnVH,CAAA,iBAoVM,WApVN,CAoVkB,UApVlB,CAAA,EAAA,YAqVC,2BArVD,CAqV6B,QArV7B,CAAA,CAAA,CAAA,OAAA,EAsVF,gBAtVE,CAsVe,QAtVf,CAAA,CAAA,EAsV2B,gBAtV3B,CAsV4C,QAtV5C,EAsVsD,SAtVtD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types-BZKzxgOb.mjs","names":[],"sources":["../src/types.ts"],"sourcesContent":["import type {\n ResultType as CoreResultType,\n ExecutionPlan,\n PlanRefs,\n} from '@prisma-next/contract/types';\nimport type { ArgSpec, ReturnSpec } from '@prisma-next/operations';\nimport type { SqlContract, SqlStorage, StorageColumn } from '@prisma-next/sql-contract/types';\nimport type { SqlLoweringSpec } from '@prisma-next/sql-operations';\nimport type {\n AnyExpression,\n AnyQueryAst,\n BinaryOp,\n ColumnRef,\n Direction,\n ExpressionSource,\n OperationExpr,\n ParamRef,\n} from './ast/types';\nimport type { SqlQueryPlan } from './plan';\nimport type { ExecutionContext } from './query-lane-context';\n\nexport interface ParamPlaceholder {\n readonly kind: 'param-placeholder';\n readonly name: string;\n}\n\n/**\n * ValueSource represents any value that can appear in a comparison or as an argument.\n * This includes:\n * - ParamPlaceholder: A parameter placeholder (e.g., `param('userId')`)\n * - ExpressionSource: Something that can be converted to an Expression (ColumnBuilder, ExpressionBuilder)\n */\nexport type ValueSource = ParamPlaceholder | ExpressionSource;\n\nexport interface OrderBuilder<\n _ColumnName extends string = string,\n _ColumnMeta extends StorageColumn = StorageColumn,\n _JsType = unknown,\n> {\n readonly kind: 'order';\n readonly expr: AnyExpression;\n readonly dir: Direction;\n}\n\n/**\n * Creates an OrderBuilder for use in orderBy clauses.\n */\nexport function createOrderBuilder(\n expr: AnyColumnBuilder | OperationExpr,\n dir: Direction,\n): AnyOrderBuilder {\n return { kind: 'order', expr, dir } as AnyOrderBuilder;\n}\n\n/**\n * ColumnBuilder with optional operation methods based on the column's typeId.\n * When Operations is provided and the column's typeId matches, operation methods are included.\n * Implements ExpressionSource to provide type-safe conversion to ColumnRef.\n *\n * For nullable columns (ColumnMeta['nullable'] extends true), includes isNull() and isNotNull() methods.\n */\nexport type ColumnBuilder<\n ColumnName extends string = string,\n ColumnMeta extends StorageColumn = StorageColumn,\n JsType = unknown,\n Operations extends OperationTypes = Record<string, never>,\n> = {\n readonly kind: 'column';\n readonly table: string;\n readonly column: ColumnName;\n readonly columnMeta: ColumnMeta;\n // Methods accept ValueSource (ParamPlaceholder or ExpressionSource)\n eq(value: ValueSource): BinaryBuilder<ColumnName, ColumnMeta, JsType>;\n neq(value: ValueSource): BinaryBuilder<ColumnName, ColumnMeta, JsType>;\n gt(value: ValueSource): BinaryBuilder<ColumnName, ColumnMeta, JsType>;\n lt(value: ValueSource): BinaryBuilder<ColumnName, ColumnMeta, JsType>;\n gte(value: ValueSource): BinaryBuilder<ColumnName, ColumnMeta, JsType>;\n lte(value: ValueSource): BinaryBuilder<ColumnName, ColumnMeta, JsType>;\n asc(): OrderBuilder<ColumnName, ColumnMeta, JsType>;\n desc(): OrderBuilder<ColumnName, ColumnMeta, JsType>;\n /** Converts this column builder to a ColumnRef expression */\n toExpr(): ColumnRef;\n // Helper property for type extraction (not used at runtime)\n readonly __jsType: JsType;\n} & (ColumnMeta['codecId'] extends string\n ? ColumnMeta['codecId'] extends keyof Operations\n ? OperationMethods<\n OperationsForTypeId<ColumnMeta['codecId'] & string, Operations>,\n ColumnName,\n StorageColumn,\n JsType\n >\n : Record<string, never>\n : Record<string, never>) &\n (ColumnMeta['nullable'] extends true\n ? NullableMethods<ColumnName, ColumnMeta, JsType>\n : Record<string, never>);\n\nexport interface BinaryBuilder<\n _ColumnName extends string = string,\n _ColumnMeta extends StorageColumn = StorageColumn,\n _JsType = unknown,\n> {\n readonly kind: 'binary';\n readonly op: BinaryOp;\n readonly left: AnyExpression;\n readonly right: ValueSource;\n}\n\n/**\n * Builder for IS NULL / IS NOT NULL checks.\n * Used to build unary null check expressions in WHERE clauses.\n */\nexport interface NullCheckBuilder<\n _ColumnName extends string = string,\n _ColumnMeta extends StorageColumn = StorageColumn,\n _JsType = unknown,\n> {\n readonly kind: 'nullCheck';\n readonly expr: AnyExpression;\n readonly isNull: boolean;\n}\n\n/**\n * Union type for unary builders (currently just NullCheckBuilder).\n * Extensible for future unary operators.\n */\nexport type UnaryBuilder = NullCheckBuilder;\n\n// Forward declare AnyBinaryBuilder and AnyOrderBuilder for use in ExpressionBuilder\nexport type AnyBinaryBuilder = BinaryBuilder;\nexport type AnyOrderBuilder = OrderBuilder;\nexport type AnyUnaryBuilder = UnaryBuilder;\n\n/**\n * Methods available only on nullable columns.\n * These are conditionally added to ColumnBuilder when ColumnMeta['nullable'] is true.\n * Note: Index signature is required for compatibility with AnyColumnBuilderBase's index signature.\n */\nexport interface NullableMethods<\n ColumnName extends string = string,\n ColumnMeta extends StorageColumn = StorageColumn,\n JsType = unknown,\n> {\n /** Creates an IS NULL check for this column */\n isNull(): NullCheckBuilder<ColumnName, ColumnMeta, JsType>;\n /** Creates an IS NOT NULL check for this column */\n isNotNull(): NullCheckBuilder<ColumnName, ColumnMeta, JsType>;\n /** Index signature for compatibility with AnyColumnBuilderBase */\n readonly [key: string]: unknown;\n}\n\n/**\n * ExpressionBuilder represents the result of an operation (e.g., col.distance(...)).\n * Unlike ColumnBuilder (which represents a column), ExpressionBuilder represents\n * an operation expression and provides the same DSL methods for chaining.\n *\n * Implements ExpressionSource to provide type-safe conversion to OperationExpr.\n */\nexport interface ExpressionBuilder<JsType = unknown> extends ExpressionSource {\n readonly kind: 'expression';\n readonly expr: OperationExpr;\n readonly columnMeta: StorageColumn;\n\n // Methods accept ValueSource (ParamPlaceholder or ExpressionSource)\n eq(value: ValueSource): AnyBinaryBuilder;\n neq(value: ValueSource): AnyBinaryBuilder;\n gt(value: ValueSource): AnyBinaryBuilder;\n lt(value: ValueSource): AnyBinaryBuilder;\n gte(value: ValueSource): AnyBinaryBuilder;\n lte(value: ValueSource): AnyBinaryBuilder;\n asc(): AnyOrderBuilder;\n desc(): AnyOrderBuilder;\n\n /** Converts this expression builder to the underlying OperationExpr */\n toExpr(): OperationExpr;\n\n // Helper property for type extraction (not used at runtime)\n readonly __jsType: JsType;\n}\n\n// Helper aliases for usage sites where the specific column parameters are irrelevant\n// Accepts any ColumnBuilder regardless of its Operations parameter\n// Note: We use `any` here because TypeScript's variance rules don't allow us to express\n// \"any type that extends OperationTypes\" in a way that works for assignment.\n// Contract-specific OperationTypes (e.g., PgVectorOperationTypes) are not assignable\n// to the base OperationTypes in generic parameter position, even though they extend it structurally.\n// Helper type that accepts any ColumnBuilder regardless of its generic parameters\n// This is needed because conditional types in ColumnBuilder create incompatible intersection types\n// when Operations differs, even though structurally they're compatible\nexport type AnyColumnBuilderBase = {\n readonly kind: 'column';\n readonly table: string;\n readonly column: string;\n readonly columnMeta: StorageColumn;\n // Methods accept ValueSource (ParamPlaceholder or ExpressionSource)\n eq(value: ValueSource): AnyBinaryBuilder;\n neq(value: ValueSource): AnyBinaryBuilder;\n gt(value: ValueSource): AnyBinaryBuilder;\n lt(value: ValueSource): AnyBinaryBuilder;\n gte(value: ValueSource): AnyBinaryBuilder;\n lte(value: ValueSource): AnyBinaryBuilder;\n asc(): AnyOrderBuilder;\n desc(): AnyOrderBuilder;\n toExpr(): ColumnRef;\n readonly __jsType: unknown;\n // Optional nullable methods (present when columnMeta.nullable is true)\n isNull?(): AnyUnaryBuilder;\n isNotNull?(): AnyUnaryBuilder;\n // Allow any operation methods (from conditional type)\n readonly [key: string]: unknown;\n};\n\nexport type AnyColumnBuilder =\n | ColumnBuilder<\n string,\n StorageColumn,\n unknown,\n // biome-ignore lint/suspicious/noExplicitAny: AnyColumnBuilder must accept column builders with any operation types\n any\n >\n | AnyColumnBuilderBase;\n\n/**\n * Union type for any builder that can produce an Expression.\n * Used in DSL method signatures where either a column or operation result can be passed.\n */\n// TODO: do we still need this? can we just replace it with ExpressionSource\nexport type AnyExpressionSource = AnyColumnBuilder | ExpressionBuilder;\n\nexport function isColumnBuilder(value: unknown): value is AnyColumnBuilder {\n return (\n typeof value === 'object' &&\n value !== null &&\n 'kind' in value &&\n (value as { kind: unknown }).kind === 'column'\n );\n}\n\nexport interface JoinOnBuilder {\n eqCol(left: AnyColumnBuilder, right: AnyColumnBuilder): JoinOnPredicate;\n}\n\nexport interface JoinOnPredicate {\n readonly kind: 'join-on';\n readonly left: AnyColumnBuilder;\n readonly right: AnyColumnBuilder;\n}\n\nexport type Expr = ColumnRef | ParamRef;\n\n/**\n * Helper type to extract codec output type from CodecTypes.\n * Returns never if the codecId is not found in CodecTypes.\n */\ntype ExtractCodecOutputType<\n CodecId extends string,\n CodecTypes extends Record<string, { readonly output: unknown }>,\n> = CodecId extends keyof CodecTypes\n ? CodecTypes[CodecId] extends { readonly output: infer Output }\n ? Output\n : never\n : never;\n\n/**\n * Extracts the model name for a given table from the contract mappings.\n */\ntype ExtractTableToModel<\n Contract extends SqlContract<SqlStorage>,\n TableName extends string,\n> = Contract['mappings'] extends {\n readonly tableToModel: infer TableToModel;\n}\n ? TableToModel extends Record<string, string>\n ? TableName extends keyof TableToModel\n ? TableToModel[TableName]\n : never\n : never\n : never;\n\n/**\n * Extracts the field name for a given table column from the contract mappings.\n */\ntype ExtractColumnToField<\n Contract extends SqlContract<SqlStorage>,\n TableName extends string,\n ColumnName extends string,\n> = Contract['mappings'] extends {\n readonly columnToField: infer ColumnToField;\n}\n ? ColumnToField extends Record<string, Record<string, string>>\n ? TableName extends keyof ColumnToField\n ? ColumnName extends keyof ColumnToField[TableName]\n ? ColumnToField[TableName][ColumnName]\n : never\n : never\n : never\n : never;\n\n/**\n * Extracts the field value type from a model's fields.\n */\ntype ExtractFieldValue<\n Contract extends SqlContract<SqlStorage>,\n ModelName extends string,\n FieldName extends string,\n> = Contract['models'] extends infer Models\n ? Models extends Record<string, unknown>\n ? ModelName extends keyof Models\n ? Models[ModelName] extends { readonly fields: infer Fields }\n ? Fields extends Record<string, unknown>\n ? FieldName extends keyof Fields\n ? Fields[FieldName]\n : never\n : never\n : never\n : never\n : never\n : never;\n\n/**\n * Extracts the JavaScript type for a column from model mappings if available.\n * Returns `never` if the column maps to a ModelField object (which indicates\n * a relation that should fall through to codec-based type resolution).\n *\n * The check for ModelField uses `Exclude<keyof FieldValue, 'column'> extends never`\n * to ensure we only skip pure `{ column: string }` marker objects, not richer\n * object types that happen to include a `column` property.\n */\ntype ExtractColumnJsTypeFromModels<\n Contract extends SqlContract<SqlStorage>,\n TableName extends string,\n ColumnName extends string,\n> = ExtractTableToModel<Contract, TableName> extends infer ModelName\n ? ModelName extends string\n ? ExtractColumnToField<Contract, TableName, ColumnName> extends infer FieldName\n ? FieldName extends string\n ? ExtractFieldValue<Contract, ModelName, FieldName> extends infer FieldValue\n ? FieldValue extends { readonly column: string }\n ? Exclude<keyof FieldValue, 'column'> extends never\n ? never\n : FieldValue\n : FieldValue\n : never\n : never\n : never\n : never\n : never;\n\n/**\n * Resolves type params for a column from either:\n * - inline `columnMeta.typeParams`, or\n * - `columnMeta.typeRef` (resolving into `contract.storage.types[typeRef].typeParams`).\n */\ntype ResolveColumnTypeParams<\n Contract extends SqlContract<SqlStorage>,\n ColumnMeta extends StorageColumn,\n> = ColumnMeta extends { typeParams: infer Params }\n ? Params extends object\n ? Params\n : undefined\n : ColumnMeta extends { typeRef: infer TypeRef extends string }\n ? Contract['storage'] extends { types: infer Types }\n ? Types extends Record<string, unknown>\n ? TypeRef extends keyof Types\n ? Types[TypeRef] extends { typeParams: infer Params }\n ? Params extends object\n ? Params\n : undefined\n : undefined\n : undefined\n : undefined\n : undefined\n : undefined;\n\n/**\n * If a codec entry exposes a type-level parameterized output surface, compute the output type\n * for a specific params object. Falls back to `never` if not supported.\n *\n * This enables lane typing to incorporate `columnMeta.typeParams` without branching on codec IDs\n * in core lane code.\n */\ntype ExtractParameterizedCodecOutputType<\n CodecId extends string,\n Params,\n CodecTypes extends Record<string, { readonly output: unknown }>,\n> = CodecId extends keyof CodecTypes\n ? CodecTypes[CodecId] extends { readonly parameterizedOutput: infer Fn }\n ? Fn extends (params: Params) => infer Out\n ? Out\n : never\n : never\n : never;\n\n/**\n * Type-level operation signature.\n * Represents an operation at the type level, similar to OperationSignature at runtime.\n */\nexport type OperationTypeSignature = {\n readonly args: ReadonlyArray<ArgSpec>;\n readonly returns: ReturnSpec;\n readonly lowering: SqlLoweringSpec;\n readonly capabilities?: ReadonlyArray<string>;\n};\n\n/**\n * Type-level operation registry.\n * Maps typeId → operations, where operations is a record of method name → operation signature.\n *\n * Example:\n * ```typescript\n * type MyOperations: OperationTypes = {\n * 'pg/vector@1': {\n * cosineDistance: {\n * args: [{ kind: 'typeId'; type: 'pg/vector@1' }];\n * returns: { kind: 'builtin'; type: 'number' };\n * lowering: { targetFamily: 'sql'; strategy: 'function'; template: '...' };\n * };\n * };\n * };\n * ```\n */\nexport type OperationTypes = Record<string, Record<string, OperationTypeSignature>>;\n\n/**\n * CodecTypes represents a map of typeId to codec definitions.\n * Each codec definition must have an `output` property indicating the JavaScript type.\n *\n * Example:\n * ```typescript\n * type MyCodecTypes: CodecTypes = {\n * 'pg/int4@1': { output: number };\n * 'pg/text@1': { output: string };\n * };\n * ```\n */\nexport type CodecTypes = Record<string, { readonly output: unknown }>;\n\n/**\n * Extracts operations for a given typeId from the operation registry.\n * Returns an empty record if the typeId is not found.\n *\n * @example\n * ```typescript\n * type Ops = OperationsForTypeId<'pg/vector@1', MyOperations>;\n * // Ops = { cosineDistance: { ... }, l2Distance: { ... } }\n * ```\n */\nexport type OperationsForTypeId<\n TypeId extends string,\n Operations extends OperationTypes,\n> = Operations extends Record<string, never>\n ? Record<string, never>\n : TypeId extends keyof Operations\n ? Operations[TypeId]\n : Record<string, never>;\n\n/**\n * Maps operation signatures to method signatures on ColumnBuilder.\n * Each operation becomes a method that returns a ColumnBuilder or BinaryBuilder\n * based on the return type.\n */\ntype OperationMethods<\n Ops extends Record<string, OperationTypeSignature>,\n ColumnName extends string,\n ColumnMeta extends StorageColumn,\n JsType,\n> = {\n [K in keyof Ops]: Ops[K] extends OperationTypeSignature\n ? (\n ...args: OperationArgs<Ops[K]['args']>\n ) => OperationReturn<Ops[K]['returns'], ColumnName, ColumnMeta, JsType>\n : never;\n};\n\n/**\n * Maps operation argument specs to TypeScript argument types.\n * - typeId args: ColumnBuilder (accepts base columns or operation results)\n * - param args: unknown (raw value; converted to ParamRef at operation build time)\n * - literal args: unknown (could be more specific in future)\n */\ntype OperationArgs<Args extends ReadonlyArray<ArgSpec>> = Args extends readonly [\n infer First,\n ...infer Rest,\n]\n ? First extends ArgSpec\n ? [ArgToType<First>, ...(Rest extends ReadonlyArray<ArgSpec> ? OperationArgs<Rest> : [])]\n : []\n : [];\n\ntype ArgToType<Arg extends ArgSpec> = Arg extends { kind: 'typeId' }\n ? AnyExpressionSource\n : unknown;\n\n/**\n * Maps operation return spec to return type.\n * Operations return ExpressionBuilder, not ColumnBuilder, because the result\n * represents an expression (OperationExpr) rather than a column reference.\n */\ntype OperationReturn<\n Returns extends ReturnSpec,\n _ColumnName extends string,\n _ColumnMeta extends StorageColumn,\n _JsType,\n> = Returns extends { kind: 'builtin'; type: infer T }\n ? T extends 'number'\n ? ExpressionBuilder<number>\n : T extends 'boolean'\n ? ExpressionBuilder<boolean>\n : T extends 'string'\n ? ExpressionBuilder<string>\n : ExpressionBuilder<unknown>\n : Returns extends { kind: 'typeId' }\n ? ExpressionBuilder<unknown>\n : ExpressionBuilder<unknown>;\n\n/**\n * Computes JavaScript type for a column at column creation time.\n *\n * Type inference:\n * - Read columnMeta.codecId as typeId string literal\n * - Look up CodecTypes[typeId].output\n * - Apply nullability: nullable ? Output | null : Output\n */\ntype ColumnMetaTypeId<ColumnMeta> = ColumnMeta extends { codecId: infer CodecId extends string }\n ? CodecId\n : ColumnMeta extends { type: infer TypeId extends string }\n ? TypeId\n : never;\n\nexport type ComputeColumnJsType<\n Contract extends SqlContract<SqlStorage>,\n TableName extends string,\n ColumnName extends string,\n ColumnMeta extends StorageColumn,\n CodecTypes extends Record<string, { readonly output: unknown }>,\n> = ExtractColumnJsTypeFromModels<Contract, TableName, ColumnName> extends infer FromModels\n ? [FromModels] extends [never]\n ? ColumnMeta extends { nullable: infer Nullable }\n ? ColumnMetaTypeId<ColumnMeta> extends infer TypeId\n ? TypeId extends string\n ? ResolveColumnTypeParams<Contract, ColumnMeta> extends infer Params\n ? Params extends object\n ? ExtractParameterizedCodecOutputType<\n TypeId,\n Params,\n CodecTypes\n > extends infer ParamOutput\n ? [ParamOutput] extends [never]\n ? ExtractCodecOutputType<TypeId, CodecTypes> extends infer CodecOutput\n ? [CodecOutput] extends [never]\n ? unknown // Codec not found in CodecTypes\n : Nullable extends true\n ? CodecOutput | null\n : CodecOutput\n : unknown\n : Nullable extends true\n ? ParamOutput | null\n : ParamOutput\n : unknown\n : ExtractCodecOutputType<TypeId, CodecTypes> extends infer CodecOutput\n ? [CodecOutput] extends [never]\n ? unknown // Codec not found in CodecTypes\n : Nullable extends true\n ? CodecOutput | null\n : CodecOutput\n : unknown\n : unknown\n : unknown\n : unknown\n : unknown\n : FromModels\n : unknown;\n\n/**\n * Infers Row type from a projection object.\n * Maps Record<string, ColumnBuilder> to Record<string, JSType>\n *\n * Extracts the pre-computed JsType from each ColumnBuilder in the projection.\n */\n/**\n * Extracts the inferred JsType carried by a ColumnBuilder.\n */\ntype ExtractJsTypeFromColumnBuilder<CB extends AnyColumnBuilder> =\n CB extends ColumnBuilder<\n infer _ColumnName extends string,\n infer _ColumnMeta extends StorageColumn,\n infer JsType,\n infer _Ops\n >\n ? JsType\n : never;\n\nexport type InferProjectionRow<P extends Record<string, AnyColumnBuilder>> = {\n [K in keyof P]: ExtractJsTypeFromColumnBuilder<P[K]>;\n};\n\n/**\n * Nested projection type - allows recursive nesting of ColumnBuilder, ExpressionBuilder, or nested objects.\n */\nexport type NestedProjection = Record<\n string,\n | AnyExpressionSource\n | Record<\n string,\n | AnyExpressionSource\n | Record<\n string,\n | AnyExpressionSource\n | Record<string, AnyExpressionSource | Record<string, AnyExpressionSource>>\n >\n >\n>;\n\n/**\n * Helper type to extract include type from Includes map.\n * Returns the value type if K is a key of Includes, otherwise returns unknown.\n */\ntype ExtractIncludeType<\n K extends string,\n Includes extends Record<string, unknown>,\n> = K extends keyof Includes ? Includes[K] : unknown;\n\n/**\n * Infers Row type from a nested projection object.\n * Recursively maps Record<string, ColumnBuilder | boolean | NestedProjection> to nested object types.\n *\n * Extracts the pre-computed JsType from each ColumnBuilder at leaves.\n * When a value is `true`, it represents an include reference and infers `Array<ChildShape>`\n * by looking up the include alias in the Includes type map.\n */\nexport type InferNestedProjectionRow<\n P extends Record<string, AnyExpressionSource | boolean | NestedProjection>,\n CodecTypes extends Record<string, { readonly output: unknown }> = Record<string, never>,\n Includes extends Record<string, unknown> = Record<string, never>,\n> = {\n [K in keyof P]: P[K] extends ExpressionBuilder<infer JsType>\n ? JsType\n : P[K] extends AnyColumnBuilder\n ? ExtractJsTypeFromColumnBuilder<P[K]>\n : P[K] extends true\n ? Array<ExtractIncludeType<K & string, Includes>> // Include reference - infers Array<ChildShape> from Includes map\n : P[K] extends NestedProjection\n ? InferNestedProjectionRow<P[K], CodecTypes, Includes>\n : never;\n};\n\n/**\n * Infers Row type from a tuple of ColumnBuilders used in returning() clause.\n * Extracts column name and JsType from each ColumnBuilder and creates a Record.\n */\nexport type InferReturningRow<Columns extends readonly AnyColumnBuilder[]> =\n Columns extends readonly [infer First, ...infer Rest]\n ? First extends ColumnBuilder<\n infer Name,\n infer _Meta,\n infer JsType,\n infer _Ops extends OperationTypes\n >\n ? Name extends string\n ? Rest extends readonly AnyColumnBuilder[]\n ? { [K in Name]: JsType } & InferReturningRow<Rest>\n : { [K in Name]: JsType }\n : never\n : never\n : Record<string, never>;\n\n/**\n * Utility type to check if a contract has the required capabilities for includeMany.\n * Requires both `lateral` and `jsonAgg` to be `true` in the contract's capabilities for the target.\n * Capabilities are nested by target: `{ [target]: { lateral: true, jsonAgg: true } }`\n */\nexport type HasIncludeManyCapabilities<TContract extends SqlContract<SqlStorage>> =\n TContract extends { capabilities: infer C; target: infer T }\n ? T extends string\n ? C extends Record<string, Record<string, boolean>>\n ? C extends { [K in T]: infer TargetCaps }\n ? TargetCaps extends { lateral: true; jsonAgg: true }\n ? true\n : false\n : false\n : false\n : false\n : false;\n\n/**\n * SQL-specific Plan type that refines the ast field to use AnyQueryAst.\n * This is the type used by SQL query builders.\n */\nexport type SqlPlan<Row = unknown> = ExecutionPlan<Row, AnyQueryAst>;\n\n/**\n * Helper types for extracting contract structure.\n */\nexport type TablesOf<TContract> = TContract extends {\n storage: { tables: infer U };\n}\n ? U\n : never;\n\nexport type TableKey<TContract> = Extract<keyof TablesOf<TContract>, string>;\n\n// Common types for contract.d.ts generation (SQL-specific)\n// These types are used by emitted contract.d.ts files to provide type-safe DSL/ORM types\n\n/**\n * Unique symbol for metadata property to avoid collisions with user-defined properties\n */\nexport declare const META: unique symbol;\n\n/**\n * Extracts metadata from a type that has a META property\n */\nexport type Meta<T extends { [META]: unknown }> = T[typeof META];\n\n/**\n * Metadata interface for table definitions\n */\nexport interface TableMetadata<Name extends string> {\n name: Name;\n}\n\n/**\n * Metadata interface for model definitions\n */\nexport interface ModelMetadata<Name extends string> {\n name: Name;\n}\n\n/**\n * Base interface for table definitions with metadata\n * Used in contract.d.ts to define storage-level table types\n */\nexport interface TableDef<Name extends string> {\n readonly [META]: TableMetadata<Name>;\n}\n\n/**\n * Base interface for model definitions with metadata\n * Used in contract.d.ts to define application-level model types\n */\nexport interface ModelDef<Name extends string> {\n readonly [META]: ModelMetadata<Name>;\n}\n\nexport type ColumnsOf<\n TContract,\n K extends TableKey<TContract>,\n> = K extends keyof TablesOf<TContract>\n ? TablesOf<TContract>[K] extends { columns: infer C }\n ? C\n : never\n : never;\n\nexport interface RawTemplateOptions {\n readonly refs?: PlanRefs;\n readonly annotations?: Record<string, unknown>;\n readonly projection?: ReadonlyArray<string>;\n}\n\nexport interface RawFunctionOptions extends RawTemplateOptions {\n readonly params: ReadonlyArray<unknown>;\n}\n\nexport type RawTemplateFactory = (\n strings: TemplateStringsArray,\n ...values: readonly unknown[]\n) => ExecutionPlan;\n\nexport interface RawFactory extends RawTemplateFactory {\n (text: string, options: RawFunctionOptions): ExecutionPlan;\n with(options: RawTemplateOptions): RawTemplateFactory;\n}\n\nexport type { RuntimeError } from '@prisma-next/plan';\n\nexport interface BuildParamsMap {\n readonly [name: string]: unknown;\n}\n\nexport interface BuildOptions {\n readonly params?: BuildParamsMap;\n}\n\nexport interface SqlBuilderOptions<\n TContract extends SqlContract<SqlStorage> = SqlContract<SqlStorage>,\n> {\n readonly context: ExecutionContext<TContract>;\n}\n\n/**\n * SQL-specific ResultType that works with both Plan and SqlQueryPlan.\n * This extends the core ResultType to also handle SqlQueryPlan.\n * Example: `type Row = ResultType<typeof plan>`\n */\nexport type ResultType<P> = P extends SqlQueryPlan<infer R> ? R : CoreResultType<P>;\n"],"mappings":";;;;AA+CA,SAAgB,mBACd,MACA,KACiB;AACjB,QAAO;EAAE,MAAM;EAAS;EAAM;EAAK;;AAmLrC,SAAgB,gBAAgB,OAA2C;AACzE,QACE,OAAO,UAAU,YACjB,UAAU,QACV,UAAU,SACT,MAA4B,SAAS"}
1
+ {"version":3,"file":"types-BZKzxgOb.mjs","names":[],"sources":["../src/types.ts"],"sourcesContent":["import type {\n ResultType as CoreResultType,\n ExecutionPlan,\n PlanRefs,\n} from '@prisma-next/contract/types';\nimport type { ArgSpec, ReturnSpec } from '@prisma-next/operations';\nimport type { SqlContract, SqlStorage, StorageColumn } from '@prisma-next/sql-contract/types';\nimport type { SqlLoweringSpec } from '@prisma-next/sql-operations';\nimport type {\n AnyExpression,\n AnyQueryAst,\n BinaryOp,\n ColumnRef,\n Direction,\n ExpressionSource,\n OperationExpr,\n ParamRef,\n} from './ast/types';\nimport type { SqlQueryPlan } from './plan';\nimport type { ExecutionContext } from './query-lane-context';\n\nexport interface ParamPlaceholder {\n readonly kind: 'param-placeholder';\n readonly name: string;\n}\n\n/**\n * ValueSource represents any value that can appear in a comparison or as an argument.\n * This includes:\n * - ParamPlaceholder: A parameter placeholder (e.g., `param('userId')`)\n * - ExpressionSource: Something that can be converted to an Expression (ColumnBuilder, ExpressionBuilder)\n */\nexport type ValueSource = ParamPlaceholder | ExpressionSource;\n\nexport interface OrderBuilder<\n _ColumnName extends string = string,\n _ColumnMeta extends StorageColumn = StorageColumn,\n _JsType = unknown,\n> {\n readonly kind: 'order';\n readonly expr: AnyExpression;\n readonly dir: Direction;\n}\n\n/**\n * Creates an OrderBuilder for use in orderBy clauses.\n */\nexport function createOrderBuilder(\n expr: AnyColumnBuilder | OperationExpr,\n dir: Direction,\n): AnyOrderBuilder {\n return { kind: 'order', expr, dir } as AnyOrderBuilder;\n}\n\n/**\n * ColumnBuilder with optional operation methods based on the column's typeId.\n * When Operations is provided and the column's typeId matches, operation methods are included.\n * Implements ExpressionSource to provide type-safe conversion to ColumnRef.\n *\n * For nullable columns (ColumnMeta['nullable'] extends true), includes isNull() and isNotNull() methods.\n */\nexport type ColumnBuilder<\n ColumnName extends string = string,\n ColumnMeta extends StorageColumn = StorageColumn,\n JsType = unknown,\n Operations extends OperationTypes = Record<string, never>,\n> = {\n readonly kind: 'column';\n readonly table: string;\n readonly column: ColumnName;\n readonly columnMeta: ColumnMeta;\n // Methods accept ValueSource (ParamPlaceholder or ExpressionSource)\n eq(value: ValueSource): BinaryBuilder<ColumnName, ColumnMeta, JsType>;\n neq(value: ValueSource): BinaryBuilder<ColumnName, ColumnMeta, JsType>;\n gt(value: ValueSource): BinaryBuilder<ColumnName, ColumnMeta, JsType>;\n lt(value: ValueSource): BinaryBuilder<ColumnName, ColumnMeta, JsType>;\n gte(value: ValueSource): BinaryBuilder<ColumnName, ColumnMeta, JsType>;\n lte(value: ValueSource): BinaryBuilder<ColumnName, ColumnMeta, JsType>;\n asc(): OrderBuilder<ColumnName, ColumnMeta, JsType>;\n desc(): OrderBuilder<ColumnName, ColumnMeta, JsType>;\n /** Converts this column builder to a ColumnRef expression */\n toExpr(): ColumnRef;\n // Helper property for type extraction (not used at runtime)\n readonly __jsType: JsType;\n} & (ColumnMeta['codecId'] extends string\n ? ColumnMeta['codecId'] extends keyof Operations\n ? OperationMethods<\n OperationsForTypeId<ColumnMeta['codecId'] & string, Operations>,\n ColumnName,\n StorageColumn,\n JsType\n >\n : Record<string, never>\n : Record<string, never>) &\n (ColumnMeta['nullable'] extends true\n ? NullableMethods<ColumnName, ColumnMeta, JsType>\n : Record<string, never>);\n\nexport interface BinaryBuilder<\n _ColumnName extends string = string,\n _ColumnMeta extends StorageColumn = StorageColumn,\n _JsType = unknown,\n> {\n readonly kind: 'binary';\n readonly op: BinaryOp;\n readonly left: AnyExpression;\n readonly right: ValueSource;\n}\n\n/**\n * Builder for IS NULL / IS NOT NULL checks.\n * Used to build unary null check expressions in WHERE clauses.\n */\nexport interface NullCheckBuilder<\n _ColumnName extends string = string,\n _ColumnMeta extends StorageColumn = StorageColumn,\n _JsType = unknown,\n> {\n readonly kind: 'nullCheck';\n readonly expr: AnyExpression;\n readonly isNull: boolean;\n}\n\n/**\n * Union type for unary builders (currently just NullCheckBuilder).\n * Extensible for future unary operators.\n */\nexport type UnaryBuilder = NullCheckBuilder;\n\n// Forward declare AnyBinaryBuilder and AnyOrderBuilder for use in ExpressionBuilder\nexport type AnyBinaryBuilder = BinaryBuilder;\nexport type AnyOrderBuilder = OrderBuilder;\nexport type AnyUnaryBuilder = UnaryBuilder;\n\n/**\n * Methods available only on nullable columns.\n * These are conditionally added to ColumnBuilder when ColumnMeta['nullable'] is true.\n * Note: Index signature is required for compatibility with AnyColumnBuilderBase's index signature.\n */\nexport interface NullableMethods<\n ColumnName extends string = string,\n ColumnMeta extends StorageColumn = StorageColumn,\n JsType = unknown,\n> {\n /** Creates an IS NULL check for this column */\n isNull(): NullCheckBuilder<ColumnName, ColumnMeta, JsType>;\n /** Creates an IS NOT NULL check for this column */\n isNotNull(): NullCheckBuilder<ColumnName, ColumnMeta, JsType>;\n /** Index signature for compatibility with AnyColumnBuilderBase */\n readonly [key: string]: unknown;\n}\n\n/**\n * ExpressionBuilder represents the result of an operation (e.g., col.distance(...)).\n * Unlike ColumnBuilder (which represents a column), ExpressionBuilder represents\n * an operation expression and provides the same DSL methods for chaining.\n *\n * Implements ExpressionSource to provide type-safe conversion to OperationExpr.\n */\nexport interface ExpressionBuilder<JsType = unknown> extends ExpressionSource {\n readonly kind: 'expression';\n readonly expr: OperationExpr;\n readonly columnMeta: StorageColumn;\n\n // Methods accept ValueSource (ParamPlaceholder or ExpressionSource)\n eq(value: ValueSource): AnyBinaryBuilder;\n neq(value: ValueSource): AnyBinaryBuilder;\n gt(value: ValueSource): AnyBinaryBuilder;\n lt(value: ValueSource): AnyBinaryBuilder;\n gte(value: ValueSource): AnyBinaryBuilder;\n lte(value: ValueSource): AnyBinaryBuilder;\n asc(): AnyOrderBuilder;\n desc(): AnyOrderBuilder;\n\n /** Converts this expression builder to the underlying OperationExpr */\n toExpr(): OperationExpr;\n\n // Helper property for type extraction (not used at runtime)\n readonly __jsType: JsType;\n}\n\n// Helper aliases for usage sites where the specific column parameters are irrelevant\n// Accepts any ColumnBuilder regardless of its Operations parameter\n// Note: We use `any` here because TypeScript's variance rules don't allow us to express\n// \"any type that extends OperationTypes\" in a way that works for assignment.\n// Contract-specific OperationTypes (e.g., PgVectorOperationTypes) are not assignable\n// to the base OperationTypes in generic parameter position, even though they extend it structurally.\n// Helper type that accepts any ColumnBuilder regardless of its generic parameters\n// This is needed because conditional types in ColumnBuilder create incompatible intersection types\n// when Operations differs, even though structurally they're compatible\nexport type AnyColumnBuilderBase = {\n readonly kind: 'column';\n readonly table: string;\n readonly column: string;\n readonly columnMeta: StorageColumn;\n // Methods accept ValueSource (ParamPlaceholder or ExpressionSource)\n eq(value: ValueSource): AnyBinaryBuilder;\n neq(value: ValueSource): AnyBinaryBuilder;\n gt(value: ValueSource): AnyBinaryBuilder;\n lt(value: ValueSource): AnyBinaryBuilder;\n gte(value: ValueSource): AnyBinaryBuilder;\n lte(value: ValueSource): AnyBinaryBuilder;\n asc(): AnyOrderBuilder;\n desc(): AnyOrderBuilder;\n toExpr(): ColumnRef;\n readonly __jsType: unknown;\n // Optional nullable methods (present when columnMeta.nullable is true)\n isNull?(): AnyUnaryBuilder;\n isNotNull?(): AnyUnaryBuilder;\n // Allow any operation methods (from conditional type)\n readonly [key: string]: unknown;\n};\n\nexport type AnyColumnBuilder =\n | ColumnBuilder<\n string,\n StorageColumn,\n unknown,\n // biome-ignore lint/suspicious/noExplicitAny: AnyColumnBuilder must accept column builders with any operation types\n any\n >\n | AnyColumnBuilderBase;\n\n/**\n * Union type for any builder that can produce an Expression.\n * Used in DSL method signatures where either a column or operation result can be passed.\n */\n// TODO: do we still need this? can we just replace it with ExpressionSource\nexport type AnyExpressionSource = AnyColumnBuilder | ExpressionBuilder;\n\nexport function isColumnBuilder(value: unknown): value is AnyColumnBuilder {\n return (\n typeof value === 'object' &&\n value !== null &&\n 'kind' in value &&\n (value as { kind: unknown }).kind === 'column'\n );\n}\n\nexport interface JoinOnBuilder {\n eqCol(left: AnyColumnBuilder, right: AnyColumnBuilder): JoinOnPredicate;\n}\n\nexport interface JoinOnPredicate {\n readonly kind: 'join-on';\n readonly left: AnyColumnBuilder;\n readonly right: AnyColumnBuilder;\n}\n\nexport type Expr = ColumnRef | ParamRef;\n\n/**\n * Helper type to extract codec output type from CodecTypes.\n * Returns never if the codecId is not found in CodecTypes.\n */\ntype ExtractCodecOutputType<\n CodecId extends string,\n CodecTypes extends Record<string, { readonly output: unknown }>,\n> = CodecId extends keyof CodecTypes\n ? CodecTypes[CodecId] extends { readonly output: infer Output }\n ? Output\n : never\n : never;\n\n/**\n * Extracts the model name for a given table by iterating models to find the one\n * whose `storage.table` matches.\n */\ntype ExtractTableToModel<\n Contract extends SqlContract<SqlStorage>,\n TableName extends string,\n> = Contract['models'] extends infer Models extends Record<string, unknown>\n ? {\n [M in keyof Models & string]: Models[M] extends {\n readonly storage: { readonly table: TableName };\n }\n ? M\n : never;\n }[keyof Models & string]\n : never;\n\n/**\n * Extracts the field name for a given column by finding the field in\n * `model.storage.fields` whose `column` matches.\n */\ntype ExtractColumnToField<\n Contract extends SqlContract<SqlStorage>,\n TableName extends string,\n ColumnName extends string,\n> = ExtractTableToModel<Contract, TableName> extends infer ModelName extends string\n ? Contract['models'] extends infer Models extends Record<string, unknown>\n ? ModelName & keyof Models extends infer MKey extends string\n ? Models[MKey] extends {\n readonly storage: { readonly fields: infer Fields extends Record<string, unknown> };\n }\n ? {\n [F in keyof Fields & string]: Fields[F] extends { readonly column: ColumnName }\n ? F\n : never;\n }[keyof Fields & string]\n : never\n : never\n : never\n : never;\n\n/**\n * Extracts the field value type from a model's fields.\n */\ntype ExtractFieldValue<\n Contract extends SqlContract<SqlStorage>,\n ModelName extends string,\n FieldName extends string,\n> = Contract['models'] extends infer Models\n ? Models extends Record<string, unknown>\n ? ModelName extends keyof Models\n ? Models[ModelName] extends { readonly fields: infer Fields }\n ? Fields extends Record<string, unknown>\n ? FieldName extends keyof Fields\n ? Fields[FieldName]\n : never\n : never\n : never\n : never\n : never\n : never;\n\n/**\n * Extracts the JavaScript type for a column from model fields if available.\n * Model fields in the .d.ts carry concrete JS types (e.g. `string`, `Char<36>`).\n */\ntype ExtractColumnJsTypeFromModels<\n Contract extends SqlContract<SqlStorage>,\n TableName extends string,\n ColumnName extends string,\n> = ExtractTableToModel<Contract, TableName> extends infer ModelName\n ? ModelName extends string\n ? ExtractColumnToField<Contract, TableName, ColumnName> extends infer FieldName\n ? FieldName extends string\n ? ExtractFieldValue<Contract, ModelName, FieldName>\n : never\n : never\n : never\n : never;\n\n/**\n * Resolves type params for a column from either:\n * - inline `columnMeta.typeParams`, or\n * - `columnMeta.typeRef` (resolving into `contract.storage.types[typeRef].typeParams`).\n */\ntype ResolveColumnTypeParams<\n Contract extends SqlContract<SqlStorage>,\n ColumnMeta extends StorageColumn,\n> = ColumnMeta extends { typeParams: infer Params }\n ? Params extends object\n ? Params\n : undefined\n : ColumnMeta extends { typeRef: infer TypeRef extends string }\n ? Contract['storage'] extends { types: infer Types }\n ? Types extends Record<string, unknown>\n ? TypeRef extends keyof Types\n ? Types[TypeRef] extends { typeParams: infer Params }\n ? Params extends object\n ? Params\n : undefined\n : undefined\n : undefined\n : undefined\n : undefined\n : undefined;\n\n/**\n * If a codec entry exposes a type-level parameterized output surface, compute the output type\n * for a specific params object. Falls back to `never` if not supported.\n *\n * This enables lane typing to incorporate `columnMeta.typeParams` without branching on codec IDs\n * in core lane code.\n */\ntype ExtractParameterizedCodecOutputType<\n CodecId extends string,\n Params,\n CodecTypes extends Record<string, { readonly output: unknown }>,\n> = CodecId extends keyof CodecTypes\n ? CodecTypes[CodecId] extends { readonly parameterizedOutput: infer Fn }\n ? Fn extends (params: Params) => infer Out\n ? Out\n : never\n : never\n : never;\n\n/**\n * Type-level operation signature.\n * Represents an operation at the type level, similar to OperationSignature at runtime.\n */\nexport type OperationTypeSignature = {\n readonly args: ReadonlyArray<ArgSpec>;\n readonly returns: ReturnSpec;\n readonly lowering: SqlLoweringSpec;\n readonly capabilities?: ReadonlyArray<string>;\n};\n\n/**\n * Type-level operation registry.\n * Maps typeId → operations, where operations is a record of method name → operation signature.\n *\n * Example:\n * ```typescript\n * type MyOperations: OperationTypes = {\n * 'pg/vector@1': {\n * cosineDistance: {\n * args: [{ kind: 'typeId'; type: 'pg/vector@1' }];\n * returns: { kind: 'builtin'; type: 'number' };\n * lowering: { targetFamily: 'sql'; strategy: 'function'; template: '...' };\n * };\n * };\n * };\n * ```\n */\nexport type OperationTypes = Record<string, Record<string, OperationTypeSignature>>;\n\n/**\n * CodecTypes represents a map of typeId to codec definitions.\n * Each codec definition must have an `output` property indicating the JavaScript type.\n *\n * Example:\n * ```typescript\n * type MyCodecTypes: CodecTypes = {\n * 'pg/int4@1': { output: number };\n * 'pg/text@1': { output: string };\n * };\n * ```\n */\nexport type CodecTypes = Record<string, { readonly output: unknown }>;\n\n/**\n * Extracts operations for a given typeId from the operation registry.\n * Returns an empty record if the typeId is not found.\n *\n * @example\n * ```typescript\n * type Ops = OperationsForTypeId<'pg/vector@1', MyOperations>;\n * // Ops = { cosineDistance: { ... }, l2Distance: { ... } }\n * ```\n */\nexport type OperationsForTypeId<\n TypeId extends string,\n Operations extends OperationTypes,\n> = Operations extends Record<string, never>\n ? Record<string, never>\n : TypeId extends keyof Operations\n ? Operations[TypeId]\n : Record<string, never>;\n\n/**\n * Maps operation signatures to method signatures on ColumnBuilder.\n * Each operation becomes a method that returns a ColumnBuilder or BinaryBuilder\n * based on the return type.\n */\ntype OperationMethods<\n Ops extends Record<string, OperationTypeSignature>,\n ColumnName extends string,\n ColumnMeta extends StorageColumn,\n JsType,\n> = {\n [K in keyof Ops]: Ops[K] extends OperationTypeSignature\n ? (\n ...args: OperationArgs<Ops[K]['args']>\n ) => OperationReturn<Ops[K]['returns'], ColumnName, ColumnMeta, JsType>\n : never;\n};\n\n/**\n * Maps operation argument specs to TypeScript argument types.\n * - typeId args: ColumnBuilder (accepts base columns or operation results)\n * - param args: unknown (raw value; converted to ParamRef at operation build time)\n * - literal args: unknown (could be more specific in future)\n */\ntype OperationArgs<Args extends ReadonlyArray<ArgSpec>> = Args extends readonly [\n infer First,\n ...infer Rest,\n]\n ? First extends ArgSpec\n ? [ArgToType<First>, ...(Rest extends ReadonlyArray<ArgSpec> ? OperationArgs<Rest> : [])]\n : []\n : [];\n\ntype ArgToType<Arg extends ArgSpec> = Arg extends { kind: 'typeId' }\n ? AnyExpressionSource\n : unknown;\n\n/**\n * Maps operation return spec to return type.\n * Operations return ExpressionBuilder, not ColumnBuilder, because the result\n * represents an expression (OperationExpr) rather than a column reference.\n */\ntype OperationReturn<\n Returns extends ReturnSpec,\n _ColumnName extends string,\n _ColumnMeta extends StorageColumn,\n _JsType,\n> = Returns extends { kind: 'builtin'; type: infer T }\n ? T extends 'number'\n ? ExpressionBuilder<number>\n : T extends 'boolean'\n ? ExpressionBuilder<boolean>\n : T extends 'string'\n ? ExpressionBuilder<string>\n : ExpressionBuilder<unknown>\n : Returns extends { kind: 'typeId' }\n ? ExpressionBuilder<unknown>\n : ExpressionBuilder<unknown>;\n\n/**\n * Computes JavaScript type for a column at column creation time.\n *\n * Type inference:\n * - Read columnMeta.codecId as typeId string literal\n * - Look up CodecTypes[typeId].output\n * - Apply nullability: nullable ? Output | null : Output\n */\ntype ColumnMetaTypeId<ColumnMeta> = ColumnMeta extends { codecId: infer CodecId extends string }\n ? CodecId\n : ColumnMeta extends { type: infer TypeId extends string }\n ? TypeId\n : never;\n\nexport type ComputeColumnJsType<\n Contract extends SqlContract<SqlStorage>,\n TableName extends string,\n ColumnName extends string,\n ColumnMeta extends StorageColumn,\n CodecTypes extends Record<string, { readonly output: unknown }>,\n> = ExtractColumnJsTypeFromModels<Contract, TableName, ColumnName> extends infer FromModels\n ? [FromModels] extends [never]\n ? ColumnMeta extends { nullable: infer Nullable }\n ? ColumnMetaTypeId<ColumnMeta> extends infer TypeId\n ? TypeId extends string\n ? ResolveColumnTypeParams<Contract, ColumnMeta> extends infer Params\n ? Params extends object\n ? ExtractParameterizedCodecOutputType<\n TypeId,\n Params,\n CodecTypes\n > extends infer ParamOutput\n ? [ParamOutput] extends [never]\n ? ExtractCodecOutputType<TypeId, CodecTypes> extends infer CodecOutput\n ? [CodecOutput] extends [never]\n ? unknown // Codec not found in CodecTypes\n : Nullable extends true\n ? CodecOutput | null\n : CodecOutput\n : unknown\n : Nullable extends true\n ? ParamOutput | null\n : ParamOutput\n : unknown\n : ExtractCodecOutputType<TypeId, CodecTypes> extends infer CodecOutput\n ? [CodecOutput] extends [never]\n ? unknown // Codec not found in CodecTypes\n : Nullable extends true\n ? CodecOutput | null\n : CodecOutput\n : unknown\n : unknown\n : unknown\n : unknown\n : unknown\n : FromModels\n : unknown;\n\n/**\n * Infers Row type from a projection object.\n * Maps Record<string, ColumnBuilder> to Record<string, JSType>\n *\n * Extracts the pre-computed JsType from each ColumnBuilder in the projection.\n */\n/**\n * Extracts the inferred JsType carried by a ColumnBuilder.\n */\ntype ExtractJsTypeFromColumnBuilder<CB extends AnyColumnBuilder> =\n CB extends ColumnBuilder<\n infer _ColumnName extends string,\n infer _ColumnMeta extends StorageColumn,\n infer JsType,\n infer _Ops\n >\n ? JsType\n : never;\n\nexport type InferProjectionRow<P extends Record<string, AnyColumnBuilder>> = {\n [K in keyof P]: ExtractJsTypeFromColumnBuilder<P[K]>;\n};\n\n/**\n * Nested projection type - allows recursive nesting of ColumnBuilder, ExpressionBuilder, or nested objects.\n */\nexport type NestedProjection = Record<\n string,\n | AnyExpressionSource\n | Record<\n string,\n | AnyExpressionSource\n | Record<\n string,\n | AnyExpressionSource\n | Record<string, AnyExpressionSource | Record<string, AnyExpressionSource>>\n >\n >\n>;\n\n/**\n * Helper type to extract include type from Includes map.\n * Returns the value type if K is a key of Includes, otherwise returns unknown.\n */\ntype ExtractIncludeType<\n K extends string,\n Includes extends Record<string, unknown>,\n> = K extends keyof Includes ? Includes[K] : unknown;\n\n/**\n * Infers Row type from a nested projection object.\n * Recursively maps Record<string, ColumnBuilder | boolean | NestedProjection> to nested object types.\n *\n * Extracts the pre-computed JsType from each ColumnBuilder at leaves.\n * When a value is `true`, it represents an include reference and infers `Array<ChildShape>`\n * by looking up the include alias in the Includes type map.\n */\nexport type InferNestedProjectionRow<\n P extends Record<string, AnyExpressionSource | boolean | NestedProjection>,\n CodecTypes extends Record<string, { readonly output: unknown }> = Record<string, never>,\n Includes extends Record<string, unknown> = Record<string, never>,\n> = {\n [K in keyof P]: P[K] extends ExpressionBuilder<infer JsType>\n ? JsType\n : P[K] extends AnyColumnBuilder\n ? ExtractJsTypeFromColumnBuilder<P[K]>\n : P[K] extends true\n ? Array<ExtractIncludeType<K & string, Includes>> // Include reference - infers Array<ChildShape> from Includes map\n : P[K] extends NestedProjection\n ? InferNestedProjectionRow<P[K], CodecTypes, Includes>\n : never;\n};\n\n/**\n * Infers Row type from a tuple of ColumnBuilders used in returning() clause.\n * Extracts column name and JsType from each ColumnBuilder and creates a Record.\n */\nexport type InferReturningRow<Columns extends readonly AnyColumnBuilder[]> =\n Columns extends readonly [infer First, ...infer Rest]\n ? First extends ColumnBuilder<\n infer Name,\n infer _Meta,\n infer JsType,\n infer _Ops extends OperationTypes\n >\n ? Name extends string\n ? Rest extends readonly AnyColumnBuilder[]\n ? { [K in Name]: JsType } & InferReturningRow<Rest>\n : { [K in Name]: JsType }\n : never\n : never\n : Record<string, never>;\n\n/**\n * Utility type to check if a contract has the required capabilities for includeMany.\n * Requires both `lateral` and `jsonAgg` to be `true` in the contract's capabilities for the target.\n * Capabilities are nested by target: `{ [target]: { lateral: true, jsonAgg: true } }`\n */\nexport type HasIncludeManyCapabilities<TContract extends SqlContract<SqlStorage>> =\n TContract extends { capabilities: infer C; target: infer T }\n ? T extends string\n ? C extends Record<string, Record<string, boolean>>\n ? C extends { [K in T]: infer TargetCaps }\n ? TargetCaps extends { lateral: true; jsonAgg: true }\n ? true\n : false\n : false\n : false\n : false\n : false;\n\n/**\n * SQL-specific Plan type that refines the ast field to use AnyQueryAst.\n * This is the type used by SQL query builders.\n */\nexport type SqlPlan<Row = unknown> = ExecutionPlan<Row, AnyQueryAst>;\n\n/**\n * Helper types for extracting contract structure.\n */\nexport type TablesOf<TContract> = TContract extends {\n storage: { tables: infer U };\n}\n ? U\n : never;\n\nexport type TableKey<TContract> = Extract<keyof TablesOf<TContract>, string>;\n\n// Common types for contract.d.ts generation (SQL-specific)\n// These types are used by emitted contract.d.ts files to provide type-safe DSL/ORM types\n\n/**\n * Unique symbol for metadata property to avoid collisions with user-defined properties\n */\nexport declare const META: unique symbol;\n\n/**\n * Extracts metadata from a type that has a META property\n */\nexport type Meta<T extends { [META]: unknown }> = T[typeof META];\n\n/**\n * Metadata interface for table definitions\n */\nexport interface TableMetadata<Name extends string> {\n name: Name;\n}\n\n/**\n * Metadata interface for model definitions\n */\nexport interface ModelMetadata<Name extends string> {\n name: Name;\n}\n\n/**\n * Base interface for table definitions with metadata\n * Used in contract.d.ts to define storage-level table types\n */\nexport interface TableDef<Name extends string> {\n readonly [META]: TableMetadata<Name>;\n}\n\n/**\n * Base interface for model definitions with metadata\n * Used in contract.d.ts to define application-level model types\n */\nexport interface ModelDef<Name extends string> {\n readonly [META]: ModelMetadata<Name>;\n}\n\nexport type ColumnsOf<\n TContract,\n K extends TableKey<TContract>,\n> = K extends keyof TablesOf<TContract>\n ? TablesOf<TContract>[K] extends { columns: infer C }\n ? C\n : never\n : never;\n\nexport interface RawTemplateOptions {\n readonly refs?: PlanRefs;\n readonly annotations?: Record<string, unknown>;\n readonly projection?: ReadonlyArray<string>;\n}\n\nexport interface RawFunctionOptions extends RawTemplateOptions {\n readonly params: ReadonlyArray<unknown>;\n}\n\nexport type RawTemplateFactory = (\n strings: TemplateStringsArray,\n ...values: readonly unknown[]\n) => ExecutionPlan;\n\nexport interface RawFactory extends RawTemplateFactory {\n (text: string, options: RawFunctionOptions): ExecutionPlan;\n with(options: RawTemplateOptions): RawTemplateFactory;\n}\n\nexport type { RuntimeError } from '@prisma-next/plan';\n\nexport interface BuildParamsMap {\n readonly [name: string]: unknown;\n}\n\nexport interface BuildOptions {\n readonly params?: BuildParamsMap;\n}\n\nexport interface SqlBuilderOptions<\n TContract extends SqlContract<SqlStorage> = SqlContract<SqlStorage>,\n> {\n readonly context: ExecutionContext<TContract>;\n}\n\n/**\n * SQL-specific ResultType that works with both Plan and SqlQueryPlan.\n * This extends the core ResultType to also handle SqlQueryPlan.\n * Example: `type Row = ResultType<typeof plan>`\n */\nexport type ResultType<P> = P extends SqlQueryPlan<infer R> ? R : CoreResultType<P>;\n"],"mappings":";;;;AA+CA,SAAgB,mBACd,MACA,KACiB;AACjB,QAAO;EAAE,MAAM;EAAS;EAAM;EAAK;;AAmLrC,SAAgB,gBAAgB,OAA2C;AACzE,QACE,OAAO,UAAU,YACjB,UAAU,QACV,UAAU,SACT,MAA4B,SAAS"}
@@ -155,17 +155,25 @@ type ExtractCodecOutputType<CodecId extends string, CodecTypes$1 extends Record<
155
155
  readonly output: infer Output;
156
156
  } ? Output : never : never;
157
157
  /**
158
- * Extracts the model name for a given table from the contract mappings.
158
+ * Extracts the model name for a given table by iterating models to find the one
159
+ * whose `storage.table` matches.
159
160
  */
160
- type ExtractTableToModel<Contract extends SqlContract<SqlStorage>, TableName extends string> = Contract['mappings'] extends {
161
- readonly tableToModel: infer TableToModel;
162
- } ? TableToModel extends Record<string, string> ? TableName extends keyof TableToModel ? TableToModel[TableName] : never : never : never;
161
+ type ExtractTableToModel<Contract extends SqlContract<SqlStorage>, TableName extends string> = Contract['models'] extends infer Models extends Record<string, unknown> ? { [M in keyof Models & string]: Models[M] extends {
162
+ readonly storage: {
163
+ readonly table: TableName;
164
+ };
165
+ } ? M : never }[keyof Models & string] : never;
163
166
  /**
164
- * Extracts the field name for a given table column from the contract mappings.
167
+ * Extracts the field name for a given column by finding the field in
168
+ * `model.storage.fields` whose `column` matches.
165
169
  */
166
- type ExtractColumnToField<Contract extends SqlContract<SqlStorage>, TableName extends string, ColumnName extends string> = Contract['mappings'] extends {
167
- readonly columnToField: infer ColumnToField;
168
- } ? ColumnToField extends Record<string, Record<string, string>> ? TableName extends keyof ColumnToField ? ColumnName extends keyof ColumnToField[TableName] ? ColumnToField[TableName][ColumnName] : never : never : never : never;
170
+ type ExtractColumnToField<Contract extends SqlContract<SqlStorage>, TableName extends string, ColumnName extends string> = ExtractTableToModel<Contract, TableName> extends infer ModelName extends string ? Contract['models'] extends infer Models extends Record<string, unknown> ? ModelName & keyof Models extends infer MKey extends string ? Models[MKey] extends {
171
+ readonly storage: {
172
+ readonly fields: infer Fields extends Record<string, unknown>;
173
+ };
174
+ } ? { [F in keyof Fields & string]: Fields[F] extends {
175
+ readonly column: ColumnName;
176
+ } ? F : never }[keyof Fields & string] : never : never : never : never;
169
177
  /**
170
178
  * Extracts the field value type from a model's fields.
171
179
  */
@@ -173,17 +181,10 @@ type ExtractFieldValue<Contract extends SqlContract<SqlStorage>, ModelName$1 ext
173
181
  readonly fields: infer Fields;
174
182
  } ? Fields extends Record<string, unknown> ? FieldName$1 extends keyof Fields ? Fields[FieldName$1] : never : never : never : never : never : never;
175
183
  /**
176
- * Extracts the JavaScript type for a column from model mappings if available.
177
- * Returns `never` if the column maps to a ModelField object (which indicates
178
- * a relation that should fall through to codec-based type resolution).
179
- *
180
- * The check for ModelField uses `Exclude<keyof FieldValue, 'column'> extends never`
181
- * to ensure we only skip pure `{ column: string }` marker objects, not richer
182
- * object types that happen to include a `column` property.
184
+ * Extracts the JavaScript type for a column from model fields if available.
185
+ * Model fields in the .d.ts carry concrete JS types (e.g. `string`, `Char<36>`).
183
186
  */
184
- type ExtractColumnJsTypeFromModels<Contract extends SqlContract<SqlStorage>, TableName extends string, ColumnName extends string> = ExtractTableToModel<Contract, TableName> extends infer ModelName ? ModelName extends string ? ExtractColumnToField<Contract, TableName, ColumnName> extends infer FieldName ? FieldName extends string ? ExtractFieldValue<Contract, ModelName, FieldName> extends infer FieldValue ? FieldValue extends {
185
- readonly column: string;
186
- } ? Exclude<keyof FieldValue, 'column'> extends never ? never : FieldValue : FieldValue : never : never : never : never : never;
187
+ type ExtractColumnJsTypeFromModels<Contract extends SqlContract<SqlStorage>, TableName extends string, ColumnName extends string> = ExtractTableToModel<Contract, TableName> extends infer ModelName ? ModelName extends string ? ExtractColumnToField<Contract, TableName, ColumnName> extends infer FieldName ? FieldName extends string ? ExtractFieldValue<Contract, ModelName, FieldName> : never : never : never : never;
187
188
  /**
188
189
  * Resolves type params for a column from either:
189
190
  * - inline `columnMeta.typeParams`, or
@@ -440,4 +441,4 @@ interface SqlBuilderOptions<TContract extends SqlContract<SqlStorage> = SqlContr
440
441
  type ResultType$1<P> = P extends SqlQueryPlan<infer R> ? R : ResultType<P>;
441
442
  //#endregion
442
443
  export { OperationTypes as A, SqlBuilderOptions as B, Meta as C, NullCheckBuilder as D, NestedProjection as E, RawFunctionOptions as F, TablesOf as G, TableDef as H, RawTemplateFactory as I, createOrderBuilder as J, UnaryBuilder as K, RawTemplateOptions as L, OrderBuilder as M, ParamPlaceholder as N, NullableMethods as O, RawFactory as P, ResultType$1 as R, META as S, ModelMetadata as T, TableKey as U, SqlPlan as V, TableMetadata as W, isColumnBuilder as Y, InferNestedProjectionRow as _, AnyOrderBuilder as a, JoinOnBuilder as b, BuildOptions as c, ColumnBuilder as d, ColumnsOf as f, HasIncludeManyCapabilities as g, ExpressionBuilder as h, AnyExpressionSource as i, OperationsForTypeId as j, OperationTypeSignature as k, BuildParamsMap as l, Expr as m, AnyColumnBuilder as n, AnyUnaryBuilder as o, ComputeColumnJsType as p, ValueSource as q, AnyColumnBuilderBase as r, BinaryBuilder as s, AnyBinaryBuilder as t, CodecTypes as u, InferProjectionRow as v, ModelDef as w, JoinOnPredicate as x, InferReturningRow as y, RuntimeError as z };
443
- //# sourceMappingURL=types-CMyotK6U.d.mts.map
444
+ //# sourceMappingURL=types-C8-DxtGE.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-C8-DxtGE.d.mts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":";;;;;;;;;UAqBiB,gBAAA;;EAAA,SAAA,IAAA,EAAA,MAAgB;AAWjC;AAEA;;;;;;AAagB,KAfJ,WAAA,GAAc,gBAeQ,GAfW,gBAeX;AAC1B,UAdS,YAcT,CAAA,oBAAA,MAAA,GAAA,MAAA,EAAA,oBAZc,aAYd,GAZ8B,aAY9B,EAAA,UAAA,OAAA,CAAA,CAAA;EAAmB,SAAA,IAAA,EAAA,OAAA;EACpB,SAAA,IAAA,EATU,aASV;EACJ,SAAA,GAAA,EATa,SASb;;AAWH;;;AAIqB,iBAlBL,kBAAA,CAkBK,IAAA,EAjBb,gBAiBa,GAjBM,aAiBN,EAAA,GAAA,EAhBd,SAgBc,CAAA,EAflB,eAekB;;;;;;;;AAOK,KAXd,aAWc,CAAA,mBAAA,MAAA,GAAA,MAAA,EAAA,mBATL,aASK,GATW,aASX,EAAA,WAAA,OAAA,EAAA,mBAPL,cAOK,GAPY,MAOZ,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA,GAAA;EACb,SAAA,IAAA,EAAA,QAAA;EAA4B,SAAA,KAAA,EAAA,MAAA;EAAY,SAAA,MAAA,EAJlC,UAIkC;EAAY,SAAA,UAAA,EAH1C,UAG0C;EAAtC,EAAA,CAAA,KAAA,EADf,WACe,CAAA,EADD,aACC,CADa,UACb,EADyB,UACzB,EADqC,QACrC,CAAA;EACf,GAAA,CAAA,KAAA,EADC,WACD,CAAA,EADe,aACf,CAD6B,UAC7B,EADyC,UACzC,EADqD,QACrD,CAAA;EAA4B,EAAA,CAAA,KAAA,EAA5B,WAA4B,CAAA,EAAd,aAAc,CAAA,UAAA,EAAY,UAAZ,EAAwB,QAAxB,CAAA;EAAY,EAAA,CAAA,KAAA,EACxC,WADwC,CAAA,EAC1B,aAD0B,CACZ,UADY,EACA,UADA,EACY,QADZ,CAAA;EAAY,GAAA,CAAA,KAAA,EAEnD,WAFmD,CAAA,EAErC,aAFqC,CAEvB,UAFuB,EAEX,UAFW,EAEC,QAFD,CAAA;EAAtC,GAAA,CAAA,KAAA,EAGb,WAHa,CAAA,EAGC,aAHD,CAGe,UAHf,EAG2B,UAH3B,EAGuC,QAHvC,CAAA;EACd,GAAA,EAAA,EAGH,YAHG,CAGU,UAHV,EAGsB,UAHtB,EAGkC,QAHlC,CAAA;EAA4B,IAAA,EAAA,EAI9B,YAJ8B,CAIjB,UAJiB,EAIL,UAJK,EAIO,QAJP,CAAA;EAAY;EAAY,MAAA,EAAA,EAMpD,SANoD;EAAtC,SAAA,QAAA,EAQL,QARK;CACb,GAAA,CAQR,UARQ,CAAA,SAAA,CAAA,SAAA,MAAA,GAST,UATS,CAAA,SAAA,CAAA,SAAA,MAS2B,UAT3B,GAUP,gBAVO,CAWL,mBAXK,CAWe,UAXf,CAAA,SAAA,CAAA,GAAA,MAAA,EAW+C,UAX/C,CAAA,EAYL,UAZK,EAaL,aAbK,EAcL,QAdK,CAAA,GAgBP,MAhBO,CAAA,MAAA,EAAA,KAAA,CAAA,GAiBT,MAjBS,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA,GAAA,CAkBV,UAlBU,CAAA,UAAA,CAAA,SAAA,IAAA,GAmBP,eAnBO,CAmBS,UAnBT,EAmBqB,UAnBrB,EAmBiC,QAnBjC,CAAA,GAoBP,MApBO,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAA4B,UAsBxB,aAtBwB,CAAA,oBAAA,MAAA,GAAA,MAAA,EAAA,oBAwBnB,aAxBmB,GAwBH,aAxBG,EAAA,UAAA,OAAA,CAAA,CAAA;EAAY,SAAA,IAAA,EAAA,QAAA;EAAY,SAAA,EAAA,EA4BlD,QA5BkD;EAAtC,SAAA,IAAA,EA6BV,aA7BU;EACd,SAAA,KAAA,EA6BK,WA7BL;;;;;;AACqB,UAmCjB,gBAnCiB,CAAA,oBAAA,MAAA,GAAA,MAAA,EAAA,oBAqCZ,aArCY,GAqCI,aArCJ,EAAA,UAAA,OAAA,CAAA,CAAA;EAAY,SAAA,IAAA,EAAA,WAAA;EAArC,SAAA,IAAA,EAyCQ,aAzCR;EACc,SAAA,MAAA,EAAA,OAAA;;;;;;AAKlB,KA2CO,YAAA,GAAe,gBA3CtB;AACD,KA6CQ,gBAAA,GAAmB,aA7C3B;AAAoC,KA8C5B,eAAA,GAAkB,YA9CU;AAEZ,KA6ChB,eAAA,GAAkB,YA7CF;;;;;;AADtB,UAqDW,eArDX,CAAA,mBAAA,MAAA,GAAA,MAAA,EAAA,mBAuDe,aAvDf,GAuD+B,aAvD/B,EAAA,WAAA,OAAA,CAAA,CAAA;EAMA;EACF,MAAA,EAAA,EAoDQ,gBApDR,CAoDyB,UApDzB,EAoDqC,UApDrC,EAoDiD,QApDjD,CAAA;EACD;EACmB,SAAA,EAAA,EAoDP,gBApDO,CAoDU,UApDV,EAoDsB,UApDtB,EAoDkC,QApDlC,CAAA;EAAY;EAAY,UAAA,GAAA,EAAA,MAAA,CAAA,EAAA,OAAA;;;;AAG9C;;;;;AAQkB,UAqDD,iBArDC,CAAA,WAAA,OAAA,CAAA,SAqD2C,gBArD3C,CAAA;EAAW,SAAA,IAAA,EAAA,YAAA;EAOZ,SAAA,IAAA,EAgDA,aAhDgB;EAEX,SAAA,UAAA,EA+CC,aA/CD;EAAgB,EAAA,CAAA,KAAA,EAkD1B,WAlD0B,CAAA,EAkDZ,gBAlDY;EAIrB,GAAA,CAAA,KAAA,EA+CJ,WA/CI,CAAA,EA+CU,gBA/CV;EAAa,EAAA,CAAA,KAAA,EAgDlB,WAhDkB,CAAA,EAgDJ,gBAhDI;EAQlB,EAAA,CAAA,KAAA,EAyCA,WAzCY,CAAA,EAyCE,gBAzCC;EAGf,GAAA,CAAA,KAAA,EAuCC,WAvCe,CAAA,EAuCD,gBAvCI;EACnB,GAAA,CAAA,KAAA,EAuCC,WAvCc,CAAA,EAuCA,gBAvCG;EAClB,GAAA,EAAA,EAuCH,eAvCkB;EAOV,IAAA,EAAA,EAiCP,eAjCsB;EAEX;EAAgB,MAAA,EAAA,EAkCzB,aAlCyB;EAIR,SAAA,QAAA,EAiCR,QAjCQ;;AAAwB,KA6CzC,oBAAA,GA7CyC;EAAzC,SAAA,IAAA,EAAA,QAAA;EAEoB,SAAA,KAAA,EAAA,MAAA;EAAY,SAAA,MAAA,EAAA,MAAA;EAAY,SAAA,UAAA,EA+CjC,aA/CiC;EAAzC,EAAA,CAAA,KAAA,EAiDH,WAjDG,CAAA,EAiDW,gBAjDX;EAAgB,GAAA,CAAA,KAAA,EAkDlB,WAlDkB,CAAA,EAkDJ,gBAlDI;EAYd,EAAA,CAAA,KAAA,EAuCL,WAvCsB,CAAA,EAuCR,gBAvCQ;EAEjB,EAAA,CAAA,KAAA,EAsCL,WAtCK,CAAA,EAsCS,gBAtCT;EACM,GAAA,CAAA,KAAA,EAsCV,WAtCU,CAAA,EAsCI,gBAtCJ;EAGX,GAAA,CAAA,KAAA,EAoCC,WApCD,CAAA,EAoCe,gBApCf;EAAc,GAAA,EAAA,EAqCjB,eArCiB;EACb,IAAA,EAAA,EAqCH,eArCG;EAAc,MAAA,EAAA,EAsCf,SAtCe;EACf,SAAA,QAAA,EAAA,OAAA;EAAc,MAAA,GAAA,EAwCb,eAxCa;EACd,SAAA,GAAA,EAwCI,eAxCJ;EAAc,UAAA,GAAA,EAAA,MAAA,CAAA,EAAA,OAAA;CACb;AAAc,KA4Cf,gBAAA,GACR,aA7CuB,CAAA,MAAA,EA+CrB,aA/CqB,EAAA,OAAA,EAAA,GAAA,CAAA,GAoDvB,oBApDuB;;;;;AAMf,KAqDA,mBAAA,GAAsB,gBArDtB,GAqDyC,iBArDzC;AAGS,iBAoDL,eAAA,CApDK,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,IAoDqC,gBApDrC;AAnBwC,UAgF5C,aAAA,CAhF4C;EAAgB,KAAA,CAAA,IAAA,EAiF/D,gBAjF+D,EAAA,KAAA,EAiFtC,gBAjFsC,CAAA,EAiFnB,eAjFmB;AA+B7E;AAIuB,UAiDN,eAAA,CAjDM;EAEX,SAAA,IAAA,EAAA,SAAA;EAAc,SAAA,IAAA,EAiDT,gBAjDS;EACb,SAAA,KAAA,EAiDK,gBAjDL;;AACD,KAmDA,IAAA,GAAO,SAnDP,GAmDmB,QAnDnB;;;;;KAyDP,sBAvDsB,CAAA,gBAAA,MAAA,EAAA,qBAyDN,MAzDM,CAAA,MAAA,EAAA;EACd,SAAA,MAAA,EAAA,OAAA;CAAc,CAAA,CAAA,GAyDvB,OAzDuB,SAAA,MAyDD,YAzDC,GA0DvB,YA1DuB,CA0DZ,OA1DY,CAAA,SAAA;EAClB,SAAA,MAAA,EAAA,KAAA,OAAA;CACC,GAAA,MAAA,GAAA,KAAA,GAAA,KAAA;;;;;AAUV,KAuDK,mBAvDuB,CAAA,iBAwDT,WAxDS,CAwDG,UAxDH,CAAA,EAAA,kBAAA,MAAA,CAAA,GA0DxB,QA1DwB,CAAA,QAAA,CAAA,SAAA,KAAA,gBA0DwB,MA1DxB,CAAA,MAAA,EAAA,OAAA,CAAA,GAAA,QAGtB,MAyDY,MAzDZ,GAAA,MAAA,GAyD8B,MAzD9B,CAyDqC,CAzDrC,CAAA,SAAA;EAFF,SAAA,OAAA,EAAA;IAOA,SAAA,KAAA,EAqDwC,SArDxC;EAAoB,CAAA;AAOZ,CAAA,GAgDF,CAhDE,GAAA,KAAA,EAEZ,CAAA,MAgDY,MAhDI,GAAA,MAAe,CAAA,GAAA,KAAA;AAS/B;;;;KA8CK,oBA7CoE,CAAA,iBA8CtD,WA9CsD,CA8C1C,UA9C0C,CAAA,EAAA,kBAAA,MAAA,EAAA,mBAAA,MAAA,CAAA,GAiDrE,mBAjDqE,CAiDjD,QAjDiD,EAiDvC,SAjDuC,CAAA,SAAA,KAAA,mBAAA,MAAA,GAkDrE,QAlDqE,CAAA,QAAA,CAAA,SAAA,KAAA,gBAkDrB,MAlDqB,CAAA,MAAA,EAAA,OAAA,CAAA,GAmDnE,SAnDmE,GAAA,MAmDjD,MAnDiD,SAAA,KAAA,cAAA,MAAA,GAoDjE,MApDiE,CAoD1D,IApD0D,CAAA,SAAA;EAGxD,SAAA,OAAA,EAAe;IAMpB,SAAI,MAAG,EAAA,KAAA,gBA4CiD,MA5C7B,CAAA,MAAA,EAAA,OAAA,CAAA;EAMlC,CAAA;CAEgB,GAAA,QACjB,MAsCoB,MAtCpB,GAAA,MAAA,GAsCsC,MAtCtC,CAsC6C,CAtC7C,CAAA,SAAA;EAAsB,SAAA,MAAA,EAsCqD,UAtCrD;AACtB,CAAA,GAsCY,CAtCZ,GAAA,KAAA,EAAW,CAAA,MAwCG,MAxCH,GAAA,MAAA,CAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA;;AAAO;;KAiDjB,iBAvCc,CAAA,iBAwCA,WAxCA,CAwCY,UAxCZ,CAAA,EAAA,oBAAA,MAAA,EAAA,oBAAA,MAAA,CAAA,GA2Cf,QA3Ce,CAAA,QAAA,CAAA,SAAA,KAAA,OAAA,GAAA,MAAA,SA4CA,MA5CA,CAAA,MAAA,EAAA,OAAA,CAAA,GA6Cb,WA7Ca,SAAA,MA6CW,MA7CX,GA8CX,MA9CW,CA8CJ,WA9CI,CAAA,SAAA;EAEf,SAAA,MAAA,EAAA,KAAA,OAAA;CAAgD,GAAA,MAAA,SA6C3B,MA7C2B,CAAA,MAAA,EAAA,OAAA,CAAA,GA8CxC,WA9CwC,SAAA,MA8ChB,MA9CgB,GA+CtC,MA/CsC,CA+C/B,WA/C+B,CAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA;;;;;KA2D/C,6BAtDK,CAAA,iBAuDS,WAvDT,CAuDqB,UAvDrB,CAAA,EAAA,kBAAA,MAAA,EAAA,mBAAA,MAAA,CAAA,GA0DN,mBA1DM,CA0Dc,QA1Dd,EA0DwB,SA1DxB,CAAA,SAAA,KAAA,UAAA,GAAA,SAAA,SAAA,MAAA,GA4DJ,oBA5DI,CA4DiB,QA5DjB,EA4D2B,SA5D3B,EA4DsC,UA5DtC,CAAA,SAAA,KAAA,UAAA,GAAA,SAAA,SAAA,MAAA,GA8DA,iBA9DA,CA8DkB,QA9DlB,EA8D4B,SA9D5B,EA8DuC,SA9DvC,CAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA;;;AAEQ;;;KAuEb,uBA5DmB,CAAA,iBA6DL,WA7DK,CA6DO,UA7DP,CAAA,EAAA,mBA8DH,aA9DG,CAAA,GA+DpB,UA/DoB,SAAA;EAAU,UAAA,EAAA,KAAA,OAAA;CAA9B,GAAA,MAAA,SAAA,MAAA,GAAA,MAAA,GAAA,SAAA,GAmEA,UAnEA,SAAA;EACA,OAAA,EAAA,KAAA,iBAAA,MAAA;CAAgD,GAmE9C,QAnE8C,CAAA,SAAA,CAAA,SAAA;EAC9C,KAAA,EAAA,KAAA,MAAA;CAAkB,GAAA,KAAA,SAmEF,MAnEE,CAAA,MAAA,EAAA,OAAA,CAAA,GAAA,OAAA,SAAA,MAoEQ,KApER,GAqEZ,KArEY,CAqEN,OArEM,CAAA,SAAA;EAChB,UAAA,EAAA,KAAA,OAAA;CAAO,GAAA,MAAA,SAAA,MAAA,GAAA,MAAA,GAAA,SAAA,GAAA,SAAA,GAAA,SAAA,GAAA,SAAA,GAAA,SAAA,GAAA,SAAA;;;;;;;;KAqFV,mCA9EmB,CAAA,gBAAA,MAAA,EAAA,QAAA,EAAA,qBAiFH,MAjFG,CAAA,MAAA,EAAA;EASnB,SAAA,MAAA,EAAA,OAAiB;CACS,CAAA,CAAA,GAwE3B,OAxE2B,SAAA,MAwEL,YAxEK,GAyE3B,YAzE2B,CAyEhB,OAzEgB,CAAA,SAAA;EAAZ,SAAA,mBAAA,EAAA,KAAA,GAAA;CAGf,GAAA,EAAA,UAAA,CAAA,MAAA,EAuEsB,QAvEtB,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA;;;;;AAGW,KA8EH,sBAAA,GA9EG;EACU,SAAA,IAAA,EA8ER,aA9EQ,CA8EM,OA9EN,CAAA;EACb,SAAA,OAAA,EA8EQ,UA9ER;EAAwB,SAAA,QAAA,EA+Ef,eA/Ee;EACtB,SAAA,YAAA,CAAA,EA+EY,aA/EZ,CAAA,MAAA,CAAA;CAAO;;AAAS;;;;;;;;;;;;;;;AAoBH;AAYI,KAmEnB,cAAA,GAAiB,MAnEE,CAAA,MAAA,EAmEa,MAnEb,CAAA,MAAA,EAmE4B,sBAnE5B,CAAA,CAAA;;;;;;;;;;;AAUN;;AAqBrB,KAkDQ,UAAA,GAAa,MAlDrB,CAAA,MAAA,EAAA;EAAsB,SAAA,MAAA,EAAA,OAAA;CACtB,CAAA;;;;AAWJ;;;;;;;AAwBY,KA0BA,mBA1Bc,CAAA,iBAAA,MAAA,EAAA,mBA4BL,cA5BK,CAAA,GA6BtB,UA7BsB,SA6BH,MA7BG,CAAA,MAAA,EAAA,KAAA,CAAA,GA8BtB,MA9BsB,CAAA,MAAA,EAAA,KAAA,CAAA,GA+BtB,QA/BsB,SAAA,MA+BD,UA/BC,GAgCpB,UAhCoB,CAgCT,QAhCS,CAAA,GAiCpB,MAjCoB,CAAA,MAAA,EAAA,KAAA,CAAA;;;;;AAc1B;AAYA,KAcK,gBAdO,CAAA,YAeE,MAfiB,CAAA,MAAA,EAeF,sBAfE,CAAA,EAAA,mBAAA,MAAA,EAAA,mBAiBV,aAjBU,EAAA,QAAA,CAAA,GAAA,QAEV,MAkBP,GAlBO,GAkBD,GAlBC,CAkBG,CAlBH,CAAA,SAkBc,sBAlBd,GAAA,CAAA,GAAA,IAAA,EAoBJ,aApBI,CAoBU,GApBV,CAoBc,CApBd,CAAA,CAAA,MAAA,CAAA,CAAA,EAAA,GAqBV,eArBU,CAqBM,GArBN,CAqBU,CArBV,CAAA,CAAA,SAAA,CAAA,EAqByB,UArBzB,EAqBqC,UArBrC,EAqBiD,QArBjD,CAAA,GAAA,KAAA,EACjB;;;;;;;KA8BC,aA1BC,CAAA,aA0B0B,aA1B1B,CA0BwC,OA1BxC,CAAA,CAAA,GA0BoD,IA1BpD,SAAA,SAAA,CAAM,KAAA,MAAA,EAOP,GAAA,KAAA,KAAA,CACwB,GAAA,KAAA,SAsBX,OAtBW,GAAA,CAuBtB,SAvBsB,CAuBZ,KAvBY,CAAA,EAAA,GAAA,CAAA,IAAA,SAuBa,aAvBb,CAuB2B,OAvB3B,CAAA,GAuBsC,aAvBtC,CAuBoD,IAvBpD,CAAA,GAAA,EAAA,CAAA,CAAA,GAAA,EAAA,GAAA,EAAA;KA2BxB,SA3BS,CAAA,YA2Ba,OA3Bb,CAAA,GA2BwB,GA3BxB,SAAA;EAEO,IAAA,EAAA,QAAA;CAGP,GAuBV,mBAvBU,GAAA,OAAA;;;;;;KA+BT,eA7BY,CAAA,gBA8BC,UA9BD,EAAA,oBAAA,MAAA,EAAA,oBAgCK,aAhCL,EAAA,OAAA,CAAA,GAkCb,OAlCa,SAAA;EACU,IAAA,EAAA,SAAA;EAAI,IAAA,EAAA,KAAA,EAAA;CAAe,GAAA,CAAA,SAAA,QAAA,GAmCxC,iBAnCwC,CAAA,MAAA,CAAA,GAAA,CAAA,SAAA,SAAA,GAqCtC,iBArCsC,CAAA,OAAA,CAAA,GAAA,CAAA,SAAA,QAAA,GAuCpC,iBAvCoC,CAAA,MAAA,CAAA,GAwCpC,iBAxCoC,CAAA,OAAA,CAAA,GAyC1C,OAzC0C,SAAA;EAAY,IAAA,EAAA,QAAA;CAAY,GA0ChE,iBA1CgE,CAAA,OAAA,CAAA,GA2ChE,iBA3CgE,CAAA,OAAA,CAAA;;;AAA5C;;;;;;KAqDrB,gBAtCE,CAAA,UAAA,CAAA,GAsC6B,UAtC7B,SAAA;EAAiD,OAAA,EAAA,KAAA,iBAAA,MAAA;CAAd,GAAA,OAAA,GAwCtC,UAxCsC,SAAA;EAAuC,IAAA,EAAA,KAAA,gBAAA,MAAA;CAAd,GAAA,MAAA,GAAA,KAAA;AAAa,KA4CpE,mBA5CoE,CAAA,iBA6C7D,WA7C6D,CA6CjD,UA7CiD,CAAA,EAAA,kBAAA,MAAA,EAAA,mBAAA,MAAA,EAAA,mBAgD3D,aAhD2D,EAAA,qBAiD3D,MAjD2D,CAAA,MAAA,EAAA;EAI3E,SAAA,MAAS,EAAA,OAAA;CAAa,CAAA,CAAA,GA8CvB,6BA9CuB,CA8CO,QA9CP,EA8CiB,SA9CjB,EA8C4B,UA9C5B,CAAA,SAAA,KAAA,WAAA,GAAA,CA+CtB,UA/CsB,CAAA,SAAA,CAAA,KAAA,CAAA,GAgDrB,UAhDqB,SAAA;EAAW,QAAA,EAAA,KAAA,SAAA;CAClC,GAgDI,gBAhDJ,CAgDqB,UAhDrB,CAAA,SAAA,KAAA,OAAA,GAAA,MAAA,SAAA,MAAA,GAkDQ,uBAlDR,CAkDgC,QAlDhC,EAkD0C,UAlD1C,CAAA,SAAA,KAAA,OAAA,GAAA,MAAA,SAAA,MAAA,GAoDY,mCApDZ,CAqDc,MArDd,EAsDc,MAtDd,EAuDc,YAvDd,CAAA,SAAA,KAAA,YAAA,GAAA,CAyDe,WAzDf,CAAA,SAAA,CAAA,KAAA,CAAA,GA0DgB,sBA1DhB,CA0DuC,MA1DvC,EA0D+C,YA1D/C,CAAA,SAAA,KAAA,YAAA,GAAA,CA2DmB,WA3DnB,CAAA,SAAA,CAAA,KAAA,CAAA,GAAA,OAAA,GAAA,QAAA,SAAA,IAAA,GA8DsB,WA9DtB,GAAA,IAAA,GAAA,WAAA,GAAA,OAAA,GAAA,QAAA,SAAA,IAAA,GAkEkB,WAlElB,GAAA,IAAA,GAAA,WAAA,GAAA,OAAA,GAqEY,sBArEZ,CAqEmC,MArEnC,EAqE2C,YArE3C,CAAA,SAAA,KAAA,YAAA,GAAA,CAsEe,WAtEf,CAAA,SAAA,CAAA,KAAA,CAAA,GAAA,OAAA,GAAA,QAAA,SAAA,IAAA,GAyEkB,WAzElB,GAAA,IAAA,GAAA,WAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,UAAA,GAAA,OAAA;;AAAmB;;;;;;;;KA4FlB,8BAvED,CAAA,WAuE2C,gBAvE3C,CAAA,GAwEF,EAxEE,SAwES,aAxET,CAAA,KAAA,qBAAA,MAAA,EAAA,KAAA,qBA0E0B,aA1E1B,EAAA,KAAA,OAAA,EAAA,KAAA,KAAA,CAAA,GAAA,MAAA,GAAA,KAAA;AACE,KAgFM,kBAhFN,CAAA,UAgFmC,MAhFnC,CAAA,MAAA,EAgFkD,gBAhFlD,CAAA,CAAA,GAAA,QACA,MAgFQ,CAhFR,GAgFY,8BAhFZ,CAgF2C,CAhF3C,CAgF6C,CAhF7C,CAAA,CAAA,EAAiB;AAAA;AAgBvB;;AACmB,KAqEP,gBAAA,GAAmB,MArEZ,CAAA,MAAA,EAuEf,mBAvEe,GAwEf,MAxEe,CAAA,MAAA,EA0EX,mBA1EW,GA2EX,MA3EW,CAAA,MAAA,EA6EP,mBA7EO,GA8EP,MA9EO,CAAA,MAAA,EA8EQ,mBA9ER,GA8E8B,MA9E9B,CAAA,MAAA,EA8E6C,mBA9E7C,CAAA,CAAA,CAAA,CAAA,CAAA;;;;;KAuFd,kBAlFkD,CAAA,YAAA,MAAA,EAAA,iBAoFpC,MApFoC,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,GAqFnD,GArFmD,SAAA,MAqFnC,QArFmC,GAqFxB,QArFwB,CAqFf,GArFe,CAAA,GAAA,OAAA;;;;;;;;;AAQrC,KAuFN,wBAvFM,CAAA,UAwFN,MAxFM,CAAA,MAAA,EAwFS,mBAxFT,GAAA,OAAA,GAwFyC,gBAxFzC,CAAA,EAAA,qBAyFG,MAzFH,CAAA,MAAA,EAAA;EACA,SAAA,MAAA,EAAA,OAAA;CACA,CAAA,GAuFkD,MAvFlD,CAAA,MAAA,EAAA,KAAA,CAAA,EAAA,iBAwFC,MAxFD,CAAA,MAAA,EAAA,OAAA,CAAA,GAwF2B,MAxF3B,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA,GAAA,QAHF,MA6FF,CA7FE,GA6FE,CA7FF,CA6FI,CA7FJ,CAAA,SA6Fe,iBA7Ff,CAAA,KAAA,OAAA,CAAA,GAAA,MAAA,GA+FV,CA/FU,CA+FR,CA/FQ,CAAA,SA+FG,gBA/FH,GAgGR,8BAhGQ,CAgGuB,CAhGvB,CAgGyB,CAhGzB,CAAA,CAAA,GAiGR,CAjGQ,CAiGN,CAjGM,CAAA,SAAA,IAAA,GAkGN,KAlGM,CAkGA,kBAlGA,CAkGmB,CAlGnB,GAAA,MAAA,EAkG+B,QAlG/B,CAAA,CAAA,GAmGN,CAnGM,CAmGJ,CAnGI,CAAA,SAmGO,gBAnGP,GAoGJ,wBApGI,CAoGqB,CApGrB,CAoGuB,CApGvB,CAAA,EAoG2B,YApG3B,EAoGuC,QApGvC,CAAA,GAAA,KAAA,EAKG;;;;;AAKO,KAkGd,iBAlGc,CAAA,gBAAA,SAkG6B,gBAlG7B,EAAA,CAAA,GAmGxB,OAnGwB,SAAA,SAAA,CAAA,KAAA,MAAA,EAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,SAoGN,aApGM,CAAA,KAAA,KAAA,EAAA,KAAA,MAAA,EAAA,KAAA,OAAA,EAAA,KAAA,cAwGC,cAxGD,CAAA,GAAA,IAAA,SAAA,MAAA,GAAA,IAAA,SAAA,SA2GM,gBA3GN,EAAA,GAAA,QA4GN,IAxGE,GAwGK,MAxGL,EAGiB,GAqGD,iBArGC,CAqGiB,IArGjB,CAAA,GAAA,QAsGnB,IAtG2B,GAsGpB,MAtGoB,EAA/B,GAAA,KAAA,GAAA,KAAA,GAyGV,MAzGU,CAAA,MAAA,EAAA,KAAA,CAAA;;;;AAYJ;;AAYV,KAwFU,0BAxFV,CAAA,kBAwFuD,WAxFvD,CAwFmE,UAxFnE,CAAA,CAAA,GAyFA,SAzFA,SAAA;EAE4B,YAAA,EAAA,KAAA,EAAA;EAFjB,MAAA,EAAA,KAAA,EAAA;CAAa,GAAA,CAAA,SAAA,MAAA,GAAA,CAAA,SA2FR,MA3FQ,CAAA,MAAA,EA2FO,MA3FP,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,GAAA,CAAA,SAAA,QA4FE,CAnFhB,GAAA,KAAA,WAAkB,EAA0B,GAAA,UAAA,SAAA;EAAf,OAAA,EAAA,IAAA;EAC3B,OAAA,EAAA,IAAA;CAAmC,GAAA,IAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA;;;;AAMjD;AAEI,KAuFQ,OAvFR,CAAA,MAAA,OAAA,CAAA,GAuFiC,aAvFjC,CAuF+C,GAvF/C,EAuFoD,WAvFpD,CAAA;;;;AAO4D,KAqFpD,QArFoD,CAAA,SAAA,CAAA,GAqF9B,SArF8B,SAAA;EAAf,OAAA,EAAA;IAArC,MAAA,EAAA,KAAA,EAAA;EAHJ,CAAA;CAHJ,GAAA,CAAA,GAAA,KAAA;AAH2B,KAoGnB,QApGmB,CAAA,SAAA,CAAA,GAoGG,OApGH,CAAA,MAoGiB,QApGjB,CAoG0B,SApG1B,CAAA,EAAA,MAAA,CAAA;;AAY7B;;AASE,cAuFiB,IAvFjB,EAAA,OAAA,MAAA;;;;AAAqC,KA4F7B,IA5F6B,CAAA,YAAA;EAU7B,CAkFkB,IAAA,CAlFlB,EAAA,OAAA;CACe,CAAA,GAiFuB,GAjFvB,CAAA,OAiFgC,IAjFhC,CAAA;;;;AACyC,UAqFnD,aArFmD,CAAA,eAAA,MAAA,CAAA,CAAA;EACjD,IAAA,EAqFX,MArFW;;;;;AAEY,UAyFd,aAzFc,CAAA,eAAA,MAAA,CAAA,CAAA;EAEzB,IAAA,EAwFE,MAxFF;;;;;;AAEE,UA6FS,QA7FT,CAAA,eAAA,MAAA,CAAA,CAAA;EAAE,UA8FE,IAAA,CA9FF,EA8FS,aA9FT,CA8FuB,MA9FvB,CAAA;;;;;;AAEE,UAmGK,QAnGL,CAAA,eAAA,MAAA,CAAA,CAAA;EAAW,UAoGX,IAAA,CApGW,EAoGJ,aApGI,CAoGU,MApGV,CAAA;;AACgB,KAsG3B,SAtG2B,CAAA,SAAA,EAAA,YAwG3B,QAxG2B,CAwGlB,SAxGkB,CAAA,CAAA,GAyGnC,GAzGmC,SAAA,MAyGnB,QAzGmB,CAyGV,SAzGU,CAAA,GA0GnC,QA1GmC,CA0G1B,SA1G0B,CAAA,CA0Gf,GA1Ge,CAAA,SAAA;EAAI,OAAA,EAAA,KAAA,EAAA;CAAY,GAAA,CAAA,GAAA,KAAA,GAAA,KAAA;AAA3C,UA+GK,kBAAA,CA/GL;EAAwB,SAAA,IAAA,CAAA,EAgHlB,QAhHkB;EAQxB,SAAA,WAAiB,CAAA,EAyGJ,MAzGI,CAAA,MAAA,EAAA,OAAA,CAAA;EAA0B,SAAA,UAAA,CAAA,EA0G/B,aA1G+B,CAAA,MAAA,CAAA;;AAM5B,UAuGV,kBAAA,SAA2B,kBAvGjB,CAAA;EAJP,SAAA,MAAA,EA4GD,aA5GC,CAAA,OAAA,CAAA;;AAQA,KAuGR,kBAAA,GAvGQ,CAAA,OAAA,EAwGT,oBAxGS,EAAA,GAAA,MAAA,EAAA,SAAA,OAAA,EAAA,EAAA,GA0Gf,aA1Ge;AAAO,UA4GV,UAAA,SAAmB,kBA5GT,CAAA;EAA6B,CAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EA6G9B,kBA7G8B,CAAA,EA6GT,aA7GS;EAAlB,IAAA,CAAA,OAAA,EA8GtB,kBA9GsB,CAAA,EA8GD,kBA9GC;;AAIhC,UA+GW,cAAA,CA/GX;EAAM,UAAA,IAAA,EAAA,MAAA,CAAA,EAAA,OAAA;AAOZ;AAAqE,UA4GpD,YAAA,CA5GoD;EAAZ,SAAA,MAAA,CAAA,EA6GrC,cA7GqC;;AAGxB,UA6GhB,iBA7GgB,CAAA,kBA8Gb,WA9Ga,CA8GD,UA9GC,CAAA,GA8Ga,WA9Gb,CA8GyB,UA9GzB,CAAA,CAAA,CAAA;EAAf,SAAA,OAAA,EAgHE,gBAhHF,CAgHmB,SAhHnB,CAAA;;;AAclB;;;;AAAkD,KA0GtC,YA1GsC,CAAA,CAAA,CAAA,GA0GtB,CA1GsB,SA0GZ,YA1GY,CAAA,KAAA,EAAA,CAAA,GAAA,CAAA,GA0GgB,UA1GhB,CA0G+B,CA1G/B,CAAA"}
package/package.json CHANGED
@@ -1,27 +1,27 @@
1
1
  {
2
2
  "name": "@prisma-next/sql-relational-core",
3
- "version": "0.3.0-dev.124",
3
+ "version": "0.3.0-dev.126",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "description": "Schema and column builders, operation attachment, and AST types for Prisma Next",
7
7
  "dependencies": {
8
8
  "arktype": "^2.1.29",
9
9
  "ts-toolbelt": "^9.6.0",
10
- "@prisma-next/plan": "0.3.0-dev.124",
11
- "@prisma-next/sql-contract": "0.3.0-dev.124",
12
- "@prisma-next/utils": "0.3.0-dev.124",
13
- "@prisma-next/operations": "0.3.0-dev.124",
14
- "@prisma-next/sql-operations": "0.3.0-dev.124",
15
- "@prisma-next/contract": "0.3.0-dev.124"
10
+ "@prisma-next/contract": "0.3.0-dev.126",
11
+ "@prisma-next/plan": "0.3.0-dev.126",
12
+ "@prisma-next/sql-contract": "0.3.0-dev.126",
13
+ "@prisma-next/sql-operations": "0.3.0-dev.126",
14
+ "@prisma-next/utils": "0.3.0-dev.126",
15
+ "@prisma-next/operations": "0.3.0-dev.126"
16
16
  },
17
17
  "devDependencies": {
18
18
  "tsdown": "0.18.4",
19
19
  "typescript": "5.9.3",
20
20
  "vitest": "4.0.17",
21
- "@prisma-next/sql-contract-ts": "0.3.0-dev.124",
21
+ "@prisma-next/sql-contract-ts": "0.3.0-dev.126",
22
22
  "@prisma-next/tsconfig": "0.0.0",
23
- "@prisma-next/test-utils": "0.0.1",
24
- "@prisma-next/tsdown": "0.0.0"
23
+ "@prisma-next/tsdown": "0.0.0",
24
+ "@prisma-next/test-utils": "0.0.1"
25
25
  },
26
26
  "files": [
27
27
  "dist",
package/src/types.ts CHANGED
@@ -263,35 +263,41 @@ type ExtractCodecOutputType<
263
263
  : never;
264
264
 
265
265
  /**
266
- * Extracts the model name for a given table from the contract mappings.
266
+ * Extracts the model name for a given table by iterating models to find the one
267
+ * whose `storage.table` matches.
267
268
  */
268
269
  type ExtractTableToModel<
269
270
  Contract extends SqlContract<SqlStorage>,
270
271
  TableName extends string,
271
- > = Contract['mappings'] extends {
272
- readonly tableToModel: infer TableToModel;
273
- }
274
- ? TableToModel extends Record<string, string>
275
- ? TableName extends keyof TableToModel
276
- ? TableToModel[TableName]
277
- : never
278
- : never
272
+ > = Contract['models'] extends infer Models extends Record<string, unknown>
273
+ ? {
274
+ [M in keyof Models & string]: Models[M] extends {
275
+ readonly storage: { readonly table: TableName };
276
+ }
277
+ ? M
278
+ : never;
279
+ }[keyof Models & string]
279
280
  : never;
280
281
 
281
282
  /**
282
- * Extracts the field name for a given table column from the contract mappings.
283
+ * Extracts the field name for a given column by finding the field in
284
+ * `model.storage.fields` whose `column` matches.
283
285
  */
284
286
  type ExtractColumnToField<
285
287
  Contract extends SqlContract<SqlStorage>,
286
288
  TableName extends string,
287
289
  ColumnName extends string,
288
- > = Contract['mappings'] extends {
289
- readonly columnToField: infer ColumnToField;
290
- }
291
- ? ColumnToField extends Record<string, Record<string, string>>
292
- ? TableName extends keyof ColumnToField
293
- ? ColumnName extends keyof ColumnToField[TableName]
294
- ? ColumnToField[TableName][ColumnName]
290
+ > = ExtractTableToModel<Contract, TableName> extends infer ModelName extends string
291
+ ? Contract['models'] extends infer Models extends Record<string, unknown>
292
+ ? ModelName & keyof Models extends infer MKey extends string
293
+ ? Models[MKey] extends {
294
+ readonly storage: { readonly fields: infer Fields extends Record<string, unknown> };
295
+ }
296
+ ? {
297
+ [F in keyof Fields & string]: Fields[F] extends { readonly column: ColumnName }
298
+ ? F
299
+ : never;
300
+ }[keyof Fields & string]
295
301
  : never
296
302
  : never
297
303
  : never
@@ -319,13 +325,8 @@ type ExtractFieldValue<
319
325
  : never;
320
326
 
321
327
  /**
322
- * Extracts the JavaScript type for a column from model mappings if available.
323
- * Returns `never` if the column maps to a ModelField object (which indicates
324
- * a relation that should fall through to codec-based type resolution).
325
- *
326
- * The check for ModelField uses `Exclude<keyof FieldValue, 'column'> extends never`
327
- * to ensure we only skip pure `{ column: string }` marker objects, not richer
328
- * object types that happen to include a `column` property.
328
+ * Extracts the JavaScript type for a column from model fields if available.
329
+ * Model fields in the .d.ts carry concrete JS types (e.g. `string`, `Char<36>`).
329
330
  */
330
331
  type ExtractColumnJsTypeFromModels<
331
332
  Contract extends SqlContract<SqlStorage>,
@@ -335,13 +336,7 @@ type ExtractColumnJsTypeFromModels<
335
336
  ? ModelName extends string
336
337
  ? ExtractColumnToField<Contract, TableName, ColumnName> extends infer FieldName
337
338
  ? FieldName extends string
338
- ? ExtractFieldValue<Contract, ModelName, FieldName> extends infer FieldValue
339
- ? FieldValue extends { readonly column: string }
340
- ? Exclude<keyof FieldValue, 'column'> extends never
341
- ? never
342
- : FieldValue
343
- : FieldValue
344
- : never
339
+ ? ExtractFieldValue<Contract, ModelName, FieldName>
345
340
  : never
346
341
  : never
347
342
  : never
@@ -1 +0,0 @@
1
- {"version":3,"file":"param-Cmdv_exJ.d.mts","names":[],"sources":["../src/param.ts"],"sourcesContent":[],"mappings":";;;KAGY,SAAA,GAAY;iBAER,KAAA,gBAAqB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-CMyotK6U.d.mts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":"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"}