@prisma-next/sql-contract 0.3.0-dev.131 → 0.3.0-dev.132

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,7 +8,7 @@ This package provides TypeScript type definitions, Arktype validators, and facto
8
8
 
9
9
  ## Responsibilities
10
10
 
11
- - **SQL Contract Types**: Defines SQL-specific contract types (`SqlContract`, `SqlStorage`, `StorageTable`, `ModelDefinition`, `SqlMappings`, `ForeignKeysConfig`) that extend framework-level contract types
11
+ - **SQL Contract Types**: Defines SQL-specific contract types (`SqlContract`, `SqlStorage`, `StorageTable`, `SqlModelStorage`, `SqlModelFieldStorage`, `ForeignKeysConfig`) that extend framework-level contract types
12
12
  - **Contract Validation**: Provides Arktype-based structural validators and the shared `validateContract` entrypoint for runtime-safe contract validation
13
13
  - **IR Factories**: Provides pure factory functions for constructing contract IR structures in tests and authoring
14
14
  - **Shared Plane Access**: Enables both migration-plane and runtime-plane packages to import SQL contract types without violating plane boundaries
@@ -25,7 +25,7 @@ Both `nativeType` and `codecId` are required to ensure contracts are consumable
25
25
 
26
26
  ## Package Contents
27
27
 
28
- - **TypeScript Types**: Type definitions for `SqlContract`, `SqlStorage`, `StorageTable`, `ModelDefinition`, `ForeignKeysConfig`, and related types
28
+ - **TypeScript Types**: Type definitions for `SqlContract`, `SqlStorage`, `StorageTable`, `SqlModelStorage`, `SqlModelFieldStorage`, `ForeignKeysConfig`, and related types
29
29
  - **Validators**: Arktype-based validators for structural validation of contracts, storage, and models
30
30
  - **Factories**: Pure factory functions for constructing contract IR structures in tests and authoring
31
31
 
@@ -40,7 +40,7 @@ import type {
40
40
  SqlContract,
41
41
  SqlStorage,
42
42
  StorageTable,
43
- ModelDefinition,
43
+ SqlModelStorage,
44
44
  ForeignKeysConfig,
45
45
  } from '@prisma-next/sql-contract/types';
46
46
  ```
@@ -123,15 +123,10 @@ const contract = validateContract<Contract>(contractJson);
123
123
  ```
124
124
 
125
125
  `validateContract` returns a constructed contract that:
126
- - Computes runtime-real `mappings` (modelToTable, tableToModel, fieldToColumn, columnToField) from models/storage
127
126
  - Strips `_generated` if present on input (emitter metadata is excluded from the returned value)
127
+ - Validates model-to-storage cross-references (table existence, column existence)
128
128
  - Does not require execution stack or runtime descriptors
129
129
 
130
- Mapping overrides in `contract.mappings` follow strict pair semantics:
131
- - `modelToTable` and `tableToModel` must either both be omitted (auto-computed) or both be provided as inverse maps.
132
- - `fieldToColumn` and `columnToField` must either both be omitted (auto-computed) or both be provided as inverse maps.
133
- - Codec and operation type maps are type-only (phantom channel) and are not present at runtime.
134
-
135
130
  ### Factories
136
131
 
137
132
  Use factory functions to construct contract IR structures in tests:
@@ -1,16 +1,7 @@
1
- import { A as SqlStorage, I as UniqueConstraint, M as StorageTable, T as SqlMappings, _ as PrimaryKey, f as Index, j as StorageColumn, l as ForeignKey, m as ModelField, p as ModelDefinition, u as ForeignKeyOptions, w as SqlContract } from "./types-CB821Pqa.mjs";
1
+ import { C as SqlModelStorage, D as StorageColumn, E as SqlStorage, M as UniqueConstraint, O as StorageTable, S as SqlModelFieldStorage, f as Index, l as ForeignKey, m as PrimaryKey, u as ForeignKeyOptions, x as SqlContract } from "./types-D6K16_9R.mjs";
2
2
  import { ExecutionHashBase, ProfileHashBase, StorageHashBase } from "@prisma-next/contract/types";
3
3
 
4
4
  //#region src/factories.d.ts
5
-
6
- /**
7
- * Creates a StorageColumn with nativeType and codecId.
8
- *
9
- * @param nativeType - Native database type identifier (e.g., 'int4', 'text', 'vector')
10
- * @param codecId - Codec identifier (e.g., 'pg/int4@1', 'pg/text@1')
11
- * @param nullable - Whether the column is nullable (default: false)
12
- * @returns StorageColumn with nativeType and codecId
13
- */
14
5
  declare function col(nativeType: string, codecId: string, nullable?: boolean): StorageColumn;
15
6
  declare function pk(...columns: readonly string[]): PrimaryKey;
16
7
  declare function unique(...columns: readonly string[]): UniqueConstraint;
@@ -25,16 +16,21 @@ declare function table(columns: Record<string, StorageColumn>, opts?: {
25
16
  indexes?: readonly Index[];
26
17
  fks?: readonly ForeignKey[];
27
18
  }): StorageTable;
28
- declare function model(table: string, fields: Record<string, ModelField>, relations?: Record<string, unknown>): ModelDefinition;
19
+ declare function model(tableName: string, fields: Record<string, SqlModelFieldStorage>, relations?: Record<string, unknown>): {
20
+ storage: SqlModelStorage;
21
+ fields: Record<string, {
22
+ nullable: boolean;
23
+ codecId?: string;
24
+ }>;
25
+ relations: Record<string, unknown>;
26
+ };
29
27
  declare function storage(tables: Record<string, StorageTable>): SqlStorage;
30
28
  declare function contract<TStorageHash extends StorageHashBase<string> = StorageHashBase<string>, TExecutionHash extends ExecutionHashBase<string> = ExecutionHashBase<string>, TProfileHash extends ProfileHashBase<string> = ProfileHashBase<string>>(opts: {
31
29
  target: string;
32
30
  storageHash: TStorageHash;
33
31
  executionHash?: TExecutionHash;
34
32
  storage: SqlStorage;
35
- models?: Record<string, ModelDefinition>;
36
- relations?: Record<string, unknown>;
37
- mappings?: Partial<SqlMappings>;
33
+ models?: Record<string, unknown>;
38
34
  schemaVersion?: '1';
39
35
  targetFamily?: 'sql';
40
36
  profileHash?: TProfileHash;
@@ -42,7 +38,7 @@ declare function contract<TStorageHash extends StorageHashBase<string> = Storage
42
38
  extensionPacks?: Record<string, unknown>;
43
39
  meta?: Record<string, unknown>;
44
40
  sources?: Record<string, unknown>;
45
- }): SqlContract<SqlStorage, Record<string, unknown>, Record<string, unknown>, SqlMappings, TStorageHash, TExecutionHash, TProfileHash>;
41
+ }): SqlContract<SqlStorage, Record<string, unknown>, TStorageHash, TExecutionHash, TProfileHash>;
46
42
  //#endregion
47
43
  export { col, contract, fk, index, model, pk, storage, table, unique };
48
44
  //# sourceMappingURL=factories.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factories.d.mts","names":[],"sources":["../src/factories.ts"],"sourcesContent":[],"mappings":";;;;;;;AA+BA;AAQA;AAMA;AAMA;AAMA;AAqBA;AAC0B,iBAhDV,GAAA,CAgDU,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,EAhDkD,aAgDlD;AAAf,iBAxCK,EAAA,CAwCL,GAAA,OAAA,EAAA,SAAA,MAAA,EAAA,CAAA,EAxCwC,UAwCxC;AAEF,iBApCO,MAAA,CAoCP,GAAA,OAAA,EAAA,SAAA,MAAA,EAAA,CAAA,EApC8C,gBAoC9C;AACc,iBA/BP,KAAA,CA+BO,GAAA,OAAA,EAAA,SAAA,MAAA,EAAA,CAAA,EA/B+B,KA+B/B;AACA,iBA1BP,EAAA,CA0BO,OAAA,EAAA,SAAA,MAAA,EAAA,EAAA,QAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,MAAA,EAAA,EAAA,IAGR,CAHQ,EAtBd,iBAsBc,GAAA;EACJ,UAAA,CAAA,EAAA,OAAA;EAEhB,KAAA,CAAA,EAAA,OAAA;CAAY,CAAA,EAxBZ,UAwBY;AAUC,iBAlBA,KAAA,CAkBK,OAAA,EAjBV,MAiBU,CAAA,MAAA,EAjBK,aAiBL,CAAA,EAAA,IAIH,CAJG,EAAA;EAEI,EAAA,CAAA,EAjBhB,UAiBgB;EAAf,OAAA,CAAA,EAAA,SAhBa,gBAgBb,EAAA;EACG,OAAA,CAAA,EAAA,SAhBU,KAgBV,EAAA;EACV,GAAA,CAAA,EAAA,SAhBgB,UAgBhB,EAAA;CAAe,CAAA,EAdf,YAce;AASF,iBAbA,KAAA,CAaO,KAAA,EAAA,MAAA,EAAA,MAAA,EAXb,MAWa,CAAA,MAAA,EAXE,UAWF,CAAA,EAAA,SAAA,CAAA,EAVV,MAUU,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,EATpB,eASoB;AAAwB,iBAA/B,OAAA,CAA+B,MAAA,EAAf,MAAe,CAAA,MAAA,EAAA,YAAA,CAAA,CAAA,EAAgB,UAAhB;AAAf,iBAIhB,QAJgB,CAAA,qBAKT,eALS,CAAA,MAAA,CAAA,GAKiB,eALjB,CAAA,MAAA,CAAA,EAAA,uBAMP,iBANO,CAAA,MAAA,CAAA,GAMqB,iBANrB,CAAA,MAAA,CAAA,EAAA,qBAOT,eAPS,CAAA,MAAA,CAAA,GAOiB,eAPjB,CAAA,MAAA,CAAA,CAAA,CAAA,IAAA,EAAA;EAA+B,MAAA,EAAA,MAAA;EAAU,WAAA,EAU1D,YAV0D;EAIzD,aAAQ,CAAA,EAON,cAPM;EACD,OAAA,EAOZ,UAPY;EAA0B,MAAA,CAAA,EAQtC,MARsC,CAAA,MAAA,EAQvB,eARuB,CAAA;EACxB,SAAA,CAAA,EAQX,MARW,CAAA,MAAA,EAAA,OAAA,CAAA;EAA4B,QAAA,CAAA,EASxC,OATwC,CAShC,WATgC,CAAA;EAC9B,aAAA,CAAA,EAAA,GAAA;EAA0B,YAAA,CAAA,EAAA,KAAA;EAGlC,WAAA,CAAA,EAQC,YARD;EACG,YAAA,CAAA,EAQD,MARC,CAAA,MAAA,EAQc,MARd,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA;EACP,cAAA,CAAA,EAQQ,MARR,CAAA,MAAA,EAAA,OAAA,CAAA;EACe,IAAA,CAAA,EAQjB,MARiB,CAAA,MAAA,EAAA,OAAA,CAAA;EAAf,OAAA,CAAA,EASC,MATD,CAAA,MAAA,EAAA,OAAA,CAAA;CACG,CAAA,EASV,WATU,CAUZ,UAVY,EAWZ,MAXY,CAAA,MAAA,EAAA,OAAA,CAAA,EAYZ,MAZY,CAAA,MAAA,EAAA,OAAA,CAAA,EAaZ,WAbY,EAcZ,YAdY,EAeZ,cAfY,EAgBZ,YAhBY,CAAA"}
1
+ {"version":3,"file":"factories.d.mts","names":[],"sources":["../src/factories.ts"],"sourcesContent":[],"mappings":";;;;iBAqBgB,GAAA,2DAA4D;iBAQ5D,EAAA,iCAAmC;AARnC,iBAcA,MAAA,CAd4D,GAAA,OAAa,EAAA,SAAA,MAAA,EAAA,CAAA,EAclC,gBAdkC;AAQzE,iBAYA,KAAA,CAZmC,GAAU,OAAA,EAAA,SAAA,MAAA,EAAA,CAAA,EAYP,KAZO;AAM7C,iBAYA,EAAA,CAZuC,OAAA,EAAA,SAAgB,MAAA,EAAA,EAAA,QAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,MAAA,EAAA,EAAA,IAiCvE,CAjCuE,EAgB9D,iBAhB8D,GAAA;EAMvD,UAAK,CAAA,EAAA,OAAiC;EAMtC,KAAE,CAAA,EAAA,OAAA;AAqBlB,CAAA,CAAA,EAhBG,UAgBkB;AACK,iBADV,KAAA,CACU,OAAA,EAAf,MAAe,CAAA,MAAA,EAAA,aAAA,CAAA,EAAA,IAKP,CALO,EAAA;EAAf,EAAA,CAAA,EAEF,UAFE;EAEF,OAAA,CAAA,EAAA,SACc,gBADd,EAAA;EACc,OAAA,CAAA,EAAA,SACA,KADA,EAAA;EACA,GAAA,CAAA,EAAA,SACJ,UADI,EAAA;CACJ,CAAA,EAEhB,YAFgB;AAEhB,iBAUa,KAAA,CAVb,SAAA,EAAA,MAAA,EAAA,MAAA,EAYO,MAZP,CAAA,MAAA,EAYsB,oBAZtB,CAAA,EAAA,SAAA,CAAA,EAaU,MAbV,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,EAAA;EAAY,OAAA,EAeJ,eAfI;EAUC,MAAA,EAMN,MANW,CAAA,MAAA,EAAA;IAEI,QAAA,EAAA,OAAA;IAAf,OAAA,CAAA,EAAA,MAAA;EACG,CAAA,CAAA;EAEF,SAAA,EAEE,MAFF,CAAA,MAAA,EAAA,OAAA,CAAA;CACD;AACG,iBAmBG,OAAA,CAnBH,MAAA,EAmBmB,MAnBnB,CAAA,MAAA,EAmBkC,YAnBlC,CAAA,CAAA,EAmBkD,UAnBlD;AAAM,iBAuBH,QAvBG,CAAA,qBAwBI,eAxBJ,CAAA,MAAA,CAAA,GAwB8B,eAxB9B,CAAA,MAAA,CAAA,EAAA,uBAyBM,iBAzBN,CAAA,MAAA,CAAA,GAyBkC,iBAzBlC,CAAA,MAAA,CAAA,EAAA,qBA0BI,eA1BJ,CAAA,MAAA,CAAA,GA0B8B,eA1B9B,CAAA,MAAA,CAAA,CAAA,CAAA,IAAA,EAAA;EAmBH,MAAA,EAAA,MAAO;EAAwB,WAAA,EAUhC,YAVgC;EAAf,aAAA,CAAA,EAWd,cAXc;EAA+B,OAAA,EAYpD,UAZoD;EAAU,MAAA,CAAA,EAa9D,MAb8D,CAAA,MAAA,EAAA,OAAA,CAAA;EAIzD,aAAQ,CAAA,EAAA,GAAA;EACD,YAAA,CAAA,EAAA,KAAA;EAA0B,WAAA,CAAA,EAWjC,YAXiC;EACxB,YAAA,CAAA,EAWR,MAXQ,CAAA,MAAA,EAWO,MAXP,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA;EAA4B,cAAA,CAAA,EAYlC,MAZkC,CAAA,MAAA,EAAA,OAAA,CAAA;EAC9B,IAAA,CAAA,EAYd,MAZc,CAAA,MAAA,EAAA,OAAA,CAAA;EAA0B,OAAA,CAAA,EAarC,MAbqC,CAAA,MAAA,EAAA,OAAA,CAAA;CAGlC,CAAA,EAWX,WAXW,CAWC,UAXD,EAWa,MAXb,CAAA,MAAA,EAAA,OAAA,CAAA,EAWsC,YAXtC,EAWoD,cAXpD,EAWoE,YAXpE,CAAA"}
@@ -1,14 +1,6 @@
1
1
  import { r as applyFkDefaults } from "./types-DRR5stkj.mjs";
2
2
 
3
3
  //#region src/factories.ts
4
- /**
5
- * Creates a StorageColumn with nativeType and codecId.
6
- *
7
- * @param nativeType - Native database type identifier (e.g., 'int4', 'text', 'vector')
8
- * @param codecId - Codec identifier (e.g., 'pg/int4@1', 'pg/text@1')
9
- * @param nullable - Whether the column is nullable (default: false)
10
- * @returns StorageColumn with nativeType and codecId
11
- */
12
4
  function col(nativeType, codecId, nullable = false) {
13
5
  return {
14
6
  nativeType,
@@ -50,10 +42,16 @@ function table(columns, opts) {
50
42
  foreignKeys: opts?.fks ?? []
51
43
  };
52
44
  }
53
- function model(table$1, fields, relations = {}) {
45
+ function model(tableName, fields, relations = {}) {
54
46
  return {
55
- storage: { table: table$1 },
56
- fields,
47
+ storage: {
48
+ table: tableName,
49
+ fields
50
+ },
51
+ fields: Object.fromEntries(Object.entries(fields).map(([name, field]) => [name, {
52
+ nullable: field.nullable ?? false,
53
+ ...field.codecId !== void 0 ? { codecId: field.codecId } : {}
54
+ }])),
57
55
  relations
58
56
  };
59
57
  }
@@ -69,8 +67,7 @@ function contract(opts) {
69
67
  ...opts.executionHash !== void 0 && { executionHash: opts.executionHash },
70
68
  storage: opts.storage,
71
69
  models: opts.models ?? {},
72
- relations: opts.relations ?? {},
73
- mappings: opts.mappings ?? {},
70
+ roots: {},
74
71
  ...opts.profileHash !== void 0 && { profileHash: opts.profileHash },
75
72
  ...opts.capabilities !== void 0 && { capabilities: opts.capabilities },
76
73
  ...opts.extensionPacks !== void 0 && { extensionPacks: opts.extensionPacks },
@@ -1 +1 @@
1
- {"version":3,"file":"factories.mjs","names":[],"sources":["../src/factories.ts"],"sourcesContent":["import type {\n ExecutionHashBase,\n ProfileHashBase,\n StorageHashBase,\n} from '@prisma-next/contract/types';\nimport type {\n ForeignKey,\n ForeignKeyOptions,\n ForeignKeyReferences,\n Index,\n ModelDefinition,\n ModelField,\n ModelStorage,\n PrimaryKey,\n SqlContract,\n SqlMappings,\n SqlStorage,\n StorageColumn,\n StorageTable,\n UniqueConstraint,\n} from './types';\nimport { applyFkDefaults } from './types';\n\n/**\n * Creates a StorageColumn with nativeType and codecId.\n *\n * @param nativeType - Native database type identifier (e.g., 'int4', 'text', 'vector')\n * @param codecId - Codec identifier (e.g., 'pg/int4@1', 'pg/text@1')\n * @param nullable - Whether the column is nullable (default: false)\n * @returns StorageColumn with nativeType and codecId\n */\nexport function col(nativeType: string, codecId: string, nullable = false): StorageColumn {\n return {\n nativeType,\n codecId,\n nullable,\n };\n}\n\nexport function pk(...columns: readonly string[]): PrimaryKey {\n return {\n columns,\n };\n}\n\nexport function unique(...columns: readonly string[]): UniqueConstraint {\n return {\n columns,\n };\n}\n\nexport function index(...columns: readonly string[]): Index {\n return {\n columns,\n };\n}\n\nexport function fk(\n columns: readonly string[],\n refTable: string,\n refColumns: readonly string[],\n opts?: ForeignKeyOptions & { constraint?: boolean; index?: boolean },\n): ForeignKey {\n const references: ForeignKeyReferences = {\n table: refTable,\n columns: refColumns,\n };\n\n return {\n columns,\n references,\n ...(opts?.name !== undefined && { name: opts.name }),\n ...(opts?.onDelete !== undefined && { onDelete: opts.onDelete }),\n ...(opts?.onUpdate !== undefined && { onUpdate: opts.onUpdate }),\n ...applyFkDefaults({ constraint: opts?.constraint, index: opts?.index }),\n };\n}\n\nexport function table(\n columns: Record<string, StorageColumn>,\n opts?: {\n pk?: PrimaryKey;\n uniques?: readonly UniqueConstraint[];\n indexes?: readonly Index[];\n fks?: readonly ForeignKey[];\n },\n): StorageTable {\n return {\n columns,\n ...(opts?.pk !== undefined && { primaryKey: opts.pk }),\n uniques: opts?.uniques ?? [],\n indexes: opts?.indexes ?? [],\n foreignKeys: opts?.fks ?? [],\n };\n}\n\nexport function model(\n table: string,\n fields: Record<string, ModelField>,\n relations: Record<string, unknown> = {},\n): ModelDefinition {\n const storage: ModelStorage = { table };\n return {\n storage,\n fields,\n relations,\n };\n}\n\nexport function storage(tables: Record<string, StorageTable>): SqlStorage {\n return { tables };\n}\n\nexport function contract<\n TStorageHash extends StorageHashBase<string> = StorageHashBase<string>,\n TExecutionHash extends ExecutionHashBase<string> = ExecutionHashBase<string>,\n TProfileHash extends ProfileHashBase<string> = ProfileHashBase<string>,\n>(opts: {\n target: string;\n storageHash: TStorageHash;\n executionHash?: TExecutionHash;\n storage: SqlStorage;\n models?: Record<string, ModelDefinition>;\n relations?: Record<string, unknown>;\n mappings?: Partial<SqlMappings>;\n schemaVersion?: '1';\n targetFamily?: 'sql';\n profileHash?: TProfileHash;\n capabilities?: Record<string, Record<string, boolean>>;\n extensionPacks?: Record<string, unknown>;\n meta?: Record<string, unknown>;\n sources?: Record<string, unknown>;\n}): SqlContract<\n SqlStorage,\n Record<string, unknown>,\n Record<string, unknown>,\n SqlMappings,\n TStorageHash,\n TExecutionHash,\n TProfileHash\n> {\n return {\n schemaVersion: opts.schemaVersion ?? '1',\n target: opts.target,\n targetFamily: opts.targetFamily ?? 'sql',\n storageHash: opts.storageHash,\n ...(opts.executionHash !== undefined && { executionHash: opts.executionHash }),\n storage: opts.storage,\n models: opts.models ?? {},\n relations: opts.relations ?? {},\n mappings: (opts.mappings ?? {}) as SqlMappings,\n ...(opts.profileHash !== undefined && { profileHash: opts.profileHash }),\n ...(opts.capabilities !== undefined && { capabilities: opts.capabilities }),\n ...(opts.extensionPacks !== undefined && { extensionPacks: opts.extensionPacks }),\n ...(opts.meta !== undefined && { meta: opts.meta }),\n ...(opts.sources !== undefined && { sources: opts.sources as Record<string, unknown> }),\n } as SqlContract<\n SqlStorage,\n Record<string, unknown>,\n Record<string, unknown>,\n SqlMappings,\n TStorageHash,\n TExecutionHash,\n TProfileHash\n >;\n}\n"],"mappings":";;;;;;;;;;;AA+BA,SAAgB,IAAI,YAAoB,SAAiB,WAAW,OAAsB;AACxF,QAAO;EACL;EACA;EACA;EACD;;AAGH,SAAgB,GAAG,GAAG,SAAwC;AAC5D,QAAO,EACL,SACD;;AAGH,SAAgB,OAAO,GAAG,SAA8C;AACtE,QAAO,EACL,SACD;;AAGH,SAAgB,MAAM,GAAG,SAAmC;AAC1D,QAAO,EACL,SACD;;AAGH,SAAgB,GACd,SACA,UACA,YACA,MACY;AAMZ,QAAO;EACL;EACA,YAPuC;GACvC,OAAO;GACP,SAAS;GACV;EAKC,GAAI,MAAM,SAAS,UAAa,EAAE,MAAM,KAAK,MAAM;EACnD,GAAI,MAAM,aAAa,UAAa,EAAE,UAAU,KAAK,UAAU;EAC/D,GAAI,MAAM,aAAa,UAAa,EAAE,UAAU,KAAK,UAAU;EAC/D,GAAG,gBAAgB;GAAE,YAAY,MAAM;GAAY,OAAO,MAAM;GAAO,CAAC;EACzE;;AAGH,SAAgB,MACd,SACA,MAMc;AACd,QAAO;EACL;EACA,GAAI,MAAM,OAAO,UAAa,EAAE,YAAY,KAAK,IAAI;EACrD,SAAS,MAAM,WAAW,EAAE;EAC5B,SAAS,MAAM,WAAW,EAAE;EAC5B,aAAa,MAAM,OAAO,EAAE;EAC7B;;AAGH,SAAgB,MACd,SACA,QACA,YAAqC,EAAE,EACtB;AAEjB,QAAO;EACL,SAF4B,EAAE,gBAAO;EAGrC;EACA;EACD;;AAGH,SAAgB,QAAQ,QAAkD;AACxE,QAAO,EAAE,QAAQ;;AAGnB,SAAgB,SAId,MAuBA;AACA,QAAO;EACL,eAAe,KAAK,iBAAiB;EACrC,QAAQ,KAAK;EACb,cAAc,KAAK,gBAAgB;EACnC,aAAa,KAAK;EAClB,GAAI,KAAK,kBAAkB,UAAa,EAAE,eAAe,KAAK,eAAe;EAC7E,SAAS,KAAK;EACd,QAAQ,KAAK,UAAU,EAAE;EACzB,WAAW,KAAK,aAAa,EAAE;EAC/B,UAAW,KAAK,YAAY,EAAE;EAC9B,GAAI,KAAK,gBAAgB,UAAa,EAAE,aAAa,KAAK,aAAa;EACvE,GAAI,KAAK,iBAAiB,UAAa,EAAE,cAAc,KAAK,cAAc;EAC1E,GAAI,KAAK,mBAAmB,UAAa,EAAE,gBAAgB,KAAK,gBAAgB;EAChF,GAAI,KAAK,SAAS,UAAa,EAAE,MAAM,KAAK,MAAM;EAClD,GAAI,KAAK,YAAY,UAAa,EAAE,SAAS,KAAK,SAAoC;EACvF"}
1
+ {"version":3,"file":"factories.mjs","names":[],"sources":["../src/factories.ts"],"sourcesContent":["import type {\n ExecutionHashBase,\n ProfileHashBase,\n StorageHashBase,\n} from '@prisma-next/contract/types';\nimport type {\n ForeignKey,\n ForeignKeyOptions,\n ForeignKeyReferences,\n Index,\n PrimaryKey,\n SqlContract,\n SqlModelFieldStorage,\n SqlModelStorage,\n SqlStorage,\n StorageColumn,\n StorageTable,\n UniqueConstraint,\n} from './types';\nimport { applyFkDefaults } from './types';\n\nexport function col(nativeType: string, codecId: string, nullable = false): StorageColumn {\n return {\n nativeType,\n codecId,\n nullable,\n };\n}\n\nexport function pk(...columns: readonly string[]): PrimaryKey {\n return {\n columns,\n };\n}\n\nexport function unique(...columns: readonly string[]): UniqueConstraint {\n return {\n columns,\n };\n}\n\nexport function index(...columns: readonly string[]): Index {\n return {\n columns,\n };\n}\n\nexport function fk(\n columns: readonly string[],\n refTable: string,\n refColumns: readonly string[],\n opts?: ForeignKeyOptions & { constraint?: boolean; index?: boolean },\n): ForeignKey {\n const references: ForeignKeyReferences = {\n table: refTable,\n columns: refColumns,\n };\n\n return {\n columns,\n references,\n ...(opts?.name !== undefined && { name: opts.name }),\n ...(opts?.onDelete !== undefined && { onDelete: opts.onDelete }),\n ...(opts?.onUpdate !== undefined && { onUpdate: opts.onUpdate }),\n ...applyFkDefaults({ constraint: opts?.constraint, index: opts?.index }),\n };\n}\n\nexport function table(\n columns: Record<string, StorageColumn>,\n opts?: {\n pk?: PrimaryKey;\n uniques?: readonly UniqueConstraint[];\n indexes?: readonly Index[];\n fks?: readonly ForeignKey[];\n },\n): StorageTable {\n return {\n columns,\n ...(opts?.pk !== undefined && { primaryKey: opts.pk }),\n uniques: opts?.uniques ?? [],\n indexes: opts?.indexes ?? [],\n foreignKeys: opts?.fks ?? [],\n };\n}\n\nexport function model(\n tableName: string,\n fields: Record<string, SqlModelFieldStorage>,\n relations: Record<string, unknown> = {},\n): {\n storage: SqlModelStorage;\n fields: Record<string, { nullable: boolean; codecId?: string }>;\n relations: Record<string, unknown>;\n} {\n const storage: SqlModelStorage = { table: tableName, fields };\n const domainFields = Object.fromEntries(\n Object.entries(fields).map(([name, field]) => [\n name,\n {\n nullable: field.nullable ?? false,\n ...(field.codecId !== undefined ? { codecId: field.codecId } : {}),\n },\n ]),\n ) as Record<string, { nullable: boolean; codecId?: string }>;\n return {\n storage,\n fields: domainFields,\n relations,\n };\n}\n\nexport function storage(tables: Record<string, StorageTable>): SqlStorage {\n return { tables };\n}\n\nexport function contract<\n TStorageHash extends StorageHashBase<string> = StorageHashBase<string>,\n TExecutionHash extends ExecutionHashBase<string> = ExecutionHashBase<string>,\n TProfileHash extends ProfileHashBase<string> = ProfileHashBase<string>,\n>(opts: {\n target: string;\n storageHash: TStorageHash;\n executionHash?: TExecutionHash;\n storage: SqlStorage;\n models?: Record<string, unknown>;\n schemaVersion?: '1';\n targetFamily?: 'sql';\n profileHash?: TProfileHash;\n capabilities?: Record<string, Record<string, boolean>>;\n extensionPacks?: Record<string, unknown>;\n meta?: Record<string, unknown>;\n sources?: Record<string, unknown>;\n}): SqlContract<SqlStorage, Record<string, unknown>, TStorageHash, TExecutionHash, TProfileHash> {\n return {\n schemaVersion: opts.schemaVersion ?? '1',\n target: opts.target,\n targetFamily: opts.targetFamily ?? 'sql',\n storageHash: opts.storageHash,\n ...(opts.executionHash !== undefined && { executionHash: opts.executionHash }),\n storage: opts.storage,\n models: opts.models ?? {},\n roots: {},\n ...(opts.profileHash !== undefined && { profileHash: opts.profileHash }),\n ...(opts.capabilities !== undefined && { capabilities: opts.capabilities }),\n ...(opts.extensionPacks !== undefined && { extensionPacks: opts.extensionPacks }),\n ...(opts.meta !== undefined && { meta: opts.meta }),\n ...(opts.sources !== undefined && { sources: opts.sources as Record<string, unknown> }),\n } as SqlContract<SqlStorage, Record<string, unknown>, TStorageHash, TExecutionHash, TProfileHash>;\n}\n"],"mappings":";;;AAqBA,SAAgB,IAAI,YAAoB,SAAiB,WAAW,OAAsB;AACxF,QAAO;EACL;EACA;EACA;EACD;;AAGH,SAAgB,GAAG,GAAG,SAAwC;AAC5D,QAAO,EACL,SACD;;AAGH,SAAgB,OAAO,GAAG,SAA8C;AACtE,QAAO,EACL,SACD;;AAGH,SAAgB,MAAM,GAAG,SAAmC;AAC1D,QAAO,EACL,SACD;;AAGH,SAAgB,GACd,SACA,UACA,YACA,MACY;AAMZ,QAAO;EACL;EACA,YAPuC;GACvC,OAAO;GACP,SAAS;GACV;EAKC,GAAI,MAAM,SAAS,UAAa,EAAE,MAAM,KAAK,MAAM;EACnD,GAAI,MAAM,aAAa,UAAa,EAAE,UAAU,KAAK,UAAU;EAC/D,GAAI,MAAM,aAAa,UAAa,EAAE,UAAU,KAAK,UAAU;EAC/D,GAAG,gBAAgB;GAAE,YAAY,MAAM;GAAY,OAAO,MAAM;GAAO,CAAC;EACzE;;AAGH,SAAgB,MACd,SACA,MAMc;AACd,QAAO;EACL;EACA,GAAI,MAAM,OAAO,UAAa,EAAE,YAAY,KAAK,IAAI;EACrD,SAAS,MAAM,WAAW,EAAE;EAC5B,SAAS,MAAM,WAAW,EAAE;EAC5B,aAAa,MAAM,OAAO,EAAE;EAC7B;;AAGH,SAAgB,MACd,WACA,QACA,YAAqC,EAAE,EAKvC;AAWA,QAAO;EACL,SAX+B;GAAE,OAAO;GAAW;GAAQ;EAY3D,QAXmB,OAAO,YAC1B,OAAO,QAAQ,OAAO,CAAC,KAAK,CAAC,MAAM,WAAW,CAC5C,MACA;GACE,UAAU,MAAM,YAAY;GAC5B,GAAI,MAAM,YAAY,SAAY,EAAE,SAAS,MAAM,SAAS,GAAG,EAAE;GAClE,CACF,CAAC,CACH;EAIC;EACD;;AAGH,SAAgB,QAAQ,QAAkD;AACxE,QAAO,EAAE,QAAQ;;AAGnB,SAAgB,SAId,MAa+F;AAC/F,QAAO;EACL,eAAe,KAAK,iBAAiB;EACrC,QAAQ,KAAK;EACb,cAAc,KAAK,gBAAgB;EACnC,aAAa,KAAK;EAClB,GAAI,KAAK,kBAAkB,UAAa,EAAE,eAAe,KAAK,eAAe;EAC7E,SAAS,KAAK;EACd,QAAQ,KAAK,UAAU,EAAE;EACzB,OAAO,EAAE;EACT,GAAI,KAAK,gBAAgB,UAAa,EAAE,aAAa,KAAK,aAAa;EACvE,GAAI,KAAK,iBAAiB,UAAa,EAAE,cAAc,KAAK,cAAc;EAC1E,GAAI,KAAK,mBAAmB,UAAa,EAAE,gBAAgB,KAAK,gBAAgB;EAChF,GAAI,KAAK,SAAS,UAAa,EAAE,MAAM,KAAK,MAAM;EAClD,GAAI,KAAK,YAAY,UAAa,EAAE,SAAS,KAAK,SAAoC;EACvF"}
@@ -103,18 +103,6 @@ type SqlStorage = {
103
103
  */
104
104
  readonly types?: Record<string, StorageTypeInstance>;
105
105
  };
106
- type ModelField = {
107
- readonly column: string;
108
- };
109
- type ModelStorage = {
110
- readonly table: string;
111
- };
112
- type ModelDefinition = {
113
- readonly storage: ModelStorage;
114
- readonly fields: Record<string, ModelField>;
115
- readonly relations: Record<string, unknown>;
116
- readonly owner?: string;
117
- };
118
106
  type SqlModelFieldStorage = {
119
107
  readonly column: string;
120
108
  readonly codecId?: string;
@@ -129,12 +117,6 @@ type SqlRelation = {
129
117
  readonly cardinality: '1:1' | '1:N' | 'N:1';
130
118
  readonly on: DomainRelationOn;
131
119
  };
132
- type SqlMappings = {
133
- readonly modelToTable?: Record<string, string>;
134
- readonly tableToModel?: Record<string, string>;
135
- readonly fieldToColumn?: Record<string, Record<string, string>>;
136
- readonly columnToField?: Record<string, Record<string, string>>;
137
- };
138
120
  declare const DEFAULT_FK_CONSTRAINT = true;
139
121
  declare const DEFAULT_FK_INDEX = true;
140
122
  declare function applyFkDefaults(fk: {
@@ -179,11 +161,10 @@ type QueryOperationTypesOf<T> = [T] extends [never] ? Record<string, never> : T
179
161
  } ? Q extends Record<string, unknown> ? Q : Record<string, never> : Record<string, never>;
180
162
  type TypeMapsPhantomKey = '__@prisma-next/sql-contract/typeMaps@__';
181
163
  type ContractWithTypeMaps<TContract, TTypeMaps> = TContract & { readonly [K in TypeMapsPhantomKey]?: TTypeMaps };
182
- type SqlContract<S extends SqlStorage = SqlStorage, M extends Record<string, unknown> = Record<string, unknown>, R extends Record<string, unknown> = Record<string, unknown>, Map extends SqlMappings = SqlMappings, TStorageHash extends StorageHashBase<string> = StorageHashBase<string>, TExecutionHash extends ExecutionHashBase<string> = ExecutionHashBase<string>, TProfileHash extends ProfileHashBase<string> = ProfileHashBase<string>> = ContractBase<TStorageHash, TExecutionHash, TProfileHash, M> & {
164
+ type SqlContract<S extends SqlStorage = SqlStorage, TModels extends Record<string, unknown> = Record<string, unknown>, TStorageHash extends StorageHashBase<string> = StorageHashBase<string>, TExecutionHash extends ExecutionHashBase<string> = ExecutionHashBase<string>, TProfileHash extends ProfileHashBase<string> = ProfileHashBase<string>> = Omit<ContractBase<TStorageHash, TExecutionHash, TProfileHash>, 'models'> & {
183
165
  readonly targetFamily: string;
184
166
  readonly storage: S;
185
- readonly relations: R;
186
- readonly mappings: Map;
167
+ readonly models: TModels;
187
168
  readonly execution?: ExecutionSection;
188
169
  };
189
170
  type ExtractTypeMapsFromContract<T> = TypeMapsPhantomKey extends keyof T ? NonNullable<T[TypeMapsPhantomKey & keyof T]> : never;
@@ -193,5 +174,5 @@ type ExtractQueryOperationTypes<T> = QueryOperationTypesOf<ExtractTypeMapsFromCo
193
174
  type ResolveCodecTypes<TContract, TTypeMaps> = [TTypeMaps] extends [never] ? ExtractCodecTypes<TContract> : CodecTypesOf<TTypeMaps>;
194
175
  type ResolveOperationTypes<TContract, TTypeMaps> = [TTypeMaps] extends [never] ? ExtractOperationTypes<TContract> : OperationTypesOf<TTypeMaps>;
195
176
  //#endregion
196
- export { SqlStorage as A, ResolveOperationTypes as C, SqlModelStorage as D, SqlModelFieldStorage as E, TypeMapsPhantomKey as F, UniqueConstraint as I, applyFkDefaults as L, StorageTable as M, StorageTypeInstance as N, SqlQueryOperationTypes as O, TypeMaps as P, ResolveCodecTypes as S, SqlMappings as T, PrimaryKey as _, ExtractCodecTypes as a, QueryOperationTypesOf as b, ExtractTypeMapsFromContract as c, ForeignKeyReferences as d, Index as f, OperationTypesOf as g, ModelStorage as h, DEFAULT_FK_INDEX as i, StorageColumn as j, SqlRelation as k, ForeignKey as l, ModelField as m, ContractWithTypeMaps as n, ExtractOperationTypes as o, ModelDefinition as p, DEFAULT_FK_CONSTRAINT as r, ExtractQueryOperationTypes as s, CodecTypesOf as t, ForeignKeyOptions as u, QueryOperationTypeEntry as v, SqlContract as w, ReferentialAction as x, QueryOperationTypesBase as y };
197
- //# sourceMappingURL=types-CB821Pqa.d.mts.map
177
+ export { TypeMaps as A, SqlModelStorage as C, StorageColumn as D, SqlStorage as E, UniqueConstraint as M, applyFkDefaults as N, StorageTable as O, SqlModelFieldStorage as S, SqlRelation as T, QueryOperationTypesOf as _, ExtractCodecTypes as a, ResolveOperationTypes as b, ExtractTypeMapsFromContract as c, ForeignKeyReferences as d, Index as f, QueryOperationTypesBase as g, QueryOperationTypeEntry as h, DEFAULT_FK_INDEX as i, TypeMapsPhantomKey as j, StorageTypeInstance as k, ForeignKey as l, PrimaryKey as m, ContractWithTypeMaps as n, ExtractOperationTypes as o, OperationTypesOf as p, DEFAULT_FK_CONSTRAINT as r, ExtractQueryOperationTypes as s, CodecTypesOf as t, ForeignKeyOptions as u, ReferentialAction as v, SqlQueryOperationTypes as w, SqlContract as x, ResolveCodecTypes as y };
178
+ //# sourceMappingURL=types-D6K16_9R.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-D6K16_9R.d.mts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types-DRR5stkj.mjs","names":[],"sources":["../src/types.ts"],"sourcesContent":["import type {\n ColumnDefault,\n ContractBase,\n DomainRelationOn,\n ExecutionHashBase,\n ExecutionSection,\n ProfileHashBase,\n StorageHashBase,\n} from '@prisma-next/contract/types';\n\n/**\n * A column definition in storage.\n *\n * `typeParams` is optional because most columns use non-parameterized types.\n * Columns with parameterized types can either inline `typeParams` or reference\n * a named {@link StorageTypeInstance} via `typeRef`.\n */\nexport type StorageColumn = {\n readonly nativeType: string;\n readonly codecId: string;\n readonly nullable: boolean;\n /**\n * Opaque, codec-owned JS/type parameters.\n * The codec that owns `codecId` defines the shape and semantics.\n * Mutually exclusive with `typeRef`.\n */\n readonly typeParams?: Record<string, unknown>;\n /**\n * Reference to a named type instance in `storage.types`.\n * Mutually exclusive with `typeParams`.\n */\n readonly typeRef?: string;\n /**\n * Default value for the column.\n * Can be a literal value or database function.\n */\n readonly default?: ColumnDefault;\n};\n\nexport type PrimaryKey = {\n readonly columns: readonly string[];\n readonly name?: string;\n};\n\nexport type UniqueConstraint = {\n readonly columns: readonly string[];\n readonly name?: string;\n};\n\nexport type Index = {\n readonly columns: readonly string[];\n readonly name?: string;\n /**\n * Optional access method identifier.\n * Extension-specific methods are represented as strings and interpreted\n * by the owning extension package.\n */\n readonly using?: string;\n /**\n * Optional extension-owned index configuration payload.\n */\n readonly config?: Record<string, unknown>;\n};\n\nexport type ForeignKeyReferences = {\n readonly table: string;\n readonly columns: readonly string[];\n};\n\nexport type ReferentialAction = 'noAction' | 'restrict' | 'cascade' | 'setNull' | 'setDefault';\n\nexport type ForeignKeyOptions = {\n readonly name?: string;\n readonly onDelete?: ReferentialAction;\n readonly onUpdate?: ReferentialAction;\n};\n\nexport type ForeignKey = {\n readonly columns: readonly string[];\n readonly references: ForeignKeyReferences;\n readonly name?: string;\n readonly onDelete?: ReferentialAction;\n readonly onUpdate?: ReferentialAction;\n /** Whether to emit FK constraint DDL (ALTER TABLE … ADD CONSTRAINT … FOREIGN KEY). */\n readonly constraint: boolean;\n /** Whether to emit a backing index for the FK columns. */\n readonly index: boolean;\n};\n\nexport type StorageTable = {\n readonly columns: Record<string, StorageColumn>;\n readonly primaryKey?: PrimaryKey;\n readonly uniques: ReadonlyArray<UniqueConstraint>;\n readonly indexes: ReadonlyArray<Index>;\n readonly foreignKeys: ReadonlyArray<ForeignKey>;\n};\n\n/**\n * A named, parameterized type instance.\n * These are registered in `storage.types` for reuse across columns\n * and to enable ergonomic schema surfaces like `schema.types.MyType`.\n *\n * Unlike {@link StorageColumn}, `typeParams` is required here because\n * `StorageTypeInstance` exists specifically to define reusable parameterized types.\n * A type instance without parameters would be redundant—columns can reference\n * the codec directly via `codecId`.\n */\nexport type StorageTypeInstance = {\n readonly codecId: string;\n readonly nativeType: string;\n readonly typeParams: Record<string, unknown>;\n};\n\nexport type SqlStorage = {\n readonly tables: Record<string, StorageTable>;\n /**\n * Named type instances for parameterized/custom types.\n * Columns can reference these via `typeRef`.\n */\n readonly types?: Record<string, StorageTypeInstance>;\n};\n\nexport type ModelField = {\n readonly column: string;\n};\n\nexport type ModelStorage = {\n readonly table: string;\n};\n\nexport type ModelDefinition = {\n readonly storage: ModelStorage;\n readonly fields: Record<string, ModelField>;\n readonly relations: Record<string, unknown>;\n readonly owner?: string;\n};\n\nexport type SqlModelFieldStorage = {\n readonly column: string;\n readonly codecId?: string;\n readonly nullable?: boolean;\n};\n\nexport type SqlModelStorage = {\n readonly table: string;\n readonly fields: Record<string, SqlModelFieldStorage>;\n};\n\nexport type SqlRelation = {\n readonly to: string;\n readonly cardinality: '1:1' | '1:N' | 'N:1';\n readonly on: DomainRelationOn;\n};\n\nexport type SqlMappings = {\n readonly modelToTable?: Record<string, string>;\n readonly tableToModel?: Record<string, string>;\n readonly fieldToColumn?: Record<string, Record<string, string>>;\n readonly columnToField?: Record<string, Record<string, string>>;\n};\n\nexport const DEFAULT_FK_CONSTRAINT = true;\nexport const DEFAULT_FK_INDEX = true;\n\nexport function applyFkDefaults(\n fk: { constraint?: boolean | undefined; index?: boolean | undefined },\n overrideDefaults?: { constraint?: boolean | undefined; index?: boolean | undefined },\n): { constraint: boolean; index: boolean } {\n return {\n constraint: fk.constraint ?? overrideDefaults?.constraint ?? DEFAULT_FK_CONSTRAINT,\n index: fk.index ?? overrideDefaults?.index ?? DEFAULT_FK_INDEX,\n };\n}\n\nexport type TypeMaps<\n TCodecTypes extends Record<string, { output: unknown }> = Record<string, never>,\n TOperationTypes extends Record<string, unknown> = Record<string, never>,\n TQueryOperationTypes extends Record<string, unknown> = Record<string, never>,\n> = {\n readonly codecTypes: TCodecTypes;\n readonly operationTypes: TOperationTypes;\n readonly queryOperationTypes: TQueryOperationTypes;\n};\n\nexport type CodecTypesOf<T> = [T] extends [never]\n ? Record<string, never>\n : T extends { readonly codecTypes: infer C }\n ? C extends Record<string, { output: unknown }>\n ? C\n : Record<string, never>\n : Record<string, never>;\n\nexport type OperationTypesOf<T> = [T] extends [never]\n ? Record<string, never>\n : T extends { readonly operationTypes: infer O }\n ? O extends Record<string, unknown>\n ? O\n : Record<string, never>\n : Record<string, never>;\n\nexport type QueryOperationTypeEntry = {\n readonly args: readonly { readonly codecId: string; readonly nullable: boolean }[];\n readonly returns: { readonly codecId: string; readonly nullable: boolean };\n};\n\nexport type SqlQueryOperationTypes<T extends Record<string, QueryOperationTypeEntry>> = T;\n\nexport type QueryOperationTypesBase = Record<string, QueryOperationTypeEntry>;\n\nexport type QueryOperationTypesOf<T> = [T] extends [never]\n ? Record<string, never>\n : T extends { readonly queryOperationTypes: infer Q }\n ? Q extends Record<string, unknown>\n ? Q\n : Record<string, never>\n : Record<string, never>;\n\nexport type TypeMapsPhantomKey = '__@prisma-next/sql-contract/typeMaps@__';\n\nexport type ContractWithTypeMaps<TContract, TTypeMaps> = TContract & {\n readonly [K in TypeMapsPhantomKey]?: TTypeMaps;\n};\n\nexport type SqlContract<\n S extends SqlStorage = SqlStorage,\n M extends Record<string, unknown> = Record<string, unknown>,\n R extends Record<string, unknown> = Record<string, unknown>,\n Map extends SqlMappings = SqlMappings,\n TStorageHash extends StorageHashBase<string> = StorageHashBase<string>,\n TExecutionHash extends ExecutionHashBase<string> = ExecutionHashBase<string>,\n TProfileHash extends ProfileHashBase<string> = ProfileHashBase<string>,\n> = ContractBase<TStorageHash, TExecutionHash, TProfileHash, M> & {\n readonly targetFamily: string;\n readonly storage: S;\n readonly relations: R;\n readonly mappings: Map;\n readonly execution?: ExecutionSection;\n};\n\nexport type ExtractTypeMapsFromContract<T> = TypeMapsPhantomKey extends keyof T\n ? NonNullable<T[TypeMapsPhantomKey & keyof T]>\n : never;\n\nexport type ExtractCodecTypes<T> = CodecTypesOf<ExtractTypeMapsFromContract<T>>;\nexport type ExtractOperationTypes<T> = OperationTypesOf<ExtractTypeMapsFromContract<T>>;\nexport type ExtractQueryOperationTypes<T> = QueryOperationTypesOf<ExtractTypeMapsFromContract<T>>;\n\nexport type ResolveCodecTypes<TContract, TTypeMaps> = [TTypeMaps] extends [never]\n ? ExtractCodecTypes<TContract>\n : CodecTypesOf<TTypeMaps>;\n\nexport type ResolveOperationTypes<TContract, TTypeMaps> = [TTypeMaps] extends [never]\n ? ExtractOperationTypes<TContract>\n : OperationTypesOf<TTypeMaps>;\n"],"mappings":";AAiKA,MAAa,wBAAwB;AACrC,MAAa,mBAAmB;AAEhC,SAAgB,gBACd,IACA,kBACyC;AACzC,QAAO;EACL,YAAY,GAAG,cAAc,kBAAkB,cAAc;EAC7D,OAAO,GAAG,SAAS,kBAAkB,SAAS;EAC/C"}
1
+ {"version":3,"file":"types-DRR5stkj.mjs","names":[],"sources":["../src/types.ts"],"sourcesContent":["import type {\n ColumnDefault,\n ContractBase,\n DomainRelationOn,\n ExecutionHashBase,\n ExecutionSection,\n ProfileHashBase,\n StorageHashBase,\n} from '@prisma-next/contract/types';\n\n/**\n * A column definition in storage.\n *\n * `typeParams` is optional because most columns use non-parameterized types.\n * Columns with parameterized types can either inline `typeParams` or reference\n * a named {@link StorageTypeInstance} via `typeRef`.\n */\nexport type StorageColumn = {\n readonly nativeType: string;\n readonly codecId: string;\n readonly nullable: boolean;\n /**\n * Opaque, codec-owned JS/type parameters.\n * The codec that owns `codecId` defines the shape and semantics.\n * Mutually exclusive with `typeRef`.\n */\n readonly typeParams?: Record<string, unknown>;\n /**\n * Reference to a named type instance in `storage.types`.\n * Mutually exclusive with `typeParams`.\n */\n readonly typeRef?: string;\n /**\n * Default value for the column.\n * Can be a literal value or database function.\n */\n readonly default?: ColumnDefault;\n};\n\nexport type PrimaryKey = {\n readonly columns: readonly string[];\n readonly name?: string;\n};\n\nexport type UniqueConstraint = {\n readonly columns: readonly string[];\n readonly name?: string;\n};\n\nexport type Index = {\n readonly columns: readonly string[];\n readonly name?: string;\n /**\n * Optional access method identifier.\n * Extension-specific methods are represented as strings and interpreted\n * by the owning extension package.\n */\n readonly using?: string;\n /**\n * Optional extension-owned index configuration payload.\n */\n readonly config?: Record<string, unknown>;\n};\n\nexport type ForeignKeyReferences = {\n readonly table: string;\n readonly columns: readonly string[];\n};\n\nexport type ReferentialAction = 'noAction' | 'restrict' | 'cascade' | 'setNull' | 'setDefault';\n\nexport type ForeignKeyOptions = {\n readonly name?: string;\n readonly onDelete?: ReferentialAction;\n readonly onUpdate?: ReferentialAction;\n};\n\nexport type ForeignKey = {\n readonly columns: readonly string[];\n readonly references: ForeignKeyReferences;\n readonly name?: string;\n readonly onDelete?: ReferentialAction;\n readonly onUpdate?: ReferentialAction;\n /** Whether to emit FK constraint DDL (ALTER TABLE … ADD CONSTRAINT … FOREIGN KEY). */\n readonly constraint: boolean;\n /** Whether to emit a backing index for the FK columns. */\n readonly index: boolean;\n};\n\nexport type StorageTable = {\n readonly columns: Record<string, StorageColumn>;\n readonly primaryKey?: PrimaryKey;\n readonly uniques: ReadonlyArray<UniqueConstraint>;\n readonly indexes: ReadonlyArray<Index>;\n readonly foreignKeys: ReadonlyArray<ForeignKey>;\n};\n\n/**\n * A named, parameterized type instance.\n * These are registered in `storage.types` for reuse across columns\n * and to enable ergonomic schema surfaces like `schema.types.MyType`.\n *\n * Unlike {@link StorageColumn}, `typeParams` is required here because\n * `StorageTypeInstance` exists specifically to define reusable parameterized types.\n * A type instance without parameters would be redundant—columns can reference\n * the codec directly via `codecId`.\n */\nexport type StorageTypeInstance = {\n readonly codecId: string;\n readonly nativeType: string;\n readonly typeParams: Record<string, unknown>;\n};\n\nexport type SqlStorage = {\n readonly tables: Record<string, StorageTable>;\n /**\n * Named type instances for parameterized/custom types.\n * Columns can reference these via `typeRef`.\n */\n readonly types?: Record<string, StorageTypeInstance>;\n};\n\nexport type SqlModelFieldStorage = {\n readonly column: string;\n readonly codecId?: string;\n readonly nullable?: boolean;\n};\n\nexport type SqlModelStorage = {\n readonly table: string;\n readonly fields: Record<string, SqlModelFieldStorage>;\n};\n\nexport type SqlRelation = {\n readonly to: string;\n readonly cardinality: '1:1' | '1:N' | 'N:1';\n readonly on: DomainRelationOn;\n};\n\nexport const DEFAULT_FK_CONSTRAINT = true;\nexport const DEFAULT_FK_INDEX = true;\n\nexport function applyFkDefaults(\n fk: { constraint?: boolean | undefined; index?: boolean | undefined },\n overrideDefaults?: { constraint?: boolean | undefined; index?: boolean | undefined },\n): { constraint: boolean; index: boolean } {\n return {\n constraint: fk.constraint ?? overrideDefaults?.constraint ?? DEFAULT_FK_CONSTRAINT,\n index: fk.index ?? overrideDefaults?.index ?? DEFAULT_FK_INDEX,\n };\n}\n\nexport type TypeMaps<\n TCodecTypes extends Record<string, { output: unknown }> = Record<string, never>,\n TOperationTypes extends Record<string, unknown> = Record<string, never>,\n TQueryOperationTypes extends Record<string, unknown> = Record<string, never>,\n> = {\n readonly codecTypes: TCodecTypes;\n readonly operationTypes: TOperationTypes;\n readonly queryOperationTypes: TQueryOperationTypes;\n};\n\nexport type CodecTypesOf<T> = [T] extends [never]\n ? Record<string, never>\n : T extends { readonly codecTypes: infer C }\n ? C extends Record<string, { output: unknown }>\n ? C\n : Record<string, never>\n : Record<string, never>;\n\nexport type OperationTypesOf<T> = [T] extends [never]\n ? Record<string, never>\n : T extends { readonly operationTypes: infer O }\n ? O extends Record<string, unknown>\n ? O\n : Record<string, never>\n : Record<string, never>;\n\nexport type QueryOperationTypeEntry = {\n readonly args: readonly { readonly codecId: string; readonly nullable: boolean }[];\n readonly returns: { readonly codecId: string; readonly nullable: boolean };\n};\n\nexport type SqlQueryOperationTypes<T extends Record<string, QueryOperationTypeEntry>> = T;\n\nexport type QueryOperationTypesBase = Record<string, QueryOperationTypeEntry>;\n\nexport type QueryOperationTypesOf<T> = [T] extends [never]\n ? Record<string, never>\n : T extends { readonly queryOperationTypes: infer Q }\n ? Q extends Record<string, unknown>\n ? Q\n : Record<string, never>\n : Record<string, never>;\n\nexport type TypeMapsPhantomKey = '__@prisma-next/sql-contract/typeMaps@__';\n\nexport type ContractWithTypeMaps<TContract, TTypeMaps> = TContract & {\n readonly [K in TypeMapsPhantomKey]?: TTypeMaps;\n};\n\nexport type SqlContract<\n S extends SqlStorage = SqlStorage,\n TModels extends Record<string, unknown> = Record<string, unknown>,\n TStorageHash extends StorageHashBase<string> = StorageHashBase<string>,\n TExecutionHash extends ExecutionHashBase<string> = ExecutionHashBase<string>,\n TProfileHash extends ProfileHashBase<string> = ProfileHashBase<string>,\n> = Omit<ContractBase<TStorageHash, TExecutionHash, TProfileHash>, 'models'> & {\n readonly targetFamily: string;\n readonly storage: S;\n readonly models: TModels;\n readonly execution?: ExecutionSection;\n};\n\nexport type ExtractTypeMapsFromContract<T> = TypeMapsPhantomKey extends keyof T\n ? NonNullable<T[TypeMapsPhantomKey & keyof T]>\n : never;\n\nexport type ExtractCodecTypes<T> = CodecTypesOf<ExtractTypeMapsFromContract<T>>;\nexport type ExtractOperationTypes<T> = OperationTypesOf<ExtractTypeMapsFromContract<T>>;\nexport type ExtractQueryOperationTypes<T> = QueryOperationTypesOf<ExtractTypeMapsFromContract<T>>;\n\nexport type ResolveCodecTypes<TContract, TTypeMaps> = [TTypeMaps] extends [never]\n ? ExtractCodecTypes<TContract>\n : CodecTypesOf<TTypeMaps>;\n\nexport type ResolveOperationTypes<TContract, TTypeMaps> = [TTypeMaps] extends [never]\n ? ExtractOperationTypes<TContract>\n : OperationTypesOf<TTypeMaps>;\n"],"mappings":";AA2IA,MAAa,wBAAwB;AACrC,MAAa,mBAAmB;AAEhC,SAAgB,gBACd,IACA,kBACyC;AACzC,QAAO;EACL,YAAY,GAAG,cAAc,kBAAkB,cAAc;EAC7D,OAAO,GAAG,SAAS,kBAAkB,SAAS;EAC/C"}
package/dist/types.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { A as SqlStorage, C as ResolveOperationTypes, D as SqlModelStorage, E as SqlModelFieldStorage, F as TypeMapsPhantomKey, I as UniqueConstraint, L as applyFkDefaults, M as StorageTable, N as StorageTypeInstance, O as SqlQueryOperationTypes, P as TypeMaps, S as ResolveCodecTypes, T as SqlMappings, _ as PrimaryKey, a as ExtractCodecTypes, b as QueryOperationTypesOf, c as ExtractTypeMapsFromContract, d as ForeignKeyReferences, f as Index, g as OperationTypesOf, h as ModelStorage, i as DEFAULT_FK_INDEX, j as StorageColumn, k as SqlRelation, l as ForeignKey, m as ModelField, n as ContractWithTypeMaps, o as ExtractOperationTypes, p as ModelDefinition, r as DEFAULT_FK_CONSTRAINT, s as ExtractQueryOperationTypes, t as CodecTypesOf, u as ForeignKeyOptions, v as QueryOperationTypeEntry, w as SqlContract, x as ReferentialAction, y as QueryOperationTypesBase } from "./types-CB821Pqa.mjs";
2
- export { type CodecTypesOf, type ContractWithTypeMaps, DEFAULT_FK_CONSTRAINT, DEFAULT_FK_INDEX, type ExtractCodecTypes, type ExtractOperationTypes, type ExtractQueryOperationTypes, type ExtractTypeMapsFromContract, type ForeignKey, type ForeignKeyOptions, type ForeignKeyReferences, type Index, type ModelDefinition, type ModelField, type ModelStorage, type OperationTypesOf, type PrimaryKey, type QueryOperationTypeEntry, type QueryOperationTypesBase, type QueryOperationTypesOf, type ReferentialAction, type ResolveCodecTypes, type ResolveOperationTypes, type SqlContract, type SqlMappings, type SqlModelFieldStorage, type SqlModelStorage, type SqlQueryOperationTypes, type SqlRelation, type SqlStorage, type StorageColumn, type StorageTable, type StorageTypeInstance, type TypeMaps, type TypeMapsPhantomKey, type UniqueConstraint, applyFkDefaults };
1
+ import { A as TypeMaps, C as SqlModelStorage, D as StorageColumn, E as SqlStorage, M as UniqueConstraint, N as applyFkDefaults, O as StorageTable, S as SqlModelFieldStorage, T as SqlRelation, _ as QueryOperationTypesOf, a as ExtractCodecTypes, b as ResolveOperationTypes, c as ExtractTypeMapsFromContract, d as ForeignKeyReferences, f as Index, g as QueryOperationTypesBase, h as QueryOperationTypeEntry, i as DEFAULT_FK_INDEX, j as TypeMapsPhantomKey, k as StorageTypeInstance, l as ForeignKey, m as PrimaryKey, n as ContractWithTypeMaps, o as ExtractOperationTypes, p as OperationTypesOf, r as DEFAULT_FK_CONSTRAINT, s as ExtractQueryOperationTypes, t as CodecTypesOf, u as ForeignKeyOptions, v as ReferentialAction, w as SqlQueryOperationTypes, x as SqlContract, y as ResolveCodecTypes } from "./types-D6K16_9R.mjs";
2
+ export { type CodecTypesOf, type ContractWithTypeMaps, DEFAULT_FK_CONSTRAINT, DEFAULT_FK_INDEX, type ExtractCodecTypes, type ExtractOperationTypes, type ExtractQueryOperationTypes, type ExtractTypeMapsFromContract, type ForeignKey, type ForeignKeyOptions, type ForeignKeyReferences, type Index, type OperationTypesOf, type PrimaryKey, type QueryOperationTypeEntry, type QueryOperationTypesBase, type QueryOperationTypesOf, type ReferentialAction, type ResolveCodecTypes, type ResolveOperationTypes, type SqlContract, type SqlModelFieldStorage, type SqlModelStorage, type SqlQueryOperationTypes, type SqlRelation, type SqlStorage, type StorageColumn, type StorageTable, type StorageTypeInstance, type TypeMaps, type TypeMapsPhantomKey, type UniqueConstraint, applyFkDefaults };
@@ -1,4 +1,4 @@
1
- import { A as SqlStorage, j as StorageColumn, w as SqlContract } from "./types-CB821Pqa.mjs";
1
+ import { D as StorageColumn, E as SqlStorage, x as SqlContract } from "./types-D6K16_9R.mjs";
2
2
  import "@prisma-next/contract/types";
3
3
 
4
4
  //#region src/validate.d.ts
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.mts","names":[],"sources":["../src/validate.ts"],"sourcesContent":[],"mappings":";;;;iBAgGgB,cAAA,SAAuB;AAAvB,iBAkCA,sBAlCuB,CAAa,UAkCH,WAlCG,CAkCS,UAlCT,CAAA,CAAA,CAAA,QAAA,EAkCgC,CAlChC,CAAA,EAkCoC,CAlCpC;AAkCpC,iBAmVA,iBAAA,CAnVsB,QAAA,EAAA,OAAA,CAAA,EAmVgB,WAnVhB,CAmV4B,UAnV5B,CAAA;AAAuB,iBA2Z7C,gBA3Z6C,CAAA,kBA2ZV,WA3ZU,CA2ZE,UA3ZF,CAAA,CAAA,CAAA,KAAA,EAAA,OAAA,CAAA,EA6Z1D,SA7Z0D"}
1
+ {"version":3,"file":"validate.d.mts","names":[],"sources":["../src/validate.ts"],"sourcesContent":[],"mappings":";;;;iBAgIgB,cAAA,SAAuB;AAAvB,iBAkCA,sBAlCuB,CAAa,UAkCH,WAlCG,CAkCS,UAlCT,CAAA,CAAA,CAAA,QAAA,EAkCgC,CAlChC,CAAA,EAkCoC,CAlCpC;AAkCpC,iBA+GA,iBAAA,CA/GsB,QAAA,EAAA,OAAA,CAAA,EA+GgB,WA/GhB,CA+G4B,UA/G5B,CAAA;AAAuB,iBAoJ7C,gBApJ6C,CAAA,kBAoJV,WApJU,CAoJE,UApJF,CAAA,CAAA,CAAA,KAAA,EAAA,OAAA,CAAA,EAsJ1D,SAtJ0D"}