@prisma/orm-family-sql 8.0.0-rc.18-dev.30 → 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/{ast-CBO3PEJF.mjs → ast-BJs2669T.mjs} +47 -12
- package/dist/ast-BJs2669T.mjs.map +1 -0
- package/dist/{ast-Cq7uhA86.d.mts → ast-DB7g9Mh2.d.mts} +29 -2
- package/dist/ast-DB7g9Mh2.d.mts.map +1 -0
- package/dist/builder.d.mts +1 -1
- package/dist/builder__runtime.d.mts +1 -1
- package/dist/builder__runtime.mjs +1 -1
- package/dist/builder__types.d.mts +1 -1
- package/dist/{config-types-vu5fTaRa.mjs → config-types-BkcCqeAg.mjs} +2 -2
- package/dist/{config-types-vu5fTaRa.mjs.map → config-types-BkcCqeAg.mjs.map} +1 -1
- package/dist/{contract-builder-DmX4XnJa.mjs → contract-builder-D3XaKpyw.mjs} +3 -3
- package/dist/{contract-builder-DmX4XnJa.mjs.map → contract-builder-D3XaKpyw.mjs.map} +1 -1
- package/dist/contract-prisma7__provider.mjs +6 -6
- package/dist/contract-psl.mjs +1 -1
- package/dist/contract-psl__attribute-specs.mjs +1 -1
- package/dist/contract-psl__diagnostics.mjs +1 -1
- package/dist/contract-psl__provider.mjs +2 -2
- package/dist/contract-ts.mjs +3 -3
- package/dist/contract-ts__config-types.mjs +1 -1
- package/dist/contract-ts__contract-builder.mjs +2 -2
- package/dist/contract.d.mts +3 -3
- package/dist/contract.mjs +6 -6
- package/dist/contract__data-type.d.mts +2 -2
- package/dist/contract__data-type.mjs +3 -3
- package/dist/contract__foreign-key-materialization.d.mts +1 -1
- package/dist/contract__foreign-key-materialization.mjs +2 -2
- package/dist/contract__validators.mjs +1 -1
- package/dist/{control-B8tb6SEt.d.mts → control-Db07JiRl.d.mts} +24 -7
- package/dist/control-Db07JiRl.d.mts.map +1 -0
- package/dist/{control-DNE-Chse.mjs → control-DbHnaxDE.mjs} +10 -9
- package/dist/control-DbHnaxDE.mjs.map +1 -0
- package/dist/{control-adapter-DhX77V61.mjs → control-adapter-BX5COBWO.mjs} +2 -2
- package/dist/{control-adapter-DhX77V61.mjs.map → control-adapter-BX5COBWO.mjs.map} +1 -1
- package/dist/{control-adapter-Bn0uhplA-rhq_JtYp.d.mts → control-adapter-Bn0uhplA-BnsQY8_q.d.mts} +4 -4
- package/dist/{control-adapter-Bn0uhplA-rhq_JtYp.d.mts.map → control-adapter-Bn0uhplA-BnsQY8_q.d.mts.map} +1 -1
- package/dist/{control-adapter-RwLtGiwa.d.mts → control-adapter-DgxEVzhZ.d.mts} +4 -4
- package/dist/{control-adapter-RwLtGiwa.d.mts.map → control-adapter-DgxEVzhZ.d.mts.map} +1 -1
- package/dist/{data-type-C84xngfv.d.mts → data-type-DMk-fLAZ.d.mts} +38 -8
- package/dist/data-type-DMk-fLAZ.d.mts.map +1 -0
- package/dist/data-type-HNhSslwG.mjs +67 -0
- package/dist/data-type-HNhSslwG.mjs.map +1 -0
- package/dist/{db-BmrN9nRS-BzK96yVh.d.mts → db-BmrN9nRS-BGnRxI7X.d.mts} +2 -2
- package/dist/{db-BmrN9nRS-BzK96yVh.d.mts.map → db-BmrN9nRS-BGnRxI7X.d.mts.map} +1 -1
- package/dist/{derived-checks-CdPHpJSv-B7Bgj3Ao.mjs → derived-checks-B1qNxwBL-DFoGexId.mjs} +17 -5
- package/dist/derived-checks-B1qNxwBL-DFoGexId.mjs.map +1 -0
- package/dist/{diagnostics-C8YevjSU.mjs → diagnostics-xqFRhSin.mjs} +2 -2
- package/dist/{diagnostics-C8YevjSU.mjs.map → diagnostics-xqFRhSin.mjs.map} +1 -1
- package/dist/{diff-B9Z47nHf.d.mts → diff-BN_3K9lv.d.mts} +5 -5
- package/dist/{diff-B9Z47nHf.d.mts.map → diff-BN_3K9lv.d.mts.map} +1 -1
- package/dist/family.d.mts +10 -10
- package/dist/family.mjs +8 -8
- package/dist/family__control-adapter.d.mts +2 -2
- package/dist/family__control-adapter.mjs +1 -1
- package/dist/family__control.d.mts +3 -3
- package/dist/family__control.mjs +3 -3
- package/dist/family__diff.d.mts +1 -1
- package/dist/family__diff.mjs +1 -1
- package/dist/family__ir.mjs +1 -1
- package/dist/family__migration.d.mts +1 -1
- package/dist/family__pack.d.mts +1 -1
- package/dist/family__pack.mjs +2 -2
- package/dist/family__pack.mjs.map +1 -1
- package/dist/family__psl-build.d.mts +1 -1
- package/dist/family__psl-build.mjs +1 -1
- package/dist/family__psl-infer.d.mts +1 -1
- package/dist/family__psl-infer.mjs +1 -1
- package/dist/{foreign-key-materialization-C_FPLzj3.mjs → foreign-key-materialization-BPQqd0qF.mjs} +2 -2
- package/dist/{foreign-key-materialization-C_FPLzj3.mjs.map → foreign-key-materialization-BPQqd0qF.mjs.map} +1 -1
- package/dist/{foreign-key-materialization-3vQnPT_D.d.mts → foreign-key-materialization-bL-t2oPB.d.mts} +3 -3
- package/dist/{foreign-key-materialization-3vQnPT_D.d.mts.map → foreign-key-materialization-bL-t2oPB.d.mts.map} +1 -1
- package/dist/{generator-functions-B4gRRYZB-BTtC2KQz.mjs → generator-functions-BoE7Lc9d-MgcgdnPZ.mjs} +37 -20
- package/dist/generator-functions-BoE7Lc9d-MgcgdnPZ.mjs.map +1 -0
- package/dist/{index-B0hZw3uT.d.mts → index-Bw9Y19Js.d.mts} +3 -3
- package/dist/{index-B0hZw3uT.d.mts.map → index-Bw9Y19Js.d.mts.map} +1 -1
- package/dist/{index-equivalence-DswCiq5l-C6SAs-Yz.mjs → index-equivalence-DswCiq5l-D5VK0qTy.mjs} +2 -2
- package/dist/{index-equivalence-DswCiq5l-C6SAs-Yz.mjs.map → index-equivalence-DswCiq5l-D5VK0qTy.mjs.map} +1 -1
- package/dist/{interpreter-Bk0xpelv-BifV9Yib.mjs → interpreter-Bk0xpelv-4laiO5dH.mjs} +4 -4
- package/dist/{interpreter-Bk0xpelv-BifV9Yib.mjs.map → interpreter-Bk0xpelv-4laiO5dH.mjs.map} +1 -1
- package/dist/{migration-CSv3UpiC.d.mts → migration-go6YP7-v.d.mts} +2 -2
- package/dist/{migration-CSv3UpiC.d.mts.map → migration-go6YP7-v.d.mts.map} +1 -1
- package/dist/orm-client.d.mts +3 -3
- package/dist/orm-client.mjs +1 -1
- package/dist/{pack-COEyiyfL.d.mts → pack-DXEOdHaM.d.mts} +18 -1
- package/dist/pack-DXEOdHaM.d.mts.map +1 -0
- package/dist/{psl-build-BkxAXTwj.mjs → psl-build-BYqCjsqi.mjs} +4 -4
- package/dist/psl-build-BYqCjsqi.mjs.map +1 -0
- package/dist/{psl-build-O7_tXQ1E.d.mts → psl-build-C41KHJL_.d.mts} +4 -4
- package/dist/{psl-build-O7_tXQ1E.d.mts.map → psl-build-C41KHJL_.d.mts.map} +1 -1
- package/dist/{psl-field-resolution-BET6wtHZ-CX2xL99Q.mjs → psl-field-resolution-BET6wtHZ-C_hO6YE1.mjs} +3 -3
- package/dist/{psl-field-resolution-BET6wtHZ-CX2xL99Q.mjs.map → psl-field-resolution-BET6wtHZ-C_hO6YE1.mjs.map} +1 -1
- package/dist/{psl-infer-I75woGr4.d.mts → psl-infer-CALmBIqX.d.mts} +3 -3
- package/dist/{psl-infer-I75woGr4.d.mts.map → psl-infer-CALmBIqX.d.mts.map} +1 -1
- package/dist/{psl-infer-Bz34csvN.mjs → psl-infer-CaEnF_x3.mjs} +2 -2
- package/dist/{psl-infer-Bz34csvN.mjs.map → psl-infer-CaEnF_x3.mjs.map} +1 -1
- package/dist/relational-core.d.mts +2 -2
- package/dist/relational-core.mjs +2 -2
- package/dist/relational-core__ast.d.mts +2 -2
- package/dist/relational-core__ast.mjs +2 -2
- package/dist/runtime.d.mts +3 -3
- package/dist/runtime__internal__prepared-query.d.mts +1 -1
- package/dist/{schema-differ-DmP74bB8-CIQ17HTk.d.mts → schema-differ-DmP74bB8-BfEQ_9cY.d.mts} +3 -3
- package/dist/{schema-differ-DmP74bB8-CIQ17HTk.d.mts.map → schema-differ-DmP74bB8-BfEQ_9cY.d.mts.map} +1 -1
- package/dist/schema-ir.d.mts +1 -1
- package/dist/schema-ir.mjs +1 -1
- package/dist/schema-ir__types.d.mts +2 -2
- package/dist/schema-ir__types.mjs +1 -1
- package/dist/{schema-verify-BwRdzbHb-nDeE75xa.mjs → schema-verify-BwRdzbHb-BzdgK4xv.mjs} +2 -2
- package/dist/{schema-verify-BwRdzbHb-nDeE75xa.mjs.map → schema-verify-BwRdzbHb-BzdgK4xv.mjs.map} +1 -1
- package/dist/{sql-contract-serializer-sMY3prTx-BT6HdXAE.mjs → sql-contract-serializer-sMY3prTx-D-xfnqyD.mjs} +2 -2
- package/dist/{sql-contract-serializer-sMY3prTx-BT6HdXAE.mjs.map → sql-contract-serializer-sMY3prTx-D-xfnqyD.mjs.map} +1 -1
- package/dist/{sql-data-type-BSi0X331-OXbBFXDh.mjs → sql-data-type-D5cI3M07-DIcPP8s1.mjs} +26 -9
- package/dist/sql-data-type-D5cI3M07-DIcPP8s1.mjs.map +1 -0
- package/dist/{transaction-state-DR3nKTmH-DbyhuL-z.d.mts → transaction-state-DR3nKTmH-D_pb9QgR.d.mts} +2 -2
- package/dist/{transaction-state-DR3nKTmH-DbyhuL-z.d.mts.map → transaction-state-DR3nKTmH-D_pb9QgR.d.mts.map} +1 -1
- package/dist/types-D_nlUp-1.d.mts +1 -0
- package/dist/{types-B3AHHPDh-BHh-89fY.d.mts → types-DiD6BqoN-ZF53hwPp.d.mts} +11 -3
- package/dist/types-DiD6BqoN-ZF53hwPp.d.mts.map +1 -0
- package/dist/{types-DlFdMaDJ-DekbNgDh.d.mts → types-DlFdMaDJ-BEDwj-Qv.d.mts} +4 -4
- package/dist/{types-DlFdMaDJ-DekbNgDh.d.mts.map → types-DlFdMaDJ-BEDwj-Qv.d.mts.map} +1 -1
- package/dist/{types-egs_vme1-DRhYFwIT.mjs → types-DoyiTsjg-DDTmYyNY.mjs} +22 -2
- package/dist/types-DoyiTsjg-DDTmYyNY.mjs.map +1 -0
- package/dist/{validators-BCRydDG7.mjs → validators-BlONfdFH.mjs} +3 -3
- package/dist/{validators-BCRydDG7.mjs.map → validators-BlONfdFH.mjs.map} +1 -1
- package/package.json +18 -18
- package/dist/ast-CBO3PEJF.mjs.map +0 -1
- package/dist/ast-Cq7uhA86.d.mts.map +0 -1
- package/dist/control-B8tb6SEt.d.mts.map +0 -1
- package/dist/control-DNE-Chse.mjs.map +0 -1
- package/dist/data-type-C84xngfv.d.mts.map +0 -1
- package/dist/data-type-DKk8Unnz.mjs +0 -20
- package/dist/data-type-DKk8Unnz.mjs.map +0 -1
- package/dist/derived-checks-CdPHpJSv-B7Bgj3Ao.mjs.map +0 -1
- package/dist/generator-functions-B4gRRYZB-BTtC2KQz.mjs.map +0 -1
- package/dist/pack-COEyiyfL.d.mts.map +0 -1
- package/dist/psl-build-BkxAXTwj.mjs.map +0 -1
- package/dist/sql-data-type-BSi0X331-OXbBFXDh.mjs.map +0 -1
- package/dist/types-B3AHHPDh-BHh-89fY.d.mts.map +0 -1
- package/dist/types-BGERR8XF.d.mts +0 -1
- package/dist/types-egs_vme1-DRhYFwIT.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"derived-checks-CdPHpJSv-B7Bgj3Ao.mjs","names":[],"sources":["../../../../2-sql/2-authoring/contract-ts/dist/derived-checks-CdPHpJSv.mjs"],"sourcesContent":["import { encodeEnumTypeMembers, resolveToOneRelationNullable } from \"@internal/contract-authoring\";\nimport { flushAuthoringWarnings, isAuthoringEntityTypeDescriptor } from \"@internal/framework-components/authoring\";\nimport { mergeCapabilityMatrices } from \"@internal/framework-components/components\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { CheckConstraint, Index, SqlStorage, StorageTable, applyFkDefaults, checkConstraintInputFromSerialized, isMaterializedSqlNamespace, resolvedTypeParams, toStorageTypeInstance } from \"@internal/sql-contract/types\";\nimport { isStructuredError, structuredError } from \"@internal/utils/structured-error\";\nimport { asNamespaceId, coreHash, crossRef, effectiveControlPolicy } from \"@internal/contract/types\";\nimport { validateStorageSemantics } from \"@internal/sql-contract/validators\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { buildExecutionSection, computeProfileHash, computeStorageHash } from \"@internal/contract/hashing\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { sqlContractCanonicalizationHooks } from \"@internal/sql-contract/canonicalization-hooks\";\nimport { sqlDataTypeOfCodec, validateSqlTypeParams } from \"@internal/sql-contract/data-type\";\nimport { validateIndexTypes } from \"@internal/sql-contract/index-type-validation\";\nimport { indexTypeRegistryOf } from \"@internal/sql-contract/index-types\";\nimport { invariant } from \"@internal/utils/assertions\";\nimport { compareCodeUnits } from \"@internal/contract/hashing-utils\";\nimport { lowerAuthoredCheck } from \"@internal/sql-contract/authored-check-naming\";\nimport { materializeForeignKeysAndIndexes } from \"@internal/sql-contract/foreign-key-materialization\";\nimport { lowerAuthoredIndex } from \"@internal/sql-contract/index-naming\";\nimport { composeCheckWirePrefix, computeCheckContentHash, derivedCheckPrefixes } from \"@internal/sql-schema-ir/naming\";\nimport { codecForRef, dataTypeParams } from \"@internal/framework-components/codec\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { tableEntityKind, valueSetEntityKind } from \"@internal/sql-contract/entity-kinds\";\nimport { deriveValueSetFromEntity } from \"@internal/sql-contract/value-set-derivation-hook\";\nimport { applySpecifierDefaultControlPolicy } from \"@internal/contract/apply-specifier-default-control-policy\";\n//#region src/contract-errors.ts\nfunction contractError(code, message, options) {\n\treturn structuredError(code, message, options);\n}\n//#endregion\n//#region src/contract-definition.ts\n/**\n* Whether a field is stored in a list column. A list of scalars is; a list of value objects is not, because it is stored in one column whose value is the whole list, as one JSON array.\n*/\nfunction storedAsListColumn(field) {\n\treturn field.list && !field.typedByValueObject;\n}\n/** Whether a field or member is typed by a value object. */\nfunction isValueObjectMember(field) {\n\treturn \"valueObjectName\" in field;\n}\n//#endregion\n//#region src/describe-column.ts\n/** Describes one column, declared by a model's field or by a table node. */\nfunction describeColumn(column, site) {\n\treturn {\n\t\tcolumnName: column.columnName,\n\t\tdescriptor: column.descriptor,\n\t\tnullable: column.nullable,\n\t\tmany: column.many === true ? { elementNullable: column.elementNullable === true } : false,\n\t\tdefault: column.default,\n\t\tenumTypeHandle: column.enumTypeHandle,\n\t\tsite\n\t};\n}\n//#endregion\n//#region src/enum-members.ts\n/**\n* The member values a membership check must enforce, encoded exactly as the\n* column stores them. Membership predicates support strings and finite numbers.\n*/\nfunction checkMemberValues(handle, codecLookup) {\n\tconst encoded = encodeEnumTypeMembers(handle, codecLookup, \"the column\").map((member) => member.value);\n\tconst values = [];\n\tfor (const value of encoded) {\n\t\tif (typeof value !== \"string\" && !(typeof value === \"number\" && Number.isFinite(value))) throw contractError(\"CONTRACT.ENUM_INVALID\", `enumType(\"${handle.enumName}\"): CHECK constraint members must encode to strings or finite numbers.`, { meta: {\n\t\t\tenumName: handle.enumName,\n\t\t\treason: \"unsupported-member-value\"\n\t\t} });\n\t\tvalues.push(value);\n\t}\n\treturn values;\n}\n/**\n* The refs of a field typed by an authored enum: the domain enum and its storage value set. Authored enums are registered in the default namespace, whatever namespace the field's model is in.\n*/\nfunction enumValueSetRefs(enumHandle, defaultNamespaceId) {\n\tif (enumHandle === void 0) return void 0;\n\tconst common = {\n\t\tnamespaceId: defaultNamespaceId,\n\t\tentityName: enumHandle.enumName\n\t};\n\treturn {\n\t\tdomain: {\n\t\t\tplane: \"domain\",\n\t\t\tentityKind: \"enum\",\n\t\t\t...common\n\t\t},\n\t\tstorage: {\n\t\t\tplane: \"storage\",\n\t\t\tentityKind: \"valueSet\",\n\t\t\t...common\n\t\t}\n\t};\n}\n//#endregion\n//#region src/domain-fields.ts\nfunction buildDomainField(field, defaultNamespaceId, storageTypes) {\n\tif (isValueObjectMember(field)) return {\n\t\ttype: {\n\t\t\tkind: \"valueObject\",\n\t\t\tname: field.valueObjectName\n\t\t},\n\t\tnullable: field.nullable,\n\t\tmany: field.many ? { elementNullable: field.elementNullable === true } : false\n\t};\n\treturn {\n\t\ttype: {\n\t\t\tkind: \"scalar\",\n\t\t\tcodecId: field.descriptor.codecId,\n\t\t\t...ifDefined(\"typeParams\", resolvedTypeParams(field.descriptor, storageTypes))\n\t\t},\n\t\tnullable: field.nullable,\n\t\tmany: field.many ? { elementNullable: field.elementNullable === true } : false,\n\t\t...ifDefined(\"valueSet\", enumValueSetRefs(field.enumTypeHandle, defaultNamespaceId)?.domain)\n\t};\n}\n//#endregion\n//#region src/declaration-sites.ts\n/** How an error message names the column: `Field \"Model.field\"` or `Column \"table.column\"`. */\nfunction columnSiteSubject(site) {\n\treturn site.kind === \"field\" ? `Field \"${site.modelName}.${site.fieldName}\"` : `Column \"${site.tableName}.${site.columnName}\"`;\n}\n/** The error metadata that locates the column. */\nfunction columnSiteMeta(site) {\n\treturn site.kind === \"field\" ? {\n\t\tmodelName: site.modelName,\n\t\tfieldName: site.fieldName\n\t} : {\n\t\tnamespaceId: site.namespaceId,\n\t\ttableName: site.tableName,\n\t\tcolumnName: site.columnName\n\t};\n}\n/** How an error message names the owner: `model \"User\"` or `table \"audit_rows\" in namespace \"public\"`. */\nfunction referenceOwnerSubject(owner) {\n\treturn owner.kind === \"model\" ? `model \"${owner.modelName}\"` : `table \"${owner.tableName}\" in namespace \"${owner.namespaceId}\"`;\n}\n/** The error metadata that locates the owner. */\nfunction referenceOwnerMeta(owner) {\n\treturn owner.kind === \"model\" ? { sourceModel: owner.modelName } : {\n\t\tsourceTable: owner.tableName,\n\t\tsourceNamespaceId: owner.namespaceId\n\t};\n}\n//#endregion\n//#region src/namespace-id.ts\n/** A declared namespace coordinate, where an omitted or empty one means the target's default namespace. */\nfunction namespaceIdOrDefault(namespaceId, defaultNamespaceId) {\n\treturn namespaceId !== void 0 && namespaceId.length > 0 ? namespaceId : defaultNamespaceId;\n}\n//#endregion\n//#region src/model-references.ts\nfunction assertKnownTargetModel(modelsByName, modelsByCoordinate, owner, targetModelName, targetNamespaceId, context) {\n\tconst targetModel = targetNamespaceId !== void 0 && targetNamespaceId.length > 0 ? modelsByCoordinate.get(`${targetNamespaceId}:${targetModelName}`) : modelsByName.get(targetModelName);\n\tif (!targetModel) {\n\t\tconst qualified = targetNamespaceId !== void 0 && targetNamespaceId.length > 0 ? `${targetNamespaceId}.${targetModelName}` : targetModelName;\n\t\tthrow contractError(\"CONTRACT.MODEL_UNKNOWN\", `${context} on ${referenceOwnerSubject(owner)} references unknown model \"${qualified}\"`, { meta: {\n\t\t\t...referenceOwnerMeta(owner),\n\t\t\ttargetModel: qualified,\n\t\t\tcontext\n\t\t} });\n\t}\n\treturn targetModel;\n}\nfunction assertTargetTableMatches(owner, targetModel, referencedTableName, context) {\n\tif (targetModel.tableName !== referencedTableName) throw contractError(\"CONTRACT.TABLE_MISMATCH\", `${context} on ${referenceOwnerSubject(owner)} references table \"${referencedTableName}\" but model \"${targetModel.modelName}\" maps to \"${targetModel.tableName}\"`, { meta: {\n\t\t...referenceOwnerMeta(owner),\n\t\treferencedTable: referencedTableName,\n\t\tmappedTable: targetModel.tableName,\n\t\tcontext\n\t} });\n}\nfunction modelNamespaceId(model, defaultNamespaceId) {\n\treturn namespaceIdOrDefault(model.namespaceId, defaultNamespaceId);\n}\nfunction modelLookupsOf(definition) {\n\tconst defaultNamespaceId = definition.target.defaultNamespaceId;\n\tconst { models } = definition;\n\treturn {\n\t\tdefaultNamespaceId,\n\t\tmodelsByName: new Map(models.map((m) => [m.modelName, m])),\n\t\tmodelsByCoordinate: new Map(models.map((m) => [`${modelNamespaceId(m, defaultNamespaceId)}:${m.modelName}`, m])),\n\t\ttableNamespaceByName: new Map(models.map((m) => [m.tableName, modelNamespaceId(m, defaultNamespaceId)]))\n\t};\n}\n//#endregion\n//#region src/to-one-nullability-message.ts\nfunction toOneNullabilityContradictionMessage(location, contradiction) {\n\treturn 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`;\n}\n//#endregion\n//#region src/model-relations.ts\nfunction toOneRelationNullable(semanticModel, relation) {\n\tconst location = `Relation \"${semanticModel.modelName}.${relation.fieldName}\"`;\n\tif (relation.nullable === void 0) throw contractError(\"CONTRACT.RELATION_INVALID\", `${location} with cardinality \"${relation.cardinality}\" must state whether it is nullable`, { meta: {\n\t\tmodelName: semanticModel.modelName,\n\t\trelationName: relation.fieldName,\n\t\treason: \"to-one-nullability-missing\"\n\t} });\n\tconst localColumns = relation.on.parentColumns;\n\tconst { contradiction } = resolveToOneRelationNullable({\n\t\tdeclaredNullable: relation.nullable,\n\t\tlocalFieldNullability: semanticModel.fields.filter((field) => localColumns.includes(field.columnName)).map((field) => field.nullable),\n\t\townsReference: relation.cardinality === \"N:1\"\n\t});\n\tif (contradiction !== void 0) throw contractError(\"CONTRACT.RELATION_INVALID\", relation.cardinality === \"N:1\" ? toOneNullabilityContradictionMessage(location, contradiction) : `${location} is required but does not own the foreign key, so nothing in storage guarantees the related row exists`, { meta: {\n\t\tmodelName: semanticModel.modelName,\n\t\trelationName: relation.fieldName,\n\t\treason: \"to-one-nullability-mismatch\"\n\t} });\n\treturn relation.nullable;\n}\nfunction buildThroughDescriptor(through, tableNamespaceByName, targetModel, modelName, fieldName, defaultNamespaceId) {\n\tif (!tableNamespaceByName.has(through.table)) throw contractError(\"CONTRACT.MODEL_UNKNOWN\", `buildSqlContractFromDefinition: junction table \"${through.table}\" for relation \"${modelName}.${fieldName}\" is not a declared model.`, { meta: {\n\t\tsourceModel: modelName,\n\t\trelationName: fieldName,\n\t\tjunctionTable: through.table\n\t} });\n\tconst namespaceId = through.namespaceId ?? defaultNamespaceId;\n\treturn {\n\t\ttable: through.table,\n\t\tnamespaceId,\n\t\tparentColumns: through.parentColumns,\n\t\tchildColumns: through.childColumns,\n\t\ttargetColumns: targetColumnsForJunction(targetModel, fieldName)\n\t};\n}\nfunction targetColumnsForJunction(targetModel, fieldName) {\n\tconst primaryKeyColumns = targetModel.id?.columns;\n\tif (primaryKeyColumns && primaryKeyColumns.length > 0) return primaryKeyColumns;\n\tconst firstUnique = targetModel.uniques?.find((u) => u.columns.length > 0);\n\tif (firstUnique) return firstUnique.columns;\n\tthrow contractError(\"CONTRACT.IDENTITY_INVALID\", `M:N target model \"${targetModel.modelName}\" (relation field \"${fieldName}\") has no primary id or unique key to derive junction targetColumns.`, { meta: {\n\t\tmodelName: targetModel.modelName,\n\t\treason: \"no-key-for-junction-target-columns\"\n\t} });\n}\n/** The field of `model` that maps a relation's join column. A relation joins on fields, so a column no field maps is refused. */\nfunction joinFieldOf(owner, relation, model, columnToField, column) {\n\tconst field = columnToField.get(column);\n\tif (field !== void 0) return field;\n\tthrow contractError(\"CONTRACT.RELATION_INVALID\", `Relation \"${owner.modelName}.${relation.fieldName}\" joins on column \"${column}\" of table \"${model.tableName}\", which no field of model \"${model.modelName}\" maps. A relation joins on fields; declare a field for the column.`, { meta: {\n\t\tmodelName: owner.modelName,\n\t\trelationName: relation.fieldName,\n\t\tcolumn,\n\t\treason: \"join-column-not-a-field\"\n\t} });\n}\n/** Lowers a model's relations. `columnToField` maps the model's columns to the fields that hold them. */\nfunction lowerRelations(semanticModel, columnToField, lookups) {\n\tconst { defaultNamespaceId } = lookups;\n\tconst modelRelations = {};\n\tfor (const relation of semanticModel.relations ?? []) {\n\t\tif (relation.spaceId !== void 0) {\n\t\t\tconst targetNamespaceId = relation.namespaceId ?? defaultNamespaceId;\n\t\t\tconst localFields = relation.on.parentColumns.map((col) => joinFieldOf(semanticModel, relation, semanticModel, columnToField, col));\n\t\t\tmodelRelations[relation.fieldName] = {\n\t\t\t\tto: crossRef(relation.toModel, targetNamespaceId, relation.spaceId),\n\t\t\t\tcardinality: \"N:1\",\n\t\t\t\tnullable: toOneRelationNullable(semanticModel, relation),\n\t\t\t\ton: {\n\t\t\t\t\tlocalFields,\n\t\t\t\t\ttargetFields: relation.on.childColumns\n\t\t\t\t}\n\t\t\t};\n\t\t\tcontinue;\n\t\t}\n\t\tconst owner = {\n\t\t\tkind: \"model\",\n\t\t\tmodelName: semanticModel.modelName\n\t\t};\n\t\tconst targetModel = assertKnownTargetModel(lookups.modelsByName, lookups.modelsByCoordinate, owner, relation.toModel, relation.toNamespaceId, \"Relation\");\n\t\tinvariant(relation.toTable !== void 0, `Relation \"${semanticModel.modelName}.${relation.fieldName}\" is local but carries no target table; only cross-space relations may leave it unset.`);\n\t\tassertTargetTableMatches(owner, targetModel, relation.toTable, \"Relation\");\n\t\tconst targetColumnToField = new Map(targetModel.fields.map((f) => [f.columnName, f.fieldName]));\n\t\tconst to = crossRef(relation.toModel, relation.toNamespaceId !== void 0 && relation.toNamespaceId.length > 0 ? relation.toNamespaceId : modelNamespaceId(targetModel, defaultNamespaceId));\n\t\tconst joinField = (model, fields, column) => joinFieldOf(semanticModel, relation, model, fields, column);\n\t\tconst on = {\n\t\t\tlocalFields: relation.on.parentColumns.map((col) => joinField(semanticModel, columnToField, col)),\n\t\t\ttargetFields: relation.through !== void 0 ? [...relation.on.childColumns] : relation.on.childColumns.map((col) => joinField(targetModel, targetColumnToField, col))\n\t\t};\n\t\tif (relation.cardinality === \"N:M\") {\n\t\t\tif (!relation.through) throw contractError(\"CONTRACT.RELATION_INVALID\", `Relation \"${semanticModel.modelName}.${relation.fieldName}\" with cardinality \"N:M\" requires through metadata`, { meta: {\n\t\t\t\tmodelName: semanticModel.modelName,\n\t\t\t\trelationName: relation.fieldName,\n\t\t\t\treason: \"many-to-many-missing-through\"\n\t\t\t} });\n\t\t\tmodelRelations[relation.fieldName] = {\n\t\t\t\tto,\n\t\t\t\tcardinality: \"N:M\",\n\t\t\t\ton,\n\t\t\t\tthrough: buildThroughDescriptor(relation.through, lookups.tableNamespaceByName, targetModel, semanticModel.modelName, relation.fieldName, defaultNamespaceId)\n\t\t\t};\n\t\t} else if (relation.cardinality === \"1:N\") modelRelations[relation.fieldName] = {\n\t\t\tto,\n\t\t\tcardinality: \"1:N\",\n\t\t\ton\n\t\t};\n\t\telse modelRelations[relation.fieldName] = {\n\t\t\tto,\n\t\t\tcardinality: relation.cardinality,\n\t\t\tnullable: toOneRelationNullable(semanticModel, relation),\n\t\t\ton\n\t\t};\n\t}\n\treturn modelRelations;\n}\n//#endregion\n//#region src/storage-description.ts\n/** The key of a table among all tables of a contract: its namespace and its name. */\nfunction tableKey(namespaceId, tableName) {\n\treturn JSON.stringify([namespaceId, tableName]);\n}\n//#endregion\n//#region src/resolve-foreign-key.ts\n/** Resolves a foreign key's target. A cross-space key keeps its foreign space; a local key names either a model of this definition and that model's table, or a table a model or table node declares. */\nfunction resolveForeignKey(fk, sourceTable, context) {\n\tconst source = {\n\t\tnamespaceId: asNamespaceId(sourceTable.namespaceId),\n\t\ttableName: sourceTable.tableName,\n\t\tcolumns: fk.columns\n\t};\n\tconst options = {\n\t\t...applyFkDefaults({\n\t\t\t...ifDefined(\"constraint\", fk.constraint),\n\t\t\t...ifDefined(\"index\", fk.index)\n\t\t}, context.foreignKeyDefaults),\n\t\t...ifDefined(\"name\", fk.name),\n\t\t...ifDefined(\"onDelete\", fk.onDelete),\n\t\t...ifDefined(\"onUpdate\", fk.onUpdate)\n\t};\n\tif (fk.references.spaceId !== void 0) return {\n\t\tsource,\n\t\ttarget: {\n\t\t\tnamespaceId: asNamespaceId(fk.references.namespaceId ?? context.defaultNamespaceId),\n\t\t\ttableName: fk.references.table,\n\t\t\tcolumns: fk.references.columns,\n\t\t\tspaceId: fk.references.spaceId\n\t\t},\n\t\t...options\n\t};\n\tconst { references } = fk;\n\tif (references.model === void 0) {\n\t\tconst namespaceId = namespaceIdOrDefault(references.namespaceId, context.defaultNamespaceId);\n\t\tif (!context.declaredTables.has(tableKey(namespaceId, references.table))) throw contractError(\"CONTRACT.TABLE_UNKNOWN\", `Foreign key on ${referenceOwnerSubject(sourceTable.owner)} references table \"${references.table}\" in namespace \"${namespaceId}\", which no model or table node declares. Declare the table with a model or a table node, or correct the name.`, { meta: {\n\t\t\t...referenceOwnerMeta(sourceTable.owner),\n\t\t\treferencedTable: references.table,\n\t\t\tnamespaceId\n\t\t} });\n\t\treturn {\n\t\t\tsource,\n\t\t\ttarget: {\n\t\t\t\tnamespaceId: asNamespaceId(namespaceId),\n\t\t\t\ttableName: references.table,\n\t\t\t\tcolumns: references.columns\n\t\t\t},\n\t\t\t...options\n\t\t};\n\t}\n\tconst targetModel = assertKnownTargetModel(context.modelsByName, context.modelsByCoordinate, sourceTable.owner, references.model, fk.references.namespaceId, \"Foreign key\");\n\tassertTargetTableMatches(sourceTable.owner, targetModel, fk.references.table, \"Foreign key\");\n\treturn {\n\t\tsource,\n\t\ttarget: {\n\t\t\tnamespaceId: asNamespaceId(namespaceIdOrDefault(fk.references.namespaceId, modelNamespaceId(targetModel, context.defaultNamespaceId))),\n\t\t\ttableName: fk.references.table,\n\t\t\tcolumns: fk.references.columns\n\t\t},\n\t\t...options\n\t};\n}\n//#endregion\n//#region src/target-authoring-hooks.ts\n/**\n* Resolves a deferred entity-ref column descriptor (e.g. a `pg.enum(handle)`\n* column) against the field's now-known owning namespace: attaches the\n* storage `valueSet` ref the collected entity's derived value-set is stored\n* under. `typeParams.typeName` stays bare here — schema\n* qualification (e.g. `auth.aal_level`) is a target concern applied in the\n* next step, `qualifyColumnDescriptor`. A descriptor with no `entityRef` (the\n* ordinary case) passes through unchanged.\n*/\nfunction resolveEntityRefDescriptor(descriptor, namespaceId) {\n\tconst entityRef = descriptor.entityRef;\n\tif (entityRef === void 0) return descriptor;\n\treturn {\n\t\t...descriptor,\n\t\tvalueSet: {\n\t\t\tplane: \"storage\",\n\t\t\tentityKind: \"valueSet\",\n\t\t\tnamespaceId,\n\t\t\tentityName: entityRef.entityName\n\t\t}\n\t};\n}\n/**\n* Structural check for a target that contributes a `qualifyColumnType` hook\n* on its authoring contributions. Duck-typed (mirroring\n* `contract-psl`'s `hasColumnFromEntityHook`) so the SQL family stays blind\n* to the target's qualification logic and no framework/family interface has\n* to name the hook.\n*/\nfunction hasColumnTypeQualifier(authoring) {\n\treturn \"qualifyColumnType\" in authoring && typeof authoring.qualifyColumnType === \"function\";\n}\n/**\n* Structural check for a target that contributes a `renderCheckExpressions`\n* hook, duck-typed for the same reason {@link hasColumnTypeQualifier} is: the\n* SQL family stays blind to the target's predicate syntax.\n*/\nfunction hasCheckExpressionRenderer(authoring) {\n\treturn \"renderCheckExpressions\" in authoring && typeof authoring.renderCheckExpressions === \"function\";\n}\nfunction resolveCheckExpressionRenderer(target) {\n\tconst authoring = target.authoring;\n\tif (authoring === void 0) return void 0;\n\treturn hasCheckExpressionRenderer(authoring) ? authoring.renderCheckExpressions : void 0;\n}\nfunction resolveColumnTypeQualifier(target) {\n\tconst authoring = target.authoring;\n\tif (authoring === void 0) return void 0;\n\treturn hasColumnTypeQualifier(authoring) ? authoring.qualifyColumnType : void 0;\n}\n/**\n* Applies the target's `qualifyColumnType` hook to a scalar column descriptor.\n* A descriptor whose codec the target leaves unchanged passes through untouched.\n*/\nfunction qualifyColumnDescriptor(descriptor, namespaceId, qualify) {\n\tif (qualify === void 0) return descriptor;\n\tconst qualified = qualify({\n\t\tcodecId: descriptor.codecId,\n\t\t...ifDefined(\"typeParams\", descriptor.typeParams)\n\t}, namespaceId);\n\tif (qualified.typeParams === descriptor.typeParams) return descriptor;\n\treturn {\n\t\t...descriptor,\n\t\t...ifDefined(\"typeParams\", qualified.typeParams)\n\t};\n}\n/**\n* A column's descriptor as its namespace makes it: a deferred entity ref gets its storage value set, and the target's `qualifyColumnType` hook qualifies the type for the namespace.\n*/\nfunction resolveColumnDescriptor(descriptor, namespaceId, qualify) {\n\tconst resolved = resolveEntityRefDescriptor(descriptor, namespaceId);\n\treturn qualifyColumnDescriptor(resolved, resolved.valueSet?.namespaceId ?? namespaceId, qualify);\n}\n//#endregion\n//#region src/describe-model.ts\n/**\n* Converts one model into the storage it implies and its domain model. Other models are read only to resolve the references this one makes to them.\n*/\nfunction describeModel(model, context) {\n\tconst namespaceId = modelNamespaceId(model, context.defaultNamespaceId);\n\tconst { tableName } = model;\n\tconst fieldToColumn = {};\n\tconst domainFields = {};\n\tconst executionDefaults = [];\n\tfor (const field of model.fields) {\n\t\tconst executionDefault = executionDefaultOf(field);\n\t\tfieldToColumn[field.fieldName] = field.columnName;\n\t\tdomainFields[field.fieldName] = buildDomainField(isValueObjectMember(field) ? field : {\n\t\t\t...field,\n\t\t\tdescriptor: resolveColumnDescriptor(field.descriptor, namespaceId, context.qualifyColumnType)\n\t\t}, context.defaultNamespaceId, context.storageTypes);\n\t\tif (executionDefault) executionDefaults.push({\n\t\t\tref: {\n\t\t\t\tnamespace: namespaceId,\n\t\t\t\tentry: tableName,\n\t\t\t\tfield: field.columnName\n\t\t\t},\n\t\t\t...ifDefined(\"onCreate\", executionDefault.onCreate),\n\t\t\t...ifDefined(\"onUpdate\", executionDefault.onUpdate)\n\t\t});\n\t}\n\tconst storage = describeModelStorage(model, namespaceId, (model.foreignKeys ?? []).map((fk) => resolveForeignKey(fk, {\n\t\tnamespaceId,\n\t\ttableName: model.tableName,\n\t\towner: {\n\t\t\tkind: \"model\",\n\t\t\tmodelName: model.modelName\n\t\t}\n\t}, context)));\n\tconst storageFields = {};\n\tfor (const [fieldName, columnName] of Object.entries(fieldToColumn)) storageFields[fieldName] = { column: columnName };\n\tconst columnToField = new Map(Object.entries(fieldToColumn).map(([field, col]) => [col, field]));\n\treturn {\n\t\tstorage,\n\t\tdomain: {\n\t\t\tnamespaceId,\n\t\t\tmodelName: model.modelName,\n\t\t\tmodel: {\n\t\t\t\tstorage: {\n\t\t\t\t\ttable: tableName,\n\t\t\t\t\tnamespaceId,\n\t\t\t\t\tfields: storageFields\n\t\t\t\t},\n\t\t\t\tfields: domainFields,\n\t\t\t\trelations: lowerRelations(model, columnToField, context)\n\t\t\t},\n\t\t\texecutionDefaults\n\t\t}\n\t};\n}\n/**\n* Single-table-inheritance variants share their base model's table: the variant's columns must already be on that table, and it has no table of its own. That leaves an authored check nowhere to attach, so it is refused here as a backstop; the PSL surface refuses it earlier, at interpretation, with a diagnostic that names the base model.\n*/\nfunction describeModelStorage(model, namespaceId, foreignKeys) {\n\tconst { tableName } = model;\n\tconst columns = model.fields.map((field) => describeFieldColumn(model.modelName, field));\n\tif (model.sharesBaseTable) {\n\t\tif (model.checks && model.checks.length > 0) throw contractError(\"CONTRACT.CHECK_ON_STI_VARIANT\", `Model \"${model.modelName}\" declares a check constraint but shares its base model's storage table (single-table inheritance) and has no table of its own to declare it on. Declare the check on the base model instead.`, { meta: {\n\t\t\ttableName,\n\t\t\tmodelName: model.modelName\n\t\t} });\n\t\treturn {\n\t\t\tkind: \"baseTable\",\n\t\t\tmodelName: model.modelName,\n\t\t\tnamespaceId,\n\t\t\ttableName,\n\t\t\tcolumns\n\t\t};\n\t}\n\treturn {\n\t\tkind: \"ownTable\",\n\t\tmodelName: model.modelName,\n\t\ttable: {\n\t\t\tnamespaceId,\n\t\t\ttableName,\n\t\t\tcolumns,\n\t\t\tcontrol: model.control,\n\t\t\tid: model.id,\n\t\t\tuniques: model.uniques ?? [],\n\t\t\tindexes: model.indexes ?? [],\n\t\t\tchecks: model.checks ?? [],\n\t\t\tforeignKeys\n\t\t}\n\t};\n}\nfunction describeFieldColumn(modelName, field) {\n\tconst site = {\n\t\tkind: \"field\",\n\t\tmodelName,\n\t\tfieldName: field.fieldName\n\t};\n\tif (isValueObjectMember(field)) return describeColumn({\n\t\tcolumnName: field.columnName,\n\t\tdescriptor: field.descriptor,\n\t\tnullable: field.nullable,\n\t\t...ifDefined(\"default\", field.default)\n\t}, site);\n\treturn describeColumn(field, site);\n}\nfunction executionDefaultOf(field) {\n\treturn field.executionDefaults?.onCreate || field.executionDefaults?.onUpdate ? field.executionDefaults : void 0;\n}\n//#endregion\n//#region src/describe-table-node.ts\n/** Describes a table node: its columns, and its foreign keys resolved against the definition's models and tables. */\nfunction describeTableNode(table, context) {\n\tconst namespaceId = namespaceIdOrDefault(table.namespaceId, context.defaultNamespaceId);\n\tconst { tableName } = table;\n\tconst owner = {\n\t\tkind: \"tableNode\",\n\t\tnamespaceId,\n\t\ttableName\n\t};\n\treturn {\n\t\tnamespaceId,\n\t\ttableName,\n\t\tcolumns: table.columns.map((column) => describeColumn(column, {\n\t\t\tkind: \"tableNode\",\n\t\t\tnamespaceId,\n\t\t\ttableName,\n\t\t\tcolumnName: column.columnName\n\t\t})),\n\t\tid: table.id,\n\t\tuniques: table.uniques ?? [],\n\t\tindexes: table.indexes ?? [],\n\t\tchecks: table.checks ?? [],\n\t\tforeignKeys: (table.foreignKeys ?? []).map((fk) => resolveForeignKey(fk, {\n\t\t\tnamespaceId,\n\t\t\ttableName,\n\t\t\towner\n\t\t}, context)),\n\t\tcontrol: table.control\n\t};\n}\n//#endregion\n//#region src/column-defaults.ts\n/**\n* The codec that encodes one column's default, built with the column's own `typeParams`, because a parameterized codec checks its params when it encodes and reads a default. Only a column has params; every other encode site takes the representative instance.\n*/\nfunction columnCodec(codecId, typeParams, codecLookup) {\n\treturn codecForRef(codecLookup, {\n\t\tcodecId,\n\t\t...ifDefined(\"typeParams\", typeParams === void 0 ? void 0 : blindCast(typeParams))\n\t});\n}\n/** The JSON the contract stores for a value: the codec gives the value of its data type under the column's parameters, which the type refuses when they exclude it, and the codec reads it back, refusing a value its application value cannot hold. */\nfunction encodeViaCodec(value, codec) {\n\tif (codec) {\n\t\tconst stored = codec.toDataTypeValue(value);\n\t\tcodec.fromDataTypeValue(stored);\n\t\treturn codec.dataType.toContract(stored);\n\t}\n\treturn blindCast(value);\n}\nfunction defaultRefusal(site, cause, elementPosition) {\n\tconst subject = elementPosition === void 0 ? \"default\" : `default (element ${elementPosition})`;\n\tconst reason = cause instanceof Error ? cause.message : String(cause);\n\treturn contractError(\"CONTRACT.DEFAULT_INVALID\", `${columnSiteSubject(site)} has a ${subject} that its codec refuses: ${reason}`, {\n\t\tcause,\n\t\tmeta: {\n\t\t\t...columnSiteMeta(site),\n\t\t\tcodecId: site.codecId,\n\t\t\treason: \"codec-refused-default\",\n\t\t\t...ifDefined(\"elementPosition\", elementPosition)\n\t\t}\n\t});\n}\nfunction encodeDefaultValue(value, codec, site, elementPosition) {\n\ttry {\n\t\treturn encodeViaCodec(value, codec);\n\t} catch (cause) {\n\t\tif (cause instanceof InternalError) throw cause;\n\t\tthrow defaultRefusal(site, cause, elementPosition);\n\t}\n}\nfunction codecForDefault(codecLookup, resolveCodec, site) {\n\tconst codec = buildCodecForDefault(codecLookup, resolveCodec, site);\n\tif (codec === void 0) throw contractError(\"CONTRACT.DEFAULT_INVALID\", `${columnSiteSubject(site)} has a default, but no pack in the contract declares its codec \"${site.codecId}\", so the default cannot be checked. List the pack that owns the codec in \\`extensions\\`.`, { meta: {\n\t\t...columnSiteMeta(site),\n\t\tcodecId: site.codecId,\n\t\treason: \"codec-not-found\"\n\t} });\n\treturn codec;\n}\nfunction buildCodecForDefault(codecLookup, resolveCodec, site) {\n\ttry {\n\t\treturn resolveCodec(codecLookup);\n\t} catch (cause) {\n\t\tif (!isStructuredError(cause) || cause.code !== \"RUNTIME.TYPE_PARAMS_INVALID\") throw cause;\n\t\tthrow contractError(\"CONTRACT.ARGUMENT_INVALID\", `${columnSiteSubject(site)} has type parameters that its codec does not accept: ${cause.message}`, {\n\t\t\tcause,\n\t\t\tmeta: {\n\t\t\t\t...columnSiteMeta(site),\n\t\t\t\tcodecId: site.codecId,\n\t\t\t\treason: \"type-params-invalid\"\n\t\t\t}\n\t\t});\n\t}\n}\nfunction encodeColumnDefault(defaultInput, codecLookup, resolveCodec, site, many = false, elementNullable = false) {\n\tif (defaultInput.kind === \"function\") return {\n\t\tkind: \"function\",\n\t\texpression: defaultInput.expression\n\t};\n\tif (\"inStoredForm\" in defaultInput && defaultInput.inStoredForm === true) return {\n\t\tkind: \"literal\",\n\t\tvalue: blindCast(defaultInput.value)\n\t};\n\tif (many) {\n\t\tif (!Array.isArray(defaultInput.value)) throw contractError(\"CONTRACT.DEFAULT_INVALID\", `${columnSiteSubject(site)} is a list field, so its default is an array; received ${typeof defaultInput.value}. Call .many() before .default().`, { meta: {\n\t\t\t...columnSiteMeta(site),\n\t\t\tcodecId: site.codecId,\n\t\t\treason: \"list-default-not-array\"\n\t\t} });\n\t\tconst codec = codecForDefault(codecLookup, resolveCodec, site);\n\t\treturn {\n\t\t\tkind: \"literal\",\n\t\t\tvalue: defaultInput.value.map((element, index) => {\n\t\t\t\tif (element !== null) return encodeDefaultValue(element, codec, site, index + 1);\n\t\t\t\tif (elementNullable) return null;\n\t\t\t\tthrow new InternalError(\"Literal default on a strict list column cannot contain null elements.\");\n\t\t\t})\n\t\t};\n\t}\n\treturn {\n\t\tkind: \"literal\",\n\t\tvalue: encodeDefaultValue(defaultInput.value, codecForDefault(codecLookup, resolveCodec, site), site)\n\t};\n}\n//#endregion\n//#region src/pack-entities.ts\n/**\n* Records a deferred column's entity-ref into the namespace-scoped collection\n* accumulator (`namespaceId → entityKind → entityName`) — folded into the same\n* namespace assembly `deriveEntityValueSets`/`entries.<kind>` step as the\n* entities-channel attachments, so a column-collected entity gets its\n* value-set the same way an entities-channel one does.\n*\n* The same handle reused by many columns in one namespace is normal (a native\n* enum type backs any number of columns) and records the identical entity once.\n* Two *different* entity instances sharing a name+kind in one namespace is a\n* name collision — the emitted `entries.valueSet.<name>` could only reflect one\n* of them, silently mismatching the other column's type/cast. PSL hard-errors\n* on the equivalent (`PSL_DUPLICATE_DECLARATION`); the TS path rejects it too.\n*/\nfunction collectEntityFromColumn(collected, namespaceId, entityRef) {\n\tconst forNs = collected[namespaceId] ?? {};\n\tconst forKind = forNs[entityRef.entityKind] ?? {};\n\tconst existing = forKind[entityRef.entityName];\n\tif (existing !== void 0 && existing !== entityRef.entity) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `buildSqlContractFromDefinition: two different \"${entityRef.entityKind}\" entities named \"${entityRef.entityName}\" in namespace \"${namespaceId}\" — pack-entity names must be unique per namespace.`, { meta: {\n\t\tkind: entityRef.entityKind,\n\t\tname: entityRef.entityName,\n\t\tnamespaceId\n\t} });\n\tforKind[entityRef.entityName] = entityRef.entity;\n\tforNs[entityRef.entityKind] = forKind;\n\tcollected[namespaceId] = forNs;\n}\n/**\n* Merges a namespace's entities-channel attachments (lowered from the\n* `entities` handle list, carried on `ContractDefinition.attachedEntities`)\n* with the entities collected from that namespace's deferred entity-ref\n* columns. A column-collected entity that shadows a *different* attached\n* entity of the same kind+name (or vice-versa) is the same name-collision bug\n* `collectEntityFromColumn` guards against across columns, so it is rejected\n* the same way — by entity identity, so the same handle attached and used by\n* a column does not throw.\n*/\nfunction mergeColumnAndAttachedEntities(namespaceId, attached, columnCollected) {\n\tif (attached === void 0) return columnCollected;\n\tif (columnCollected === void 0) return attached;\n\tconst kinds = /* @__PURE__ */ new Set([...Object.keys(attached), ...Object.keys(columnCollected)]);\n\tconst result = {};\n\tfor (const kind of kinds) {\n\t\tconst attachedForKind = attached[kind];\n\t\tconst columnForKind = columnCollected[kind];\n\t\tfor (const [name, entity] of Object.entries(columnForKind ?? {})) {\n\t\t\tconst existing = attachedForKind?.[name];\n\t\t\tif (existing !== void 0 && existing !== entity) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `buildSqlContractFromDefinition: two different \"${kind}\" entities named \"${name}\" in namespace \"${namespaceId}\" — a column-referenced entity conflicts with an attached one; pack-entity names must be unique per namespace.`, { meta: {\n\t\t\t\tkind,\n\t\t\t\tname,\n\t\t\t\tnamespaceId\n\t\t\t} });\n\t\t}\n\t\tresult[kind] = {\n\t\t\t...attachedForKind,\n\t\t\t...columnForKind\n\t\t};\n\t}\n\treturn result;\n}\n/**\n* Entry kinds the framework assembler itself manages (`table` from models,\n* `valueSet` from `enums` and attached-entity value-set derivation). A\n* pack-attached entity claiming one of these would silently clobber or be\n* clobbered by the managed slot, so it is rejected outright.\n*/\nconst MANAGED_ENTRY_KINDS = /* @__PURE__ */ new Set([tableEntityKind.kind, valueSetEntityKind.kind]);\nfunction assertNoManagedEntityKinds(namespaceId, entitiesForNs) {\n\tif (entitiesForNs === void 0) return;\n\tfor (const kind of Object.keys(entitiesForNs)) if (MANAGED_ENTRY_KINDS.has(kind)) throw contractError(\"CONTRACT.ENTITY_KIND_INVALID\", `buildSqlContractFromDefinition: attached entity in namespace \"${namespaceId}\" declares entry kind \"${kind}\", which is managed by the framework (table/valueSet) and cannot be attached.`, { meta: {\n\t\tentityKind: kind,\n\t\tnamespaceId\n\t} });\n}\n/**\n* Walks the flat `entityTypes` namespace tree contributed by the target pack\n* and every extension pack, indexing descriptors by their `discriminator` —\n* the same string a pack entity's entries-map key (`entries.<kind>`) uses.\n* Mirrors `contract-psl`'s `buildEntityTypesByDiscriminator`, recomposed here\n* from the packs `ContractDefinition` already carries (`target` +\n* `extensions`) since the TS assembler has no single pre-merged\n* `AuthoringContributions` input to read the way the PSL interpreter does.\n*/\nfunction collectEntityTypeDescriptorsByDiscriminator(definition) {\n\tconst result = /* @__PURE__ */ new Map();\n\tconst walk = (namespace) => {\n\t\tfor (const value of Object.values(namespace)) if (isAuthoringEntityTypeDescriptor(value)) result.set(value.discriminator, value);\n\t\telse walk(value);\n\t};\n\tconst components = [definition.target, ...Object.values(definition.extensions ?? {})];\n\tfor (const component of components) {\n\t\tconst entityTypes = component.authoring?.entityTypes;\n\t\tif (entityTypes !== void 0) walk(entityTypes);\n\t}\n\treturn result;\n}\n/**\n* Derives value-sets for every pack entity declared in one namespace,\n* reusing the same `SqlValueSetDerivingEntityTypeOutput.deriveValueSet` hook\n* `contract-psl`'s `lowerExtensionBlocksForNamespace` folds into\n* `entries.valueSet` on the PSL path — so a TS-attached entity (e.g. a\n* native enum) gets its value-set the same way. Entity kinds with no\n* registered descriptor, or whose descriptor output doesn't derive a\n* value-set, contribute nothing.\n*/\nfunction deriveEntityValueSets(entitiesForNs, entityTypesByDiscriminator) {\n\tif (entitiesForNs === void 0) return void 0;\n\tlet result;\n\tfor (const [kind, entitiesByName] of Object.entries(entitiesForNs)) {\n\t\tconst descriptor = entityTypesByDiscriminator.get(kind);\n\t\tif (descriptor === void 0) continue;\n\t\tfor (const [name, entity] of Object.entries(entitiesByName)) {\n\t\t\tconst derivedValueSet = deriveValueSetFromEntity(descriptor.output, entity);\n\t\t\tif (derivedValueSet === void 0) continue;\n\t\t\tresult ??= {};\n\t\t\tresult[name] = derivedValueSet;\n\t\t}\n\t}\n\treturn result;\n}\n/**\n* Merges a namespace's `enumType()`-derived value-sets with its pack-entity-\n* derived value-sets. Both land in the same `entries.valueSet[name]` slot —\n* which drives value-set → codec typing and the domain-enum CHECK — so a\n* same-named entry in both would let one silently overwrite the other and\n* corrupt whichever column resolves against it. The same collision class the\n* `mergeColumnAndAttachedEntities` guard rejects; the PSL path already hard-errors\n* on the equivalent (`interpretPslDocumentToSqlContract`). Reject it here too.\n*/\nfunction mergeNamespaceValueSets(namespaceId, enumValueSets, packValueSets) {\n\tif (enumValueSets !== void 0 && packValueSets !== void 0) {\n\t\tfor (const name of Object.keys(packValueSets)) if (Object.hasOwn(enumValueSets, name)) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `buildSqlContractFromDefinition: value-set \"${name}\" in namespace \"${namespaceId}\" is derived from both an enum and a pack entity — names must be unique per namespace.`, { meta: {\n\t\t\tkind: \"valueSet\",\n\t\t\tname,\n\t\t\tnamespaceId\n\t\t} });\n\t}\n\treturn {\n\t\t...enumValueSets,\n\t\t...packValueSets\n\t};\n}\n//#endregion\n//#region src/lower-column.ts\n/**\n* Names the target's rendered checks and lowers them into contract entities.\n*\n* Naming is composed family-side ({@link composeCheckWirePrefix}) rather than\n* by the target, and suffixed with the predicate's content hash. Composing\n* family-side is what makes the truncation safe — two prefixes that truncate\n* alike still differ in their hashes, and the family can see that the\n* (table, column, kind) triple they were built from is unique per table,\n* rather than having to assume something about SQL text it declares itself\n* unable to read.\n*/\nfunction lowerRenderedChecks(tableName, candidates) {\n\treturn candidates.map((candidate) => new CheckConstraint({\n\t\tnaming: {\n\t\t\tkind: \"wire\",\n\t\t\tprefix: composeCheckWirePrefix(tableName, candidate.columnName, candidate.kind),\n\t\t\thash: computeCheckContentHash(candidate.expression)\n\t\t},\n\t\texpression: candidate.expression\n\t}));\n}\nfunction validateColumnTypeParams(dataType, typeParams, site) {\n\ttry {\n\t\tvalidateSqlTypeParams(dataType, dataTypeParams(dataType, typeParams));\n\t} catch (cause) {\n\t\tif (!isStructuredError(cause) || cause.code !== \"CONTRACT.TYPE_PARAMS_INVALID\") throw cause;\n\t\tthrow contractError(\"CONTRACT.TYPE_PARAMS_INVALID\", `${columnSiteSubject(site)} has type parameters that its data type does not accept: ${cause.message}`, {\n\t\t\tcause,\n\t\t\tmeta: {\n\t\t\t\t...cause.meta,\n\t\t\t\t...columnSiteMeta(site)\n\t\t\t}\n\t\t});\n\t}\n}\n/**\n* Lowers one column into its storage column and the enforcement checks its shape derives.\n*\n* A column whose type constructor refers to a pack entity (e.g. `pg.enum(handle)`) records that entity, and its descriptor is resolved against the column's namespace and handed to the target's `qualifyColumnType` hook. An opt-out from derived checks on a table that derives none is dropped, never persisted: the policy may also be stamped after the build by a specifier.\n*\n* Member values reach the check renderer only for a column typed by an `enumType()` handle: that column is a plain scalar with no native type of its own to enforce membership. A value set resolved by a type constructor binds the column to a native type that already enforces it.\n*/\nfunction lowerColumn(description, placement, context) {\n\tconst { site, many } = description;\n\tconst { codecLookup } = context.lookups;\n\tconst entityRef = description.descriptor.entityRef;\n\tif (entityRef !== void 0) collectEntityFromColumn(context.collectedColumnEntities, placement.namespaceId, entityRef);\n\tconst descriptor = resolveColumnDescriptor(description.descriptor, placement.namespaceId, context.qualifyColumnType);\n\tconst elementNullable = many !== false && many.elementNullable;\n\tconst codecId = descriptor.codecId;\n\tconst typeParams = resolvedTypeParams(descriptor, context.storageTypes);\n\tconst dataType = sqlDataTypeOfCodec(codecId, context.lookups);\n\tvalidateColumnTypeParams(dataType, typeParams, site);\n\tconst encodedDefault = description.default !== void 0 ? encodeColumnDefault(description.default, codecLookup, (lookup) => columnCodec(codecId, typeParams, lookup), {\n\t\t...site,\n\t\tcodecId\n\t}, many !== false, elementNullable) : void 0;\n\tconst enumRefs = enumValueSetRefs(description.enumTypeHandle, context.defaultNamespaceId);\n\tinvariant(enumRefs === void 0 || descriptor.valueSet === void 0, `${columnSiteSubject(site)} is typed by a domain enum and also carries a storage value set from its type constructor.`);\n\tconst valueSet = enumRefs?.storage ?? descriptor.valueSet;\n\tconst column = {\n\t\tdataType: dataType.id,\n\t\tcodecId,\n\t\tnullable: description.nullable,\n\t\tmany,\n\t\t...ifDefined(\"typeParams\", descriptor.typeParams),\n\t\t...ifDefined(\"default\", encodedDefault),\n\t\t...ifDefined(\"typeRef\", descriptor.typeRef),\n\t\t...ifDefined(\"valueSet\", valueSet)\n\t};\n\tconst render = context.renderCheckExpressions;\n\tif (render === void 0 || !placement.derivesChecks) return {\n\t\tcolumn,\n\t\tderivedChecks: []\n\t};\n\tconst { enumTypeHandle } = description;\n\tconst candidates = render({\n\t\ttableName: placement.tableName,\n\t\tcolumnName: description.columnName,\n\t\tmany: many !== false,\n\t\telementNullable,\n\t\tmemberValues: enumTypeHandle !== void 0 ? checkMemberValues(enumTypeHandle, codecLookup) : void 0\n\t});\n\treturn {\n\t\tcolumn,\n\t\tderivedChecks: lowerRenderedChecks(placement.tableName, candidates)\n\t};\n}\n//#endregion\n//#region src/lower-table.ts\nconst DERIVABLE_CHECK_KINDS = [\"membership\", \"elementNotNull\"];\n/**\n* Which of `columnNames` could have produced `prefix` for some\n* {@link CheckKind} — the reverse of {@link derivedCheckPrefixes}, used only\n* to name the collision in `CONTRACT.CHECK_NAME_RESERVED`'s message. Callers\n* already know `prefix` is a member of `derivedCheckPrefixes(tableName,\n* columnNames)`, so the result is never empty.\n*/\nfunction columnsProducingCheckPrefix(tableName, columnNames, prefix) {\n\treturn columnNames.filter((columnName) => DERIVABLE_CHECK_KINDS.some((kind) => composeCheckWirePrefix(tableName, columnName, kind) === prefix));\n}\n/**\n* Lowers one table: each of its columns, then its indexes, checks, primary key, uniques and foreign keys, with the backing indexes its foreign keys need.\n*\n* Checks are derived only for tables Prisma 8 owns: the contract describes an external schema, it does not prescribe enforcement for it. This reads the policy the source declares; a policy applied by a contract specifier lands after the build and is handled by `stripDerivedChecksFromNonManagedTables`. Authored checks are kept whatever the policy: they are the author's statement about a constraint they know exists.\n*/\nfunction lowerTable(table, context) {\n\tconst { tableName } = table;\n\tconst derivesChecks = effectiveControlPolicy(table.control, context.defaultControlPolicy) === \"managed\";\n\tconst placement = {\n\t\tnamespaceId: table.namespaceId,\n\t\ttableName,\n\t\tderivesChecks\n\t};\n\tconst columns = {};\n\tconst checks = [];\n\tfor (const description of table.columns) {\n\t\tconst lowered = lowerColumn(description, placement, context);\n\t\tcolumns[description.columnName] = lowered.column;\n\t\tchecks.push(...lowered.derivedChecks);\n\t}\n\tconst uniques = table.uniques.map((u) => ({\n\t\tcolumns: u.columns,\n\t\t...ifDefined(\"name\", u.name)\n\t}));\n\tconst declaredIndexes = table.indexes.map((index) => ({\n\t\tnamedByUser: index.name !== void 0 || index.map !== void 0,\n\t\tindex: lowerAuthoredIndex(tableName, authoredIndexInput(index), context.warnings, context.indexTypeRegistry)\n\t}));\n\tchecks.push(...lowerAuthoredChecks(tableName, Object.keys(columns), table.checks, context));\n\tconst primaryKey = table.id ? {\n\t\tcolumns: table.id.columns,\n\t\t...ifDefined(\"name\", table.id.name)\n\t} : void 0;\n\tconst { foreignKeys, indexes } = materializeForeignKeysAndIndexes({\n\t\ttableName,\n\t\tforeignKeys: table.foreignKeys,\n\t\tdeclaredIndexes,\n\t\tuniques,\n\t\tprimaryKey,\n\t\twarnings: context.warnings,\n\t\tindexTypes: context.indexTypeRegistry\n\t});\n\treturn {\n\t\tcolumns,\n\t\t...ifDefined(\"control\", table.control),\n\t\tuniques,\n\t\tindexes: indexes.map((i) => new Index(i)),\n\t\tforeignKeys,\n\t\t...primaryKey ? { primaryKey } : {},\n\t\t...checks.length > 0 ? { checks: inCanonicalOrder(checks) } : {}\n\t};\n}\n/**\n* The checks sorted by name in UTF-16 code-unit order, the order contract canonicalization gives them. The table's storage is then the same whichever declaration each column came from and in whatever order the columns were listed.\n*/\nfunction inCanonicalOrder(checks) {\n\treturn [...checks].sort((a, b) => compareCodeUnits(a.name, b.name));\n}\nfunction authoredIndexInput(index) {\n\treturn blindCast({\n\t\t...ifDefined(\"columns\", index.columns),\n\t\t...ifDefined(\"expression\", index.expression),\n\t\twhere: index.where,\n\t\tunique: index.unique,\n\t\tmap: index.map,\n\t\tname: index.name,\n\t\ttype: index.type,\n\t\toptions: index.options\n\t});\n}\n/** Names the authored checks, and refuses one whose name could be taken for a derived check of a column of this table. */\nfunction lowerAuthoredChecks(tableName, tableColumnNames, authoredChecks, context) {\n\tif (authoredChecks.length === 0) return [];\n\tconst reservedCheckPrefixes = derivedCheckPrefixes(tableName, tableColumnNames);\n\treturn authoredChecks.map((authoredCheck) => {\n\t\tconst lowered = lowerAuthoredCheck(tableName, authoredCheck, context.warnings);\n\t\tif (lowered.naming.kind === \"wire\" && reservedCheckPrefixes.has(lowered.naming.prefix)) {\n\t\t\tconst collidingColumns = columnsProducingCheckPrefix(tableName, tableColumnNames, lowered.naming.prefix);\n\t\t\tconst columnList = collidingColumns.map((name) => `\"${name}\"`).join(\", \");\n\t\t\tthrow contractError(\"CONTRACT.CHECK_NAME_RESERVED\", `Check \"${lowered.naming.prefix}\" on table \"${tableName}\": this name's prefix matches the shape a derived enforcement check would use for column${collidingColumns.length === 1 ? \"\" : \"s\"} ${columnList} of this table, so it can't be told apart from one. Choose a different name.`, { meta: {\n\t\t\t\ttableName,\n\t\t\t\tprefix: lowered.naming.prefix,\n\t\t\t\tcollidingColumns\n\t\t\t} });\n\t\t}\n\t\treturn new CheckConstraint(lowered);\n\t});\n}\n//#endregion\n//#region src/merge-tables.ts\n/** How a refusal names each table-level property. Typed by every key of {@link TableProperties}, so a new property cannot be left out of the check. */\nconst tablePropertyLabels = {\n\tid: \"a primary key\",\n\tuniques: \"unique constraints\",\n\tindexes: \"indexes\",\n\tchecks: \"check constraints\",\n\tforeignKeys: \"foreign keys\",\n\tcontrol: \"a control policy\"\n};\nfunction isTableProperty(key) {\n\treturn Object.hasOwn(tablePropertyLabels, key);\n}\n/**\n* Collects the tables the models and table nodes describe, one per namespace and table name: the models' tables in model order, then the tables only table nodes declare.\n*\n* A table node for a table a model maps adds its columns to that table and nothing else, because the model owns the table's table-level properties. A table node for any other table is the whole table. A single-table variant adds nothing: each of its columns must already be on its base's table, which the base owns, and no table node may declare a column a variant's field maps. A variant whose table no model owns is not checked.\n*\n* Every table comes out with its foreign keys from exactly one declaration, a model or a table node, in the order that declaration lists them.\n*/\nfunction mergeTables(storages, tableNodes) {\n\tconst tables = /* @__PURE__ */ new Map();\n\tconst modelOfTable = /* @__PURE__ */ new Map();\n\tfor (const storage of storages) {\n\t\tif (storage.kind !== \"ownTable\") continue;\n\t\tconst { table } = storage;\n\t\tconst key = tableKey(table.namespaceId, table.tableName);\n\t\tif (tables.has(key)) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `buildSqlContractFromDefinition: duplicate table \"${table.tableName}\" in namespace \"${table.namespaceId}\".`, { meta: {\n\t\t\tkind: \"table\",\n\t\t\tname: table.tableName,\n\t\t\tnamespaceId: table.namespaceId\n\t\t} });\n\t\ttables.set(key, table);\n\t\tmodelOfTable.set(key, storage.modelName);\n\t}\n\tconst variants = storages.filter((storage) => storage.kind === \"baseTable\");\n\tconst variantColumnSites = variantColumnSitesByTable(variants);\n\tconst tableNodeKeys = /* @__PURE__ */ new Set();\n\tfor (const tableNode of tableNodes) {\n\t\tconst key = tableKey(tableNode.namespaceId, tableNode.tableName);\n\t\tif (tableNodeKeys.has(key)) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `Table \"${tableNode.tableName}\" in namespace \"${tableNode.namespaceId}\" is declared by two table nodes.`, { meta: {\n\t\t\tkind: \"table\",\n\t\t\tname: tableNode.tableName,\n\t\t\tnamespaceId: tableNode.namespaceId\n\t\t} });\n\t\ttableNodeKeys.add(key);\n\t\tconst columnSites = variantColumnSites.get(key) ?? /* @__PURE__ */ new Map();\n\t\tconst modelName = modelOfTable.get(key);\n\t\tconst modelled = tables.get(key);\n\t\tif (modelName === void 0 || modelled === void 0) {\n\t\t\ttables.set(key, {\n\t\t\t\t...tableNode,\n\t\t\t\tcolumns: withColumns([], tableNode, columnSites)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tassertOnlyColumns(tableNode, modelName);\n\t\ttables.set(key, {\n\t\t\t...modelled,\n\t\t\tcolumns: withColumns(modelled.columns, tableNode, columnSites)\n\t\t});\n\t}\n\tfor (const variant of variants) {\n\t\tconst table = tables.get(tableKey(variant.namespaceId, variant.tableName));\n\t\tif (table !== void 0) assertVariantColumnsOnBaseTable(variant, table);\n\t}\n\treturn [...tables.values()];\n}\n/** For each table, the variant field that maps each variant column; the first variant to map a column names it. */\nfunction variantColumnSitesByTable(variants) {\n\tconst sites = /* @__PURE__ */ new Map();\n\tfor (const variant of variants) {\n\t\tconst key = tableKey(variant.namespaceId, variant.tableName);\n\t\tconst byColumn = sites.get(key) ?? /* @__PURE__ */ new Map();\n\t\tfor (const column of variant.columns) if (!byColumn.has(column.columnName)) byColumn.set(column.columnName, column.site);\n\t\tsites.set(key, byColumn);\n\t}\n\treturn sites;\n}\n/**\n* The table's columns with the table node's columns added. A column some field already declares is refused, and the error names the field the author wrote: a single-table variant's field when a variant maps the column, even though the base table carries a copy of it.\n*/\nfunction withColumns(columns, tableNode, variantColumnSites) {\n\tconst sites = new Map(columns.map((column) => [column.columnName, column.site]));\n\tfor (const column of tableNode.columns) {\n\t\tconst earlier = variantColumnSites.get(column.columnName) ?? sites.get(column.columnName);\n\t\tif (earlier !== void 0) {\n\t\t\tconst problem = earlier.kind === \"field\" ? `is declared by field \"${earlier.modelName}.${earlier.fieldName}\" and again by a table node` : \"is listed twice by its table node\";\n\t\t\tthrow contractError(\"CONTRACT.NAME_DUPLICATE\", `Column \"${column.columnName}\" of table \"${tableNode.tableName}\" ${problem}.`, { meta: {\n\t\t\t\tkind: \"column\",\n\t\t\t\tname: column.columnName,\n\t\t\t\ttableName: tableNode.tableName,\n\t\t\t\tnamespaceId: tableNode.namespaceId\n\t\t\t} });\n\t\t}\n\t\tsites.set(column.columnName, column.site);\n\t}\n\treturn [...columns, ...tableNode.columns];\n}\nfunction isStated(value) {\n\treturn Array.isArray(value) ? value.length > 0 : value !== void 0;\n}\nfunction assertOnlyColumns(tableNode, modelName) {\n\tconst property = Object.keys(tablePropertyLabels).filter(isTableProperty).find((name) => isStated(tableNode[name]));\n\tif (property === void 0) return;\n\tthrow contractError(\"CONTRACT.TABLE_OWNED_BY_MODEL\", `A table node for table \"${tableNode.tableName}\" states ${tablePropertyLabels[property]}, but model \"${modelName}\" maps that table and owns its table-level properties. A table node for a modelled table may only add columns.`, { meta: {\n\t\tnamespaceId: tableNode.namespaceId,\n\t\ttableName: tableNode.tableName,\n\t\tmodelName,\n\t\tproperty\n\t} });\n}\nfunction assertVariantColumnsOnBaseTable(variant, table) {\n\tconst present = new Set(table.columns.map((column) => column.columnName));\n\tconst missing = variant.columns.find((column) => !present.has(column.columnName));\n\tif (missing === void 0) return;\n\tthrow contractError(\"CONTRACT.VARIANT_COLUMN_NOT_ON_BASE_TABLE\", `Model \"${variant.modelName}\" shares table \"${variant.tableName}\" with its base model (single-table inheritance), but its column \"${missing.columnName}\" is not on that table. The base model owns the table; declare the column there.`, { meta: {\n\t\tmodelName: variant.modelName,\n\t\tnamespaceId: variant.namespaceId,\n\t\ttableName: variant.tableName,\n\t\tcolumnName: missing.columnName\n\t} });\n}\n//#endregion\n//#region src/unmapped-column-warnings.ts\n/**\n* A warning for each column a table node adds to a table some model maps, when the column is required and has no default. The ORM writes only the columns fields map, so every insert it makes into that table fails. Prisma 7 accepts such a schema, so this warns rather than refuses.\n*/\nfunction requiredUnmappedColumnWarnings(storages, tables) {\n\tconst modelOfTable = /* @__PURE__ */ new Map();\n\tfor (const storage of storages) if (storage.kind === \"ownTable\") modelOfTable.set(tableKey(storage.table.namespaceId, storage.table.tableName), storage.modelName);\n\tconst warnings = [];\n\tfor (const table of tables) {\n\t\tconst modelName = modelOfTable.get(tableKey(table.namespaceId, table.tableName));\n\t\tif (modelName === void 0) continue;\n\t\tfor (const column of table.columns) {\n\t\t\tif (column.site.kind !== \"tableNode\" || column.nullable || column.default !== void 0) continue;\n\t\t\twarnings.push({\n\t\t\t\tcode: \"PN_COLUMN_REQUIRED_UNMAPPED\",\n\t\t\t\tmessage: `Column \"${column.columnName}\" of table \"${table.tableName}\" is required and has no default, and no field of model \"${modelName}\" maps it, so every insert the ORM makes into the table fails. Make the column nullable, give it a database default, or map it with a field.`,\n\t\t\t\titem: `table \"${table.tableName}\": column \"${column.columnName}\"`,\n\t\t\t\tsummary: \"columns are required, have no default, and no field maps them, so every insert the ORM makes into their tables fails. Make each column nullable, give it a database default, or map it with a field.\"\n\t\t\t});\n\t\t}\n\t}\n\treturn warnings;\n}\n//#endregion\n//#region src/build-contract.ts\nfunction assertStorageSemantics(contract, indexTypeRegistry, codecLookup) {\n\tconst semanticErrors = validateStorageSemantics(contract.storage);\n\tif (semanticErrors.length > 0) throw contractError(\"CONTRACT.VALIDATION_FAILED\", `Contract semantic validation failed: ${semanticErrors.join(\"; \")}`, { meta: { errors: semanticErrors } });\n\tvalidateIndexTypes(contract, indexTypeRegistry, (codecId) => codecLookup.descriptorFor(codecId)?.traits);\n}\nfunction collectStorageNamespaceCoordinateIds(definition) {\n\tconst defaultNamespaceId = definition.target.defaultNamespaceId;\n\tconst declared = [\n\t\t...definition.namespaces ?? [],\n\t\t...definition.models.map((model) => model.namespaceId),\n\t\t...(definition.tables ?? []).map((table) => table.namespaceId),\n\t\t...Object.keys(definition.attachedEntities ?? {})\n\t];\n\treturn /* @__PURE__ */ new Set([defaultNamespaceId, ...declared.map((id) => namespaceIdOrDefault(id, defaultNamespaceId))]);\n}\nfunction ensureUnboundNamespaceSlot(namespaces, createNamespace) {\n\tif (Object.hasOwn(namespaces, UNBOUND_NAMESPACE_ID)) return namespaces;\n\tconst unbound = createNamespace({\n\t\tid: UNBOUND_NAMESPACE_ID,\n\t\tentries: { table: {} }\n\t});\n\treturn {\n\t\t[UNBOUND_NAMESPACE_ID]: unbound,\n\t\t...namespaces\n\t};\n}\nfunction declaredTableKeys(definition) {\n\tconst defaultNamespaceId = definition.target.defaultNamespaceId;\n\treturn /* @__PURE__ */ new Set([...definition.models.map((model) => tableKey(modelNamespaceId(model, defaultNamespaceId), model.tableName)), ...(definition.tables ?? []).map((table) => tableKey(namespaceIdOrDefault(table.namespaceId, defaultNamespaceId), table.tableName))]);\n}\n/**\n* Builds the contract in two stages. First each model is converted on its own into the table it describes and its domain model, and each table node into the table it describes. Then the tables are merged, each is lowered, and the contract is assembled.\n*/\nfunction enabledCapabilities(matrix) {\n\tconst enabled = {};\n\tfor (const [namespace, flags] of Object.entries(matrix)) {\n\t\tconst enabledFlags = Object.fromEntries(Object.entries(flags).filter(([, flag]) => flag).map(([name]) => [name, true]));\n\t\tif (Object.keys(enabledFlags).length > 0) enabled[namespace] = enabledFlags;\n\t}\n\treturn enabled;\n}\nfunction buildSqlContractFromDefinition(definition, codecLookup, dataTypeLookup) {\n\tconst lookups = {\n\t\tcodecLookup,\n\t\tdataTypeLookup\n\t};\n\tconst target = definition.target.targetId;\n\tconst defaultNamespaceId = definition.target.defaultNamespaceId;\n\tconst indexTypeRegistry = indexTypeRegistryOf(definition.target, Object.values(definition.extensions ?? {}));\n\tconst qualifyColumnType = resolveColumnTypeQualifier(definition.target);\n\tconst storageTypes = definition.storageTypes ?? {};\n\tconst targetFamily = \"sql\";\n\tconst modelDescriptionContext = {\n\t\t...modelLookupsOf(definition),\n\t\tdeclaredTables: declaredTableKeys(definition),\n\t\tforeignKeyDefaults: definition.foreignKeyDefaults,\n\t\tstorageTypes,\n\t\tqualifyColumnType\n\t};\n\tconst components = definition.models.map((model) => describeModel(model, modelDescriptionContext));\n\tconst tableNodes = (definition.tables ?? []).map((table) => describeTableNode(table, modelDescriptionContext));\n\tconst authoringWarnings = [...definition.warnings ?? []];\n\tconst collectedColumnEntities = {};\n\tconst tableLoweringContext = {\n\t\tlookups,\n\t\tstorageTypes,\n\t\tdefaultNamespaceId,\n\t\tqualifyColumnType,\n\t\trenderCheckExpressions: resolveCheckExpressionRenderer(definition.target),\n\t\tcollectedColumnEntities,\n\t\tdefaultControlPolicy: definition.defaultControlPolicy,\n\t\tindexTypeRegistry,\n\t\twarnings: authoringWarnings\n\t};\n\tconst tablesByNamespace = {};\n\tconst modelStorages = components.map((c) => c.storage);\n\tconst tables = mergeTables(modelStorages, tableNodes);\n\tauthoringWarnings.push(...requiredUnmappedColumnWarnings(modelStorages, tables));\n\tfor (const table of tables) {\n\t\tconst namespaceTables = tablesByNamespace[table.namespaceId] ?? {};\n\t\tnamespaceTables[table.tableName] = lowerTable(table, tableLoweringContext);\n\t\ttablesByNamespace[table.namespaceId] = namespaceTables;\n\t}\n\tconst executionDefaults = components.flatMap((c) => c.domain.executionDefaults);\n\tconst modelsByNamespace = {};\n\tfor (const { domain } of components) {\n\t\tconst namespaceModels = modelsByNamespace[domain.namespaceId] ?? {};\n\t\tnamespaceModels[domain.modelName] = domain.model;\n\t\tmodelsByNamespace[domain.namespaceId] = namespaceModels;\n\t}\n\tconst roots = buildRoots(components);\n\tconst documentTypes = Object.fromEntries(Object.entries(storageTypes).map(([name, entry]) => [name, toStorageTypeInstance({\n\t\tcodecId: entry.codecId,\n\t\tdataType: sqlDataTypeOfCodec(entry.codecId, lookups).id,\n\t\ttypeParams: entry.typeParams\n\t})]));\n\tconst namespaceCoordinateIds = collectStorageNamespaceCoordinateIds(definition);\n\tconst domainEnumsByNs = {};\n\tconst storageValueSetsByNs = {};\n\tfor (const [enumName, handle] of Object.entries(definition.enums ?? {})) {\n\t\tif (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\t\tenumName: handle.enumName,\n\t\t\tdeclarationKey: enumName,\n\t\t\treason: \"key-name-mismatch\"\n\t\t} });\n\t\tconst nsId = defaultNamespaceId;\n\t\tlet domainSlot = domainEnumsByNs[nsId];\n\t\tif (domainSlot === void 0) {\n\t\t\tdomainSlot = {};\n\t\t\tdomainEnumsByNs[nsId] = domainSlot;\n\t\t}\n\t\tconst storedMembers = encodeEnumTypeMembers(handle, codecLookup, \"the column\");\n\t\tdomainSlot[enumName] = {\n\t\t\tcodecId: handle.codecId,\n\t\t\tmembers: storedMembers\n\t\t};\n\t\tlet storageSlot = storageValueSetsByNs[nsId];\n\t\tif (storageSlot === void 0) {\n\t\t\tstorageSlot = {};\n\t\t\tstorageValueSetsByNs[nsId] = storageSlot;\n\t\t}\n\t\tstorageSlot[enumName] = {\n\t\t\tkind: \"valueSet\",\n\t\t\tvalues: storedMembers.map((member) => member.value)\n\t\t};\n\t}\n\tconst { createNamespace } = definition;\n\tconst entityTypesByDiscriminator = collectEntityTypeDescriptorsByDiscriminator(definition);\n\tconst namespaces = Object.fromEntries([...namespaceCoordinateIds].sort().map((id) => {\n\t\tconst entitiesForNs = mergeColumnAndAttachedEntities(id, definition.attachedEntities?.[id], collectedColumnEntities[id]);\n\t\tassertNoManagedEntityKinds(id, entitiesForNs);\n\t\tconst enumValueSetEntries = storageValueSetsByNs[id];\n\t\tconst packValueSetEntries = deriveEntityValueSets(entitiesForNs, entityTypesByDiscriminator);\n\t\tconst valueSetEntries = enumValueSetEntries !== void 0 || packValueSetEntries !== void 0 ? mergeNamespaceValueSets(id, enumValueSetEntries, packValueSetEntries) : void 0;\n\t\tconst nsInput = {\n\t\t\tid,\n\t\t\tentries: {\n\t\t\t\ttable: tablesByNamespace[id] ?? {},\n\t\t\t\t...entitiesForNs,\n\t\t\t\t...valueSetEntries !== void 0 && Object.keys(valueSetEntries).length > 0 ? { valueSet: valueSetEntries } : {}\n\t\t\t}\n\t\t};\n\t\treturn [id, createNamespace(nsInput)];\n\t}));\n\tconst storageWithoutHash = {\n\t\t...Object.keys(documentTypes).length > 0 ? { types: documentTypes } : {},\n\t\tnamespaces: defaultNamespaceId === UNBOUND_NAMESPACE_ID ? ensureUnboundNamespaceSlot(namespaces, createNamespace) : namespaces\n\t};\n\tconst storageHash = definition.storageHash ? coreHash(definition.storageHash) : computeStorageHash({\n\t\ttarget,\n\t\ttargetFamily,\n\t\tstorage: blindCast(storageWithoutHash),\n\t\t...sqlContractCanonicalizationHooks\n\t});\n\tconst storage = new SqlStorage({\n\t\t...storageWithoutHash,\n\t\tstorageHash\n\t});\n\tconst extensionNamespaces = definition.extensions ? Object.values(definition.extensions).map((pack) => pack.id) : void 0;\n\tconst extensions = { ...definition.extensions || {} };\n\tif (extensionNamespaces) {\n\t\tfor (const namespace of extensionNamespaces) if (!Object.hasOwn(extensions, namespace)) extensions[namespace] = {};\n\t}\n\tconst capabilities = enabledCapabilities(mergeCapabilityMatrices({}, [\n\t\tdefinition.target,\n\t\t...definition.capabilities ? [{ capabilities: definition.capabilities }] : [],\n\t\t...Object.values(definition.extensions ?? {})\n\t]));\n\tconst profileHash = computeProfileHash({\n\t\ttarget,\n\t\ttargetFamily,\n\t\tcapabilities: {}\n\t});\n\tconst executionWithHash = buildExecutionSection({\n\t\ttarget,\n\t\ttargetFamily,\n\t\tdefaults: executionDefaults\n\t});\n\tconst valueObjects = definition.valueObjects && definition.valueObjects.length > 0 ? Object.fromEntries(definition.valueObjects.map((vo) => [vo.name, { fields: Object.fromEntries(vo.fields.map((f) => [f.fieldName, buildDomainField(f, defaultNamespaceId, storageTypes)])) }])) : void 0;\n\tconst domainNamespaceIds = new Set(Object.keys(modelsByNamespace));\n\tif (domainNamespaceIds.size === 0) domainNamespaceIds.add(defaultNamespaceId);\n\tif (valueObjects !== void 0) domainNamespaceIds.add(defaultNamespaceId);\n\tfor (const nsId of Object.keys(domainEnumsByNs)) domainNamespaceIds.add(nsId);\n\tconst domainNamespaces = Object.fromEntries([...domainNamespaceIds].sort().map((namespaceId) => {\n\t\tconst modelsInNs = modelsByNamespace[namespaceId] ?? {};\n\t\tconst enumsInNs = domainEnumsByNs[namespaceId];\n\t\treturn [namespaceId, {\n\t\t\tmodels: modelsInNs,\n\t\t\t...namespaceId === defaultNamespaceId && valueObjects !== void 0 ? { valueObjects } : {},\n\t\t\t...enumsInNs !== void 0 && Object.keys(enumsInNs).length > 0 ? { enum: enumsInNs } : {}\n\t\t}];\n\t}));\n\tconst contract = {\n\t\ttarget,\n\t\ttargetFamily,\n\t\t...ifDefined(\"defaultControlPolicy\", definition.defaultControlPolicy),\n\t\tdomain: { namespaces: domainNamespaces },\n\t\troots,\n\t\tstorage,\n\t\t...executionWithHash ? { execution: executionWithHash } : {},\n\t\textensions,\n\t\tcapabilities,\n\t\tprofileHash,\n\t\tmeta: {}\n\t};\n\tassertStorageSemantics(contract, indexTypeRegistry, codecLookup);\n\tflushAuthoringWarnings(authoringWarnings);\n\treturn contract;\n}\n/**\n* Aggregate roots, one per model that owns a table, keyed by bare storage table name. When two models in different namespaces map to the same bare table name, the bare key would collide, so those entries fall back to a namespace-qualified key. Single-namespace contracts never collide and keep their bare keys.\n*/\nfunction buildRoots(components) {\n\tconst rootEntries = components.flatMap(({ storage, domain }) => storage.kind === \"ownTable\" ? [{\n\t\ttableName: storage.table.tableName,\n\t\tnamespaceId: domain.namespaceId,\n\t\tref: crossRef(domain.modelName, domain.namespaceId)\n\t}] : []);\n\tconst rootTableNameCounts = /* @__PURE__ */ new Map();\n\tfor (const entry of rootEntries) rootTableNameCounts.set(entry.tableName, (rootTableNameCounts.get(entry.tableName) ?? 0) + 1);\n\tconst roots = {};\n\tfor (const entry of rootEntries) {\n\t\tconst key = (rootTableNameCounts.get(entry.tableName) ?? 0) > 1 ? `${entry.namespaceId}.${entry.tableName}` : entry.tableName;\n\t\troots[key] = entry.ref;\n\t}\n\treturn roots;\n}\n//#endregion\n//#region src/derived-checks.ts\n/**\n* The one step every SQL contract specifier funnels its loaded contract\n* through: stamp the specifier's default control policy, then strip derived\n* checks from every table the stamped policy leaves non-managed. Composing the\n* two here is what keeps the managed-only consequence from being skipped on\n* any specifier route.\n*/\nfunction applySqlSpecifierControlPolicy(contract, defaultControlPolicy, createNamespace) {\n\treturn stripDerivedChecksFromNonManagedTables(applySpecifierDefaultControlPolicy(contract, defaultControlPolicy), createNamespace);\n}\n/**\n* Removes generated enforcement checks from every table whose effective\n* control policy is not `managed`.\n*\n* A check is derived iff its wire prefix is one derivation would produce for\n* some column of its table — {@link derivedCheckPrefixes} enumerates that\n* set. Wire-naming alone no longer identifies derivation: an authored\n* `name:` check (`@@check` / `check()`) is wire-named too, so a bare\n* `check.prefix === undefined` test would delete an author's own constraint\n* from every non-`managed` table. The prefix-shape rule tests against the\n* table's own columns instead of the naming mode, so an authored check with\n* an unrelated prefix survives.\n*\n* The rule is weaker than recomputing the content hash `contract infer`\n* uses: that needs `postgresRenderCheckExpressions` to know what a kind\n* renders, and this funnel has no target descriptor to reach it through. It\n* can only ask whether some column could have produced a prefix of this\n* shape, not whether this exact column produced this exact check. The gap\n* that opens — an authored name that collides with a derived-prefix shape —\n* is closed at authoring time instead: such a name is rejected\n* (`CONTRACT.CHECK_NAME_RESERVED`) before it ever reaches storage.\n*\n* Why derivation stops at the namespace boundary: the contract *describes* an\n* external schema, it does not *prescribe* enforcement for it. Deriving a check\n* for a table Prisma 8 never creates declares a constraint the live database\n* has no reason to carry, and `external` fails verify on a declared shape the\n* database lacks — an unfixable failure, since no plan may emit DDL there\n* either.\n*\n* This is the post-build half of the rule. Authoring skips derivation for a\n* table whose policy is known in the source; this pass catches the policy a\n* contract *specifier* applies after the contract is already built, which is\n* the only signal a pack like the Supabase extension gives. Specifiers reach\n* it through `applySqlSpecifierControlPolicy` above.\n*\n* Returns the contract unchanged (same reference) when nothing is stripped.\n* When something is, the storage hash is recomputed — the stripped contract\n* describes different storage.\n*/\nfunction stripDerivedChecksFromNonManagedTables(contract, createNamespace) {\n\tconst storage = contract.storage;\n\tif (!isSqlStorageShaped(storage)) return contract;\n\tlet anyStripped = false;\n\tconst namespaces = {};\n\tfor (const [namespaceId, namespace] of Object.entries(storage.namespaces)) {\n\t\tif (!isMaterializedSqlNamespace(namespace)) return contract;\n\t\tconst tables = namespace.entries[\"table\"];\n\t\tif (tables === void 0) {\n\t\t\tnamespaces[namespaceId] = namespace;\n\t\t\tcontinue;\n\t\t}\n\t\tlet namespaceStripped = false;\n\t\tconst nextTables = {};\n\t\tfor (const [tableName, table] of Object.entries(tables)) {\n\t\t\tconst stripped = StorageTable.is(table) ? withoutDerivedChecks(tableName, table, contract.defaultControlPolicy) : table;\n\t\t\tif (stripped !== table) namespaceStripped = true;\n\t\t\tnextTables[tableName] = stripped;\n\t\t}\n\t\tif (!namespaceStripped) {\n\t\t\tnamespaces[namespaceId] = namespace;\n\t\t\tcontinue;\n\t\t}\n\t\tanyStripped = true;\n\t\tnamespaces[namespaceId] = createNamespace({\n\t\t\tid: namespace.id,\n\t\t\tentries: {\n\t\t\t\t...namespace.entries,\n\t\t\t\ttable: nextTables\n\t\t\t}\n\t\t});\n\t}\n\tif (!anyStripped) return contract;\n\tconst storageWithoutHash = {\n\t\tnamespaces,\n\t\t...ifDefined(\"types\", storage.types)\n\t};\n\treturn {\n\t\t...contract,\n\t\tstorage: new SqlStorage({\n\t\t\t...storageWithoutHash,\n\t\t\tstorageHash: computeStorageHash({\n\t\t\t\ttarget: contract.target,\n\t\t\t\ttargetFamily: contract.targetFamily,\n\t\t\t\tstorage: storageWithoutHash,\n\t\t\t\t...sqlContractCanonicalizationHooks\n\t\t\t})\n\t\t})\n\t};\n}\n/**\n* Structural stand-in for `instanceof SqlStorage`: like the checks it wraps, a\n* storage instance can arrive from a realm whose IR classes are a separate\n* copy (the dist e2e shape), where an `instanceof` test would miss.\n*/\nfunction isSqlStorageShaped(x) {\n\tif (typeof x !== \"object\" || x === null || !(\"namespaces\" in x)) return false;\n\treturn typeof x.namespaces === \"object\" && x.namespaces !== null;\n}\n/** The table itself when it keeps every check, a rebuilt one when it does not. */\nfunction withoutDerivedChecks(tableName, table, contractDefault) {\n\tconst checks = table.checks;\n\tif (checks === void 0 || checks.length === 0) return table;\n\tif (effectiveControlPolicy(table.control, contractDefault) === \"managed\") return table;\n\tconst columnNames = Object.keys(table.columns);\n\tinvariant(columnNames.length > 0, `withoutDerivedChecks: table \"${tableName}\" carries checks but its column map is empty. The caller must pass the table's real, complete column set — an empty or partial map makes every check misclassify as non-derived and survive the strip.`);\n\tconst derivedPrefixes = derivedCheckPrefixes(tableName, columnNames);\n\tconst kept = checks.filter((check) => check.prefix === void 0 || !derivedPrefixes.has(check.prefix));\n\tif (kept.length === checks.length) return table;\n\treturn new StorageTable({\n\t\tcolumns: table.columns,\n\t\tuniques: table.uniques,\n\t\tindexes: table.indexes,\n\t\tforeignKeys: table.foreignKeys,\n\t\t...ifDefined(\"primaryKey\", table.primaryKey),\n\t\t...ifDefined(\"control\", table.control),\n\t\t...kept.length > 0 ? { checks: kept.map((check) => checkConstraintInputFromSerialized({\n\t\t\tname: check.name,\n\t\t\t...ifDefined(\"prefix\", check.prefix),\n\t\t\texpression: check.expression\n\t\t})) } : {}\n\t});\n}\n//#endregion\nexport { storedAsListColumn as a, isValueObjectMember as i, buildSqlContractFromDefinition as n, contractError as o, toOneNullabilityContradictionMessage as r, applySqlSpecifierControlPolicy as t };\n\n//# sourceMappingURL=derived-checks-CdPHpJSv.mjs.map"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,SAAS,cAAc,MAAM,SAAS,SAAS;CAC9C,OAAO,gBAAgB,MAAM,SAAS,OAAO;AAC9C;;;;AAMA,SAAS,mBAAmB,OAAO;CAClC,OAAO,MAAM,QAAQ,CAAC,MAAM;AAC7B;;AAEA,SAAS,oBAAoB,OAAO;CACnC,OAAO,qBAAqB;AAC7B;;AAIA,SAAS,eAAe,QAAQ,MAAM;CACrC,OAAO;EACN,YAAY,OAAO;EACnB,YAAY,OAAO;EACnB,UAAU,OAAO;EACjB,MAAM,OAAO,SAAS,OAAO,EAAE,iBAAiB,OAAO,oBAAoB,KAAK,IAAI;EACpF,SAAS,OAAO;EAChB,gBAAgB,OAAO;EACvB;CACD;AACD;;;;;AAOA,SAAS,kBAAkB,QAAQ,aAAa;CAC/C,MAAM,UAAU,sBAAsB,QAAQ,aAAa,YAAY,CAAC,CAAC,KAAK,WAAW,OAAO,KAAK;CACrG,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,SAAS,SAAS;EAC5B,IAAI,OAAO,UAAU,YAAY,EAAE,OAAO,UAAU,YAAY,OAAO,SAAS,KAAK,IAAI,MAAM,cAAc,yBAAyB,aAAa,OAAO,SAAS,yEAAyE,EAAE,MAAM;GACnP,UAAU,OAAO;GACjB,QAAQ;EACT,EAAE,CAAC;EACH,OAAO,KAAK,KAAK;CAClB;CACA,OAAO;AACR;;;;AAIA,SAAS,iBAAiB,YAAY,oBAAoB;CACzD,IAAI,eAAe,KAAK,GAAG,OAAO,KAAK;CACvC,MAAM,SAAS;EACd,aAAa;EACb,YAAY,WAAW;CACxB;CACA,OAAO;EACN,QAAQ;GACP,OAAO;GACP,YAAY;GACZ,GAAG;EACJ;EACA,SAAS;GACR,OAAO;GACP,YAAY;GACZ,GAAG;EACJ;CACD;AACD;AAGA,SAAS,iBAAiB,OAAO,oBAAoB,cAAc;CAClE,IAAI,oBAAoB,KAAK,GAAG,OAAO;EACtC,MAAM;GACL,MAAM;GACN,MAAM,MAAM;EACb;EACA,UAAU,MAAM;EAChB,MAAM,MAAM,OAAO,EAAE,iBAAiB,MAAM,oBAAoB,KAAK,IAAI;CAC1E;CACA,OAAO;EACN,MAAM;GACL,MAAM;GACN,SAAS,MAAM,WAAW;GAC1B,GAAG,UAAU,cAAc,mBAAmB,MAAM,YAAY,YAAY,CAAC;EAC9E;EACA,UAAU,MAAM;EAChB,MAAM,MAAM,OAAO,EAAE,iBAAiB,MAAM,oBAAoB,KAAK,IAAI;EACzE,GAAG,UAAU,YAAY,iBAAiB,MAAM,gBAAgB,kBAAkB,CAAC,EAAE,MAAM;CAC5F;AACD;;AAIA,SAAS,kBAAkB,MAAM;CAChC,OAAO,KAAK,SAAS,UAAU,UAAU,KAAK,UAAU,GAAG,KAAK,UAAU,KAAK,WAAW,KAAK,UAAU,GAAG,KAAK,WAAW;AAC7H;;AAEA,SAAS,eAAe,MAAM;CAC7B,OAAO,KAAK,SAAS,UAAU;EAC9B,WAAW,KAAK;EAChB,WAAW,KAAK;CACjB,IAAI;EACH,aAAa,KAAK;EAClB,WAAW,KAAK;EAChB,YAAY,KAAK;CAClB;AACD;;AAEA,SAAS,sBAAsB,OAAO;CACrC,OAAO,MAAM,SAAS,UAAU,UAAU,MAAM,UAAU,KAAK,UAAU,MAAM,UAAU,kBAAkB,MAAM,YAAY;AAC9H;;AAEA,SAAS,mBAAmB,OAAO;CAClC,OAAO,MAAM,SAAS,UAAU,EAAE,aAAa,MAAM,UAAU,IAAI;EAClE,aAAa,MAAM;EACnB,mBAAmB,MAAM;CAC1B;AACD;;AAIA,SAAS,qBAAqB,aAAa,oBAAoB;CAC9D,OAAO,gBAAgB,KAAK,KAAK,YAAY,SAAS,IAAI,cAAc;AACzE;AAGA,SAAS,uBAAuB,cAAc,oBAAoB,OAAO,iBAAiB,mBAAmB,SAAS;CACrH,MAAM,cAAc,sBAAsB,KAAK,KAAK,kBAAkB,SAAS,IAAI,mBAAmB,IAAI,GAAG,kBAAkB,GAAG,iBAAiB,IAAI,aAAa,IAAI,eAAe;CACvL,IAAI,CAAC,aAAa;EACjB,MAAM,YAAY,sBAAsB,KAAK,KAAK,kBAAkB,SAAS,IAAI,GAAG,kBAAkB,GAAG,oBAAoB;EAC7H,MAAM,cAAc,0BAA0B,GAAG,QAAQ,MAAM,sBAAsB,KAAK,EAAE,6BAA6B,UAAU,IAAI,EAAE,MAAM;GAC9I,GAAG,mBAAmB,KAAK;GAC3B,aAAa;GACb;EACD,EAAE,CAAC;CACJ;CACA,OAAO;AACR;AACA,SAAS,yBAAyB,OAAO,aAAa,qBAAqB,SAAS;CACnF,IAAI,YAAY,cAAc,qBAAqB,MAAM,cAAc,2BAA2B,GAAG,QAAQ,MAAM,sBAAsB,KAAK,EAAE,qBAAqB,oBAAoB,eAAe,YAAY,UAAU,aAAa,YAAY,UAAU,IAAI,EAAE,MAAM;EAC5Q,GAAG,mBAAmB,KAAK;EAC3B,iBAAiB;EACjB,aAAa,YAAY;EACzB;CACD,EAAE,CAAC;AACJ;AACA,SAAS,iBAAiB,OAAO,oBAAoB;CACpD,OAAO,qBAAqB,MAAM,aAAa,kBAAkB;AAClE;AACA,SAAS,eAAe,YAAY;CACnC,MAAM,qBAAqB,WAAW,OAAO;CAC7C,MAAM,EAAE,WAAW;CACnB,OAAO;EACN;EACA,cAAc,IAAI,IAAI,OAAO,KAAK,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;EACzD,oBAAoB,IAAI,IAAI,OAAO,KAAK,MAAM,CAAC,GAAG,iBAAiB,GAAG,kBAAkB,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;EAC/G,sBAAsB,IAAI,IAAI,OAAO,KAAK,MAAM,CAAC,EAAE,WAAW,iBAAiB,GAAG,kBAAkB,CAAC,CAAC,CAAC;CACxG;AACD;AAGA,SAAS,qCAAqC,UAAU,eAAe;CACtE,OAAO,kBAAkB,sBAAsB,GAAG,SAAS,8DAA8D,GAAG,SAAS;AACtI;AAGA,SAAS,sBAAsB,eAAe,UAAU;CACvD,MAAM,WAAW,aAAa,cAAc,UAAU,GAAG,SAAS,UAAU;CAC5E,IAAI,SAAS,aAAa,KAAK,GAAG,MAAM,cAAc,6BAA6B,GAAG,SAAS,qBAAqB,SAAS,YAAY,sCAAsC,EAAE,MAAM;EACtL,WAAW,cAAc;EACzB,cAAc,SAAS;EACvB,QAAQ;CACT,EAAE,CAAC;CACH,MAAM,eAAe,SAAS,GAAG;CACjC,MAAM,EAAE,kBAAkB,6BAA6B;EACtD,kBAAkB,SAAS;EAC3B,uBAAuB,cAAc,OAAO,QAAQ,UAAU,aAAa,SAAS,MAAM,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,MAAM,QAAQ;EACpI,eAAe,SAAS,gBAAgB;CACzC,CAAC;CACD,IAAI,kBAAkB,KAAK,GAAG,MAAM,cAAc,6BAA6B,SAAS,gBAAgB,QAAQ,qCAAqC,UAAU,aAAa,IAAI,GAAG,SAAS,yGAAyG,EAAE,MAAM;EAC5S,WAAW,cAAc;EACzB,cAAc,SAAS;EACvB,QAAQ;CACT,EAAE,CAAC;CACH,OAAO,SAAS;AACjB;AACA,SAAS,uBAAuB,SAAS,sBAAsB,aAAa,WAAW,WAAW,oBAAoB;CACrH,IAAI,CAAC,qBAAqB,IAAI,QAAQ,KAAK,GAAG,MAAM,cAAc,0BAA0B,mDAAmD,QAAQ,MAAM,kBAAkB,UAAU,GAAG,UAAU,6BAA6B,EAAE,MAAM;EAC1O,aAAa;EACb,cAAc;EACd,eAAe,QAAQ;CACxB,EAAE,CAAC;CACH,MAAM,cAAc,QAAQ,eAAe;CAC3C,OAAO;EACN,OAAO,QAAQ;EACf;EACA,eAAe,QAAQ;EACvB,cAAc,QAAQ;EACtB,eAAe,yBAAyB,aAAa,SAAS;CAC/D;AACD;AACA,SAAS,yBAAyB,aAAa,WAAW;CACzD,MAAM,oBAAoB,YAAY,IAAI;CAC1C,IAAI,qBAAqB,kBAAkB,SAAS,GAAG,OAAO;CAC9D,MAAM,cAAc,YAAY,SAAS,MAAM,MAAM,EAAE,QAAQ,SAAS,CAAC;CACzE,IAAI,aAAa,OAAO,YAAY;CACpC,MAAM,cAAc,6BAA6B,qBAAqB,YAAY,UAAU,qBAAqB,UAAU,uEAAuE,EAAE,MAAM;EACzM,WAAW,YAAY;EACvB,QAAQ;CACT,EAAE,CAAC;AACJ;;AAEA,SAAS,YAAY,OAAO,UAAU,OAAO,eAAe,QAAQ;CACnE,MAAM,QAAQ,cAAc,IAAI,MAAM;CACtC,IAAI,UAAU,KAAK,GAAG,OAAO;CAC7B,MAAM,cAAc,6BAA6B,aAAa,MAAM,UAAU,GAAG,SAAS,UAAU,qBAAqB,OAAO,cAAc,MAAM,UAAU,8BAA8B,MAAM,UAAU,sEAAsE,EAAE,MAAM;EACzR,WAAW,MAAM;EACjB,cAAc,SAAS;EACvB;EACA,QAAQ;CACT,EAAE,CAAC;AACJ;;AAEA,SAAS,eAAe,eAAe,eAAe,SAAS;CAC9D,MAAM,EAAE,uBAAuB;CAC/B,MAAM,iBAAiB,CAAC;CACxB,KAAK,MAAM,YAAY,cAAc,aAAa,CAAC,GAAG;EACrD,IAAI,SAAS,YAAY,KAAK,GAAG;GAChC,MAAM,oBAAoB,SAAS,eAAe;GAClD,MAAM,cAAc,SAAS,GAAG,cAAc,KAAK,QAAQ,YAAY,eAAe,UAAU,eAAe,eAAe,GAAG,CAAC;GAClI,eAAe,SAAS,aAAa;IACpC,IAAI,SAAS,SAAS,SAAS,mBAAmB,SAAS,OAAO;IAClE,aAAa;IACb,UAAU,sBAAsB,eAAe,QAAQ;IACvD,IAAI;KACH;KACA,cAAc,SAAS,GAAG;IAC3B;GACD;GACA;EACD;EACA,MAAM,QAAQ;GACb,MAAM;GACN,WAAW,cAAc;EAC1B;EACA,MAAM,cAAc,uBAAuB,QAAQ,cAAc,QAAQ,oBAAoB,OAAO,SAAS,SAAS,SAAS,eAAe,UAAU;EACxJ,UAAU,SAAS,YAAY,KAAK,GAAG,aAAa,cAAc,UAAU,GAAG,SAAS,UAAU,uFAAuF;EACzL,yBAAyB,OAAO,aAAa,SAAS,SAAS,UAAU;EACzE,MAAM,sBAAsB,IAAI,IAAI,YAAY,OAAO,KAAK,MAAM,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;EAC9F,MAAM,KAAK,SAAS,SAAS,SAAS,SAAS,kBAAkB,KAAK,KAAK,SAAS,cAAc,SAAS,IAAI,SAAS,gBAAgB,iBAAiB,aAAa,kBAAkB,CAAC;EACzL,MAAM,aAAa,OAAO,QAAQ,WAAW,YAAY,eAAe,UAAU,OAAO,QAAQ,MAAM;EACvG,MAAM,KAAK;GACV,aAAa,SAAS,GAAG,cAAc,KAAK,QAAQ,UAAU,eAAe,eAAe,GAAG,CAAC;GAChG,cAAc,SAAS,YAAY,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,YAAY,IAAI,SAAS,GAAG,aAAa,KAAK,QAAQ,UAAU,aAAa,qBAAqB,GAAG,CAAC;EACnK;EACA,IAAI,SAAS,gBAAgB,OAAO;GACnC,IAAI,CAAC,SAAS,SAAS,MAAM,cAAc,6BAA6B,aAAa,cAAc,UAAU,GAAG,SAAS,UAAU,qDAAqD,EAAE,MAAM;IAC/L,WAAW,cAAc;IACzB,cAAc,SAAS;IACvB,QAAQ;GACT,EAAE,CAAC;GACH,eAAe,SAAS,aAAa;IACpC;IACA,aAAa;IACb;IACA,SAAS,uBAAuB,SAAS,SAAS,QAAQ,sBAAsB,aAAa,cAAc,WAAW,SAAS,WAAW,kBAAkB;GAC7J;EACD,OAAO,IAAI,SAAS,gBAAgB,OAAO,eAAe,SAAS,aAAa;GAC/E;GACA,aAAa;GACb;EACD;OACK,eAAe,SAAS,aAAa;GACzC;GACA,aAAa,SAAS;GACtB,UAAU,sBAAsB,eAAe,QAAQ;GACvD;EACD;CACD;CACA,OAAO;AACR;;AAIA,SAAS,SAAS,aAAa,WAAW;CACzC,OAAO,KAAK,UAAU,CAAC,aAAa,SAAS,CAAC;AAC/C;;AAIA,SAAS,kBAAkB,IAAI,aAAa,SAAS;CACpD,MAAM,SAAS;EACd,aAAa,cAAc,YAAY,WAAW;EAClD,WAAW,YAAY;EACvB,SAAS,GAAG;CACb;CACA,MAAM,UAAU;EACf,GAAG,gBAAgB;GAClB,GAAG,UAAU,cAAc,GAAG,UAAU;GACxC,GAAG,UAAU,SAAS,GAAG,KAAK;EAC/B,GAAG,QAAQ,kBAAkB;EAC7B,GAAG,UAAU,QAAQ,GAAG,IAAI;EAC5B,GAAG,UAAU,YAAY,GAAG,QAAQ;EACpC,GAAG,UAAU,YAAY,GAAG,QAAQ;CACrC;CACA,IAAI,GAAG,WAAW,YAAY,KAAK,GAAG,OAAO;EAC5C;EACA,QAAQ;GACP,aAAa,cAAc,GAAG,WAAW,eAAe,QAAQ,kBAAkB;GAClF,WAAW,GAAG,WAAW;GACzB,SAAS,GAAG,WAAW;GACvB,SAAS,GAAG,WAAW;EACxB;EACA,GAAG;CACJ;CACA,MAAM,EAAE,eAAe;CACvB,IAAI,WAAW,UAAU,KAAK,GAAG;EAChC,MAAM,cAAc,qBAAqB,WAAW,aAAa,QAAQ,kBAAkB;EAC3F,IAAI,CAAC,QAAQ,eAAe,IAAI,SAAS,aAAa,WAAW,KAAK,CAAC,GAAG,MAAM,cAAc,0BAA0B,kBAAkB,sBAAsB,YAAY,KAAK,EAAE,qBAAqB,WAAW,MAAM,kBAAkB,YAAY,iHAAiH,EAAE,MAAM;GAC/W,GAAG,mBAAmB,YAAY,KAAK;GACvC,iBAAiB,WAAW;GAC5B;EACD,EAAE,CAAC;EACH,OAAO;GACN;GACA,QAAQ;IACP,aAAa,cAAc,WAAW;IACtC,WAAW,WAAW;IACtB,SAAS,WAAW;GACrB;GACA,GAAG;EACJ;CACD;CACA,MAAM,cAAc,uBAAuB,QAAQ,cAAc,QAAQ,oBAAoB,YAAY,OAAO,WAAW,OAAO,GAAG,WAAW,aAAa,aAAa;CAC1K,yBAAyB,YAAY,OAAO,aAAa,GAAG,WAAW,OAAO,aAAa;CAC3F,OAAO;EACN;EACA,QAAQ;GACP,aAAa,cAAc,qBAAqB,GAAG,WAAW,aAAa,iBAAiB,aAAa,QAAQ,kBAAkB,CAAC,CAAC;GACrI,WAAW,GAAG,WAAW;GACzB,SAAS,GAAG,WAAW;EACxB;EACA,GAAG;CACJ;AACD;;;;;;;;;;AAYA,SAAS,2BAA2B,YAAY,aAAa;CAC5D,MAAM,YAAY,WAAW;CAC7B,IAAI,cAAc,KAAK,GAAG,OAAO;CACjC,OAAO;EACN,GAAG;EACH,UAAU;GACT,OAAO;GACP,YAAY;GACZ;GACA,YAAY,UAAU;EACvB;CACD;AACD;;;;;;;;AAQA,SAAS,uBAAuB,WAAW;CAC1C,OAAO,uBAAuB,aAAa,OAAO,UAAU,sBAAsB;AACnF;;;;;;AAMA,SAAS,2BAA2B,WAAW;CAC9C,OAAO,4BAA4B,aAAa,OAAO,UAAU,2BAA2B;AAC7F;AACA,SAAS,+BAA+B,QAAQ;CAC/C,MAAM,YAAY,OAAO;CACzB,IAAI,cAAc,KAAK,GAAG,OAAO,KAAK;CACtC,OAAO,2BAA2B,SAAS,IAAI,UAAU,yBAAyB,KAAK;AACxF;AACA,SAAS,2BAA2B,QAAQ;CAC3C,MAAM,YAAY,OAAO;CACzB,IAAI,cAAc,KAAK,GAAG,OAAO,KAAK;CACtC,OAAO,uBAAuB,SAAS,IAAI,UAAU,oBAAoB,KAAK;AAC/E;;;;;AAKA,SAAS,wBAAwB,YAAY,aAAa,SAAS;CAClE,IAAI,YAAY,KAAK,GAAG,OAAO;CAC/B,MAAM,YAAY,QAAQ;EACzB,SAAS,WAAW;EACpB,GAAG,UAAU,cAAc,WAAW,UAAU;CACjD,GAAG,WAAW;CACd,IAAI,UAAU,eAAe,WAAW,YAAY,OAAO;CAC3D,OAAO;EACN,GAAG;EACH,GAAG,UAAU,cAAc,UAAU,UAAU;CAChD;AACD;;;;AAIA,SAAS,wBAAwB,YAAY,aAAa,SAAS;CAClE,MAAM,WAAW,2BAA2B,YAAY,WAAW;CACnE,OAAO,wBAAwB,UAAU,SAAS,UAAU,eAAe,aAAa,OAAO;AAChG;;;;AAMA,SAAS,cAAc,OAAO,SAAS;CACtC,MAAM,cAAc,iBAAiB,OAAO,QAAQ,kBAAkB;CACtE,MAAM,EAAE,cAAc;CACtB,MAAM,gBAAgB,CAAC;CACvB,MAAM,eAAe,CAAC;CACtB,MAAM,oBAAoB,CAAC;CAC3B,KAAK,MAAM,SAAS,MAAM,QAAQ;EACjC,MAAM,mBAAmB,mBAAmB,KAAK;EACjD,cAAc,MAAM,aAAa,MAAM;EACvC,aAAa,MAAM,aAAa,iBAAiB,oBAAoB,KAAK,IAAI,QAAQ;GACrF,GAAG;GACH,YAAY,wBAAwB,MAAM,YAAY,aAAa,QAAQ,iBAAiB;EAC7F,GAAG,QAAQ,oBAAoB,QAAQ,YAAY;EACnD,IAAI,kBAAkB,kBAAkB,KAAK;GAC5C,KAAK;IACJ,WAAW;IACX,OAAO;IACP,OAAO,MAAM;GACd;GACA,GAAG,UAAU,YAAY,iBAAiB,QAAQ;GAClD,GAAG,UAAU,YAAY,iBAAiB,QAAQ;EACnD,CAAC;CACF;CACA,MAAM,UAAU,qBAAqB,OAAO,cAAc,MAAM,eAAe,CAAC,EAAA,CAAG,KAAK,OAAO,kBAAkB,IAAI;EACpH;EACA,WAAW,MAAM;EACjB,OAAO;GACN,MAAM;GACN,WAAW,MAAM;EAClB;CACD,GAAG,OAAO,CAAC,CAAC;CACZ,MAAM,gBAAgB,CAAC;CACvB,KAAK,MAAM,CAAC,WAAW,eAAe,OAAO,QAAQ,aAAa,GAAG,cAAc,aAAa,EAAE,QAAQ,WAAW;CACrH,MAAM,gBAAgB,IAAI,IAAI,OAAO,QAAQ,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,KAAK,KAAK,CAAC,CAAC;CAC/F,OAAO;EACN;EACA,QAAQ;GACP;GACA,WAAW,MAAM;GACjB,OAAO;IACN,SAAS;KACR,OAAO;KACP;KACA,QAAQ;IACT;IACA,QAAQ;IACR,WAAW,eAAe,OAAO,eAAe,OAAO;GACxD;GACA;EACD;CACD;AACD;;;;AAIA,SAAS,qBAAqB,OAAO,aAAa,aAAa;CAC9D,MAAM,EAAE,cAAc;CACtB,MAAM,UAAU,MAAM,OAAO,KAAK,UAAU,oBAAoB,MAAM,WAAW,KAAK,CAAC;CACvF,IAAI,MAAM,iBAAiB;EAC1B,IAAI,MAAM,UAAU,MAAM,OAAO,SAAS,GAAG,MAAM,cAAc,iCAAiC,UAAU,MAAM,UAAU,gMAAgM,EAAE,MAAM;GACnU;GACA,WAAW,MAAM;EAClB,EAAE,CAAC;EACH,OAAO;GACN,MAAM;GACN,WAAW,MAAM;GACjB;GACA;GACA;EACD;CACD;CACA,OAAO;EACN,MAAM;EACN,WAAW,MAAM;EACjB,OAAO;GACN;GACA;GACA;GACA,SAAS,MAAM;GACf,IAAI,MAAM;GACV,SAAS,MAAM,WAAW,CAAC;GAC3B,SAAS,MAAM,WAAW,CAAC;GAC3B,QAAQ,MAAM,UAAU,CAAC;GACzB;EACD;CACD;AACD;AACA,SAAS,oBAAoB,WAAW,OAAO;CAC9C,MAAM,OAAO;EACZ,MAAM;EACN;EACA,WAAW,MAAM;CAClB;CACA,IAAI,oBAAoB,KAAK,GAAG,OAAO,eAAe;EACrD,YAAY,MAAM;EAClB,YAAY,MAAM;EAClB,UAAU,MAAM;EAChB,GAAG,UAAU,WAAW,MAAM,OAAO;CACtC,GAAG,IAAI;CACP,OAAO,eAAe,OAAO,IAAI;AAClC;AACA,SAAS,mBAAmB,OAAO;CAClC,OAAO,MAAM,mBAAmB,YAAY,MAAM,mBAAmB,WAAW,MAAM,oBAAoB,KAAK;AAChH;;AAIA,SAAS,kBAAkB,OAAO,SAAS;CAC1C,MAAM,cAAc,qBAAqB,MAAM,aAAa,QAAQ,kBAAkB;CACtF,MAAM,EAAE,cAAc;CACtB,MAAM,QAAQ;EACb,MAAM;EACN;EACA;CACD;CACA,OAAO;EACN;EACA;EACA,SAAS,MAAM,QAAQ,KAAK,WAAW,eAAe,QAAQ;GAC7D,MAAM;GACN;GACA;GACA,YAAY,OAAO;EACpB,CAAC,CAAC;EACF,IAAI,MAAM;EACV,SAAS,MAAM,WAAW,CAAC;EAC3B,SAAS,MAAM,WAAW,CAAC;EAC3B,QAAQ,MAAM,UAAU,CAAC;EACzB,cAAc,MAAM,eAAe,CAAC,EAAA,CAAG,KAAK,OAAO,kBAAkB,IAAI;GACxE;GACA;GACA;EACD,GAAG,OAAO,CAAC;EACX,SAAS,MAAM;CAChB;AACD;;;;AAMA,SAAS,YAAY,SAAS,YAAY,aAAa;CACtD,OAAO,YAAY,aAAa;EAC/B;EACA,GAAG,UAAU,cAAc,eAAe,KAAK,IAAI,KAAK,IAAI,UAAU,UAAU,CAAC;CAClF,CAAC;AACF;;AAEA,SAAS,eAAe,OAAO,OAAO;CACrC,IAAI,OAAO;EACV,MAAM,SAAS,MAAM,gBAAgB,KAAK;EAC1C,MAAM,kBAAkB,MAAM;EAC9B,OAAO,MAAM,SAAS,WAAW,MAAM;CACxC;CACA,OAAO,UAAU,KAAK;AACvB;AACA,SAAS,eAAe,MAAM,OAAO,iBAAiB;CACrD,MAAM,UAAU,oBAAoB,KAAK,IAAI,YAAY,oBAAoB,gBAAgB;CAC7F,MAAM,SAAS,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;CACpE,OAAO,cAAc,4BAA4B,GAAG,kBAAkB,IAAI,EAAE,SAAS,QAAQ,2BAA2B,UAAU;EACjI;EACA,MAAM;GACL,GAAG,eAAe,IAAI;GACtB,SAAS,KAAK;GACd,QAAQ;GACR,GAAG,UAAU,mBAAmB,eAAe;EAChD;CACD,CAAC;AACF;AACA,SAAS,mBAAmB,OAAO,OAAO,MAAM,iBAAiB;CAChE,IAAI;EACH,OAAO,eAAe,OAAO,KAAK;CACnC,SAAS,OAAO;EACf,IAAI,iBAAiB,eAAe,MAAM;EAC1C,MAAM,eAAe,MAAM,OAAO,eAAe;CAClD;AACD;AACA,SAAS,gBAAgB,aAAa,cAAc,MAAM;CACzD,MAAM,QAAQ,qBAAqB,aAAa,cAAc,IAAI;CAClE,IAAI,UAAU,KAAK,GAAG,MAAM,cAAc,4BAA4B,GAAG,kBAAkB,IAAI,EAAE,kEAAkE,KAAK,QAAQ,4FAA4F,EAAE,MAAM;EACnR,GAAG,eAAe,IAAI;EACtB,SAAS,KAAK;EACd,QAAQ;CACT,EAAE,CAAC;CACH,OAAO;AACR;AACA,SAAS,qBAAqB,aAAa,cAAc,MAAM;CAC9D,IAAI;EACH,OAAO,aAAa,WAAW;CAChC,SAAS,OAAO;EACf,IAAI,CAAC,kBAAkB,KAAK,KAAK,MAAM,SAAS,+BAA+B,MAAM;EACrF,MAAM,cAAc,6BAA6B,GAAG,kBAAkB,IAAI,EAAE,uDAAuD,MAAM,WAAW;GACnJ;GACA,MAAM;IACL,GAAG,eAAe,IAAI;IACtB,SAAS,KAAK;IACd,QAAQ;GACT;EACD,CAAC;CACF;AACD;AACA,SAAS,oBAAoB,cAAc,aAAa,cAAc,MAAM,OAAO,OAAO,kBAAkB,OAAO;CAClH,IAAI,aAAa,SAAS,YAAY,OAAO;EAC5C,MAAM;EACN,YAAY,aAAa;CAC1B;CACA,IAAI,kBAAkB,gBAAgB,aAAa,iBAAiB,MAAM,OAAO;EAChF,MAAM;EACN,OAAO,UAAU,aAAa,KAAK;CACpC;CACA,IAAI,MAAM;EACT,IAAI,CAAC,MAAM,QAAQ,aAAa,KAAK,GAAG,MAAM,cAAc,4BAA4B,GAAG,kBAAkB,IAAI,EAAE,yDAAyD,OAAO,aAAa,MAAM,oCAAoC,EAAE,MAAM;GACjP,GAAG,eAAe,IAAI;GACtB,SAAS,KAAK;GACd,QAAQ;EACT,EAAE,CAAC;EACH,MAAM,QAAQ,gBAAgB,aAAa,cAAc,IAAI;EAC7D,OAAO;GACN,MAAM;GACN,OAAO,aAAa,MAAM,KAAK,SAAS,UAAU;IACjD,IAAI,YAAY,MAAM,OAAO,mBAAmB,SAAS,OAAO,MAAM,QAAQ,CAAC;IAC/E,IAAI,iBAAiB,OAAO;IAC5B,MAAM,IAAI,cAAc,uEAAuE;GAChG,CAAC;EACF;CACD;CACA,OAAO;EACN,MAAM;EACN,OAAO,mBAAmB,aAAa,OAAO,gBAAgB,aAAa,cAAc,IAAI,GAAG,IAAI;CACrG;AACD;;;;;;;;;;;;;;;AAiBA,SAAS,wBAAwB,WAAW,aAAa,WAAW;CACnE,MAAM,QAAQ,UAAU,gBAAgB,CAAC;CACzC,MAAM,UAAU,MAAM,UAAU,eAAe,CAAC;CAChD,MAAM,WAAW,QAAQ,UAAU;CACnC,IAAI,aAAa,KAAK,KAAK,aAAa,UAAU,QAAQ,MAAM,cAAc,2BAA2B,kDAAkD,UAAU,WAAW,oBAAoB,UAAU,WAAW,kBAAkB,YAAY,sDAAsD,EAAE,MAAM;EACpT,MAAM,UAAU;EAChB,MAAM,UAAU;EAChB;CACD,EAAE,CAAC;CACH,QAAQ,UAAU,cAAc,UAAU;CAC1C,MAAM,UAAU,cAAc;CAC9B,UAAU,eAAe;AAC1B;;;;;;;;;;;AAWA,SAAS,+BAA+B,aAAa,UAAU,iBAAiB;CAC/E,IAAI,aAAa,KAAK,GAAG,OAAO;CAChC,IAAI,oBAAoB,KAAK,GAAG,OAAO;CACvC,MAAM,wBAAwB,IAAI,IAAI,CAAC,GAAG,OAAO,KAAK,QAAQ,GAAG,GAAG,OAAO,KAAK,eAAe,CAAC,CAAC;CACjG,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,QAAQ,OAAO;EACzB,MAAM,kBAAkB,SAAS;EACjC,MAAM,gBAAgB,gBAAgB;EACtC,KAAK,MAAM,CAAC,MAAM,WAAW,OAAO,QAAQ,iBAAiB,CAAC,CAAC,GAAG;GACjE,MAAM,WAAW,kBAAkB;GACnC,IAAI,aAAa,KAAK,KAAK,aAAa,QAAQ,MAAM,cAAc,2BAA2B,kDAAkD,KAAK,oBAAoB,KAAK,kBAAkB,YAAY,iHAAiH,EAAE,MAAM;IACrU;IACA;IACA;GACD,EAAE,CAAC;EACJ;EACA,OAAO,QAAQ;GACd,GAAG;GACH,GAAG;EACJ;CACD;CACA,OAAO;AACR;;;;;;;AAOA,MAAM,sCAAsC,IAAI,IAAI,CAAC,gBAAgB,MAAM,mBAAmB,IAAI,CAAC;AACnG,SAAS,2BAA2B,aAAa,eAAe;CAC/D,IAAI,kBAAkB,KAAK,GAAG;CAC9B,KAAK,MAAM,QAAQ,OAAO,KAAK,aAAa,GAAG,IAAI,oBAAoB,IAAI,IAAI,GAAG,MAAM,cAAc,gCAAgC,iEAAiE,YAAY,yBAAyB,KAAK,gFAAgF,EAAE,MAAM;EACxU,YAAY;EACZ;CACD,EAAE,CAAC;AACJ;;;;;;;;;;AAUA,SAAS,4CAA4C,YAAY;CAChE,MAAM,yBAAyB,IAAI,IAAI;CACvC,MAAM,QAAQ,cAAc;EAC3B,KAAK,MAAM,SAAS,OAAO,OAAO,SAAS,GAAG,IAAI,gCAAgC,KAAK,GAAG,OAAO,IAAI,MAAM,eAAe,KAAK;OAC1H,KAAK,KAAK;CAChB;CACA,MAAM,aAAa,CAAC,WAAW,QAAQ,GAAG,OAAO,OAAO,WAAW,cAAc,CAAC,CAAC,CAAC;CACpF,KAAK,MAAM,aAAa,YAAY;EACnC,MAAM,cAAc,UAAU,WAAW;EACzC,IAAI,gBAAgB,KAAK,GAAG,KAAK,WAAW;CAC7C;CACA,OAAO;AACR;;;;;;;;;;AAUA,SAAS,sBAAsB,eAAe,4BAA4B;CACzE,IAAI,kBAAkB,KAAK,GAAG,OAAO,KAAK;CAC1C,IAAI;CACJ,KAAK,MAAM,CAAC,MAAM,mBAAmB,OAAO,QAAQ,aAAa,GAAG;EACnE,MAAM,aAAa,2BAA2B,IAAI,IAAI;EACtD,IAAI,eAAe,KAAK,GAAG;EAC3B,KAAK,MAAM,CAAC,MAAM,WAAW,OAAO,QAAQ,cAAc,GAAG;GAC5D,MAAM,kBAAkB,yBAAyB,WAAW,QAAQ,MAAM;GAC1E,IAAI,oBAAoB,KAAK,GAAG;GAChC,WAAW,CAAC;GACZ,OAAO,QAAQ;EAChB;CACD;CACA,OAAO;AACR;;;;;;;;;;AAUA,SAAS,wBAAwB,aAAa,eAAe,eAAe;CAC3E,IAAI,kBAAkB,KAAK,KAAK,kBAAkB,KAAK,GACjD;OAAA,MAAM,QAAQ,OAAO,KAAK,aAAa,GAAG,IAAI,OAAO,OAAO,eAAe,IAAI,GAAG,MAAM,cAAc,2BAA2B,8CAA8C,KAAK,kBAAkB,YAAY,yFAAyF,EAAE,MAAM;GACvT,MAAM;GACN;GACA;EACD,EAAE,CAAC;CAAA;CAEJ,OAAO;EACN,GAAG;EACH,GAAG;CACJ;AACD;;;;;;;;;;;;AAcA,SAAS,oBAAoB,WAAW,YAAY;CACnD,OAAO,WAAW,KAAK,cAAc,IAAI,gBAAgB;EACxD,QAAQ;GACP,MAAM;GACN,QAAQ,uBAAuB,WAAW,UAAU,YAAY,UAAU,IAAI;GAC9E,MAAM,wBAAwB,UAAU,UAAU;EACnD;EACA,YAAY,UAAU;CACvB,CAAC,CAAC;AACH;AACA,SAAS,yBAAyB,UAAU,YAAY,MAAM;CAC7D,IAAI;EACH,sBAAsB,UAAU,eAAe,UAAU,UAAU,CAAC;CACrE,SAAS,OAAO;EACf,IAAI,CAAC,kBAAkB,KAAK,KAAK,MAAM,SAAS,gCAAgC,MAAM;EACtF,MAAM,cAAc,gCAAgC,GAAG,kBAAkB,IAAI,EAAE,2DAA2D,MAAM,WAAW;GAC1J;GACA,MAAM;IACL,GAAG,MAAM;IACT,GAAG,eAAe,IAAI;GACvB;EACD,CAAC;CACF;AACD;;;;;;;;AAQA,SAAS,YAAY,aAAa,WAAW,SAAS;CACrD,MAAM,EAAE,MAAM,SAAS;CACvB,MAAM,EAAE,gBAAgB,QAAQ;CAChC,MAAM,YAAY,YAAY,WAAW;CACzC,IAAI,cAAc,KAAK,GAAG,wBAAwB,QAAQ,yBAAyB,UAAU,aAAa,SAAS;CACnH,MAAM,aAAa,wBAAwB,YAAY,YAAY,UAAU,aAAa,QAAQ,iBAAiB;CACnH,MAAM,kBAAkB,SAAS,SAAS,KAAK;CAC/C,MAAM,UAAU,WAAW;CAC3B,MAAM,aAAa,mBAAmB,YAAY,QAAQ,YAAY;CACtE,MAAM,WAAW,mBAAmB,SAAS,QAAQ,OAAO;CAC5D,yBAAyB,UAAU,YAAY,IAAI;CACnD,MAAM,iBAAiB,YAAY,YAAY,KAAK,IAAI,oBAAoB,YAAY,SAAS,cAAc,WAAW,YAAY,SAAS,YAAY,MAAM,GAAG;EACnK,GAAG;EACH;CACD,GAAG,SAAS,OAAO,eAAe,IAAI,KAAK;CAC3C,MAAM,WAAW,iBAAiB,YAAY,gBAAgB,QAAQ,kBAAkB;CACxF,UAAU,aAAa,KAAK,KAAK,WAAW,aAAa,KAAK,GAAG,GAAG,kBAAkB,IAAI,EAAE,2FAA2F;CACvL,MAAM,WAAW,UAAU,WAAW,WAAW;CACjD,MAAM,SAAS;EACd,UAAU,SAAS;EACnB;EACA,UAAU,YAAY;EACtB;EACA,GAAG,UAAU,cAAc,WAAW,UAAU;EAChD,GAAG,UAAU,WAAW,cAAc;EACtC,GAAG,UAAU,WAAW,WAAW,OAAO;EAC1C,GAAG,UAAU,YAAY,QAAQ;CAClC;CACA,MAAM,SAAS,QAAQ;CACvB,IAAI,WAAW,KAAK,KAAK,CAAC,UAAU,eAAe,OAAO;EACzD;EACA,eAAe,CAAC;CACjB;CACA,MAAM,EAAE,mBAAmB;CAC3B,MAAM,aAAa,OAAO;EACzB,WAAW,UAAU;EACrB,YAAY,YAAY;EACxB,MAAM,SAAS;EACf;EACA,cAAc,mBAAmB,KAAK,IAAI,kBAAkB,gBAAgB,WAAW,IAAI,KAAK;CACjG,CAAC;CACD,OAAO;EACN;EACA,eAAe,oBAAoB,UAAU,WAAW,UAAU;CACnE;AACD;AAGA,MAAM,wBAAwB,CAAC,cAAc,gBAAgB;;;;;;;;AAQ7D,SAAS,4BAA4B,WAAW,aAAa,QAAQ;CACpE,OAAO,YAAY,QAAQ,eAAe,sBAAsB,MAAM,SAAS,uBAAuB,WAAW,YAAY,IAAI,MAAM,MAAM,CAAC;AAC/I;;;;;;AAMA,SAAS,WAAW,OAAO,SAAS;CACnC,MAAM,EAAE,cAAc;CACtB,MAAM,gBAAgB,uBAAuB,MAAM,SAAS,QAAQ,oBAAoB,MAAM;CAC9F,MAAM,YAAY;EACjB,aAAa,MAAM;EACnB;EACA;CACD;CACA,MAAM,UAAU,CAAC;CACjB,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,eAAe,MAAM,SAAS;EACxC,MAAM,UAAU,YAAY,aAAa,WAAW,OAAO;EAC3D,QAAQ,YAAY,cAAc,QAAQ;EAC1C,OAAO,KAAK,GAAG,QAAQ,aAAa;CACrC;CACA,MAAM,UAAU,MAAM,QAAQ,KAAK,OAAO;EACzC,SAAS,EAAE;EACX,GAAG,UAAU,QAAQ,EAAE,IAAI;CAC5B,EAAE;CACF,MAAM,kBAAkB,MAAM,QAAQ,KAAK,WAAW;EACrD,aAAa,MAAM,SAAS,KAAK,KAAK,MAAM,QAAQ,KAAK;EACzD,OAAO,mBAAmB,WAAW,mBAAmB,KAAK,GAAG,QAAQ,UAAU,QAAQ,iBAAiB;CAC5G,EAAE;CACF,OAAO,KAAK,GAAG,oBAAoB,WAAW,OAAO,KAAK,OAAO,GAAG,MAAM,QAAQ,OAAO,CAAC;CAC1F,MAAM,aAAa,MAAM,KAAK;EAC7B,SAAS,MAAM,GAAG;EAClB,GAAG,UAAU,QAAQ,MAAM,GAAG,IAAI;CACnC,IAAI,KAAK;CACT,MAAM,EAAE,aAAa,YAAY,iCAAiC;EACjE;EACA,aAAa,MAAM;EACnB;EACA;EACA;EACA,UAAU,QAAQ;EAClB,YAAY,QAAQ;CACrB,CAAC;CACD,OAAO;EACN;EACA,GAAG,UAAU,WAAW,MAAM,OAAO;EACrC;EACA,SAAS,QAAQ,KAAK,MAAM,IAAI,MAAM,CAAC,CAAC;EACxC;EACA,GAAG,aAAa,EAAE,WAAW,IAAI,CAAC;EAClC,GAAG,OAAO,SAAS,IAAI,EAAE,QAAQ,iBAAiB,MAAM,EAAE,IAAI,CAAC;CAChE;AACD;;;;AAIA,SAAS,iBAAiB,QAAQ;CACjC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,GAAG,MAAM,iBAAiB,EAAE,MAAM,EAAE,IAAI,CAAC;AACnE;AACA,SAAS,mBAAmB,OAAO;CAClC,OAAO,UAAU;EAChB,GAAG,UAAU,WAAW,MAAM,OAAO;EACrC,GAAG,UAAU,cAAc,MAAM,UAAU;EAC3C,OAAO,MAAM;EACb,QAAQ,MAAM;EACd,KAAK,MAAM;EACX,MAAM,MAAM;EACZ,MAAM,MAAM;EACZ,SAAS,MAAM;CAChB,CAAC;AACF;;AAEA,SAAS,oBAAoB,WAAW,kBAAkB,gBAAgB,SAAS;CAClF,IAAI,eAAe,WAAW,GAAG,OAAO,CAAC;CACzC,MAAM,wBAAwB,qBAAqB,WAAW,gBAAgB;CAC9E,OAAO,eAAe,KAAK,kBAAkB;EAC5C,MAAM,UAAU,mBAAmB,WAAW,eAAe,QAAQ,QAAQ;EAC7E,IAAI,QAAQ,OAAO,SAAS,UAAU,sBAAsB,IAAI,QAAQ,OAAO,MAAM,GAAG;GACvF,MAAM,mBAAmB,4BAA4B,WAAW,kBAAkB,QAAQ,OAAO,MAAM;GACvG,MAAM,aAAa,iBAAiB,KAAK,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI;GACxE,MAAM,cAAc,gCAAgC,UAAU,QAAQ,OAAO,OAAO,cAAc,UAAU,0FAA0F,iBAAiB,WAAW,IAAI,KAAK,IAAI,GAAG,WAAW,+EAA+E,EAAE,MAAM;IACnV;IACA,QAAQ,QAAQ,OAAO;IACvB;GACD,EAAE,CAAC;EACJ;EACA,OAAO,IAAI,gBAAgB,OAAO;CACnC,CAAC;AACF;;AAIA,MAAM,sBAAsB;CAC3B,IAAI;CACJ,SAAS;CACT,SAAS;CACT,QAAQ;CACR,aAAa;CACb,SAAS;AACV;AACA,SAAS,gBAAgB,KAAK;CAC7B,OAAO,OAAO,OAAO,qBAAqB,GAAG;AAC9C;;;;;;;;AAQA,SAAS,YAAY,UAAU,YAAY;CAC1C,MAAM,yBAAyB,IAAI,IAAI;CACvC,MAAM,+BAA+B,IAAI,IAAI;CAC7C,KAAK,MAAM,WAAW,UAAU;EAC/B,IAAI,QAAQ,SAAS,YAAY;EACjC,MAAM,EAAE,UAAU;EAClB,MAAM,MAAM,SAAS,MAAM,aAAa,MAAM,SAAS;EACvD,IAAI,OAAO,IAAI,GAAG,GAAG,MAAM,cAAc,2BAA2B,oDAAoD,MAAM,UAAU,kBAAkB,MAAM,YAAY,KAAK,EAAE,MAAM;GACxL,MAAM;GACN,MAAM,MAAM;GACZ,aAAa,MAAM;EACpB,EAAE,CAAC;EACH,OAAO,IAAI,KAAK,KAAK;EACrB,aAAa,IAAI,KAAK,QAAQ,SAAS;CACxC;CACA,MAAM,WAAW,SAAS,QAAQ,YAAY,QAAQ,SAAS,WAAW;CAC1E,MAAM,qBAAqB,0BAA0B,QAAQ;CAC7D,MAAM,gCAAgC,IAAI,IAAI;CAC9C,KAAK,MAAM,aAAa,YAAY;EACnC,MAAM,MAAM,SAAS,UAAU,aAAa,UAAU,SAAS;EAC/D,IAAI,cAAc,IAAI,GAAG,GAAG,MAAM,cAAc,2BAA2B,UAAU,UAAU,UAAU,kBAAkB,UAAU,YAAY,oCAAoC,EAAE,MAAM;GAC5L,MAAM;GACN,MAAM,UAAU;GAChB,aAAa,UAAU;EACxB,EAAE,CAAC;EACH,cAAc,IAAI,GAAG;EACrB,MAAM,cAAc,mBAAmB,IAAI,GAAG,qBAAqB,IAAI,IAAI;EAC3E,MAAM,YAAY,aAAa,IAAI,GAAG;EACtC,MAAM,WAAW,OAAO,IAAI,GAAG;EAC/B,IAAI,cAAc,KAAK,KAAK,aAAa,KAAK,GAAG;GAChD,OAAO,IAAI,KAAK;IACf,GAAG;IACH,SAAS,YAAY,CAAC,GAAG,WAAW,WAAW;GAChD,CAAC;GACD;EACD;EACA,kBAAkB,WAAW,SAAS;EACtC,OAAO,IAAI,KAAK;GACf,GAAG;GACH,SAAS,YAAY,SAAS,SAAS,WAAW,WAAW;EAC9D,CAAC;CACF;CACA,KAAK,MAAM,WAAW,UAAU;EAC/B,MAAM,QAAQ,OAAO,IAAI,SAAS,QAAQ,aAAa,QAAQ,SAAS,CAAC;EACzE,IAAI,UAAU,KAAK,GAAG,gCAAgC,SAAS,KAAK;CACrE;CACA,OAAO,CAAC,GAAG,OAAO,OAAO,CAAC;AAC3B;;AAEA,SAAS,0BAA0B,UAAU;CAC5C,MAAM,wBAAwB,IAAI,IAAI;CACtC,KAAK,MAAM,WAAW,UAAU;EAC/B,MAAM,MAAM,SAAS,QAAQ,aAAa,QAAQ,SAAS;EAC3D,MAAM,WAAW,MAAM,IAAI,GAAG,qBAAqB,IAAI,IAAI;EAC3D,KAAK,MAAM,UAAU,QAAQ,SAAS,IAAI,CAAC,SAAS,IAAI,OAAO,UAAU,GAAG,SAAS,IAAI,OAAO,YAAY,OAAO,IAAI;EACvH,MAAM,IAAI,KAAK,QAAQ;CACxB;CACA,OAAO;AACR;;;;AAIA,SAAS,YAAY,SAAS,WAAW,oBAAoB;CAC5D,MAAM,QAAQ,IAAI,IAAI,QAAQ,KAAK,WAAW,CAAC,OAAO,YAAY,OAAO,IAAI,CAAC,CAAC;CAC/E,KAAK,MAAM,UAAU,UAAU,SAAS;EACvC,MAAM,UAAU,mBAAmB,IAAI,OAAO,UAAU,KAAK,MAAM,IAAI,OAAO,UAAU;EACxF,IAAI,YAAY,KAAK,GAAG;GACvB,MAAM,UAAU,QAAQ,SAAS,UAAU,yBAAyB,QAAQ,UAAU,GAAG,QAAQ,UAAU,+BAA+B;GAC1I,MAAM,cAAc,2BAA2B,WAAW,OAAO,WAAW,cAAc,UAAU,UAAU,IAAI,QAAQ,IAAI,EAAE,MAAM;IACrI,MAAM;IACN,MAAM,OAAO;IACb,WAAW,UAAU;IACrB,aAAa,UAAU;GACxB,EAAE,CAAC;EACJ;EACA,MAAM,IAAI,OAAO,YAAY,OAAO,IAAI;CACzC;CACA,OAAO,CAAC,GAAG,SAAS,GAAG,UAAU,OAAO;AACzC;AACA,SAAS,SAAS,OAAO;CACxB,OAAO,MAAM,QAAQ,KAAK,IAAI,MAAM,SAAS,IAAI,UAAU,KAAK;AACjE;AACA,SAAS,kBAAkB,WAAW,WAAW;CAChD,MAAM,WAAW,OAAO,KAAK,mBAAmB,CAAC,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,SAAS,SAAS,UAAU,KAAK,CAAC;CAClH,IAAI,aAAa,KAAK,GAAG;CACzB,MAAM,cAAc,iCAAiC,2BAA2B,UAAU,UAAU,WAAW,oBAAoB,UAAU,eAAe,UAAU,iHAAiH,EAAE,MAAM;EAC9R,aAAa,UAAU;EACvB,WAAW,UAAU;EACrB;EACA;CACD,EAAE,CAAC;AACJ;AACA,SAAS,gCAAgC,SAAS,OAAO;CACxD,MAAM,UAAU,IAAI,IAAI,MAAM,QAAQ,KAAK,WAAW,OAAO,UAAU,CAAC;CACxE,MAAM,UAAU,QAAQ,QAAQ,MAAM,WAAW,CAAC,QAAQ,IAAI,OAAO,UAAU,CAAC;CAChF,IAAI,YAAY,KAAK,GAAG;CACxB,MAAM,cAAc,6CAA6C,UAAU,QAAQ,UAAU,kBAAkB,QAAQ,UAAU,oEAAoE,QAAQ,WAAW,mFAAmF,EAAE,MAAM;EAClT,WAAW,QAAQ;EACnB,aAAa,QAAQ;EACrB,WAAW,QAAQ;EACnB,YAAY,QAAQ;CACrB,EAAE,CAAC;AACJ;;;;AAMA,SAAS,+BAA+B,UAAU,QAAQ;CACzD,MAAM,+BAA+B,IAAI,IAAI;CAC7C,KAAK,MAAM,WAAW,UAAU,IAAI,QAAQ,SAAS,YAAY,aAAa,IAAI,SAAS,QAAQ,MAAM,aAAa,QAAQ,MAAM,SAAS,GAAG,QAAQ,SAAS;CACjK,MAAM,WAAW,CAAC;CAClB,KAAK,MAAM,SAAS,QAAQ;EAC3B,MAAM,YAAY,aAAa,IAAI,SAAS,MAAM,aAAa,MAAM,SAAS,CAAC;EAC/E,IAAI,cAAc,KAAK,GAAG;EAC1B,KAAK,MAAM,UAAU,MAAM,SAAS;GACnC,IAAI,OAAO,KAAK,SAAS,eAAe,OAAO,YAAY,OAAO,YAAY,KAAK,GAAG;GACtF,SAAS,KAAK;IACb,MAAM;IACN,SAAS,WAAW,OAAO,WAAW,cAAc,MAAM,UAAU,2DAA2D,UAAU;IACzI,MAAM,UAAU,MAAM,UAAU,aAAa,OAAO,WAAW;IAC/D,SAAS;GACV,CAAC;EACF;CACD;CACA,OAAO;AACR;AAGA,SAAS,uBAAuB,UAAU,mBAAmB,aAAa;CACzE,MAAM,iBAAiB,yBAAyB,SAAS,OAAO;CAChE,IAAI,eAAe,SAAS,GAAG,MAAM,cAAc,8BAA8B,wCAAwC,eAAe,KAAK,IAAI,KAAK,EAAE,MAAM,EAAE,QAAQ,eAAe,EAAE,CAAC;CAC1L,mBAAmB,UAAU,oBAAoB,YAAY,YAAY,cAAc,OAAO,CAAC,EAAE,MAAM;AACxG;AACA,SAAS,qCAAqC,YAAY;CACzD,MAAM,qBAAqB,WAAW,OAAO;CAC7C,MAAM,WAAW;EAChB,GAAG,WAAW,cAAc,CAAC;EAC7B,GAAG,WAAW,OAAO,KAAK,UAAU,MAAM,WAAW;EACrD,IAAI,WAAW,UAAU,CAAC,EAAA,CAAG,KAAK,UAAU,MAAM,WAAW;EAC7D,GAAG,OAAO,KAAK,WAAW,oBAAoB,CAAC,CAAC;CACjD;CACA,uBAAuB,IAAI,IAAI,CAAC,oBAAoB,GAAG,SAAS,KAAK,OAAO,qBAAqB,IAAI,kBAAkB,CAAC,CAAC,CAAC;AAC3H;AACA,SAAS,2BAA2B,YAAY,iBAAiB;CAChE,IAAI,OAAO,OAAO,YAAY,oBAAoB,GAAG,OAAO;CAC5D,MAAM,UAAU,gBAAgB;EAC/B,IAAI;EACJ,SAAS,EAAE,OAAO,CAAC,EAAE;CACtB,CAAC;CACD,OAAO;GACL,uBAAuB;EACxB,GAAG;CACJ;AACD;AACA,SAAS,kBAAkB,YAAY;CACtC,MAAM,qBAAqB,WAAW,OAAO;CAC7C,uBAAuB,IAAI,IAAI,CAAC,GAAG,WAAW,OAAO,KAAK,UAAU,SAAS,iBAAiB,OAAO,kBAAkB,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,WAAW,UAAU,CAAC,EAAA,CAAG,KAAK,UAAU,SAAS,qBAAqB,MAAM,aAAa,kBAAkB,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC;AAClR;;;;AAIA,SAAS,oBAAoB,QAAQ;CACpC,MAAM,UAAU,CAAC;CACjB,KAAK,MAAM,CAAC,WAAW,UAAU,OAAO,QAAQ,MAAM,GAAG;EACxD,MAAM,eAAe,OAAO,YAAY,OAAO,QAAQ,KAAK,CAAC,CAAC,QAAQ,GAAG,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;EACtH,IAAI,OAAO,KAAK,YAAY,CAAC,CAAC,SAAS,GAAG,QAAQ,aAAa;CAChE;CACA,OAAO;AACR;AACA,SAAS,+BAA+B,YAAY,aAAa,gBAAgB;CAChF,MAAM,UAAU;EACf;EACA;CACD;CACA,MAAM,SAAS,WAAW,OAAO;CACjC,MAAM,qBAAqB,WAAW,OAAO;CAC7C,MAAM,oBAAoB,oBAAoB,WAAW,QAAQ,OAAO,OAAO,WAAW,cAAc,CAAC,CAAC,CAAC;CAC3G,MAAM,oBAAoB,2BAA2B,WAAW,MAAM;CACtE,MAAM,eAAe,WAAW,gBAAgB,CAAC;CACjD,MAAM,eAAe;CACrB,MAAM,0BAA0B;EAC/B,GAAG,eAAe,UAAU;EAC5B,gBAAgB,kBAAkB,UAAU;EAC5C,oBAAoB,WAAW;EAC/B;EACA;CACD;CACA,MAAM,aAAa,WAAW,OAAO,KAAK,UAAU,cAAc,OAAO,uBAAuB,CAAC;CACjG,MAAM,cAAc,WAAW,UAAU,CAAC,EAAA,CAAG,KAAK,UAAU,kBAAkB,OAAO,uBAAuB,CAAC;CAC7G,MAAM,oBAAoB,CAAC,GAAG,WAAW,YAAY,CAAC,CAAC;CACvD,MAAM,0BAA0B,CAAC;CACjC,MAAM,uBAAuB;EAC5B;EACA;EACA;EACA;EACA,wBAAwB,+BAA+B,WAAW,MAAM;EACxE;EACA,sBAAsB,WAAW;EACjC;EACA,UAAU;CACX;CACA,MAAM,oBAAoB,CAAC;CAC3B,MAAM,gBAAgB,WAAW,KAAK,MAAM,EAAE,OAAO;CACrD,MAAM,SAAS,YAAY,eAAe,UAAU;CACpD,kBAAkB,KAAK,GAAG,+BAA+B,eAAe,MAAM,CAAC;CAC/E,KAAK,MAAM,SAAS,QAAQ;EAC3B,MAAM,kBAAkB,kBAAkB,MAAM,gBAAgB,CAAC;EACjE,gBAAgB,MAAM,aAAa,WAAW,OAAO,oBAAoB;EACzE,kBAAkB,MAAM,eAAe;CACxC;CACA,MAAM,oBAAoB,WAAW,SAAS,MAAM,EAAE,OAAO,iBAAiB;CAC9E,MAAM,oBAAoB,CAAC;CAC3B,KAAK,MAAM,EAAE,YAAY,YAAY;EACpC,MAAM,kBAAkB,kBAAkB,OAAO,gBAAgB,CAAC;EAClE,gBAAgB,OAAO,aAAa,OAAO;EAC3C,kBAAkB,OAAO,eAAe;CACzC;CACA,MAAM,QAAQ,WAAW,UAAU;CACnC,MAAM,gBAAgB,OAAO,YAAY,OAAO,QAAQ,YAAY,CAAC,CAAC,KAAK,CAAC,MAAM,WAAW,CAAC,MAAM,sBAAsB;EACzH,SAAS,MAAM;EACf,UAAU,mBAAmB,MAAM,SAAS,OAAO,CAAC,CAAC;EACrD,YAAY,MAAM;CACnB,CAAC,CAAC,CAAC,CAAC;CACJ,MAAM,yBAAyB,qCAAqC,UAAU;CAC9E,MAAM,kBAAkB,CAAC;CACzB,MAAM,uBAAuB,CAAC;CAC9B,KAAK,MAAM,CAAC,UAAU,WAAW,OAAO,QAAQ,WAAW,SAAS,CAAC,CAAC,GAAG;EACxE,IAAI,aAAa,OAAO,UAAU,MAAM,cAAc,yBAAyB,yBAAyB,SAAS,8BAA8B,OAAO,SAAS,gCAAgC,EAAE,MAAM;GACtM,UAAU,OAAO;GACjB,gBAAgB;GAChB,QAAQ;EACT,EAAE,CAAC;EACH,MAAM,OAAO;EACb,IAAI,aAAa,gBAAgB;EACjC,IAAI,eAAe,KAAK,GAAG;GAC1B,aAAa,CAAC;GACd,gBAAgB,QAAQ;EACzB;EACA,MAAM,gBAAgB,sBAAsB,QAAQ,aAAa,YAAY;EAC7E,WAAW,YAAY;GACtB,SAAS,OAAO;GAChB,SAAS;EACV;EACA,IAAI,cAAc,qBAAqB;EACvC,IAAI,gBAAgB,KAAK,GAAG;GAC3B,cAAc,CAAC;GACf,qBAAqB,QAAQ;EAC9B;EACA,YAAY,YAAY;GACvB,MAAM;GACN,QAAQ,cAAc,KAAK,WAAW,OAAO,KAAK;EACnD;CACD;CACA,MAAM,EAAE,oBAAoB;CAC5B,MAAM,6BAA6B,4CAA4C,UAAU;CACzF,MAAM,aAAa,OAAO,YAAY,CAAC,GAAG,sBAAsB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,OAAO;EACpF,MAAM,gBAAgB,+BAA+B,IAAI,WAAW,mBAAmB,KAAK,wBAAwB,GAAG;EACvH,2BAA2B,IAAI,aAAa;EAC5C,MAAM,sBAAsB,qBAAqB;EACjD,MAAM,sBAAsB,sBAAsB,eAAe,0BAA0B;EAC3F,MAAM,kBAAkB,wBAAwB,KAAK,KAAK,wBAAwB,KAAK,IAAI,wBAAwB,IAAI,qBAAqB,mBAAmB,IAAI,KAAK;EACxK,MAAM,UAAU;GACf;GACA,SAAS;IACR,OAAO,kBAAkB,OAAO,CAAC;IACjC,GAAG;IACH,GAAG,oBAAoB,KAAK,KAAK,OAAO,KAAK,eAAe,CAAC,CAAC,SAAS,IAAI,EAAE,UAAU,gBAAgB,IAAI,CAAC;GAC7G;EACD;EACA,OAAO,CAAC,IAAI,gBAAgB,OAAO,CAAC;CACrC,CAAC,CAAC;CACF,MAAM,qBAAqB;EAC1B,GAAG,OAAO,KAAK,aAAa,CAAC,CAAC,SAAS,IAAI,EAAE,OAAO,cAAc,IAAI,CAAC;EACvE,YAAY,uBAAuB,uBAAuB,2BAA2B,YAAY,eAAe,IAAI;CACrH;CACA,MAAM,cAAc,WAAW,cAAc,SAAS,WAAW,WAAW,IAAI,mBAAmB;EAClG;EACA;EACA,SAAS,UAAU,kBAAkB;EACrC,GAAG;CACJ,CAAC;CACD,MAAM,UAAU,IAAI,WAAW;EAC9B,GAAG;EACH;CACD,CAAC;CACD,MAAM,sBAAsB,WAAW,aAAa,OAAO,OAAO,WAAW,UAAU,CAAC,CAAC,KAAK,SAAS,KAAK,EAAE,IAAI,KAAK;CACvH,MAAM,aAAa,EAAE,GAAG,WAAW,cAAc,CAAC,EAAE;CACpD,IAAI,qBACE;OAAA,MAAM,aAAa,qBAAqB,IAAI,CAAC,OAAO,OAAO,YAAY,SAAS,GAAG,WAAW,aAAa,CAAC;CAAA;CAElH,MAAM,eAAe,oBAAoB,wBAAwB,CAAC,GAAG;EACpE,WAAW;EACX,GAAG,WAAW,eAAe,CAAC,EAAE,cAAc,WAAW,aAAa,CAAC,IAAI,CAAC;EAC5E,GAAG,OAAO,OAAO,WAAW,cAAc,CAAC,CAAC;CAC7C,CAAC,CAAC;CACF,MAAM,cAAc,mBAAmB;EACtC;EACA;EACA,cAAc,CAAC;CAChB,CAAC;CACD,MAAM,oBAAoB,sBAAsB;EAC/C;EACA;EACA,UAAU;CACX,CAAC;CACD,MAAM,eAAe,WAAW,gBAAgB,WAAW,aAAa,SAAS,IAAI,OAAO,YAAY,WAAW,aAAa,KAAK,OAAO,CAAC,GAAG,MAAM,EAAE,QAAQ,OAAO,YAAY,GAAG,OAAO,KAAK,MAAM,CAAC,EAAE,WAAW,iBAAiB,GAAG,oBAAoB,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK;CAC3R,MAAM,qBAAqB,IAAI,IAAI,OAAO,KAAK,iBAAiB,CAAC;CACjE,IAAI,mBAAmB,SAAS,GAAG,mBAAmB,IAAI,kBAAkB;CAC5E,IAAI,iBAAiB,KAAK,GAAG,mBAAmB,IAAI,kBAAkB;CACtE,KAAK,MAAM,QAAQ,OAAO,KAAK,eAAe,GAAG,mBAAmB,IAAI,IAAI;CAC5E,MAAM,mBAAmB,OAAO,YAAY,CAAC,GAAG,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,gBAAgB;EAC/F,MAAM,aAAa,kBAAkB,gBAAgB,CAAC;EACtD,MAAM,YAAY,gBAAgB;EAClC,OAAO,CAAC,aAAa;GACpB,QAAQ;GACR,GAAG,gBAAgB,sBAAsB,iBAAiB,KAAK,IAAI,EAAE,aAAa,IAAI,CAAC;GACvF,GAAG,cAAc,KAAK,KAAK,OAAO,KAAK,SAAS,CAAC,CAAC,SAAS,IAAI,EAAE,MAAM,UAAU,IAAI,CAAC;EACvF,CAAC;CACF,CAAC,CAAC;CACF,MAAM,WAAW;EAChB;EACA;EACA,GAAG,UAAU,wBAAwB,WAAW,oBAAoB;EACpE,QAAQ,EAAE,YAAY,iBAAiB;EACvC;EACA;EACA,GAAG,oBAAoB,EAAE,WAAW,kBAAkB,IAAI,CAAC;EAC3D;EACA;EACA;EACA,MAAM,CAAC;CACR;CACA,uBAAuB,UAAU,mBAAmB,WAAW;CAC/D,uBAAuB,iBAAiB;CACxC,OAAO;AACR;;;;AAIA,SAAS,WAAW,YAAY;CAC/B,MAAM,cAAc,WAAW,SAAS,EAAE,SAAS,aAAa,QAAQ,SAAS,aAAa,CAAC;EAC9F,WAAW,QAAQ,MAAM;EACzB,aAAa,OAAO;EACpB,KAAK,SAAS,OAAO,WAAW,OAAO,WAAW;CACnD,CAAC,IAAI,CAAC,CAAC;CACP,MAAM,sCAAsC,IAAI,IAAI;CACpD,KAAK,MAAM,SAAS,aAAa,oBAAoB,IAAI,MAAM,YAAY,oBAAoB,IAAI,MAAM,SAAS,KAAK,KAAK,CAAC;CAC7H,MAAM,QAAQ,CAAC;CACf,KAAK,MAAM,SAAS,aAAa;EAChC,MAAM,OAAO,oBAAoB,IAAI,MAAM,SAAS,KAAK,KAAK,IAAI,GAAG,MAAM,YAAY,GAAG,MAAM,cAAc,MAAM;EACpH,MAAM,OAAO,MAAM;CACpB;CACA,OAAO;AACR;;;;;;;;AAUA,SAAS,+BAA+B,UAAU,sBAAsB,iBAAiB;CACxF,OAAO,uCAAuC,mCAAmC,UAAU,oBAAoB,GAAG,eAAe;AAClI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,SAAS,uCAAuC,UAAU,iBAAiB;CAC1E,MAAM,UAAU,SAAS;CACzB,IAAI,CAAC,mBAAmB,OAAO,GAAG,OAAO;CACzC,IAAI,cAAc;CAClB,MAAM,aAAa,CAAC;CACpB,KAAK,MAAM,CAAC,aAAa,cAAc,OAAO,QAAQ,QAAQ,UAAU,GAAG;EAC1E,IAAI,CAAC,2BAA2B,SAAS,GAAG,OAAO;EACnD,MAAM,SAAS,UAAU,QAAQ;EACjC,IAAI,WAAW,KAAK,GAAG;GACtB,WAAW,eAAe;GAC1B;EACD;EACA,IAAI,oBAAoB;EACxB,MAAM,aAAa,CAAC;EACpB,KAAK,MAAM,CAAC,WAAW,UAAU,OAAO,QAAQ,MAAM,GAAG;GACxD,MAAM,WAAW,aAAa,GAAG,KAAK,IAAI,qBAAqB,WAAW,OAAO,SAAS,oBAAoB,IAAI;GAClH,IAAI,aAAa,OAAO,oBAAoB;GAC5C,WAAW,aAAa;EACzB;EACA,IAAI,CAAC,mBAAmB;GACvB,WAAW,eAAe;GAC1B;EACD;EACA,cAAc;EACd,WAAW,eAAe,gBAAgB;GACzC,IAAI,UAAU;GACd,SAAS;IACR,GAAG,UAAU;IACb,OAAO;GACR;EACD,CAAC;CACF;CACA,IAAI,CAAC,aAAa,OAAO;CACzB,MAAM,qBAAqB;EAC1B;EACA,GAAG,UAAU,SAAS,QAAQ,KAAK;CACpC;CACA,OAAO;EACN,GAAG;EACH,SAAS,IAAI,WAAW;GACvB,GAAG;GACH,aAAa,mBAAmB;IAC/B,QAAQ,SAAS;IACjB,cAAc,SAAS;IACvB,SAAS;IACT,GAAG;GACJ,CAAC;EACF,CAAC;CACF;AACD;;;;;;AAMA,SAAS,mBAAmB,GAAG;CAC9B,IAAI,OAAO,MAAM,YAAY,MAAM,QAAQ,EAAE,gBAAgB,IAAI,OAAO;CACxE,OAAO,OAAO,EAAE,eAAe,YAAY,EAAE,eAAe;AAC7D;;AAEA,SAAS,qBAAqB,WAAW,OAAO,iBAAiB;CAChE,MAAM,SAAS,MAAM;CACrB,IAAI,WAAW,KAAK,KAAK,OAAO,WAAW,GAAG,OAAO;CACrD,IAAI,uBAAuB,MAAM,SAAS,eAAe,MAAM,WAAW,OAAO;CACjF,MAAM,cAAc,OAAO,KAAK,MAAM,OAAO;CAC7C,UAAU,YAAY,SAAS,GAAG,gCAAgC,UAAU,uMAAuM;CACnR,MAAM,kBAAkB,qBAAqB,WAAW,WAAW;CACnE,MAAM,OAAO,OAAO,QAAQ,UAAU,MAAM,WAAW,KAAK,KAAK,CAAC,gBAAgB,IAAI,MAAM,MAAM,CAAC;CACnG,IAAI,KAAK,WAAW,OAAO,QAAQ,OAAO;CAC1C,OAAO,IAAI,aAAa;EACvB,SAAS,MAAM;EACf,SAAS,MAAM;EACf,SAAS,MAAM;EACf,aAAa,MAAM;EACnB,GAAG,UAAU,cAAc,MAAM,UAAU;EAC3C,GAAG,UAAU,WAAW,MAAM,OAAO;EACrC,GAAG,KAAK,SAAS,IAAI,EAAE,QAAQ,KAAK,KAAK,UAAU,mCAAmC;GACrF,MAAM,MAAM;GACZ,GAAG,UAAU,UAAU,MAAM,MAAM;GACnC,YAAY,MAAM;EACnB,CAAC,CAAC,EAAE,IAAI,CAAC;CACV,CAAC;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generator-functions-B4gRRYZB-BTtC2KQz.mjs","names":[],"sources":["../../../../2-sql/9-family/dist/generator-functions-B4gRRYZB.mjs"],"sourcesContent":["import { readEnumBlockMembers, resolveEnumCodecId } from \"@internal/framework-components/authoring\";\nimport { enumRefusalOf, requiredParamKeys } from \"@internal/framework-components/codec\";\nimport { blockAttribute, int, jsonValue, mapBlock, num, oneOf, optional, str } from \"@internal/psl-parser\";\nimport { enumType } from \"@internal/sql-contract-ts/contract-builder\";\nimport { singleGeneratorBinding } from \"@internal/framework-components/components\";\nimport { SQL_CHAR_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_VARCHAR_CODEC_ID } from \"@internal/sql-relational-core/ast\";\n//#region src/core/authoring-entity-types.ts\nfunction sqlFamilyEnumSpec() {\n\treturn mapBlock({\n\t\tvalue: {\n\t\t\ttype: jsonValue(),\n\t\t\tdocumentation: \"The stored member value; a bare member stores its own name.\"\n\t\t},\n\t\tallowBare: true\n\t});\n}\nconst sqlFamilyEntityTypes = { enum: {\n\tkind: \"entity\",\n\tdiscriminator: \"enum\",\n\toutput: { factory: (block, ctx) => {\n\t\tconst sourceId = ctx.sourceId ?? \"unknown\";\n\t\tconst diagnostics = ctx.diagnostics;\n\t\tconst resolved = resolveEnumCodecId(block, ctx);\n\t\tif (resolved === void 0) return;\n\t\tconst { codecId, codecSpan } = resolved;\n\t\tconst descriptor = ctx.codecLookup.descriptorFor(codecId);\n\t\tconst codec = ctx.codecLookup.get(codecId);\n\t\tif (descriptor === void 0 || codec === void 0) {\n\t\t\tdiagnostics?.push({\n\t\t\t\tcode: \"PSL_EXTENSION_INVALID_VALUE\",\n\t\t\t\tmessage: `enum \"${block.name}\" @@type references unknown codec \"${codecId}\"`,\n\t\t\t\tsourceId,\n\t\t\t\tspan: codecSpan\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tconst enumRefusal = enumRefusalOf(descriptor);\n\t\tif (enumRefusal !== void 0) {\n\t\t\tdiagnostics?.push({\n\t\t\t\tcode: \"PSL_EXTENSION_INVALID_VALUE\",\n\t\t\t\tmessage: `enum \"${block.name}\" cannot use the codec \"${codecId}\". ${enumRefusal}`,\n\t\t\t\tsourceId,\n\t\t\t\tspan: codecSpan\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tconst dataType = ctx.dataTypeLookup.get(descriptor.dataType);\n\t\tif (dataType === void 0) {\n\t\t\tdiagnostics?.push({\n\t\t\t\tcode: \"PSL_EXTENSION_INVALID_VALUE\",\n\t\t\t\tmessage: `enum \"${block.name}\" @@type codec \"${codecId}\" represents data type \"${descriptor.dataType}\", which no component registers`,\n\t\t\t\tsourceId,\n\t\t\t\tspan: codecSpan\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tconst [requiredParam] = requiredParamKeys(dataType);\n\t\tif (requiredParam !== void 0) {\n\t\t\tdiagnostics?.push({\n\t\t\t\tcode: \"PSL_ENUM_TYPE_NEEDS_PARAMETERS\",\n\t\t\t\tmessage: `enum \"${block.name}\" @@type codec \"${codecId}\" represents data type \"${dataType.id}\", which requires the parameter \"${requiredParam}\"; an enum block gives it none`,\n\t\t\t\tsourceId,\n\t\t\t\tspan: codecSpan\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tconst members = readEnumBlockMembers(block, codecId, codec, ctx);\n\t\tif (members === void 0) return void 0;\n\t\treturn enumType(block.name, { codecId }, ...members);\n\t} }\n} };\nconst enumTypeBlockAttribute = blockAttribute(\"type\", {\n\tdocumentation: \"Selects the storage codec for this enum.\",\n\tpositional: [{\n\t\tkey: \"codecId\",\n\t\ttype: str(),\n\t\tdocumentation: \"The fully qualified codec identifier used to store enum values.\"\n\t}]\n});\nconst sqlFamilyPslBlockDescriptors = { enum: {\n\tkind: \"pslBlock\",\n\tkeyword: \"enum\",\n\tdocumentation: \"Defines an enum with named values and an inferred or explicitly selected storage codec.\",\n\tdiscriminator: \"enum\",\n\tname: { required: true },\n\tspec: sqlFamilyEnumSpec,\n\tattributes: { type: () => enumTypeBlockAttribute }\n} };\n//#endregion\n//#region src/core/authoring-field-presets.ts\n/**\n* Family-level SQL authoring field presets.\n*\n* Only presets whose codec IDs align with the ID generator metadata live here\n* (see `@internal/ids`). These presets are target-agnostic because the\n* generator metadata fixes their codec/native-type to `sql/char@1`\n* (`character`) regardless of target, and the PSL interpreter lets the\n* generator override the scalar descriptor.\n*\n* The `uuidString` / `id.uuidv4String` / `id.uuidv7String` presets store UUID\n* values as `character(36)` — portable across all SQL targets. For a native\n* Postgres `uuid` column use `uuidNative` / `id.uuidv4Native` /\n* `id.uuidv7Native` from `@internal/target-postgres`.\n*\n* Scalar presets that map to target-specific codecs (e.g. `text`, `int`,\n* `boolean`, `dateTime`) are contributed by the target pack (see\n* `postgresAuthoringFieldPresets` in `@internal/target-postgres`) so the\n* TS callback surface and the PSL scalar surface lower to byte-identical\n* contracts for the active target.\n*/\nconst CHARACTER_CODEC_ID = \"sql/char@1\";\nconst nanoidOptionsArgument = {\n\tkind: \"object\",\n\toptional: true,\n\tproperties: { size: {\n\t\tkind: \"number\",\n\t\toptional: true,\n\t\tinteger: true,\n\t\tminimum: 2,\n\t\tmaximum: 255\n\t} }\n};\nconst sqlFamilyAuthoringFieldPresets = {\n\tuuidString: {\n\t\tkind: \"fieldPreset\",\n\t\toutput: {\n\t\t\tcodecId: CHARACTER_CODEC_ID,\n\t\t\ttypeParams: { length: 36 }\n\t\t}\n\t},\n\tulid: {\n\t\tkind: \"fieldPreset\",\n\t\toutput: {\n\t\t\tcodecId: CHARACTER_CODEC_ID,\n\t\t\ttypeParams: { length: 26 }\n\t\t}\n\t},\n\tnanoid: {\n\t\tkind: \"fieldPreset\",\n\t\targs: [nanoidOptionsArgument],\n\t\toutput: {\n\t\t\tcodecId: CHARACTER_CODEC_ID,\n\t\t\ttypeParams: { length: {\n\t\t\t\tkind: \"arg\",\n\t\t\t\tindex: 0,\n\t\t\t\tpath: [\"size\"],\n\t\t\t\tdefault: 21\n\t\t\t} }\n\t\t}\n\t},\n\tcuid2: {\n\t\tkind: \"fieldPreset\",\n\t\toutput: {\n\t\t\tcodecId: CHARACTER_CODEC_ID,\n\t\t\ttypeParams: { length: 24 }\n\t\t}\n\t},\n\tksuid: {\n\t\tkind: \"fieldPreset\",\n\t\toutput: {\n\t\t\tcodecId: CHARACTER_CODEC_ID,\n\t\t\ttypeParams: { length: 27 }\n\t\t}\n\t},\n\tid: {\n\t\tuuidv4String: {\n\t\t\tkind: \"fieldPreset\",\n\t\t\toutput: {\n\t\t\t\tcodecId: CHARACTER_CODEC_ID,\n\t\t\t\ttypeParams: { length: 36 },\n\t\t\t\texecutionDefaults: { onCreate: {\n\t\t\t\t\tkind: \"generator\",\n\t\t\t\t\tid: \"uuidv4\"\n\t\t\t\t} },\n\t\t\t\tid: true\n\t\t\t}\n\t\t},\n\t\tuuidv7String: {\n\t\t\tkind: \"fieldPreset\",\n\t\t\toutput: {\n\t\t\t\tcodecId: CHARACTER_CODEC_ID,\n\t\t\t\ttypeParams: { length: 36 },\n\t\t\t\texecutionDefaults: { onCreate: {\n\t\t\t\t\tkind: \"generator\",\n\t\t\t\t\tid: \"uuidv7\"\n\t\t\t\t} },\n\t\t\t\tid: true\n\t\t\t}\n\t\t},\n\t\tulid: {\n\t\t\tkind: \"fieldPreset\",\n\t\t\toutput: {\n\t\t\t\tcodecId: CHARACTER_CODEC_ID,\n\t\t\t\ttypeParams: { length: 26 },\n\t\t\t\texecutionDefaults: { onCreate: {\n\t\t\t\t\tkind: \"generator\",\n\t\t\t\t\tid: \"ulid\"\n\t\t\t\t} },\n\t\t\t\tid: true\n\t\t\t}\n\t\t},\n\t\tnanoid: {\n\t\t\tkind: \"fieldPreset\",\n\t\t\targs: [nanoidOptionsArgument],\n\t\t\toutput: {\n\t\t\t\tcodecId: CHARACTER_CODEC_ID,\n\t\t\t\ttypeParams: { length: {\n\t\t\t\t\tkind: \"arg\",\n\t\t\t\t\tindex: 0,\n\t\t\t\t\tpath: [\"size\"],\n\t\t\t\t\tdefault: 21\n\t\t\t\t} },\n\t\t\t\texecutionDefaults: { onCreate: {\n\t\t\t\t\tkind: \"generator\",\n\t\t\t\t\tid: \"nanoid\",\n\t\t\t\t\tparams: { size: {\n\t\t\t\t\t\tkind: \"arg\",\n\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\tpath: [\"size\"]\n\t\t\t\t\t} }\n\t\t\t\t} },\n\t\t\t\tid: true\n\t\t\t}\n\t\t},\n\t\tcuid2: {\n\t\t\tkind: \"fieldPreset\",\n\t\t\toutput: {\n\t\t\t\tcodecId: CHARACTER_CODEC_ID,\n\t\t\t\ttypeParams: { length: 24 },\n\t\t\t\texecutionDefaults: { onCreate: {\n\t\t\t\t\tkind: \"generator\",\n\t\t\t\t\tid: \"cuid2\"\n\t\t\t\t} },\n\t\t\t\tid: true\n\t\t\t}\n\t\t},\n\t\tksuid: {\n\t\t\tkind: \"fieldPreset\",\n\t\t\toutput: {\n\t\t\t\tcodecId: CHARACTER_CODEC_ID,\n\t\t\t\ttypeParams: { length: 27 },\n\t\t\t\texecutionDefaults: { onCreate: {\n\t\t\t\t\tkind: \"generator\",\n\t\t\t\t\tid: \"ksuid\"\n\t\t\t\t} },\n\t\t\t\tid: true\n\t\t\t}\n\t\t}\n\t}\n};\n//#endregion\n//#region src/core/authoring-type-constructors.ts\nconst sqlFamilyAuthoringTypes = { sql: { String: {\n\tkind: \"typeConstructor\",\n\tdocumentation: \"Variable-length text with a required maximum character length.\",\n\targs: [{\n\t\tkind: \"number\",\n\t\tname: \"length\",\n\t\tinteger: true\n\t}],\n\toutput: {\n\t\tcodecId: \"sql/varchar@1\",\n\t\ttypeParams: { length: {\n\t\t\tkind: \"arg\",\n\t\t\tindex: 0\n\t\t} }\n\t}\n} } };\n//#endregion\n//#region src/core/generator-functions.ts\nconst NANOID_DEFAULT_SIZE = 21;\nconst NANOID_MIN_SIZE = 2;\nconst NANOID_MAX_SIZE = 255;\nconst nowSignature = { documentation: \"Writes the current time, as the column's codec represents it.\" };\nconst uuidSignature = {\n\tdocumentation: \"Generates a UUID when a value is not supplied.\",\n\tpositional: [{\n\t\tkey: \"version\",\n\t\ttype: optional(oneOf(num(4), num(7))),\n\t\tdocumentation: \"The UUID version: `4` or `7`. Defaults to `4`.\"\n\t}]\n};\nconst cuidSignature = {\n\tdocumentation: \"Generates a CUID2 identifier when a value is not supplied.\",\n\tpositional: [{\n\t\tkey: \"version\",\n\t\ttype: num(2),\n\t\tdocumentation: \"The CUID version. Only `2` is supported.\"\n\t}]\n};\nconst ulidSignature = { documentation: \"Generates a ULID when a value is not supplied.\" };\nconst nanoidSignature = {\n\tdocumentation: \"Generates a Nano ID when a value is not supplied.\",\n\tpositional: [{\n\t\tkey: \"size\",\n\t\ttype: optional(int({\n\t\t\tmin: NANOID_MIN_SIZE,\n\t\t\tmax: NANOID_MAX_SIZE\n\t\t})),\n\t\tdocumentation: \"The identifier length, from `2` through `255`. Defaults to 21.\"\n\t}]\n};\nconst ksuidSignature = { documentation: \"Generates a KSUID when a value is not supplied.\" };\nfunction refused(message) {\n\treturn {\n\t\tok: false,\n\t\tmessage\n\t};\n}\nfunction generated(id, params) {\n\treturn {\n\t\tok: true,\n\t\tgenerator: params === void 0 ? {\n\t\t\tkind: \"generator\",\n\t\t\tid\n\t\t} : {\n\t\t\tkind: \"generator\",\n\t\t\tid,\n\t\t\tparams\n\t\t}\n\t};\n}\nfunction uuidBinding(codecIds) {\n\treturn {\n\t\tcodecIds,\n\t\tgeneratorIds: [\"uuidv4\", \"uuidv7\"],\n\t\tresolve: ({ args }) => {\n\t\t\tconst version = args[\"version\"];\n\t\t\tif (version === void 0 || version === 4) return generated(\"uuidv4\");\n\t\t\tif (version === 7) return generated(\"uuidv7\");\n\t\t\treturn refused(`uuid takes version 4 or 7, not ${String(version)}.`);\n\t\t},\n\t\tprintArguments: (generator) => {\n\t\t\tif (generator.id === \"uuidv4\") return {\n\t\t\t\targs: {},\n\t\t\t\ttext: \"\"\n\t\t\t};\n\t\t\tif (generator.id === \"uuidv7\") return {\n\t\t\t\targs: { version: 7 },\n\t\t\t\ttext: \"7\"\n\t\t\t};\n\t\t}\n\t};\n}\nfunction cuidBinding(codecIds) {\n\treturn {\n\t\tcodecIds,\n\t\tgeneratorIds: [\"cuid2\"],\n\t\tresolve: ({ args }) => {\n\t\t\tconst version = args[\"version\"];\n\t\t\treturn version === 2 ? generated(\"cuid2\") : refused(`cuid takes version 2, not ${String(version)}.`);\n\t\t},\n\t\tprintArguments: (generator) => generator.id === \"cuid2\" ? {\n\t\t\targs: { version: 2 },\n\t\t\ttext: \"2\"\n\t\t} : void 0\n\t};\n}\nfunction columnLength(field) {\n\tconst length = field.typeParams?.[\"length\"];\n\treturn typeof length === \"number\" ? length : void 0;\n}\nfunction isNanoidSize(size) {\n\treturn typeof size === \"number\" && Number.isInteger(size) && size >= NANOID_MIN_SIZE && size <= NANOID_MAX_SIZE;\n}\n/**\n* A Nano ID has the size the call gives, or 21; the column's length never sets it. A size larger than the column's length is refused, since the identifier would not fit. A shorter identifier in a fixed-length column is padded by the database, as Prisma 7 does.\n*/\nfunction nanoidBinding(codecIds) {\n\treturn {\n\t\tcodecIds,\n\t\tgeneratorIds: [\"nanoid\"],\n\t\tresolve: ({ args, field }) => {\n\t\t\tconst explicit = args[\"size\"];\n\t\t\tif (explicit !== void 0 && !isNanoidSize(explicit)) return refused(`nanoid takes a size from ${NANOID_MIN_SIZE} through ${NANOID_MAX_SIZE}, not ${String(explicit)}.`);\n\t\t\tconst size = explicit ?? NANOID_DEFAULT_SIZE;\n\t\t\tconst length = columnLength(field);\n\t\t\tif (length !== void 0 && size > length) return refused(`${explicit === void 0 ? \"nanoid()\" : `nanoid(${size})`} writes ${size} characters, which does not fit a column of ${length} characters.`);\n\t\t\treturn explicit === void 0 ? generated(\"nanoid\") : generated(\"nanoid\", { size });\n\t\t},\n\t\tprintArguments: (generator) => {\n\t\t\tif (generator.id !== \"nanoid\") return void 0;\n\t\t\tconst size = generator.params?.[\"size\"];\n\t\t\treturn typeof size === \"number\" ? {\n\t\t\t\targs: { size },\n\t\t\t\ttext: String(size)\n\t\t\t} : {\n\t\t\t\targs: {},\n\t\t\t\ttext: \"\"\n\t\t\t};\n\t\t}\n\t};\n}\n/** The identifier generator functions bound to a target's text codecs, and `uuid` to its uuid codecs. */\nfunction idGeneratorFunctionBindings(codecs) {\n\tconst { text } = codecs;\n\treturn [\n\t\t{\n\t\t\tname: \"uuid\",\n\t\t\tbindings: [uuidBinding([...text, ...codecs.uuid ?? []])]\n\t\t},\n\t\t{\n\t\t\tname: \"cuid\",\n\t\t\tbindings: [cuidBinding(text)]\n\t\t},\n\t\t{\n\t\t\tname: \"ulid\",\n\t\t\tbindings: [singleGeneratorBinding({\n\t\t\t\tcodecIds: text,\n\t\t\t\tgeneratorId: \"ulid\"\n\t\t\t})]\n\t\t},\n\t\t{\n\t\t\tname: \"ksuid\",\n\t\t\tbindings: [singleGeneratorBinding({\n\t\t\t\tcodecIds: text,\n\t\t\t\tgeneratorId: \"ksuid\"\n\t\t\t})]\n\t\t},\n\t\t{\n\t\t\tname: \"nanoid\",\n\t\t\tbindings: [nanoidBinding(text)]\n\t\t}\n\t];\n}\nconst familyIdBindings = idGeneratorFunctionBindings({ text: [\n\tSQL_CHAR_CODEC_ID,\n\tSQL_VARCHAR_CODEC_ID,\n\tSQL_TEXT_CODEC_ID\n] });\nfunction familyBindingsOf(name) {\n\treturn familyIdBindings.find((contribution) => contribution.name === name)?.bindings ?? [];\n}\n/** The generator functions the SQL family declares, with their bindings to the family's codecs. Targets bind `now` and their own codecs. */\nconst sqlFamilyGeneratorFunctions = [\n\t{\n\t\tname: \"now\",\n\t\tsignature: nowSignature,\n\t\tbindings: []\n\t},\n\t{\n\t\tname: \"uuid\",\n\t\tsignature: uuidSignature,\n\t\tbindings: familyBindingsOf(\"uuid\")\n\t},\n\t{\n\t\tname: \"cuid\",\n\t\tsignature: cuidSignature,\n\t\tbindings: familyBindingsOf(\"cuid\")\n\t},\n\t{\n\t\tname: \"ulid\",\n\t\tsignature: ulidSignature,\n\t\tbindings: familyBindingsOf(\"ulid\")\n\t},\n\t{\n\t\tname: \"nanoid\",\n\t\tsignature: nanoidSignature,\n\t\tbindings: familyBindingsOf(\"nanoid\")\n\t},\n\t{\n\t\tname: \"ksuid\",\n\t\tsignature: ksuidSignature,\n\t\tbindings: familyBindingsOf(\"ksuid\")\n\t}\n];\n/** The identifier generators the family's bindings produce, which the family registers so that a target binding them through `idGeneratorFunctionBindings` registers none. */\nconst sqlFamilyGeneratorDescriptors = [...new Set(sqlFamilyGeneratorFunctions.flatMap(({ bindings }) => bindings.flatMap(({ generatorIds }) => generatorIds)))].map((id) => ({ id }));\n//#endregion\nexport { sqlFamilyAuthoringFieldPresets as a, sqlFamilyAuthoringTypes as i, sqlFamilyGeneratorDescriptors as n, sqlFamilyEntityTypes as o, sqlFamilyGeneratorFunctions as r, sqlFamilyPslBlockDescriptors as s, idGeneratorFunctionBindings as t };\n\n//# sourceMappingURL=generator-functions-B4gRRYZB.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pack-COEyiyfL.d.mts","names":[],"sources":["../../../../2-sql/9-family/dist/pack.d.mts"],"mappings":";;;;;;iBAIiB,4BAA4B;WAClC;WACA;aACE;;;cAGC;WACH;WACA;WACA;WACA;WACA;aACE;eACE;iBACE;iBACA;mBACE;mBACA;qBACE;;;;eAIN;iBACE;iBACA;mBACE;mBACA;qBACE;;;;eAIN;iBACE;iBACA;mBACE;mBACA;mBACA;qBACE;uBACE;uBACA;uBACA;uBACA;uBACA;;;;iBAIN;mBACE;mBACA;qBACE;uBACE;uBACA;uBACA;uBACA;;;;;eAKR;iBACE;iBACA;mBACE;mBACA;qBACE;;;;eAIN;iBACE;iBACA;mBACE;mBACA;qBACE;;;;eAIN;iBACE;mBACE;mBACA;qBACE;qBACA;uBACE;;qBAEF;uBACE;yBACE;yBACA;;;qBAGJ;;;iBAGJ;mBACE;mBACA;qBACE;qBACA;uBACE;;qBAEF;uBACE;yBACE;yBACA;;;qBAGJ;;;iBAGJ;mBACE;mBACA;qBACE;qBACA;uBACE;;qBAEF;uBACE;yBACE;yBACA;;;qBAGJ;;;iBAGJ;mBACE;mBACA;qBACE;qBACA;qBACA;uBACE;yBACE;yBACA;yBACA;yBACA;yBACA;;;;mBAIN;qBACE;qBACA;uBACE;yBACE;yBACA;yBACA;yBACA;;;qBAGJ;uBACE;yBACE;yBACA;yBACA;2BACE;6BACE;6BACA;6BACA;;;;;qBAKR;;;iBAGJ;mBACE;mBACA;qBACE;qBACA;uBACE;;qBAEF;uBACE;yBACE;yBACA;;;qBAGJ;;;iBAGJ;mBACE;mBACA;qBACE;qBACA;uBACE;;qBAEF;uBACE;yBACE;yBACA;;;qBAGJ;;;;;aAKR;eACE;iBACE;mBACE;mBACA;mBACA;qBACE;qBACA;qBACA;;mBAEF;qBACE;qBACA;uBACE;yBACE;yBACA;;;;;;;aAOZ,gEAAgE;aAChE;eACE;QACP;QACA;QACA;QACA;QACA;UACE;;QAEF,aAAa;QACb;UACE,2CAA2C;YACzC;4CACgC;;;;aAI/B;eACE;iBACE,MAAM,qCAAqC,wDAAwD;UAC1G;0CACgC;iBACzB,KAAK,qCAAqC,wDAAwD;UACzG;mBACS;0CACuB;iBACzB,SAAS,qCAAqC,wDAAwD;UAC7G;mBACS;0CACuB;iBACzB,QAAQ,oCAAoC,wDAAwD;UAC3G;mBACS,4CAA4C;mBAC5C,uCAAuC;mBACvC;mBACA;mBACA;mBACA;mBACA,UAAU;0CACa;iBACzB,QAAQ,oCAAoC,wDAAwD;mBAClG,2CAA2C;mBAC3C;mBACA;0CACuB;iBACzB,UAAU,qCAAqC,wDAAwD;UAC9G;0CACgC;iBACzB,gBAAgB,qCAAqC,wDAAwD;UACpH;0CACgC;iBACzB,OAAO,qCAAqC,wDAAwD;UAC3G,qCAAqC,uDAAuD;UAC5F;0CACgC;;eAE3B;iBACE,MAAM,qCAAqC,6DAA6D;UAC/G;0CACgC;iBACzB,KAAK,qCAAqC,6DAA6D;mBACrG;0CACuB;iBACzB,SAAS,qCAAqC,6DAA6D;mBACzG;0CACuB;iBACzB,WAAW,qCAAqC,6DAA6D;UACpH;mBACS;mBACA;mBACA;mBACA;mBACA;mBACA;0CACuB;iBACzB,UAAU,oCAAoC,6DAA6D;UAClH,sCAAsC,sBAtCnB,mDAsCiJ,iDAAiD,sBAApG,qBAA+K,sBAA0E,oBAA2E;0CACrZ;iBACzB,WAAW,oCAAoC,6DAA6D;UACnH,sCAAsC;0CACN;iBACzB,WAAW,oCAAoC,6DAA6D;UACnH,sCAAsC;0CACN;;;;WAI/B;aACE;aACA;eACE;;aAEF;;aAEA;aACA;eACE;eACA;iBACE;iBACA,qCAAqC,sDAAsD,6CAA6C,6CAA6C,kDAAkD,8CAA8C,kDAAkD,+CAA+C;iBACtX;;;aAGJ,uEAAuE;;aAEvE;aACA;eACE;eACA;iBACE;iBACA,qCAAqC,kDAAkD;iBACvF;;;aAGJ,uEAAuE;;aAEvE;aACA;eACE;;aAEF,uEAAuE;;aAEvE;aACA;eACE;eACA;iBACE;iBACA,qCAAqC,uDAAuD,6CAA6C,0CAA0C;iBACnL;;;aAGJ,uEAAuE;;aAEvE;aACA;eACE;;aAEF,uEAAuE;;WAEzE;aACE,yBAAyB;aACzB,gFAAgF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"psl-build-BkxAXTwj.mjs","names":[],"sources":["../../../../2-sql/9-family/dist/psl-build.mjs"],"sourcesContent":["import { t as sqlFamilyError } from \"./errors-B5g0xWro.mjs\";\nimport { s as toEnumMemberName } from \"./psl-names-C3cwe0rg.mjs\";\nimport { SQL_EXPRESSION_TAG } from \"@internal/sql-contract/sql-expression\";\nimport { authoringTypeConstructorArguments, authoringTypeConstructors, castTypedValue, instantiateAuthoringTypeConstructor, printTaggedLiteral, readWrittenValue } from \"@internal/framework-components/authoring\";\nimport { dataTypeId, dataTypeParams } from \"@internal/framework-components/codec\";\nimport { InternalError, isInternalError } from \"@internal/utils/internal-error\";\nimport { isSqlDataType, numeralText, resolveReportedSqlType } from \"@internal/sql-contract/data-type\";\nimport { canonicalizeJson } from \"@internal/framework-components/utils\";\nimport { escapePslString } from \"@internal/sql-contract/data-type-support\";\n//#region src/core/psl-build/inferred-type-constructors.ts\n/** Every constructor of `authoringTypes` marked `inferred`, by the data type its codec represents. */\nfunction inferredTypeConstructors(input) {\n\tconst found = /* @__PURE__ */ new Map();\n\tfor (const { path, descriptor } of authoringTypeConstructors(input.authoringTypes)) {\n\t\tif (descriptor.inferred !== true) continue;\n\t\tconst dataTypeId = input.codecLookup.descriptorFor(descriptor.output.codecId)?.dataType;\n\t\tconst dataType = dataTypeId === void 0 ? void 0 : input.dataTypeLookup.get(dataTypeId);\n\t\tif (dataType === void 0 || !isSqlDataType(dataType)) continue;\n\t\tfound.set(dataType.id, {\n\t\t\tpath,\n\t\t\tdescriptor,\n\t\t\tdataType\n\t\t});\n\t}\n\treturn found;\n}\nfunction normalParams(marked, args) {\n\ttry {\n\t\tconst { typeParams } = instantiateAuthoringTypeConstructor(marked.descriptor, args);\n\t\tconst params = dataTypeParams(marked.dataType, typeParams);\n\t\treturn canonicalizeJson(marked.dataType.sql.normalize(params));\n\t} catch (error) {\n\t\tif (isInternalError(error)) throw error;\n\t\treturn;\n\t}\n}\n/**\n* The call to `marked` with the fewest arguments that produces `params`, the normal form of a\n* column's data type parameters: arguments are dropped from the end while the normal form of what\n* the call produces stays `params`. Undefined when the constructor cannot produce them, such as one\n* whose argument names another entity.\n*/\nfunction fewestArgumentsCall(marked, params) {\n\tconst all = authoringTypeConstructorArguments(marked.descriptor, {\n\t\tcodecId: marked.descriptor.output.codecId,\n\t\ttypeParams: params\n\t});\n\tif (all === void 0) return void 0;\n\tconst wanted = canonicalizeJson(params);\n\tconst args = [...all];\n\twhile (args.length > 0 && normalParams(marked, args.slice(0, -1)) === wanted) args.pop();\n\treturn {\n\t\tpath: marked.path,\n\t\targs\n\t};\n}\n/**\n* A type constructor argument as PSL writes it: a number or boolean as written, a string between quotes.\n* Undefined for any other value, such as an array or an object, and for a string PSL cannot carry, because a quote, backslash or line break in it would read back differently.\n*/\nfunction pslTypeArgumentText(value) {\n\tif (typeof value === \"number\" || typeof value === \"boolean\") return String(value);\n\tif (typeof value !== \"string\") return void 0;\n\treturn escapePslString(value) === value ? `\"${value}\"` : void 0;\n}\n//#endregion\n//#region src/core/psl-build/column-types.ts\n/** The type the database reported for `column`, which introspection always records. */\nfunction reportedTypeOf(column, tableName) {\n\tif (column.reportedType === void 0) throw new InternalError(`contract infer read column \"${tableName}\".\"${column.name}\" without the type the database reported for it.`);\n\treturn column.reportedType;\n}\nfunction writtenCall(constructors, dataTypes, reported) {\n\tconst resolved = resolveReportedSqlType(reported, dataTypes);\n\tconst marked = resolved && constructors.get(resolved.dataType.id);\n\tconst call = resolved && marked && fewestArgumentsCall(marked, resolved.typeParams);\n\tif (call === void 0) return void 0;\n\tconst args = call.args.map(pslTypeArgumentText);\n\treturn args.every((arg) => arg !== void 0) ? {\n\t\tpath: call.path,\n\t\targs\n\t} : void 0;\n}\n/**\n* The type of every column of `tables` that `isEnumColumn` does not claim: the call, with the\n* fewest arguments, to the constructor marked `inferred` for the data type that claims the\n* column's reported type. When any column has no such call, throws\n* `CONTRACT.INFER_COLUMN_TYPE_UNCLAIMED` listing every one of them.\n*/\nfunction inferColumnTypes(input) {\n\tconst dataTypes = [...input.constructors.values()].map((marked) => marked.dataType);\n\tconst types = /* @__PURE__ */ new Map();\n\tconst unclaimed = [];\n\tfor (const { schemaName, tableName, columns } of input.tables) for (const column of columns) {\n\t\tif (input.isEnumColumn(column)) continue;\n\t\tconst reported = reportedTypeOf(column, tableName);\n\t\tconst call = writtenCall(input.constructors, dataTypes, reported);\n\t\tif (call === void 0) {\n\t\t\tunclaimed.push(`${schemaName}.${tableName}.${column.name}: ${reported.text}${column.many === true ? \"[]\" : \"\"}`);\n\t\t\tcontinue;\n\t\t}\n\t\ttypes.set(JSON.stringify([tableName, column.name]), call);\n\t}\n\tif (unclaimed.length > 0) {\n\t\tconst columns = unclaimed.sort();\n\t\tthrow sqlFamilyError(\"CONTRACT.INFER_COLUMN_TYPE_UNCLAIMED\", [\"contract infer: Prisma 8 cannot write these column types with the configured stack:\", ...columns.map((line) => ` ${line}`)].join(\"\\n\"), {\n\t\t\twhy: \"Prisma 8 reads a column type only through a data type that the target or an extension pack declares.\",\n\t\t\tfix: \"No configured pack has a type for these columns. If a type comes from a database extension that has a Prisma 8 pack, add the pack to extensions in prisma.config.ts. Otherwise change the column's type or remove the column from the database.\",\n\t\t\tmeta: { columns }\n\t\t});\n\t}\n\treturn (tableName, columnName) => {\n\t\tconst type = types.get(JSON.stringify([tableName, columnName]));\n\t\tif (type === void 0) throw new InternalError(`contract infer resolved no type for \"${tableName}\".\"${columnName}\".`);\n\t\treturn type;\n\t};\n}\n//#endregion\n//#region src/core/psl-build/default-mapping.ts\nconst DEFAULT_FUNCTION_ATTRIBUTES = {\n\t\"autoincrement()\": \"@default(autoincrement())\",\n\t\"now()\": \"@default(now())\"\n};\n/**\n* The attribute a stored default prints as: a named function, a literal the column takes, or any\n* other expression as a `sql` literal. `undefined` when a literal has no written form. An expression\n* prints even when the literal would read back as different text: default expressions are compared\n* with case and whitespace ignored (`SqlColumnDefaultIR.isEqualTo`), and canonicalization changes only\n* whitespace (ADR 129).\n*/\nfunction mapDefault(columnDefault, options) {\n\tswitch (columnDefault.kind) {\n\t\tcase \"literal\": {\n\t\t\tconst text = writeDefaultLiteral(columnDefault.value, options);\n\t\t\treturn text === void 0 ? void 0 : { attribute: `@default(${text})` };\n\t\t}\n\t\tcase \"function\": return { attribute: options?.functionAttributes?.[columnDefault.expression] ?? DEFAULT_FUNCTION_ATTRIBUTES[columnDefault.expression] ?? `@default(${printTaggedLiteral(SQL_EXPRESSION_TAG, columnDefault.expression)})` };\n\t}\n}\nfunction writingSurface(support) {\n\tconst entryOf = /* @__PURE__ */ new Map();\n\tconst tagTypes = [];\n\tfor (const [key, entry] of Object.entries(support.entries)) {\n\t\tconst written = entry.written;\n\t\tif (written.kind === \"tag\") {\n\t\t\tconst type = dataTypeId(key);\n\t\t\tif (!entryOf.has(type)) entryOf.set(type, entry);\n\t\t\ttagTypes.push(type);\n\t\t\tcontinue;\n\t\t}\n\t\tif (written.syntax === \"number\") {\n\t\t\tfor (const type of written.types) entryOf.set(type, entry);\n\t\t\tcontinue;\n\t\t}\n\t\tentryOf.set(key, entry);\n\t}\n\treturn {\n\t\tsupport,\n\t\tentryOf,\n\t\ttagTypes\n\t};\n}\nfunction readValue(surface, written) {\n\tconst read = readWrittenValue(surface.support, written);\n\treturn read.ok ? read.value : void 0;\n}\n/** The value of a tag's type that a stored document is, constructed by that type. */\nfunction tagValue(surface, type, value) {\n\ttry {\n\t\treturn surface.support.lookup.get(type)?.valueFrom(value, {});\n\t} catch (error) {\n\t\tif (isInternalError(error)) throw error;\n\t\treturn;\n\t}\n}\n/**\n* Every value the stored form could be, in the order a written value would be read: a number or\n* numeral text through the number entry first, then the plain syntax that matches the shape, then\n* each tag, whose stored form is a whole document, which may itself be a number or a boolean.\n*/\nfunction classifications(value, surface) {\n\tconst found = [];\n\tif (typeof value === \"number\") found.push(readValue(surface, {\n\t\tkind: \"number\",\n\t\ttext: numeralText(value)\n\t}));\n\telse if (typeof value === \"boolean\") found.push(readValue(surface, {\n\t\tkind: \"boolean\",\n\t\tvalue\n\t}));\n\telse if (typeof value === \"string\") {\n\t\tfound.push(readValue(surface, {\n\t\t\tkind: \"number\",\n\t\t\ttext: value\n\t\t}));\n\t\tfound.push(readValue(surface, {\n\t\t\tkind: \"string\",\n\t\t\ttext: value\n\t\t}));\n\t}\n\tfor (const type of surface.tagTypes) found.push(tagValue(surface, type, value));\n\treturn found.filter((candidate) => candidate !== void 0);\n}\n/** What the column's type stores for `json` under the column's parameters, or `undefined` when it holds no such value. */\nfunction storedUnder(json, column, lookup) {\n\tconst type = lookup.get(column.id);\n\tif (type === void 0) return void 0;\n\ttry {\n\t\treturn type.toContract(type.valueFrom(json, column.params));\n\t} catch (error) {\n\t\tif (isInternalError(error)) throw error;\n\t\treturn;\n\t}\n}\n/** The stored form the column takes this value as, spelled as its parameters give it, or `undefined` when its type takes no such value. */\nfunction admitted(candidate, column, surface) {\n\tconst cast = castTypedValue(surface.support, column.id, column.params, candidate);\n\treturn cast.ok ? cast.value.value : void 0;\n}\n/** The text of the literal: what the entry prints, before the syntax that fences it. */\nfunction printedText(entry, value) {\n\ttry {\n\t\treturn entry.print(value);\n\t} catch {\n\t\treturn;\n\t}\n}\n/** The printed text as the entry's syntax writes it, for reading back. */\nfunction writtenAs(entry, text) {\n\tconst written = entry.written;\n\tif (written.kind === \"tag\") return {\n\t\tkind: \"tag\",\n\t\ttag: written.tag,\n\t\ttext\n\t};\n\tif (written.syntax !== \"boolean\") return {\n\t\tkind: written.syntax,\n\t\ttext\n\t};\n\treturn text === \"true\" || text === \"false\" ? {\n\t\tkind: \"boolean\",\n\t\tvalue: text === \"true\"\n\t} : void 0;\n}\n/** What the printed text reads back as, through the same read a written value takes. */\nfunction readBack(surface, entry, text) {\n\tconst written = writtenAs(entry, text);\n\treturn written === void 0 ? void 0 : readValue(surface, written);\n}\nfunction literalText(entry, text) {\n\tconst written = entry.written;\n\tif (written.kind === \"tag\") return printTaggedLiteral(written.tag, text);\n\treturn written.syntax === \"string\" ? `\"${escapePslString(text)}\"` : text;\n}\n/**\n* The value written as the literal of one of its types, proven by reading the text straight back:\n* the same read, the same cast, and the stored form again. A number is tried first without the\n* trailing fraction zeros the column's scale spells it with.\n*/\nfunction writeScalar(value, column, surface) {\n\tconst shortest = withoutTrailingFractionZeros(value);\n\tconst candidates = [...shortest === void 0 ? [] : classifications(shortest, surface), ...classifications(value, surface)];\n\tfor (const candidate of candidates) {\n\t\tconst entry = surface.entryOf.get(candidate.type);\n\t\tif (entry === void 0) continue;\n\t\tconst stored = admitted(candidate, column, surface);\n\t\tif (stored === void 0 || !sameForm(stored, value)) continue;\n\t\tconst text = printedText(entry, candidate.value);\n\t\tif (text === void 0) continue;\n\t\tconst reread = readBack(surface, entry, text);\n\t\tif (reread === void 0) continue;\n\t\tconst restored = admitted(reread, column, surface);\n\t\tif (restored === void 0 || !sameForm(restored, value)) continue;\n\t\treturn literalText(entry, text);\n\t}\n}\nconst DECIMAL_WITH_FRACTION = /^-?\\d+\\.\\d+$/;\nfunction withoutTrailingFractionZeros(value) {\n\tif (typeof value !== \"string\" || !DECIMAL_WITH_FRACTION.test(value)) return void 0;\n\tconst shortened = value.replace(/0+$/, \"\").replace(/\\.$/, \"\");\n\treturn shortened === value ? void 0 : shortened;\n}\n/** One written element of a list, printed as a value of any type, with no column type to admit it. */\nfunction writeElement(value, of, surface) {\n\tfor (const candidate of classifications(value, surface)) {\n\t\tif (!of.includes(candidate.type)) continue;\n\t\tconst entry = surface.entryOf.get(candidate.type);\n\t\tif (entry === void 0) continue;\n\t\tconst text = printedText(entry, candidate.value);\n\t\tif (text === void 0) continue;\n\t\tconst reread = readBack(surface, entry, text);\n\t\tif (reread === void 0 || !of.includes(reread.type)) continue;\n\t\treturn {\n\t\t\ttext: literalText(entry, text),\n\t\t\tvalue: reread.value\n\t\t};\n\t}\n}\n/**\n* A written list on a scalar column, which the column type's list cast turns into its one value,\n* constructed by the column's type. Each element is classified on its own and must be of a type the\n* cast takes.\n*/\nfunction writeListCast(value, column, surface) {\n\tconst listCast = surface.support.lookup.get(column.id)?.listCast;\n\tif (listCast === void 0) return void 0;\n\tconst parts = [];\n\tconst elements = [];\n\tfor (const element of value) {\n\t\tconst written = writeElement(element, listCast.of, surface);\n\t\tif (written === void 0) return void 0;\n\t\tparts.push(written.text);\n\t\telements.push(written.value);\n\t}\n\tlet cast;\n\ttry {\n\t\tcast = listCast.cast(elements);\n\t} catch (error) {\n\t\tif (isInternalError(error)) throw error;\n\t\treturn;\n\t}\n\tconst stored = storedUnder(cast, column, surface.support.lookup);\n\treturn stored !== void 0 && sameForm(stored, value) ? `[${parts.join(\", \")}]` : void 0;\n}\nfunction writeDefaultLiteral(value, options) {\n\tif (value instanceof Date) return void 0;\n\tconst { dataTypes, columnCodec } = options ?? {};\n\tif (dataTypes === void 0 || columnCodec === void 0) return void 0;\n\tconst { lookup } = dataTypes;\n\tconst columnDataType = columnCodec.dataType;\n\tconst columnType = lookup.get(columnDataType);\n\tconst column = {\n\t\tid: columnDataType,\n\t\tparams: columnType === void 0 ? {} : dataTypeParams(columnType, options?.typeParams)\n\t};\n\tconst surface = writingSurface(dataTypes);\n\tif (options?.list === true) {\n\t\tif (!Array.isArray(value)) return void 0;\n\t\tconst parts = [];\n\t\tfor (const element of value) {\n\t\t\tconst written = writeScalar(element, column, surface);\n\t\t\tif (written === void 0) return void 0;\n\t\t\tparts.push(written);\n\t\t}\n\t\treturn `[${parts.join(\", \")}]`;\n\t}\n\tconst written = writeScalar(value, column, surface);\n\tif (written !== void 0) return written;\n\treturn Array.isArray(value) ? writeListCast(value, column, surface) : void 0;\n}\n/** Whether two stored forms are the same JSON value, member by member and element by element. */\nfunction sameForm(left, right) {\n\tif (left === right) return true;\n\tif (Array.isArray(left) !== Array.isArray(right)) return false;\n\tif (typeof left !== \"object\" || typeof right !== \"object\" || left === null || right === null) return false;\n\tconst members = Object.entries(left);\n\tconst others = new Map(Object.entries(right));\n\treturn members.length === others.size && members.every(([key, member]) => {\n\t\tconst other = others.get(key);\n\t\treturn other !== void 0 && sameForm(member, other);\n\t});\n}\n//#endregion\n//#region src/core/psl-build/generator-calls.ts\nconst GENERATOR_PHASES = [\"onCreate\", \"onUpdate\"];\n/**\n* The generator function call that writes each phase of a column's generators, as `@onCreate(...)` and `@onUpdate(...)` take it. A call must resolve back to the stored generator, so a list column, a generator no function writes for the codec, and a call that reads back differently are refused.\n*/\nfunction generatorCallsFor(input) {\n\tconst { executionDefault, field, list, generatorFunctions } = input;\n\tconst calls = [];\n\tfor (const phase of GENERATOR_PHASES) {\n\t\tconst generator = executionDefault[phase];\n\t\tif (generator === void 0) continue;\n\t\tif (list) return {\n\t\t\tok: false,\n\t\t\trefusal: {\n\t\t\t\tkind: \"on-list\",\n\t\t\t\tphase,\n\t\t\t\tgenerator\n\t\t\t}\n\t\t};\n\t\tconst printed = generatorFunctions.callFor(generator, field);\n\t\tif (printed === void 0) return {\n\t\t\tok: false,\n\t\t\trefusal: {\n\t\t\t\tkind: \"no-function\",\n\t\t\t\tphase,\n\t\t\t\tgenerator\n\t\t\t}\n\t\t};\n\t\tconst readBack = generatorFunctions.resolve(printed.call, field);\n\t\tif (!readBack.ok || canonicalizeJson(readBack.generator) !== canonicalizeJson(generator)) return {\n\t\t\tok: false,\n\t\t\trefusal: {\n\t\t\t\tkind: \"reads-back-differently\",\n\t\t\t\tphase,\n\t\t\t\tgenerator,\n\t\t\t\ttext: printed.text,\n\t\t\t\treadBack: readBack.ok ? readBack.generator : void 0\n\t\t\t}\n\t\t};\n\t\tcalls.push({\n\t\t\tphase,\n\t\t\ttext: printed.text\n\t\t});\n\t}\n\treturn {\n\t\tok: true,\n\t\tcalls\n\t};\n}\n//#endregion\nexport { fewestArgumentsCall, generatorCallsFor, inferColumnTypes, inferredTypeConstructors, mapDefault, pslTypeArgumentText, toEnumMemberName };\n\n//# sourceMappingURL=psl-build.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sql-data-type-BSi0X331-OXbBFXDh.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/sql-data-type-BSi0X331.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { assertDataTypeParams, dataType, dataTypeParams, objectSchemaKeys, schemaKeysAllowing } from \"@internal/framework-components/codec\";\nimport { canonicalizeJson } from \"@internal/framework-components/utils\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { type } from \"arktype\";\n//#region src/sql-data-type.ts\nconst PLACEHOLDER = /\\{([A-Za-z][A-Za-z0-9]*)\\}/g;\nconst LITERAL_CHARACTERS = /^[a-z0-9_ (),.]*$/;\nconst REGEXP_SPECIAL = /[.*+?^${}()|[\\]\\\\]/g;\nfunction paramKeysOf(id, schema) {\n\tif (schema === void 0) return [];\n\tconst keys = objectSchemaKeys(schema);\n\tif (keys === void 0) refuseDeclaration(id, \"its parameter schema must be an arktype object schema.\");\n\treturn keys;\n}\nfunction placeholdersOf(text) {\n\treturn [...text.matchAll(PLACEHOLDER)].map((match) => match[1] ?? \"\");\n}\nfunction placeholderSetOf(text) {\n\treturn [...placeholdersOf(text)].sort().join(\",\");\n}\nfunction patternOf(text, signedKeys = []) {\n\tconst placeholders = text.replace(REGEXP_SPECIAL, \"\\\\$&\").replace(/\\\\\\{([A-Za-z][A-Za-z0-9]*)\\\\\\}/g, (_, name) => signedKeys.includes(name) ? \"(-?\\\\d+)\" : \"(\\\\d+)\");\n\treturn new RegExp(`^${placeholders}$`);\n}\nfunction refuseDeclaration(id, why) {\n\tthrow new InternalError(`Data type ${id}: ${why}`);\n}\nfunction checkText(id, text, paramKeys) {\n\tconst quoted = JSON.stringify(text.text);\n\tconst refuse = (why) => refuseDeclaration(id, `the text ${quoted} ${why}.`);\n\tif (text.text === \"\") refuse(\"is empty\");\n\tif (text.text !== text.text.trim()) refuse(\"starts or ends with a space\");\n\tif (text.text.includes(\" \")) refuse(\"has two spaces in a row\");\n\tconst literal = text.text.replace(PLACEHOLDER, \"\");\n\tif (literal.includes(\"{\") || literal.includes(\"}\")) refuse(\"has a placeholder that is not written {name}\");\n\tif (!LITERAL_CHARACTERS.test(literal)) refuse(\"must be lower case and contain only letters, digits, spaces, brackets, commas, dots, underscores and placeholders\");\n\tfor (const name of placeholdersOf(text.text)) if (!paramKeys.includes(name)) refuse(`names the parameter {${name}}, which the type does not declare`);\n\tif (text.display === void 0) return;\n\tconst display = JSON.stringify(text.display);\n\tif (text.display.toLowerCase() !== text.text.toLowerCase()) refuse(`has the display ${display}, which differs from it beyond letter case`);\n\tif (placeholdersOf(text.display).join(\",\") !== placeholdersOf(text.text).join(\",\")) refuse(`has the display ${display}, which writes a placeholder differently`);\n}\nfunction checkMarks(id, texts) {\n\tconst marked = /* @__PURE__ */ new Map();\n\tfor (const text of texts) {\n\t\tconst key = placeholderSetOf(text.text);\n\t\tconst entry = marked.get(key) ?? {};\n\t\tfor (const mark of [\"written\", \"catalog\"]) {\n\t\t\tif (text[mark] !== true) continue;\n\t\t\tconst other = entry[mark];\n\t\t\tif (other !== void 0) refuseDeclaration(id, `the texts ${JSON.stringify(other)} and ${JSON.stringify(text.text)} have the same placeholders and are both ${mark}.`);\n\t\t\tentry[mark] = text.text;\n\t\t}\n\t\tmarked.set(key, entry);\n\t}\n}\nfunction checkKindClaim(id, spec) {\n\tif (spec.claimsKind === void 0) {\n\t\tif (spec.render !== void 0) refuseDeclaration(id, \"render is allowed only together with claimsKind.\");\n\t\tif (spec.fromReported !== void 0) refuseDeclaration(id, \"fromReported is allowed only together with claimsKind.\");\n\t\treturn;\n\t}\n\tif (spec.texts !== void 0) refuseDeclaration(id, \"a type that claims a kind declares no texts.\");\n}\nfunction checkStoredAs(id, spec) {\n\tif (spec.storedAs === void 0) return;\n\tif (spec.texts !== void 0) refuseDeclaration(id, \"a type stored as another declares no texts; its name is the name of the type it is stored as.\");\n\tif (spec.claimsKind !== void 0) refuseDeclaration(id, \"a type stored as another claims no kind.\");\n}\nconst identity = (params) => params;\nfunction isParamsOf(schema, params) {\n\treturn schema === void 0 || !(schema(params) instanceof type.errors);\n}\nfunction checkNormalFormsWritten(type) {\n\tconst written = new Set(type.sql.texts.filter((text) => text.written === true).map((text) => placeholderSetOf(text.text)));\n\tif (written.size === 0) return;\n\tconst probes = [{}, ...type.sql.texts.map((text) => Object.fromEntries(placeholdersOf(text.text).map((name) => [name, 1])))];\n\tfor (const probe of probes) {\n\t\tif (!isParamsOf(type.params, probe)) continue;\n\t\tconst normalKeys = presentKeys(type.sql.normalize(probe));\n\t\tif (!written.has([...normalKeys].sort().join(\",\"))) refuseDeclaration(type.id, `the parameters ${formatKeys(Object.keys(probe))} have the normal form ${formatKeys(normalKeys)}, which no written text takes.`);\n\t}\n}\n/** Declare a SQL data type, refusing a declaration that breaks a rule of the module. */\nfunction sqlDataType(id, spec) {\n\tconst declaredNormalize = spec.normalize ?? identity;\n\tconst normalize = (params) => isParamsOf(spec.params, params) ? declaredNormalize(params) : params;\n\tconst { params: _untypedParams, ...declared } = dataType(id, {\n\t\t...spec,\n\t\tnormalize\n\t});\n\tconst texts = spec.texts ?? [];\n\tconst paramKeys = paramKeysOf(declared.id, spec.params);\n\tfor (const text of texts) checkText(declared.id, text, paramKeys);\n\tcheckMarks(declared.id, texts);\n\tcheckKindClaim(declared.id, spec);\n\tcheckStoredAs(declared.id, spec);\n\tconst type = {\n\t\t...declared,\n\t\t...ifDefined(\"params\", spec.params),\n\t\tsql: {\n\t\t\ttexts,\n\t\t\tclaimsKind: spec.claimsKind,\n\t\t\tstoredAs: spec.storedAs,\n\t\t\tnormalize,\n\t\t\trender: spec.render,\n\t\t\tfromReported: spec.fromReported\n\t\t}\n\t};\n\tcheckNormalFormsWritten(type);\n\treturn type;\n}\n/** Whether `type` is a data type a SQL column can have. `sql/expression` is the one data type no column has. */\nfunction isSqlDataType(type) {\n\treturn \"sql\" in type;\n}\nfunction presentKeys(params) {\n\treturn Object.keys(params).filter((key) => params[key] !== void 0);\n}\nfunction formatKeys(keys) {\n\treturn `[${[...keys].sort().join(\", \")}]`;\n}\n/** The parameters, when `type` accepts them; otherwise `CONTRACT.TYPE_PARAMS_INVALID` naming each parameter it refuses. */\nfunction validateSqlTypeParams(type, params) {\n\tassertDataTypeParams(type, params);\n\treturn blindCast(params);\n}\nfunction pickText(type, mark, keys) {\n\tconst candidates = type.sql.texts.filter((text) => text[mark] === true);\n\tconst wanted = [...keys].sort().join(\",\");\n\tconst found = candidates.find((text) => placeholderSetOf(text.text) === wanted);\n\tif (found !== void 0) return found;\n\tconst verb = mark === \"written\" ? \"written\" : \"reported\";\n\tconst takes = candidates.length === 0 ? `it is never ${verb}` : `it is ${verb} with ${candidates.map((text) => formatKeys(placeholdersOf(text.text))).join(\", \")}`;\n\tthrow contractError(\"CONTRACT.TYPE_PARAMS_INVALID\", `${type.id} cannot be ${verb} with parameters ${formatKeys(keys)}; ${takes}`, { meta: {\n\t\tdataType: type.id,\n\t\tparameters: [...keys]\n\t} });\n}\nfunction substitute(type, text, params) {\n\treturn (text.display ?? text.text).replace(PLACEHOLDER, (_, name) => {\n\t\tconst value = params[name];\n\t\tif (!Number.isSafeInteger(value)) throw contractError(\"CONTRACT.TYPE_PARAMS_INVALID\", `${type.id}: the parameter ${name} is written into the type name and must be an integer`, { meta: {\n\t\t\tdataType: type.id,\n\t\t\tparameters: [name]\n\t\t} });\n\t\treturn String(value);\n\t});\n}\n/** The name of `type` with no parameters, for places where parameters must not appear. */\nfunction sqlBaseName(type, params) {\n\tif (type.sql.render !== void 0) return type.sql.render(validateSqlTypeParams(type, params));\n\tconst fewest = type.sql.texts.filter((text) => text.written === true).reduce((best, text) => best === void 0 || placeholdersOf(text.text).length < placeholdersOf(best.text).length ? text : best, void 0);\n\tif (fewest === void 0) throw new InternalError(`Data type ${type.id} has no written text and no render, so it has no base name.`);\n\tconst name = fewest.display ?? fewest.text;\n\tif (placeholdersOf(fewest.text).length === 0) return name;\n\tconst bracket = name.indexOf(\"(\");\n\treturn bracket === -1 ? name : name.slice(0, bracket);\n}\n/**\n* The base name of `type` with `params`, unquoted. It differs from {@link sqlBaseName} only for a\n* type that claims a kind: there it is the `typeName` parameter as written (`app.status`), where\n* `sqlBaseName` gives the quoted name `render` writes into SQL (`\"app\".\"status\"`).\n*/\nfunction unquotedSqlBaseName(type, params) {\n\tif (type.sql.claimsKind === void 0) return sqlBaseName(type, params);\n\tconst { typeName } = validateSqlTypeParams(type, params);\n\tif (typeof typeName !== \"string\") throw new InternalError(`Data type ${type.id} claims the kind \"${type.sql.claimsKind}\" but declares no string typeName parameter.`);\n\treturn typeName;\n}\nconst ADD_THE_CODEC_PACK = \"Add the pack that provides the codec, and so declares its data type, to the configuration: to `extensions` in prisma.config or in defineContract.\";\n/** The SQL data type the codec `codecId` represents. */\nfunction sqlDataTypeOfCodec(codecId, lookups) {\n\tconst descriptor = lookups.codecLookup.descriptorFor(codecId);\n\tif (descriptor === void 0) throw contractError(\"CONTRACT.CODEC_DESCRIPTOR_MISSING\", `No codec \"${codecId}\" is registered, so its column type cannot be named.`, {\n\t\tfix: ADD_THE_CODEC_PACK,\n\t\tmeta: { codecId }\n\t});\n\tconst type = lookups.dataTypeLookup.get(descriptor.dataType);\n\tif (type === void 0) throw contractError(\"CONTRACT.DATA_TYPE_UNREGISTERED\", `Codec \"${codecId}\" represents data type \"${descriptor.dataType}\", which no component registers.`, {\n\t\tfix: ADD_THE_CODEC_PACK,\n\t\tmeta: {\n\t\t\tcodecId,\n\t\t\tdataType: descriptor.dataType\n\t\t}\n\t});\n\tif (!isSqlDataType(type)) throw new InternalError(`Data type ${type.id} is not a SQL data type, so it has no type name.`);\n\treturn type;\n}\n/** The type a column of `type` is stored as, whose name DDL writes and the database reports: `type` itself unless it names another. */\nfunction sqlStorageType(type, lookup) {\n\tif (type.sql.storedAs === void 0) return type;\n\tconst storage = lookup.get(type.sql.storedAs);\n\tif (storage === void 0 || !isSqlDataType(storage)) throw contractError(\"CONTRACT.DATA_TYPE_UNREGISTERED\", `Data type \"${type.id}\" is stored as \"${type.sql.storedAs}\", which no component registers as a SQL data type.`, { meta: {\n\t\tdataType: type.sql.storedAs,\n\t\tstoredBy: type.id\n\t} });\n\treturn storage;\n}\n/** The id of the type a column of the data type `dataTypeId` is stored as: {@link sqlStorageType} of it, which refuses a storage type the lookup does not register, or `dataTypeId` itself when the lookup does not know it as a SQL data type. */\nfunction sqlStorageTypeId(dataTypeId, lookup) {\n\tconst type = lookup.get(dataTypeId);\n\treturn type !== void 0 && isSqlDataType(type) ? sqlStorageType(type, lookup).id : dataTypeId;\n}\n/** The type a column is stored as, with its parameters in normal form, or the column's own id and parameters as written when the lookup does not know its data type as a SQL data type. */\nfunction storedColumnType(column, lookup) {\n\tconst type = lookup.get(column.dataType);\n\tif (type === void 0 || !isSqlDataType(type)) return {\n\t\tid: column.dataType,\n\t\tparams: column.typeParams ?? {}\n\t};\n\tconst storage = sqlStorageType(type, lookup);\n\treturn {\n\t\tid: storage.id,\n\t\tparams: storage.sql.normalize(dataTypeParams(storage, column.typeParams ?? {}))\n\t};\n}\n/**\n* Whether two contract columns have the same type: the types their data types are stored as are one type, those types' parameters are equal in normal form, and both or neither are lists. ADR 254.\n*/\nfunction sameSqlColumnType(a, b, lookup) {\n\tconst isList = (column) => column.many !== void 0 && column.many !== false;\n\tconst left = storedColumnType(a, lookup);\n\tconst right = storedColumnType(b, lookup);\n\treturn left.id === right.id && canonicalizeJson(left.params) === canonicalizeJson(right.params) && isList(a) === isList(b);\n}\n/** The type a column of the codec `codecId` is stored as: {@link sqlStorageType} of the data type it represents. */\nfunction sqlStorageTypeOfCodec(codecId, lookups) {\n\treturn sqlStorageType(sqlDataTypeOfCodec(codecId, lookups), lookups.dataTypeLookup);\n}\n/** {@link unquotedSqlBaseName} of the type a column of the codec `codecId` is stored as. */\nfunction unquotedSqlBaseNameOfCodec(codecId, typeParams, lookups) {\n\tconst type = sqlStorageTypeOfCodec(codecId, lookups);\n\treturn unquotedSqlBaseName(type, dataTypeParams(type, typeParams));\n}\n/** The text a migration writes for `type` with the raw `params`. */\nfunction renderSqlTypeName(type, params) {\n\tconst validated = validateSqlTypeParams(type, params);\n\tif (type.sql.render !== void 0) return type.sql.render(validated);\n\tconst normalized = type.sql.normalize(validated);\n\treturn substitute(type, pickText(type, \"written\", presentKeys(params).filter((key) => Object.hasOwn(normalized, key))), params);\n}\n/** The text the database catalog prints for `type` with `params`, in their normal form. */\nfunction renderSqlCatalogText(type, params) {\n\tconst validated = validateSqlTypeParams(type, params);\n\tif (type.sql.claimsKind !== void 0) throw new InternalError(`Data type ${type.id} claims the kind \"${type.sql.claimsKind}\" and has no catalog text.`);\n\tconst normalized = type.sql.normalize(validated);\n\treturn substitute(type, pickText(type, \"catalog\", presentKeys(normalized)), normalized);\n}\nfunction prepareReportedText(text) {\n\tlet prepared = \"\";\n\tlet quoted = false;\n\tlet spacePending = false;\n\tfor (const character of text.trim()) {\n\t\tif (!quoted && /\\s/.test(character)) {\n\t\t\tspacePending = true;\n\t\t\tcontinue;\n\t\t}\n\t\tif (spacePending && !/[(,]$/.test(prepared) && character !== \")\") prepared += \" \";\n\t\tspacePending = false;\n\t\tif (character === \"\\\"\") quoted = !quoted;\n\t\tprepared += quoted ? character : character.toLowerCase();\n\t}\n\treturn prepared;\n}\nfunction claims(text) {\n\treturn text.catalog === true || text.written !== true;\n}\nfunction claimingTexts(type) {\n\treturn type.sql.texts.filter(claims).map((text) => text.text);\n}\nfunction textsCollide(a, b) {\n\tconst withOnes = (text) => text.replace(PLACEHOLDER, \"1\");\n\treturn patternOf(a).test(withOnes(b)) || patternOf(b).test(withOnes(a));\n}\nfunction collisionBetween(first, second) {\n\tconst kind = first.sql.claimsKind;\n\tif (kind !== void 0 && kind === second.sql.claimsKind) return {\n\t\tby: \"kind\",\n\t\tkind\n\t};\n\tfor (const a of claimingTexts(first)) {\n\t\tconst b = claimingTexts(second).find((text) => textsCollide(a, text));\n\t\tif (b !== void 0) return {\n\t\t\tby: \"text\",\n\t\t\tfirst: a,\n\t\t\tsecond: b\n\t\t};\n\t}\n}\n/**\n* The first two SQL data types in `types` that would both recognise one reported type: a claiming\n* text of each collides, or both claim the same kind. Two texts collide when either one's pattern\n* matches the other with each placeholder written as 1.\n*/\nfunction findSqlDataTypeCollision(types) {\n\tconst sqlTypes = types.filter(isSqlDataType);\n\tfor (const [index, first] of sqlTypes.entries()) for (const second of sqlTypes.slice(index + 1)) {\n\t\tconst claims = collisionBetween(first, second);\n\t\tif (claims !== void 0) return {\n\t\t\tfirst,\n\t\t\tsecond,\n\t\t\tclaims\n\t\t};\n\t}\n}\n/**\n* The data type that claims a reported type, with its parameters in normal form, or undefined when\n* no type in `dataTypes` claims it or its parameters fail the type's schema.\n*/\nfunction resolveReportedSqlType(reported, dataTypes) {\n\tconst sqlTypes = dataTypes.filter(isSqlDataType);\n\tif (reported.kind !== void 0) {\n\t\tconst claimant = sqlTypes.find((type) => type.sql.claimsKind === reported.kind);\n\t\tif (claimant === void 0) return void 0;\n\t\treturn resolvedWith(claimant, claimant.sql.fromReported?.(reported) ?? {});\n\t}\n\tconst text = prepareReportedText(reported.text);\n\tfor (const type of sqlTypes) for (const candidate of type.sql.texts) {\n\t\tif (!claims(candidate)) continue;\n\t\tconst params = paramsMatching(type, candidate, text);\n\t\tif (params !== void 0) return resolvedWith(type, params);\n\t}\n}\nconst signedParamKeysByType = /* @__PURE__ */ new WeakMap();\n/** The parameters of `type` that may be negative, whose placeholders read a leading minus. */\nfunction signedParamKeys(type) {\n\tconst known = signedParamKeysByType.get(type);\n\tif (known !== void 0) return known;\n\tconst keys = schemaKeysAllowing(type.params, -1) ?? [];\n\tsignedParamKeysByType.set(type, keys);\n\treturn keys;\n}\nfunction paramsMatching(type, candidate, text) {\n\tconst match = patternOf(candidate.text, signedParamKeys(type)).exec(text);\n\tif (match === null) return void 0;\n\treturn Object.fromEntries(placeholdersOf(candidate.text).map((name, index) => [name, Number.parseInt(match[index + 1] ?? \"\", 10)]));\n}\n/**\n* Every data type in `dataTypes` that reads `text` as a migration may write it, with its parameters\n* in normal form: any of a type's texts counts, whether written, printed by the catalog or only\n* claimed. Empty when no type reads it or its parameters fail the type's schema. A type that claims\n* a kind has no texts, so it never reads one.\n*/\nfunction resolveWrittenSqlTypes(text, dataTypes) {\n\tconst prepared = prepareReportedText(text);\n\treturn dataTypes.filter(isSqlDataType).flatMap((type) => {\n\t\tfor (const candidate of type.sql.texts) {\n\t\t\tconst params = paramsMatching(type, candidate, prepared);\n\t\t\tif (params === void 0) continue;\n\t\t\tconst resolved = resolvedWith(type, params);\n\t\t\tif (resolved !== void 0) return [resolved];\n\t\t}\n\t\treturn [];\n\t});\n}\nfunction resolvedWith(type$1, params) {\n\tif (type$1.params !== void 0 && type$1.params(params) instanceof type.errors) return void 0;\n\treturn {\n\t\tdataType: type$1,\n\t\ttypeParams: type$1.sql.normalize(params)\n\t};\n}\n//#endregion\nexport { resolveReportedSqlType as a, sqlBaseName as c, sqlStorageType as d, sqlStorageTypeId as f, validateSqlTypeParams as g, unquotedSqlBaseNameOfCodec as h, renderSqlTypeName as i, sqlDataType as l, unquotedSqlBaseName as m, isSqlDataType as n, resolveWrittenSqlTypes as o, sqlStorageTypeOfCodec as p, renderSqlCatalogText as r, sameSqlColumnType as s, findSqlDataTypeCollision as t, sqlDataTypeOfCodec as u };\n\n//# sourceMappingURL=sql-data-type-BSi0X331.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types-B3AHHPDh-BHh-89fY.d.mts","names":[],"sources":["../../../../2-sql/1-core/schema-ir/dist/types-B3AHHPDh.d.mts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA2BuB,wBAAwB;WACpC;;;;;;;;;oBASS;EAClB;;;;;;;;iBAQe,WAAW,UAAU,iBAAiB,MAAM,6BAA6B,mBAAmB,YAAY,MAAM,oBAAoB,QAAQ,YAAY,QAAQ;;;;;;;;;;iBAU9J,oBAAoB,kBAAkB,QAAQ,GAAG,aAAa;;;UAGrE;WACC;WACA;;;;;;WAMA,qBAAqB;;;;;;;;;;;;;;;cAelB,mBAAmB,2BAA2B;WACjD;WACA;WACA;;WAEA,qBAAqB;EAC9B,YAAY,OAAO;MACf;EACJ,qBAAqB;SACd,KAAK,OAAO,aAAa,kBAAkB;SAC3C,GAAG,MAAM,kBAAkB,QAAQ;EAC1C,UAAU,OAAO;;;;;;;;;;;cAWL;WACH;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;KAEN,mCAAmC,uCAAuC;;;;;;;iBAO9D,0BAA0B,mBAAmB;;;;;;;;iBAQ7C,yBAAyB;;;UAGhC;;WAEC,QAAQ;;WAER;;;;;;;;;WASA,oBAAoB;;;;;;;;;;;;;;;cAejB,6BAA6B,2BAA2B;WAC3D;WACA;WACA;WACA;;WAEA,qBAAqB;EAC9B,YAAY,OAAO;MACf;EACJ,qBAAqB;SACd,KAAK,OAAO,uBAAuB,4BAA4B;SAC/D,GAAG,MAAM,kBAAkB,QAAQ;EAC1C,UAAU,OAAO;;;;;;;KAOd,kBAAkB,0BAA0B;;iBAEhC,sBAAsB,GAAG,iBAAiB,GAAG;;;;KAIzD,2BAA2B;UACtB;;WAEC,WAAW;;WAEX;;WAEA,WAAW;;WAEX,QAAQ;;WAER;;WAEA,kBAAkB;;;;;;;WAOlB;;;;;;WAMA,WAAW;;WAEX,0BAA0B;;;;;;;;;;;;;;;cAevB,2BAA2B,2BAA2B;WACzD;WACA,WAAW;WACX;;WAEA,WAAW;;WAEX,QAAQ;;WAER;;WAEA,kBAAkB;;WAElB;;WAEA,WAAW;;WAEX,0BAA0B;EACnC,YAAY,OAAO;MACf;EACJ,qBAAqB;SACd,GAAG,MAAM,kBAAkB,QAAQ;;;;;;;;;;EAU1C,UAAU,OAAO;;;;;;EAMjB,gBAAgB,QAAQ,2BAA2B;UAC3C;;;;;;;;KAQL;YACO;;;UAGF;;WAEC;;WAEA;WACA;;WAEA;;UAED;WACC;;;;WAIA;WACA;;WAEA;WACA,cAAc;;WAEd;;;;;;;;WAQA,kBAAkB;;;;;;WAMlB,kBAAkB;;;;;;;;;;;;;;WAclB,WAAW;;;;WAIX,aAAa;;WAEb,mBAAmB;;;;WAInB,eAAe;;WAEf;;;;WAIA,yBAAyB;;;;;;WAMzB,0BAA0B;;WAE1B,eAAe;;;;;;;;;;;;;;cAcZ,oBAAoB,2BAA2B;WAClD;WACA;;WAEA;WACA;WACA;WACA,cAAc;;WAEd;WACA,kBAAkB;;WAElB,kBAAkB;;WAElB,WAAW;;WAEX,aAAa;;WAEb,mBAAmB;;WAEnB,eAAe;;WAEf;;WAEA,yBAAyB;;WAEzB,0BAA0B;;WAE1B,eAAe;EACxB,YAAY,OAAO;MACf;;;;;;;EAOJ,qBAAqB;;EAErB,SAAS,eAAe;SACjB,GAAG,MAAM,kBAAkB,QAAQ;;;;EAI1C,UAAU,OAAO;;EAEjB,gBAAgB,QAAQ,2BAA2B;;;KAGhD,gBAAgB,KAAK;;;;iBAIT,oBAAoB,GAAG,eAAe,GAAG;;;KAGrD;UACK;WACC;WACA;WACA;;WAEA;WACA;WACA,WAAW;WACX,WAAW;WACX,cAAc;;;;;;;;;WASd;;;;;;;WAOA,qBAAqB;;;;;;;;;;;;;;;;;;;cAmBlB,wBAAwB,2BAA2B;WACtD;WACA;WACA;WACA;WACA;WACA;WACA,WAAW;WACX,WAAW;WACX,cAAc;WACd;;WAEA,qBAAqB;EAC9B,YAAY,OAAO;MACf;EACJ,qBAAqB;SACd,GAAG,MAAM,kBAAkB,QAAQ;;;;;;;EAO1C,UAAU,OAAO;;;;;;;;;;;KAWd;;WAEM;WACA;;WAEA;;;;;WAKA;;KAEN,kBAAkB;;WAEZ,QAAQ;;WAER;WACA;WACA;WACA,SAAS;WACT,aAAa;;;;;;;;;WASb,oBAAoB;;;;;;;;WAQpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+BG,mBAAmB,2BAA2B;WACjD;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,UAAU;WACV,cAAc;;WAEd,qBAAqB;;WAErB;EACT,YAAY,OAAO;MACf;EACJ,qBAAqB;SACd,KAAK,OAAO,aAAa,kBAAkB;SAC3C,GAAG,MAAM,kBAAkB,QAAQ;;;;;;;;EAQ1C,UAAU,OAAO;;;;;;;;;;;;;;;;;;;;;;EAsBjB,cAAc,OAAO,YAAY;aACtB;aACA;;;;;UAKH;WACC;WACA;WACA,cAAc;;;;;;WAMd,qBAAqB;;;;;;;;;;;;;cAalB,oBAAoB,2BAA2B;WAClD;WACA;WACA;WACA,cAAc;;WAEd,qBAAqB;EAC9B,YAAY,OAAO;MACf;EACJ,qBAAqB;SACd,GAAG,MAAM,kBAAkB,QAAQ;EAC1C,UAAU,OAAO;;;;UAIT;WACC;WACA,SAAS,eAAe,cAAc;WACtC,aAAa,cAAc,kBAAkB;WAC7C,SAAS,cAAc,cAAc;WACrC,SAAS,cAAc,aAAa;WACpC,aAAa,aAAa;WAC1B,cAAc;;WAEd,SAAS,cAAc,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;cAuB3C,mBAAmB,2BAA2B;WACjD;WACA;WACA,SAAS,SAAS,eAAe;WACjC,aAAa,cAAc;WAC3B,SAAS,cAAc;WACvB,SAAS,cAAc;WACvB,aAAa;WACb,cAAc;WACd,SAAS,cAAc;EAChC,YAAY,OAAO;MACf;EACJ,UAAU,OAAO;EACjB,qBAAqB;;;;UAIb;WACC,QAAQ,eAAe,aAAa;WACpC,cAAc;;;;;;;;;;;;;;;;;cAiBX,oBAAoB,2BAA2B;WAClD;WACA,QAAQ,SAAS,eAAe;WAChC,cAAc;EACvB,YAAY,OAAO;MACf;EACJ,UAAU,OAAO;EACjB,qBAAqB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./types-B3AHHPDh-BHh-89fY.mjs";
|