@prisma-next/contract 0.3.0-dev.128 → 0.3.0-dev.129

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,4 +1,4 @@
1
- import { O as RenderTypeContext, z as TypesImportSpec } from "./types-BD141m9P.mjs";
1
+ import { O as RenderTypeContext, z as TypesImportSpec } from "./types-C-8ymVYK.mjs";
2
2
 
3
3
  //#region src/framework-components.d.ts
4
4
 
@@ -10,23 +10,38 @@ type DomainRelationOn = {
10
10
  readonly localFields: readonly string[];
11
11
  readonly targetFields: readonly string[];
12
12
  };
13
- type DomainRelation = {
13
+ type DomainReferenceRelation = {
14
14
  readonly to: string;
15
15
  readonly cardinality: '1:1' | '1:N' | 'N:1';
16
- readonly on?: DomainRelationOn;
16
+ readonly on: DomainRelationOn;
17
17
  };
18
+ type DomainEmbedRelation = {
19
+ readonly to: string;
20
+ readonly cardinality: '1:1' | '1:N';
21
+ };
22
+ type DomainRelation = DomainReferenceRelation | DomainEmbedRelation;
18
23
  type DomainDiscriminator = {
19
24
  readonly field: string;
20
25
  };
26
+ type DomainVariantEntry = {
27
+ readonly value: string;
28
+ };
21
29
  type DomainModel = {
22
30
  readonly fields: Record<string, DomainField>;
23
31
  readonly relations: Record<string, DomainRelation>;
24
32
  readonly storage: Record<string, unknown>;
25
33
  readonly discriminator?: DomainDiscriminator;
26
- readonly variants?: Record<string, unknown>;
34
+ readonly variants?: Record<string, DomainVariantEntry>;
27
35
  readonly base?: string;
28
36
  readonly owner?: string;
29
37
  };
38
+ type HasModelsWithRelations = {
39
+ readonly models: Record<string, {
40
+ readonly relations: Record<string, DomainRelation>;
41
+ }>;
42
+ };
43
+ type ReferenceRelationKeys<TContract extends HasModelsWithRelations, ModelName extends string & keyof TContract['models']> = { [K in keyof TContract['models'][ModelName]['relations']]: TContract['models'][ModelName]['relations'][K] extends DomainReferenceRelation ? K : never }[keyof TContract['models'][ModelName]['relations']];
44
+ type EmbedRelationKeys<TContract extends HasModelsWithRelations, ModelName extends string & keyof TContract['models']> = { [K in keyof TContract['models'][ModelName]['relations']]: TContract['models'][ModelName]['relations'][K] extends DomainReferenceRelation ? never : K }[keyof TContract['models'][ModelName]['relations']];
30
45
  //#endregion
31
46
  //#region src/types.d.ts
32
47
  /**
@@ -424,5 +439,5 @@ interface ParameterizedCodecDescriptor {
424
439
  readonly typesImport?: TypesImportSpec;
425
440
  }
426
441
  //#endregion
427
- export { Source as A, ValidationContext as B, ParamDescriptor as C, ProfileHashBase as D, PlanRefs as E, TargetFamilyHook as F, isTaggedRaw as G, coreHash as H, TypeRenderContext as I, DomainField as J, profileHash as K, TypeRenderEntry as L, TaggedBigInt as M, TaggedLiteralValue as N, RenderTypeContext as O, TaggedRaw as P, TypeRenderer as R, JsonValue as S, PlanMeta as T, isDocumentContract as U, bigintJsonReplacer as V, isTaggedBigInt as W, DomainRelation as X, DomainModel as Y, DomainRelationOn as Z, Expr as _, ColumnDefaultLiteralValue as a, GeneratedValueSpec as b, DocCollection as c, DocumentStorage as d, ExecutionHashBase as f, ExecutionSection as g, ExecutionPlan as h, ColumnDefaultLiteralInputValue as i, StorageHashBase as j, ResultType as k, DocIndex as l, ExecutionMutationDefaultValue as m, Brand as n, ContractBase as o, ExecutionMutationDefault as p, DomainDiscriminator as q, ColumnDefault as r, ContractMarkerRecord as s, $ as t, DocumentContract as u, FieldType as v, ParameterizedCodecDescriptor as w, JsonPrimitive as x, GenerateContractTypesOptions as y, TypesImportSpec as z };
428
- //# sourceMappingURL=types-BD141m9P.d.mts.map
442
+ export { DomainRelationOn as $, Source as A, ValidationContext as B, ParamDescriptor as C, ProfileHashBase as D, PlanRefs as E, TargetFamilyHook as F, isTaggedRaw as G, coreHash as H, TypeRenderContext as I, DomainEmbedRelation as J, profileHash as K, TypeRenderEntry as L, TaggedBigInt as M, TaggedLiteralValue as N, RenderTypeContext as O, TaggedRaw as P, DomainRelation as Q, TypeRenderer as R, JsonValue as S, PlanMeta as T, isDocumentContract as U, bigintJsonReplacer as V, isTaggedBigInt as W, DomainModel as X, DomainField as Y, DomainReferenceRelation as Z, Expr as _, ColumnDefaultLiteralValue as a, GeneratedValueSpec as b, DocCollection as c, DocumentStorage as d, DomainVariantEntry as et, ExecutionHashBase as f, ExecutionSection as g, ExecutionPlan as h, ColumnDefaultLiteralInputValue as i, StorageHashBase as j, ResultType as k, DocIndex as l, ExecutionMutationDefaultValue as m, Brand as n, ReferenceRelationKeys as nt, ContractBase as o, ExecutionMutationDefault as p, DomainDiscriminator as q, ColumnDefault as r, ContractMarkerRecord as s, $ as t, EmbedRelationKeys as tt, DocumentContract as u, FieldType as v, ParameterizedCodecDescriptor as w, JsonPrimitive as x, GenerateContractTypesOptions as y, TypesImportSpec as z };
443
+ //# sourceMappingURL=types-C-8ymVYK.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-C-8ymVYK.d.mts","names":[],"sources":["../src/domain-types.ts","../src/types.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/types.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { A as Source, B as ValidationContext, C as ParamDescriptor, D as ProfileHashBase, E as PlanRefs, F as TargetFamilyHook, G as isTaggedRaw, H as coreHash, I as TypeRenderContext, J as DomainField, K as profileHash, L as TypeRenderEntry, M as TaggedBigInt, N as TaggedLiteralValue, O as RenderTypeContext, P as TaggedRaw, R as TypeRenderer, S as JsonValue, T as PlanMeta, U as isDocumentContract, V as bigintJsonReplacer, W as isTaggedBigInt, X as DomainRelation, Y as DomainModel, Z as DomainRelationOn, _ as Expr, a as ColumnDefaultLiteralValue, b as GeneratedValueSpec, c as DocCollection, d as DocumentStorage, f as ExecutionHashBase, g as ExecutionSection, h as ExecutionPlan, i as ColumnDefaultLiteralInputValue, j as StorageHashBase, k as ResultType, l as DocIndex, m as ExecutionMutationDefaultValue, n as Brand, o as ContractBase, p as ExecutionMutationDefault, q as DomainDiscriminator, r as ColumnDefault, s as ContractMarkerRecord, t as $, u as DocumentContract, v as FieldType, w as ParameterizedCodecDescriptor, x as JsonPrimitive, y as GenerateContractTypesOptions, z as TypesImportSpec } from "./types-BD141m9P.mjs";
2
- export { type $, type Brand, type ColumnDefault, type ColumnDefaultLiteralInputValue, type ColumnDefaultLiteralValue, type ContractBase, type ContractMarkerRecord, type DocCollection, type DocIndex, type DocumentContract, type DocumentStorage, type DomainDiscriminator, type DomainField, type DomainModel, type DomainRelation, type DomainRelationOn, type ExecutionHashBase, type ExecutionMutationDefault, type ExecutionMutationDefaultValue, type ExecutionPlan, type ExecutionSection, type Expr, type FieldType, type GenerateContractTypesOptions, type GeneratedValueSpec, type JsonPrimitive, type JsonValue, type ParamDescriptor, type ParameterizedCodecDescriptor, type PlanMeta, type PlanRefs, type ProfileHashBase, type RenderTypeContext, type ResultType, type Source, type StorageHashBase, type TaggedBigInt, type TaggedLiteralValue, type TaggedRaw, type TargetFamilyHook, type TypeRenderContext, type TypeRenderEntry, type TypeRenderer, type TypesImportSpec, type ValidationContext, bigintJsonReplacer, coreHash, isDocumentContract, isTaggedBigInt, isTaggedRaw, profileHash };
1
+ import { $ as DomainRelationOn, A as Source, B as ValidationContext, C as ParamDescriptor, D as ProfileHashBase, E as PlanRefs, F as TargetFamilyHook, G as isTaggedRaw, H as coreHash, I as TypeRenderContext, J as DomainEmbedRelation, K as profileHash, L as TypeRenderEntry, M as TaggedBigInt, N as TaggedLiteralValue, O as RenderTypeContext, P as TaggedRaw, Q as DomainRelation, R as TypeRenderer, S as JsonValue, T as PlanMeta, U as isDocumentContract, V as bigintJsonReplacer, W as isTaggedBigInt, X as DomainModel, Y as DomainField, Z as DomainReferenceRelation, _ as Expr, a as ColumnDefaultLiteralValue, b as GeneratedValueSpec, c as DocCollection, d as DocumentStorage, et as DomainVariantEntry, f as ExecutionHashBase, g as ExecutionSection, h as ExecutionPlan, i as ColumnDefaultLiteralInputValue, j as StorageHashBase, k as ResultType, l as DocIndex, m as ExecutionMutationDefaultValue, n as Brand, nt as ReferenceRelationKeys, o as ContractBase, p as ExecutionMutationDefault, q as DomainDiscriminator, r as ColumnDefault, s as ContractMarkerRecord, t as $, tt as EmbedRelationKeys, u as DocumentContract, v as FieldType, w as ParameterizedCodecDescriptor, x as JsonPrimitive, y as GenerateContractTypesOptions, z as TypesImportSpec } from "./types-C-8ymVYK.mjs";
2
+ export { type $, type Brand, type ColumnDefault, type ColumnDefaultLiteralInputValue, type ColumnDefaultLiteralValue, type ContractBase, type ContractMarkerRecord, type DocCollection, type DocIndex, type DocumentContract, type DocumentStorage, type DomainDiscriminator, type DomainEmbedRelation, type DomainField, type DomainModel, type DomainReferenceRelation, type DomainRelation, type DomainRelationOn, type DomainVariantEntry, type EmbedRelationKeys, type ExecutionHashBase, type ExecutionMutationDefault, type ExecutionMutationDefaultValue, type ExecutionPlan, type ExecutionSection, type Expr, type FieldType, type GenerateContractTypesOptions, type GeneratedValueSpec, type JsonPrimitive, type JsonValue, type ParamDescriptor, type ParameterizedCodecDescriptor, type PlanMeta, type PlanRefs, type ProfileHashBase, type ReferenceRelationKeys, type RenderTypeContext, type ResultType, type Source, type StorageHashBase, type TaggedBigInt, type TaggedLiteralValue, type TaggedRaw, type TargetFamilyHook, type TypeRenderContext, type TypeRenderEntry, type TypeRenderer, type TypesImportSpec, type ValidationContext, bigintJsonReplacer, coreHash, isDocumentContract, isTaggedBigInt, isTaggedRaw, profileHash };
package/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@prisma-next/contract",
3
- "version": "0.3.0-dev.128",
3
+ "version": "0.3.0-dev.129",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "description": "Data contract type definitions and JSON schema for Prisma Next",
7
7
  "dependencies": {
8
- "@prisma-next/operations": "0.3.0-dev.128"
8
+ "@prisma-next/operations": "0.3.0-dev.129"
9
9
  },
10
10
  "devDependencies": {
11
11
  "tsdown": "0.18.4",
12
12
  "typescript": "5.9.3",
13
13
  "vitest": "4.0.17",
14
- "@prisma-next/tsconfig": "0.0.0",
15
14
  "@prisma-next/test-utils": "0.0.1",
16
- "@prisma-next/tsdown": "0.0.0"
15
+ "@prisma-next/tsdown": "0.0.0",
16
+ "@prisma-next/tsconfig": "0.0.0"
17
17
  },
18
18
  "files": [
19
19
  "dist",
@@ -8,22 +8,55 @@ export type DomainRelationOn = {
8
8
  readonly targetFields: readonly string[];
9
9
  };
10
10
 
11
- export type DomainRelation = {
11
+ export type DomainReferenceRelation = {
12
12
  readonly to: string;
13
13
  readonly cardinality: '1:1' | '1:N' | 'N:1';
14
- readonly on?: DomainRelationOn;
14
+ readonly on: DomainRelationOn;
15
15
  };
16
16
 
17
+ export type DomainEmbedRelation = {
18
+ readonly to: string;
19
+ readonly cardinality: '1:1' | '1:N';
20
+ };
21
+
22
+ export type DomainRelation = DomainReferenceRelation | DomainEmbedRelation;
23
+
17
24
  export type DomainDiscriminator = {
18
25
  readonly field: string;
19
26
  };
20
27
 
28
+ export type DomainVariantEntry = {
29
+ readonly value: string;
30
+ };
31
+
21
32
  export type DomainModel = {
22
33
  readonly fields: Record<string, DomainField>;
23
34
  readonly relations: Record<string, DomainRelation>;
24
35
  readonly storage: Record<string, unknown>;
25
36
  readonly discriminator?: DomainDiscriminator;
26
- readonly variants?: Record<string, unknown>;
37
+ readonly variants?: Record<string, DomainVariantEntry>;
27
38
  readonly base?: string;
28
39
  readonly owner?: string;
29
40
  };
41
+
42
+ type HasModelsWithRelations = {
43
+ readonly models: Record<string, { readonly relations: Record<string, DomainRelation> }>;
44
+ };
45
+
46
+ export type ReferenceRelationKeys<
47
+ TContract extends HasModelsWithRelations,
48
+ ModelName extends string & keyof TContract['models'],
49
+ > = {
50
+ [K in keyof TContract['models'][ModelName]['relations']]: TContract['models'][ModelName]['relations'][K] extends DomainReferenceRelation
51
+ ? K
52
+ : never;
53
+ }[keyof TContract['models'][ModelName]['relations']];
54
+
55
+ export type EmbedRelationKeys<
56
+ TContract extends HasModelsWithRelations,
57
+ ModelName extends string & keyof TContract['models'],
58
+ > = {
59
+ [K in keyof TContract['models'][ModelName]['relations']]: TContract['models'][ModelName]['relations'][K] extends DomainReferenceRelation
60
+ ? never
61
+ : K;
62
+ }[keyof TContract['models'][ModelName]['relations']];
@@ -1,9 +1,14 @@
1
1
  export type {
2
2
  DomainDiscriminator,
3
+ DomainEmbedRelation,
3
4
  DomainField,
4
5
  DomainModel,
6
+ DomainReferenceRelation,
5
7
  DomainRelation,
6
8
  DomainRelationOn,
9
+ DomainVariantEntry,
10
+ EmbedRelationKeys,
11
+ ReferenceRelationKeys,
7
12
  } from '../domain-types';
8
13
  export type {
9
14
  $,
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-BD141m9P.d.mts","names":[],"sources":["../src/domain-types.ts","../src/types.ts"],"sourcesContent":[],"mappings":"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"}