@prisma/orm-family-mongo 8.0.0-rc.18-dev.31 → 8.0.0-rc.18-dev.32
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-x4rKdA0F.mjs → config-types-DYTCUpAs.mjs} +2 -2
- package/dist/{config-types-x4rKdA0F.mjs.map → config-types-DYTCUpAs.mjs.map} +1 -1
- package/dist/{contract-builder-BzLDSs26.d.mts → contract-builder-0sGxSYL2.d.mts} +40 -27
- package/dist/contract-builder-0sGxSYL2.d.mts.map +1 -0
- package/dist/{contract-builder-BWJ5A-93.mjs → contract-builder-gSPQkPqK.mjs} +60 -15
- package/dist/contract-builder-gSPQkPqK.mjs.map +1 -0
- package/dist/contract-prisma6__provider.mjs +14 -13
- package/dist/contract-prisma6__provider.mjs.map +1 -1
- package/dist/contract-psl.mjs +1 -1
- package/dist/contract-psl__provider.mjs +1 -1
- package/dist/contract-psl__provider.mjs.map +1 -1
- package/dist/contract-ts.d.mts +1 -1
- package/dist/contract-ts.mjs +2 -2
- package/dist/contract-ts__config-types.mjs +1 -1
- package/dist/contract-ts__contract-builder.d.mts +1 -1
- package/dist/contract-ts__contract-builder.mjs +1 -1
- package/dist/contract.d.mts +3 -3
- package/dist/contract.mjs +3 -3
- package/dist/contract__entity-kinds.d.mts +1 -1
- package/dist/contract__entity-kinds.mjs +1 -1
- package/dist/{control-CGkbLODn.mjs → control-DWKLQ_YG.mjs} +6 -6
- package/dist/{control-CGkbLODn.mjs.map → control-DWKLQ_YG.mjs.map} +1 -1
- package/dist/{control-BNVd28Dc.d.mts → control-Dpj_4bQa.d.mts} +5 -5
- package/dist/{control-BNVd28Dc.d.mts.map → control-Dpj_4bQa.d.mts.map} +1 -1
- package/dist/{control-BYMT27pb.d.mts → control-UaQnR7tX.d.mts} +3 -3
- package/dist/{control-BYMT27pb.d.mts.map → control-UaQnR7tX.d.mts.map} +1 -1
- package/dist/control-adapter-BdmFIhE6.d.mts +1 -0
- package/dist/{control-adapter-Bh_ZraGM-BCp7NZJJ.d.mts → control-adapter-Bh_ZraGM-DPlHAStH.d.mts} +4 -4
- package/dist/{control-adapter-Bh_ZraGM-BCp7NZJJ.d.mts.map → control-adapter-Bh_ZraGM-DPlHAStH.d.mts.map} +1 -1
- package/dist/{dist-BY0Y-yqv.mjs → dist-B8f-pfcT.mjs} +152 -42
- package/dist/dist-B8f-pfcT.mjs.map +1 -0
- package/dist/{dist-ClS8s9e5.mjs → dist-gmGbjhmk.mjs} +10 -6
- package/dist/dist-gmGbjhmk.mjs.map +1 -0
- package/dist/dist-xk_0xOR-.mjs.map +1 -1
- package/dist/emitter.mjs +1 -1
- package/dist/{entity-kinds-RooUvcN8-B1AF_ppw.mjs → entity-kinds-BQBtfVet-B-Px7NHp.mjs} +7 -2
- package/dist/entity-kinds-BQBtfVet-B-Px7NHp.mjs.map +1 -0
- package/dist/{exports-W3IiuyIf.mjs → exports-BHQVApAg.mjs} +5 -2
- package/dist/exports-BHQVApAg.mjs.map +1 -0
- package/dist/family.d.mts +9 -9
- package/dist/family.mjs +7 -7
- package/dist/family__control-adapter.d.mts +2 -2
- package/dist/family__control.d.mts +1 -1
- package/dist/family__control.mjs +2 -2
- package/dist/family__ir.d.mts +2 -2
- package/dist/family__ir.mjs +3 -3
- package/dist/family__migration.d.mts +1 -1
- package/dist/family__migration.mjs +1 -1
- package/dist/family__pack.mjs +1 -1
- package/dist/family__runtime.d.mts +2 -2
- package/dist/family__runtime.mjs +1 -1
- package/dist/family__schema-verify.d.mts +1 -1
- package/dist/family__schema-verify.mjs +1 -1
- package/dist/{field-accessor-CE4JbDIa-CHZgR4TO.d.mts → field-accessor-CmxCw9xP-C6jMngbK.d.mts} +19 -12
- package/dist/field-accessor-CmxCw9xP-C6jMngbK.d.mts.map +1 -0
- package/dist/{index-DDoen8Ct.d.mts → index-BhIiYIXu.d.mts} +7 -4
- package/dist/{index-DDoen8Ct.d.mts.map → index-BhIiYIXu.d.mts.map} +1 -1
- package/dist/{index-DDAe-FtT.d.mts → index-YY1SU_7o.d.mts} +36 -18
- package/dist/{index-DDAe-FtT.d.mts.map → index-YY1SU_7o.d.mts.map} +1 -1
- package/dist/{index-YJpDjbOW.d.mts → index-qpnB3mGZ.d.mts} +3 -3
- package/dist/{index-YJpDjbOW.d.mts.map → index-qpnB3mGZ.d.mts.map} +1 -1
- package/dist/{index-D5sQv1yD.d.mts → index-rANtsIZG.d.mts} +3 -3
- package/dist/{index-D5sQv1yD.d.mts.map → index-rANtsIZG.d.mts.map} +1 -1
- package/dist/{index-Dr9_nUnD.d.mts → index-ySOJP8ac.d.mts} +3 -3
- package/dist/{index-Dr9_nUnD.d.mts.map → index-ySOJP8ac.d.mts.map} +1 -1
- package/dist/{interpreter-BkAoaKOQ-DJm6_n9S.mjs → interpreter-DErigqlz-CEuWzlzD.mjs} +51 -18
- package/dist/interpreter-DErigqlz-CEuWzlzD.mjs.map +1 -0
- package/dist/{ir-DUiJXIsl.d.mts → ir-BLC0t6_x.d.mts} +4 -4
- package/dist/{ir-DUiJXIsl.d.mts.map → ir-BLC0t6_x.d.mts.map} +1 -1
- package/dist/{ir-eoe34oId.mjs → ir-DGm0HXbP.mjs} +2 -2
- package/dist/{ir-eoe34oId.mjs.map → ir-DGm0HXbP.mjs.map} +1 -1
- package/dist/lowering.d.mts +1 -1
- package/dist/{migration-DbyIJhbx.d.mts → migration-DEx-V0co.d.mts} +5 -5
- package/dist/{migration-DbyIJhbx.d.mts.map → migration-DEx-V0co.d.mts.map} +1 -1
- package/dist/{migration-tlRiqq83.mjs → migration-DnQ7_A_B.mjs} +2 -2
- package/dist/{migration-tlRiqq83.mjs.map → migration-DnQ7_A_B.mjs.map} +1 -1
- package/dist/{mongo-contract-serializer-BVsamWTo-DXH0WlvH.mjs → mongo-contract-serializer-Zx1rvil3-BywiKCpn.mjs} +5 -5
- package/dist/mongo-contract-serializer-Zx1rvil3-BywiKCpn.mjs.map +1 -0
- package/dist/{mongo-contract-view-AnejqfrQ-BWrqU5Wb.d.mts → mongo-contract-view-AnejqfrQ-Wj_ulq2L.d.mts} +3 -3
- package/dist/{mongo-contract-view-AnejqfrQ-BWrqU5Wb.d.mts.map → mongo-contract-view-AnejqfrQ-Wj_ulq2L.d.mts.map} +1 -1
- package/dist/{mongo-contract-view-BNFzgwnZ-CH1SAmzW.mjs → mongo-contract-view-D5yu2LrY-DCAZYJ4q.mjs} +4 -4
- package/dist/{mongo-contract-view-BNFzgwnZ-CH1SAmzW.mjs.map → mongo-contract-view-D5yu2LrY-DCAZYJ4q.mjs.map} +1 -1
- package/dist/{mongo-value-set-BngSUlOh-BhDGXjM_.d.mts → mongo-value-set-DEd7WLCT-B2Ar2GkJ.d.mts} +19 -3
- package/dist/mongo-value-set-DEd7WLCT-B2Ar2GkJ.d.mts.map +1 -0
- package/dist/orm.d.mts +12 -7
- package/dist/orm.d.mts.map +1 -1
- package/dist/orm.mjs +259 -49
- package/dist/orm.mjs.map +1 -1
- package/dist/query-ast.d.mts +2 -2
- package/dist/query-ast__control.d.mts +2 -2
- package/dist/query-builder.d.mts +2 -2
- package/dist/query-builder.mjs +1 -1
- package/dist/query-builder__contract-free.d.mts +3 -3
- package/dist/{runtime-CWqMkwXI.d.mts → runtime-yZA30qM2.d.mts} +2 -2
- package/dist/runtime-yZA30qM2.d.mts.map +1 -0
- package/dist/runtime.d.mts +2 -2
- package/dist/schema-ir.d.mts +1 -1
- package/dist/{schema-verify-DQMAlWkY.d.mts → schema-verify-CVOG6EZx.d.mts} +4 -4
- package/dist/{schema-verify-DQMAlWkY.d.mts.map → schema-verify-CVOG6EZx.d.mts.map} +1 -1
- package/dist/{verify-mongo-schema-CeQP5N4k-E-HOylv3.mjs → verify-mongo-schema-CeQP5N4k-CNOctppM.mjs} +2 -2
- package/dist/{verify-mongo-schema-CeQP5N4k-E-HOylv3.mjs.map → verify-mongo-schema-CeQP5N4k-CNOctppM.mjs.map} +1 -1
- package/dist/wire.d.mts +1 -1
- package/package.json +20 -20
- package/dist/contract-builder-BWJ5A-93.mjs.map +0 -1
- package/dist/contract-builder-BzLDSs26.d.mts.map +0 -1
- package/dist/control-adapter-qe7UlBnw.d.mts +0 -1
- package/dist/dist-BY0Y-yqv.mjs.map +0 -1
- package/dist/dist-ClS8s9e5.mjs.map +0 -1
- package/dist/entity-kinds-RooUvcN8-B1AF_ppw.mjs.map +0 -1
- package/dist/exports-W3IiuyIf.mjs.map +0 -1
- package/dist/field-accessor-CE4JbDIa-CHZgR4TO.d.mts.map +0 -1
- package/dist/interpreter-BkAoaKOQ-DJm6_n9S.mjs.map +0 -1
- package/dist/mongo-contract-serializer-BVsamWTo-DXH0WlvH.mjs.map +0 -1
- package/dist/mongo-value-set-BngSUlOh-BhDGXjM_.d.mts.map +0 -1
- package/dist/runtime-CWqMkwXI.d.mts.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as contractError } from "./contract-errors-BCN6RVI5-kMurtAbI.mjs";
|
|
2
|
-
import { applySpecifierDefaultControlPolicy } from "@prisma/orm-framework/contract/apply-specifier-default-control-policy";
|
|
3
2
|
import { InternalError } from "@prisma/orm-framework/utils/internal-error";
|
|
3
|
+
import { applySpecifierDefaultControlPolicy } from "@prisma/orm-framework/contract/apply-specifier-default-control-policy";
|
|
4
4
|
import { ok } from "@prisma/orm-framework/utils/result";
|
|
5
5
|
import { ifDefined } from "@prisma/orm-framework/utils/defined";
|
|
6
6
|
import { pathToFileURL } from "node:url";
|
|
@@ -34,4 +34,4 @@ function typescriptContractFromPath(contractPath, output, options) {
|
|
|
34
34
|
//#endregion
|
|
35
35
|
export { typescriptContractFromPath as n, typescriptContract as t };
|
|
36
36
|
|
|
37
|
-
//# sourceMappingURL=config-types-
|
|
37
|
+
//# sourceMappingURL=config-types-DYTCUpAs.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-types-
|
|
1
|
+
{"version":3,"file":"config-types-DYTCUpAs.mjs","names":[],"sources":["../../../../2-mongo-family/2-authoring/contract-ts/dist/config-types.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { pathToFileURL } from \"node:url\";\nimport { applySpecifierDefaultControlPolicy } from \"@internal/contract/apply-specifier-default-control-policy\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { ok } from \"@internal/utils/result\";\n//#region src/config-types.ts\nfunction typescriptContract(contract, output, options) {\n\treturn {\n\t\tsource: {\n\t\t\tformat: \"typescript\",\n\t\t\tload: async () => ok(applySpecifierDefaultControlPolicy(contract, options?.defaultControlPolicy))\n\t\t},\n\t\t...ifDefined(\"output\", output)\n\t};\n}\nfunction typescriptContractFromPath(contractPath, output, options) {\n\treturn {\n\t\tsource: {\n\t\t\tformat: \"typescript\",\n\t\t\tinputs: [contractPath],\n\t\t\tload: async (context) => {\n\t\t\t\tconst [absolutePath] = context.resolvedInputs;\n\t\t\t\tif (absolutePath === void 0) throw new InternalError(\"typescriptContractFromPath: context.resolvedInputs is empty. The CLI config loader should populate it from source.inputs.\");\n\t\t\t\tconst mod = await import(pathToFileURL(absolutePath).href);\n\t\t\t\tconst contract = mod.default ?? mod.contract;\n\t\t\t\tif (contract === void 0) throw contractError(\"CONTRACT.MODULE_EXPORT_MISSING\", `typescriptContractFromPath: module at \"${absolutePath}\" has no \"default\" or \"contract\" export.`, { meta: { path: absolutePath } });\n\t\t\t\treturn ok(applySpecifierDefaultControlPolicy(contract, options?.defaultControlPolicy));\n\t\t\t}\n\t\t},\n\t\t...ifDefined(\"output\", output)\n\t};\n}\n//#endregion\nexport { typescriptContract, typescriptContractFromPath };\n\n//# sourceMappingURL=config-types.mjs.map"],"mappings":";;;;;;;AAOA,SAAS,mBAAmB,UAAU,QAAQ,SAAS;CACtD,OAAO;EACN,QAAQ;GACP,QAAQ;GACR,MAAM,YAAY,GAAG,mCAAmC,UAAU,SAAS,oBAAoB,CAAC;EACjG;EACA,GAAG,UAAU,UAAU,MAAM;CAC9B;AACD;AACA,SAAS,2BAA2B,cAAc,QAAQ,SAAS;CAClE,OAAO;EACN,QAAQ;GACP,QAAQ;GACR,QAAQ,CAAC,YAAY;GACrB,MAAM,OAAO,YAAY;IACxB,MAAM,CAAC,gBAAgB,QAAQ;IAC/B,IAAI,iBAAiB,KAAK,GAAG,MAAM,IAAI,cAAc,2HAA2H;IAChL,MAAM,MAAM,MAAM,OAAO,cAAc,YAAY,CAAC,CAAC;IACrD,MAAM,WAAW,IAAI,WAAW,IAAI;IACpC,IAAI,aAAa,KAAK,GAAG,MAAM,cAAc,kCAAkC,0CAA0C,aAAa,2CAA2C,EAAE,MAAM,EAAE,MAAM,aAAa,EAAE,CAAC;IACjN,OAAO,GAAG,mCAAmC,UAAU,SAAS,oBAAoB,CAAC;GACtF;EACD;EACA,GAAG,UAAU,UAAU,MAAM;CAC9B;AACD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as MongoIndexAuthoringInput, F as MongoIndexOptionsInput,
|
|
2
|
-
import "./index-
|
|
1
|
+
import { E as MongoIndexAuthoringInput, F as MongoIndexOptionsInput, G as MongoStorageShape, O as MongoIndexFields, Y as MongoTypeMaps, v as MongoCollection, w as MongoContractWithTypeMaps, x as MongoCollectionOptionsAuthoringInput } from "./mongo-value-set-DEd7WLCT-B2Ar2GkJ.mjs";
|
|
2
|
+
import "./index-YY1SU_7o.mjs";
|
|
3
3
|
import { r as BsonValue, t as BsonInputValue } from "./index-9DDQlC5U.mjs";
|
|
4
4
|
import { UNBOUND_NAMESPACE_ID } from "@prisma/orm-framework/components/ir";
|
|
5
5
|
import { ContractExecutionSection, ContractFieldType, ControlPolicy, CrossReference, ExecutionHashBase, ExecutionMutationDefault, ExecutionMutationDefaultPhases, ExecutionMutationDefaultValue, FieldTypesFromDomain, JsonValue, ProfileHashBase, StorageHashBase } from "@prisma/orm-framework/contract/types";
|
|
@@ -99,35 +99,40 @@ interface FieldBuilder<Type extends ContractFieldType = ContractFieldType, Nulla
|
|
|
99
99
|
readonly elementNullable: boolean;
|
|
100
100
|
} = false | {
|
|
101
101
|
readonly elementNullable: boolean;
|
|
102
|
-
}, Handle extends EnumTypeHandle | undefined = EnumTypeHandle | undefined, ExecutionDefaults extends ExecutionMutationDefaultPhases | undefined = undefined> {
|
|
102
|
+
}, Handle extends EnumTypeHandle | undefined = EnumTypeHandle | undefined, ExecutionDefaults extends ExecutionMutationDefaultPhases | undefined = undefined, StoredName extends string | undefined = string | undefined> {
|
|
103
103
|
readonly __kind: 'field';
|
|
104
104
|
readonly __type: Type;
|
|
105
105
|
readonly __nullable: Nullable;
|
|
106
106
|
readonly __many: Many;
|
|
107
107
|
readonly __enumHandle: Handle;
|
|
108
108
|
readonly __executionDefaults?: ExecutionDefaults;
|
|
109
|
+
readonly __storedName: StoredName;
|
|
109
110
|
/** The generator function calls `.onCreate(...)` and `.onUpdate(...)` give, resolved by the field's codec when the contract is built. */
|
|
110
111
|
readonly __generatorCalls?: FieldGeneratorCalls;
|
|
111
112
|
/** Generates the field's value in the client when a document is created without one, with a call from `gen`, such as `gen.now()`. */
|
|
112
|
-
onCreate(call: GeneratorFunctionCall): FieldBuilder<Type, Nullable, Many, Handle, WithGeneratedPhase<ExecutionDefaults, 'onCreate'
|
|
113
|
+
onCreate(call: GeneratorFunctionCall): FieldBuilder<Type, Nullable, Many, Handle, WithGeneratedPhase<ExecutionDefaults, 'onCreate'>, StoredName>;
|
|
113
114
|
/** Generates the field's value in the client every time a document is updated, with a call from `gen`, such as `gen.now()`. */
|
|
114
|
-
onUpdate(call: GeneratorFunctionCall): FieldBuilder<Type, Nullable, Many, Handle, WithGeneratedPhase<ExecutionDefaults, 'onUpdate'
|
|
115
|
-
readonly optional: FilledOnWrite<ExecutionDefaults> extends true ? (this: 'A preset fills this field on write, so it cannot be optional') => never : () => FieldBuilder<Type, true, Many, Handle, ExecutionDefaults>;
|
|
115
|
+
onUpdate(call: GeneratorFunctionCall): FieldBuilder<Type, Nullable, Many, Handle, WithGeneratedPhase<ExecutionDefaults, 'onUpdate'>, StoredName>;
|
|
116
|
+
readonly optional: FilledOnWrite<ExecutionDefaults> extends true ? (this: 'A preset fills this field on write, so it cannot be optional') => never : () => FieldBuilder<Type, true, Many, Handle, ExecutionDefaults, StoredName>;
|
|
116
117
|
readonly many: FilledOnWrite<ExecutionDefaults> extends true ? (this: 'A preset fills this field on write, so it cannot be a list') => never : {
|
|
117
118
|
(): FieldBuilder<Type, Nullable, {
|
|
118
119
|
readonly elementNullable: false;
|
|
119
|
-
}, Handle, ExecutionDefaults>;
|
|
120
|
+
}, Handle, ExecutionDefaults, StoredName>;
|
|
120
121
|
(options: {
|
|
121
122
|
readonly elementsNullable: false;
|
|
122
123
|
}): FieldBuilder<Type, Nullable, {
|
|
123
124
|
readonly elementNullable: false;
|
|
124
|
-
}, Handle, ExecutionDefaults>;
|
|
125
|
+
}, Handle, ExecutionDefaults, StoredName>;
|
|
125
126
|
(options: {
|
|
126
127
|
readonly elementsNullable: true;
|
|
127
128
|
}): FieldBuilder<Type, Nullable, {
|
|
128
129
|
readonly elementNullable: true;
|
|
129
|
-
}, Handle, ExecutionDefaults>;
|
|
130
|
+
}, Handle, ExecutionDefaults, StoredName>;
|
|
130
131
|
};
|
|
132
|
+
/** Store the field under `field` in its documents, as `.mongo({ field: '_id' })` stores the document id. */
|
|
133
|
+
readonly mongo: <const Field extends string>(spec: {
|
|
134
|
+
readonly field: Field;
|
|
135
|
+
}) => FieldBuilder<Type, Nullable, Many, Handle, ExecutionDefaults, Field>;
|
|
131
136
|
}
|
|
132
137
|
type FieldGeneratorCalls = {
|
|
133
138
|
readonly onCreate?: GeneratorFunctionCall;
|
|
@@ -253,7 +258,15 @@ type ContractRelationFromBuilder<TBuilder, Fields extends Record<string, AnyFiel
|
|
|
253
258
|
readonly cardinality: Cardinality;
|
|
254
259
|
} : never;
|
|
255
260
|
type ContractRelationsFromRecord<Relations extends Record<string, AnyRelationBuilder>, Fields extends Record<string, AnyFieldBuilder>> = keyof Relations extends never ? Record<string, never> : Simplify<{ readonly [K in keyof Relations]: ContractRelationFromBuilder<Relations[K], Fields>; }>;
|
|
256
|
-
type
|
|
261
|
+
type StoredNameFromBuilder<TBuilder, FieldName extends string> = TBuilder extends {
|
|
262
|
+
readonly __storedName: infer StoredName extends string;
|
|
263
|
+
} ? StoredName : FieldName;
|
|
264
|
+
type StorageFieldsFromRecord<Fields extends Record<string, AnyFieldBuilder>> = keyof Fields extends never ? Record<string, never> : { readonly [K in keyof Fields & string]: {
|
|
265
|
+
readonly field: StoredNameFromBuilder<Fields[K], K>;
|
|
266
|
+
}; };
|
|
267
|
+
type ContractModelStorageFromBuilder<TBuilder, Fields extends Record<string, AnyFieldBuilder>> = Simplify<ModelStorageSection<TBuilder> & {
|
|
268
|
+
readonly fields: StorageFieldsFromRecord<Fields>;
|
|
269
|
+
} & ModelStorageRelationsSection<TBuilder>>;
|
|
257
270
|
type MaybeOwner<Owner> = [Owner] extends [undefined] ? EmptyObject : {
|
|
258
271
|
readonly owner: Owner & string;
|
|
259
272
|
};
|
|
@@ -273,7 +286,7 @@ type MaybeVariants<Variants> = [Variants] extends [undefined] ? EmptyObject : {
|
|
|
273
286
|
type ContractModelFromBuilder<TBuilder> = TBuilder extends NamedModelBuilder<string, infer Fields extends Record<string, AnyFieldBuilder>, infer Relations extends Record<string, AnyRelationBuilder>, string | undefined, infer Owner, infer Base, Record<string, StorageRelationSpec> | undefined, infer Discriminator, infer Variants> ? Simplify<{
|
|
274
287
|
readonly fields: ContractFieldsFromRecord<Fields>;
|
|
275
288
|
readonly relations: ContractRelationsFromRecord<Relations, Fields>;
|
|
276
|
-
readonly storage: ContractModelStorageFromBuilder<TBuilder>;
|
|
289
|
+
readonly storage: ContractModelStorageFromBuilder<TBuilder, Fields>;
|
|
277
290
|
} & MaybeOwner<Owner> & MaybeBase<Base> & MaybeDiscriminator<Discriminator> & MaybeVariants<Variants>> : never;
|
|
278
291
|
type ContractModelsFromRecord<Models extends Record<string, AnyModelBuilder>> = Simplify<{ readonly [K in keyof Models as ExtractModelName<Models[K]>]: ContractModelFromBuilder<Models[K]>; }>;
|
|
279
292
|
type CrossRefFor<M extends string> = CrossReference & {
|
|
@@ -354,7 +367,7 @@ type ModelExecutionDefaults<TBuilder> = ExtractModelCollection<TBuilder> extends
|
|
|
354
367
|
readonly ref: {
|
|
355
368
|
readonly namespace: typeof UNBOUND_NAMESPACE_ID;
|
|
356
369
|
readonly entry: Entry;
|
|
357
|
-
readonly field: FieldName
|
|
370
|
+
readonly field: StoredNameFromBuilder<ExtractModelFields<TBuilder>[FieldName], FieldName>;
|
|
358
371
|
};
|
|
359
372
|
} & Phases : never; }[keyof ExtractModelFields<TBuilder> & string] : never;
|
|
360
373
|
type ExecutionDefaultsFromDefinition<Definition> = { [ModelKey in keyof DefinitionModels<Definition>]: ModelExecutionDefaults<DefinitionModels<Definition>[ModelKey]>; }[keyof DefinitionModels<Definition>];
|
|
@@ -455,60 +468,60 @@ declare const field: {
|
|
|
455
468
|
readonly objectId: () => FieldBuilder<{
|
|
456
469
|
readonly kind: "scalar";
|
|
457
470
|
readonly codecId: "mongo/objectId@1";
|
|
458
|
-
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined>;
|
|
471
|
+
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined, string | undefined>;
|
|
459
472
|
readonly string: () => FieldBuilder<{
|
|
460
473
|
readonly kind: "scalar";
|
|
461
474
|
readonly codecId: "mongo/string@1";
|
|
462
|
-
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined>;
|
|
475
|
+
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined, string | undefined>;
|
|
463
476
|
readonly double: () => FieldBuilder<{
|
|
464
477
|
readonly kind: "scalar";
|
|
465
478
|
readonly codecId: "mongo/double@1";
|
|
466
|
-
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined>;
|
|
479
|
+
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined, string | undefined>;
|
|
467
480
|
readonly int32: () => FieldBuilder<{
|
|
468
481
|
readonly kind: "scalar";
|
|
469
482
|
readonly codecId: "mongo/int32@1";
|
|
470
|
-
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined>;
|
|
483
|
+
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined, string | undefined>;
|
|
471
484
|
readonly bool: () => FieldBuilder<{
|
|
472
485
|
readonly kind: "scalar";
|
|
473
486
|
readonly codecId: "mongo/bool@1";
|
|
474
|
-
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined>;
|
|
487
|
+
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined, string | undefined>;
|
|
475
488
|
readonly date: () => FieldBuilder<{
|
|
476
489
|
readonly kind: "scalar";
|
|
477
490
|
readonly codecId: "mongo/date@1";
|
|
478
|
-
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined>;
|
|
491
|
+
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined, string | undefined>;
|
|
479
492
|
readonly int64: () => FieldBuilder<{
|
|
480
493
|
readonly kind: "scalar";
|
|
481
494
|
readonly codecId: "mongo/int64@1";
|
|
482
|
-
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined>;
|
|
495
|
+
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined, string | undefined>;
|
|
483
496
|
readonly int64Number: () => FieldBuilder<{
|
|
484
497
|
readonly kind: "scalar";
|
|
485
498
|
readonly codecId: "mongo/int64Number@1";
|
|
486
|
-
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined>;
|
|
499
|
+
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined, string | undefined>;
|
|
487
500
|
readonly decimal128: () => FieldBuilder<{
|
|
488
501
|
readonly kind: "scalar";
|
|
489
502
|
readonly codecId: "mongo/decimal128@1";
|
|
490
|
-
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined>;
|
|
503
|
+
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined, string | undefined>;
|
|
491
504
|
readonly binary: () => FieldBuilder<{
|
|
492
505
|
readonly kind: "scalar";
|
|
493
506
|
readonly codecId: "mongo/binary@1";
|
|
494
|
-
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined>;
|
|
507
|
+
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined, string | undefined>;
|
|
495
508
|
readonly json: () => FieldBuilder<{
|
|
496
509
|
readonly kind: "scalar";
|
|
497
510
|
readonly codecId: "mongo/json@1";
|
|
498
|
-
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined>;
|
|
511
|
+
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined, string | undefined>;
|
|
499
512
|
readonly bson: () => FieldBuilder<{
|
|
500
513
|
readonly kind: "scalar";
|
|
501
514
|
readonly codecId: "mongo/bson@1";
|
|
502
|
-
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined>;
|
|
515
|
+
} & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>, string> | undefined, undefined, string | undefined>;
|
|
503
516
|
readonly vector: typeof vectorField;
|
|
504
517
|
readonly valueObject: <const ValueObject extends ValueObjectNameInput>(valueObjectName: ValueObject) => FieldBuilder<{
|
|
505
518
|
readonly kind: "valueObject";
|
|
506
519
|
readonly name: NormalizeValueObjectName<ValueObject>;
|
|
507
|
-
}, false, false, undefined, undefined>;
|
|
520
|
+
}, false, false, undefined, undefined, undefined>;
|
|
508
521
|
readonly namedType: <const Handle extends EnumTypeHandle>(handle: Handle) => FieldBuilder<{
|
|
509
522
|
readonly kind: "scalar";
|
|
510
523
|
readonly codecId: Handle["codecId"];
|
|
511
|
-
}, false, false, Handle, undefined>;
|
|
524
|
+
}, false, false, Handle, undefined, undefined>;
|
|
512
525
|
};
|
|
513
526
|
declare function index<const Fields extends MongoIndexFields>(fields: Fields): {
|
|
514
527
|
readonly fields: Fields;
|
|
@@ -607,4 +620,4 @@ declare function defineContract<const Definition extends ContractScaffold<Family
|
|
|
607
620
|
}>(definition: Definition, factory: (helpers: ContractAuthoringHelpers<Definition['family'], Definition['target'], ScaffoldExtensions<Definition>>) => Built): MongoContractResult<Definition & Built>;
|
|
608
621
|
//#endregion
|
|
609
622
|
export { member as C, valueObject as E, isEnumTypeHandle as S, rel as T, buildBoundContract as _, ContractFactory as a, field as b, EnumTypeHandle as c, FieldReference as d, ModelBuilder as f, bindEnumType as g, ValueObjectBuilder as h, ContractDefinition as i, ExtractCodecTypesFromPack as l, RelationBuilder as m, CodecTypeMap as n, ContractScaffold as o, MongoContractResult as p, ContractAuthoringHelpers as r, EnumMember as s, BoundEnumType as t, FieldBuilder as u, defineContract as v, model as w, index as x, enumType$1 as y };
|
|
610
|
-
//# sourceMappingURL=contract-builder-
|
|
623
|
+
//# sourceMappingURL=contract-builder-0sGxSYL2.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-builder-0sGxSYL2.d.mts","names":[],"sources":["../../../../2-mongo-family/2-authoring/contract-ts/dist/contract-builder.d.mts"],"mappings":";;;;;;;;;;KAQK;WACM;;KAEN;WACM;;KAEN;KACA,QAAQ,KAAK,QAAQ;KACrB,cAAc;KACd,SAAS,QAAQ,WAAW,IAAI,EAAE,QAAQ;KAC1C,QAAQ,QAAQ,WAAW,IAAI,EAAE;KACjC,YAAY,QAAQ,SAAS,SAAS,QAAQ,OAAO,cAAc,cAAc;KACjF,oBAAoB,UAAU,yBAAyB,OAAO,kCAAkC,aAAa,yBAAyB;KACtI,0BAA0B,KAAK;EAClC,qBAAqB;IACnB,mBAAmB;EACrB;KACG,aAAa,wBAAwB;KACrC;WACM;aACE;aACA;aACA;;WAEF;aACE;aACA;aACA;;WAEF;aACE;aACA;aACA;;WAEF;aACE;aACA;aACA;;WAEF;aACE;aACA;aACA;;WAEF;aACE,OAAO;aACP,QAAQ;aACR;;WAEF;aACE;aACA;aACA;;WAEF;aACE;aACA;aACA;;WAEF;aACE;aACA;aACA;;WAEF;aACE;aACA;aACA;;WAEF;aACE,OAAO;aACP,QAAQ;aACR;;WAEF;aACE,OAAO;aACP,QAAQ;aACR;;WAEF;aACE,OAAO;aACP,QAAQ;aACR;;;KAGR,yBAAyB,cAAc,2BAA2B,uBAAuB,WAAW,QAAQ,0BAA0B,MAAM,aAAa;KACzJ,6BAA6B,SAAS,cAAc,gCAAgC,sBAAsB,uBAAuB,yBAAyB,SAAS;UAC9J,aAAa,aAAa,oBAAoB,mBAAmB,oCAAoC;WACpG;;WAEA;GACR,eAAe,6BAA6B,4BAA4B,0BAA0B,wDAAwD;WAClJ;WACA,QAAQ;WACR,YAAY;WACZ,QAAQ;WACR,cAAc;WACd,sBAAsB;WACtB,cAAc;;WAEd,mBAAmB;;EAE5B,SAAS,MAAM,wBAAwB,aAAa,MAAM,UAAU,MAAM,QAAQ,mBAAmB,gCAAgC;;EAErI,SAAS,MAAM,wBAAwB,aAAa,MAAM,UAAU,MAAM,QAAQ,mBAAmB,gCAAgC;WAC5H,UAAU,cAAc,mCAAmC,uFAAuF,aAAa,YAAY,MAAM,QAAQ,mBAAmB;WAC5M,MAAM,cAAc,mCAAmC;QAC1D,aAAa,MAAM;eACZ;OACR,QAAQ,mBAAmB;KAC7B;eACU;QACP,aAAa,MAAM;eACZ;OACR,QAAQ,mBAAmB;KAC7B;eACU;QACP,aAAa,MAAM;eACZ;OACR,QAAQ,mBAAmB;;;WAGvB,cAAc,sBAAsB;aAClC,OAAO;QACZ,aAAa,MAAM,UAAU,MAAM,QAAQ,mBAAmB;;KAEjE;WACM,WAAW;WACX,WAAW;;KAEjB,mBAAmB,0BAA0B,4CAA4C,cAAc,mBAAmB,gDAAgD,iCAAiC,OAAO,QAAQ;;;;KAI1N,cAAc,qBAAqB,qDAAqD;UACnF,mBAAmB,8BAA8B,eAAe,eAAe,mBAAmB,eAAe;WAChH;WACA,QAAQ;WACR,UAAU;;UAEX,eAAe,mCAAmC;WACjD;WACA,WAAW;WACX,WAAW;;UAEZ,WAAW,2DAA2D;WACrE,aAAa;WACb,cAAc;;UAEf,gBAAgB,4BAA4B,mEAAmE,WAAW,yBAAyB,wBAAwB;WAC1K;WACA,MAAM;WACN,eAAe;WACf,MAAM;;;;;;WAMN,YAAY;;UAEb,aAAa,8BAA8B,eAAe,eAAe,mBAAmB,eAAe,kBAAkB,kBAAkB,eAAe,mBAAmB,eAAe,kBAAkB,4DAA4D,uDAAuD,sDAAsD,yBAAyB,eAAe,mCAAmC,eAAe,kCAAkC;WACtf;;WAEA;eACI,iBAAiB,eAAe,2BAA2B,eAAe;WAC9E;WACA,QAAQ;WACR,UAAU;WACV,aAAa;WACb,oBAAoB;WACpB,qBAAqB;WACrB,iBAAiB;WACjB,cAAc;WACd,SAAS;WACT,QAAQ;WACR,oBAAoB;WACpB,iBAAiB;WACjB,YAAY;EACrB,UAAU,wBAAwB,iBAAiB,WAAW,YAAY,eAAe,MAAM;;KAE5F,kBAAkB,aAAa;WACzB;GACR,4BAA4B;KAC1B,8BAA8B,+CAA+C;KAC7E,0BAA0B;KAC1B,qBAAqB,8BAA8B;KACnD,oBAAoB;KACpB,wBAAwB,8BAA8B,eAAe,eAAe,mBAAmB,eAAe,oBAAoB,mBAAmB,MAAM;KACnK,wBAAwB;KACxB,kBAAkB,8BAA8B,eAAe,eAAe,mBAAmB,eAAe,kBAAkB,kBAAkB,eAAe,sBAAsB,eAAe,qBAAqB,4DAA4D,uDAAuD,sDAAsD,yBAAyB,eAAe,mCAAmC,eAAe,kCAAkC;WAC5f;;WAEA;eACI,iBAAiB,eAAe,2BAA2B,eAAe,4BAA4B,aAAa,MAAM,QAAQ,WAAW,YAAY,OAAO,MAAM,kBAAkB,eAAe;KAChN,kBAAkB;KAClB,0BAA0B,KAAK,UAAU,6BAA6B,4BAA4B;KAClG,iBAAiB,KAAK,UAAU,wBAAwB,QAAQ;KAChE,uBAAuB,KAAK,UAAU,8BAA8B,QAAQ;KAC5E,uBAAuB,KAAK,UAAU,0BAA0B,eAAe,kBAAkB,eAAe,2BAA2B,cAAc;KACzJ,kBAAkB,KAAK,UAAU,0BAA0B,eAAe,kBAAkB,eAAe,+CAA+C,SAAS;KACnK,iBAAiB,KAAK,UAAU,0BAA0B,eAAe,kBAAkB,eAAe,mEAAmE,QAAQ;KACrL,6BAA6B,KAAK,UAAU,0BAA0B,eAAe,kBAAkB,eAAe,uFAAuF,oBAAoB;KACjO,oBAAoB,KAAK,uBAAuB;WAC1C,YAAY,uBAAuB;IAC1C;KACC,6BAA6B,KAAK,6BAA6B,WAAW,eAAe,6BAA6B,6BAA6B,mBAAmB;WAChK,WAAW,6BAA6B;IAC/C;KACC,oBAAoB,KAAK,uBAAuB,oBAAoB,kBAAkB,uBAAuB,iBAAiB,uBAAuB,uBAAuB;KAC5K,cAAc,KAAK,oBAAoB,2BAA2B,iBAAiB;KACnF,eAAe,KAAK,uBAAuB,oBAAoB,uBAAuB;KACtF,0BAA0B;KAC1B,gCAAgC;KAChC,0BAA0B,6BAA6B,kBAAkB,eAAe,+BAA+B,eAAe;KACtI,mBAAmB,KAAK,mBAAmB,IAAI,iBAAiB;KAChE,8BAA8B,MAAM,qCAAqC,mBAAmB,QAAQ;KACpG,yBAAyB,KAAK,mBAAmB,IAAI,uBAAuB;KAC5E,oBAAoB,KAAK,8BAA8B,IAAI,6BAA6B;KACxF,yBAAyB,KAAK,mBAAmB,kCAAkC,WAAW,IAAI,0BAA0B,EAAE,SAAS,UAAU,8BAA8B,0BAA0B,MAAM,oBAAoB;KACnO,yBAAyB,YAAY,iBAAiB,mBAAmB,aAAa,yBAAyB,gCAAgC;WACzI;GACR,4BAA4B,8CAA8C;WAClE,MAAM;WACN,UAAU;WACV,MAAM;;KAEZ,yBAAyB,eAAe,eAAe,oBAAoB,qBAAqB,WAAW,SAAS,yBAAyB,OAAO;KACpJ,+BAA+B,YAAY,iBAAiB,iCAAiC,eAAe,eAAe,oBAAoB;WACzI,QAAQ,yBAAyB;;KAEvC,+BAA+B,qBAAqB,eAAe,0BAA0B,qBAAqB,WAAW,gBAAgB,uBAAuB,aAAa,MAAM,+BAA+B,aAAa;KACnO,iBAAiB,eAAe,eAAe,kBAAkB,wCAAwC,kCAAkC,QAAQ,mBAAmB,SAAS,OAAO,cAAc,aAAa;WAC3M;GACR,4BAA4B;KAC1B,sBAAsB,eAAe,eAAe,kBAAkB,mCAAmC,WAAW,YAAY,wCAAwC,2BAA2B,WAAW,oCAAoC,iBAAiB,QAAQ;KAC3Q,4BAA4B,UAAU,eAAe,eAAe,oBAAoB,iBAAiB,sBAAsB,yBAAyB,iDAAiD,WAAW,8BAA8B,wCAAwC,WAAW,aAAa;WAC5S,IAAI,YAAY;WAChB,aAAa;WACb,UAAU,sBAAsB,QAAQ,aAAa,IAAI;WACzD,IAAI;;WAEJ,IAAI,YAAY;WAChB,aAAa;WACb,IAAI;;WAEJ,IAAI,YAAY;WAChB,aAAa;;KAEnB,4BAA4B,kBAAkB,eAAe,qBAAqB,eAAe,eAAe,0BAA0B,0BAA0B,wBAAwB,qBAAqB,WAAW,YAAY,4BAA4B,UAAU,IAAI;KAClR,sBAAsB,UAAU,4BAA4B;WACtD,oBAAoB;IAC3B,aAAa;KACZ,wBAAwB,eAAe,eAAe,0BAA0B,uBAAuB,oCAAoC,WAAW;WAChJ,OAAO,sBAAsB,OAAO,IAAI;;KAE9C,gCAAgC,UAAU,eAAe,eAAe,oBAAoB,SAAS,oBAAoB;WACnH,QAAQ,wBAAwB;IACvC,6BAA6B;KAC5B,WAAW,UAAU,6BAA6B;WAC5C,OAAO;;KAEb,UAAU,SAAS,4BAA4B;WACzC,MAAM,YAAY;;KAExB,mBAAmB,kBAAkB,qCAAqC;WACpE,eAAe;aACb;;;KAGR,cAAc,aAAa,gCAAgC;WACrD,sBAAsB,WAAW,qBAAqB,SAAS;aAC7D,aAAa;MACpB,gBAAgB,YAAY;;KAE7B,yBAAyB,YAAY,iBAAiB,gCAAgC,eAAe,eAAe,wBAAwB,kBAAkB,eAAe,+CAA+C,aAAa,MAAM,eAAe,wCAAwC,qBAAqB,YAAY;WACjU,QAAQ,yBAAyB;WACjC,WAAW,4BAA4B,WAAW;WAClD,SAAS,gCAAgC,UAAU;IAC1D,WAAW,SAAS,UAAU,QAAQ,mBAAmB,iBAAiB,cAAc;KACvF,yBAAyB,eAAe,eAAe,oBAAoB,qBAAqB,WAAW,UAAU,iBAAiB,OAAO,MAAM,yBAAyB,OAAO;KACnL,YAAY,oBAAoB;WAC1B,OAAO;;KAEb,kBAAkB,eAAe,eAAe,oBAAoB,qBAAqB,WAAW,UAAU,oBAAoB,OAAO,MAAM,YAAY,cAAc,OAAO;KAChL,6BAA6B,eAAe,eAAe,oBAAoB,qBAAqB,WAAW,UAAU,eAAe,OAAO,MAAM;KACrJ,eAAe,cAAc,eAAe,mBAAmB,qBAAqB,WAAW,QAAQ,YAAY,mBAAmB,MAAM;KAC5I,iBAAiB,cAAc;WACzB,eAAe,eAAe,eAAe;IACpD,SAAS;KACR,uBAAuB,cAAc;WAC/B,qBAAqB,qBAAqB,eAAe;IAChE,eAAe;KACd,gBAAgB,cAAc;WACxB,cAAc;IACrB,QAAQ,WAAW,eAAe,uCAAuC,QAAQ,KAAK,uBAAuB,QAAQ,KAAK,uBAAuB;KAChJ,gBAAgB,cAAc;WACxB,cAAc,cAAc,eAAe;IAClD,eAAe,SAAS,kBAAkB,iBAAiB;KAC1D,qBAAqB,cAAc;WAC7B,mBAAmB,mBAAmB,eAAe;IAC5D,aAAa;KACZ,mBAAmB,cAAc;WAC3B,mBAAmB,mBAAmB,eAAe;IAC5D;KACC,mBAAmB,cAAc;WAC3B,QAAQ,oBAAoB;IACnC;KACC,mBAAmB,cAAc;WAC3B,QAAQ,4BAA4B;IAC3C;KACC,kBAAkB,cAAc,SAAS;WACnC,aAAa,6BAA6B,iBAAiB;WAC3D,aAAa;;KAEnB,yBAAyB,qBAAqB,eAAe,gCAAgC,6BAA6B;WACpH,cAAc,+BAA+B;;KAEnD,WAAW,UAAU,eAAe,qBAAqB,QAAQ;KACjE,gBAAgB,SAAS,cAAc,YAAY,QAAQ;KAC3D,kBAAkB,QAAQ,0BAA0B,eAAe,6BAA6B,cAAc,qBAAqB,WAAW;WACxI,MAAM,gBAAgB,QAAQ,MAAM;WACpC,OAAO,sBAAsB,gBAAgB,OAAO,MAAM,OAAO;;KAEvE,kBAAkB,qBAAqB,WAAW,SAAS,WAAW,MAAM;WACtE,SAAS,MAAM;aACb,eAAe;MACtB;WACK,SAAS,kBAAkB,MAAM;;KAEvC,sBAAsB,qBAAqB,WAAW,SAAS,WAAW,MAAM,MAAM,kBAAkB,MAAM;KAC9G,kBAAkB,cAAc,eAAe,yBAAyB,sBAAsB;WACxF,MAAM,kBAAkB;WACxB,kBAAkB,sBAAsB;;KAE9C,mCAAmC,cAAc;WAC3C,QAAQ,yBAAyB,iBAAiB;IACzD,yBAAyB,uBAAuB,eAAe,kBAAkB,gBAAgB;KAChG,gCAAgC,cAAc;WACxC,QAAQ,mBAAmB;WAC3B,cAAc,mBAAmB;WACjC,OAAO,gBAAgB;WACvB;aACE,wBAAwB,YAAY,uBAAuB,mCAAmC;;WAEhG,SAAS,kBAAkB;WAC3B,cAAc;WACd,YAAY,qBAAqB;WACjC,aAAa;WACb,MAAM;WACN,uBAAuB;WACvB,YAAY,+BAA+B;;KAEjD,uBAAuB,YAAY,uBAAuB,yBAAyB,2BAA2B,mBAAmB,mBAAmB,qBAAqB,mBAAmB,UAAU;WAChM,4BAA4B,eAAe;UAC5C;WACC;aACE,kBAAkB;aAClB,OAAO;aACP,OAAO,sBAAsB,mBAAmB,UAAU,YAAY;;IAE/E,wBAAwB,mBAAmB;KAC1C,gCAAgC,iBAAiB,kBAAkB,iBAAiB,cAAc,uBAAuB,iBAAiB,YAAY,oBAAoB,iBAAiB;KAC3L,+BAA+B,eAAe,gCAAgC,+BAA+B;WACvG,eAAe;WACf;aACE,UAAU,cAAc,QAAQ,QAAQ,gCAAgC,cAAc;;;KAG9F,yBAAyB,cAAc,kBAAkB,6BAA6B,qBAAqB;KAC3G,sBAAsB,YAAY,iBAAiB,aAAa;WAC1D;SACF,eAAe,4BAA4B,+CAA+C,iBAAiB,6BAA6B,sCAAsC,iBAAiB;KACnM,mBAAmB,YAAY,iBAAiB,gCAAgC,UAAU,SAAS;KACnG,yBAAyB,aAAa,sBAAsB;WACtD,QAAQ,sBAAsB;WAC9B,OAAO,sBAAsB;;KAEnC,yBAAyB,YAAY,iBAAiB,sCAAsC,UAAU,SAAS;KAC/G,iCAAiC,0BAA0B,YAAY;WACjE,oBAAoB,kBAAkB,iBAAiB,eAAe,iBAAiB,iBAAiB,YAAY,yBAAyB,mBAAmB,mBAAmB,iBAAiB,YAAY,aAAa,yBAAyB,mBAAmB,iBAAiB,YAAY,WAAW;WACjT,0BAA0B,aAAa,uBAAuB,eAAe,uBAAuB,uBAAuB,YAAY,oBAAoB,mBAAmB,yBAAyB,uBAAuB,YAAY,QAAQ,yBAAyB,yBAAyB,uBAAuB,YAAY,MAAM;;KAEnV,iBAAiB,cAAc;WACzB,cAAc;IACrB;KACC,uCAAuC,cAAc,wCAAwC,iBAAiB,kBAAkB,WAAW,qBAAqB,cAAc,wCAAwC,qBAAqB,YAAY,aAAa,qBAAqB;KACzR,yBAAyB,YAAY,mCAAmC,qBAAqB,gCAAgC,qCAAqC,yBAAyB,aAAa,uCAAuC,aAAa,iCAAiC,aAAa;KAC1S,oBAAoB,cAAc,0BAA0B,gCAAgC,aAAa,cAAc,yBAAyB,aAAa,yBAAyB,uBAAuB,yBAAyB;KACtO,iCAAiC,QAAQ,kCAAkC,qBAAqB;KAChG,+BAA+B,cAAc,kCAAkC;KAC/E,8BAA8B,QAAQ,kCAAkC,eAAe;KACvF,8BAA8B,cAAc,kCAAkC;KAC9E,iCAAiC,mBAAmB,gCAAgC,mCAAmC;WACjH;WACA,SAAS,qBAAqB,iCAAiC,uBAAuB,qBAAqB,iCAAiC;GACpJ,qBAAqB,kCAAkC,0CAA0C,4BAA4B,wBAAwB,YAAY;;;;KAI/J,qBAAqB,UAAU,mCAAmC;WAC5D;WACA,aAAa;WACb,aAAa;IACpB,KAAK,sBAAsB,OAAO,kBAAkB,QAAQ,MAAM,2BAA2B;KAC5F,wBAAwB,mBAAmB,gCAAgC,mCAAmC;WACxG,yBAAyB;IAChC,oBAAoB,eAAe,4BAA4B,qBAAqB,OAAO,QAAQ,gBAAgB,QAAQ,qBAAqB,OAAO,QAAQ,uBAAuB,eAAe,UAAU,qBAAqB,OAAO,QAAQ,oDAAoD,qBAAqB,OAAO,QAAQ,QAAQ,iBAAiB,QAAQ,qBAAqB,OAAO,QAAQ;KAC/Y,kBAAkB,mBAAmB,kCAAkC;WACjE,YAAY,sBAAsB;WAClC,eAAe,6BAA6B,UAAU,MAAM,WAAW,iCAAiC,YAAY,gBAAgB,iCAAiC;KAC3K,gCAAgC,yBAAyB,WAAW,YAAY,UAAU,WAAW,iCAAiC,kBAAkB,UAAU,MAAM,UAAU,WAAW,0BAA0B,gCAAgC,UAAU;KACjQ,yBAAyB,eAAe,wBAAwB,uBAAuB,eAAe,gCAAgC,+BAA+B,mBAAmB,eAAe,6DAA6D,2BAA2B,iCAAiC,UAAU,iCAAiC,UAAU,+BAA+B;WAC9Y,cAAc,QAAQ,gCAAgC,8BAA8B,UAAU,8BAA8B,UAAU,8BAA8B;WACpK,cAAc;WACd,cAAc;WACd,YAAY;WACZ,oBAAoB;WACpB,KAAK,mBAAmB,SAAS,SAAS,oBAAoB;;KAEpE,iBAAiB,eAAe,uBAAuB,eAAe,+BAA+B,mBAAmB,eAAe,2DAA2D,cAAc,eAAe;WACzN,QAAQ;WACR,QAAQ;WACR,aAAa;WACb,QAAQ;WACR,uBAAuB;;KAE7B,mBAAmB,eAAe,uBAAuB,eAAe,+BAA+B,eAAe,eAAe,mBAAmB,sBAAsB,qBAAqB,eAAe,yBAAyB,sBAAsB,mBAAmB,eAAe,2DAA2D,cAAc,eAAe,2CAA2C,iBAAiB,QAAQ,QAAQ,YAAY;WAC7c,SAAS;WACT,eAAe;WACf,QAAQ,eAAe;;KAE7B,gBAAgB,eAAe,eAAe,mBAAmB,sBAAsB,qBAAqB,eAAe,yBAAyB,sBAAsB,cAAc,eAAe,yCAAyC,eAAe,wBAAwB,uBAAuB,eAAe,gCAAgC,+BAA+B,mBAAmB,eAAe,8DAA8D,SAAS,yBAAyB,QAAQ,QAAQ;WACxgB,SAAS;WACT,eAAe;WACf,QAAQ;;iBAEF,yBAAyB,wBAAwB,mBAAmB,iDAAiD,SAAS,SAAS;WAC7I,aAAa;IACpB;WACO;WACA,SAAS;MACd,kCAAkC;WAC7B,YAAY;;KAElB;WACM;WACA;;iBAEM,eAAe,aAAa;iBAC5B,kBAAkB,mBAAmB,yBAAyB;WACpE,YAAY;IACnB,aAAa;WACN,YAAY;;cAET;WACH,eAAe;WACf,gBAAgB;aACd;aACA;MACP,2BAA2B,8DAA8D;WACpF,cAAc;aACZ;aACA;MACP,2BAA2B,8DAA8D;WACpF,cAAc;aACZ;aACA;MACP,2BAA2B,8DAA8D;WACpF,aAAa;aACX;aACA;MACP,2BAA2B,8DAA8D;WACpF,YAAY;aACV;aACA;MACP,2BAA2B,8DAA8D;WACpF,YAAY;aACV;aACA;MACP,2BAA2B,8DAA8D;WACpF,aAAa;aACX;aACA;MACP,2BAA2B,8DAA8D;WACpF,mBAAmB;aACjB;aACA;MACP,2BAA2B,8DAA8D;WACpF,kBAAkB;aAChB;aACA;MACP,2BAA2B,8DAA8D;WACpF,cAAc;aACZ;aACA;MACP,2BAA2B,8DAA8D;WACpF,YAAY;aACV;aACA;MACP,2BAA2B,8DAA8D;WACpF,YAAY;aACV;aACA;MACP,2BAA2B,8DAA8D;WACpF,eAAe;WACf,oBAAoB,oBAAoB,sBAAsB,iBAAiB,gBAAgB;aAC7F;aACA,MAAM,yBAAyB;;WAEjC,kBAAkB,eAAe,gBAAgB,QAAQ,WAAW;aAClE;aACA,SAAS;mBACH;;iBAEF,YAAY,eAAe,kBAAkB,QAAQ;WAC3D,QAAQ;;iBAEF,YAAY,eAAe,wBAAwB,SAAS,QAAQ,QAAQ,SAAS,YAAY,SAAS;WAChH,QAAQ;WACR,SAAS,UAAU;;KAEzB,iBAAiB,eAAe,gBAAgB,aAAa,iBAAiB,WAAW,0BAA0B,mBAAmB;WAChI,MAAM;WACN,IAAI;;KAEV,iBAAiB,eAAe,gBAAgB,aAAa,iBAAiB,WAAW,0BAA0B,mBAAmB,UAAU,4BAA4B,iBAAiB,QAAQ,MAAM;;;;;WAKrM,UAAU;;KAEhB,sBAAsB,aAAa,iBAAiB,WAAW;WACzD,aAAa,oBAAoB;WACjC,cAAc,yBAAyB;;iBAEjC,aAAa,eAAe,gBAAgB,QAAQ,SAAS,gBAAgB,mBAAmB;iBAChG,aAAa,eAAe,sBAAsB,aAAa,uBAAuB,WAAW,0BAA0B,mBAAmB,UAAU,QAAQ,QAAQ,SAAS,iBAAiB,QAAQ,MAAM,MAAM,gBAAgB,mBAAmB,gBAAgB,sBAAsB,MAAM;iBACrS,cAAc,eAAe,gBAAgB,QAAQ,SAAS,gBAAgB,mBAAmB;iBACjG,cAAc,eAAe,sBAAsB,aAAa,uBAAuB,WAAW,0BAA0B,mBAAmB,UAAU,QAAQ,QAAQ,SAAS,iBAAiB,QAAQ,MAAM,MAAM,gBAAgB,mBAAmB,gBAAgB,sBAAsB,MAAM;iBACtS,gBAAgB,eAAe,sBAAsB,aAAa,uBAAuB,WAAW,0BAA0B,mBAAmB,gBAAgB,0BAA0B,QAAQ,QAAQ,SAAS,iBAAiB,QAAQ,MAAM,IAAI,YAAY,gBAAgB,mBAAmB,gBAAgB,sBAAsB,MAAM,KAAK;iBACvV,gBAAgB,eAAe,sBAAsB,aAAa,uBAAuB,WAAW,0BAA0B,mBAAmB,UAAU,QAAQ,QAAQ,SAAS,iBAAiB,QAAQ,MAAM,MAAM,gBAAgB,mBAAmB,gBAAgB,sBAAsB,MAAM;cAC3S;WACH,kBAAkB;WAClB,gBAAgB;WAChB,eAAe;;KAErB,iBAAiB,eAAe,eAAe;WACzC,QAAQ;;iBAEF,kBAAkB,2BAA2B,eAAe,eAAe,kBAAkB,MAAM,MAAM,OAAO,iBAAiB,UAAU,mBAAmB,MAAM;KAChL,wBAAwB,iBAAiB,eAAe;WAClD;WACA,UAAU;;KAEhB,WAAW,eAAe,eAAe,kBAAkB,kBAAkB,eAAe,iCAAiC,uCAAuC,yBAAyB,wCAAwC,mBAAmB,cAAc,4BAA4B,aAAa,4BAA4B,yBAAyB,eAAe,kCAAkC,sBAAsB,wBAAwB,eAAe;WAC5c,aAAa;WACb,UAAU;WACV,oBAAoB,YAAY,mBAAmB;WACnD,gBAAgB;WAChB,mBAAmB;WACnB,QAAQ;WACR,YAAY;WACZ,QAAQ;WACR,OAAO;WACP,gBAAgB;;iBAEV,YAAY,2BAA2B,eAAe,eAAe,wBAAwB,kBAAkB,eAAe,mDAAmD,yDAAyD,yBAAyB,0DAA0D,qCAAqC,cAAc,8CAA8C,aAAa,8CAA8C,yBAAyB,eAAe,oDAAoD,sBAAsB,wBAAwB,eAAe,uCAAuC,MAAM,MAAM,OAAO,WAAW,QAAQ,WAAW,YAAY,SAAS,mBAAmB,OAAO,MAAM,kBAAkB,iBAAiB,aAAa,MAAM,QAAQ,kBAAkB,eAAe,sBAAsB,YAAY,sBAAsB,YAAY,8BAA8B,QAAQ,8BAA8B,OAAO,kBAAkB;WACrgC,aAAa;;WAEb,OAAO;eACH;WACJ,gBAAgB,iBAAiB,eAAe;IACvD;KACC,qBAAqB,eAAe,eAAe,mBAAmB,sBAAsB,qBAAqB,eAAe,yBAAyB,sBAAsB,mBAAmB,eAAe,2DAA2D,cAAc,eAAe;WACnS,aAAa;WACb,QAAQ;WACR,uBAAuB;WACvB,SAAS;WACT,eAAe;WACf,QAAQ,eAAe;;KAE7B,iBAAiB,OAAO,UAAU,uBAAuB,UAAU,iCAAiC;WAC9F,QAAQ;WACR,QAAQ;;;;;;;;;;iBAUF,yBAAyB,UAAU,6BAA6B,UAAU,qCAAqC,mBAAmB,qBAAqB,eAAe,kBAAkB,eAAe,wBAAwB,eAAe,+CAA+C,eAAe,8BAA8B,QAAQ,GAAG,QAAQ,GAAG,YAAY,YAAY,sBAAsB,oBAAoB,iBAAiB,YAAY,GAAG;;;;iBAIlc,yBAAyB,UAAU,6BAA6B,UAAU,qCAAqC,mBAAmB,qBAAqB,eAAe,kBAAkB,eAAe,wBAAwB,eAAe,+CAA+C,eAAe,oCAAoC;WACtV,SAAS,eAAe;WACxB,eAAe,eAAe;WAC9B,QAAQ,eAAe;GAC/B,QAAQ,GAAG,QAAQ,GAAG,YAAY,YAAY,UAAU,SAAS,yBAAyB,GAAG,GAAG,YAAY,+BAA+B,QAAQ,oBAAoB,iBAAiB,aAAa,OAAO,GAAG;iBACjM,qBAAqB,mBAAmB,mBAAmB,uBAAuB,+BAA+B,eAAe,kBAAkB,eAAe,wBAAwB,eAAe,+CAA+C,eAAe,8BAA8B,YAAY,aAAa,oBAAoB;iBACjV,qBAAqB,mBAAmB,iBAAiB,uBAAuB,+BAA+B,eAAe,+CAA+C,eAAe,oCAAoC;WACtO,SAAS,eAAe;WACxB,eAAe,eAAe;WAC9B,QAAQ,eAAe;GAC/B,YAAY,YAAY,UAAU,SAAS,yBAAyB,sBAAsB,sBAAsB,mBAAmB,iBAAiB,QAAQ,oBAAoB,aAAa"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { i as MongoCollectionOptions, o as MongoIndex } from "./entity-kinds-
|
|
1
|
+
import { i as MongoCollectionOptions, o as MongoIndex } from "./entity-kinds-BQBtfVet-B-Px7NHp.mjs";
|
|
2
2
|
import { t as assertMongoFieldTypeParams } from "./mongo-data-type-DzyzU4LF-C1ydFXgE.mjs";
|
|
3
|
-
import { S as
|
|
3
|
+
import { M as unsupportedStoredNameReason, S as mongoContractRefusalsOf, g as deriveCollectionValidators, s as applyPolymorphicScopeToMongoIndex, u as buildMongoStorage, w as mongoValueSetsOf } from "./dist-B8f-pfcT.mjs";
|
|
4
4
|
import { t as contractError } from "./contract-errors-BCN6RVI5-kMurtAbI.mjs";
|
|
5
5
|
import { assembleDataTypes } from "@prisma/orm-framework/components/codec";
|
|
6
6
|
import { blindCast } from "@prisma/orm-framework/utils/casts";
|
|
@@ -155,20 +155,20 @@ function composeMongoAuthoringHelpers(family, target, extensions) {
|
|
|
155
155
|
valueObject
|
|
156
156
|
});
|
|
157
157
|
}
|
|
158
|
-
function createFieldBuilder(spec, enumHandle, executionDefaults, generatorCalls) {
|
|
158
|
+
function createFieldBuilder(spec, enumHandle, executionDefaults, storedName, generatorCalls) {
|
|
159
159
|
function many(options) {
|
|
160
160
|
return createFieldBuilder({
|
|
161
161
|
type: spec.type,
|
|
162
162
|
nullable: spec.nullable,
|
|
163
163
|
many: { elementNullable: options?.elementsNullable ?? false }
|
|
164
|
-
}, enumHandle, executionDefaults, generatorCalls);
|
|
164
|
+
}, enumHandle, executionDefaults, storedName, generatorCalls);
|
|
165
165
|
}
|
|
166
166
|
function withGeneratorCall(phase, call) {
|
|
167
167
|
if (generatorCalls?.[phase] !== void 0 || executionDefaults?.[phase] !== void 0) throw contractError("CONTRACT.DEFAULT_INVALID", `.${phase}() is called on a field that already generates a value ${phase === "onCreate" ? "on create" : "on update"}. Set each phase once, and do not combine .${phase}() with a field preset that sets it.`, { meta: {
|
|
168
168
|
reason: "generator-phase-set-twice",
|
|
169
169
|
phase
|
|
170
170
|
} });
|
|
171
|
-
return createFieldBuilder(spec, enumHandle, blindCast(executionDefaults), {
|
|
171
|
+
return createFieldBuilder(spec, enumHandle, blindCast(executionDefaults), storedName, {
|
|
172
172
|
...generatorCalls,
|
|
173
173
|
[phase]: call
|
|
174
174
|
});
|
|
@@ -183,12 +183,14 @@ function createFieldBuilder(spec, enumHandle, executionDefaults, generatorCalls)
|
|
|
183
183
|
__nullable: spec.nullable,
|
|
184
184
|
__many: spec.many,
|
|
185
185
|
__enumHandle: blindCast(enumHandle),
|
|
186
|
+
__storedName: blindCast(storedName),
|
|
186
187
|
optional: blindCast(() => createFieldBuilder({
|
|
187
188
|
type: spec.type,
|
|
188
189
|
nullable: true,
|
|
189
190
|
many: spec.many
|
|
190
|
-
}, enumHandle, executionDefaults, generatorCalls)),
|
|
191
|
-
many: blindCast(many)
|
|
191
|
+
}, enumHandle, executionDefaults, storedName, generatorCalls)),
|
|
192
|
+
many: blindCast(many),
|
|
193
|
+
mongo: ({ field }) => createFieldBuilder(spec, enumHandle, executionDefaults, field, generatorCalls)
|
|
192
194
|
};
|
|
193
195
|
}
|
|
194
196
|
function normalizeOptionalTypeParams(typeParams) {
|
|
@@ -430,6 +432,36 @@ function buildContractField(builder) {
|
|
|
430
432
|
...ifDefined("valueSet", valueSet)
|
|
431
433
|
};
|
|
432
434
|
}
|
|
435
|
+
function storedNameOf(fieldName, fieldBuilder) {
|
|
436
|
+
return fieldBuilder.__storedName ?? fieldName;
|
|
437
|
+
}
|
|
438
|
+
function buildStorageFields(modelName, fields) {
|
|
439
|
+
const storageFields = {};
|
|
440
|
+
const fieldsByStoredName = /* @__PURE__ */ new Map();
|
|
441
|
+
for (const [fieldName, fieldBuilder] of Object.entries(fields)) {
|
|
442
|
+
const storedName = storedNameOf(fieldName, fieldBuilder);
|
|
443
|
+
const unsupported = unsupportedStoredNameReason(storedName);
|
|
444
|
+
if (unsupported !== void 0) throw contractError("CONTRACT.ARGUMENT_INVALID", `Model "${modelName}" field "${fieldName}" ${unsupported}. Give it another stored name.`, { meta: {
|
|
445
|
+
modelName,
|
|
446
|
+
fieldName,
|
|
447
|
+
reason: "stored-name-unsupported"
|
|
448
|
+
} });
|
|
449
|
+
const existingField = fieldsByStoredName.get(storedName);
|
|
450
|
+
if (existingField !== void 0) throw contractError("CONTRACT.NAME_DUPLICATE", `Model "${modelName}" stores both "${existingField}" and "${fieldName}" as "${storedName}".`, { meta: {
|
|
451
|
+
kind: "field",
|
|
452
|
+
name: storedName,
|
|
453
|
+
first: existingField,
|
|
454
|
+
second: fieldName
|
|
455
|
+
} });
|
|
456
|
+
fieldsByStoredName.set(storedName, fieldName);
|
|
457
|
+
storageFields[fieldName] = { field: storedName };
|
|
458
|
+
}
|
|
459
|
+
return storageFields;
|
|
460
|
+
}
|
|
461
|
+
function storedFieldNameIn(fields, fieldName) {
|
|
462
|
+
const fieldBuilder = Object.hasOwn(fields, fieldName) ? fields[fieldName] : void 0;
|
|
463
|
+
return fieldBuilder === void 0 ? fieldName : storedNameOf(fieldName, fieldBuilder);
|
|
464
|
+
}
|
|
433
465
|
function buildFields(fields) {
|
|
434
466
|
const builtFields = {};
|
|
435
467
|
for (const [fieldName, fieldBuilder] of Object.entries(fields)) builtFields[fieldName] = buildContractField(fieldBuilder);
|
|
@@ -491,6 +523,11 @@ function buildValueObjects(valueObjects) {
|
|
|
491
523
|
kind: "valueObject",
|
|
492
524
|
name: valueObjectBuilder.__name
|
|
493
525
|
} });
|
|
526
|
+
for (const [fieldName, fieldBuilder] of Object.entries(valueObjectBuilder.__fields)) if (fieldBuilder.__storedName !== void 0) throw contractError("CONTRACT.ARGUMENT_INVALID", `Value object "${valueObjectBuilder.__name}" field "${fieldName}" sets .mongo({ field }), but a field of a value object is stored under its own name.`, { meta: {
|
|
527
|
+
valueObjectName: valueObjectBuilder.__name,
|
|
528
|
+
fieldName,
|
|
529
|
+
reason: "value-object-field-stored-name"
|
|
530
|
+
} });
|
|
494
531
|
builtValueObjects[valueObjectBuilder.__name] = { fields: buildFields(valueObjectBuilder.__fields) };
|
|
495
532
|
}
|
|
496
533
|
return builtValueObjects;
|
|
@@ -505,6 +542,7 @@ function buildModels(models) {
|
|
|
505
542
|
assertUniqueDiscriminatorValues(modelBuilder);
|
|
506
543
|
const storage = {
|
|
507
544
|
...modelBuilder.__collection ? { collection: modelBuilder.__collection } : {},
|
|
545
|
+
fields: buildStorageFields(modelBuilder.__name, modelBuilder.__fields),
|
|
508
546
|
...modelBuilder.__storageRelations ? { relations: modelBuilder.__storageRelations } : {}
|
|
509
547
|
};
|
|
510
548
|
builtModels[modelBuilder.__name] = {
|
|
@@ -545,9 +583,14 @@ function normalizeRoots(roots) {
|
|
|
545
583
|
for (const [rootName, rootValue] of Object.entries(roots ?? {})) normalizedRoots[rootName] = crossRef(resolveModelName(rootValue), UNBOUND_NAMESPACE_ID);
|
|
546
584
|
return normalizedRoots;
|
|
547
585
|
}
|
|
548
|
-
function
|
|
586
|
+
function storedIndexKey(fields, key) {
|
|
587
|
+
const scope = key.match(/^(.+)\.\$\*\*$/)?.[1];
|
|
588
|
+
if (scope !== void 0) return `${storedFieldNameIn(fields, scope)}.$**`;
|
|
589
|
+
return key === "$**" ? key : storedFieldNameIn(fields, key);
|
|
590
|
+
}
|
|
591
|
+
function toStorageIndex(index, fields) {
|
|
549
592
|
const input = { keys: Object.entries(index.fields).map(([field, direction]) => ({
|
|
550
|
-
field,
|
|
593
|
+
field: storedIndexKey(fields, field),
|
|
551
594
|
direction
|
|
552
595
|
})) };
|
|
553
596
|
if (index.options) {
|
|
@@ -587,7 +630,7 @@ function resolveVariantScope(modelBuilder, modelsByName) {
|
|
|
587
630
|
const variantValue = baseBuilder.__variants?.[modelBuilder.__name]?.value;
|
|
588
631
|
if (!discriminatorField || variantValue === void 0) return void 0;
|
|
589
632
|
return {
|
|
590
|
-
discriminatorField,
|
|
633
|
+
discriminatorField: storedFieldNameIn(baseBuilder.__fields, discriminatorField),
|
|
591
634
|
discriminatorValue: variantValue
|
|
592
635
|
};
|
|
593
636
|
}
|
|
@@ -649,7 +692,7 @@ function buildCollections(models) {
|
|
|
649
692
|
}
|
|
650
693
|
}
|
|
651
694
|
const polymorphicScope = resolveVariantScope(modelBuilder, modelsByName);
|
|
652
|
-
const rawStorageIndexes = (modelBuilder.__indexes ?? []).map(toStorageIndex);
|
|
695
|
+
const rawStorageIndexes = (modelBuilder.__indexes ?? []).map((authored) => toStorageIndex(authored, modelBuilder.__fields));
|
|
653
696
|
const storageIndexes = polymorphicScope ? rawStorageIndexes.map((idx, i) => scopeVariantIndex(idx, polymorphicScope, modelBuilder.__name, modelBuilder.__indexes?.[i])) : rawStorageIndexes;
|
|
654
697
|
for (let i = 0; i < storageIndexes.length; i++) {
|
|
655
698
|
const storageIndex = storageIndexes[i];
|
|
@@ -758,22 +801,24 @@ function buildExecutionDefaults(models, generatorFunctions) {
|
|
|
758
801
|
}
|
|
759
802
|
const entry = modelBuilder.__collection;
|
|
760
803
|
if (entry === void 0) throw executionDefaultError(modelName, fieldName, "executionDefaults-without-collection", "has executionDefaults, but its model has no collection. Generated values are only supported on fields of a model stored in a collection.");
|
|
761
|
-
const
|
|
804
|
+
const storedName = storedNameOf(fieldName, fieldBuilder);
|
|
805
|
+
const refKey = JSON.stringify([entry, storedName]);
|
|
762
806
|
const phasesKey = canonicalStringify(phases);
|
|
763
807
|
const existing = byRef.get(refKey);
|
|
764
808
|
if (existing !== void 0) {
|
|
765
|
-
if (existing.phasesKey !== phasesKey) throw executionDefaultError(modelName, fieldName, "executionDefaults-conflict", `has different executionDefaults than "${existing.modelName}.${fieldName}", which is stored in the same collection "${entry}". Use the same executionDefaults on both models.`);
|
|
809
|
+
if (existing.phasesKey !== phasesKey) throw executionDefaultError(modelName, fieldName, "executionDefaults-conflict", `has different executionDefaults than "${existing.modelName}.${existing.fieldName}", which is stored in the same collection "${entry}". Use the same executionDefaults on both models.`);
|
|
766
810
|
continue;
|
|
767
811
|
}
|
|
768
812
|
byRef.set(refKey, {
|
|
769
813
|
modelName,
|
|
814
|
+
fieldName,
|
|
770
815
|
phasesKey
|
|
771
816
|
});
|
|
772
817
|
defaults.push({
|
|
773
818
|
ref: {
|
|
774
819
|
namespace: UNBOUND_NAMESPACE_ID,
|
|
775
820
|
entry,
|
|
776
|
-
field:
|
|
821
|
+
field: storedName
|
|
777
822
|
},
|
|
778
823
|
...phases
|
|
779
824
|
});
|
|
@@ -905,4 +950,4 @@ function defineContract(definition, factory) {
|
|
|
905
950
|
//#endregion
|
|
906
951
|
export { field as a, member as c, valueObject as d, enumType$1 as i, model as l, buildBoundContract as n, index as o, defineContract as r, isEnumTypeHandle as s, bindEnumType as t, rel as u };
|
|
907
952
|
|
|
908
|
-
//# sourceMappingURL=contract-builder-
|
|
953
|
+
//# sourceMappingURL=contract-builder-gSPQkPqK.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-builder-gSPQkPqK.mjs","names":[],"sources":["../../../../2-mongo-family/2-authoring/contract-ts/dist/contract-builder.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { buildExecutionSection, computeProfileHash } from \"@internal/contract/hashing\";\nimport { crossRef } from \"@internal/contract/types\";\nimport { bindEnumType, composePackAuthoringNamespace, createEntityHelpersFromNamespace, createFieldHelpersFromNamespace, encodeEnumTypeMembers, enumType, isEnumTypeHandle, member, resolveToOneRelationNullable } from \"@internal/contract-authoring\";\nimport { assertNoCrossRegistryCollisions, instantiateAuthoringFieldPreset, validateAuthoringHelperArguments } from \"@internal/framework-components/authoring\";\nimport { assembleDataTypes } from \"@internal/framework-components/codec\";\nimport { assembleGeneratorFunctions, createGeneratorHelpers } from \"@internal/framework-components/components\";\nimport { extractCodecLookup } from \"@internal/framework-components/control\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { MongoCollectionOptions, MongoIndex, applyPolymorphicScopeToMongoIndex, buildMongoStorage, deriveCollectionValidators, mongoContractRefusalsOf, mongoValueSetsOf, unsupportedStoredNameReason } from \"@internal/mongo-contract\";\nimport { assertMongoFieldTypeParams } from \"@internal/mongo-contract/data-type\";\nimport { canonicalStringify } from \"@internal/utils/canonical-stringify\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\n//#region src/collection-validator-checks.ts\nconst LIST_THE_CODEC_PACK = \"List the pack that provides the codec in `extensions` in defineContract.\";\nfunction codecRefusalError(subject, meta, codecId, refusal) {\n\tif (refusal.kind === \"unknownCodec\") return contractError(\"CONTRACT.CODEC_DESCRIPTOR_MISSING\", `${subject} ${refusal.reason}`, {\n\t\tfix: LIST_THE_CODEC_PACK,\n\t\tmeta: {\n\t\t\t...meta,\n\t\t\tcodecId\n\t\t}\n\t});\n\treturn contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `${subject} ${refusal.reason}`, {\n\t\tfix: \"Use a codec whose data type is a MongoDB data type, declared with mongoDataType.\",\n\t\tmeta: {\n\t\t\t...meta,\n\t\t\tcodecId,\n\t\t\tdataType: refusal.dataType,\n\t\t\treason: \"data-type-not-mongo\"\n\t\t}\n\t});\n}\nfunction refusalError(refusal) {\n\tswitch (refusal.kind) {\n\t\tcase \"embeddedModelHasVariants\": return contractError(\"CONTRACT.RELATION_INVALID\", `Relation \"${refusal.modelName}.${refusal.relationName}\" ${refusal.reason}`, { meta: {\n\t\t\tmodelName: refusal.modelName,\n\t\t\trelationName: refusal.relationName,\n\t\t\treason: \"embedded-model-has-variants\"\n\t\t} });\n\t\tcase \"enumBsonType\": return codecRefusalError(`enumType(\"${refusal.enumName}\")`, { enumName: refusal.enumName }, refusal.codecId, refusal.refusal);\n\t\tcase \"enumNotListable\": return contractError(\"CONTRACT.ENUM_INVALID\", `enumType(\"${refusal.enumName}\") codec \"${refusal.codecId}\" ${refusal.reason}`, { meta: {\n\t\t\tenumName: refusal.enumName,\n\t\t\tcodecId: refusal.codecId,\n\t\t\treason: \"not-listable-by-validator\"\n\t\t} });\n\t\tcase \"enumMemberNotListable\": return contractError(\"CONTRACT.ENUM_INVALID\", `enumType(\"${refusal.enumName}\") member \"${refusal.member}\" ${refusal.reason}`, { meta: {\n\t\t\tenumName: refusal.enumName,\n\t\t\tmember: refusal.member,\n\t\t\tcodecId: refusal.codecId,\n\t\t\treason: \"member-not-listable-by-validator\"\n\t\t} });\n\t\tcase \"fieldBsonType\": {\n\t\t\tconst { owner } = refusal;\n\t\t\tconst label = owner.kind === \"model\" ? \"Model\" : \"Value object\";\n\t\t\tconst ownerMeta = owner.kind === \"model\" ? { modelName: owner.name } : { valueObjectName: owner.name };\n\t\t\treturn codecRefusalError(`${label} \"${owner.name}\" field \"${refusal.fieldName}\"`, {\n\t\t\t\t...ownerMeta,\n\t\t\t\tfieldName: refusal.fieldName\n\t\t\t}, refusal.codecId, refusal.refusal);\n\t\t}\n\t\tcase \"documentId\": return contractError(\"CONTRACT.COLLECTION_INVALID\", `Model \"${refusal.modelName}\" field \"${refusal.fieldName}\" ${refusal.reason}`, { meta: {\n\t\t\tmodelName: refusal.modelName,\n\t\t\tfieldName: refusal.fieldName,\n\t\t\tcollection: refusal.collection,\n\t\t\tcodecId: refusal.codecId,\n\t\t\tbsonTypes: refusal.forbidden,\n\t\t\treason: \"document-id-bson-type\"\n\t\t} });\n\t}\n}\n/**\n* Throws the first part of the built contract that its collection validators cannot describe, as decided by `mongoContractRefusalsOf`.\n*/\nfunction assertCollectionValidatorSources(input) {\n\tconst [first] = mongoContractRefusalsOf(input);\n\tif (first !== void 0) throw refusalError(first);\n}\n//#endregion\n//#region src/contract-builder.ts\nfunction stableStringify(value) {\n\tif (Array.isArray(value)) return `[${value.map(stableStringify).join(\",\")}]`;\n\tif (value && typeof value === \"object\") return `{${Object.entries(value).sort(([left], [right]) => left.localeCompare(right)).map(([key, entry]) => `${JSON.stringify(key)}:${stableStringify(entry)}`).join(\",\")}}`;\n\treturn JSON.stringify(value);\n}\nconst MONGO_RESERVED_HELPER_KEYS = [\n\t\"field\",\n\t\"gen\",\n\t\"index\",\n\t\"model\",\n\t\"rel\",\n\t\"valueObject\"\n];\nfunction buildFieldPreset(helperPath, descriptor, args) {\n\tvalidateAuthoringHelperArguments(helperPath, descriptor.args, args);\n\tconst preset = instantiateAuthoringFieldPreset(descriptor, args);\n\tconst unsupported = [\n\t\t...preset.default !== void 0 ? [\"default\"] : [],\n\t\t...preset.id ? [\"id\"] : [],\n\t\t...preset.unique ? [\"unique\"] : []\n\t];\n\tif (unsupported.length > 0) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Field preset \"${helperPath}\" contributes ${unsupported.join(\", \")}, which Mongo does not support. Mongo supports presets that set a codec and execution defaults only.`, { meta: {\n\t\thelperPath,\n\t\treason: \"preset-contribution-unsupported\",\n\t\tcontribution: unsupported\n\t} });\n\treturn createFieldBuilder({\n\t\ttype: {\n\t\t\tkind: \"scalar\",\n\t\t\tcodecId: preset.descriptor.codecId,\n\t\t\t...normalizeOptionalTypeParams(preset.descriptor.typeParams)\n\t\t},\n\t\tnullable: preset.nullable,\n\t\tmany: false\n\t}, void 0, preset.executionDefaults);\n}\nfunction composeMongoFieldHelpers(fieldNamespace) {\n\tconst presetHelpers = createFieldHelpersFromNamespace(fieldNamespace, ({ helperPath, descriptor }) => (...args) => buildFieldPreset(helperPath, descriptor, args));\n\tconst collisions = Object.keys(presetHelpers).filter((name) => Object.hasOwn(field, name));\n\tif (collisions.length > 0) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Pack-contributed field preset(s) ${collisions.map((c) => `\"${c}\"`).join(\", \")} collide with the built-in Mongo field helper(s) of the same name.`, { meta: {\n\t\treason: \"core-field-helper-collision\",\n\t\tcontribution: collisions\n\t} });\n\treturn {\n\t\t...field,\n\t\t...presetHelpers\n\t};\n}\nfunction composeMongoAuthoringHelpers(family, target, extensions) {\n\tconst components = [\n\t\tfamily,\n\t\ttarget,\n\t\t...Object.values(extensions ?? {})\n\t];\n\tconst entityNamespace = composePackAuthoringNamespace(components, \"entityTypes\");\n\tconst fieldNamespace = composePackAuthoringNamespace(components, \"field\");\n\tassertNoCrossRegistryCollisions({}, fieldNamespace, entityNamespace);\n\tconst collisions = Object.keys(entityNamespace).filter((name) => MONGO_RESERVED_HELPER_KEYS.includes(name));\n\tif (collisions.length > 0) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Pack-contributed entity type(s) ${collisions.map((c) => `\"${c}\"`).join(\", \")} collide with the reserved built-in helper key(s) on the Mongo composed helpers surface. Reserved keys: ${MONGO_RESERVED_HELPER_KEYS.map((k) => `\"${k}\"`).join(\", \")}.`, { meta: {\n\t\treason: \"reserved-helper-key-collision\",\n\t\tcontribution: collisions\n\t} });\n\treturn blindCast({\n\t\t...createEntityHelpersFromNamespace(entityNamespace, { ctx: {\n\t\t\tfamily: family.familyId,\n\t\t\ttarget: target.targetId,\n\t\t\tcodecLookup: extractCodecLookup(components),\n\t\t\tdataTypeLookup: assembleDataTypes(components).lookup\n\t\t} }),\n\t\tfield: composeMongoFieldHelpers(fieldNamespace),\n\t\tgen: createGeneratorHelpers(components),\n\t\tindex,\n\t\tmodel,\n\t\trel,\n\t\tvalueObject\n\t});\n}\nfunction createFieldBuilder(spec, enumHandle, executionDefaults, storedName, generatorCalls) {\n\tfunction many(options) {\n\t\treturn createFieldBuilder({\n\t\t\ttype: spec.type,\n\t\t\tnullable: spec.nullable,\n\t\t\tmany: { elementNullable: options?.elementsNullable ?? false }\n\t\t}, enumHandle, executionDefaults, storedName, generatorCalls);\n\t}\n\tfunction withGeneratorCall(phase, call) {\n\t\tif (generatorCalls?.[phase] !== void 0 || executionDefaults?.[phase] !== void 0) throw contractError(\"CONTRACT.DEFAULT_INVALID\", `.${phase}() is called on a field that already generates a value ${phase === \"onCreate\" ? \"on create\" : \"on update\"}. Set each phase once, and do not combine .${phase}() with a field preset that sets it.`, { meta: {\n\t\t\treason: \"generator-phase-set-twice\",\n\t\t\tphase\n\t\t} });\n\t\treturn createFieldBuilder(spec, enumHandle, blindCast(executionDefaults), storedName, {\n\t\t\t...generatorCalls,\n\t\t\t[phase]: call\n\t\t});\n\t}\n\treturn {\n\t\t__kind: \"field\",\n\t\t...ifDefined(\"__executionDefaults\", executionDefaults),\n\t\t...ifDefined(\"__generatorCalls\", generatorCalls),\n\t\tonCreate: (call) => withGeneratorCall(\"onCreate\", call),\n\t\tonUpdate: (call) => withGeneratorCall(\"onUpdate\", call),\n\t\t__type: spec.type,\n\t\t__nullable: spec.nullable,\n\t\t__many: spec.many,\n\t\t__enumHandle: blindCast(enumHandle),\n\t\t__storedName: blindCast(storedName),\n\t\toptional: blindCast(() => createFieldBuilder({\n\t\t\ttype: spec.type,\n\t\t\tnullable: true,\n\t\t\tmany: spec.many\n\t\t}, enumHandle, executionDefaults, storedName, generatorCalls)),\n\t\tmany: blindCast(many),\n\t\tmongo: ({ field }) => createFieldBuilder(spec, enumHandle, executionDefaults, field, generatorCalls)\n\t};\n}\nfunction normalizeOptionalTypeParams(typeParams) {\n\tif (!typeParams) return {};\n\treturn { typeParams };\n}\nfunction createScalarFieldBuilder(codecId, options) {\n\treturn createFieldBuilder({\n\t\ttype: blindCast({\n\t\t\tkind: \"scalar\",\n\t\t\tcodecId,\n\t\t\t...normalizeOptionalTypeParams(options?.typeParams)\n\t\t}),\n\t\tnullable: false,\n\t\tmany: false\n\t});\n}\nfunction vectorField(options) {\n\treturn createScalarFieldBuilder(\"mongo/vector@1\", options);\n}\nconst field = {\n\tscalar: createScalarFieldBuilder,\n\tobjectId() {\n\t\treturn createScalarFieldBuilder(\"mongo/objectId@1\");\n\t},\n\tstring() {\n\t\treturn createScalarFieldBuilder(\"mongo/string@1\");\n\t},\n\tdouble() {\n\t\treturn createScalarFieldBuilder(\"mongo/double@1\");\n\t},\n\tint32() {\n\t\treturn createScalarFieldBuilder(\"mongo/int32@1\");\n\t},\n\tbool() {\n\t\treturn createScalarFieldBuilder(\"mongo/bool@1\");\n\t},\n\tdate() {\n\t\treturn createScalarFieldBuilder(\"mongo/date@1\");\n\t},\n\tint64() {\n\t\treturn createScalarFieldBuilder(\"mongo/int64@1\");\n\t},\n\tint64Number() {\n\t\treturn createScalarFieldBuilder(\"mongo/int64Number@1\");\n\t},\n\tdecimal128() {\n\t\treturn createScalarFieldBuilder(\"mongo/decimal128@1\");\n\t},\n\tbinary() {\n\t\treturn createScalarFieldBuilder(\"mongo/binary@1\");\n\t},\n\tjson() {\n\t\treturn createScalarFieldBuilder(\"mongo/json@1\");\n\t},\n\tbson() {\n\t\treturn createScalarFieldBuilder(\"mongo/bson@1\");\n\t},\n\tvector: vectorField,\n\tvalueObject(valueObjectName) {\n\t\treturn createFieldBuilder({\n\t\t\ttype: blindCast({\n\t\t\t\tkind: \"valueObject\",\n\t\t\t\tname: resolveValueObjectName(valueObjectName)\n\t\t\t}),\n\t\t\tnullable: false,\n\t\t\tmany: false\n\t\t});\n\t},\n\tnamedType(handle) {\n\t\treturn createFieldBuilder({\n\t\t\ttype: blindCast({\n\t\t\t\tkind: \"scalar\",\n\t\t\t\tcodecId: handle.codecId\n\t\t\t}),\n\t\t\tnullable: false,\n\t\t\tmany: false\n\t\t}, handle);\n\t}\n};\nfunction index(fields, options) {\n\treturn {\n\t\tfields,\n\t\t...options ? { options } : {}\n\t};\n}\nfunction createFieldReference(modelName, fieldName) {\n\treturn {\n\t\t__kind: \"fieldRef\",\n\t\tmodelName,\n\t\tfieldName\n\t};\n}\nfunction isFieldReference(value) {\n\treturn typeof value === \"object\" && value !== null && \"__kind\" in value && value.__kind === \"fieldRef\";\n}\nfunction resolveModelName(value) {\n\treturn typeof value === \"string\" ? value : value.__name;\n}\nfunction resolveValueObjectName(value) {\n\treturn typeof value === \"string\" ? value : value.__name;\n}\nfunction normalizeStringList(value) {\n\treturn typeof value === \"string\" ? [value] : [...value];\n}\nfunction normalizeTargetField(targetModelName, value) {\n\tif (!isFieldReference(value)) return value;\n\tif (value.modelName !== targetModelName) throw contractError(\"CONTRACT.RELATION_INVALID\", `Relation target \"${targetModelName}\" cannot reference field \"${value.modelName}.${value.fieldName}\".`, { meta: {\n\t\tmodelName: targetModelName,\n\t\treason: \"cross-model-field-reference\",\n\t\treferencedModel: value.modelName,\n\t\treferencedField: value.fieldName\n\t} });\n\treturn value.fieldName;\n}\nfunction normalizeTargetFields(targetModelName, value) {\n\tif (typeof value === \"string\") return [value];\n\tif (isFieldReference(value)) return [normalizeTargetField(targetModelName, value)];\n\treturn value.map((entry) => normalizeTargetField(targetModelName, entry));\n}\nfunction createRelationBuilder(spec) {\n\treturn {\n\t\t__kind: \"relation\",\n\t\t__to: spec.to,\n\t\t__cardinality: spec.cardinality,\n\t\t__on: spec.on,\n\t\t__nullable: spec.nullable\n\t};\n}\nfunction createReferenceRelationBuilder(target, cardinality, options, nullable) {\n\tconst targetModelName = resolveModelName(target);\n\treturn createRelationBuilder({\n\t\tto: blindCast(targetModelName),\n\t\tcardinality,\n\t\ton: {\n\t\t\tlocalFields: blindCast(normalizeStringList(options.from)),\n\t\t\ttargetFields: blindCast(normalizeTargetFields(targetModelName, options.to))\n\t\t},\n\t\tnullable\n\t});\n}\nfunction createEmbedRelationBuilder(target, cardinality) {\n\treturn createRelationBuilder({\n\t\tto: blindCast(resolveModelName(target)),\n\t\tcardinality,\n\t\ton: void 0,\n\t\tnullable: void 0\n\t});\n}\nfunction hasOne(target, options) {\n\tif (!options) return createEmbedRelationBuilder(target, \"1:1\");\n\treturn createReferenceRelationBuilder(target, \"1:1\", options, true);\n}\nfunction hasMany(target, options) {\n\tif (!options) return createEmbedRelationBuilder(target, \"1:N\");\n\treturn createReferenceRelationBuilder(target, \"1:N\", options, void 0);\n}\nfunction belongsTo(target, options) {\n\treturn createReferenceRelationBuilder(target, \"N:1\", options, options.optional);\n}\nconst rel = {\n\tbelongsTo,\n\thasMany,\n\thasOne\n};\nfunction valueObject(name, input) {\n\treturn {\n\t\t__kind: \"valueObject\",\n\t\t__name: name,\n\t\t__fields: input.fields\n\t};\n}\nfunction model(name, input) {\n\treturn {\n\t\t__kind: \"model\",\n\t\t__name: name,\n\t\t__fields: input.fields,\n\t\t__relations: blindCast(input.relations ?? {}),\n\t\t__indexes: input.indexes,\n\t\t__collectionOptions: input.collectionOptions,\n\t\t__controlPolicy: input.controlPolicy,\n\t\t__collection: blindCast(input.collection),\n\t\t__owner: blindCast(input.owner ? resolveModelName(input.owner) : void 0),\n\t\t__base: blindCast(input.base ? resolveModelName(input.base) : void 0),\n\t\t__storageRelations: blindCast(input.storageRelations),\n\t\t__discriminator: blindCast(input.discriminator ? { field: input.discriminator.field } : void 0),\n\t\t__variants: blindCast(input.discriminator?.variants),\n\t\tref(fieldName) {\n\t\t\treturn createFieldReference(name, fieldName);\n\t\t}\n\t};\n}\nfunction validateTargetPackRef(family, target) {\n\tif (family.familyId !== \"mongo\") throw contractError(\"CONTRACT.PACK_FAMILY_MISMATCH\", `defineContract only accepts Mongo family packs. Received family \"${family.familyId}\".`, { meta: {\n\t\tpackId: family.id,\n\t\tpackFamilyId: family.familyId,\n\t\tcontractFamilyId: \"mongo\"\n\t} });\n\tif (target.familyId !== family.familyId) throw contractError(\"CONTRACT.PACK_FAMILY_MISMATCH\", `target pack \"${target.id}\" targets family \"${target.familyId}\" but contract family is \"${family.familyId}\".`, { meta: {\n\t\tpackId: target.id,\n\t\tpackFamilyId: target.familyId,\n\t\tcontractFamilyId: family.familyId\n\t} });\n}\nfunction validateExtensionPackRefs(target, extensions) {\n\tif (!extensions) return;\n\tfor (const packRef of Object.values(extensions)) {\n\t\tif (packRef.kind !== \"extension\") throw contractError(\"CONTRACT.PACK_REF_INVALID\", `defineContract only accepts extension pack refs in extensions. Received kind \"${packRef.kind}\".`, { meta: {\n\t\t\tpackId: packRef.id,\n\t\t\tkind: packRef.kind\n\t\t} });\n\t\tif (packRef.familyId !== target.familyId) throw contractError(\"CONTRACT.PACK_FAMILY_MISMATCH\", `extension pack \"${packRef.id}\" targets family \"${packRef.familyId}\" but contract target family is \"${target.familyId}\".`, { meta: {\n\t\t\tpackId: packRef.id,\n\t\t\tpackFamilyId: packRef.familyId,\n\t\t\tcontractFamilyId: target.familyId\n\t\t} });\n\t\tif (packRef.targetId && packRef.targetId !== target.targetId) throw contractError(\"CONTRACT.PACK_TARGET_MISMATCH\", `extension pack \"${packRef.id}\" targets \"${packRef.targetId}\" but contract target is \"${target.targetId}\".`, { meta: {\n\t\t\tpackId: packRef.id,\n\t\t\tpackTargetId: packRef.targetId,\n\t\t\tcontractTargetId: target.targetId\n\t\t} });\n\t}\n}\nfunction isContractScaffold(value) {\n\tif (typeof value !== \"object\" || value === null) return false;\n\treturn \"family\" in value && \"target\" in value;\n}\nfunction buildContractField(builder) {\n\tconst valueSet = builder.__enumHandle ? {\n\t\tplane: \"domain\",\n\t\tentityKind: \"enum\",\n\t\tnamespaceId: UNBOUND_NAMESPACE_ID,\n\t\tentityName: builder.__enumHandle.enumName\n\t} : void 0;\n\treturn {\n\t\ttype: builder.__type,\n\t\tnullable: builder.__nullable,\n\t\tmany: builder.__many,\n\t\t...ifDefined(\"valueSet\", valueSet)\n\t};\n}\nfunction storedNameOf(fieldName, fieldBuilder) {\n\treturn fieldBuilder.__storedName ?? fieldName;\n}\nfunction buildStorageFields(modelName, fields) {\n\tconst storageFields = {};\n\tconst fieldsByStoredName = /* @__PURE__ */ new Map();\n\tfor (const [fieldName, fieldBuilder] of Object.entries(fields)) {\n\t\tconst storedName = storedNameOf(fieldName, fieldBuilder);\n\t\tconst unsupported = unsupportedStoredNameReason(storedName);\n\t\tif (unsupported !== void 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Model \"${modelName}\" field \"${fieldName}\" ${unsupported}. Give it another stored name.`, { meta: {\n\t\t\tmodelName,\n\t\t\tfieldName,\n\t\t\treason: \"stored-name-unsupported\"\n\t\t} });\n\t\tconst existingField = fieldsByStoredName.get(storedName);\n\t\tif (existingField !== void 0) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `Model \"${modelName}\" stores both \"${existingField}\" and \"${fieldName}\" as \"${storedName}\".`, { meta: {\n\t\t\tkind: \"field\",\n\t\t\tname: storedName,\n\t\t\tfirst: existingField,\n\t\t\tsecond: fieldName\n\t\t} });\n\t\tfieldsByStoredName.set(storedName, fieldName);\n\t\tstorageFields[fieldName] = { field: storedName };\n\t}\n\treturn storageFields;\n}\nfunction storedFieldNameIn(fields, fieldName) {\n\tconst fieldBuilder = Object.hasOwn(fields, fieldName) ? fields[fieldName] : void 0;\n\treturn fieldBuilder === void 0 ? fieldName : storedNameOf(fieldName, fieldBuilder);\n}\nfunction buildFields(fields) {\n\tconst builtFields = {};\n\tfor (const [fieldName, fieldBuilder] of Object.entries(fields)) builtFields[fieldName] = buildContractField(fieldBuilder);\n\treturn builtFields;\n}\nfunction toOneRelationNullable(modelName, relationName, relationBuilder, on, fields) {\n\tconst location = `Relation \"${modelName}.${relationName}\"`;\n\tconst ownsForeignKey = relationBuilder.__cardinality !== \"1:1\";\n\tconst localFields = ownsForeignKey ? on.localFields.map((fieldName) => {\n\t\tconst localField = fields[fieldName];\n\t\tif (localField === void 0) throw contractError(\"CONTRACT.RELATION_INVALID\", `${location} joins on local field \"${fieldName}\", which model \"${modelName}\" does not declare`, { meta: {\n\t\t\tmodelName,\n\t\t\trelationName,\n\t\t\tfieldName,\n\t\t\treason: \"local-field-unknown\"\n\t\t} });\n\t\treturn localField;\n\t}) : [];\n\tconst { nullable, contradiction } = resolveToOneRelationNullable({\n\t\tdeclaredNullable: relationBuilder.__nullable,\n\t\tlocalFieldNullability: localFields.map((localField) => localField.__nullable === true),\n\t\townsReference: ownsForeignKey\n\t});\n\tif (contradiction !== void 0) throw contractError(\"CONTRACT.RELATION_INVALID\", !ownsForeignKey ? `${location} is required but does not own the foreign key, so nothing in storage guarantees the related document exists` : contradiction === \"declared-optional\" ? `${location} is optional but every local field it joins on is required` : `${location} is required but a local field it joins on is nullable`, { meta: {\n\t\tmodelName,\n\t\trelationName,\n\t\treason: \"to-one-nullability-mismatch\"\n\t} });\n\treturn nullable;\n}\nfunction buildRelation(modelName, relationName, relationBuilder, fields) {\n\tconst to = crossRef(relationBuilder.__to, UNBOUND_NAMESPACE_ID);\n\tconst on = relationBuilder.__on;\n\tif (on === void 0) return {\n\t\tto,\n\t\tcardinality: relationBuilder.__cardinality\n\t};\n\tif (relationBuilder.__cardinality === \"1:N\") return {\n\t\tto,\n\t\tcardinality: \"1:N\",\n\t\ton\n\t};\n\treturn {\n\t\tto,\n\t\tcardinality: relationBuilder.__cardinality,\n\t\tnullable: toOneRelationNullable(modelName, relationName, relationBuilder, on, fields),\n\t\ton\n\t};\n}\nfunction buildRelations(modelName, relations, fields) {\n\tconst builtRelations = {};\n\tfor (const [relationName, relationBuilder] of Object.entries(relations)) builtRelations[relationName] = buildRelation(modelName, relationName, relationBuilder, fields);\n\treturn builtRelations;\n}\nfunction buildValueObjects(valueObjects) {\n\tconst builtValueObjects = {};\n\tfor (const valueObjectBuilder of Object.values(valueObjects ?? {})) {\n\t\tif (valueObjectBuilder.__name in builtValueObjects) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `Duplicate value object name \"${valueObjectBuilder.__name}\" in defineContract().`, { meta: {\n\t\t\tkind: \"valueObject\",\n\t\t\tname: valueObjectBuilder.__name\n\t\t} });\n\t\tfor (const [fieldName, fieldBuilder] of Object.entries(valueObjectBuilder.__fields)) if (fieldBuilder.__storedName !== void 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Value object \"${valueObjectBuilder.__name}\" field \"${fieldName}\" sets .mongo({ field }), but a field of a value object is stored under its own name.`, { meta: {\n\t\t\tvalueObjectName: valueObjectBuilder.__name,\n\t\t\tfieldName,\n\t\t\treason: \"value-object-field-stored-name\"\n\t\t} });\n\t\tbuiltValueObjects[valueObjectBuilder.__name] = { fields: buildFields(valueObjectBuilder.__fields) };\n\t}\n\treturn builtValueObjects;\n}\nfunction buildModels(models) {\n\tconst builtModels = {};\n\tfor (const modelBuilder of Object.values(models ?? {})) {\n\t\tif (modelBuilder.__name in builtModels) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `Duplicate model name \"${modelBuilder.__name}\" in defineContract().`, { meta: {\n\t\t\tkind: \"model\",\n\t\t\tname: modelBuilder.__name\n\t\t} });\n\t\tassertUniqueDiscriminatorValues(modelBuilder);\n\t\tconst storage = {\n\t\t\t...modelBuilder.__collection ? { collection: modelBuilder.__collection } : {},\n\t\t\tfields: buildStorageFields(modelBuilder.__name, modelBuilder.__fields),\n\t\t\t...modelBuilder.__storageRelations ? { relations: modelBuilder.__storageRelations } : {}\n\t\t};\n\t\tbuiltModels[modelBuilder.__name] = {\n\t\t\tfields: buildFields(modelBuilder.__fields),\n\t\t\trelations: buildRelations(modelBuilder.__name, modelBuilder.__relations, modelBuilder.__fields),\n\t\t\tstorage,\n\t\t\t...modelBuilder.__owner ? { owner: modelBuilder.__owner } : {},\n\t\t\t...modelBuilder.__base ? { base: crossRef(modelBuilder.__base, UNBOUND_NAMESPACE_ID) } : {},\n\t\t\t...modelBuilder.__discriminator ? { discriminator: modelBuilder.__discriminator } : {},\n\t\t\t...modelBuilder.__variants ? { variants: Object.fromEntries(Object.entries(modelBuilder.__variants).map(([variantName, { value }]) => [value, crossRef(variantName, UNBOUND_NAMESPACE_ID)])) } : {}\n\t\t};\n\t}\n\treturn builtModels;\n}\nfunction assertUniqueDiscriminatorValues(modelBuilder) {\n\tconst variantNamesByValue = /* @__PURE__ */ new Map();\n\tfor (const [variantName, { value }] of Object.entries(modelBuilder.__variants ?? {})) {\n\t\tconst existingVariant = variantNamesByValue.get(value);\n\t\tif (existingVariant !== void 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Discriminator value \"${value}\" is used by both \"${existingVariant}\" and \"${variantName}\" on base model \"${modelBuilder.__name}\".`, { meta: {\n\t\t\tmodelName: modelBuilder.__name,\n\t\t\tvalue,\n\t\t\tvariants: [existingVariant, variantName],\n\t\t\treason: \"duplicate-discriminator-value\"\n\t\t} });\n\t\tvariantNamesByValue.set(value, variantName);\n\t}\n}\nfunction deriveRoots(models) {\n\tconst roots = {};\n\tfor (const modelBuilder of Object.values(models ?? {})) {\n\t\tif (!modelBuilder.__collection || modelBuilder.__owner || modelBuilder.__base) continue;\n\t\troots[modelBuilder.__collection] = crossRef(modelBuilder.__name, UNBOUND_NAMESPACE_ID);\n\t}\n\treturn roots;\n}\nfunction normalizeRoots(roots) {\n\tconst normalizedRoots = {};\n\tfor (const [rootName, rootValue] of Object.entries(roots ?? {})) normalizedRoots[rootName] = crossRef(resolveModelName(rootValue), UNBOUND_NAMESPACE_ID);\n\treturn normalizedRoots;\n}\nfunction storedIndexKey(fields, key) {\n\tconst scope = key.match(/^(.+)\\.\\$\\*\\*$/)?.[1];\n\tif (scope !== void 0) return `${storedFieldNameIn(fields, scope)}.$**`;\n\treturn key === \"$**\" ? key : storedFieldNameIn(fields, key);\n}\nfunction toStorageIndex(index, fields) {\n\tconst input = { keys: Object.entries(index.fields).map(([field, direction]) => ({\n\t\tfield: storedIndexKey(fields, field),\n\t\tdirection\n\t})) };\n\tif (index.options) {\n\t\tfor (const [key, value] of Object.entries(index.options)) if (value !== void 0) input[key] = value;\n\t}\n\treturn new MongoIndex(blindCast(input));\n}\nfunction toStorageCollectionOptions(opts) {\n\treturn new MongoCollectionOptions({\n\t\t...opts.capped ? { capped: {\n\t\t\tsize: opts.size ?? 0,\n\t\t\t...opts.max != null && { max: opts.max }\n\t\t} } : {},\n\t\t...ifDefined(\"storageEngine\", opts.storageEngine),\n\t\t...ifDefined(\"indexOptionDefaults\", opts.indexOptionDefaults),\n\t\t...ifDefined(\"collation\", opts.collation),\n\t\t...ifDefined(\"timeseries\", opts.timeseries),\n\t\t...opts.clusteredIndex !== void 0 && { clusteredIndex: opts.clusteredIndex.name !== void 0 ? { name: opts.clusteredIndex.name } : {} },\n\t\t...ifDefined(\"expireAfterSeconds\", opts.expireAfterSeconds),\n\t\t...ifDefined(\"changeStreamPreAndPostImages\", opts.changeStreamPreAndPostImages)\n\t});\n}\nfunction findMissingIndexField(index, modelFields) {\n\tfor (const fieldName of Object.keys(index.fields)) {\n\t\tconst wildcardMatch = fieldName.match(/^(.+)\\.\\$\\*\\*$/);\n\t\tconst lookupName = wildcardMatch ? wildcardMatch[1] : fieldName;\n\t\tif (lookupName === void 0 || lookupName.length === 0) continue;\n\t\tif (lookupName === \"$**\") continue;\n\t\tif (!Object.hasOwn(modelFields, lookupName)) return lookupName;\n\t}\n}\nfunction resolveVariantScope(modelBuilder, modelsByName) {\n\tif (!modelBuilder.__base) return void 0;\n\tconst baseBuilder = modelsByName[modelBuilder.__base];\n\tif (!baseBuilder) return void 0;\n\tconst discriminatorField = baseBuilder.__discriminator?.field;\n\tconst variantValue = baseBuilder.__variants?.[modelBuilder.__name]?.value;\n\tif (!discriminatorField || variantValue === void 0) return void 0;\n\treturn {\n\t\tdiscriminatorField: storedFieldNameIn(baseBuilder.__fields, discriminatorField),\n\t\tdiscriminatorValue: variantValue\n\t};\n}\nfunction scopeVariantIndex(storageIndex, scope, variantName, authoredIndex) {\n\tconst result = applyPolymorphicScopeToMongoIndex(storageIndex, scope);\n\tif (result.kind === \"conflict\") {\n\t\tconst indexLabel = authoredIndex ? canonicalStringify(authoredIndex) : \"<unknown>\";\n\t\tthrow contractError(\"CONTRACT.INDEX_INVALID\", `Variant model \"${variantName}\" index ${indexLabel} conflicts with discriminator scope: ${result.reason}`, { meta: {\n\t\t\tvariantName,\n\t\t\tindexLabel,\n\t\t\treason: result.reason\n\t\t} });\n\t}\n\treturn result.index;\n}\nfunction buildCollections(models) {\n\tconst intermediate = {};\n\tconst declaredIndexOwners = /* @__PURE__ */ new Map();\n\tconst modelMap = models ?? {};\n\tconst modelsByName = {};\n\tfor (const builder of Object.values(modelMap)) modelsByName[builder.__name] = builder;\n\tfor (const modelBuilder of Object.values(modelMap)) {\n\t\tif (!modelBuilder.__collection) {\n\t\t\tif (modelBuilder.__indexes && modelBuilder.__indexes.length > 0) throw contractError(\"CONTRACT.COLLECTION_INVALID\", `Model \"${modelBuilder.__name}\" defines indexes but has no collection to attach them to.`, { meta: {\n\t\t\t\tmodelName: modelBuilder.__name,\n\t\t\t\treason: \"indexes-without-collection\"\n\t\t\t} });\n\t\t\tif (modelBuilder.__collectionOptions) throw contractError(\"CONTRACT.COLLECTION_INVALID\", `Model \"${modelBuilder.__name}\" defines collectionOptions but has no collection to attach them to.`, { meta: {\n\t\t\t\tmodelName: modelBuilder.__name,\n\t\t\t\treason: \"collectionOptions-without-collection\"\n\t\t\t} });\n\t\t\tif (modelBuilder.__controlPolicy) throw contractError(\"CONTRACT.COLLECTION_INVALID\", `Model \"${modelBuilder.__name}\" defines controlPolicy but has no collection to attach it to.`, { meta: {\n\t\t\t\tmodelName: modelBuilder.__name,\n\t\t\t\treason: \"controlPolicy-without-collection\"\n\t\t\t} });\n\t\t\tcontinue;\n\t\t}\n\t\tconst existingCollection = intermediate[modelBuilder.__collection] ?? {};\n\t\tconst existingIndexes = existingCollection.indexes ?? [];\n\t\tif (existingCollection.options && modelBuilder.__collectionOptions) throw contractError(\"CONTRACT.COLLECTION_INVALID\", `Collection \"${modelBuilder.__collection}\" has collectionOptions declared by multiple models. Author collectionOptions on a single model per collection.`, { meta: {\n\t\t\tmodelName: modelBuilder.__name,\n\t\t\tcollection: modelBuilder.__collection,\n\t\t\treason: \"collectionOptions-declared-by-multiple-models\"\n\t\t} });\n\t\tif (existingCollection.control !== void 0 && modelBuilder.__controlPolicy) throw contractError(\"CONTRACT.COLLECTION_INVALID\", `Collection \"${modelBuilder.__collection}\" has controlPolicy declared by multiple models. Author controlPolicy on a single model per collection.`, { meta: {\n\t\t\tmodelName: modelBuilder.__name,\n\t\t\tcollection: modelBuilder.__collection,\n\t\t\treason: \"controlPolicy-declared-by-multiple-models\"\n\t\t} });\n\t\tfor (const collectionIndex of modelBuilder.__indexes ?? []) {\n\t\t\tconst missingField = findMissingIndexField(collectionIndex, modelBuilder.__fields);\n\t\t\tif (missingField !== void 0) {\n\t\t\t\tconst indexSignature = canonicalStringify(collectionIndex);\n\t\t\t\tthrow contractError(\"CONTRACT.FIELD_UNKNOWN\", `Model \"${modelBuilder.__name}\" index ${indexSignature} references unknown field \"${missingField}\".`, { meta: {\n\t\t\t\t\tmodelName: modelBuilder.__name,\n\t\t\t\t\tfieldName: missingField,\n\t\t\t\t\tindexSignature\n\t\t\t\t} });\n\t\t\t}\n\t\t}\n\t\tconst polymorphicScope = resolveVariantScope(modelBuilder, modelsByName);\n\t\tconst rawStorageIndexes = (modelBuilder.__indexes ?? []).map((authored) => toStorageIndex(authored, modelBuilder.__fields));\n\t\tconst storageIndexes = polymorphicScope ? rawStorageIndexes.map((idx, i) => scopeVariantIndex(idx, polymorphicScope, modelBuilder.__name, modelBuilder.__indexes?.[i])) : rawStorageIndexes;\n\t\tfor (let i = 0; i < storageIndexes.length; i++) {\n\t\t\tconst storageIndex = storageIndexes[i];\n\t\t\tif (storageIndex === void 0) continue;\n\t\t\tconst indexSignature = stableStringify(storageIndex);\n\t\t\tconst collectionIndexKey = `${modelBuilder.__collection}:${indexSignature}`;\n\t\t\tconst firstOwner = declaredIndexOwners.get(collectionIndexKey);\n\t\t\tif (firstOwner) {\n\t\t\t\tconst authoredIndex = modelBuilder.__indexes?.[i];\n\t\t\t\tconst reportedSignature = authoredIndex ? canonicalStringify(authoredIndex) : indexSignature;\n\t\t\t\tthrow contractError(\"CONTRACT.NAME_DUPLICATE\", `Collection \"${modelBuilder.__collection}\" defines duplicate index ${reportedSignature}. First declared on model \"${firstOwner}\" and duplicated on model \"${modelBuilder.__name}\".`, { meta: {\n\t\t\t\t\tkind: \"index\",\n\t\t\t\t\tname: reportedSignature,\n\t\t\t\t\tcollection: modelBuilder.__collection,\n\t\t\t\t\tfirst: firstOwner,\n\t\t\t\t\tsecond: modelBuilder.__name\n\t\t\t\t} });\n\t\t\t}\n\t\t\tdeclaredIndexOwners.set(collectionIndexKey, modelBuilder.__name);\n\t\t}\n\t\tconst storageOptions = modelBuilder.__collectionOptions ? toStorageCollectionOptions(modelBuilder.__collectionOptions) : void 0;\n\t\tconst controlPatch = modelBuilder.__controlPolicy !== void 0 ? { control: modelBuilder.__controlPolicy } : {};\n\t\tintermediate[modelBuilder.__collection] = storageIndexes.length > 0 ? {\n\t\t\t...existingCollection,\n\t\t\tindexes: [...existingIndexes, ...storageIndexes],\n\t\t\t...storageOptions ? { options: storageOptions } : {},\n\t\t\t...controlPatch\n\t\t} : storageOptions ? {\n\t\t\t...existingCollection,\n\t\t\toptions: storageOptions,\n\t\t\t...controlPatch\n\t\t} : Object.keys(controlPatch).length > 0 ? {\n\t\t\t...existingCollection,\n\t\t\t...controlPatch\n\t\t} : existingCollection;\n\t}\n\treturn intermediate;\n}\nfunction executionDefaultError(modelName, fieldName, reason, message) {\n\treturn contractError(\"CONTRACT.DEFAULT_INVALID\", `Field \"${modelName}.${fieldName}\" ${message}`, { meta: {\n\t\tmodelName,\n\t\tfieldName,\n\t\treason\n\t} });\n}\nfunction hasExecutionDefaults(fieldBuilder) {\n\tconst phases = fieldBuilder.__executionDefaults;\n\tconst calls = fieldBuilder.__generatorCalls;\n\treturn phases?.onCreate !== void 0 || phases?.onUpdate !== void 0 || calls?.onCreate !== void 0 || calls?.onUpdate !== void 0;\n}\n/**\n* The phases a field generates: a preset's, with the generators its `.onCreate(...)` and `.onUpdate(...)` calls resolve to for its codec.\n*/\nfunction executionDefaultsOf(fieldBuilder, modelName, fieldName, generatorFunctions) {\n\tconst calls = fieldBuilder.__generatorCalls;\n\tif (calls === void 0) return fieldBuilder.__executionDefaults;\n\tconst type = fieldBuilder.__type;\n\tconst codecId = type.kind === \"scalar\" ? type.codecId : void 0;\n\tconst phases = { ...fieldBuilder.__executionDefaults };\n\tfor (const phase of [\"onCreate\", \"onUpdate\"]) {\n\t\tconst call = calls[phase];\n\t\tif (call === void 0) continue;\n\t\tconst resolution = type.kind === \"scalar\" ? generatorFunctions.resolve(call, {\n\t\t\tcodecId: type.codecId,\n\t\t\ttypeParams: type.typeParams\n\t\t}) : void 0;\n\t\tif (resolution?.ok === true) {\n\t\t\tphases[phase] = resolution.generator;\n\t\t\tcontinue;\n\t\t}\n\t\tconst meta = {\n\t\t\tmodelName,\n\t\t\tfieldName,\n\t\t\tcodecId,\n\t\t\tfunction: call.name\n\t\t};\n\t\tif (resolution?.reason === \"unknown-function\") throw contractError(\"CONTRACT.DEFAULT_INVALID\", `Field \"${modelName}.${fieldName}\": no pack in the contract declares the generator function \"${call.name}\".`, { meta: {\n\t\t\t...meta,\n\t\t\treason: \"generator-unknown\"\n\t\t} });\n\t\tthrow contractError(\"CONTRACT.DEFAULT_INVALID\", resolution?.reason === \"refused\" ? `Field \"${modelName}.${fieldName}\": ${resolution.message}` : `Field \"${modelName}.${fieldName}\": ${call.name}() does not apply to ${codecId === void 0 ? \"the field's type\" : `codec \"${codecId}\"`}.`, { meta: {\n\t\t\t...meta,\n\t\t\treason: \"generator-not-applicable\"\n\t\t} });\n\t}\n\treturn phases;\n}\nfunction assertNoValueObjectExecutionDefaults(valueObjects) {\n\tfor (const valueObjectBuilder of Object.values(valueObjects ?? {})) for (const [fieldName, fieldBuilder] of Object.entries(valueObjectBuilder.__fields)) if (hasExecutionDefaults(fieldBuilder)) throw executionDefaultError(valueObjectBuilder.__name, fieldName, \"executionDefaults-on-value-object\", \"has executionDefaults, but it belongs to a value object. Generated values are only supported on model fields.\");\n}\nfunction buildExecutionDefaults(models, generatorFunctions) {\n\tconst modelBuilders = Object.values(models ?? {});\n\tconst collectionByModelName = new Map(modelBuilders.map((modelBuilder) => [modelBuilder.__name, modelBuilder.__collection]));\n\tconst byRef = /* @__PURE__ */ new Map();\n\tconst defaults = [];\n\tfor (const modelBuilder of modelBuilders) for (const [fieldName, fieldBuilder] of Object.entries(modelBuilder.__fields)) {\n\t\tif (!hasExecutionDefaults(fieldBuilder)) continue;\n\t\tconst modelName = modelBuilder.__name;\n\t\tconst phases = executionDefaultsOf(fieldBuilder, modelName, fieldName, generatorFunctions);\n\t\tif (phases === void 0) continue;\n\t\tif (fieldBuilder.__nullable) throw executionDefaultError(modelName, fieldName, \"nullable-with-executionDefaults\", \"is filled on write by a preset such as temporal.createdAt(), so it cannot be optional; remove .optional().\");\n\t\tif (fieldBuilder.__many) throw executionDefaultError(modelName, fieldName, \"many-with-executionDefaults\", \"is filled on write by a preset such as temporal.createdAt(), so it cannot be a list; remove .many().\");\n\t\tif (modelBuilder.__base !== void 0) {\n\t\t\tconst collection = modelBuilder.__collection ?? collectionByModelName.get(modelBuilder.__base);\n\t\t\tthrow executionDefaultError(modelName, fieldName, \"executionDefaults-on-variant\", `has executionDefaults, but \"${modelName}\" is a variant of \"${modelBuilder.__base}\". Execution defaults apply to every document in collection \"${collection}\", so declare them on the base model.`);\n\t\t}\n\t\tconst entry = modelBuilder.__collection;\n\t\tif (entry === void 0) throw executionDefaultError(modelName, fieldName, \"executionDefaults-without-collection\", \"has executionDefaults, but its model has no collection. Generated values are only supported on fields of a model stored in a collection.\");\n\t\tconst storedName = storedNameOf(fieldName, fieldBuilder);\n\t\tconst refKey = JSON.stringify([entry, storedName]);\n\t\tconst phasesKey = canonicalStringify(phases);\n\t\tconst existing = byRef.get(refKey);\n\t\tif (existing !== void 0) {\n\t\t\tif (existing.phasesKey !== phasesKey) throw executionDefaultError(modelName, fieldName, \"executionDefaults-conflict\", `has different executionDefaults than \"${existing.modelName}.${existing.fieldName}\", which is stored in the same collection \"${entry}\". Use the same executionDefaults on both models.`);\n\t\t\tcontinue;\n\t\t}\n\t\tbyRef.set(refKey, {\n\t\t\tmodelName,\n\t\t\tfieldName,\n\t\t\tphasesKey\n\t\t});\n\t\tdefaults.push({\n\t\t\tref: {\n\t\t\t\tnamespace: UNBOUND_NAMESPACE_ID,\n\t\t\t\tentry,\n\t\t\t\tfield: storedName\n\t\t\t},\n\t\t\t...phases\n\t\t});\n\t}\n\treturn defaults;\n}\nfunction buildContractFromDefinition(definition) {\n\tvalidateTargetPackRef(definition.family, definition.target);\n\tvalidateExtensionPackRefs(definition.target, definition.extensions);\n\tconst builtModels = buildModels(definition.models);\n\tconst builtValueObjects = buildValueObjects(definition.valueObjects);\n\tconst roots = definition.roots ? normalizeRoots(definition.roots) : deriveRoots(definition.models);\n\tconst capabilities = {};\n\tconst collections = buildCollections(definition.models);\n\tassertNoValueObjectExecutionDefaults(definition.valueObjects);\n\tconst execution = buildExecutionSection({\n\t\ttarget: definition.target.targetId,\n\t\ttargetFamily: definition.family.familyId,\n\t\tdefaults: buildExecutionDefaults(definition.models, assembleGeneratorFunctions([\n\t\t\tdefinition.family,\n\t\t\tdefinition.target,\n\t\t\t...Object.values(definition.extensions ?? {})\n\t\t]))\n\t});\n\tconst components = [\n\t\tdefinition.family,\n\t\tdefinition.target,\n\t\t...Object.values(definition.extensions ?? {})\n\t];\n\tconst codecLookup = extractCodecLookup(components);\n\tconst lookups = {\n\t\tcodecLookup,\n\t\tdataTypeLookup: assembleDataTypes(components).lookup\n\t};\n\tassertMongoFieldTypeParams({ [UNBOUND_NAMESPACE_ID]: {\n\t\tmodels: builtModels,\n\t\tvalueObjects: builtValueObjects\n\t} }, lookups);\n\tconst builtEnums = {};\n\tfor (const [enumName, handle] of Object.entries(definition.enums ?? {})) builtEnums[enumName] = {\n\t\tcodecId: handle.codecId,\n\t\tmembers: encodeEnumTypeMembers(handle, codecLookup, \"the field\")\n\t};\n\tconst storageValueSets = mongoValueSetsOf(builtEnums);\n\tfor (const [enumName, handle] of Object.entries(definition.enums ?? {})) if (enumName !== handle.enumName) throw contractError(\"CONTRACT.ENUM_INVALID\", `enum declaration key \"${enumName}\" must match enumType name \"${handle.enumName}\". Aliases are not supported.`, { meta: {\n\t\tenumName: handle.enumName,\n\t\tdeclaredKey: enumName,\n\t\treason: \"declaration-key-mismatch\"\n\t} });\n\tconst hasEnums = Object.keys(builtEnums).length > 0;\n\tfor (const [modelName, modelBuilder] of Object.entries(definition.models ?? {})) for (const [fieldName, fieldBuilder] of Object.entries(modelBuilder.__fields)) {\n\t\tconst handle = fieldBuilder.__enumHandle;\n\t\tif (handle && !(handle.enumName in builtEnums)) throw contractError(\"CONTRACT.ENUM_UNKNOWN\", `Model \"${modelName}\" field \"${fieldName}\" references enum \"${handle.enumName}\" which is not declared in defineContract({ enums: { ... } }).`, { meta: {\n\t\t\tmodelName,\n\t\t\tfieldName,\n\t\t\tenumName: handle.enumName\n\t\t} });\n\t}\n\tconst controlPolicies = {\n\t\tcollections: Object.fromEntries(Object.entries(collections).map(([name, collection]) => [name, collection.control])),\n\t\tdefaultControlPolicy: definition.defaultControlPolicy\n\t};\n\tassertCollectionValidatorSources({\n\t\tmodels: builtModels,\n\t\tvalueObjects: builtValueObjects,\n\t\tenums: builtEnums,\n\t\tlookups,\n\t\tcontrolPolicies\n\t});\n\tconst validators = deriveCollectionValidators({\n\t\tmodels: builtModels,\n\t\tlookups,\n\t\tvalueObjects: builtValueObjects,\n\t\tvalueSets: storageValueSets,\n\t\tcontrolPolicies\n\t});\n\tconst storage = buildMongoStorage({\n\t\tcollections: Object.fromEntries(Object.entries(collections).map(([name, collection]) => [name, {\n\t\t\t...collection,\n\t\t\t...ifDefined(\"validator\", validators[name])\n\t\t}])),\n\t\tvalueSets: storageValueSets\n\t});\n\treturn blindCast({\n\t\ttarget: definition.target.targetId,\n\t\ttargetFamily: definition.family.familyId,\n\t\t...ifDefined(\"defaultControlPolicy\", definition.defaultControlPolicy),\n\t\troots,\n\t\tdomain: { namespaces: { [UNBOUND_NAMESPACE_ID]: {\n\t\t\tmodels: builtModels,\n\t\t\t...Object.keys(builtValueObjects).length > 0 ? { valueObjects: builtValueObjects } : {},\n\t\t\t...hasEnums ? { enum: builtEnums } : {}\n\t\t} } },\n\t\tstorage,\n\t\tcapabilities,\n\t\textensions: definition.extensions ?? {},\n\t\tprofileHash: computeProfileHash({\n\t\t\ttarget: definition.target.targetId,\n\t\t\ttargetFamily: definition.family.familyId,\n\t\t\tcapabilities\n\t\t}),\n\t\tmeta: {},\n\t\t...ifDefined(\"execution\", execution)\n\t});\n}\n/** Implementation. */\nfunction buildBoundContract(family, target, definition, factory) {\n\tconst full = {\n\t\t...definition,\n\t\tfamily,\n\t\ttarget\n\t};\n\tif (factory !== void 0) {\n\t\tconst built = factory(composeMongoAuthoringHelpers(family, target, definition.extensions));\n\t\treturn buildContractFromDefinition({\n\t\t\t...full,\n\t\t\t...ifDefined(\"models\", built.models),\n\t\t\t...ifDefined(\"valueObjects\", built.valueObjects),\n\t\t\t...ifDefined(\"roots\", built.roots)\n\t\t});\n\t}\n\treturn buildContractFromDefinition(full);\n}\nfunction defineContract(definition, factory) {\n\tif (!isContractScaffold(definition)) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", \"defineContract expects a contract definition object. Define your contract with defineContract({ family, target, models, ... }).\");\n\tif (factory !== void 0) return buildBoundContract(definition.family, definition.target, definition, factory);\n\treturn buildBoundContract(definition.family, definition.target, definition);\n}\n//#endregion\nexport { bindEnumType, buildBoundContract, defineContract, enumType, field, index, isEnumTypeHandle, member, model, rel, valueObject };\n\n//# sourceMappingURL=contract-builder.mjs.map"],"mappings":";;;;;;;;;;;;;;;;AAeA,MAAM,sBAAsB;AAC5B,SAAS,kBAAkB,SAAS,MAAM,SAAS,SAAS;CAC3D,IAAI,QAAQ,SAAS,gBAAgB,OAAO,cAAc,qCAAqC,GAAG,QAAQ,GAAG,QAAQ,UAAU;EAC9H,KAAK;EACL,MAAM;GACL,GAAG;GACH;EACD;CACD,CAAC;CACD,OAAO,cAAc,sCAAsC,GAAG,QAAQ,GAAG,QAAQ,UAAU;EAC1F,KAAK;EACL,MAAM;GACL,GAAG;GACH;GACA,UAAU,QAAQ;GAClB,QAAQ;EACT;CACD,CAAC;AACF;AACA,SAAS,aAAa,SAAS;CAC9B,QAAQ,QAAQ,MAAhB;EACC,KAAK,4BAA4B,OAAO,cAAc,6BAA6B,aAAa,QAAQ,UAAU,GAAG,QAAQ,aAAa,IAAI,QAAQ,UAAU,EAAE,MAAM;GACvK,WAAW,QAAQ;GACnB,cAAc,QAAQ;GACtB,QAAQ;EACT,EAAE,CAAC;EACH,KAAK,gBAAgB,OAAO,kBAAkB,aAAa,QAAQ,SAAS,KAAK,EAAE,UAAU,QAAQ,SAAS,GAAG,QAAQ,SAAS,QAAQ,OAAO;EACjJ,KAAK,mBAAmB,OAAO,cAAc,yBAAyB,aAAa,QAAQ,SAAS,YAAY,QAAQ,QAAQ,IAAI,QAAQ,UAAU,EAAE,MAAM;GAC7J,UAAU,QAAQ;GAClB,SAAS,QAAQ;GACjB,QAAQ;EACT,EAAE,CAAC;EACH,KAAK,yBAAyB,OAAO,cAAc,yBAAyB,aAAa,QAAQ,SAAS,aAAa,QAAQ,OAAO,IAAI,QAAQ,UAAU,EAAE,MAAM;GACnK,UAAU,QAAQ;GAClB,QAAQ,QAAQ;GAChB,SAAS,QAAQ;GACjB,QAAQ;EACT,EAAE,CAAC;EACH,KAAK,iBAAiB;GACrB,MAAM,EAAE,UAAU;GAClB,MAAM,QAAQ,MAAM,SAAS,UAAU,UAAU;GACjD,MAAM,YAAY,MAAM,SAAS,UAAU,EAAE,WAAW,MAAM,KAAK,IAAI,EAAE,iBAAiB,MAAM,KAAK;GACrG,OAAO,kBAAkB,GAAG,MAAM,IAAI,MAAM,KAAK,WAAW,QAAQ,UAAU,IAAI;IACjF,GAAG;IACH,WAAW,QAAQ;GACpB,GAAG,QAAQ,SAAS,QAAQ,OAAO;EACpC;EACA,KAAK,cAAc,OAAO,cAAc,+BAA+B,UAAU,QAAQ,UAAU,WAAW,QAAQ,UAAU,IAAI,QAAQ,UAAU,EAAE,MAAM;GAC7J,WAAW,QAAQ;GACnB,WAAW,QAAQ;GACnB,YAAY,QAAQ;GACpB,SAAS,QAAQ;GACjB,WAAW,QAAQ;GACnB,QAAQ;EACT,EAAE,CAAC;CACJ;AACD;;;;AAIA,SAAS,iCAAiC,OAAO;CAChD,MAAM,CAAC,SAAS,wBAAwB,KAAK;CAC7C,IAAI,UAAU,KAAK,GAAG,MAAM,aAAa,KAAK;AAC/C;AAGA,SAAS,gBAAgB,OAAO;CAC/B,IAAI,MAAM,QAAQ,KAAK,GAAG,OAAO,IAAI,MAAM,IAAI,eAAe,CAAC,CAAC,KAAK,GAAG,EAAE;CAC1E,IAAI,SAAS,OAAO,UAAU,UAAU,OAAO,IAAI,OAAO,QAAQ,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,KAAK,cAAc,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,GAAG,KAAK,UAAU,GAAG,EAAE,GAAG,gBAAgB,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;CAClN,OAAO,KAAK,UAAU,KAAK;AAC5B;AACA,MAAM,6BAA6B;CAClC;CACA;CACA;CACA;CACA;CACA;AACD;AACA,SAAS,iBAAiB,YAAY,YAAY,MAAM;CACvD,iCAAiC,YAAY,WAAW,MAAM,IAAI;CAClE,MAAM,SAAS,gCAAgC,YAAY,IAAI;CAC/D,MAAM,cAAc;EACnB,GAAG,OAAO,YAAY,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC;EAC9C,GAAG,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC;EACzB,GAAG,OAAO,SAAS,CAAC,QAAQ,IAAI,CAAC;CAClC;CACA,IAAI,YAAY,SAAS,GAAG,MAAM,cAAc,sCAAsC,iBAAiB,WAAW,gBAAgB,YAAY,KAAK,IAAI,EAAE,uGAAuG,EAAE,MAAM;EACvQ;EACA,QAAQ;EACR,cAAc;CACf,EAAE,CAAC;CACH,OAAO,mBAAmB;EACzB,MAAM;GACL,MAAM;GACN,SAAS,OAAO,WAAW;GAC3B,GAAG,4BAA4B,OAAO,WAAW,UAAU;EAC5D;EACA,UAAU,OAAO;EACjB,MAAM;CACP,GAAG,KAAK,GAAG,OAAO,iBAAiB;AACpC;AACA,SAAS,yBAAyB,gBAAgB;CACjD,MAAM,gBAAgB,gCAAgC,iBAAiB,EAAE,YAAY,kBAAkB,GAAG,SAAS,iBAAiB,YAAY,YAAY,IAAI,CAAC;CACjK,MAAM,aAAa,OAAO,KAAK,aAAa,CAAC,CAAC,QAAQ,SAAS,OAAO,OAAO,OAAO,IAAI,CAAC;CACzF,IAAI,WAAW,SAAS,GAAG,MAAM,cAAc,sCAAsC,oCAAoC,WAAW,KAAK,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,qEAAqE,EAAE,MAAM;EAChP,QAAQ;EACR,cAAc;CACf,EAAE,CAAC;CACH,OAAO;EACN,GAAG;EACH,GAAG;CACJ;AACD;AACA,SAAS,6BAA6B,QAAQ,QAAQ,YAAY;CACjE,MAAM,aAAa;EAClB;EACA;EACA,GAAG,OAAO,OAAO,cAAc,CAAC,CAAC;CAClC;CACA,MAAM,kBAAkB,8BAA8B,YAAY,aAAa;CAC/E,MAAM,iBAAiB,8BAA8B,YAAY,OAAO;CACxE,gCAAgC,CAAC,GAAG,gBAAgB,eAAe;CACnE,MAAM,aAAa,OAAO,KAAK,eAAe,CAAC,CAAC,QAAQ,SAAS,2BAA2B,SAAS,IAAI,CAAC;CAC1G,IAAI,WAAW,SAAS,GAAG,MAAM,cAAc,sCAAsC,mCAAmC,WAAW,KAAK,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,0GAA0G,2BAA2B,KAAK,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,MAAM;EACnV,QAAQ;EACR,cAAc;CACf,EAAE,CAAC;CACH,OAAO,UAAU;EAChB,GAAG,iCAAiC,iBAAiB,EAAE,KAAK;GAC3D,QAAQ,OAAO;GACf,QAAQ,OAAO;GACf,aAAa,mBAAmB,UAAU;GAC1C,gBAAgB,kBAAkB,UAAU,CAAC,CAAC;EAC/C,EAAE,CAAC;EACH,OAAO,yBAAyB,cAAc;EAC9C,KAAK,uBAAuB,UAAU;EACtC;EACA;EACA;EACA;CACD,CAAC;AACF;AACA,SAAS,mBAAmB,MAAM,YAAY,mBAAmB,YAAY,gBAAgB;CAC5F,SAAS,KAAK,SAAS;EACtB,OAAO,mBAAmB;GACzB,MAAM,KAAK;GACX,UAAU,KAAK;GACf,MAAM,EAAE,iBAAiB,SAAS,oBAAoB,MAAM;EAC7D,GAAG,YAAY,mBAAmB,YAAY,cAAc;CAC7D;CACA,SAAS,kBAAkB,OAAO,MAAM;EACvC,IAAI,iBAAiB,WAAW,KAAK,KAAK,oBAAoB,WAAW,KAAK,GAAG,MAAM,cAAc,4BAA4B,IAAI,MAAM,yDAAyD,UAAU,aAAa,cAAc,YAAY,6CAA6C,MAAM,uCAAuC,EAAE,MAAM;GACtV,QAAQ;GACR;EACD,EAAE,CAAC;EACH,OAAO,mBAAmB,MAAM,YAAY,UAAU,iBAAiB,GAAG,YAAY;GACrF,GAAG;IACF,QAAQ;EACV,CAAC;CACF;CACA,OAAO;EACN,QAAQ;EACR,GAAG,UAAU,uBAAuB,iBAAiB;EACrD,GAAG,UAAU,oBAAoB,cAAc;EAC/C,WAAW,SAAS,kBAAkB,YAAY,IAAI;EACtD,WAAW,SAAS,kBAAkB,YAAY,IAAI;EACtD,QAAQ,KAAK;EACb,YAAY,KAAK;EACjB,QAAQ,KAAK;EACb,cAAc,UAAU,UAAU;EAClC,cAAc,UAAU,UAAU;EAClC,UAAU,gBAAgB,mBAAmB;GAC5C,MAAM,KAAK;GACX,UAAU;GACV,MAAM,KAAK;EACZ,GAAG,YAAY,mBAAmB,YAAY,cAAc,CAAC;EAC7D,MAAM,UAAU,IAAI;EACpB,QAAQ,EAAE,YAAY,mBAAmB,MAAM,YAAY,mBAAmB,OAAO,cAAc;CACpG;AACD;AACA,SAAS,4BAA4B,YAAY;CAChD,IAAI,CAAC,YAAY,OAAO,CAAC;CACzB,OAAO,EAAE,WAAW;AACrB;AACA,SAAS,yBAAyB,SAAS,SAAS;CACnD,OAAO,mBAAmB;EACzB,MAAM,UAAU;GACf,MAAM;GACN;GACA,GAAG,4BAA4B,SAAS,UAAU;EACnD,CAAC;EACD,UAAU;EACV,MAAM;CACP,CAAC;AACF;AACA,SAAS,YAAY,SAAS;CAC7B,OAAO,yBAAyB,kBAAkB,OAAO;AAC1D;AACA,MAAM,QAAQ;CACb,QAAQ;CACR,WAAW;EACV,OAAO,yBAAyB,kBAAkB;CACnD;CACA,SAAS;EACR,OAAO,yBAAyB,gBAAgB;CACjD;CACA,SAAS;EACR,OAAO,yBAAyB,gBAAgB;CACjD;CACA,QAAQ;EACP,OAAO,yBAAyB,eAAe;CAChD;CACA,OAAO;EACN,OAAO,yBAAyB,cAAc;CAC/C;CACA,OAAO;EACN,OAAO,yBAAyB,cAAc;CAC/C;CACA,QAAQ;EACP,OAAO,yBAAyB,eAAe;CAChD;CACA,cAAc;EACb,OAAO,yBAAyB,qBAAqB;CACtD;CACA,aAAa;EACZ,OAAO,yBAAyB,oBAAoB;CACrD;CACA,SAAS;EACR,OAAO,yBAAyB,gBAAgB;CACjD;CACA,OAAO;EACN,OAAO,yBAAyB,cAAc;CAC/C;CACA,OAAO;EACN,OAAO,yBAAyB,cAAc;CAC/C;CACA,QAAQ;CACR,YAAY,iBAAiB;EAC5B,OAAO,mBAAmB;GACzB,MAAM,UAAU;IACf,MAAM;IACN,MAAM,uBAAuB,eAAe;GAC7C,CAAC;GACD,UAAU;GACV,MAAM;EACP,CAAC;CACF;CACA,UAAU,QAAQ;EACjB,OAAO,mBAAmB;GACzB,MAAM,UAAU;IACf,MAAM;IACN,SAAS,OAAO;GACjB,CAAC;GACD,UAAU;GACV,MAAM;EACP,GAAG,MAAM;CACV;AACD;AACA,SAAS,MAAM,QAAQ,SAAS;CAC/B,OAAO;EACN;EACA,GAAG,UAAU,EAAE,QAAQ,IAAI,CAAC;CAC7B;AACD;AACA,SAAS,qBAAqB,WAAW,WAAW;CACnD,OAAO;EACN,QAAQ;EACR;EACA;CACD;AACD;AACA,SAAS,iBAAiB,OAAO;CAChC,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,YAAY,SAAS,MAAM,WAAW;AAC7F;AACA,SAAS,iBAAiB,OAAO;CAChC,OAAO,OAAO,UAAU,WAAW,QAAQ,MAAM;AAClD;AACA,SAAS,uBAAuB,OAAO;CACtC,OAAO,OAAO,UAAU,WAAW,QAAQ,MAAM;AAClD;AACA,SAAS,oBAAoB,OAAO;CACnC,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI,CAAC,GAAG,KAAK;AACvD;AACA,SAAS,qBAAqB,iBAAiB,OAAO;CACrD,IAAI,CAAC,iBAAiB,KAAK,GAAG,OAAO;CACrC,IAAI,MAAM,cAAc,iBAAiB,MAAM,cAAc,6BAA6B,oBAAoB,gBAAgB,4BAA4B,MAAM,UAAU,GAAG,MAAM,UAAU,KAAK,EAAE,MAAM;EACzM,WAAW;EACX,QAAQ;EACR,iBAAiB,MAAM;EACvB,iBAAiB,MAAM;CACxB,EAAE,CAAC;CACH,OAAO,MAAM;AACd;AACA,SAAS,sBAAsB,iBAAiB,OAAO;CACtD,IAAI,OAAO,UAAU,UAAU,OAAO,CAAC,KAAK;CAC5C,IAAI,iBAAiB,KAAK,GAAG,OAAO,CAAC,qBAAqB,iBAAiB,KAAK,CAAC;CACjF,OAAO,MAAM,KAAK,UAAU,qBAAqB,iBAAiB,KAAK,CAAC;AACzE;AACA,SAAS,sBAAsB,MAAM;CACpC,OAAO;EACN,QAAQ;EACR,MAAM,KAAK;EACX,eAAe,KAAK;EACpB,MAAM,KAAK;EACX,YAAY,KAAK;CAClB;AACD;AACA,SAAS,+BAA+B,QAAQ,aAAa,SAAS,UAAU;CAC/E,MAAM,kBAAkB,iBAAiB,MAAM;CAC/C,OAAO,sBAAsB;EAC5B,IAAI,UAAU,eAAe;EAC7B;EACA,IAAI;GACH,aAAa,UAAU,oBAAoB,QAAQ,IAAI,CAAC;GACxD,cAAc,UAAU,sBAAsB,iBAAiB,QAAQ,EAAE,CAAC;EAC3E;EACA;CACD,CAAC;AACF;AACA,SAAS,2BAA2B,QAAQ,aAAa;CACxD,OAAO,sBAAsB;EAC5B,IAAI,UAAU,iBAAiB,MAAM,CAAC;EACtC;EACA,IAAI,KAAK;EACT,UAAU,KAAK;CAChB,CAAC;AACF;AACA,SAAS,OAAO,QAAQ,SAAS;CAChC,IAAI,CAAC,SAAS,OAAO,2BAA2B,QAAQ,KAAK;CAC7D,OAAO,+BAA+B,QAAQ,OAAO,SAAS,IAAI;AACnE;AACA,SAAS,QAAQ,QAAQ,SAAS;CACjC,IAAI,CAAC,SAAS,OAAO,2BAA2B,QAAQ,KAAK;CAC7D,OAAO,+BAA+B,QAAQ,OAAO,SAAS,KAAK,CAAC;AACrE;AACA,SAAS,UAAU,QAAQ,SAAS;CACnC,OAAO,+BAA+B,QAAQ,OAAO,SAAS,QAAQ,QAAQ;AAC/E;AACA,MAAM,MAAM;CACX;CACA;CACA;AACD;AACA,SAAS,YAAY,MAAM,OAAO;CACjC,OAAO;EACN,QAAQ;EACR,QAAQ;EACR,UAAU,MAAM;CACjB;AACD;AACA,SAAS,MAAM,MAAM,OAAO;CAC3B,OAAO;EACN,QAAQ;EACR,QAAQ;EACR,UAAU,MAAM;EAChB,aAAa,UAAU,MAAM,aAAa,CAAC,CAAC;EAC5C,WAAW,MAAM;EACjB,qBAAqB,MAAM;EAC3B,iBAAiB,MAAM;EACvB,cAAc,UAAU,MAAM,UAAU;EACxC,SAAS,UAAU,MAAM,QAAQ,iBAAiB,MAAM,KAAK,IAAI,KAAK,CAAC;EACvE,QAAQ,UAAU,MAAM,OAAO,iBAAiB,MAAM,IAAI,IAAI,KAAK,CAAC;EACpE,oBAAoB,UAAU,MAAM,gBAAgB;EACpD,iBAAiB,UAAU,MAAM,gBAAgB,EAAE,OAAO,MAAM,cAAc,MAAM,IAAI,KAAK,CAAC;EAC9F,YAAY,UAAU,MAAM,eAAe,QAAQ;EACnD,IAAI,WAAW;GACd,OAAO,qBAAqB,MAAM,SAAS;EAC5C;CACD;AACD;AACA,SAAS,sBAAsB,QAAQ,QAAQ;CAC9C,IAAI,OAAO,aAAa,SAAS,MAAM,cAAc,iCAAiC,oEAAoE,OAAO,SAAS,KAAK,EAAE,MAAM;EACtL,QAAQ,OAAO;EACf,cAAc,OAAO;EACrB,kBAAkB;CACnB,EAAE,CAAC;CACH,IAAI,OAAO,aAAa,OAAO,UAAU,MAAM,cAAc,iCAAiC,gBAAgB,OAAO,GAAG,oBAAoB,OAAO,SAAS,4BAA4B,OAAO,SAAS,KAAK,EAAE,MAAM;EACpN,QAAQ,OAAO;EACf,cAAc,OAAO;EACrB,kBAAkB,OAAO;CAC1B,EAAE,CAAC;AACJ;AACA,SAAS,0BAA0B,QAAQ,YAAY;CACtD,IAAI,CAAC,YAAY;CACjB,KAAK,MAAM,WAAW,OAAO,OAAO,UAAU,GAAG;EAChD,IAAI,QAAQ,SAAS,aAAa,MAAM,cAAc,6BAA6B,iFAAiF,QAAQ,KAAK,KAAK,EAAE,MAAM;GAC7L,QAAQ,QAAQ;GAChB,MAAM,QAAQ;EACf,EAAE,CAAC;EACH,IAAI,QAAQ,aAAa,OAAO,UAAU,MAAM,cAAc,iCAAiC,mBAAmB,QAAQ,GAAG,oBAAoB,QAAQ,SAAS,mCAAmC,OAAO,SAAS,KAAK,EAAE,MAAM;GACjO,QAAQ,QAAQ;GAChB,cAAc,QAAQ;GACtB,kBAAkB,OAAO;EAC1B,EAAE,CAAC;EACH,IAAI,QAAQ,YAAY,QAAQ,aAAa,OAAO,UAAU,MAAM,cAAc,iCAAiC,mBAAmB,QAAQ,GAAG,aAAa,QAAQ,SAAS,4BAA4B,OAAO,SAAS,KAAK,EAAE,MAAM;GACvO,QAAQ,QAAQ;GAChB,cAAc,QAAQ;GACtB,kBAAkB,OAAO;EAC1B,EAAE,CAAC;CACJ;AACD;AACA,SAAS,mBAAmB,OAAO;CAClC,IAAI,OAAO,UAAU,YAAY,UAAU,MAAM,OAAO;CACxD,OAAO,YAAY,SAAS,YAAY;AACzC;AACA,SAAS,mBAAmB,SAAS;CACpC,MAAM,WAAW,QAAQ,eAAe;EACvC,OAAO;EACP,YAAY;EACZ,aAAa;EACb,YAAY,QAAQ,aAAa;CAClC,IAAI,KAAK;CACT,OAAO;EACN,MAAM,QAAQ;EACd,UAAU,QAAQ;EAClB,MAAM,QAAQ;EACd,GAAG,UAAU,YAAY,QAAQ;CAClC;AACD;AACA,SAAS,aAAa,WAAW,cAAc;CAC9C,OAAO,aAAa,gBAAgB;AACrC;AACA,SAAS,mBAAmB,WAAW,QAAQ;CAC9C,MAAM,gBAAgB,CAAC;CACvB,MAAM,qCAAqC,IAAI,IAAI;CACnD,KAAK,MAAM,CAAC,WAAW,iBAAiB,OAAO,QAAQ,MAAM,GAAG;EAC/D,MAAM,aAAa,aAAa,WAAW,YAAY;EACvD,MAAM,cAAc,4BAA4B,UAAU;EAC1D,IAAI,gBAAgB,KAAK,GAAG,MAAM,cAAc,6BAA6B,UAAU,UAAU,WAAW,UAAU,IAAI,YAAY,iCAAiC,EAAE,MAAM;GAC9K;GACA;GACA,QAAQ;EACT,EAAE,CAAC;EACH,MAAM,gBAAgB,mBAAmB,IAAI,UAAU;EACvD,IAAI,kBAAkB,KAAK,GAAG,MAAM,cAAc,2BAA2B,UAAU,UAAU,iBAAiB,cAAc,SAAS,UAAU,QAAQ,WAAW,KAAK,EAAE,MAAM;GAClL,MAAM;GACN,MAAM;GACN,OAAO;GACP,QAAQ;EACT,EAAE,CAAC;EACH,mBAAmB,IAAI,YAAY,SAAS;EAC5C,cAAc,aAAa,EAAE,OAAO,WAAW;CAChD;CACA,OAAO;AACR;AACA,SAAS,kBAAkB,QAAQ,WAAW;CAC7C,MAAM,eAAe,OAAO,OAAO,QAAQ,SAAS,IAAI,OAAO,aAAa,KAAK;CACjF,OAAO,iBAAiB,KAAK,IAAI,YAAY,aAAa,WAAW,YAAY;AAClF;AACA,SAAS,YAAY,QAAQ;CAC5B,MAAM,cAAc,CAAC;CACrB,KAAK,MAAM,CAAC,WAAW,iBAAiB,OAAO,QAAQ,MAAM,GAAG,YAAY,aAAa,mBAAmB,YAAY;CACxH,OAAO;AACR;AACA,SAAS,sBAAsB,WAAW,cAAc,iBAAiB,IAAI,QAAQ;CACpF,MAAM,WAAW,aAAa,UAAU,GAAG,aAAa;CACxD,MAAM,iBAAiB,gBAAgB,kBAAkB;CACzD,MAAM,cAAc,iBAAiB,GAAG,YAAY,KAAK,cAAc;EACtE,MAAM,aAAa,OAAO;EAC1B,IAAI,eAAe,KAAK,GAAG,MAAM,cAAc,6BAA6B,GAAG,SAAS,yBAAyB,UAAU,kBAAkB,UAAU,qBAAqB,EAAE,MAAM;GACnL;GACA;GACA;GACA,QAAQ;EACT,EAAE,CAAC;EACH,OAAO;CACR,CAAC,IAAI,CAAC;CACN,MAAM,EAAE,UAAU,kBAAkB,6BAA6B;EAChE,kBAAkB,gBAAgB;EAClC,uBAAuB,YAAY,KAAK,eAAe,WAAW,eAAe,IAAI;EACrF,eAAe;CAChB,CAAC;CACD,IAAI,kBAAkB,KAAK,GAAG,MAAM,cAAc,6BAA6B,CAAC,iBAAiB,GAAG,SAAS,+GAA+G,kBAAkB,sBAAsB,GAAG,SAAS,8DAA8D,GAAG,SAAS,yDAAyD,EAAE,MAAM;EAC1Z;EACA;EACA,QAAQ;CACT,EAAE,CAAC;CACH,OAAO;AACR;AACA,SAAS,cAAc,WAAW,cAAc,iBAAiB,QAAQ;CACxE,MAAM,KAAK,SAAS,gBAAgB,MAAM,oBAAoB;CAC9D,MAAM,KAAK,gBAAgB;CAC3B,IAAI,OAAO,KAAK,GAAG,OAAO;EACzB;EACA,aAAa,gBAAgB;CAC9B;CACA,IAAI,gBAAgB,kBAAkB,OAAO,OAAO;EACnD;EACA,aAAa;EACb;CACD;CACA,OAAO;EACN;EACA,aAAa,gBAAgB;EAC7B,UAAU,sBAAsB,WAAW,cAAc,iBAAiB,IAAI,MAAM;EACpF;CACD;AACD;AACA,SAAS,eAAe,WAAW,WAAW,QAAQ;CACrD,MAAM,iBAAiB,CAAC;CACxB,KAAK,MAAM,CAAC,cAAc,oBAAoB,OAAO,QAAQ,SAAS,GAAG,eAAe,gBAAgB,cAAc,WAAW,cAAc,iBAAiB,MAAM;CACtK,OAAO;AACR;AACA,SAAS,kBAAkB,cAAc;CACxC,MAAM,oBAAoB,CAAC;CAC3B,KAAK,MAAM,sBAAsB,OAAO,OAAO,gBAAgB,CAAC,CAAC,GAAG;EACnE,IAAI,mBAAmB,UAAU,mBAAmB,MAAM,cAAc,2BAA2B,gCAAgC,mBAAmB,OAAO,yBAAyB,EAAE,MAAM;GAC7L,MAAM;GACN,MAAM,mBAAmB;EAC1B,EAAE,CAAC;EACH,KAAK,MAAM,CAAC,WAAW,iBAAiB,OAAO,QAAQ,mBAAmB,QAAQ,GAAG,IAAI,aAAa,iBAAiB,KAAK,GAAG,MAAM,cAAc,6BAA6B,iBAAiB,mBAAmB,OAAO,WAAW,UAAU,wFAAwF,EAAE,MAAM;GAC/U,iBAAiB,mBAAmB;GACpC;GACA,QAAQ;EACT,EAAE,CAAC;EACH,kBAAkB,mBAAmB,UAAU,EAAE,QAAQ,YAAY,mBAAmB,QAAQ,EAAE;CACnG;CACA,OAAO;AACR;AACA,SAAS,YAAY,QAAQ;CAC5B,MAAM,cAAc,CAAC;CACrB,KAAK,MAAM,gBAAgB,OAAO,OAAO,UAAU,CAAC,CAAC,GAAG;EACvD,IAAI,aAAa,UAAU,aAAa,MAAM,cAAc,2BAA2B,yBAAyB,aAAa,OAAO,yBAAyB,EAAE,MAAM;GACpK,MAAM;GACN,MAAM,aAAa;EACpB,EAAE,CAAC;EACH,gCAAgC,YAAY;EAC5C,MAAM,UAAU;GACf,GAAG,aAAa,eAAe,EAAE,YAAY,aAAa,aAAa,IAAI,CAAC;GAC5E,QAAQ,mBAAmB,aAAa,QAAQ,aAAa,QAAQ;GACrE,GAAG,aAAa,qBAAqB,EAAE,WAAW,aAAa,mBAAmB,IAAI,CAAC;EACxF;EACA,YAAY,aAAa,UAAU;GAClC,QAAQ,YAAY,aAAa,QAAQ;GACzC,WAAW,eAAe,aAAa,QAAQ,aAAa,aAAa,aAAa,QAAQ;GAC9F;GACA,GAAG,aAAa,UAAU,EAAE,OAAO,aAAa,QAAQ,IAAI,CAAC;GAC7D,GAAG,aAAa,SAAS,EAAE,MAAM,SAAS,aAAa,QAAQ,oBAAoB,EAAE,IAAI,CAAC;GAC1F,GAAG,aAAa,kBAAkB,EAAE,eAAe,aAAa,gBAAgB,IAAI,CAAC;GACrF,GAAG,aAAa,aAAa,EAAE,UAAU,OAAO,YAAY,OAAO,QAAQ,aAAa,UAAU,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,SAAS,aAAa,oBAAoB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;EACnM;CACD;CACA,OAAO;AACR;AACA,SAAS,gCAAgC,cAAc;CACtD,MAAM,sCAAsC,IAAI,IAAI;CACpD,KAAK,MAAM,CAAC,aAAa,EAAE,YAAY,OAAO,QAAQ,aAAa,cAAc,CAAC,CAAC,GAAG;EACrF,MAAM,kBAAkB,oBAAoB,IAAI,KAAK;EACrD,IAAI,oBAAoB,KAAK,GAAG,MAAM,cAAc,6BAA6B,wBAAwB,MAAM,qBAAqB,gBAAgB,SAAS,YAAY,mBAAmB,aAAa,OAAO,KAAK,EAAE,MAAM;GAC5N,WAAW,aAAa;GACxB;GACA,UAAU,CAAC,iBAAiB,WAAW;GACvC,QAAQ;EACT,EAAE,CAAC;EACH,oBAAoB,IAAI,OAAO,WAAW;CAC3C;AACD;AACA,SAAS,YAAY,QAAQ;CAC5B,MAAM,QAAQ,CAAC;CACf,KAAK,MAAM,gBAAgB,OAAO,OAAO,UAAU,CAAC,CAAC,GAAG;EACvD,IAAI,CAAC,aAAa,gBAAgB,aAAa,WAAW,aAAa,QAAQ;EAC/E,MAAM,aAAa,gBAAgB,SAAS,aAAa,QAAQ,oBAAoB;CACtF;CACA,OAAO;AACR;AACA,SAAS,eAAe,OAAO;CAC9B,MAAM,kBAAkB,CAAC;CACzB,KAAK,MAAM,CAAC,UAAU,cAAc,OAAO,QAAQ,SAAS,CAAC,CAAC,GAAG,gBAAgB,YAAY,SAAS,iBAAiB,SAAS,GAAG,oBAAoB;CACvJ,OAAO;AACR;AACA,SAAS,eAAe,QAAQ,KAAK;CACpC,MAAM,QAAQ,IAAI,MAAM,gBAAgB,CAAC,GAAG;CAC5C,IAAI,UAAU,KAAK,GAAG,OAAO,GAAG,kBAAkB,QAAQ,KAAK,EAAE;CACjE,OAAO,QAAQ,QAAQ,MAAM,kBAAkB,QAAQ,GAAG;AAC3D;AACA,SAAS,eAAe,OAAO,QAAQ;CACtC,MAAM,QAAQ,EAAE,MAAM,OAAO,QAAQ,MAAM,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB;EAC/E,OAAO,eAAe,QAAQ,KAAK;EACnC;CACD,EAAE,EAAE;CACJ,IAAI,MAAM,SACJ;OAAA,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,MAAM,OAAO,GAAG,IAAI,UAAU,KAAK,GAAG,MAAM,OAAO;CAAA;CAE9F,OAAO,IAAI,WAAW,UAAU,KAAK,CAAC;AACvC;AACA,SAAS,2BAA2B,MAAM;CACzC,OAAO,IAAI,uBAAuB;EACjC,GAAG,KAAK,SAAS,EAAE,QAAQ;GAC1B,MAAM,KAAK,QAAQ;GACnB,GAAG,KAAK,OAAO,QAAQ,EAAE,KAAK,KAAK,IAAI;EACxC,EAAE,IAAI,CAAC;EACP,GAAG,UAAU,iBAAiB,KAAK,aAAa;EAChD,GAAG,UAAU,uBAAuB,KAAK,mBAAmB;EAC5D,GAAG,UAAU,aAAa,KAAK,SAAS;EACxC,GAAG,UAAU,cAAc,KAAK,UAAU;EAC1C,GAAG,KAAK,mBAAmB,KAAK,KAAK,EAAE,gBAAgB,KAAK,eAAe,SAAS,KAAK,IAAI,EAAE,MAAM,KAAK,eAAe,KAAK,IAAI,CAAC,EAAE;EACrI,GAAG,UAAU,sBAAsB,KAAK,kBAAkB;EAC1D,GAAG,UAAU,gCAAgC,KAAK,4BAA4B;CAC/E,CAAC;AACF;AACA,SAAS,sBAAsB,OAAO,aAAa;CAClD,KAAK,MAAM,aAAa,OAAO,KAAK,MAAM,MAAM,GAAG;EAClD,MAAM,gBAAgB,UAAU,MAAM,gBAAgB;EACtD,MAAM,aAAa,gBAAgB,cAAc,KAAK;EACtD,IAAI,eAAe,KAAK,KAAK,WAAW,WAAW,GAAG;EACtD,IAAI,eAAe,OAAO;EAC1B,IAAI,CAAC,OAAO,OAAO,aAAa,UAAU,GAAG,OAAO;CACrD;AACD;AACA,SAAS,oBAAoB,cAAc,cAAc;CACxD,IAAI,CAAC,aAAa,QAAQ,OAAO,KAAK;CACtC,MAAM,cAAc,aAAa,aAAa;CAC9C,IAAI,CAAC,aAAa,OAAO,KAAK;CAC9B,MAAM,qBAAqB,YAAY,iBAAiB;CACxD,MAAM,eAAe,YAAY,aAAa,aAAa,OAAO,EAAE;CACpE,IAAI,CAAC,sBAAsB,iBAAiB,KAAK,GAAG,OAAO,KAAK;CAChE,OAAO;EACN,oBAAoB,kBAAkB,YAAY,UAAU,kBAAkB;EAC9E,oBAAoB;CACrB;AACD;AACA,SAAS,kBAAkB,cAAc,OAAO,aAAa,eAAe;CAC3E,MAAM,SAAS,kCAAkC,cAAc,KAAK;CACpE,IAAI,OAAO,SAAS,YAAY;EAC/B,MAAM,aAAa,gBAAgB,mBAAmB,aAAa,IAAI;EACvE,MAAM,cAAc,0BAA0B,kBAAkB,YAAY,UAAU,WAAW,uCAAuC,OAAO,UAAU,EAAE,MAAM;GAChK;GACA;GACA,QAAQ,OAAO;EAChB,EAAE,CAAC;CACJ;CACA,OAAO,OAAO;AACf;AACA,SAAS,iBAAiB,QAAQ;CACjC,MAAM,eAAe,CAAC;CACtB,MAAM,sCAAsC,IAAI,IAAI;CACpD,MAAM,WAAW,UAAU,CAAC;CAC5B,MAAM,eAAe,CAAC;CACtB,KAAK,MAAM,WAAW,OAAO,OAAO,QAAQ,GAAG,aAAa,QAAQ,UAAU;CAC9E,KAAK,MAAM,gBAAgB,OAAO,OAAO,QAAQ,GAAG;EACnD,IAAI,CAAC,aAAa,cAAc;GAC/B,IAAI,aAAa,aAAa,aAAa,UAAU,SAAS,GAAG,MAAM,cAAc,+BAA+B,UAAU,aAAa,OAAO,6DAA6D,EAAE,MAAM;IACtN,WAAW,aAAa;IACxB,QAAQ;GACT,EAAE,CAAC;GACH,IAAI,aAAa,qBAAqB,MAAM,cAAc,+BAA+B,UAAU,aAAa,OAAO,uEAAuE,EAAE,MAAM;IACrM,WAAW,aAAa;IACxB,QAAQ;GACT,EAAE,CAAC;GACH,IAAI,aAAa,iBAAiB,MAAM,cAAc,+BAA+B,UAAU,aAAa,OAAO,iEAAiE,EAAE,MAAM;IAC3L,WAAW,aAAa;IACxB,QAAQ;GACT,EAAE,CAAC;GACH;EACD;EACA,MAAM,qBAAqB,aAAa,aAAa,iBAAiB,CAAC;EACvE,MAAM,kBAAkB,mBAAmB,WAAW,CAAC;EACvD,IAAI,mBAAmB,WAAW,aAAa,qBAAqB,MAAM,cAAc,+BAA+B,eAAe,aAAa,aAAa,kHAAkH,EAAE,MAAM;GACzR,WAAW,aAAa;GACxB,YAAY,aAAa;GACzB,QAAQ;EACT,EAAE,CAAC;EACH,IAAI,mBAAmB,YAAY,KAAK,KAAK,aAAa,iBAAiB,MAAM,cAAc,+BAA+B,eAAe,aAAa,aAAa,0GAA0G,EAAE,MAAM;GACxR,WAAW,aAAa;GACxB,YAAY,aAAa;GACzB,QAAQ;EACT,EAAE,CAAC;EACH,KAAK,MAAM,mBAAmB,aAAa,aAAa,CAAC,GAAG;GAC3D,MAAM,eAAe,sBAAsB,iBAAiB,aAAa,QAAQ;GACjF,IAAI,iBAAiB,KAAK,GAAG;IAC5B,MAAM,iBAAiB,mBAAmB,eAAe;IACzD,MAAM,cAAc,0BAA0B,UAAU,aAAa,OAAO,UAAU,eAAe,6BAA6B,aAAa,KAAK,EAAE,MAAM;KAC3J,WAAW,aAAa;KACxB,WAAW;KACX;IACD,EAAE,CAAC;GACJ;EACD;EACA,MAAM,mBAAmB,oBAAoB,cAAc,YAAY;EACvE,MAAM,qBAAqB,aAAa,aAAa,CAAC,EAAA,CAAG,KAAK,aAAa,eAAe,UAAU,aAAa,QAAQ,CAAC;EAC1H,MAAM,iBAAiB,mBAAmB,kBAAkB,KAAK,KAAK,MAAM,kBAAkB,KAAK,kBAAkB,aAAa,QAAQ,aAAa,YAAY,EAAE,CAAC,IAAI;EAC1K,KAAK,IAAI,IAAI,GAAG,IAAI,eAAe,QAAQ,KAAK;GAC/C,MAAM,eAAe,eAAe;GACpC,IAAI,iBAAiB,KAAK,GAAG;GAC7B,MAAM,iBAAiB,gBAAgB,YAAY;GACnD,MAAM,qBAAqB,GAAG,aAAa,aAAa,GAAG;GAC3D,MAAM,aAAa,oBAAoB,IAAI,kBAAkB;GAC7D,IAAI,YAAY;IACf,MAAM,gBAAgB,aAAa,YAAY;IAC/C,MAAM,oBAAoB,gBAAgB,mBAAmB,aAAa,IAAI;IAC9E,MAAM,cAAc,2BAA2B,eAAe,aAAa,aAAa,4BAA4B,kBAAkB,6BAA6B,WAAW,6BAA6B,aAAa,OAAO,KAAK,EAAE,MAAM;KAC3O,MAAM;KACN,MAAM;KACN,YAAY,aAAa;KACzB,OAAO;KACP,QAAQ,aAAa;IACtB,EAAE,CAAC;GACJ;GACA,oBAAoB,IAAI,oBAAoB,aAAa,MAAM;EAChE;EACA,MAAM,iBAAiB,aAAa,sBAAsB,2BAA2B,aAAa,mBAAmB,IAAI,KAAK;EAC9H,MAAM,eAAe,aAAa,oBAAoB,KAAK,IAAI,EAAE,SAAS,aAAa,gBAAgB,IAAI,CAAC;EAC5G,aAAa,aAAa,gBAAgB,eAAe,SAAS,IAAI;GACrE,GAAG;GACH,SAAS,CAAC,GAAG,iBAAiB,GAAG,cAAc;GAC/C,GAAG,iBAAiB,EAAE,SAAS,eAAe,IAAI,CAAC;GACnD,GAAG;EACJ,IAAI,iBAAiB;GACpB,GAAG;GACH,SAAS;GACT,GAAG;EACJ,IAAI,OAAO,KAAK,YAAY,CAAC,CAAC,SAAS,IAAI;GAC1C,GAAG;GACH,GAAG;EACJ,IAAI;CACL;CACA,OAAO;AACR;AACA,SAAS,sBAAsB,WAAW,WAAW,QAAQ,SAAS;CACrE,OAAO,cAAc,4BAA4B,UAAU,UAAU,GAAG,UAAU,IAAI,WAAW,EAAE,MAAM;EACxG;EACA;EACA;CACD,EAAE,CAAC;AACJ;AACA,SAAS,qBAAqB,cAAc;CAC3C,MAAM,SAAS,aAAa;CAC5B,MAAM,QAAQ,aAAa;CAC3B,OAAO,QAAQ,aAAa,KAAK,KAAK,QAAQ,aAAa,KAAK,KAAK,OAAO,aAAa,KAAK,KAAK,OAAO,aAAa,KAAK;AAC7H;;;;AAIA,SAAS,oBAAoB,cAAc,WAAW,WAAW,oBAAoB;CACpF,MAAM,QAAQ,aAAa;CAC3B,IAAI,UAAU,KAAK,GAAG,OAAO,aAAa;CAC1C,MAAM,OAAO,aAAa;CAC1B,MAAM,UAAU,KAAK,SAAS,WAAW,KAAK,UAAU,KAAK;CAC7D,MAAM,SAAS,EAAE,GAAG,aAAa,oBAAoB;CACrD,KAAK,MAAM,SAAS,CAAC,YAAY,UAAU,GAAG;EAC7C,MAAM,OAAO,MAAM;EACnB,IAAI,SAAS,KAAK,GAAG;EACrB,MAAM,aAAa,KAAK,SAAS,WAAW,mBAAmB,QAAQ,MAAM;GAC5E,SAAS,KAAK;GACd,YAAY,KAAK;EAClB,CAAC,IAAI,KAAK;EACV,IAAI,YAAY,OAAO,MAAM;GAC5B,OAAO,SAAS,WAAW;GAC3B;EACD;EACA,MAAM,OAAO;GACZ;GACA;GACA;GACA,UAAU,KAAK;EAChB;EACA,IAAI,YAAY,WAAW,oBAAoB,MAAM,cAAc,4BAA4B,UAAU,UAAU,GAAG,UAAU,8DAA8D,KAAK,KAAK,KAAK,EAAE,MAAM;GACpN,GAAG;GACH,QAAQ;EACT,EAAE,CAAC;EACH,MAAM,cAAc,4BAA4B,YAAY,WAAW,YAAY,UAAU,UAAU,GAAG,UAAU,KAAK,WAAW,YAAY,UAAU,UAAU,GAAG,UAAU,KAAK,KAAK,KAAK,uBAAuB,YAAY,KAAK,IAAI,qBAAqB,UAAU,QAAQ,GAAG,IAAI,EAAE,MAAM;GACjS,GAAG;GACH,QAAQ;EACT,EAAE,CAAC;CACJ;CACA,OAAO;AACR;AACA,SAAS,qCAAqC,cAAc;CAC3D,KAAK,MAAM,sBAAsB,OAAO,OAAO,gBAAgB,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,WAAW,iBAAiB,OAAO,QAAQ,mBAAmB,QAAQ,GAAG,IAAI,qBAAqB,YAAY,GAAG,MAAM,sBAAsB,mBAAmB,QAAQ,WAAW,qCAAqC,+GAA+G;AACxZ;AACA,SAAS,uBAAuB,QAAQ,oBAAoB;CAC3D,MAAM,gBAAgB,OAAO,OAAO,UAAU,CAAC,CAAC;CAChD,MAAM,wBAAwB,IAAI,IAAI,cAAc,KAAK,iBAAiB,CAAC,aAAa,QAAQ,aAAa,YAAY,CAAC,CAAC;CAC3H,MAAM,wBAAwB,IAAI,IAAI;CACtC,MAAM,WAAW,CAAC;CAClB,KAAK,MAAM,gBAAgB,eAAe,KAAK,MAAM,CAAC,WAAW,iBAAiB,OAAO,QAAQ,aAAa,QAAQ,GAAG;EACxH,IAAI,CAAC,qBAAqB,YAAY,GAAG;EACzC,MAAM,YAAY,aAAa;EAC/B,MAAM,SAAS,oBAAoB,cAAc,WAAW,WAAW,kBAAkB;EACzF,IAAI,WAAW,KAAK,GAAG;EACvB,IAAI,aAAa,YAAY,MAAM,sBAAsB,WAAW,WAAW,mCAAmC,4GAA4G;EAC9N,IAAI,aAAa,QAAQ,MAAM,sBAAsB,WAAW,WAAW,+BAA+B,sGAAsG;EAChN,IAAI,aAAa,WAAW,KAAK,GAAG;GACnC,MAAM,aAAa,aAAa,gBAAgB,sBAAsB,IAAI,aAAa,MAAM;GAC7F,MAAM,sBAAsB,WAAW,WAAW,gCAAgC,+BAA+B,UAAU,qBAAqB,aAAa,OAAO,+DAA+D,WAAW,sCAAsC;EACrR;EACA,MAAM,QAAQ,aAAa;EAC3B,IAAI,UAAU,KAAK,GAAG,MAAM,sBAAsB,WAAW,WAAW,wCAAwC,0IAA0I;EAC1P,MAAM,aAAa,aAAa,WAAW,YAAY;EACvD,MAAM,SAAS,KAAK,UAAU,CAAC,OAAO,UAAU,CAAC;EACjD,MAAM,YAAY,mBAAmB,MAAM;EAC3C,MAAM,WAAW,MAAM,IAAI,MAAM;EACjC,IAAI,aAAa,KAAK,GAAG;GACxB,IAAI,SAAS,cAAc,WAAW,MAAM,sBAAsB,WAAW,WAAW,8BAA8B,yCAAyC,SAAS,UAAU,GAAG,SAAS,UAAU,6CAA6C,MAAM,kDAAkD;GAC7S;EACD;EACA,MAAM,IAAI,QAAQ;GACjB;GACA;GACA;EACD,CAAC;EACD,SAAS,KAAK;GACb,KAAK;IACJ,WAAW;IACX;IACA,OAAO;GACR;GACA,GAAG;EACJ,CAAC;CACF;CACA,OAAO;AACR;AACA,SAAS,4BAA4B,YAAY;CAChD,sBAAsB,WAAW,QAAQ,WAAW,MAAM;CAC1D,0BAA0B,WAAW,QAAQ,WAAW,UAAU;CAClE,MAAM,cAAc,YAAY,WAAW,MAAM;CACjD,MAAM,oBAAoB,kBAAkB,WAAW,YAAY;CACnE,MAAM,QAAQ,WAAW,QAAQ,eAAe,WAAW,KAAK,IAAI,YAAY,WAAW,MAAM;CACjG,MAAM,eAAe,CAAC;CACtB,MAAM,cAAc,iBAAiB,WAAW,MAAM;CACtD,qCAAqC,WAAW,YAAY;CAC5D,MAAM,YAAY,sBAAsB;EACvC,QAAQ,WAAW,OAAO;EAC1B,cAAc,WAAW,OAAO;EAChC,UAAU,uBAAuB,WAAW,QAAQ,2BAA2B;GAC9E,WAAW;GACX,WAAW;GACX,GAAG,OAAO,OAAO,WAAW,cAAc,CAAC,CAAC;EAC7C,CAAC,CAAC;CACH,CAAC;CACD,MAAM,aAAa;EAClB,WAAW;EACX,WAAW;EACX,GAAG,OAAO,OAAO,WAAW,cAAc,CAAC,CAAC;CAC7C;CACA,MAAM,cAAc,mBAAmB,UAAU;CACjD,MAAM,UAAU;EACf;EACA,gBAAgB,kBAAkB,UAAU,CAAC,CAAC;CAC/C;CACA,2BAA2B,GAAG,uBAAuB;EACpD,QAAQ;EACR,cAAc;CACf,EAAE,GAAG,OAAO;CACZ,MAAM,aAAa,CAAC;CACpB,KAAK,MAAM,CAAC,UAAU,WAAW,OAAO,QAAQ,WAAW,SAAS,CAAC,CAAC,GAAG,WAAW,YAAY;EAC/F,SAAS,OAAO;EAChB,SAAS,sBAAsB,QAAQ,aAAa,WAAW;CAChE;CACA,MAAM,mBAAmB,iBAAiB,UAAU;CACpD,KAAK,MAAM,CAAC,UAAU,WAAW,OAAO,QAAQ,WAAW,SAAS,CAAC,CAAC,GAAG,IAAI,aAAa,OAAO,UAAU,MAAM,cAAc,yBAAyB,yBAAyB,SAAS,8BAA8B,OAAO,SAAS,gCAAgC,EAAE,MAAM;EAC/Q,UAAU,OAAO;EACjB,aAAa;EACb,QAAQ;CACT,EAAE,CAAC;CACH,MAAM,WAAW,OAAO,KAAK,UAAU,CAAC,CAAC,SAAS;CAClD,KAAK,MAAM,CAAC,WAAW,iBAAiB,OAAO,QAAQ,WAAW,UAAU,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,WAAW,iBAAiB,OAAO,QAAQ,aAAa,QAAQ,GAAG;EAC/J,MAAM,SAAS,aAAa;EAC5B,IAAI,UAAU,EAAE,OAAO,YAAY,aAAa,MAAM,cAAc,yBAAyB,UAAU,UAAU,WAAW,UAAU,qBAAqB,OAAO,SAAS,iEAAiE,EAAE,MAAM;GACnP;GACA;GACA,UAAU,OAAO;EAClB,EAAE,CAAC;CACJ;CACA,MAAM,kBAAkB;EACvB,aAAa,OAAO,YAAY,OAAO,QAAQ,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,gBAAgB,CAAC,MAAM,WAAW,OAAO,CAAC,CAAC;EACnH,sBAAsB,WAAW;CAClC;CACA,iCAAiC;EAChC,QAAQ;EACR,cAAc;EACd,OAAO;EACP;EACA;CACD,CAAC;CACD,MAAM,aAAa,2BAA2B;EAC7C,QAAQ;EACR;EACA,cAAc;EACd,WAAW;EACX;CACD,CAAC;CACD,MAAM,UAAU,kBAAkB;EACjC,aAAa,OAAO,YAAY,OAAO,QAAQ,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,gBAAgB,CAAC,MAAM;GAC9F,GAAG;GACH,GAAG,UAAU,aAAa,WAAW,KAAK;EAC3C,CAAC,CAAC,CAAC;EACH,WAAW;CACZ,CAAC;CACD,OAAO,UAAU;EAChB,QAAQ,WAAW,OAAO;EAC1B,cAAc,WAAW,OAAO;EAChC,GAAG,UAAU,wBAAwB,WAAW,oBAAoB;EACpE;EACA,QAAQ,EAAE,YAAY,GAAG,uBAAuB;GAC/C,QAAQ;GACR,GAAG,OAAO,KAAK,iBAAiB,CAAC,CAAC,SAAS,IAAI,EAAE,cAAc,kBAAkB,IAAI,CAAC;GACtF,GAAG,WAAW,EAAE,MAAM,WAAW,IAAI,CAAC;EACvC,EAAE,EAAE;EACJ;EACA;EACA,YAAY,WAAW,cAAc,CAAC;EACtC,aAAa,mBAAmB;GAC/B,QAAQ,WAAW,OAAO;GAC1B,cAAc,WAAW,OAAO;GAChC;EACD,CAAC;EACD,MAAM,CAAC;EACP,GAAG,UAAU,aAAa,SAAS;CACpC,CAAC;AACF;;AAEA,SAAS,mBAAmB,QAAQ,QAAQ,YAAY,SAAS;CAChE,MAAM,OAAO;EACZ,GAAG;EACH;EACA;CACD;CACA,IAAI,YAAY,KAAK,GAAG;EACvB,MAAM,QAAQ,QAAQ,6BAA6B,QAAQ,QAAQ,WAAW,UAAU,CAAC;EACzF,OAAO,4BAA4B;GAClC,GAAG;GACH,GAAG,UAAU,UAAU,MAAM,MAAM;GACnC,GAAG,UAAU,gBAAgB,MAAM,YAAY;GAC/C,GAAG,UAAU,SAAS,MAAM,KAAK;EAClC,CAAC;CACF;CACA,OAAO,4BAA4B,IAAI;AACxC;AACA,SAAS,eAAe,YAAY,SAAS;CAC5C,IAAI,CAAC,mBAAmB,UAAU,GAAG,MAAM,cAAc,6BAA6B,iIAAiI;CACvN,IAAI,YAAY,KAAK,GAAG,OAAO,mBAAmB,WAAW,QAAQ,WAAW,QAAQ,YAAY,OAAO;CAC3G,OAAO,mBAAmB,WAAW,QAAQ,WAAW,QAAQ,UAAU;AAC3E"}
|