@prisma-next/contract 0.12.0 → 0.13.0-dev.10
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 +7 -0
- package/dist/apply-specifier-default-control-policy.d.mts.map +1 -0
- package/dist/apply-specifier-default-control-policy.mjs +12 -0
- package/dist/apply-specifier-default-control-policy.mjs.map +1 -0
- package/dist/{canonicalization-DFE0HJkI.d.mts → canonicalization-BqYzAeWE.d.mts} +2 -2
- package/dist/canonicalization-BqYzAeWE.d.mts.map +1 -0
- package/dist/{canonicalization-path-match-b2jFuEso.mjs → canonicalization-path-match-CNgHuwM_.mjs} +1 -1
- package/dist/{canonicalization-path-match-b2jFuEso.mjs.map → canonicalization-path-match-CNgHuwM_.mjs.map} +1 -1
- package/dist/contract-types-CtIh62PH.d.mts +82 -0
- package/dist/contract-types-CtIh62PH.d.mts.map +1 -0
- package/dist/{contract-validation-error-ClZaKqMW.mjs → contract-validation-error-BFA66rwU.mjs} +1 -1
- package/dist/{contract-validation-error-ClZaKqMW.mjs.map → contract-validation-error-BFA66rwU.mjs.map} +1 -1
- package/dist/{contract-validation-error-T5LH4DW-.d.mts → contract-validation-error-D7g0kmcc.d.mts} +1 -1
- package/dist/{contract-validation-error-T5LH4DW-.d.mts.map → contract-validation-error-D7g0kmcc.d.mts.map} +1 -1
- package/dist/contract-validation-error.d.mts +1 -1
- package/dist/contract-validation-error.mjs +1 -1
- package/dist/default-namespace-D5X_k6hJ.d.mts +25 -0
- package/dist/default-namespace-D5X_k6hJ.d.mts.map +1 -0
- package/dist/default-namespace-rpdJeUMq.mjs +33 -0
- package/dist/default-namespace-rpdJeUMq.mjs.map +1 -0
- package/dist/default-namespace.d.mts +2 -0
- package/dist/default-namespace.mjs +2 -0
- package/dist/domain-envelope-DKOnhO5d.d.mts +352 -0
- package/dist/domain-envelope-DKOnhO5d.d.mts.map +1 -0
- package/dist/enum-accessor.d.mts +77 -0
- package/dist/enum-accessor.d.mts.map +1 -0
- package/dist/enum-accessor.mjs +45 -0
- package/dist/enum-accessor.mjs.map +1 -0
- package/dist/hashing-utils.d.mts +1 -1
- package/dist/hashing-utils.d.mts.map +1 -1
- package/dist/hashing-utils.mjs +5 -4
- package/dist/hashing-utils.mjs.map +1 -1
- package/dist/hashing.d.mts +2 -2
- package/dist/hashing.d.mts.map +1 -1
- package/dist/hashing.mjs +38 -11
- package/dist/hashing.mjs.map +1 -1
- package/dist/{namespace-id-CVpkSFUK.mjs → namespace-id-CUxYd4KL.mjs} +1 -1
- package/dist/{namespace-id-CVpkSFUK.mjs.map → namespace-id-CUxYd4KL.mjs.map} +1 -1
- package/dist/resolve-domain-model-BovPAsW2.mjs +20 -0
- package/dist/resolve-domain-model-BovPAsW2.mjs.map +1 -0
- package/dist/resolve-domain-model-CSEqpByI.d.mts +17 -0
- package/dist/resolve-domain-model-CSEqpByI.d.mts.map +1 -0
- package/dist/resolve-domain-model.d.mts +2 -0
- package/dist/resolve-domain-model.mjs +2 -0
- package/dist/types.d.mts +21 -4
- package/dist/types.d.mts.map +1 -0
- package/dist/types.mjs +40 -30
- package/dist/types.mjs.map +1 -1
- package/dist/validate-domain.d.mts +1 -1
- package/dist/validate-domain.mjs +6 -3
- package/dist/validate-domain.mjs.map +1 -1
- package/package.json +10 -6
- package/src/apply-specifier-default-control-policy.ts +12 -0
- package/src/canonicalization-storage-sort.ts +8 -1
- package/src/canonicalization.ts +13 -4
- package/src/contract-types.ts +9 -5
- package/src/control-policy.ts +25 -0
- package/src/cross-reference.ts +15 -3
- package/src/default-namespace.ts +36 -0
- package/src/domain-envelope.ts +3 -61
- package/src/domain-namespace-access.ts +32 -0
- package/src/domain-types.ts +32 -1
- package/src/enum-accessor.ts +173 -0
- package/src/exports/apply-specifier-default-control-policy.ts +1 -0
- package/src/exports/default-namespace.ts +1 -0
- package/src/exports/enum-accessor.ts +11 -0
- package/src/exports/resolve-domain-model.ts +1 -0
- package/src/exports/types.ts +16 -7
- package/src/hashing.ts +42 -13
- package/src/resolve-domain-model.ts +27 -0
- package/src/types.ts +18 -2
- package/src/validate-domain.ts +6 -0
- package/src/value-set-ref.ts +26 -0
- package/dist/canonicalization-DFE0HJkI.d.mts.map +0 -1
- package/dist/contract-types-xgwKtd7y.d.mts +0 -233
- package/dist/contract-types-xgwKtd7y.d.mts.map +0 -1
- package/dist/domain-envelope-4hyFtJ4_.d.mts +0 -110
- package/dist/domain-envelope-4hyFtJ4_.d.mts.map +0 -1
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
import { T as CrossReference, _ as ContractValueObject, p as ContractModelBase, t as ApplicationDomain } from "./domain-envelope-4hyFtJ4_.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/types.d.ts
|
|
4
|
-
/**
|
|
5
|
-
* Unique symbol used as the key for branding types.
|
|
6
|
-
*/
|
|
7
|
-
declare const $: unique symbol;
|
|
8
|
-
/**
|
|
9
|
-
* A helper type to brand a given type with a unique identifier.
|
|
10
|
-
*
|
|
11
|
-
* @template TKey Text used as the brand key.
|
|
12
|
-
* @template TValue Optional value associated with the brand key. Defaults to `true`.
|
|
13
|
-
*/
|
|
14
|
-
type Brand<TKey extends string | number | symbol, TValue = true> = {
|
|
15
|
-
[$]: { [K in TKey]: TValue };
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* Base type for storage contract hashes.
|
|
19
|
-
* Emitted contract.d.ts files use this with the hash value as a type parameter:
|
|
20
|
-
* `type StorageHash = StorageHashBase<'sha256:abc123...'>`
|
|
21
|
-
*/
|
|
22
|
-
type StorageHashBase<THash extends string> = THash & Brand<'StorageHash'>;
|
|
23
|
-
/**
|
|
24
|
-
* Base type for execution contract hashes.
|
|
25
|
-
* Emitted contract.d.ts files use this with the hash value as a type parameter:
|
|
26
|
-
* `type ExecutionHash = ExecutionHashBase<'sha256:def456...'>`
|
|
27
|
-
*/
|
|
28
|
-
type ExecutionHashBase<THash extends string> = THash & Brand<'ExecutionHash'>;
|
|
29
|
-
declare function executionHash<const T extends string>(value: T): ExecutionHashBase<T>;
|
|
30
|
-
declare function coreHash<const T extends string>(value: T): StorageHashBase<T>;
|
|
31
|
-
/**
|
|
32
|
-
* Base type for profile contract hashes.
|
|
33
|
-
* Emitted contract.d.ts files use this with the hash value as a type parameter:
|
|
34
|
-
* `type ProfileHash = ProfileHashBase<'sha256:def456...'>`
|
|
35
|
-
*/
|
|
36
|
-
type ProfileHashBase<THash extends string> = THash & Brand<'ProfileHash'>;
|
|
37
|
-
declare function profileHash<const T extends string>(value: T): ProfileHashBase<T>;
|
|
38
|
-
/**
|
|
39
|
-
* One entity-kind slot in a namespace — a map of entity name to entry.
|
|
40
|
-
* Values are opaque at the foundation layer; family and target concretions
|
|
41
|
-
* refine them to typed IR classes.
|
|
42
|
-
*/
|
|
43
|
-
type StorageEntitySlot = Readonly<Record<string, unknown>>;
|
|
44
|
-
/**
|
|
45
|
-
* Plain-data namespace entry in a storage block. Every hydrated contract
|
|
46
|
-
* carries at least `id` plus zero or more entity-kind slot maps (`tables`,
|
|
47
|
-
* `collections`, …). Foundation declares only this shape — no IR machinery.
|
|
48
|
-
*/
|
|
49
|
-
interface StorageNamespace {
|
|
50
|
-
readonly id: string;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Base type for family-specific storage blocks.
|
|
54
|
-
* Family storage types (SqlStorage, MongoStorage, etc.) extend this to carry the
|
|
55
|
-
* storage hash alongside family-specific data (tables, collections, etc.).
|
|
56
|
-
*
|
|
57
|
-
* The `namespaces` map is carried by every hydrated storage block. Serialized
|
|
58
|
-
* envelope shape is target-owned; this types the in-memory contract after
|
|
59
|
-
* `deserializeContract`.
|
|
60
|
-
*/
|
|
61
|
-
interface StorageBase<THash extends string = string> {
|
|
62
|
-
readonly storageHash: StorageHashBase<THash>;
|
|
63
|
-
readonly namespaces: Readonly<Record<string, StorageNamespace>>;
|
|
64
|
-
}
|
|
65
|
-
interface FieldType {
|
|
66
|
-
readonly type: string;
|
|
67
|
-
readonly nullable: boolean;
|
|
68
|
-
readonly items?: FieldType;
|
|
69
|
-
readonly properties?: Record<string, FieldType>;
|
|
70
|
-
}
|
|
71
|
-
type GeneratedValueSpec = {
|
|
72
|
-
readonly id: string;
|
|
73
|
-
readonly params?: Record<string, unknown>;
|
|
74
|
-
};
|
|
75
|
-
type JsonPrimitive = string | number | boolean | null;
|
|
76
|
-
type JsonValue = JsonPrimitive | {
|
|
77
|
-
readonly [key: string]: JsonValue;
|
|
78
|
-
} | readonly JsonValue[];
|
|
79
|
-
type ColumnDefaultLiteralValue = JsonValue;
|
|
80
|
-
type ColumnDefaultLiteralInputValue = ColumnDefaultLiteralValue | Date;
|
|
81
|
-
/**
|
|
82
|
-
* Runtime predicate for `ColumnDefaultLiteralInputValue`. Authoring layers
|
|
83
|
-
* resolve template values from caller-supplied args (typed `unknown` at the
|
|
84
|
-
* boundary) and need to validate before constructing a `ColumnDefault`.
|
|
85
|
-
* Accepts JSON primitives, plain arrays/objects of JSON values, and `Date`
|
|
86
|
-
* instances. Rejects functions, class instances (other than `Date`),
|
|
87
|
-
* `undefined`, `bigint`, `symbol`, and arrays/objects containing those.
|
|
88
|
-
*/
|
|
89
|
-
declare function isColumnDefaultLiteralInputValue(value: unknown): value is ColumnDefaultLiteralInputValue;
|
|
90
|
-
type ColumnDefault = {
|
|
91
|
-
readonly kind: 'literal';
|
|
92
|
-
readonly value: ColumnDefaultLiteralInputValue;
|
|
93
|
-
} | {
|
|
94
|
-
readonly kind: 'function';
|
|
95
|
-
readonly expression: string;
|
|
96
|
-
};
|
|
97
|
-
declare function isColumnDefault(value: unknown): value is ColumnDefault;
|
|
98
|
-
type ExecutionMutationDefaultValue = {
|
|
99
|
-
readonly kind: 'generator';
|
|
100
|
-
readonly id: GeneratedValueSpec['id'];
|
|
101
|
-
readonly params?: Record<string, unknown>;
|
|
102
|
-
};
|
|
103
|
-
declare function isExecutionMutationDefaultValue(value: unknown): value is ExecutionMutationDefaultValue;
|
|
104
|
-
type ExecutionMutationDefault = {
|
|
105
|
-
readonly ref: {
|
|
106
|
-
readonly table: string;
|
|
107
|
-
readonly column: string;
|
|
108
|
-
};
|
|
109
|
-
readonly onCreate?: ExecutionMutationDefaultValue;
|
|
110
|
-
readonly onUpdate?: ExecutionMutationDefaultValue;
|
|
111
|
-
};
|
|
112
|
-
/**
|
|
113
|
-
* `ExecutionMutationDefault` minus its `ref` — the per-field phases value
|
|
114
|
-
* authoring layers attach to a column before the column ref is known.
|
|
115
|
-
*/
|
|
116
|
-
type ExecutionMutationDefaultPhases = Omit<ExecutionMutationDefault, 'ref'>;
|
|
117
|
-
type ExecutionSection<THash extends string = string> = {
|
|
118
|
-
readonly executionHash: ExecutionHashBase<THash>;
|
|
119
|
-
readonly mutations: {
|
|
120
|
-
readonly defaults: ReadonlyArray<ExecutionMutationDefault>;
|
|
121
|
-
};
|
|
122
|
-
};
|
|
123
|
-
interface Source {
|
|
124
|
-
readonly readOnly: boolean;
|
|
125
|
-
readonly projection: Record<string, FieldType>;
|
|
126
|
-
readonly origin?: Record<string, unknown>;
|
|
127
|
-
readonly capabilities?: Record<string, boolean>;
|
|
128
|
-
}
|
|
129
|
-
interface DocIndex {
|
|
130
|
-
readonly name: string;
|
|
131
|
-
readonly keys: Record<string, 'asc' | 'desc'>;
|
|
132
|
-
readonly unique?: boolean;
|
|
133
|
-
readonly where?: Expr;
|
|
134
|
-
}
|
|
135
|
-
type Expr = {
|
|
136
|
-
readonly kind: 'eq';
|
|
137
|
-
readonly path: ReadonlyArray<string>;
|
|
138
|
-
readonly value: unknown;
|
|
139
|
-
} | {
|
|
140
|
-
readonly kind: 'exists';
|
|
141
|
-
readonly path: ReadonlyArray<string>;
|
|
142
|
-
};
|
|
143
|
-
interface DocCollection {
|
|
144
|
-
readonly name: string;
|
|
145
|
-
readonly id?: {
|
|
146
|
-
readonly strategy: 'auto' | 'client' | 'uuid' | 'objectId';
|
|
147
|
-
};
|
|
148
|
-
readonly fields: Record<string, FieldType>;
|
|
149
|
-
readonly indexes?: ReadonlyArray<DocIndex>;
|
|
150
|
-
readonly readOnly?: boolean;
|
|
151
|
-
}
|
|
152
|
-
interface PlanMeta {
|
|
153
|
-
readonly target: string;
|
|
154
|
-
readonly targetFamily?: string;
|
|
155
|
-
readonly storageHash: string;
|
|
156
|
-
readonly profileHash?: string;
|
|
157
|
-
readonly lane: string;
|
|
158
|
-
readonly annotations?: {
|
|
159
|
-
readonly [key: string]: unknown;
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Contract marker record stored in the database.
|
|
164
|
-
* Represents the current contract identity for a database.
|
|
165
|
-
*/
|
|
166
|
-
interface ContractMarkerRecord {
|
|
167
|
-
readonly storageHash: string;
|
|
168
|
-
readonly profileHash: string;
|
|
169
|
-
readonly contractJson: unknown | null;
|
|
170
|
-
readonly canonicalVersion: number | null;
|
|
171
|
-
readonly updatedAt: Date;
|
|
172
|
-
readonly appTag: string | null;
|
|
173
|
-
readonly meta: Record<string, unknown>;
|
|
174
|
-
readonly invariants: readonly string[];
|
|
175
|
-
}
|
|
176
|
-
//#endregion
|
|
177
|
-
//#region src/contract-types.d.ts
|
|
178
|
-
/**
|
|
179
|
-
* Execution section for the unified contract (ADR 182).
|
|
180
|
-
*
|
|
181
|
-
* Unlike the legacy {@link import('./types').ExecutionSection}, this type
|
|
182
|
-
* requires `executionHash` — when an execution section is present, its
|
|
183
|
-
* hash must be too (consistent with `StorageBase.storageHash`).
|
|
184
|
-
*
|
|
185
|
-
* @template THash Literal hash string type for type-safe hash tracking.
|
|
186
|
-
*/
|
|
187
|
-
type ContractExecutionSection<THash extends string = string> = {
|
|
188
|
-
readonly executionHash: ExecutionHashBase<THash>;
|
|
189
|
-
readonly mutations: {
|
|
190
|
-
readonly defaults: ReadonlyArray<ExecutionMutationDefault>;
|
|
191
|
-
};
|
|
192
|
-
};
|
|
193
|
-
/**
|
|
194
|
-
* Unified contract representation (ADR 182).
|
|
195
|
-
*
|
|
196
|
-
* A `Contract` is the canonical in-memory representation of a data contract.
|
|
197
|
-
* It is model-first (domain models carry their own storage bridge) and
|
|
198
|
-
* family-parameterized (SQL, Mongo, etc. specialize via `TStorage` and model
|
|
199
|
-
* storage generics on `ContractModel`).
|
|
200
|
-
*
|
|
201
|
-
* JSON persistence fields (`schemaVersion`, `sources`) are not represented
|
|
202
|
-
* here — they are handled at the serialization boundary.
|
|
203
|
-
*
|
|
204
|
-
* @template TStorage Family-specific storage block (extends {@link StorageBase}).
|
|
205
|
-
* @template TModels Record of model name → {@link ContractModel} with
|
|
206
|
-
* family-specific model storage.
|
|
207
|
-
*/
|
|
208
|
-
interface Contract<TStorage extends StorageBase = StorageBase, TModels extends Record<string, ContractModelBase> = Record<string, ContractModelBase>> {
|
|
209
|
-
readonly target: string;
|
|
210
|
-
readonly targetFamily: string;
|
|
211
|
-
readonly roots: Record<string, CrossReference>;
|
|
212
|
-
/**
|
|
213
|
-
* Application plane (ADR 221): `domain.namespaces.<nsId>.{ models, valueObjects }`.
|
|
214
|
-
* `TModels` types the union of model entries across namespaces for family DSL inference.
|
|
215
|
-
*/
|
|
216
|
-
readonly domain: ApplicationDomain<TModels>;
|
|
217
|
-
readonly storage: TStorage;
|
|
218
|
-
readonly capabilities: Record<string, Record<string, boolean>>;
|
|
219
|
-
readonly extensionPacks: Record<string, unknown>;
|
|
220
|
-
readonly execution?: ContractExecutionSection;
|
|
221
|
-
readonly profileHash: ProfileHashBase<string>;
|
|
222
|
-
readonly meta: Record<string, unknown>;
|
|
223
|
-
}
|
|
224
|
-
type ContractModelsMap<TContract extends Contract> = TContract extends Contract<StorageBase, infer TModels> ? TModels : never;
|
|
225
|
-
type ExactlyOneKey<T extends Record<string, unknown>> = keyof T extends infer Only extends keyof T ? [keyof T] extends [Only] ? Only : never : never;
|
|
226
|
-
type NamespaceValueObjectsOf<TNamespace> = TNamespace extends {
|
|
227
|
-
readonly valueObjects?: infer VO;
|
|
228
|
-
} ? VO extends Record<string, ContractValueObject> ? VO : Record<never, never> : Record<never, never>;
|
|
229
|
-
/** Value-object map for the contract's sole domain namespace (type-level single-namespace projection). */
|
|
230
|
-
type ContractValueObjectsMap<TContract extends Contract> = NamespaceValueObjectsOf<TContract['domain']['namespaces'][ExactlyOneKey<TContract['domain']['namespaces']>]> extends infer Projected ? Projected extends Record<string, ContractValueObject> ? Projected : Record<never, never> : Record<never, never>;
|
|
231
|
-
//#endregion
|
|
232
|
-
export { coreHash as A, PlanMeta as C, StorageEntitySlot as D, StorageBase as E, profileHash as F, isColumnDefault as M, isColumnDefaultLiteralInputValue as N, StorageHashBase as O, isExecutionMutationDefaultValue as P, JsonValue as S, Source as T, ExecutionSection as _, $ as a, GeneratedValueSpec as b, ColumnDefaultLiteralInputValue as c, DocCollection as d, DocIndex as f, ExecutionMutationDefaultValue as g, ExecutionMutationDefaultPhases as h, ContractValueObjectsMap as i, executionHash as j, StorageNamespace as k, ColumnDefaultLiteralValue as l, ExecutionMutationDefault as m, ContractExecutionSection as n, Brand as o, ExecutionHashBase as p, ContractModelsMap as r, ColumnDefault as s, Contract as t, ContractMarkerRecord as u, Expr as v, ProfileHashBase as w, JsonPrimitive as x, FieldType as y };
|
|
233
|
-
//# sourceMappingURL=contract-types-xgwKtd7y.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contract-types-xgwKtd7y.d.mts","names":[],"sources":["../src/types.ts","../src/contract-types.ts"],"mappings":"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"}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import * as _$arktype_internal_variants_object_ts0 from "arktype/internal/variants/object.ts";
|
|
2
|
-
|
|
3
|
-
//#region src/namespace-id.d.ts
|
|
4
|
-
type NamespaceId = string & {
|
|
5
|
-
readonly __brand: 'NamespaceId';
|
|
6
|
-
};
|
|
7
|
-
declare function asNamespaceId(value: string): NamespaceId;
|
|
8
|
-
//#endregion
|
|
9
|
-
//#region src/cross-reference.d.ts
|
|
10
|
-
interface CrossReference {
|
|
11
|
-
readonly namespace: NamespaceId;
|
|
12
|
-
readonly model: string;
|
|
13
|
-
}
|
|
14
|
-
declare const CrossReferenceSchema: _$arktype_internal_variants_object_ts0.ObjectType<CrossReference, {}>;
|
|
15
|
-
declare function crossRef(model: string, namespace?: string): CrossReference;
|
|
16
|
-
//#endregion
|
|
17
|
-
//#region src/domain-types.d.ts
|
|
18
|
-
type ScalarFieldType = {
|
|
19
|
-
readonly kind: 'scalar';
|
|
20
|
-
readonly codecId: string;
|
|
21
|
-
readonly typeParams?: Record<string, unknown>;
|
|
22
|
-
};
|
|
23
|
-
type ValueObjectFieldType = {
|
|
24
|
-
readonly kind: 'valueObject';
|
|
25
|
-
readonly name: string;
|
|
26
|
-
};
|
|
27
|
-
type UnionFieldType = {
|
|
28
|
-
readonly kind: 'union';
|
|
29
|
-
readonly members: ReadonlyArray<ScalarFieldType | ValueObjectFieldType>;
|
|
30
|
-
};
|
|
31
|
-
type ContractFieldType = ScalarFieldType | ValueObjectFieldType | UnionFieldType;
|
|
32
|
-
type ContractField = {
|
|
33
|
-
readonly nullable: boolean;
|
|
34
|
-
readonly type: ContractFieldType;
|
|
35
|
-
readonly many?: true;
|
|
36
|
-
readonly dict?: true;
|
|
37
|
-
};
|
|
38
|
-
type ContractRelationOn = {
|
|
39
|
-
readonly localFields: readonly string[];
|
|
40
|
-
readonly targetFields: readonly string[];
|
|
41
|
-
};
|
|
42
|
-
type ContractReferenceRelation = {
|
|
43
|
-
readonly to: CrossReference;
|
|
44
|
-
readonly cardinality: '1:1' | '1:N' | 'N:1';
|
|
45
|
-
readonly on: ContractRelationOn;
|
|
46
|
-
};
|
|
47
|
-
type ContractEmbedRelation = {
|
|
48
|
-
readonly to: CrossReference;
|
|
49
|
-
readonly cardinality: '1:1' | '1:N';
|
|
50
|
-
};
|
|
51
|
-
type ContractRelation = ContractReferenceRelation | ContractEmbedRelation;
|
|
52
|
-
type ContractDiscriminator = {
|
|
53
|
-
readonly field: string;
|
|
54
|
-
};
|
|
55
|
-
type ContractVariantEntry = {
|
|
56
|
-
readonly value: string;
|
|
57
|
-
};
|
|
58
|
-
type ContractValueObject = {
|
|
59
|
-
readonly fields: Record<string, ContractField>;
|
|
60
|
-
};
|
|
61
|
-
type ModelStorageBase = Readonly<Record<string, unknown>>;
|
|
62
|
-
interface ContractModelBase<TModelStorage extends ModelStorageBase = ModelStorageBase> {
|
|
63
|
-
readonly fields: Record<string, ContractField>;
|
|
64
|
-
readonly relations: Record<string, ContractRelation>;
|
|
65
|
-
readonly storage: TModelStorage;
|
|
66
|
-
readonly discriminator?: ContractDiscriminator;
|
|
67
|
-
readonly variants?: Record<string, ContractVariantEntry>;
|
|
68
|
-
readonly base?: CrossReference;
|
|
69
|
-
readonly owner?: string;
|
|
70
|
-
}
|
|
71
|
-
interface ContractModel<TModelStorage extends ModelStorageBase = ModelStorageBase> extends ContractModelBase<TModelStorage> {
|
|
72
|
-
readonly fields: Record<string, ContractField>;
|
|
73
|
-
}
|
|
74
|
-
type ReferenceRelationKeys<TModels extends Record<string, {
|
|
75
|
-
readonly relations: Record<string, ContractRelation>;
|
|
76
|
-
}>, ModelName extends string & keyof TModels> = { [K in keyof TModels[ModelName]['relations']]: TModels[ModelName]['relations'][K] extends ContractReferenceRelation ? K : never }[keyof TModels[ModelName]['relations']];
|
|
77
|
-
type EmbedRelationKeys<TModels extends Record<string, {
|
|
78
|
-
readonly relations: Record<string, ContractRelation>;
|
|
79
|
-
}>, ModelName extends string & keyof TModels> = { [K in keyof TModels[ModelName]['relations']]: TModels[ModelName]['relations'][K] extends ContractReferenceRelation ? never : K }[keyof TModels[ModelName]['relations']];
|
|
80
|
-
//#endregion
|
|
81
|
-
//#region src/domain-envelope.d.ts
|
|
82
|
-
declare const UNBOUND_DOMAIN_NAMESPACE_ID: "__unbound__";
|
|
83
|
-
/**
|
|
84
|
-
* One namespace's application-domain entities — models and optional value
|
|
85
|
-
* objects keyed by entity name within that namespace coordinate.
|
|
86
|
-
*/
|
|
87
|
-
interface ApplicationDomainNamespace<TModels extends Record<string, ContractModelBase> = Record<string, ContractModelBase>> {
|
|
88
|
-
readonly models: TModels;
|
|
89
|
-
readonly valueObjects?: Record<string, ContractValueObject>;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Application-domain envelope: entity content keyed by namespace id.
|
|
93
|
-
* Mirrors the storage plane's `namespaces` segment (ADR 221).
|
|
94
|
-
*/
|
|
95
|
-
interface ApplicationDomain<TModels extends Record<string, ContractModelBase> = Record<string, ContractModelBase>> {
|
|
96
|
-
readonly namespaces: Readonly<Record<string, ApplicationDomainNamespace<TModels>>>;
|
|
97
|
-
}
|
|
98
|
-
type ContractWithDomain = {
|
|
99
|
-
readonly domain: ApplicationDomain;
|
|
100
|
-
};
|
|
101
|
-
declare function resolveSingleDomainNamespaceId(domain: ApplicationDomain, namespaceId?: string): string;
|
|
102
|
-
declare function contractModels<TModels extends Record<string, ContractModelBase>>(contract: {
|
|
103
|
-
readonly domain: ApplicationDomain<TModels>;
|
|
104
|
-
}, namespaceId?: string): TModels;
|
|
105
|
-
declare function contractValueObjects<TModels extends Record<string, ContractModelBase>>(contract: {
|
|
106
|
-
readonly domain: ApplicationDomain<TModels>;
|
|
107
|
-
}, namespaceId?: string): Record<string, ContractValueObject> | undefined;
|
|
108
|
-
//#endregion
|
|
109
|
-
export { UnionFieldType as C, crossRef as D, CrossReferenceSchema as E, NamespaceId as O, ScalarFieldType as S, CrossReference as T, ContractValueObject as _, contractModels as a, ModelStorageBase as b, ContractDiscriminator as c, ContractFieldType as d, ContractModel as f, ContractRelationOn as g, ContractRelation as h, UNBOUND_DOMAIN_NAMESPACE_ID as i, asNamespaceId as k, ContractEmbedRelation as l, ContractReferenceRelation as m, ApplicationDomainNamespace as n, contractValueObjects as o, ContractModelBase as p, ContractWithDomain as r, resolveSingleDomainNamespaceId as s, ApplicationDomain as t, ContractField as u, ContractVariantEntry as v, ValueObjectFieldType as w, ReferenceRelationKeys as x, EmbedRelationKeys as y };
|
|
110
|
-
//# sourceMappingURL=domain-envelope-4hyFtJ4_.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"domain-envelope-4hyFtJ4_.d.mts","names":[],"sources":["../src/namespace-id.ts","../src/cross-reference.ts","../src/domain-types.ts","../src/domain-envelope.ts"],"mappings":"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"}
|