@prisma-next/sqlite 0.12.0-dev.44 → 0.12.0-dev.45

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,5 +1,5 @@
1
1
  import sqlitePackRef from "@prisma-next/target-sqlite/pack";
2
- import { ComposedAuthoringHelpers, ComposedAuthoringHelpers as ComposedAuthoringHelpers$1, ContractDefinition, ContractInput, ContractInput as ContractInput$1, ContractModelBuilder, FieldNode, ForeignKeyNode, IndexNode, ModelLike, ModelLike as ModelLike$1, ModelNode, PrimaryKeyNode, RelationNode, ScalarFieldBuilder, UniqueConstraintNode, defineContract as defineContract$1, field, model, rel } from "@prisma-next/sql-contract-ts/contract-builder";
2
+ import { ComposedAuthoringHelpers, ComposedAuthoringHelpers as ComposedAuthoringHelpers$1, ContractDefinition, ContractInput, ContractInput as ContractInput$1, ContractModelBuilder, FieldNode, ForeignKeyNode, IndexNode, ModelLike, ModelLike as ModelLike$1, ModelNode, PrimaryKeyNode, RelationNode, ScalarFieldBuilder, UniqueConstraintNode, buildBoundContract, field, model, rel } from "@prisma-next/sql-contract-ts/contract-builder";
3
3
  import sqlFamilyPack from "@prisma-next/family-sql/pack";
4
4
  import { ExtensionPackRef } from "@prisma-next/framework-components/components";
5
5
  import { StorageTypeInstance } from "@prisma-next/sql-contract/types";
@@ -9,10 +9,11 @@ type SqlFamily = typeof sqlFamilyPack;
9
9
  type SqlitePack = typeof sqlitePackRef;
10
10
  type TypesConstraint = Record<string, StorageTypeInstance>;
11
11
  type ModelsConstraint = Record<string, ModelLike$1>;
12
- type SqliteResult<Types extends TypesConstraint, Models extends ModelsConstraint, ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined> = Omit<ReturnType<typeof defineContract$1<SqlFamily, SqlitePack, Types, Models, ExtensionPacks>>, 'target' | 'targetFamily'> & {
13
- readonly target: SqlitePack['targetId'];
14
- readonly targetFamily: SqlFamily['familyId'];
15
- };
12
+ type SqliteResult<Types extends TypesConstraint, Models extends ModelsConstraint, ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined> = ReturnType<typeof buildBoundContract<SqlFamily, SqlitePack, {
13
+ readonly types?: Types;
14
+ readonly models?: Models;
15
+ readonly extensionPacks?: ExtensionPacks;
16
+ }>>;
16
17
  type SqliteBaseScaffold<ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined> = Omit<ContractInput$1<SqlFamily, SqlitePack, Record<never, never>, Record<never, never>, ExtensionPacks>, 'family' | 'target' | 'types' | 'models'>;
17
18
  type SqliteDefinition<Types extends TypesConstraint, Models extends ModelsConstraint, ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined> = SqliteBaseScaffold<ExtensionPacks> & {
18
19
  readonly types?: Types;
@@ -1 +1 @@
1
- {"version":3,"file":"contract-builder.d.mts","names":[],"sources":["../src/contract/define-contract.ts"],"mappings":";;;;;;;KAYK,SAAA,UAAmB,aAAa;AAAA,KAChC,UAAA,UAAoB,aAAU;AAAA,KAE9B,eAAA,GAAkB,MAAM,SAAS,mBAAA;AAAA,KACjC,gBAAA,GAAmB,MAAM,SAAS,WAAA;AAAA,KAElC,YAAA,eACW,eAAA,iBACC,gBAAA,yBACQ,MAAA,SAAe,gBAAA,gCACpC,IAAA,CACF,UAAA,QAAkB,gBAAA,CAAmB,SAAA,EAAW,UAAA,EAAY,KAAA,EAAO,MAAA,EAAQ,cAAA;EAAA,SAGlE,MAAA,EAAQ,UAAA;EAAA,SACR,YAAA,EAAc,SAAA;AAAA;AAAA,KAGpB,kBAAA,wBACoB,MAAA,SAAe,gBAAA,gCACpC,IAAA,CACF,eAAA,CAAc,SAAA,EAAW,UAAA,EAAY,MAAA,gBAAsB,MAAA,gBAAsB,cAAA;AAAA,KAI9E,gBAAA,eACW,eAAA,iBACC,gBAAA,yBACQ,MAAA,SAAe,gBAAA,gCACpC,kBAAA,CAAmB,cAAA;EAAA,SACZ,KAAA,GAAQ,KAAA;EAAA,SACR,MAAA,GAAS,MAAA;AAAA;AAAA,KAGf,cAAA,wBACoB,MAAA,SAAe,gBAAA,gCACpC,kBAAA,CAAmB,cAAA;AAAA,iBAMP,cAAA,qBACM,eAAA,GAAkB,MAAA,qCACjB,gBAAA,GAAmB,MAAA,6CAEpC,MAAA,SAAe,gBAAA,yCAAA,CAGnB,UAAA,EAAY,gBAAA,CAAiB,KAAA,EAAO,MAAA,EAAQ,cAAA,IAC3C,YAAA,CAAa,KAAA,EAAO,MAAA,EAAQ,cAAA;AAAA,iBAEf,cAAA,qBACM,eAAA,GAAkB,MAAA,qCACjB,gBAAA,GAAmB,MAAA,6CAEpC,MAAA,SAAe,gBAAA,yCAAA,CAGnB,QAAA,EAAU,cAAA,CAAe,cAAA,GACzB,OAAA,GAAU,OAAA,EAAS,0BAAA,CAAyB,SAAA,EAAW,UAAA,EAAY,cAAA;EAAA,SACxD,KAAA,GAAQ,KAAA;EAAA,SACR,MAAA,GAAS,MAAA;AAAA,IAEnB,YAAA,CAAa,KAAA,EAAO,MAAA,EAAQ,cAAA"}
1
+ {"version":3,"file":"contract-builder.d.mts","names":[],"sources":["../src/contract/define-contract.ts"],"mappings":";;;;;;;KAYK,SAAA,UAAmB,aAAa;AAAA,KAChC,UAAA,UAAoB,aAAU;AAAA,KAE9B,eAAA,GAAkB,MAAM,SAAS,mBAAA;AAAA,KACjC,gBAAA,GAAmB,MAAM,SAAS,WAAA;AAAA,KAElC,YAAA,eACW,eAAA,iBACC,gBAAA,yBACQ,MAAA,SAAe,gBAAA,gCACpC,UAAA,QACK,kBAAA,CACL,SAAA,EACA,UAAA;EAAA,SACW,KAAA,GAAQ,KAAA;EAAA,SAAgB,MAAA,GAAS,MAAA;EAAA,SAAiB,cAAA,GAAiB,cAAA;AAAA;AAAA,KAI7E,kBAAA,wBACoB,MAAA,SAAe,gBAAA,gCACpC,IAAA,CACF,eAAA,CAAc,SAAA,EAAW,UAAA,EAAY,MAAA,gBAAsB,MAAA,gBAAsB,cAAA;AAAA,KAI9E,gBAAA,eACW,eAAA,iBACC,gBAAA,yBACQ,MAAA,SAAe,gBAAA,gCACpC,kBAAA,CAAmB,cAAA;EAAA,SACZ,KAAA,GAAQ,KAAA;EAAA,SACR,MAAA,GAAS,MAAA;AAAA;AAAA,KAGf,cAAA,wBACoB,MAAA,SAAe,gBAAA,gCACpC,kBAAA,CAAmB,cAAA;AAAA,iBAEP,cAAA,qBACM,eAAA,GAAkB,MAAA,qCACjB,gBAAA,GAAmB,MAAA,6CAEpC,MAAA,SAAe,gBAAA,yCAAA,CAGnB,UAAA,EAAY,gBAAA,CAAiB,KAAA,EAAO,MAAA,EAAQ,cAAA,IAC3C,YAAA,CAAa,KAAA,EAAO,MAAA,EAAQ,cAAA;AAAA,iBAEf,cAAA,qBACM,eAAA,GAAkB,MAAA,qCACjB,gBAAA,GAAmB,MAAA,6CAEpC,MAAA,SAAe,gBAAA,yCAAA,CAGnB,QAAA,EAAU,cAAA,CAAe,cAAA,GACzB,OAAA,GAAU,OAAA,EAAS,0BAAA,CAAyB,SAAA,EAAW,UAAA,EAAY,cAAA;EAAA,SACxD,KAAA,GAAQ,KAAA;EAAA,SACR,MAAA,GAAS,MAAA;AAAA,IAEnB,YAAA,CAAa,KAAA,EAAO,MAAA,EAAQ,cAAA"}
@@ -1,24 +1,15 @@
1
1
  import { sqliteCreateNamespace } from "@prisma-next/target-sqlite/control";
2
2
  import sqlitePackRef from "@prisma-next/target-sqlite/pack";
3
- import { defineContract as defineContract$1, field, model, rel } from "@prisma-next/sql-contract-ts/contract-builder";
3
+ import { buildBoundContract, field, model, rel } from "@prisma-next/sql-contract-ts/contract-builder";
4
4
  import sqlFamilyPack from "@prisma-next/family-sql/pack";
5
5
  //#region src/contract/define-contract.ts
6
- const sqliteAuthoringDefaults = { createNamespace: sqliteCreateNamespace };
7
- function defineContract(scaffold, factory) {
8
- const full = {
9
- ...scaffold,
10
- ...sqliteAuthoringDefaults,
11
- family: sqlFamilyPack,
12
- target: sqlitePackRef
6
+ function defineContract(definition, factory) {
7
+ const bound = {
8
+ ...definition,
9
+ createNamespace: sqliteCreateNamespace
13
10
  };
14
- if (factory !== void 0) {
15
- const { types: _t, models: _m, ...scaffoldOnly } = full;
16
- return defineContract$1({
17
- ...scaffoldOnly,
18
- ...sqliteAuthoringDefaults
19
- }, factory);
20
- }
21
- return defineContract$1(full);
11
+ if (factory !== void 0) return buildBoundContract(sqlFamilyPack, sqlitePackRef, bound, factory);
12
+ return buildBoundContract(sqlFamilyPack, sqlitePackRef, bound);
22
13
  }
23
14
  //#endregion
24
15
  export { defineContract, field, model, rel };
@@ -1 +1 @@
1
- {"version":3,"file":"contract-builder.mjs","names":["sqlitePack","baseDefineContract"],"sources":["../src/contract/define-contract.ts"],"sourcesContent":["import sqlFamilyPack from '@prisma-next/family-sql/pack';\nimport type { ExtensionPackRef } from '@prisma-next/framework-components/components';\nimport type { StorageTypeInstance } from '@prisma-next/sql-contract/types';\nimport type {\n ComposedAuthoringHelpers,\n ContractInput,\n ModelLike,\n} from '@prisma-next/sql-contract-ts/contract-builder';\nimport { defineContract as baseDefineContract } from '@prisma-next/sql-contract-ts/contract-builder';\nimport { sqliteCreateNamespace } from '@prisma-next/target-sqlite/control';\nimport sqlitePack from '@prisma-next/target-sqlite/pack';\n\ntype SqlFamily = typeof sqlFamilyPack;\ntype SqlitePack = typeof sqlitePack;\n\ntype TypesConstraint = Record<string, StorageTypeInstance>;\ntype ModelsConstraint = Record<string, ModelLike>;\n\ntype SqliteResult<\n Types extends TypesConstraint,\n Models extends ModelsConstraint,\n ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined,\n> = Omit<\n ReturnType<typeof baseDefineContract<SqlFamily, SqlitePack, Types, Models, ExtensionPacks>>,\n 'target' | 'targetFamily'\n> & {\n readonly target: SqlitePack['targetId'];\n readonly targetFamily: SqlFamily['familyId'];\n};\n\ntype SqliteBaseScaffold<\n ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined,\n> = Omit<\n ContractInput<SqlFamily, SqlitePack, Record<never, never>, Record<never, never>, ExtensionPacks>,\n 'family' | 'target' | 'types' | 'models'\n>;\n\ntype SqliteDefinition<\n Types extends TypesConstraint,\n Models extends ModelsConstraint,\n ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined,\n> = SqliteBaseScaffold<ExtensionPacks> & {\n readonly types?: Types;\n readonly models?: Models;\n};\n\ntype SqliteScaffold<\n ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined,\n> = SqliteBaseScaffold<ExtensionPacks>;\n\nconst sqliteAuthoringDefaults = {\n createNamespace: sqliteCreateNamespace,\n} as const;\n\nexport function defineContract<\n const Types extends TypesConstraint = Record<never, never>,\n const Models extends ModelsConstraint = Record<never, never>,\n const ExtensionPacks extends\n | Record<string, ExtensionPackRef<'sql', string>>\n | undefined = undefined,\n>(\n definition: SqliteDefinition<Types, Models, ExtensionPacks>,\n): SqliteResult<Types, Models, ExtensionPacks>;\n\nexport function defineContract<\n const Types extends TypesConstraint = Record<never, never>,\n const Models extends ModelsConstraint = Record<never, never>,\n const ExtensionPacks extends\n | Record<string, ExtensionPackRef<'sql', string>>\n | undefined = undefined,\n>(\n scaffold: SqliteScaffold<ExtensionPacks>,\n factory: (helpers: ComposedAuthoringHelpers<SqlFamily, SqlitePack, ExtensionPacks>) => {\n readonly types?: Types;\n readonly models?: Models;\n },\n): SqliteResult<Types, Models, ExtensionPacks>;\n\nexport function defineContract(\n scaffold: Omit<ContractInput, 'family' | 'target'>,\n factory?: (helpers: ComposedAuthoringHelpers<SqlFamily, SqlitePack, undefined>) => {\n readonly types?: TypesConstraint;\n readonly models?: ModelsConstraint;\n },\n): SqliteResult<TypesConstraint, ModelsConstraint, undefined> {\n const full = {\n ...scaffold,\n ...sqliteAuthoringDefaults,\n family: sqlFamilyPack,\n target: sqlitePack,\n } as ContractInput;\n if (factory !== undefined) {\n const { types: _t, models: _m, ...scaffoldOnly } = full;\n return baseDefineContract(\n { ...scaffoldOnly, ...sqliteAuthoringDefaults },\n factory as Parameters<typeof baseDefineContract>[1],\n ) as unknown as SqliteResult<TypesConstraint, ModelsConstraint, undefined>;\n }\n return baseDefineContract(full) as unknown as SqliteResult<\n TypesConstraint,\n ModelsConstraint,\n undefined\n >;\n}\n"],"mappings":";;;;;AAkDA,MAAM,0BAA0B,EAC9B,iBAAiB,sBACnB;AA0BA,SAAgB,eACd,UACA,SAI4D;CAC5D,MAAM,OAAO;EACX,GAAG;EACH,GAAG;EACH,QAAQ;EACR,QAAQA;CACV;CACA,IAAI,YAAY,KAAA,GAAW;EACzB,MAAM,EAAE,OAAO,IAAI,QAAQ,IAAI,GAAG,iBAAiB;EACnD,OAAOC,iBACL;GAAE,GAAG;GAAc,GAAG;EAAwB,GAC9C,OACF;CACF;CACA,OAAOA,iBAAmB,IAAI;AAKhC"}
1
+ {"version":3,"file":"contract-builder.mjs","names":["sqlitePack"],"sources":["../src/contract/define-contract.ts"],"sourcesContent":["import sqlFamilyPack from '@prisma-next/family-sql/pack';\nimport type { ExtensionPackRef } from '@prisma-next/framework-components/components';\nimport type { StorageTypeInstance } from '@prisma-next/sql-contract/types';\nimport type {\n ComposedAuthoringHelpers,\n ContractInput,\n ModelLike,\n} from '@prisma-next/sql-contract-ts/contract-builder';\nimport { buildBoundContract } from '@prisma-next/sql-contract-ts/contract-builder';\nimport { sqliteCreateNamespace } from '@prisma-next/target-sqlite/control';\nimport sqlitePack from '@prisma-next/target-sqlite/pack';\n\ntype SqlFamily = typeof sqlFamilyPack;\ntype SqlitePack = typeof sqlitePack;\n\ntype TypesConstraint = Record<string, StorageTypeInstance>;\ntype ModelsConstraint = Record<string, ModelLike>;\n\ntype SqliteResult<\n Types extends TypesConstraint,\n Models extends ModelsConstraint,\n ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined,\n> = ReturnType<\n typeof buildBoundContract<\n SqlFamily,\n SqlitePack,\n { readonly types?: Types; readonly models?: Models; readonly extensionPacks?: ExtensionPacks }\n >\n>;\n\ntype SqliteBaseScaffold<\n ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined,\n> = Omit<\n ContractInput<SqlFamily, SqlitePack, Record<never, never>, Record<never, never>, ExtensionPacks>,\n 'family' | 'target' | 'types' | 'models'\n>;\n\ntype SqliteDefinition<\n Types extends TypesConstraint,\n Models extends ModelsConstraint,\n ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined,\n> = SqliteBaseScaffold<ExtensionPacks> & {\n readonly types?: Types;\n readonly models?: Models;\n};\n\ntype SqliteScaffold<\n ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined,\n> = SqliteBaseScaffold<ExtensionPacks>;\n\nexport function defineContract<\n const Types extends TypesConstraint = Record<never, never>,\n const Models extends ModelsConstraint = Record<never, never>,\n const ExtensionPacks extends\n | Record<string, ExtensionPackRef<'sql', string>>\n | undefined = undefined,\n>(\n definition: SqliteDefinition<Types, Models, ExtensionPacks>,\n): SqliteResult<Types, Models, ExtensionPacks>;\n\nexport function defineContract<\n const Types extends TypesConstraint = Record<never, never>,\n const Models extends ModelsConstraint = Record<never, never>,\n const ExtensionPacks extends\n | Record<string, ExtensionPackRef<'sql', string>>\n | undefined = undefined,\n>(\n scaffold: SqliteScaffold<ExtensionPacks>,\n factory: (helpers: ComposedAuthoringHelpers<SqlFamily, SqlitePack, ExtensionPacks>) => {\n readonly types?: Types;\n readonly models?: Models;\n },\n): SqliteResult<Types, Models, ExtensionPacks>;\n\n// Implementation — delegates to buildBoundContract which pre-binds family/target,\n// carrying zero casts at this layer.\nexport function defineContract(\n definition: SqliteDefinition<TypesConstraint, ModelsConstraint, undefined>,\n factory?: (helpers: ComposedAuthoringHelpers<SqlFamily, SqlitePack, undefined>) => {\n readonly types?: TypesConstraint;\n readonly models?: ModelsConstraint;\n },\n): SqliteResult<TypesConstraint, ModelsConstraint, undefined> {\n const bound = { ...definition, createNamespace: sqliteCreateNamespace };\n if (factory !== undefined) {\n return buildBoundContract(sqlFamilyPack, sqlitePack, bound, factory);\n }\n return buildBoundContract(sqlFamilyPack, sqlitePack, bound);\n}\n"],"mappings":";;;;;AA4EA,SAAgB,eACd,YACA,SAI4D;CAC5D,MAAM,QAAQ;EAAE,GAAG;EAAY,iBAAiB;CAAsB;CACtE,IAAI,YAAY,KAAA,GACd,OAAO,mBAAmB,eAAeA,eAAY,OAAO,OAAO;CAErE,OAAO,mBAAmB,eAAeA,eAAY,KAAK;AAC5D"}
package/package.json CHANGED
@@ -1,33 +1,33 @@
1
1
  {
2
2
  "name": "@prisma-next/sqlite",
3
- "version": "0.12.0-dev.44",
3
+ "version": "0.12.0-dev.45",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "sideEffects": false,
7
7
  "description": "One-liner lazy SQLite client composition for Prisma Next",
8
8
  "dependencies": {
9
- "@prisma-next/adapter-sqlite": "0.12.0-dev.44",
10
- "@prisma-next/cli": "0.12.0-dev.44",
11
- "@prisma-next/config": "0.12.0-dev.44",
12
- "@prisma-next/contract": "0.12.0-dev.44",
13
- "@prisma-next/driver-sqlite": "0.12.0-dev.44",
14
- "@prisma-next/family-sql": "0.12.0-dev.44",
15
- "@prisma-next/framework-components": "0.12.0-dev.44",
16
- "@prisma-next/sql-builder": "0.12.0-dev.44",
17
- "@prisma-next/sql-contract": "0.12.0-dev.44",
18
- "@prisma-next/sql-contract-psl": "0.12.0-dev.44",
19
- "@prisma-next/sql-contract-ts": "0.12.0-dev.44",
20
- "@prisma-next/sql-orm-client": "0.12.0-dev.44",
21
- "@prisma-next/sql-relational-core": "0.12.0-dev.44",
22
- "@prisma-next/sql-runtime": "0.12.0-dev.44",
23
- "@prisma-next/target-sqlite": "0.12.0-dev.44",
24
- "@prisma-next/utils": "0.12.0-dev.44",
9
+ "@prisma-next/adapter-sqlite": "0.12.0-dev.45",
10
+ "@prisma-next/cli": "0.12.0-dev.45",
11
+ "@prisma-next/config": "0.12.0-dev.45",
12
+ "@prisma-next/contract": "0.12.0-dev.45",
13
+ "@prisma-next/driver-sqlite": "0.12.0-dev.45",
14
+ "@prisma-next/family-sql": "0.12.0-dev.45",
15
+ "@prisma-next/framework-components": "0.12.0-dev.45",
16
+ "@prisma-next/sql-builder": "0.12.0-dev.45",
17
+ "@prisma-next/sql-contract": "0.12.0-dev.45",
18
+ "@prisma-next/sql-contract-psl": "0.12.0-dev.45",
19
+ "@prisma-next/sql-contract-ts": "0.12.0-dev.45",
20
+ "@prisma-next/sql-orm-client": "0.12.0-dev.45",
21
+ "@prisma-next/sql-relational-core": "0.12.0-dev.45",
22
+ "@prisma-next/sql-runtime": "0.12.0-dev.45",
23
+ "@prisma-next/target-sqlite": "0.12.0-dev.45",
24
+ "@prisma-next/utils": "0.12.0-dev.45",
25
25
  "pathe": "^2.0.3"
26
26
  },
27
27
  "devDependencies": {
28
- "@prisma-next/test-utils": "0.12.0-dev.44",
29
- "@prisma-next/tsconfig": "0.12.0-dev.44",
30
- "@prisma-next/tsdown": "0.12.0-dev.44",
28
+ "@prisma-next/test-utils": "0.12.0-dev.45",
29
+ "@prisma-next/tsconfig": "0.12.0-dev.45",
30
+ "@prisma-next/tsdown": "0.12.0-dev.45",
31
31
  "tsdown": "0.22.0",
32
32
  "typescript": "5.9.3",
33
33
  "vitest": "4.1.6"
@@ -6,7 +6,7 @@ import type {
6
6
  ContractInput,
7
7
  ModelLike,
8
8
  } from '@prisma-next/sql-contract-ts/contract-builder';
9
- import { defineContract as baseDefineContract } from '@prisma-next/sql-contract-ts/contract-builder';
9
+ import { buildBoundContract } from '@prisma-next/sql-contract-ts/contract-builder';
10
10
  import { sqliteCreateNamespace } from '@prisma-next/target-sqlite/control';
11
11
  import sqlitePack from '@prisma-next/target-sqlite/pack';
12
12
 
@@ -20,13 +20,13 @@ type SqliteResult<
20
20
  Types extends TypesConstraint,
21
21
  Models extends ModelsConstraint,
22
22
  ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined,
23
- > = Omit<
24
- ReturnType<typeof baseDefineContract<SqlFamily, SqlitePack, Types, Models, ExtensionPacks>>,
25
- 'target' | 'targetFamily'
26
- > & {
27
- readonly target: SqlitePack['targetId'];
28
- readonly targetFamily: SqlFamily['familyId'];
29
- };
23
+ > = ReturnType<
24
+ typeof buildBoundContract<
25
+ SqlFamily,
26
+ SqlitePack,
27
+ { readonly types?: Types; readonly models?: Models; readonly extensionPacks?: ExtensionPacks }
28
+ >
29
+ >;
30
30
 
31
31
  type SqliteBaseScaffold<
32
32
  ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined,
@@ -48,10 +48,6 @@ type SqliteScaffold<
48
48
  ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined,
49
49
  > = SqliteBaseScaffold<ExtensionPacks>;
50
50
 
51
- const sqliteAuthoringDefaults = {
52
- createNamespace: sqliteCreateNamespace,
53
- } as const;
54
-
55
51
  export function defineContract<
56
52
  const Types extends TypesConstraint = Record<never, never>,
57
53
  const Models extends ModelsConstraint = Record<never, never>,
@@ -76,29 +72,18 @@ export function defineContract<
76
72
  },
77
73
  ): SqliteResult<Types, Models, ExtensionPacks>;
78
74
 
75
+ // Implementation — delegates to buildBoundContract which pre-binds family/target,
76
+ // carrying zero casts at this layer.
79
77
  export function defineContract(
80
- scaffold: Omit<ContractInput, 'family' | 'target'>,
78
+ definition: SqliteDefinition<TypesConstraint, ModelsConstraint, undefined>,
81
79
  factory?: (helpers: ComposedAuthoringHelpers<SqlFamily, SqlitePack, undefined>) => {
82
80
  readonly types?: TypesConstraint;
83
81
  readonly models?: ModelsConstraint;
84
82
  },
85
83
  ): SqliteResult<TypesConstraint, ModelsConstraint, undefined> {
86
- const full = {
87
- ...scaffold,
88
- ...sqliteAuthoringDefaults,
89
- family: sqlFamilyPack,
90
- target: sqlitePack,
91
- } as ContractInput;
84
+ const bound = { ...definition, createNamespace: sqliteCreateNamespace };
92
85
  if (factory !== undefined) {
93
- const { types: _t, models: _m, ...scaffoldOnly } = full;
94
- return baseDefineContract(
95
- { ...scaffoldOnly, ...sqliteAuthoringDefaults },
96
- factory as Parameters<typeof baseDefineContract>[1],
97
- ) as unknown as SqliteResult<TypesConstraint, ModelsConstraint, undefined>;
86
+ return buildBoundContract(sqlFamilyPack, sqlitePack, bound, factory);
98
87
  }
99
- return baseDefineContract(full) as unknown as SqliteResult<
100
- TypesConstraint,
101
- ModelsConstraint,
102
- undefined
103
- >;
88
+ return buildBoundContract(sqlFamilyPack, sqlitePack, bound);
104
89
  }