@prisma-next/mongo-contract-ts 0.14.0-dev.3 → 0.14.0-dev.30
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/config-types.d.mts.map +1 -1
- package/dist/config-types.mjs +5 -1
- package/dist/config-types.mjs.map +1 -1
- package/dist/contract-builder.d.mts +67 -16
- package/dist/contract-builder.d.mts.map +1 -1
- package/dist/contract-builder.mjs +50 -14
- package/dist/contract-builder.mjs.map +1 -1
- package/package.json +10 -10
- package/src/config-types.ts +2 -0
- package/src/contract-builder.ts +271 -26
- package/src/enum-type.ts +14 -0
- package/src/exports/contract-builder.ts +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-types.d.mts","names":[],"sources":["../src/config-types.ts"],"mappings":";;;;UAOiB,kCAAA;EAAA,SACN,oBAAA,GAAuB,aAAa;AAAA;AAAA,iBAK/B,kBAAA,CACd,QAAA,EAAU,QAAA,EACV,MAAA,WACA,OAAA,GAAU,kCAAA,GACT,gBAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"config-types.d.mts","names":[],"sources":["../src/config-types.ts"],"mappings":";;;;UAOiB,kCAAA;EAAA,SACN,oBAAA,GAAuB,aAAa;AAAA;AAAA,iBAK/B,kBAAA,CACd,QAAA,EAAU,QAAA,EACV,MAAA,WACA,OAAA,GAAU,kCAAA,GACT,gBAAA;AAAA,iBAWa,0BAAA,CACd,YAAA,UACA,MAAA,WACA,OAAA,GAAU,kCAAA,GACT,gBAAc"}
|
package/dist/config-types.mjs
CHANGED
|
@@ -5,13 +5,17 @@ import { ok } from "@prisma-next/utils/result";
|
|
|
5
5
|
//#region src/config-types.ts
|
|
6
6
|
function typescriptContract(contract, output, options) {
|
|
7
7
|
return {
|
|
8
|
-
source: {
|
|
8
|
+
source: {
|
|
9
|
+
sourceFormat: "typescript",
|
|
10
|
+
load: async () => ok(applySpecifierDefaultControlPolicy(contract, options?.defaultControlPolicy))
|
|
11
|
+
},
|
|
9
12
|
...ifDefined("output", output)
|
|
10
13
|
};
|
|
11
14
|
}
|
|
12
15
|
function typescriptContractFromPath(contractPath, output, options) {
|
|
13
16
|
return {
|
|
14
17
|
source: {
|
|
18
|
+
sourceFormat: "typescript",
|
|
15
19
|
inputs: [contractPath],
|
|
16
20
|
load: async (context) => {
|
|
17
21
|
const [absolutePath] = context.resolvedInputs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-types.mjs","names":[],"sources":["../src/config-types.ts"],"sourcesContent":["import { pathToFileURL } from 'node:url';\nimport type { ContractConfig } from '@prisma-next/config/config-types';\nimport { applySpecifierDefaultControlPolicy } from '@prisma-next/contract/apply-specifier-default-control-policy';\nimport type { Contract, ControlPolicy } from '@prisma-next/contract/types';\nimport { ifDefined } from '@prisma-next/utils/defined';\nimport { ok } from '@prisma-next/utils/result';\n\nexport interface TypeScriptContractSpecifierOptions {\n readonly defaultControlPolicy?: ControlPolicy;\n}\n\n// This helper stays family-agnostic and intentionally accepts the base Contract shape even when\n// re-exported from a Mongo-specific package.\nexport function typescriptContract(\n contract: Contract,\n output?: string,\n options?: TypeScriptContractSpecifierOptions,\n): ContractConfig {\n return {\n source: {\n load: async () =>\n ok(applySpecifierDefaultControlPolicy(contract, options?.defaultControlPolicy)),\n },\n ...ifDefined('output', output),\n };\n}\n\nexport function typescriptContractFromPath(\n contractPath: string,\n output?: string,\n options?: TypeScriptContractSpecifierOptions,\n): ContractConfig {\n return {\n source: {\n inputs: [contractPath],\n load: async (context) => {\n const [absolutePath] = context.resolvedInputs;\n if (absolutePath === undefined) {\n throw new Error(\n 'typescriptContractFromPath: context.resolvedInputs is empty. The CLI config loader should populate it positional-matched with source.inputs.',\n );\n }\n const mod = await import(pathToFileURL(absolutePath).href);\n const contract: Contract | undefined = mod.default ?? mod.contract;\n if (contract === undefined) {\n throw new Error(\n `typescriptContractFromPath: module at \"${absolutePath}\" has no \"default\" or \"contract\" export.`,\n );\n }\n return ok(applySpecifierDefaultControlPolicy(contract, options?.defaultControlPolicy));\n },\n },\n ...ifDefined('output', output),\n };\n}\n"],"mappings":";;;;;AAaA,SAAgB,mBACd,UACA,QACA,SACgB;CAChB,OAAO;EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"config-types.mjs","names":[],"sources":["../src/config-types.ts"],"sourcesContent":["import { pathToFileURL } from 'node:url';\nimport type { ContractConfig } from '@prisma-next/config/config-types';\nimport { applySpecifierDefaultControlPolicy } from '@prisma-next/contract/apply-specifier-default-control-policy';\nimport type { Contract, ControlPolicy } from '@prisma-next/contract/types';\nimport { ifDefined } from '@prisma-next/utils/defined';\nimport { ok } from '@prisma-next/utils/result';\n\nexport interface TypeScriptContractSpecifierOptions {\n readonly defaultControlPolicy?: ControlPolicy;\n}\n\n// This helper stays family-agnostic and intentionally accepts the base Contract shape even when\n// re-exported from a Mongo-specific package.\nexport function typescriptContract(\n contract: Contract,\n output?: string,\n options?: TypeScriptContractSpecifierOptions,\n): ContractConfig {\n return {\n source: {\n sourceFormat: 'typescript',\n load: async () =>\n ok(applySpecifierDefaultControlPolicy(contract, options?.defaultControlPolicy)),\n },\n ...ifDefined('output', output),\n };\n}\n\nexport function typescriptContractFromPath(\n contractPath: string,\n output?: string,\n options?: TypeScriptContractSpecifierOptions,\n): ContractConfig {\n return {\n source: {\n sourceFormat: 'typescript',\n inputs: [contractPath],\n load: async (context) => {\n const [absolutePath] = context.resolvedInputs;\n if (absolutePath === undefined) {\n throw new Error(\n 'typescriptContractFromPath: context.resolvedInputs is empty. The CLI config loader should populate it positional-matched with source.inputs.',\n );\n }\n const mod = await import(pathToFileURL(absolutePath).href);\n const contract: Contract | undefined = mod.default ?? mod.contract;\n if (contract === undefined) {\n throw new Error(\n `typescriptContractFromPath: module at \"${absolutePath}\" has no \"default\" or \"contract\" export.`,\n );\n }\n return ok(applySpecifierDefaultControlPolicy(contract, options?.defaultControlPolicy));\n },\n },\n ...ifDefined('output', output),\n };\n}\n"],"mappings":";;;;;AAaA,SAAgB,mBACd,UACA,QACA,SACgB;CAChB,OAAO;EACL,QAAQ;GACN,cAAc;GACd,MAAM,YACJ,GAAG,mCAAmC,UAAU,SAAS,oBAAoB,CAAC;EAClF;EACA,GAAG,UAAU,UAAU,MAAM;CAC/B;AACF;AAEA,SAAgB,2BACd,cACA,QACA,SACgB;CAChB,OAAO;EACL,QAAQ;GACN,cAAc;GACd,QAAQ,CAAC,YAAY;GACrB,MAAM,OAAO,YAAY;IACvB,MAAM,CAAC,gBAAgB,QAAQ;IAC/B,IAAI,iBAAiB,KAAA,GACnB,MAAM,IAAI,MACR,8IACF;IAEF,MAAM,MAAM,MAAM,OAAO,cAAc,YAAY,CAAC,CAAC;IACrD,MAAM,WAAiC,IAAI,WAAW,IAAI;IAC1D,IAAI,aAAa,KAAA,GACf,MAAM,IAAI,MACR,0CAA0C,aAAa,yCACzD;IAEF,OAAO,GAAG,mCAAmC,UAAU,SAAS,oBAAoB,CAAC;GACvF;EACF;EACA,GAAG,UAAU,UAAU,MAAM;CAC/B;AACF"}
|
|
@@ -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
|
-
|
|
63
|
-
|
|
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
|
|
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
|
-
...
|
|
326
|
-
...
|
|
327
|
-
...
|
|
328
|
-
...
|
|
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
|
-
...
|
|
331
|
-
...
|
|
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
|