@prisma-next/contract 0.12.0-dev.58 → 0.12.0-dev.59
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/dist/apply-specifier-default-control-policy.d.mts +1 -1
- package/dist/{canonicalization-BSZc9PDq.d.mts → canonicalization-CD47XFoI.d.mts} +2 -2
- package/dist/{canonicalization-BSZc9PDq.d.mts.map → canonicalization-CD47XFoI.d.mts.map} +1 -1
- package/dist/{contract-types-CLCtjM2o.d.mts → contract-types-DOAvsrDH.d.mts} +2 -2
- package/dist/{contract-types-CLCtjM2o.d.mts.map → contract-types-DOAvsrDH.d.mts.map} +1 -1
- package/dist/{domain-envelope-thW3xgZA.d.mts → domain-envelope-D77BgImA.d.mts} +44 -2
- package/dist/domain-envelope-D77BgImA.d.mts.map +1 -0
- package/dist/hashing-utils.d.mts +1 -1
- package/dist/hashing.d.mts +2 -2
- package/dist/{resolve-domain-model-Bij116t4.d.mts → resolve-domain-model-DKWy5t__.d.mts} +2 -2
- package/dist/{resolve-domain-model-Bij116t4.d.mts.map → resolve-domain-model-DKWy5t__.d.mts.map} +1 -1
- package/dist/resolve-domain-model.d.mts +1 -1
- package/dist/types.d.mts +4 -4
- package/dist/validate-domain.d.mts +1 -1
- package/package.json +4 -4
- package/src/domain-envelope.ts +2 -1
- package/src/domain-types.ts +12 -0
- package/src/exports/types.ts +2 -0
- package/src/value-set-ref.ts +26 -0
- package/dist/domain-envelope-thW3xgZA.d.mts.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { L as ControlPolicy, t as Contract } from "./contract-types-
|
|
1
|
+
import { L as ControlPolicy, t as Contract } from "./contract-types-DOAvsrDH.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/apply-specifier-default-control-policy.d.ts
|
|
4
4
|
declare function applySpecifierDefaultControlPolicy(contract: Contract, specifierDefault: ControlPolicy | undefined): Contract;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as Contract } from "./contract-types-
|
|
1
|
+
import { t as Contract } from "./contract-types-DOAvsrDH.mjs";
|
|
2
2
|
import { JsonObject } from "@prisma-next/utils/json";
|
|
3
3
|
|
|
4
4
|
//#region src/canonicalization.d.ts
|
|
@@ -66,4 +66,4 @@ declare function canonicalizeContractToObject(contract: Contract, options: Canon
|
|
|
66
66
|
declare function canonicalizeContract(contract: Contract, options: CanonicalizeContractOptions): string;
|
|
67
67
|
//#endregion
|
|
68
68
|
export { canonicalizeContract as a, StorageSort as i, PreserveEmptyPredicate as n, canonicalizeContractToObject as o, SerializeContract as r, CanonicalizeContractOptions as t };
|
|
69
|
-
//# sourceMappingURL=canonicalization-
|
|
69
|
+
//# sourceMappingURL=canonicalization-CD47XFoI.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonicalization-
|
|
1
|
+
{"version":3,"file":"canonicalization-CD47XFoI.d.mts","names":[],"sources":["../src/canonicalization.ts"],"mappings":";;;;;;AAcA;;;;;;KAAY,iBAAA,IAAqB,QAAA,EAAU,QAAA,KAAa,UAAU;;AAAA;AAUlE;;;;AAA6D;AAS7D;KATY,sBAAA,IAA0B,IAAuB;;;AASlB;AAqL3C;;;;KArLY,WAAA,IAAe,OAAgB;AAAA,UAqL1B,2BAAA;EAAA,SACN,aAAA;EAAA;;;;;;;;AA0ByB;AAQpC;EAlCW,SAWA,iBAAA,EAAmB,iBAAA;;;;;;;WAOnB,mBAAA,GAAsB,sBAAA;EAiB/B;;;;;AAEO;AA2BT;EA7BE,SATS,WAAA,GAAc,WAAA;AAAA;;;;;;iBAQT,4BAAA,CACd,QAAA,EAAU,QAAA,EACV,OAAA,EAAS,2BAAA,GACR,MAAA;AAAA,iBA2Ba,oBAAA,CACd,QAAA,EAAU,QAAA,EACV,OAAA,EAAS,2BAA2B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { C as CrossReference, m as ContractValueObject, t as ApplicationDomain, u as ContractModelBase } from "./domain-envelope-D77BgImA.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/control-policy.d.ts
|
|
4
4
|
/**
|
|
@@ -268,4 +268,4 @@ type NamespaceValueObjectsOf<TNamespace> = TNamespace extends {
|
|
|
268
268
|
type ContractValueObjectDefinitions<TContract extends Contract> = NamespaceValueObjectsOf<TContract['domain']['namespaces'][ExactlyOneNamespace<TContract['domain']['namespaces']>]> extends infer Projected ? Projected extends Record<string, ContractValueObject> ? Projected : Record<never, never> : Record<never, never>;
|
|
269
269
|
//#endregion
|
|
270
270
|
export { StorageNamespace as A, LedgerEntryRecord as C, StorageBase as D, Source as E, isExecutionMutationDefaultValue as F, profileHash as I, ControlPolicy as L, executionHash as M, isColumnDefault as N, StorageEntitySlot as O, isColumnDefaultLiteralInputValue as P, effectiveControlPolicy as R, JsonValue as S, ProfileHashBase as T, ExecutionSection as _, $ as a, GeneratedValueSpec as b, ColumnDefaultLiteralInputValue as c, DocCollection as d, DocIndex as f, ExecutionMutationDefaultValue as g, ExecutionMutationDefaultPhases as h, ContractValueObjectDefinitions as i, coreHash as j, StorageHashBase as k, ColumnDefaultLiteralValue as l, ExecutionMutationDefault as m, ContractExecutionSection as n, Brand as o, ExecutionHashBase as p, ContractModelDefinitions as r, ColumnDefault as s, Contract as t, ContractMarkerRecord as u, Expr as v, PlanMeta as w, JsonPrimitive as x, FieldType as y };
|
|
271
|
-
//# sourceMappingURL=contract-types-
|
|
271
|
+
//# sourceMappingURL=contract-types-DOAvsrDH.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-types-
|
|
1
|
+
{"version":3,"file":"contract-types-DOAvsrDH.d.mts","names":[],"sources":["../src/control-policy.ts","../src/types.ts","../src/contract-types.ts"],"mappings":"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"}
|
|
@@ -12,6 +12,34 @@ interface CrossReference {
|
|
|
12
12
|
declare const CrossReferenceSchema: import("arktype/internal/variants/object.ts").ObjectType<CrossReference, {}>;
|
|
13
13
|
declare function crossRef(model: string, namespace?: string): CrossReference;
|
|
14
14
|
//#endregion
|
|
15
|
+
//#region src/value-set-ref.d.ts
|
|
16
|
+
/**
|
|
17
|
+
* Space-aware reference coordinate for a domain enum or storage value-set.
|
|
18
|
+
*
|
|
19
|
+
* `plane` names the contract plane the referenced entity lives in:
|
|
20
|
+
* - `'domain'` — the entity lives in the domain plane's `enum` slot.
|
|
21
|
+
* - `'storage'` — the entity lives in the storage plane's `valueSet` slot.
|
|
22
|
+
*
|
|
23
|
+
* `entityKind` names the source entity-kind:
|
|
24
|
+
* - `'enum'` — the referenced entity is a domain enum.
|
|
25
|
+
* - `'value-set'` — the referenced entity is a storage value-set.
|
|
26
|
+
*
|
|
27
|
+
* `namespaceId` admits the `UNBOUND_NAMESPACE_ID` (`__unbound__`) sentinel for
|
|
28
|
+
* single-namespace (unbound) references.
|
|
29
|
+
*
|
|
30
|
+
* Cross-space discrimination is presence-based: when `spaceId` is absent the
|
|
31
|
+
* reference is local (same contract-space); when `spaceId` is present the
|
|
32
|
+
* reference is cross-space. This mirrors the `ForeignKeyReference` carrier
|
|
33
|
+
* convention — no separate tag field — so local refs are JSON-minimal.
|
|
34
|
+
*/
|
|
35
|
+
interface ValueSetRef {
|
|
36
|
+
readonly plane: 'domain' | 'storage';
|
|
37
|
+
readonly namespaceId: string;
|
|
38
|
+
readonly entityKind: 'enum' | 'value-set';
|
|
39
|
+
readonly name: string;
|
|
40
|
+
readonly spaceId?: string;
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
15
43
|
//#region src/domain-types.d.ts
|
|
16
44
|
type ScalarFieldType = {
|
|
17
45
|
readonly kind: 'scalar';
|
|
@@ -32,6 +60,19 @@ type ContractField = {
|
|
|
32
60
|
readonly type: ContractFieldType;
|
|
33
61
|
readonly many?: true;
|
|
34
62
|
readonly dict?: true;
|
|
63
|
+
readonly valueSet?: ValueSetRef;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* A domain enum: an ordered set of named members, each with a codec-encoded
|
|
67
|
+
* value. The `codecId` identifies the codec used to encode member values in
|
|
68
|
+
* storage. The `members` array is ordered (declaration order is preserved).
|
|
69
|
+
*/
|
|
70
|
+
type ContractEnum = {
|
|
71
|
+
readonly codecId: string;
|
|
72
|
+
readonly members: readonly {
|
|
73
|
+
readonly name: string;
|
|
74
|
+
readonly value: string;
|
|
75
|
+
}[];
|
|
35
76
|
};
|
|
36
77
|
type ContractRelationOn = {
|
|
37
78
|
readonly localFields: readonly string[];
|
|
@@ -84,6 +125,7 @@ type EmbedRelationKeys<TModels extends Record<string, {
|
|
|
84
125
|
interface ApplicationDomainNamespace<TModels extends Record<string, ContractModelBase> = Record<string, ContractModelBase>> {
|
|
85
126
|
readonly models: TModels;
|
|
86
127
|
readonly valueObjects?: Record<string, ContractValueObject>;
|
|
128
|
+
readonly enum?: Record<string, ContractEnum>;
|
|
87
129
|
}
|
|
88
130
|
/**
|
|
89
131
|
* Application-domain envelope: entity content keyed by namespace id.
|
|
@@ -96,5 +138,5 @@ type ContractWithDomain = {
|
|
|
96
138
|
readonly domain: ApplicationDomain;
|
|
97
139
|
};
|
|
98
140
|
//#endregion
|
|
99
|
-
export {
|
|
100
|
-
//# sourceMappingURL=domain-envelope-
|
|
141
|
+
export { CrossReference as C, asNamespaceId as D, NamespaceId as E, ValueSetRef as S, crossRef as T, ModelStorageBase as _, ContractEmbedRelation as a, UnionFieldType as b, ContractFieldType as c, ContractReferenceRelation as d, ContractRelation as f, EmbedRelationKeys as g, ContractVariantEntry as h, ContractDiscriminator as i, ContractModel as l, ContractValueObject as m, ApplicationDomainNamespace as n, ContractEnum as o, ContractRelationOn as p, ContractWithDomain as r, ContractField as s, ApplicationDomain as t, ContractModelBase as u, ReferenceRelationKeys as v, CrossReferenceSchema as w, ValueObjectFieldType as x, ScalarFieldType as y };
|
|
142
|
+
//# sourceMappingURL=domain-envelope-D77BgImA.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-envelope-D77BgImA.d.mts","names":[],"sources":["../src/namespace-id.ts","../src/cross-reference.ts","../src/value-set-ref.ts","../src/domain-types.ts","../src/domain-envelope.ts"],"mappings":"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"}
|
package/dist/hashing-utils.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as StorageSort, n as PreserveEmptyPredicate } from "./canonicalization-
|
|
1
|
+
import { i as StorageSort, n as PreserveEmptyPredicate } from "./canonicalization-CD47XFoI.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/canonicalization-path-match.d.ts
|
|
4
4
|
type PathSegment = string | '*' | readonly string[];
|
package/dist/hashing.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { T as ProfileHashBase, k as StorageHashBase, p as ExecutionHashBase } from "./contract-types-
|
|
2
|
-
import { a as canonicalizeContract, i as StorageSort, n as PreserveEmptyPredicate, o as canonicalizeContractToObject, r as SerializeContract, t as CanonicalizeContractOptions } from "./canonicalization-
|
|
1
|
+
import { T as ProfileHashBase, k as StorageHashBase, p as ExecutionHashBase } from "./contract-types-DOAvsrDH.mjs";
|
|
2
|
+
import { a as canonicalizeContract, i as StorageSort, n as PreserveEmptyPredicate, o as canonicalizeContractToObject, r as SerializeContract, t as CanonicalizeContractOptions } from "./canonicalization-CD47XFoI.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/hashing.d.ts
|
|
5
5
|
type ComputeStorageHashArgs = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { t as ApplicationDomain, u as ContractModelBase } from "./domain-envelope-D77BgImA.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/resolve-domain-model.d.ts
|
|
4
4
|
interface ResolvedDomainModel {
|
|
@@ -14,4 +14,4 @@ interface ResolvedDomainModel {
|
|
|
14
14
|
declare function resolveDomainModel(domain: ApplicationDomain, modelName: string): ResolvedDomainModel | undefined;
|
|
15
15
|
//#endregion
|
|
16
16
|
export { resolveDomainModel as n, ResolvedDomainModel as t };
|
|
17
|
-
//# sourceMappingURL=resolve-domain-model-
|
|
17
|
+
//# sourceMappingURL=resolve-domain-model-DKWy5t__.d.mts.map
|
package/dist/{resolve-domain-model-Bij116t4.d.mts.map → resolve-domain-model-DKWy5t__.d.mts.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-domain-model-
|
|
1
|
+
{"version":3,"file":"resolve-domain-model-DKWy5t__.d.mts","names":[],"sources":["../src/resolve-domain-model.ts"],"mappings":";;;UAGiB,mBAAA;EAAA,SACN,WAAA;EAAA,SACA,KAAA,EAAO,iBAAiB;AAAA;;;;;;AAAA;iBASnB,kBAAA,CACd,MAAA,EAAQ,iBAAA,EACR,SAAA,WACC,mBAAmB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as resolveDomainModel, t as ResolvedDomainModel } from "./resolve-domain-model-
|
|
1
|
+
import { n as resolveDomainModel, t as ResolvedDomainModel } from "./resolve-domain-model-DKWy5t__.mjs";
|
|
2
2
|
export { type ResolvedDomainModel, resolveDomainModel };
|
package/dist/types.d.mts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { A as StorageNamespace, C as LedgerEntryRecord, D as StorageBase, E as Source, F as isExecutionMutationDefaultValue, I as profileHash, L as ControlPolicy, M as executionHash, N as isColumnDefault, O as StorageEntitySlot, P as isColumnDefaultLiteralInputValue, R as effectiveControlPolicy, S as JsonValue, T as ProfileHashBase, _ as ExecutionSection, a as $, b as GeneratedValueSpec, c as ColumnDefaultLiteralInputValue, d as DocCollection, f as DocIndex, g as ExecutionMutationDefaultValue, h as ExecutionMutationDefaultPhases, i as ContractValueObjectDefinitions, j as coreHash, k as StorageHashBase, l as ColumnDefaultLiteralValue, m as ExecutionMutationDefault, n as ContractExecutionSection, o as Brand, p as ExecutionHashBase, r as ContractModelDefinitions, s as ColumnDefault, t as Contract, u as ContractMarkerRecord, v as Expr, w as PlanMeta, x as JsonPrimitive, y as FieldType } from "./contract-types-
|
|
2
|
-
import { C as
|
|
1
|
+
import { A as StorageNamespace, C as LedgerEntryRecord, D as StorageBase, E as Source, F as isExecutionMutationDefaultValue, I as profileHash, L as ControlPolicy, M as executionHash, N as isColumnDefault, O as StorageEntitySlot, P as isColumnDefaultLiteralInputValue, R as effectiveControlPolicy, S as JsonValue, T as ProfileHashBase, _ as ExecutionSection, a as $, b as GeneratedValueSpec, c as ColumnDefaultLiteralInputValue, d as DocCollection, f as DocIndex, g as ExecutionMutationDefaultValue, h as ExecutionMutationDefaultPhases, i as ContractValueObjectDefinitions, j as coreHash, k as StorageHashBase, l as ColumnDefaultLiteralValue, m as ExecutionMutationDefault, n as ContractExecutionSection, o as Brand, p as ExecutionHashBase, r as ContractModelDefinitions, s as ColumnDefault, t as Contract, u as ContractMarkerRecord, v as Expr, w as PlanMeta, x as JsonPrimitive, y as FieldType } from "./contract-types-DOAvsrDH.mjs";
|
|
2
|
+
import { C as CrossReference, D as asNamespaceId, E as NamespaceId, S as ValueSetRef, T as crossRef, _ as ModelStorageBase, a as ContractEmbedRelation, b as UnionFieldType, c as ContractFieldType, d as ContractReferenceRelation, f as ContractRelation, g as EmbedRelationKeys, h as ContractVariantEntry, i as ContractDiscriminator, l as ContractModel, m as ContractValueObject, n as ApplicationDomainNamespace, o as ContractEnum, p as ContractRelationOn, r as ContractWithDomain, s as ContractField, t as ApplicationDomain, u as ContractModelBase, v as ReferenceRelationKeys, w as CrossReferenceSchema, x as ValueObjectFieldType, y as ScalarFieldType } from "./domain-envelope-D77BgImA.mjs";
|
|
3
3
|
import { n as soleDomainNamespaceId, t as UNBOUND_DOMAIN_NAMESPACE_ID } from "./default-namespace-D5X_k6hJ.mjs";
|
|
4
4
|
import { r as DomainNamespaceResolutionError } from "./contract-validation-error-D7g0kmcc.mjs";
|
|
5
|
-
import { n as resolveDomainModel, t as ResolvedDomainModel } from "./resolve-domain-model-
|
|
5
|
+
import { n as resolveDomainModel, t as ResolvedDomainModel } from "./resolve-domain-model-DKWy5t__.mjs";
|
|
6
6
|
|
|
7
7
|
//#region src/domain-namespace-access.d.ts
|
|
8
8
|
/**
|
|
@@ -17,5 +17,5 @@ declare function domainModelsAtDefaultNamespace<TModels extends Record<string, C
|
|
|
17
17
|
*/
|
|
18
18
|
declare function domainValueObjectsAtDefaultNamespace<TModels extends Record<string, ContractModelBase>>(domain: ApplicationDomain<TModels>): Record<string, ContractValueObject> | undefined;
|
|
19
19
|
//#endregion
|
|
20
|
-
export { type $, type ApplicationDomain, type ApplicationDomainNamespace, type Brand, type ColumnDefault, type ColumnDefaultLiteralInputValue, type ColumnDefaultLiteralValue, type Contract, type ContractDiscriminator, type ContractEmbedRelation, type ContractExecutionSection, type ContractField, type ContractFieldType, type ContractMarkerRecord, type ContractModel, type ContractModelBase, type ContractModelDefinitions, type ContractReferenceRelation, type ContractRelation, type ContractRelationOn, type ContractValueObject, type ContractValueObjectDefinitions, type ContractVariantEntry, type ContractWithDomain, type ControlPolicy, type CrossReference, CrossReferenceSchema, type DocCollection, type DocIndex, DomainNamespaceResolutionError, type EmbedRelationKeys, type ExecutionHashBase, type ExecutionMutationDefault, type ExecutionMutationDefaultPhases, type ExecutionMutationDefaultValue, type ExecutionSection, type Expr, type FieldType, type GeneratedValueSpec, type JsonPrimitive, type JsonValue, type LedgerEntryRecord, type ModelStorageBase, type NamespaceId, type PlanMeta, type ProfileHashBase, type ReferenceRelationKeys, type ResolvedDomainModel, type ScalarFieldType, type Source, type StorageBase, type StorageEntitySlot, type StorageHashBase, type StorageNamespace, UNBOUND_DOMAIN_NAMESPACE_ID, type UnionFieldType, type ValueObjectFieldType, asNamespaceId, coreHash, crossRef, domainModelsAtDefaultNamespace, domainValueObjectsAtDefaultNamespace, effectiveControlPolicy, executionHash, isColumnDefault, isColumnDefaultLiteralInputValue, isExecutionMutationDefaultValue, profileHash, resolveDomainModel, soleDomainNamespaceId };
|
|
20
|
+
export { type $, type ApplicationDomain, type ApplicationDomainNamespace, type Brand, type ColumnDefault, type ColumnDefaultLiteralInputValue, type ColumnDefaultLiteralValue, type Contract, type ContractDiscriminator, type ContractEmbedRelation, type ContractEnum, type ContractExecutionSection, type ContractField, type ContractFieldType, type ContractMarkerRecord, type ContractModel, type ContractModelBase, type ContractModelDefinitions, type ContractReferenceRelation, type ContractRelation, type ContractRelationOn, type ContractValueObject, type ContractValueObjectDefinitions, type ContractVariantEntry, type ContractWithDomain, type ControlPolicy, type CrossReference, CrossReferenceSchema, type DocCollection, type DocIndex, DomainNamespaceResolutionError, type EmbedRelationKeys, type ExecutionHashBase, type ExecutionMutationDefault, type ExecutionMutationDefaultPhases, type ExecutionMutationDefaultValue, type ExecutionSection, type Expr, type FieldType, type GeneratedValueSpec, type JsonPrimitive, type JsonValue, type LedgerEntryRecord, type ModelStorageBase, type NamespaceId, type PlanMeta, type ProfileHashBase, type ReferenceRelationKeys, type ResolvedDomainModel, type ScalarFieldType, type Source, type StorageBase, type StorageEntitySlot, type StorageHashBase, type StorageNamespace, UNBOUND_DOMAIN_NAMESPACE_ID, type UnionFieldType, type ValueObjectFieldType, type ValueSetRef, asNamespaceId, coreHash, crossRef, domainModelsAtDefaultNamespace, domainValueObjectsAtDefaultNamespace, effectiveControlPolicy, executionHash, isColumnDefault, isColumnDefaultLiteralInputValue, isExecutionMutationDefaultValue, profileHash, resolveDomainModel, soleDomainNamespaceId };
|
|
21
21
|
//# sourceMappingURL=types.d.mts.map
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma-next/contract",
|
|
3
|
-
"version": "0.12.0-dev.
|
|
3
|
+
"version": "0.12.0-dev.59",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"description": "Data contract type definitions and JSON schema for Prisma Next",
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@prisma-next/utils": "0.12.0-dev.
|
|
9
|
+
"@prisma-next/utils": "0.12.0-dev.59",
|
|
10
10
|
"@standard-schema/spec": "^1.1.0",
|
|
11
11
|
"arktype": "^2.2.0"
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {
|
|
14
|
-
"@prisma-next/tsconfig": "0.12.0-dev.
|
|
15
|
-
"@prisma-next/tsdown": "0.12.0-dev.
|
|
14
|
+
"@prisma-next/tsconfig": "0.12.0-dev.59",
|
|
15
|
+
"@prisma-next/tsdown": "0.12.0-dev.59",
|
|
16
16
|
"tsdown": "0.22.1",
|
|
17
17
|
"typescript": "5.9.3",
|
|
18
18
|
"vitest": "4.1.7"
|
package/src/domain-envelope.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ContractModelBase, ContractValueObject } from './domain-types';
|
|
1
|
+
import type { ContractEnum, ContractModelBase, ContractValueObject } from './domain-types';
|
|
2
2
|
|
|
3
3
|
export { UNBOUND_DOMAIN_NAMESPACE_ID } from './default-namespace';
|
|
4
4
|
|
|
@@ -11,6 +11,7 @@ export interface ApplicationDomainNamespace<
|
|
|
11
11
|
> {
|
|
12
12
|
readonly models: TModels;
|
|
13
13
|
readonly valueObjects?: Record<string, ContractValueObject>;
|
|
14
|
+
readonly enum?: Record<string, ContractEnum>;
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
/**
|
package/src/domain-types.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CrossReference } from './cross-reference';
|
|
2
|
+
import type { ValueSetRef } from './value-set-ref';
|
|
2
3
|
|
|
3
4
|
export type ScalarFieldType = {
|
|
4
5
|
readonly kind: 'scalar';
|
|
@@ -23,6 +24,17 @@ export type ContractField = {
|
|
|
23
24
|
readonly type: ContractFieldType;
|
|
24
25
|
readonly many?: true;
|
|
25
26
|
readonly dict?: true;
|
|
27
|
+
readonly valueSet?: ValueSetRef;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* A domain enum: an ordered set of named members, each with a codec-encoded
|
|
32
|
+
* value. The `codecId` identifies the codec used to encode member values in
|
|
33
|
+
* storage. The `members` array is ordered (declaration order is preserved).
|
|
34
|
+
*/
|
|
35
|
+
export type ContractEnum = {
|
|
36
|
+
readonly codecId: string;
|
|
37
|
+
readonly members: readonly { readonly name: string; readonly value: string }[];
|
|
26
38
|
};
|
|
27
39
|
|
|
28
40
|
export type ContractRelationOn = {
|
package/src/exports/types.ts
CHANGED
|
@@ -23,6 +23,7 @@ export {
|
|
|
23
23
|
export type {
|
|
24
24
|
ContractDiscriminator,
|
|
25
25
|
ContractEmbedRelation,
|
|
26
|
+
ContractEnum,
|
|
26
27
|
ContractField,
|
|
27
28
|
ContractFieldType,
|
|
28
29
|
ContractModel,
|
|
@@ -78,3 +79,4 @@ export {
|
|
|
78
79
|
isExecutionMutationDefaultValue,
|
|
79
80
|
profileHash,
|
|
80
81
|
} from '../types';
|
|
82
|
+
export type { ValueSetRef } from '../value-set-ref';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Space-aware reference coordinate for a domain enum or storage value-set.
|
|
3
|
+
*
|
|
4
|
+
* `plane` names the contract plane the referenced entity lives in:
|
|
5
|
+
* - `'domain'` — the entity lives in the domain plane's `enum` slot.
|
|
6
|
+
* - `'storage'` — the entity lives in the storage plane's `valueSet` slot.
|
|
7
|
+
*
|
|
8
|
+
* `entityKind` names the source entity-kind:
|
|
9
|
+
* - `'enum'` — the referenced entity is a domain enum.
|
|
10
|
+
* - `'value-set'` — the referenced entity is a storage value-set.
|
|
11
|
+
*
|
|
12
|
+
* `namespaceId` admits the `UNBOUND_NAMESPACE_ID` (`__unbound__`) sentinel for
|
|
13
|
+
* single-namespace (unbound) references.
|
|
14
|
+
*
|
|
15
|
+
* Cross-space discrimination is presence-based: when `spaceId` is absent the
|
|
16
|
+
* reference is local (same contract-space); when `spaceId` is present the
|
|
17
|
+
* reference is cross-space. This mirrors the `ForeignKeyReference` carrier
|
|
18
|
+
* convention — no separate tag field — so local refs are JSON-minimal.
|
|
19
|
+
*/
|
|
20
|
+
export interface ValueSetRef {
|
|
21
|
+
readonly plane: 'domain' | 'storage';
|
|
22
|
+
readonly namespaceId: string;
|
|
23
|
+
readonly entityKind: 'enum' | 'value-set';
|
|
24
|
+
readonly name: string;
|
|
25
|
+
readonly spaceId?: string;
|
|
26
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"domain-envelope-thW3xgZA.d.mts","names":[],"sources":["../src/namespace-id.ts","../src/cross-reference.ts","../src/domain-types.ts","../src/domain-envelope.ts"],"mappings":";KAEY,WAAA;EAAA,SAAkC,OAAO;AAAA;AAAA,iBAErC,aAAA,CAAc,KAAA,WAAgB,WAAW;;;UCAxC,cAAA;EAAA,SACN,SAAA,EAAW,WAAW;EAAA,SACtB,KAAA;AAAA;AAAA,cAGE,oBAAA,gDAAoB,UAAA,CAAA,cAAA;AAAA,iBAajB,QAAA,CACd,KAAA,UACA,SAAA,YACC,cAAc;;;KCvBL,eAAA;EAAA,SACD,IAAA;EAAA,SACA,OAAA;EAAA,SACA,UAAA,GAAa,MAAM;AAAA;AAAA,KAGlB,oBAAA;EAAA,SACD,IAAA;EAAA,SACA,IAAI;AAAA;AAAA,KAGH,cAAA;EAAA,SACD,IAAA;EAAA,SACA,OAAA,EAAS,aAAA,CAAc,eAAA,GAAkB,oBAAA;AAAA;AAAA,KAGxC,iBAAA,GAAoB,eAAA,GAAkB,oBAAA,GAAuB,cAAA;AAAA,KAE7D,aAAA;EAAA,SACD,QAAA;EAAA,SACA,IAAA,EAAM,iBAAiB;EAAA,SACvB,IAAA;EAAA,SACA,IAAA;AAAA;AAAA,KAGC,kBAAA;EAAA,SACD,WAAA;EAAA,SACA,YAAY;AAAA;AAAA,KAGX,yBAAA;EAAA,SACD,EAAA,EAAI,cAAA;EAAA,SACJ,WAAA;EAAA,SACA,EAAA,EAAI,kBAAkB;AAAA;AAAA,KAGrB,qBAAA;EAAA,SACD,EAAA,EAAI,cAAc;EAAA,SAClB,WAAA;AAAA;AAAA,KAGC,gBAAA,GAAmB,yBAAA,GAA4B,qBAAqB;AAAA,KAEpE,qBAAA;EAAA,SACD,KAAK;AAAA;AAAA,KAGJ,oBAAA;EAAA,SACD,KAAK;AAAA;AAAA,KAGJ,mBAAA;EAAA,SACD,MAAA,EAAQ,MAAM,SAAS,aAAA;AAAA;AAAA,KAGtB,gBAAA,GAAmB,QAAQ,CAAC,MAAA;AAAA,UAEvB,iBAAA,uBAAwC,gBAAA,GAAmB,gBAAA;EAAA,SACjE,MAAA,EAAQ,MAAA,SAAe,aAAA;EAAA,SACvB,SAAA,EAAW,MAAA,SAAe,gBAAA;EAAA,SAC1B,OAAA,EAAS,aAAA;EAAA,SACT,aAAA,GAAgB,qBAAA;EAAA,SAChB,QAAA,GAAW,MAAA,SAAe,oBAAA;EAAA,SAC1B,IAAA,GAAO,cAAA;EAAA,SACP,KAAA;AAAA;AAAA,UAGM,aAAA,uBAAoC,gBAAA,GAAmB,gBAAA,UAC9D,iBAAA,CAAkB,aAAA;EAAA,SACjB,MAAA,EAAQ,MAAA,SAAe,aAAA;AAAA;AAAA,KAKtB,qBAAA,iBACM,MAAA;EAAA,SAA0B,SAAA,EAAW,MAAA,SAAe,gBAAA;AAAA,qCACnC,OAAA,kBAErB,OAAA,CAAQ,SAAA,iBAA0B,OAAA,CAAQ,SAAA,eAAwB,CAAA,UAAW,yBAAA,GACrF,CAAA,iBAEE,OAAA,CAAQ,SAAA;AAAA,KAEJ,iBAAA,iBACM,MAAA;EAAA,SAA0B,SAAA,EAAW,MAAA,SAAe,gBAAA;AAAA,qCACnC,OAAA,kBAErB,OAAA,CAAQ,SAAA,iBAA0B,OAAA,CAAQ,SAAA,eAAwB,CAAA,UAAW,yBAAA,WAErF,CAAA,SACE,OAAA,CAAQ,SAAA;;;;;;AF1FqC;UGMpC,0BAAA,iBACC,MAAA,SAAe,iBAAA,IAAqB,MAAA,SAAe,iBAAA;EAAA,SAE1D,MAAA,EAAQ,OAAA;EAAA,SACR,YAAA,GAAe,MAAA,SAAe,mBAAA;AAAA;AHRgB;;;;AAAA,UGexC,iBAAA,iBACC,MAAA,SAAe,iBAAA,IAAqB,MAAA,SAAe,iBAAA;EAAA,SAE1D,UAAA,EAAY,QAAA,CAAS,MAAA,SAAe,0BAAA,CAA2B,OAAA;AAAA;AAAA,KAG9D,kBAAA;EAAA,SACD,MAAA,EAAQ,iBAAiB;AAAA"}
|