@prisma-next/mongo-contract-ts 0.14.0-dev.22 → 0.14.0-dev.24

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 { ContractFieldType, ControlPolicy, CrossReference, ProfileHashBase, StorageHashBase } from "@prisma-next/contract/types";
2
- import { EntityHelpersFromNamespace, ExtractAuthoringNamespaceFromPack, MergeExtensionAuthoringNamespaces } from "@prisma-next/contract-authoring";
2
+ import { BoundEnumType, CodecTypeMap, EntityHelpersFromNamespace, EnumMember, EnumTypeHandle, ExtractAuthoringNamespaceFromPack, MergeExtensionAuthoringNamespaces, bindEnumType, enumType, isEnumTypeHandle, member } from "@prisma-next/contract-authoring";
3
3
  import { UNBOUND_NAMESPACE_ID } from "@prisma-next/framework-components/ir";
4
4
  import { MongoCollection, MongoCollectionOptionsAuthoringInput, MongoContractWithTypeMaps, MongoIndexAuthoringInput, MongoIndexFields, MongoIndexOptionsInput, MongoStorageShape, MongoTypeMaps } from "@prisma-next/mongo-contract";
5
5
  import { ExtensionPackRef, FamilyPackRef, TargetPackRef } from "@prisma-next/framework-components/components";
@@ -54,13 +54,14 @@ type MongoCodecTypes = {
54
54
  };
55
55
  type MergeExtensionCodecTypes<Packs extends Record<string, unknown>> = UnionToIntersection<{ [K in keyof Packs]: ExtractCodecTypesFromPack<Packs[K]> }[keyof Packs]>;
56
56
  type MergeExtensionCodecTypesSafe<Packs> = Packs extends Record<string, unknown> ? keyof Packs extends never ? Record<string, never> : MergeExtensionCodecTypes<Packs> : Record<string, never>;
57
- interface FieldBuilder<Type extends ContractFieldType = ContractFieldType, Nullable extends boolean = boolean, Many extends boolean = boolean> {
57
+ interface FieldBuilder<Type extends ContractFieldType = ContractFieldType, Nullable extends boolean = boolean, Many extends boolean = boolean, Handle extends EnumTypeHandle | undefined = EnumTypeHandle | undefined> {
58
58
  readonly __kind: 'field';
59
59
  readonly __type: Type;
60
60
  readonly __nullable: Nullable;
61
61
  readonly __many: Many;
62
- optional(): FieldBuilder<Type, true, Many>;
63
- many(): FieldBuilder<Type, Nullable, true>;
62
+ readonly __enumHandle: Handle;
63
+ optional(): FieldBuilder<Type, true, Many, Handle>;
64
+ many(): FieldBuilder<Type, Nullable, true, Handle>;
64
65
  }
65
66
  interface ValueObjectBuilder<Name extends string = string, Fields extends Record<string, FieldBuilder> = Record<string, FieldBuilder>> {
66
67
  readonly __kind: 'valueObject';
@@ -102,7 +103,7 @@ interface ModelBuilder<Name extends string = string, Fields extends Record<strin
102
103
  readonly __variants: Variants;
103
104
  ref<const FieldName extends keyof Fields & string>(fieldName: FieldName): FieldReference<Name, FieldName>;
104
105
  }
105
- type AnyFieldBuilder = FieldBuilder<ContractFieldType, boolean, boolean>;
106
+ type AnyFieldBuilder = FieldBuilder<ContractFieldType, boolean, boolean, EnumTypeHandle | undefined>;
106
107
  type AnyReferenceRelationBuilder = RelationBuilder<string, '1:1' | '1:N' | 'N:1', RelationOn>;
107
108
  type AnyEmbedRelationBuilder = RelationBuilder<string, '1:1' | '1:N', undefined>;
108
109
  type AnyRelationBuilder = AnyReferenceRelationBuilder | AnyEmbedRelationBuilder;
@@ -192,6 +193,18 @@ type DefinitionModels<Definition> = Definition extends {
192
193
  type DefinitionValueObjects<Definition> = Definition extends {
193
194
  readonly valueObjects?: infer ValueObjects extends Record<string, AnyValueObjectBuilder>;
194
195
  } ? ValueObjects : Record<never, never>;
196
+ type DefinitionEnums<Definition> = Definition extends {
197
+ readonly enums?: infer E;
198
+ } ? Present<E> extends Record<string, EnumTypeHandle> ? string extends keyof Present<E> ? Record<never, never> : Present<E> : Record<never, never> : Record<never, never>;
199
+ type EnumHandleAccessorType<Handle> = Handle extends EnumTypeHandle<infer _Name, infer Values, infer Names, infer MembersMap> ? {
200
+ readonly values: Values;
201
+ readonly names: Names;
202
+ readonly members: MembersMap;
203
+ has(v: Values[number]): boolean;
204
+ nameOf(v: Values[number]): string | undefined;
205
+ ordinalOf(v: Values[number]): number;
206
+ } : never;
207
+ type BuiltEnumAccessors<Definition> = { readonly [K in keyof DefinitionEnums<Definition>]: EnumHandleAccessorType<DefinitionEnums<Definition>[K]> };
195
208
  type DefinitionRoots<Definition> = Definition extends {
196
209
  readonly roots?: infer Roots extends Record<string, ModelNameInput>;
197
210
  } ? NormalizeRoots<Roots> : DerivedRootModels<DefinitionModels<Definition>>;
@@ -211,9 +224,20 @@ type DefinitionStorage<Definition> = Simplify<MongoStorageShape & {
211
224
  type MaybeValueObjectsSection<ValueObjects extends Record<string, AnyValueObjectBuilder>> = keyof ValueObjects extends never ? EmptyObject : {
212
225
  readonly valueObjects: ContractValueObjectsFromRecord<ValueObjects>;
213
226
  };
227
+ type EnumHandleToEntry<Handle> = Handle extends EnumTypeHandle<string, infer Values, infer _Names, infer _MembersMap> ? {
228
+ readonly codecId: string;
229
+ readonly members: readonly {
230
+ readonly name: string;
231
+ readonly value: Values[number];
232
+ }[];
233
+ } : never;
234
+ type ContractEnumsFromRecord<Enums extends Record<string, EnumTypeHandle>> = { readonly [K in keyof Enums as Enums[K] extends EnumTypeHandle<infer Name> ? Name : never]: EnumHandleToEntry<Enums[K]> };
235
+ type MaybeEnumsSection<Enums extends Record<string, EnumTypeHandle>> = keyof Enums extends never ? EmptyObject : {
236
+ readonly enum: ContractEnumsFromRecord<Enums>;
237
+ };
214
238
  type MongoDomainNamespaceFromDefinition<Definition> = Simplify<{
215
239
  readonly models: ContractModelsFromRecord<DefinitionModels<Definition>>;
216
- } & MaybeValueObjectsSection<DefinitionValueObjects<Definition>>>;
240
+ } & MaybeValueObjectsSection<DefinitionValueObjects<Definition>> & MaybeEnumsSection<DefinitionEnums<Definition>>>;
217
241
  type MongoContractBaseFromDefinition<Definition> = Simplify<{
218
242
  readonly target: DefinitionTargetId<Definition>;
219
243
  readonly targetFamily: DefinitionFamilyId<Definition>;
@@ -227,9 +251,30 @@ type MongoContractBaseFromDefinition<Definition> = Simplify<{
227
251
  readonly profileHash: ProfileHashBase<string>;
228
252
  readonly meta: Record<string, never>;
229
253
  readonly defaultControlPolicy?: ControlPolicy;
254
+ readonly enumAccessors?: BuiltEnumAccessors<Definition>;
230
255
  }>;
231
256
  type CodecTypesFromDefinition<Definition> = MongoCodecTypes & MergeExtensionCodecTypesSafe<DefinitionExtensionPacks<Definition>>;
232
- type MongoContractResult<Definition> = MongoContractWithTypeMaps<MongoContractBaseFromDefinition<Definition>, MongoTypeMaps<CodecTypesFromDefinition<Definition>>>;
257
+ type BuilderEnumValueUnion<TBuilder> = TBuilder extends FieldBuilder<ContractFieldType, boolean, boolean, infer Handle extends EnumTypeHandle | undefined> ? [Handle] extends [EnumTypeHandle<string, infer Values>] ? readonly unknown[] extends Values ? never : Values[number] : never : never;
258
+ type BuilderBaseChannelType<TBuilder, TValueObjects extends Record<string, AnyValueObjectBuilder>, TCodecTypes extends Record<string, {
259
+ output: unknown;
260
+ input: unknown;
261
+ }>, Channel extends 'output' | 'input'> = TBuilder extends FieldBuilder<infer Type extends ContractFieldType, boolean, boolean, EnumTypeHandle | undefined> ? [BuilderEnumValueUnion<TBuilder>] extends [never] ? Type extends {
262
+ readonly kind: 'scalar';
263
+ readonly codecId: infer CId extends keyof TCodecTypes;
264
+ } ? TCodecTypes[CId][Channel] : Type extends {
265
+ readonly kind: 'valueObject';
266
+ readonly name: infer VOName extends string;
267
+ } ? VOName extends keyof TValueObjects ? { -readonly [K in keyof ExtractValueObjectFields<TValueObjects[VOName]>]: BuilderFieldChannelType<ExtractValueObjectFields<TValueObjects[VOName]>[K], TValueObjects, TCodecTypes, Channel> } : unknown : unknown : BuilderEnumValueUnion<TBuilder> : never;
268
+ type ExtractValueObjectFields<TBuilder> = TBuilder extends NamedValueObjectBuilder<string, infer Fields> ? Fields : Record<never, never>;
269
+ type BuilderFieldChannelType<TBuilder, TValueObjects extends Record<string, AnyValueObjectBuilder>, TCodecTypes extends Record<string, {
270
+ output: unknown;
271
+ input: unknown;
272
+ }>, Channel extends 'output' | 'input'> = TBuilder extends FieldBuilder<ContractFieldType, infer Nullable extends boolean, infer Many extends boolean, EnumTypeHandle | undefined> ? (Many extends true ? BuilderBaseChannelType<TBuilder, TValueObjects, TCodecTypes, Channel>[] : BuilderBaseChannelType<TBuilder, TValueObjects, TCodecTypes, Channel>) | (Nullable extends true ? null : never) : never;
273
+ type ExtractModelFields<TBuilder> = TBuilder extends NamedModelBuilder<string, infer Fields> ? Fields : Record<never, never>;
274
+ type FieldChannelTypesFromDefinition<Definition, Channel extends 'output' | 'input'> = { readonly [K in typeof UNBOUND_NAMESPACE_ID]: { readonly [ModelKey in keyof DefinitionModels<Definition> as ExtractModelName<DefinitionModels<Definition>[ModelKey]>]: { readonly [FieldName in keyof ExtractModelFields<DefinitionModels<Definition>[ModelKey]>]: BuilderFieldChannelType<ExtractModelFields<DefinitionModels<Definition>[ModelKey]>[FieldName], DefinitionValueObjects<Definition>, CodecTypesFromDefinition<Definition>, Channel> } } };
275
+ type FieldOutputTypesFromDefinition<Definition> = FieldChannelTypesFromDefinition<Definition, 'output'>;
276
+ type FieldInputTypesFromDefinition<Definition> = FieldChannelTypesFromDefinition<Definition, 'input'>;
277
+ type MongoContractResult<Definition> = MongoContractWithTypeMaps<MongoContractBaseFromDefinition<Definition>, MongoTypeMaps<CodecTypesFromDefinition<Definition>, FieldOutputTypesFromDefinition<Definition>, FieldInputTypesFromDefinition<Definition>>>;
233
278
  type ExtractEntitiesNamespaceFromPack<Pack> = ExtractAuthoringNamespaceFromPack<Pack, 'entityTypes', Record<never, never>>;
234
279
  type MergeExtensionEntityNamespaces<ExtensionPacks> = MergeExtensionAuthoringNamespaces<ExtensionPacks, 'entityTypes'>;
235
280
  type ContractAuthoringHelpers<Family extends FamilyPackRef<string> = FamilyPackRef<string>, Target extends TargetPackRef<string, string> = TargetPackRef<string, string>, ExtensionPacks extends Record<string, ExtensionPackRef<string, string>> | undefined = undefined> = EntityHelpersFromNamespace<ExtractEntitiesNamespaceFromPack<Family> & ExtractEntitiesNamespaceFromPack<Target> & MergeExtensionEntityNamespaces<ExtensionPacks>> & {
@@ -249,6 +294,7 @@ type ContractScaffold<Family extends FamilyPackRef<string>, Target extends Targe
249
294
  type ContractDefinition<Family extends FamilyPackRef<string>, Target extends TargetPackRef<string, string>, Models extends Record<string, AnyModelBuilder> = Record<never, never>, ValueObjects extends Record<string, AnyValueObjectBuilder> = Record<never, never>, ExtensionPacks extends Record<string, ExtensionPackRef<string, string>> | undefined = undefined, Roots extends Record<string, ModelNameInput> | undefined = undefined> = ContractScaffold<Family, Target, ExtensionPacks, Roots> & {
250
295
  readonly models?: Models;
251
296
  readonly valueObjects?: ValueObjects;
297
+ readonly enums?: Record<string, EnumTypeHandle>;
252
298
  };
253
299
  type ContractFactory<Models extends Record<string, AnyModelBuilder> = Record<never, never>, ValueObjects extends Record<string, AnyValueObjectBuilder> = Record<never, never>, Roots extends Record<string, ModelNameInput> | undefined = undefined, Family extends FamilyPackRef<string> = FamilyPackRef<string>, Target extends TargetPackRef<string, string> = TargetPackRef<string, string>, ExtensionPacks extends Record<string, ExtensionPackRef<string, string>> | undefined = undefined> = (helpers: ContractAuthoringHelpers<Family, Target, ExtensionPacks>) => {
254
300
  readonly models?: Models;
@@ -268,27 +314,27 @@ declare const field: {
268
314
  readonly objectId: () => FieldBuilder<{
269
315
  readonly kind: "scalar";
270
316
  readonly codecId: "mongo/objectId@1";
271
- } & EmptyObject, false, false>;
317
+ } & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>> | undefined>;
272
318
  readonly string: () => FieldBuilder<{
273
319
  readonly kind: "scalar";
274
320
  readonly codecId: "mongo/string@1";
275
- } & EmptyObject, false, false>;
321
+ } & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>> | undefined>;
276
322
  readonly double: () => FieldBuilder<{
277
323
  readonly kind: "scalar";
278
324
  readonly codecId: "mongo/double@1";
279
- } & EmptyObject, false, false>;
325
+ } & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>> | undefined>;
280
326
  readonly int32: () => FieldBuilder<{
281
327
  readonly kind: "scalar";
282
328
  readonly codecId: "mongo/int32@1";
283
- } & EmptyObject, false, false>;
329
+ } & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>> | undefined>;
284
330
  readonly bool: () => FieldBuilder<{
285
331
  readonly kind: "scalar";
286
332
  readonly codecId: "mongo/bool@1";
287
- } & EmptyObject, false, false>;
333
+ } & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>> | undefined>;
288
334
  readonly date: () => FieldBuilder<{
289
335
  readonly kind: "scalar";
290
336
  readonly codecId: "mongo/date@1";
291
- } & EmptyObject, false, false>;
337
+ } & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>> | undefined>;
292
338
  readonly vector: <const TypeParams extends Record<string, unknown> | undefined = undefined>(options?: {
293
339
  readonly typeParams?: TypeParams;
294
340
  }) => FieldBuilder<{
@@ -296,11 +342,15 @@ declare const field: {
296
342
  readonly codecId: "mongo/vector@1";
297
343
  } & ([TypeParams] extends [undefined] ? EmptyObject : {
298
344
  readonly typeParams: TypeParams;
299
- }), false, false>;
345
+ }), false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>> | undefined>;
300
346
  readonly valueObject: <const ValueObject extends ValueObjectNameInput>(valueObjectName: ValueObject) => FieldBuilder<{
301
347
  readonly kind: "valueObject";
302
348
  readonly name: NormalizeValueObjectName<ValueObject>;
303
- }, false, false>;
349
+ }, false, false, undefined>;
350
+ readonly namedType: <const Handle extends EnumTypeHandle>(handle: Handle) => FieldBuilder<{
351
+ readonly kind: "scalar";
352
+ readonly codecId: Handle["codecId"];
353
+ }, false, false, Handle>;
304
354
  };
305
355
  declare function index<const Fields extends MongoIndexFields>(fields: Fields): {
306
356
  readonly fields: Fields;
@@ -360,6 +410,7 @@ type BoundDefinitionInput<Models extends Record<string, AnyModelBuilder> = Recor
360
410
  readonly defaultControlPolicy?: ControlPolicy;
361
411
  readonly models?: Models;
362
412
  readonly valueObjects?: ValueObjects;
413
+ readonly enums?: Record<string, EnumTypeHandle>;
363
414
  };
364
415
  type WithFamilyTarget<Input, F extends FamilyPackRef<string>, T extends TargetPackRef<string, string>> = Input & {
365
416
  readonly family: F;
@@ -389,5 +440,5 @@ declare function defineContract<const Definition extends ContractScaffold<Family
389
440
  readonly roots?: Record<string, ModelNameInput> | undefined;
390
441
  }, const Family extends FamilyPackRef<string> = FamilyPackRef<string>, const Target extends TargetPackRef<string, string> = TargetPackRef<string, string>, const ExtensionPacks extends Record<string, ExtensionPackRef<string, string>> | undefined = undefined>(definition: Definition, factory: (helpers: ContractAuthoringHelpers<Family, Target, ExtensionPacks>) => Built): MongoContractResult<Definition & Built>;
391
442
  //#endregion
392
- export { type ContractDefinition, type ContractFactory, type ContractScaffold, type FieldBuilder, type FieldReference, type ModelBuilder, type MongoContractResult, type RelationBuilder, type ValueObjectBuilder, buildBoundContract, defineContract, field, index, model, rel, valueObject };
443
+ export { type BoundEnumType, type CodecTypeMap, type ContractDefinition, type ContractFactory, type ContractScaffold, type EnumMember, type EnumTypeHandle, type ExtractCodecTypesFromPack, type FieldBuilder, type FieldReference, type ModelBuilder, type MongoContractResult, type RelationBuilder, type ValueObjectBuilder, bindEnumType, buildBoundContract, defineContract, enumType, field, index, isEnumTypeHandle, member, model, rel, valueObject };
393
444
  //# sourceMappingURL=contract-builder.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract-builder.d.mts","names":[],"sources":["../src/contract-builder.ts"],"mappings":"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"}
1
+ {"version":3,"file":"contract-builder.d.mts","names":[],"sources":["../src/contract-builder.ts"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { computeProfileHash, computeStorageHash } from "@prisma-next/contract/hashing";
2
2
  import { crossRef } from "@prisma-next/contract/types";
3
- import { createEntityHelpersFromNamespace } from "@prisma-next/contract-authoring";
3
+ import { bindEnumType, createEntityHelpersFromNamespace, enumType, isEnumTypeHandle, member } from "@prisma-next/contract-authoring";
4
4
  import { assertNoCrossRegistryCollisions, isAuthoringEntityTypeDescriptor, mergeAuthoringNamespaces } from "@prisma-next/framework-components/authoring";
5
5
  import { UNBOUND_NAMESPACE_ID } from "@prisma-next/framework-components/ir";
6
6
  import { MongoCollectionOptions, MongoIndex, MongoStorage, applyPolymorphicScopeToMongoIndex, buildMongoNamespace } from "@prisma-next/mongo-contract";
@@ -43,25 +43,26 @@ function composeMongoEntityHelpers(family, target, extensionPacks) {
43
43
  target: target.targetId
44
44
  } });
45
45
  }
46
- function createFieldBuilder(spec) {
46
+ function createFieldBuilder(spec, enumHandle) {
47
47
  return {
48
48
  __kind: "field",
49
49
  __type: spec.type,
50
50
  __nullable: spec.nullable,
51
51
  __many: spec.many,
52
+ __enumHandle: blindCast(enumHandle),
52
53
  optional() {
53
54
  return createFieldBuilder({
54
55
  type: spec.type,
55
56
  nullable: true,
56
57
  many: spec.many
57
- });
58
+ }, enumHandle);
58
59
  },
59
60
  many() {
60
61
  return createFieldBuilder({
61
62
  type: spec.type,
62
63
  nullable: spec.nullable,
63
64
  many: true
64
- });
65
+ }, enumHandle);
65
66
  }
66
67
  };
67
68
  }
@@ -112,6 +113,16 @@ const field = {
112
113
  nullable: false,
113
114
  many: false
114
115
  });
116
+ },
117
+ namedType(handle) {
118
+ return createFieldBuilder({
119
+ type: blindCast({
120
+ kind: "scalar",
121
+ codecId: handle.codecId
122
+ }),
123
+ nullable: false,
124
+ many: false
125
+ }, handle);
115
126
  }
116
127
  };
117
128
  function index(fields, options) {
@@ -235,13 +246,21 @@ function isContractScaffold(value) {
235
246
  return "family" in value && "target" in value;
236
247
  }
237
248
  function buildContractField(builder) {
249
+ const valueSet = builder.__enumHandle ? {
250
+ plane: "domain",
251
+ entityKind: "enum",
252
+ namespaceId: UNBOUND_NAMESPACE_ID,
253
+ entityName: builder.__enumHandle.enumName
254
+ } : void 0;
238
255
  return builder.__many ? {
239
256
  type: builder.__type,
240
257
  nullable: builder.__nullable,
241
- many: true
258
+ many: true,
259
+ ...ifDefined("valueSet", valueSet)
242
260
  } : {
243
261
  type: builder.__type,
244
- nullable: builder.__nullable
262
+ nullable: builder.__nullable,
263
+ ...ifDefined("valueSet", valueSet)
245
264
  };
246
265
  }
247
266
  function buildFields(fields) {
@@ -322,13 +341,13 @@ function toStorageCollectionOptions(opts) {
322
341
  size: opts.size ?? 0,
323
342
  ...opts.max != null && { max: opts.max }
324
343
  } } : {},
325
- ...opts.storageEngine !== void 0 && { storageEngine: opts.storageEngine },
326
- ...opts.indexOptionDefaults !== void 0 && { indexOptionDefaults: opts.indexOptionDefaults },
327
- ...opts.collation !== void 0 && { collation: opts.collation },
328
- ...opts.timeseries !== void 0 && { timeseries: opts.timeseries },
344
+ ...ifDefined("storageEngine", opts.storageEngine),
345
+ ...ifDefined("indexOptionDefaults", opts.indexOptionDefaults),
346
+ ...ifDefined("collation", opts.collation),
347
+ ...ifDefined("timeseries", opts.timeseries),
329
348
  ...opts.clusteredIndex !== void 0 && { clusteredIndex: opts.clusteredIndex.name !== void 0 ? { name: opts.clusteredIndex.name } : {} },
330
- ...opts.expireAfterSeconds !== void 0 && { expireAfterSeconds: opts.expireAfterSeconds },
331
- ...opts.changeStreamPreAndPostImages !== void 0 && { changeStreamPreAndPostImages: opts.changeStreamPreAndPostImages }
349
+ ...ifDefined("expireAfterSeconds", opts.expireAfterSeconds),
350
+ ...ifDefined("changeStreamPreAndPostImages", opts.changeStreamPreAndPostImages)
332
351
  });
333
352
  }
334
353
  function findMissingIndexField(index, modelFields) {
@@ -442,6 +461,22 @@ function buildContractFromDefinition(definition) {
442
461
  }),
443
462
  namespaces: { [UNBOUND_NAMESPACE_ID]: unboundNamespace }
444
463
  });
464
+ const builtEnums = {};
465
+ for (const [enumName, handle] of Object.entries(definition.enums ?? {})) {
466
+ if (enumName !== handle.enumName) throw new Error(`enum declaration key "${enumName}" must match enumType name "${handle.enumName}". Aliases are not supported.`);
467
+ builtEnums[enumName] = {
468
+ codecId: handle.codecId,
469
+ members: handle.enumMembers.map((m) => ({
470
+ name: m.name,
471
+ value: blindCast(m.value)
472
+ }))
473
+ };
474
+ }
475
+ const hasEnums = Object.keys(builtEnums).length > 0;
476
+ for (const [modelName, modelBuilder] of Object.entries(definition.models ?? {})) for (const [fieldName, fieldBuilder] of Object.entries(modelBuilder.__fields)) {
477
+ const handle = fieldBuilder.__enumHandle;
478
+ if (handle && !(handle.enumName in builtEnums)) throw new Error(`Model "${modelName}" field "${fieldName}" references enum "${handle.enumName}" which is not declared in defineContract({ enums: { ... } }).`);
479
+ }
445
480
  return blindCast({
446
481
  target: definition.target.targetId,
447
482
  targetFamily: definition.family.familyId,
@@ -449,7 +484,8 @@ function buildContractFromDefinition(definition) {
449
484
  roots,
450
485
  domain: { namespaces: { [UNBOUND_NAMESPACE_ID]: {
451
486
  models: builtModels,
452
- ...Object.keys(builtValueObjects).length > 0 ? { valueObjects: builtValueObjects } : {}
487
+ ...Object.keys(builtValueObjects).length > 0 ? { valueObjects: builtValueObjects } : {},
488
+ ...hasEnums ? { enum: builtEnums } : {}
453
489
  } } },
454
490
  storage,
455
491
  capabilities,
@@ -493,6 +529,6 @@ function defineContract(definition, factory) {
493
529
  return buildBoundContract(definition.family, definition.target, definition);
494
530
  }
495
531
  //#endregion
496
- export { buildBoundContract, defineContract, field, index, model, rel, valueObject };
532
+ export { bindEnumType, buildBoundContract, defineContract, enumType, field, index, isEnumTypeHandle, member, model, rel, valueObject };
497
533
 
498
534
  //# sourceMappingURL=contract-builder.mjs.map