@prisma/orm-family-sql 8.0.0-rc.21-dev.5 → 8.0.0-rc.21-dev.6
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-DcphKbq9.d.mts → ast-1JRQY-dP.d.mts} +10 -4
- package/dist/ast-1JRQY-dP.d.mts.map +1 -0
- package/dist/{ast-e_02t9Nt.mjs → ast-C3itulLi.mjs} +7 -1
- package/dist/ast-C3itulLi.mjs.map +1 -0
- package/dist/{attribute-specs-Dcd2ZUrY.d.mts → attribute-specs-CM_fC-TC.d.mts} +3 -3
- package/dist/{attribute-specs-Dcd2ZUrY.d.mts.map → attribute-specs-CM_fC-TC.d.mts.map} +1 -1
- package/dist/{authored-check-naming-D-o196ry.d.mts → authored-check-naming-BiSwtSFu.d.mts} +2 -2
- package/dist/{authored-check-naming-D-o196ry.d.mts.map → authored-check-naming-BiSwtSFu.d.mts.map} +1 -1
- package/dist/{authored-check-naming-BHGJhjqn.mjs → authored-check-naming-DTKcH2_d.mjs} +3 -3
- package/dist/{authored-check-naming-BHGJhjqn.mjs.map → authored-check-naming-DTKcH2_d.mjs.map} +1 -1
- package/dist/{authoring-entity-types-CgKIgWq5-CZK1F9a_.d.mts → authoring-entity-types-CgKIgWq5--Hjkn72Y.d.mts} +2 -2
- package/dist/{authoring-entity-types-CgKIgWq5-CZK1F9a_.d.mts.map → authoring-entity-types-CgKIgWq5--Hjkn72Y.d.mts.map} +1 -1
- package/dist/builder.d.mts +3 -3
- package/dist/builder__runtime.d.mts +10 -10
- package/dist/builder__runtime.mjs +4 -4
- package/dist/builder__types.d.mts +5 -5
- package/dist/{check-constraint-B7qGu6rc-Bk2ezWXu.d.mts → check-constraint-B7qGu6rc-D5kVe9je.d.mts} +2 -2
- package/dist/{check-constraint-B7qGu6rc-Bk2ezWXu.d.mts.map → check-constraint-B7qGu6rc-D5kVe9je.d.mts.map} +1 -1
- package/dist/check-expressions-BDsLvzqN.mjs +108 -0
- package/dist/check-expressions-BDsLvzqN.mjs.map +1 -0
- package/dist/check-expressions-DuWjvG4h.d.mts +82 -0
- package/dist/check-expressions-DuWjvG4h.d.mts.map +1 -0
- package/dist/{codec-descriptor-registry-CiiFzMtb.mjs → codec-descriptor-registry-UiFDvDj4.mjs} +2 -2
- package/dist/{codec-descriptor-registry-CiiFzMtb.mjs.map → codec-descriptor-registry-UiFDvDj4.mjs.map} +1 -1
- package/dist/codec-json-type-BdWPJ6T5-BhmIyNyb.d.mts +13 -0
- package/dist/codec-json-type-BdWPJ6T5-BhmIyNyb.d.mts.map +1 -0
- package/dist/codec-json-type-DUWyBtJk-BVTavkH0.mjs +21 -0
- package/dist/codec-json-type-DUWyBtJk-BVTavkH0.mjs.map +1 -0
- package/dist/{collection-methods-D9CYfePl-DsDjYS6t.d.mts → collection-methods-D9CYfePl-BGvD1h9Z.d.mts} +4 -4
- package/dist/{collection-methods-D9CYfePl-DsDjYS6t.d.mts.map → collection-methods-D9CYfePl-BGvD1h9Z.d.mts.map} +1 -1
- package/dist/collection-methods-mo-2RjdX.d.mts +1 -0
- package/dist/{config-types-DkEeq_qq.mjs → config-types-BvmmK8D-.mjs} +2 -2
- package/dist/{config-types-DkEeq_qq.mjs.map → config-types-BvmmK8D-.mjs.map} +1 -1
- package/dist/{config-types-C-1mIiJO.d.mts → config-types-Ce1tAJ0B.d.mts} +4 -4
- package/dist/{config-types-C-1mIiJO.d.mts.map → config-types-Ce1tAJ0B.d.mts.map} +1 -1
- package/dist/{contract-builder-B-Q9T1CO.d.mts → contract-builder-B8oDZ4aU.d.mts} +16 -10
- package/dist/contract-builder-B8oDZ4aU.d.mts.map +1 -0
- package/dist/{contract-builder-DMNe_jX9.mjs → contract-builder-Bk-Co792.mjs} +5 -5
- package/dist/{contract-builder-DMNe_jX9.mjs.map → contract-builder-Bk-Co792.mjs.map} +1 -1
- package/dist/contract-emitter.d.mts +1 -1
- package/dist/contract-emitter.mjs +1 -1
- package/dist/contract-prisma7__provider.d.mts +2 -2
- package/dist/contract-prisma7__provider.mjs +6 -6
- package/dist/contract-psl.d.mts +4 -4
- package/dist/contract-psl.mjs +1 -1
- package/dist/contract-psl__attribute-specs.d.mts +1 -1
- package/dist/contract-psl__attribute-specs.mjs +1 -1
- package/dist/contract-psl__provider.d.mts +2 -2
- package/dist/contract-psl__provider.mjs +3 -3
- package/dist/contract-psl__provider.mjs.map +1 -1
- package/dist/contract-ts.d.mts +4 -4
- package/dist/contract-ts.mjs +3 -3
- package/dist/contract-ts__config-types.d.mts +1 -1
- package/dist/contract-ts__config-types.mjs +1 -1
- package/dist/contract-ts__contract-builder.d.mts +3 -3
- package/dist/contract-ts__contract-builder.mjs +2 -2
- package/dist/{contract-view-DqpzeYeE.mjs → contract-view-CcD3axo0.mjs} +6 -2
- package/dist/contract-view-CcD3axo0.mjs.map +1 -0
- package/dist/{contract-view-DuB35or0.d.mts → contract-view-DkIZrHyj.d.mts} +3 -3
- package/dist/{contract-view-DuB35or0.d.mts.map → contract-view-DkIZrHyj.d.mts.map} +1 -1
- package/dist/contract.d.mts +21 -19
- package/dist/contract.mjs +16 -12
- package/dist/contract__authored-check-naming.d.mts +1 -1
- package/dist/contract__authored-check-naming.mjs +1 -1
- package/dist/contract__check-expressions.d.mts +2 -0
- package/dist/contract__check-expressions.mjs +2 -0
- package/dist/contract__codec-json-type.d.mts +2 -0
- package/dist/contract__codec-json-type.mjs +2 -0
- package/dist/contract__contract-view.d.mts +1 -1
- package/dist/contract__contract-view.mjs +1 -1
- package/dist/contract__data-type.d.mts +1 -1
- package/dist/contract__entity-kinds.d.mts +2 -2
- package/dist/contract__entity-kinds.mjs +2 -2
- package/dist/contract__factories.d.mts +1 -1
- package/dist/contract__factories.mjs +1 -1
- package/dist/contract__foreign-key-materialization.d.mts +1 -1
- package/dist/contract__foreign-key-materialization.mjs +2 -2
- package/dist/contract__index-naming.d.mts +1 -1
- package/dist/contract__index-naming.mjs +1 -1
- package/dist/contract__index-type-validation.d.mts +1 -1
- package/dist/contract__resolve-storage-table.d.mts +1 -1
- package/dist/contract__sql-expression.d.mts +1 -1
- package/dist/contract__types.d.mts +8 -8
- package/dist/contract__types.mjs +6 -4
- package/dist/contract__validators.d.mts +1 -1
- package/dist/contract__validators.mjs +2 -2
- package/dist/{control-B6W_VEZ9.d.mts → control-B2CeDfVO.d.mts} +18 -18
- package/dist/{control-B6W_VEZ9.d.mts.map → control-B2CeDfVO.d.mts.map} +1 -1
- package/dist/{control-D6wIw5Fi.mjs → control-C1EjGUVq.mjs} +12 -12
- package/dist/{control-D6wIw5Fi.mjs.map → control-C1EjGUVq.mjs.map} +1 -1
- package/dist/{control-adapter-BfyLe7rh-C_rrUuhb.d.mts → control-adapter-BfyLe7rh-CiGzw3dq.d.mts} +8 -8
- package/dist/{control-adapter-BfyLe7rh-C_rrUuhb.d.mts.map → control-adapter-BfyLe7rh-CiGzw3dq.d.mts.map} +1 -1
- package/dist/{control-adapter-CZ84jQ_z.d.mts → control-adapter-BlBhW0pc.d.mts} +4 -4
- package/dist/{control-adapter-CZ84jQ_z.d.mts.map → control-adapter-BlBhW0pc.d.mts.map} +1 -1
- package/dist/{data-type-DJIvKQHf.d.mts → data-type-CR0gi2GQ.d.mts} +3 -3
- package/dist/{data-type-DJIvKQHf.d.mts.map → data-type-CR0gi2GQ.d.mts.map} +1 -1
- package/dist/{db-D1d75IvM-D5CqruQz.d.mts → db-D1d75IvM-C1lqD6a2.d.mts} +13 -13
- package/dist/{db-D1d75IvM-D5CqruQz.d.mts.map → db-D1d75IvM-C1lqD6a2.d.mts.map} +1 -1
- package/dist/{ddl-types-BeA1kjV1-C4d5owxE.d.mts → ddl-types-BeA1kjV1-BUcW52Dx.d.mts} +3 -3
- package/dist/{ddl-types-BeA1kjV1-C4d5owxE.d.mts.map → ddl-types-BeA1kjV1-BUcW52Dx.d.mts.map} +1 -1
- package/dist/{default-mapping-CAOONlKQ-4m07nb-O.d.mts → default-mapping-CAOONlKQ-CIg7JCfF.d.mts} +2 -2
- package/dist/{default-mapping-CAOONlKQ-4m07nb-O.d.mts.map → default-mapping-CAOONlKQ-CIg7JCfF.d.mts.map} +1 -1
- package/dist/{derived-checks-D5HVRvqN-BJx1gwPA.mjs → derived-checks-BuTkSE9l-gyx0d0dX.mjs} +155 -39
- package/dist/derived-checks-BuTkSE9l-gyx0d0dX.mjs.map +1 -0
- package/dist/{derived-checks-DpPkO6Dt-9U9UJZOo.d.mts → derived-checks-DpPkO6Dt-CQIM17j5.d.mts} +3 -3
- package/dist/{derived-checks-DpPkO6Dt-9U9UJZOo.d.mts.map → derived-checks-DpPkO6Dt-CQIM17j5.d.mts.map} +1 -1
- package/dist/{diff-FNTO8gbI.d.mts → diff-BlX_rfVG.d.mts} +7 -7
- package/dist/{diff-FNTO8gbI.d.mts.map → diff-BlX_rfVG.d.mts.map} +1 -1
- package/dist/{dist-C8Y-PPuE.mjs → dist-BJjqJT_M.mjs} +5 -3
- package/dist/dist-BJjqJT_M.mjs.map +1 -0
- package/dist/{entity-kinds-JR5SAm5h-DOH6VUtL.mjs → entity-kinds-CgEwK0hH-D1NKoKE5.mjs} +25 -7
- package/dist/entity-kinds-CgEwK0hH-D1NKoKE5.mjs.map +1 -0
- package/dist/{entity-kinds-BPG2xCZV.d.mts → entity-kinds-oN1yn4vw.d.mts} +8 -7
- package/dist/{entity-kinds-BPG2xCZV.d.mts.map → entity-kinds-oN1yn4vw.d.mts.map} +1 -1
- package/dist/{exports-CGzFaakG-Dddm8emA.mjs → exports-CGzFaakG-4Aw50nT1.mjs} +3 -3
- package/dist/{exports-CGzFaakG-Dddm8emA.mjs.map → exports-CGzFaakG-4Aw50nT1.mjs.map} +1 -1
- package/dist/{expression-BWRsWR6O-BrUVz0V2.d.mts → expression-BWRsWR6O-HbWL9x9D.d.mts} +3 -3
- package/dist/{expression-BWRsWR6O-BrUVz0V2.d.mts.map → expression-BWRsWR6O-HbWL9x9D.d.mts.map} +1 -1
- package/dist/{expression-C3F6gxZH-DrYNeDbh.d.mts → expression-C3F6gxZH-EOb5cRCY.d.mts} +7 -7
- package/dist/{expression-C3F6gxZH-DrYNeDbh.d.mts.map → expression-C3F6gxZH-EOb5cRCY.d.mts.map} +1 -1
- package/dist/expression-OVCWlXHm.d.mts +2 -0
- package/dist/{expression-impl-DtbmFnnz-CUKzBisY.mjs → expression-impl-DtbmFnnz-Dal0IYDE.mjs} +2 -2
- package/dist/{expression-impl-DtbmFnnz-CUKzBisY.mjs.map → expression-impl-DtbmFnnz-Dal0IYDE.mjs.map} +1 -1
- package/dist/{factories-Crobuxwn.mjs → factories-B2hKDIzy.mjs} +3 -3
- package/dist/{factories-Crobuxwn.mjs.map → factories-B2hKDIzy.mjs.map} +1 -1
- package/dist/{factories-DbNP9qfs.d.mts → factories-DVgCG7DR.d.mts} +4 -4
- package/dist/{factories-DbNP9qfs.d.mts.map → factories-DVgCG7DR.d.mts.map} +1 -1
- package/dist/family.d.mts +15 -15
- package/dist/family.mjs +6 -6
- package/dist/family__control-adapter.d.mts +2 -2
- package/dist/family__control.d.mts +4 -4
- 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.d.mts +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__psl-build.d.mts +2 -2
- package/dist/family__psl-infer.d.mts +1 -1
- package/dist/family__psl-infer.mjs +1 -1
- package/dist/family__runtime.d.mts +2 -2
- package/dist/{foreign-key-materialization-48P2V8on.d.mts → foreign-key-materialization-C53nVQuD.d.mts} +4 -4
- package/dist/{foreign-key-materialization-48P2V8on.d.mts.map → foreign-key-materialization-C53nVQuD.d.mts.map} +1 -1
- package/dist/{foreign-key-materialization-BM59w_Xg.mjs → foreign-key-materialization-CCHAR789.mjs} +5 -5
- package/dist/{foreign-key-materialization-BM59w_Xg.mjs.map → foreign-key-materialization-CCHAR789.mjs.map} +1 -1
- package/dist/{functions-D7lN5-JU.mjs → functions-DO1k8KLB.mjs} +2 -2
- package/dist/{functions-D7lN5-JU.mjs.map → functions-DO1k8KLB.mjs.map} +1 -1
- package/dist/{functions-CQrsCHCj.d.mts → functions-PBSwFhni.d.mts} +6 -6
- package/dist/{functions-CQrsCHCj.d.mts.map → functions-PBSwFhni.d.mts.map} +1 -1
- package/dist/{generator-functions-Hy4pDDr9-AUCNpeg5.mjs → generator-functions-Hy4pDDr9-BUHOsofo.mjs} +3 -3
- package/dist/{generator-functions-Hy4pDDr9-AUCNpeg5.mjs.map → generator-functions-Hy4pDDr9-BUHOsofo.mjs.map} +1 -1
- package/dist/{index-0qfR8_db.d.mts → index-BAI1gH-I.d.mts} +21 -21
- package/dist/{index-0qfR8_db.d.mts.map → index-BAI1gH-I.d.mts.map} +1 -1
- package/dist/{index-Nqc3OHR_.d.mts → index-BWWwt5hB.d.mts} +3 -3
- package/dist/{index-Nqc3OHR_.d.mts.map → index-BWWwt5hB.d.mts.map} +1 -1
- package/dist/{index-equivalence-DswCiq5l-CGsyPP9B.mjs → index-equivalence-DswCiq5l-9GNm8oG9.mjs} +2 -2
- package/dist/{index-equivalence-DswCiq5l-CGsyPP9B.mjs.map → index-equivalence-DswCiq5l-9GNm8oG9.mjs.map} +1 -1
- package/dist/{index-naming-BOcJT1B3-mG8Fd6KN.mjs → index-naming-BOcJT1B3-D-49owHA.mjs} +2 -2
- package/dist/{index-naming-BOcJT1B3-mG8Fd6KN.mjs.map → index-naming-BOcJT1B3-D-49owHA.mjs.map} +1 -1
- package/dist/{index-naming-Cs6wwia3.d.mts → index-naming-DqjO4p5R.d.mts} +2 -2
- package/dist/{index-naming-Cs6wwia3.d.mts.map → index-naming-DqjO4p5R.d.mts.map} +1 -1
- package/dist/index-reference-D3p5ziNG.d.mts +1 -0
- package/dist/{index-reference-YHvh6wAL-BAhOS7RC.d.mts → index-reference-YHvh6wAL-BupQRpkE.d.mts} +4 -4
- package/dist/{index-reference-YHvh6wAL-BAhOS7RC.d.mts.map → index-reference-YHvh6wAL-BupQRpkE.d.mts.map} +1 -1
- package/dist/{index-type-validation-fGGwAHWc.d.mts → index-type-validation-BFJlwjWi.d.mts} +3 -3
- package/dist/{index-type-validation-fGGwAHWc.d.mts.map → index-type-validation-BFJlwjWi.d.mts.map} +1 -1
- package/dist/{interpreter-CS21wD1i-G0u1x8t_.mjs → interpreter-CrQFtK4p-CM5k_t4g.mjs} +80 -43
- package/dist/interpreter-CrQFtK4p-CM5k_t4g.mjs.map +1 -0
- package/dist/{ir-BvptQsFW.d.mts → ir-CZ5Ks7EA.d.mts} +4 -4
- package/dist/{ir-BvptQsFW.d.mts.map → ir-CZ5Ks7EA.d.mts.map} +1 -1
- package/dist/middleware-Dp3CD7yZ.d.mts +1 -0
- package/dist/{middleware-JfHt_Ax8-DKXbos9y.d.mts → middleware-JfHt_Ax8-rWWdDxnq.d.mts} +2 -2
- package/dist/{middleware-JfHt_Ax8-DKXbos9y.d.mts.map → middleware-JfHt_Ax8-rWWdDxnq.d.mts.map} +1 -1
- package/dist/{migration-qalbcIUs.d.mts → migration-B35kGD-7.d.mts} +4 -4
- package/dist/{migration-qalbcIUs.d.mts.map → migration-B35kGD-7.d.mts.map} +1 -1
- package/dist/{naming-BcD36g9T-Mfe_xGGL.d.mts → naming-CLfASFf7-HRjmKe43.d.mts} +9 -4
- package/dist/naming-CLfASFf7-HRjmKe43.d.mts.map +1 -0
- package/dist/{naming-bM5qm5PY-jOg3JFMb.mjs → naming-DEpT6Zad-C9PFkWt6.mjs} +5 -4
- package/dist/naming-DEpT6Zad-C9PFkWt6.mjs.map +1 -0
- package/dist/operations.d.mts +1 -1
- package/dist/orm-client.d.mts +22 -22
- package/dist/orm-client.mjs +7 -7
- package/dist/{pack-Cap3oVPy.d.mts → pack-BPbz6RVm.d.mts} +4 -4
- package/dist/{pack-Cap3oVPy.d.mts.map → pack-BPbz6RVm.d.mts.map} +1 -1
- package/dist/{plan-CMqVpPq6-Bllx5Zpk.d.mts → plan-CMqVpPq6-Aoza6Dp2.d.mts} +4 -4
- package/dist/{plan-CMqVpPq6-Bllx5Zpk.d.mts.map → plan-CMqVpPq6-Aoza6Dp2.d.mts.map} +1 -1
- package/dist/plan-DINEcqC1.d.mts +2 -0
- package/dist/{psl-build-RelubU2E.d.mts → psl-build-CNncjpsa.d.mts} +6 -6
- package/dist/{psl-build-RelubU2E.d.mts.map → psl-build-CNncjpsa.d.mts.map} +1 -1
- package/dist/{psl-column-resolution-djGEITmJ-B5iMpe8H.d.mts → psl-column-resolution-djGEITmJ-DfEOkjPf.d.mts} +3 -3
- package/dist/{psl-column-resolution-djGEITmJ-B5iMpe8H.d.mts.map → psl-column-resolution-djGEITmJ-DfEOkjPf.d.mts.map} +1 -1
- package/dist/{psl-field-resolution-Bvhx79fP-CQqHf_L4.mjs → psl-field-resolution-Bvhx79fP-CuyYFk8z.mjs} +4 -4
- package/dist/{psl-field-resolution-Bvhx79fP-CQqHf_L4.mjs.map → psl-field-resolution-Bvhx79fP-CuyYFk8z.mjs.map} +1 -1
- package/dist/{psl-infer-DzoxPZGd.d.mts → psl-infer-BkkoyXmM.d.mts} +4 -4
- package/dist/{psl-infer-DzoxPZGd.d.mts.map → psl-infer-BkkoyXmM.d.mts.map} +1 -1
- package/dist/{psl-infer--g4i84Go.mjs → psl-infer-C9kVS9ma.mjs} +2 -2
- package/dist/{psl-infer--g4i84Go.mjs.map → psl-infer-C9kVS9ma.mjs.map} +1 -1
- package/dist/query-lane-context-DL6bwl6k.d.mts +1 -0
- package/dist/{query-lane-context-DLSXDsDK-pEiQmuYy.d.mts → query-lane-context-DLSXDsDK-CGSahS15.d.mts} +8 -8
- package/dist/{query-lane-context-DLSXDsDK-pEiQmuYy.d.mts.map → query-lane-context-DLSXDsDK-CGSahS15.d.mts.map} +1 -1
- package/dist/relational-core.d.mts +12 -12
- package/dist/relational-core.mjs +2 -2
- package/dist/relational-core__aggregate-descriptor-registry.d.mts +1 -1
- package/dist/relational-core__ast.d.mts +3 -3
- package/dist/relational-core__ast.mjs +1 -1
- package/dist/relational-core__codec-descriptor-registry.d.mts +4 -4
- package/dist/relational-core__codec-descriptor-registry.mjs +1 -1
- package/dist/relational-core__collection-methods.d.mts +2 -2
- package/dist/relational-core__contract-free.d.mts +4 -4
- package/dist/relational-core__expression.d.mts +3 -3
- package/dist/relational-core__expression.mjs +1 -1
- package/dist/relational-core__functions.d.mts +1 -1
- package/dist/relational-core__functions.mjs +1 -1
- package/dist/relational-core__index-reference.d.mts +2 -2
- package/dist/relational-core__middleware.d.mts +2 -2
- package/dist/relational-core__plan.d.mts +3 -3
- package/dist/relational-core__query-lane-context.d.mts +2 -2
- package/dist/relational-core__types.d.mts +2 -2
- package/dist/{resolve-storage-table-DCqtmnSU.d.mts → resolve-storage-table-D1rXCcCk.d.mts} +3 -3
- package/dist/{resolve-storage-table-DCqtmnSU.d.mts.map → resolve-storage-table-D1rXCcCk.d.mts.map} +1 -1
- package/dist/{runtime-JKWb27L5.d.mts → runtime-BrBva2ta.d.mts} +2 -2
- package/dist/{runtime-JKWb27L5.d.mts.map → runtime-BrBva2ta.d.mts.map} +1 -1
- package/dist/runtime.d.mts +4 -4
- package/dist/runtime.mjs +1 -1
- package/dist/runtime__internal__prepared-query.d.mts +1 -1
- package/dist/{schema-differ-DmP74bB8-tqHKiJ88.d.mts → schema-differ-DmP74bB8-BXkhxcPs.d.mts} +5 -5
- package/dist/{schema-differ-DmP74bB8-tqHKiJ88.d.mts.map → schema-differ-DmP74bB8-BXkhxcPs.d.mts.map} +1 -1
- package/dist/schema-ir.d.mts +1 -1
- package/dist/schema-ir.mjs +1 -1
- package/dist/schema-ir__naming.d.mts +2 -2
- package/dist/schema-ir__naming.mjs +2 -2
- package/dist/schema-ir__types.d.mts +2 -2
- package/dist/schema-ir__types.mjs +1 -1
- package/dist/{schema-verify-C3wbdviw-DMjIubOr.mjs → schema-verify-C3wbdviw-mlPO4NkT.mjs} +3 -3
- package/dist/{schema-verify-C3wbdviw-DMjIubOr.mjs.map → schema-verify-C3wbdviw-mlPO4NkT.mjs.map} +1 -1
- package/dist/{serialized-index-DjCCnXB1-DMA7BtO2.mjs → serialized-index-BefvjuZ0-Bbsja7If.mjs} +14 -27
- package/dist/serialized-index-BefvjuZ0-Bbsja7If.mjs.map +1 -0
- package/dist/{serialized-index-CrgG8ct1-DKVJ7TDX.d.mts → serialized-index-CrgG8ct1-Duy5-kFV.d.mts} +3 -3
- package/dist/{serialized-index-CrgG8ct1-DKVJ7TDX.d.mts.map → serialized-index-CrgG8ct1-Duy5-kFV.d.mts.map} +1 -1
- package/dist/{sql-contract-serializer-sMY3prTx-D2BfrNxs.mjs → sql-contract-serializer-sMY3prTx-aQd4v3fE.mjs} +4 -4
- package/dist/{sql-contract-serializer-sMY3prTx-D2BfrNxs.mjs.map → sql-contract-serializer-sMY3prTx-aQd4v3fE.mjs.map} +1 -1
- package/dist/{sql-execution-plan-CN-FEwrR-CzRFoxKR.d.mts → sql-execution-plan-CN-FEwrR-BEJ0-g83.d.mts} +2 -2
- package/dist/{sql-execution-plan-CN-FEwrR-CzRFoxKR.d.mts.map → sql-execution-plan-CN-FEwrR-BEJ0-g83.d.mts.map} +1 -1
- package/dist/{sql-expression-B4BrhGPi.d.mts → sql-expression-1yO8GiBc.d.mts} +2 -2
- package/dist/{sql-expression-B4BrhGPi.d.mts.map → sql-expression-1yO8GiBc.d.mts.map} +1 -1
- package/dist/{sql-index-ByAAE7K8-Dqtn_vUL.d.mts → sql-index-ByAAE7K8-4TUFKGLK.d.mts} +2 -2
- package/dist/{sql-index-ByAAE7K8-Dqtn_vUL.d.mts.map → sql-index-ByAAE7K8-4TUFKGLK.d.mts.map} +1 -1
- package/dist/sql-node-D8P0akYY-RVytYXDZ.mjs +50 -0
- package/dist/sql-node-D8P0akYY-RVytYXDZ.mjs.map +1 -0
- package/dist/{sql-storage-DeCAh5Hi-CEM-m8cs.d.mts → sql-storage-B_AM6tU1-BOPQxXo7.d.mts} +6 -5
- package/dist/{sql-storage-DeCAh5Hi-CEM-m8cs.d.mts.map → sql-storage-B_AM6tU1-BOPQxXo7.d.mts.map} +1 -1
- package/dist/{storage-table-DDvN83mw-DkbBFmK9.mjs → storage-table-B_MrLtQX-eWx6BgGT.mjs} +7 -50
- package/dist/storage-table-B_MrLtQX-eWx6BgGT.mjs.map +1 -0
- package/dist/{storage-table-Bf1ZjnxO-pUj6pyP0.d.mts → storage-value-object-BcvIeUr8-DiiZNIrZ.d.mts} +23 -6
- package/dist/storage-value-object-BcvIeUr8-DiiZNIrZ.d.mts.map +1 -0
- package/dist/storage-value-set-uGUEBAMJ-hX-zFqN5.mjs +38 -0
- package/dist/storage-value-set-uGUEBAMJ-hX-zFqN5.mjs.map +1 -0
- package/dist/{transaction-state-DR3nKTmH-BIKF_fP6.d.mts → transaction-state-DR3nKTmH-C3wq6dCB.d.mts} +9 -9
- package/dist/{transaction-state-DR3nKTmH-BIKF_fP6.d.mts.map → transaction-state-DR3nKTmH-C3wq6dCB.d.mts.map} +1 -1
- package/dist/{types-DoyiTsjg-2YMhMJDA.mjs → types-1ZKE0deC-Dou4ugcz.mjs} +3 -3
- package/dist/{types-DoyiTsjg-2YMhMJDA.mjs.map → types-1ZKE0deC-Dou4ugcz.mjs.map} +1 -1
- package/dist/types-B-dwfOwQ.d.mts +1 -0
- package/dist/{types-CTdSkl0s.mjs → types-CISwoRED.mjs} +2 -2
- package/dist/types-CISwoRED.mjs.map +1 -0
- package/dist/{types-COXfSNOP-DcuULeD9.d.mts → types-COXfSNOP-D9vt9QDL.d.mts} +9 -9
- package/dist/{types-COXfSNOP-DcuULeD9.d.mts.map → types-COXfSNOP-D9vt9QDL.d.mts.map} +1 -1
- package/dist/{types-CkAd8SWm.d.mts → types-CXRxo_TK.d.mts} +7 -7
- package/dist/{types-CkAd8SWm.d.mts.map → types-CXRxo_TK.d.mts.map} +1 -1
- package/dist/types-DIoM5Ft3.d.mts +1 -0
- package/dist/{types-DfKvtJwS-CrpWTGBJ.d.mts → types-DNTLudNR-DiVulPhL.d.mts} +7 -7
- package/dist/{types-DfKvtJwS-CrpWTGBJ.d.mts.map → types-DNTLudNR-DiVulPhL.d.mts.map} +1 -1
- package/dist/{types-NgqqVAo5-Be_uYGQx.d.mts → types-NgqqVAo5-CJG02ILZ.d.mts} +10 -10
- package/dist/{types-NgqqVAo5-Be_uYGQx.d.mts.map → types-NgqqVAo5-CJG02ILZ.d.mts.map} +1 -1
- package/dist/{types-CuCxAQat-Dz8P4xyt.d.mts → types-fmtEmvj3-B0fQaVes.d.mts} +4 -4
- package/dist/{types-CuCxAQat-Dz8P4xyt.d.mts.map → types-fmtEmvj3-B0fQaVes.d.mts.map} +1 -1
- package/dist/{types-ijhejJhK-EdACW3bY.d.mts → types-ijhejJhK-BqfwP5Cc.d.mts} +2 -2
- package/dist/{types-ijhejJhK-EdACW3bY.d.mts.map → types-ijhejJhK-BqfwP5Cc.d.mts.map} +1 -1
- package/dist/{validators-BwA7ttZM.mjs → validators-CnQqLEIi.mjs} +29 -30
- package/dist/validators-CnQqLEIi.mjs.map +1 -0
- package/dist/{validators-FJs8HvFr.d.mts → validators-Dt-19ywK.d.mts} +4 -4
- package/dist/{validators-FJs8HvFr.d.mts.map → validators-Dt-19ywK.d.mts.map} +1 -1
- package/package.json +20 -18
- package/dist/ast-DcphKbq9.d.mts.map +0 -1
- package/dist/ast-e_02t9Nt.mjs.map +0 -1
- package/dist/collection-methods-FWiYjZ5j.d.mts +0 -1
- package/dist/contract-builder-B-Q9T1CO.d.mts.map +0 -1
- package/dist/contract-view-DqpzeYeE.mjs.map +0 -1
- package/dist/derived-checks-D5HVRvqN-BJx1gwPA.mjs.map +0 -1
- package/dist/dist-C8Y-PPuE.mjs.map +0 -1
- package/dist/entity-kinds-JR5SAm5h-DOH6VUtL.mjs.map +0 -1
- package/dist/expression-CQHy0GY7.d.mts +0 -2
- package/dist/index-reference-BVkoanQn.d.mts +0 -1
- package/dist/interpreter-CS21wD1i-G0u1x8t_.mjs.map +0 -1
- package/dist/middleware-DYiOUIpn.d.mts +0 -1
- package/dist/naming-BcD36g9T-Mfe_xGGL.d.mts.map +0 -1
- package/dist/naming-bM5qm5PY-jOg3JFMb.mjs.map +0 -1
- package/dist/plan-Cg0h96GD.d.mts +0 -2
- package/dist/query-lane-context-Dqs5qCXx.d.mts +0 -1
- package/dist/serialized-index-DjCCnXB1-DMA7BtO2.mjs.map +0 -1
- package/dist/storage-table-Bf1ZjnxO-pUj6pyP0.d.mts.map +0 -1
- package/dist/storage-table-DDvN83mw-DkbBFmK9.mjs.map +0 -1
- package/dist/types-CTdSkl0s.mjs.map +0 -1
- package/dist/types-CvmPNREJ.d.mts +0 -1
- package/dist/types-ljUNyiWe.d.mts +0 -1
- package/dist/validators-BwA7ttZM.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foreign-key-materialization-BM59w_Xg.mjs","names":[],"sources":["../../../../2-sql-family/1-core/contract/dist/foreign-key-materialization.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { a as rendersIndexBody, t as accessMethodOf } from \"./index-types-pC_5vADQ.mjs\";\nimport { r as lowerAuthoredIndex } from \"./index-naming-BOcJT1B3.mjs\";\nimport { i as leadingBackingObjectName, n as identicalIndexes, o as servingKey, r as indexNodeOf, s as startsWithColumns, t as derivedBackingIndexIsRedundant } from \"./index-equivalence-DswCiq5l.mjs\";\nimport { defaultIndexName, nameOf, truncateToWireNamePrefixBytes } from \"@internal/sql-schema-ir/naming\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { asNamespaceId } from \"@internal/contract/types\";\n//#region src/index-deduplication.ts\nconst IDENTICAL_DESCRIPTION = \"the planner sees them as the same index. The contract keeps both because each is named.\";\nconst REDUNDANT_DESCRIPTION = \"which already serves the same lookups.\";\n/**\n* Removes the indexes of one table that duplicate another. Two indexes are identical when the planner sees them as the same index apart from their names (see {@link identicalIndexes}); of an identical group the pass keeps the indexes named by the user, or the first one when none is. A plain non-unique index whose columns are those of the primary key, a unique constraint or a unique index without a predicate is redundant (see {@link servingKey}), and the pass removes it unless it is named by the user. Every index named by the user survives; the pass warns about each one that duplicates another, and refuses two identical indexes both named with `name:`, whose wire names the planner could not tell apart.\n*/\nfunction deduplicateIndexes(input) {\n\tconst { tableName, warnings } = input;\n\tconst replacements = /* @__PURE__ */ new Map();\n\tconst nodes = new Map(input.indexes.map((candidate) => [candidate, indexNodeOf(candidate.index)]));\n\tconst nodeOf = (candidate) => {\n\t\tconst node = nodes.get(candidate);\n\t\tif (node === void 0) throw new InternalError(\"every candidate has a node\");\n\t\treturn node;\n\t};\n\tconst groups = [];\n\tfor (const candidate of input.indexes) {\n\t\tconst position = groups.findIndex(([first]) => identicalIndexes(nodeOf(first), nodeOf(candidate)));\n\t\tconst group = groups[position];\n\t\tif (group === void 0) groups.push([candidate]);\n\t\telse groups[position] = [...group, candidate];\n\t}\n\tfor (const group of groups) {\n\t\tconst named = group.filter((candidate) => candidate.namedByUser);\n\t\tconst wireNamed = named.filter((candidate) => candidate.index.naming.kind === \"wire\");\n\t\tif (wireNamed.length > 1) throw identicalWireNamedIndexesError(tableName, wireNamed);\n\t\tconst kept = named[0] ?? group[0];\n\t\tfor (const candidate of group) if (candidate !== kept && !candidate.namedByUser) replacements.set(candidate, {\n\t\t\tkind: \"index\",\n\t\t\tindex: kept\n\t\t});\n\t\tif (named.length > 1) warnings.push(identicalIndexesWarning(tableName, named));\n\t}\n\tconst survivors = input.indexes.filter((candidate) => !replacements.has(candidate));\n\tfor (const candidate of survivors) {\n\t\tconst servedBy = servingKey(nodeOf(candidate), {\n\t\t\tindexes: survivors,\n\t\t\tnodeOf,\n\t\t\tuniques: input.uniques,\n\t\t\tprimaryKey: input.primaryKey\n\t\t});\n\t\tif (servedBy === void 0) continue;\n\t\tif (candidate.namedByUser) warnings.push(redundantIndexWarning(tableName, candidate, servedBy));\n\t\telse replacements.set(candidate, servedBy);\n\t}\n\treturn {\n\t\tindexes: input.indexes.filter((candidate) => !replacements.has(candidate)),\n\t\treplacements\n\t};\n}\nfunction identicalWireNamedIndexesError(tableName, wireNamed) {\n\treturn contractError(\"CONTRACT.ARGUMENT_INVALID\", `Indexes ${quotedList(wireNamed.map((candidate) => writtenName(candidate.index)))} on table \"${tableName}\" are identical and both named with name:; the planner pairs wire-named indexes by their content, so it could not tell them apart.`, {\n\t\tfix: \"Remove one of them, or name one with map: to keep both under exact names.\",\n\t\tmeta: {\n\t\t\ttableName,\n\t\t\tindexes: wireNamed.map((candidate) => writtenName(candidate.index))\n\t\t}\n\t});\n}\n/** The name the source wrote: the prefix of a wire-named index, the whole name of an exact one. */\nfunction writtenName(index) {\n\treturn index.naming.kind === \"wire\" ? index.naming.prefix : index.naming.name;\n}\nfunction quotedList(names) {\n\tconst quoted = names.map((name) => `\"${name}\"`);\n\treturn quoted.length <= 2 ? quoted.join(\" and \") : `${quoted.slice(0, -1).join(\", \")} and ${quoted.at(-1)}`;\n}\nfunction identicalIndexesWarning(tableName, named) {\n\tconst names = quotedList(named.map((candidate) => writtenName(candidate.index)));\n\treturn {\n\t\tcode: \"PN_INDEX_DUPLICATE\",\n\t\tmessage: `Indexes ${names} on table \"${tableName}\" are identical: ${IDENTICAL_DESCRIPTION} Remove one of them.`,\n\t\titem: `table \"${tableName}\": indexes ${names}`,\n\t\tsummary: `tables have named indexes that are identical: ${IDENTICAL_DESCRIPTION} Remove one of each.`\n\t};\n}\nfunction describeReplacement(replacement) {\n\tswitch (replacement.kind) {\n\t\tcase \"primaryKey\": return \"the primary key\";\n\t\tcase \"uniqueConstraint\": return replacement.unique.name === void 0 ? `the unique constraint on (${replacement.unique.columns.join(\", \")})` : `the unique constraint \"${replacement.unique.name}\"`;\n\t\tcase \"index\": return `the unique index \"${writtenName(replacement.index.index)}\"`;\n\t}\n}\nfunction redundantIndexWarning(tableName, candidate, servedBy) {\n\tconst name = writtenName(candidate.index);\n\treturn {\n\t\tcode: \"PN_INDEX_REDUNDANT\",\n\t\tmessage: `Index \"${name}\" on table \"${tableName}\" has the same columns as ${describeReplacement(servedBy)}, ${REDUNDANT_DESCRIPTION} The contract keeps the index because it is named. Remove it.`,\n\t\titem: `table \"${tableName}\": index \"${name}\"`,\n\t\tsummary: `tables have a named index with the same columns as a unique constraint, unique index or primary key, ${REDUNDANT_DESCRIPTION} The contract keeps each index because it is named. Remove them.`\n\t};\n}\n//#endregion\n//#region src/foreign-key-materialization.ts\n/** The `meta.reason` of the refusal of a relation's `index: \"<name>\"`, which a source can report at the relation. */\nconst FOREIGN_KEY_INDEX_UNRESOLVED = \"foreign-key-index-unresolved\";\n/**\n* Lowers a table's authored foreign keys and indexes into the entities `contract.json` persists. A `constraint: false` foreign key contributes no `foreignKeys[]` entry. A foreign key with `index: true` gets a derived backing index; one with `index: \"<name>\"` uses what the table declares under that name. The table's indexes then pass through {@link deduplicateIndexes}, and each foreign key states what backs it in the result: an index by name, or the primary key or a unique constraint by kind.\n*/\nfunction materializeForeignKeysAndIndexes(input) {\n\tconst { tableName, declaredIndexes, uniques, primaryKey, indexTypes } = input;\n\tconst derivedIndexes = [];\n\tconst intents = input.foreignKeys.map((foreignKey) => {\n\t\tconst { constraint, index, ...reference } = foreignKey;\n\t\tif (index !== true) return {\n\t\t\tconstraint,\n\t\t\treference,\n\t\t\tindex\n\t\t};\n\t\tconst derived = derivedBackingIndex(tableName, reference.source.columns);\n\t\tderivedIndexes.push(derived);\n\t\treturn {\n\t\t\tconstraint,\n\t\t\treference,\n\t\t\tindex: derived\n\t\t};\n\t});\n\tconst deduplicated = deduplicateIndexes({\n\t\ttableName,\n\t\tindexes: [...declaredIndexes, ...derivedIndexes],\n\t\tuniques,\n\t\tprimaryKey,\n\t\twarnings: input.warnings\n\t});\n\tconst resolve = (backing) => foreignKeyIndexOf(resolveReplacement(backing, deduplicated.replacements));\n\treturn {\n\t\tforeignKeys: intents.flatMap(({ constraint, reference, index }) => {\n\t\t\tconst backing = index === false ? void 0 : typeof index === \"string\" ? namedBackingObject(reference.source, index, {\n\t\t\t\tdeclaredIndexes,\n\t\t\t\tuniques,\n\t\t\t\tprimaryKey,\n\t\t\t\tindexTypes,\n\t\t\t\tresolve\n\t\t\t}) : resolve({\n\t\t\t\tkind: \"index\",\n\t\t\t\tindex\n\t\t\t});\n\t\t\tif (!constraint) return [];\n\t\t\treturn [backing === void 0 ? reference : {\n\t\t\t\t...reference,\n\t\t\t\tindex: backing\n\t\t\t}];\n\t\t}),\n\t\tindexes: deduplicated.indexes.map((candidate) => candidate.index)\n\t};\n}\n/**\n* Whether a table's declared indexes, unique constraints or primary key already serve a foreign key on `columns`, so the build would drop a derived backing index again. A source that writes no backing index of its own, such as a Prisma 7 schema, leaves the foreign key's `index` to the build where this holds, so the stored foreign key states what backs it.\n*/\nfunction declaredIndexesServeForeignKey(columns, table) {\n\treturn derivedBackingIndexIsRedundant(columns, {\n\t\tindexes: table.indexes,\n\t\tnodeOf: indexNodeOf,\n\t\tuniques: table.uniques,\n\t\tprimaryKey: table.primaryKey\n\t});\n}\n/**\n* The name to give a relation's `index` argument when the table's declared indexes and keys serve a foreign key on `columns` although the build would keep a derived backing index beside them (see {@link leadingBackingObjectName}).\n*/\nfunction declaredBackingObjectName(columns, table) {\n\treturn leadingBackingObjectName(columns, {\n\t\tindexes: table.indexes,\n\t\tnodeOf: indexNodeOf,\n\t\tnameOf: (index) => nameOf(index.naming),\n\t\tuniques: table.uniques,\n\t\tprimaryKey: table.primaryKey\n\t});\n}\n/**\n* What a foreign key on `columns` states it is backed by when its relation says nothing, beside a table whose indexes all carry the `name` or `map` the source gave them, as a printed contract's do. A printer writes a relation's `index` argument only where the stored foreign key differs from this.\n*/\nfunction defaultForeignKeyIndex(tableName, columns, table) {\n\tconst reference = {\n\t\tnamespaceId: asNamespaceId(UNBOUND_NAMESPACE_ID),\n\t\ttableName,\n\t\tcolumns\n\t};\n\tconst [foreignKey] = materializeForeignKeysAndIndexes({\n\t\ttableName,\n\t\tforeignKeys: [{\n\t\t\tsource: reference,\n\t\t\ttarget: reference,\n\t\t\tconstraint: true,\n\t\t\tindex: true\n\t\t}],\n\t\tdeclaredIndexes: table.indexes.map((index) => ({\n\t\t\tindex,\n\t\t\tnamedByUser: true\n\t\t})),\n\t\tuniques: table.uniques,\n\t\tprimaryKey: table.primaryKey,\n\t\twarnings: [],\n\t\tindexTypes: void 0\n\t}).foreignKeys;\n\treturn typeof foreignKey?.index === \"object\" ? foreignKey.index : void 0;\n}\nfunction derivedBackingIndex(tableName, columns) {\n\treturn {\n\t\tindex: lowerAuthoredIndex(tableName, {\n\t\t\tcolumns,\n\t\t\twhere: void 0,\n\t\t\tunique: void 0,\n\t\t\tmap: void 0,\n\t\t\tname: truncateToWireNamePrefixBytes(defaultIndexName(tableName, columns)),\n\t\t\ttype: void 0,\n\t\t\toptions: void 0\n\t\t}),\n\t\tnamedByUser: false\n\t};\n}\n/**\n* What a relation's `index: \"<name>\"` points at. The name is the `name` or `map` the source gave an index, unique constraint or primary key, or an index's stored name; an unnamed index's default name does not count. Identical indexes count as one, so the name is resolved after they merge. The object must start with the foreign key's columns, in order, or it would not serve the foreign key's lookups. An index of a type whose body is rendered from its options (see {@link rendersIndexBody}) is refused too: its columns are not its key.\n*/\nfunction namedBackingObject(source, name, table) {\n\tconst { namespaceId, tableName, columns } = source;\n\tconst subject = `The foreign key on table \"${tableName}\" columns (${columns.join(\", \")}) names \"${name}\" as its index`;\n\tconst meta = {\n\t\treason: FOREIGN_KEY_INDEX_UNRESOLVED,\n\t\tnamespaceId,\n\t\ttableName,\n\t\tcolumns,\n\t\tindex: name\n\t};\n\tconst indexes = table.declaredIndexes.filter((candidate) => candidate.namedByUser && writtenName(candidate.index) === name || nameOf(candidate.index.naming) === name);\n\tconst keys = [...table.uniques.filter((unique) => unique.name === name), ...table.primaryKey?.name === name ? [table.primaryKey] : []];\n\tconst resolvedIndexes = [...new Map(indexes.map((index) => {\n\t\tconst resolved = table.resolve({\n\t\t\tkind: \"index\",\n\t\t\tindex\n\t\t});\n\t\treturn [JSON.stringify(resolved), {\n\t\t\tindex,\n\t\t\tresolved\n\t\t}];\n\t})).values()];\n\tconst matches = resolvedIndexes.length + keys.length;\n\tif (matches === 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `${subject}, but table \"${tableName}\" has no index, unique constraint or primary key with that name.`, {\n\t\tfix: `Declare an index, unique constraint or primary key named \"${name}\" on table \"${tableName}\", or drop the index argument so the foreign key gets its own backing index.`,\n\t\tmeta\n\t});\n\tif (matches > 1) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `${subject}, but table \"${tableName}\" has more than one index, unique constraint or primary key with that name.`, {\n\t\tfix: `Give the object the foreign key should use a name no other index, unique constraint or primary key of table \"${tableName}\" has, and name that on the relation.`,\n\t\tmeta\n\t});\n\tconst [match] = resolvedIndexes;\n\tconst key = keys[0];\n\tconst matchType = match?.index.index.type;\n\tconst typeEntry = matchType === void 0 ? void 0 : table.indexTypes?.get(matchType);\n\tif (typeEntry !== void 0 && rendersIndexBody(typeEntry)) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `${subject}, but it is a \"${typeEntry.type}\" index, a \"${accessMethodOf(typeEntry)}\" index whose key is rendered from its options rather than its columns, so it does not serve the foreign key's lookups.`, {\n\t\tfix: `Name an index, unique constraint or primary key whose first columns are (${columns.join(\", \")}), or drop the index argument so the foreign key gets its own backing index beside the \"${typeEntry.type}\" index.`,\n\t\tmeta\n\t});\n\tconst objectColumns = match !== void 0 ? match.index.index.columns : key?.columns;\n\tif (objectColumns === void 0 || !startsWithColumns(objectColumns, columns)) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `${subject}, but ${objectColumns === void 0 ? \"it indexes an expression, not the foreign key's columns\" : `its columns (${objectColumns.join(\", \")}) do not start with the foreign key's columns`}, so it does not serve the foreign key's lookups.`, {\n\t\tfix: `Name an index, unique constraint or primary key whose first columns are (${columns.join(\", \")}), or drop the index argument so the foreign key gets its own backing index.`,\n\t\tmeta\n\t});\n\tif (match !== void 0) return match.resolved;\n\treturn key === table.primaryKey ? { primaryKey: true } : { unique: objectColumns };\n}\nfunction resolveReplacement(backing, replacements) {\n\tlet current = backing;\n\twhile (current.kind === \"index\") {\n\t\tconst replacement = replacements.get(current.index);\n\t\tif (replacement === void 0) break;\n\t\tcurrent = replacement;\n\t}\n\treturn current;\n}\nfunction foreignKeyIndexOf(backing) {\n\tswitch (backing.kind) {\n\t\tcase \"index\": return { name: nameOf(backing.index.index.naming) };\n\t\tcase \"uniqueConstraint\": return { unique: backing.unique.columns };\n\t\tcase \"primaryKey\": return { primaryKey: true };\n\t}\n}\n//#endregion\nexport { FOREIGN_KEY_INDEX_UNRESOLVED, declaredBackingObjectName, declaredIndexesServeForeignKey, defaultForeignKeyIndex, derivedBackingIndexIsRedundant, leadingBackingObjectName, materializeForeignKeysAndIndexes };\n\n//# sourceMappingURL=foreign-key-materialization.mjs.map"],"mappings":";;;;;;;;;AASA,MAAM,wBAAwB;AAC9B,MAAM,wBAAwB;;;;AAI9B,SAAS,mBAAmB,OAAO;CAClC,MAAM,EAAE,WAAW,aAAa;CAChC,MAAM,+BAA+B,IAAI,IAAI;CAC7C,MAAM,QAAQ,IAAI,IAAI,MAAM,QAAQ,KAAK,cAAc,CAAC,WAAW,YAAY,UAAU,KAAK,CAAC,CAAC,CAAC;CACjG,MAAM,UAAU,cAAc;EAC7B,MAAM,OAAO,MAAM,IAAI,SAAS;EAChC,IAAI,SAAS,KAAK,GAAG,MAAM,IAAI,cAAc,4BAA4B;EACzE,OAAO;CACR;CACA,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,aAAa,MAAM,SAAS;EACtC,MAAM,WAAW,OAAO,WAAW,CAAC,WAAW,iBAAiB,OAAO,KAAK,GAAG,OAAO,SAAS,CAAC,CAAC;EACjG,MAAM,QAAQ,OAAO;EACrB,IAAI,UAAU,KAAK,GAAG,OAAO,KAAK,CAAC,SAAS,CAAC;OACxC,OAAO,YAAY,CAAC,GAAG,OAAO,SAAS;CAC7C;CACA,KAAK,MAAM,SAAS,QAAQ;EAC3B,MAAM,QAAQ,MAAM,QAAQ,cAAc,UAAU,WAAW;EAC/D,MAAM,YAAY,MAAM,QAAQ,cAAc,UAAU,MAAM,OAAO,SAAS,MAAM;EACpF,IAAI,UAAU,SAAS,GAAG,MAAM,+BAA+B,WAAW,SAAS;EACnF,MAAM,OAAO,MAAM,MAAM,MAAM;EAC/B,KAAK,MAAM,aAAa,OAAO,IAAI,cAAc,QAAQ,CAAC,UAAU,aAAa,aAAa,IAAI,WAAW;GAC5G,MAAM;GACN,OAAO;EACR,CAAC;EACD,IAAI,MAAM,SAAS,GAAG,SAAS,KAAK,wBAAwB,WAAW,KAAK,CAAC;CAC9E;CACA,MAAM,YAAY,MAAM,QAAQ,QAAQ,cAAc,CAAC,aAAa,IAAI,SAAS,CAAC;CAClF,KAAK,MAAM,aAAa,WAAW;EAClC,MAAM,WAAW,WAAW,OAAO,SAAS,GAAG;GAC9C,SAAS;GACT;GACA,SAAS,MAAM;GACf,YAAY,MAAM;EACnB,CAAC;EACD,IAAI,aAAa,KAAK,GAAG;EACzB,IAAI,UAAU,aAAa,SAAS,KAAK,sBAAsB,WAAW,WAAW,QAAQ,CAAC;OACzF,aAAa,IAAI,WAAW,QAAQ;CAC1C;CACA,OAAO;EACN,SAAS,MAAM,QAAQ,QAAQ,cAAc,CAAC,aAAa,IAAI,SAAS,CAAC;EACzE;CACD;AACD;AACA,SAAS,+BAA+B,WAAW,WAAW;CAC7D,OAAO,cAAc,6BAA6B,WAAW,WAAW,UAAU,KAAK,cAAc,YAAY,UAAU,KAAK,CAAC,CAAC,EAAE,aAAa,UAAU,qIAAqI;EAC/R,KAAK;EACL,MAAM;GACL;GACA,SAAS,UAAU,KAAK,cAAc,YAAY,UAAU,KAAK,CAAC;EACnE;CACD,CAAC;AACF;;AAEA,SAAS,YAAY,OAAO;CAC3B,OAAO,MAAM,OAAO,SAAS,SAAS,MAAM,OAAO,SAAS,MAAM,OAAO;AAC1E;AACA,SAAS,WAAW,OAAO;CAC1B,MAAM,SAAS,MAAM,KAAK,SAAS,IAAI,KAAK,EAAE;CAC9C,OAAO,OAAO,UAAU,IAAI,OAAO,KAAK,OAAO,IAAI,GAAG,OAAO,MAAM,GAAG,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,OAAO,GAAG,EAAE;AACzG;AACA,SAAS,wBAAwB,WAAW,OAAO;CAClD,MAAM,QAAQ,WAAW,MAAM,KAAK,cAAc,YAAY,UAAU,KAAK,CAAC,CAAC;CAC/E,OAAO;EACN,MAAM;EACN,SAAS,WAAW,MAAM,aAAa,UAAU,mBAAmB,sBAAsB;EAC1F,MAAM,UAAU,UAAU,aAAa;EACvC,SAAS,iDAAiD,sBAAsB;CACjF;AACD;AACA,SAAS,oBAAoB,aAAa;CACzC,QAAQ,YAAY,MAApB;EACC,KAAK,cAAc,OAAO;EAC1B,KAAK,oBAAoB,OAAO,YAAY,OAAO,SAAS,KAAK,IAAI,6BAA6B,YAAY,OAAO,QAAQ,KAAK,IAAI,EAAE,KAAK,0BAA0B,YAAY,OAAO,KAAK;EAC/L,KAAK,SAAS,OAAO,qBAAqB,YAAY,YAAY,MAAM,KAAK,EAAE;CAChF;AACD;AACA,SAAS,sBAAsB,WAAW,WAAW,UAAU;CAC9D,MAAM,OAAO,YAAY,UAAU,KAAK;CACxC,OAAO;EACN,MAAM;EACN,SAAS,UAAU,KAAK,cAAc,UAAU,4BAA4B,oBAAoB,QAAQ,EAAE,IAAI,sBAAsB;EACpI,MAAM,UAAU,UAAU,YAAY,KAAK;EAC3C,SAAS,wGAAwG,sBAAsB;CACxI;AACD;;AAIA,MAAM,+BAA+B;;;;AAIrC,SAAS,iCAAiC,OAAO;CAChD,MAAM,EAAE,WAAW,iBAAiB,SAAS,YAAY,eAAe;CACxE,MAAM,iBAAiB,CAAC;CACxB,MAAM,UAAU,MAAM,YAAY,KAAK,eAAe;EACrD,MAAM,EAAE,YAAY,OAAO,GAAG,cAAc;EAC5C,IAAI,UAAU,MAAM,OAAO;GAC1B;GACA;GACA;EACD;EACA,MAAM,UAAU,oBAAoB,WAAW,UAAU,OAAO,OAAO;EACvE,eAAe,KAAK,OAAO;EAC3B,OAAO;GACN;GACA;GACA,OAAO;EACR;CACD,CAAC;CACD,MAAM,eAAe,mBAAmB;EACvC;EACA,SAAS,CAAC,GAAG,iBAAiB,GAAG,cAAc;EAC/C;EACA;EACA,UAAU,MAAM;CACjB,CAAC;CACD,MAAM,WAAW,YAAY,kBAAkB,mBAAmB,SAAS,aAAa,YAAY,CAAC;CACrG,OAAO;EACN,aAAa,QAAQ,SAAS,EAAE,YAAY,WAAW,YAAY;GAClE,MAAM,UAAU,UAAU,QAAQ,KAAK,IAAI,OAAO,UAAU,WAAW,mBAAmB,UAAU,QAAQ,OAAO;IAClH;IACA;IACA;IACA;IACA;GACD,CAAC,IAAI,QAAQ;IACZ,MAAM;IACN;GACD,CAAC;GACD,IAAI,CAAC,YAAY,OAAO,CAAC;GACzB,OAAO,CAAC,YAAY,KAAK,IAAI,YAAY;IACxC,GAAG;IACH,OAAO;GACR,CAAC;EACF,CAAC;EACD,SAAS,aAAa,QAAQ,KAAK,cAAc,UAAU,KAAK;CACjE;AACD;;;;AAIA,SAAS,+BAA+B,SAAS,OAAO;CACvD,OAAO,+BAA+B,SAAS;EAC9C,SAAS,MAAM;EACf,QAAQ;EACR,SAAS,MAAM;EACf,YAAY,MAAM;CACnB,CAAC;AACF;;;;AAIA,SAAS,0BAA0B,SAAS,OAAO;CAClD,OAAO,yBAAyB,SAAS;EACxC,SAAS,MAAM;EACf,QAAQ;EACR,SAAS,UAAU,OAAO,MAAM,MAAM;EACtC,SAAS,MAAM;EACf,YAAY,MAAM;CACnB,CAAC;AACF;;;;AAIA,SAAS,uBAAuB,WAAW,SAAS,OAAO;CAC1D,MAAM,YAAY;EACjB,aAAa,cAAc,oBAAoB;EAC/C;EACA;CACD;CACA,MAAM,CAAC,cAAc,iCAAiC;EACrD;EACA,aAAa,CAAC;GACb,QAAQ;GACR,QAAQ;GACR,YAAY;GACZ,OAAO;EACR,CAAC;EACD,iBAAiB,MAAM,QAAQ,KAAK,WAAW;GAC9C;GACA,aAAa;EACd,EAAE;EACF,SAAS,MAAM;EACf,YAAY,MAAM;EAClB,UAAU,CAAC;EACX,YAAY,KAAK;CAClB,CAAC,CAAC,CAAC;CACH,OAAO,OAAO,YAAY,UAAU,WAAW,WAAW,QAAQ,KAAK;AACxE;AACA,SAAS,oBAAoB,WAAW,SAAS;CAChD,OAAO;EACN,OAAO,mBAAmB,WAAW;GACpC;GACA,OAAO,KAAK;GACZ,QAAQ,KAAK;GACb,KAAK,KAAK;GACV,MAAM,8BAA8B,iBAAiB,WAAW,OAAO,CAAC;GACxE,MAAM,KAAK;GACX,SAAS,KAAK;EACf,CAAC;EACD,aAAa;CACd;AACD;;;;AAIA,SAAS,mBAAmB,QAAQ,MAAM,OAAO;CAChD,MAAM,EAAE,aAAa,WAAW,YAAY;CAC5C,MAAM,UAAU,6BAA6B,UAAU,aAAa,QAAQ,KAAK,IAAI,EAAE,WAAW,KAAK;CACvG,MAAM,OAAO;EACZ,QAAQ;EACR;EACA;EACA;EACA,OAAO;CACR;CACA,MAAM,UAAU,MAAM,gBAAgB,QAAQ,cAAc,UAAU,eAAe,YAAY,UAAU,KAAK,MAAM,QAAQ,OAAO,UAAU,MAAM,MAAM,MAAM,IAAI;CACrK,MAAM,OAAO,CAAC,GAAG,MAAM,QAAQ,QAAQ,WAAW,OAAO,SAAS,IAAI,GAAG,GAAG,MAAM,YAAY,SAAS,OAAO,CAAC,MAAM,UAAU,IAAI,CAAC,CAAC;CACrI,MAAM,kBAAkB,CAAC,GAAG,IAAI,IAAI,QAAQ,KAAK,UAAU;EAC1D,MAAM,WAAW,MAAM,QAAQ;GAC9B,MAAM;GACN;EACD,CAAC;EACD,OAAO,CAAC,KAAK,UAAU,QAAQ,GAAG;GACjC;GACA;EACD,CAAC;CACF,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;CACZ,MAAM,UAAU,gBAAgB,SAAS,KAAK;CAC9C,IAAI,YAAY,GAAG,MAAM,cAAc,6BAA6B,GAAG,QAAQ,eAAe,UAAU,mEAAmE;EAC1K,KAAK,6DAA6D,KAAK,cAAc,UAAU;EAC/F;CACD,CAAC;CACD,IAAI,UAAU,GAAG,MAAM,cAAc,6BAA6B,GAAG,QAAQ,eAAe,UAAU,8EAA8E;EACnL,KAAK,gHAAgH,UAAU;EAC/H;CACD,CAAC;CACD,MAAM,CAAC,SAAS;CAChB,MAAM,MAAM,KAAK;CACjB,MAAM,YAAY,OAAO,MAAM,MAAM;CACrC,MAAM,YAAY,cAAc,KAAK,IAAI,KAAK,IAAI,MAAM,YAAY,IAAI,SAAS;CACjF,IAAI,cAAc,KAAK,KAAK,iBAAiB,SAAS,GAAG,MAAM,cAAc,6BAA6B,GAAG,QAAQ,iBAAiB,UAAU,KAAK,cAAc,eAAe,SAAS,EAAE,0HAA0H;EACtT,KAAK,4EAA4E,QAAQ,KAAK,IAAI,EAAE,0FAA0F,UAAU,KAAK;EAC7M;CACD,CAAC;CACD,MAAM,gBAAgB,UAAU,KAAK,IAAI,MAAM,MAAM,MAAM,UAAU,KAAK;CAC1E,IAAI,kBAAkB,KAAK,KAAK,CAAC,kBAAkB,eAAe,OAAO,GAAG,MAAM,cAAc,6BAA6B,GAAG,QAAQ,QAAQ,kBAAkB,KAAK,IAAI,4DAA4D,gBAAgB,cAAc,KAAK,IAAI,EAAE,+CAA+C,oDAAoD;EAClX,KAAK,4EAA4E,QAAQ,KAAK,IAAI,EAAE;EACpG;CACD,CAAC;CACD,IAAI,UAAU,KAAK,GAAG,OAAO,MAAM;CACnC,OAAO,QAAQ,MAAM,aAAa,EAAE,YAAY,KAAK,IAAI,EAAE,QAAQ,cAAc;AAClF;AACA,SAAS,mBAAmB,SAAS,cAAc;CAClD,IAAI,UAAU;CACd,OAAO,QAAQ,SAAS,SAAS;EAChC,MAAM,cAAc,aAAa,IAAI,QAAQ,KAAK;EAClD,IAAI,gBAAgB,KAAK,GAAG;EAC5B,UAAU;CACX;CACA,OAAO;AACR;AACA,SAAS,kBAAkB,SAAS;CACnC,QAAQ,QAAQ,MAAhB;EACC,KAAK,SAAS,OAAO,EAAE,MAAM,OAAO,QAAQ,MAAM,MAAM,MAAM,EAAE;EAChE,KAAK,oBAAoB,OAAO,EAAE,QAAQ,QAAQ,OAAO,QAAQ;EACjE,KAAK,cAAc,OAAO,EAAE,YAAY,KAAK;CAC9C;AACD"}
|
|
1
|
+
{"version":3,"file":"foreign-key-materialization-CCHAR789.mjs","names":[],"sources":["../../../../2-sql-family/1-core/contract/dist/foreign-key-materialization.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { a as rendersIndexBody, t as accessMethodOf } from \"./index-types-pC_5vADQ.mjs\";\nimport { r as lowerAuthoredIndex } from \"./index-naming-BOcJT1B3.mjs\";\nimport { i as leadingBackingObjectName, n as identicalIndexes, o as servingKey, r as indexNodeOf, s as startsWithColumns, t as derivedBackingIndexIsRedundant } from \"./index-equivalence-DswCiq5l.mjs\";\nimport { defaultIndexName, nameOf, truncateToWireNamePrefixBytes } from \"@internal/sql-schema-ir/naming\";\nimport { asNamespaceId } from \"@internal/contract/types\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { InternalError } from \"@internal/utils/internal-error\";\n//#region src/index-deduplication.ts\nconst IDENTICAL_DESCRIPTION = \"the planner sees them as the same index. The contract keeps both because each is named.\";\nconst REDUNDANT_DESCRIPTION = \"which already serves the same lookups.\";\n/**\n* Removes the indexes of one table that duplicate another. Two indexes are identical when the planner sees them as the same index apart from their names (see {@link identicalIndexes}); of an identical group the pass keeps the indexes named by the user, or the first one when none is. A plain non-unique index whose columns are those of the primary key, a unique constraint or a unique index without a predicate is redundant (see {@link servingKey}), and the pass removes it unless it is named by the user. Every index named by the user survives; the pass warns about each one that duplicates another, and refuses two identical indexes both named with `name:`, whose wire names the planner could not tell apart.\n*/\nfunction deduplicateIndexes(input) {\n\tconst { tableName, warnings } = input;\n\tconst replacements = /* @__PURE__ */ new Map();\n\tconst nodes = new Map(input.indexes.map((candidate) => [candidate, indexNodeOf(candidate.index)]));\n\tconst nodeOf = (candidate) => {\n\t\tconst node = nodes.get(candidate);\n\t\tif (node === void 0) throw new InternalError(\"every candidate has a node\");\n\t\treturn node;\n\t};\n\tconst groups = [];\n\tfor (const candidate of input.indexes) {\n\t\tconst position = groups.findIndex(([first]) => identicalIndexes(nodeOf(first), nodeOf(candidate)));\n\t\tconst group = groups[position];\n\t\tif (group === void 0) groups.push([candidate]);\n\t\telse groups[position] = [...group, candidate];\n\t}\n\tfor (const group of groups) {\n\t\tconst named = group.filter((candidate) => candidate.namedByUser);\n\t\tconst wireNamed = named.filter((candidate) => candidate.index.naming.kind === \"wire\");\n\t\tif (wireNamed.length > 1) throw identicalWireNamedIndexesError(tableName, wireNamed);\n\t\tconst kept = named[0] ?? group[0];\n\t\tfor (const candidate of group) if (candidate !== kept && !candidate.namedByUser) replacements.set(candidate, {\n\t\t\tkind: \"index\",\n\t\t\tindex: kept\n\t\t});\n\t\tif (named.length > 1) warnings.push(identicalIndexesWarning(tableName, named));\n\t}\n\tconst survivors = input.indexes.filter((candidate) => !replacements.has(candidate));\n\tfor (const candidate of survivors) {\n\t\tconst servedBy = servingKey(nodeOf(candidate), {\n\t\t\tindexes: survivors,\n\t\t\tnodeOf,\n\t\t\tuniques: input.uniques,\n\t\t\tprimaryKey: input.primaryKey\n\t\t});\n\t\tif (servedBy === void 0) continue;\n\t\tif (candidate.namedByUser) warnings.push(redundantIndexWarning(tableName, candidate, servedBy));\n\t\telse replacements.set(candidate, servedBy);\n\t}\n\treturn {\n\t\tindexes: input.indexes.filter((candidate) => !replacements.has(candidate)),\n\t\treplacements\n\t};\n}\nfunction identicalWireNamedIndexesError(tableName, wireNamed) {\n\treturn contractError(\"CONTRACT.ARGUMENT_INVALID\", `Indexes ${quotedList(wireNamed.map((candidate) => writtenName(candidate.index)))} on table \"${tableName}\" are identical and both named with name:; the planner pairs wire-named indexes by their content, so it could not tell them apart.`, {\n\t\tfix: \"Remove one of them, or name one with map: to keep both under exact names.\",\n\t\tmeta: {\n\t\t\ttableName,\n\t\t\tindexes: wireNamed.map((candidate) => writtenName(candidate.index))\n\t\t}\n\t});\n}\n/** The name the source wrote: the prefix of a wire-named index, the whole name of an exact one. */\nfunction writtenName(index) {\n\treturn index.naming.kind === \"wire\" ? index.naming.prefix : index.naming.name;\n}\nfunction quotedList(names) {\n\tconst quoted = names.map((name) => `\"${name}\"`);\n\treturn quoted.length <= 2 ? quoted.join(\" and \") : `${quoted.slice(0, -1).join(\", \")} and ${quoted.at(-1)}`;\n}\nfunction identicalIndexesWarning(tableName, named) {\n\tconst names = quotedList(named.map((candidate) => writtenName(candidate.index)));\n\treturn {\n\t\tcode: \"PN_INDEX_DUPLICATE\",\n\t\tmessage: `Indexes ${names} on table \"${tableName}\" are identical: ${IDENTICAL_DESCRIPTION} Remove one of them.`,\n\t\titem: `table \"${tableName}\": indexes ${names}`,\n\t\tsummary: `tables have named indexes that are identical: ${IDENTICAL_DESCRIPTION} Remove one of each.`\n\t};\n}\nfunction describeReplacement(replacement) {\n\tswitch (replacement.kind) {\n\t\tcase \"primaryKey\": return \"the primary key\";\n\t\tcase \"uniqueConstraint\": return replacement.unique.name === void 0 ? `the unique constraint on (${replacement.unique.columns.join(\", \")})` : `the unique constraint \"${replacement.unique.name}\"`;\n\t\tcase \"index\": return `the unique index \"${writtenName(replacement.index.index)}\"`;\n\t}\n}\nfunction redundantIndexWarning(tableName, candidate, servedBy) {\n\tconst name = writtenName(candidate.index);\n\treturn {\n\t\tcode: \"PN_INDEX_REDUNDANT\",\n\t\tmessage: `Index \"${name}\" on table \"${tableName}\" has the same columns as ${describeReplacement(servedBy)}, ${REDUNDANT_DESCRIPTION} The contract keeps the index because it is named. Remove it.`,\n\t\titem: `table \"${tableName}\": index \"${name}\"`,\n\t\tsummary: `tables have a named index with the same columns as a unique constraint, unique index or primary key, ${REDUNDANT_DESCRIPTION} The contract keeps each index because it is named. Remove them.`\n\t};\n}\n//#endregion\n//#region src/foreign-key-materialization.ts\n/** The `meta.reason` of the refusal of a relation's `index: \"<name>\"`, which a source can report at the relation. */\nconst FOREIGN_KEY_INDEX_UNRESOLVED = \"foreign-key-index-unresolved\";\n/**\n* Lowers a table's authored foreign keys and indexes into the entities `contract.json` persists. A `constraint: false` foreign key contributes no `foreignKeys[]` entry. A foreign key with `index: true` gets a derived backing index; one with `index: \"<name>\"` uses what the table declares under that name. The table's indexes then pass through {@link deduplicateIndexes}, and each foreign key states what backs it in the result: an index by name, or the primary key or a unique constraint by kind.\n*/\nfunction materializeForeignKeysAndIndexes(input) {\n\tconst { tableName, declaredIndexes, uniques, primaryKey, indexTypes } = input;\n\tconst derivedIndexes = [];\n\tconst intents = input.foreignKeys.map((foreignKey) => {\n\t\tconst { constraint, index, ...reference } = foreignKey;\n\t\tif (index !== true) return {\n\t\t\tconstraint,\n\t\t\treference,\n\t\t\tindex\n\t\t};\n\t\tconst derived = derivedBackingIndex(tableName, reference.source.columns);\n\t\tderivedIndexes.push(derived);\n\t\treturn {\n\t\t\tconstraint,\n\t\t\treference,\n\t\t\tindex: derived\n\t\t};\n\t});\n\tconst deduplicated = deduplicateIndexes({\n\t\ttableName,\n\t\tindexes: [...declaredIndexes, ...derivedIndexes],\n\t\tuniques,\n\t\tprimaryKey,\n\t\twarnings: input.warnings\n\t});\n\tconst resolve = (backing) => foreignKeyIndexOf(resolveReplacement(backing, deduplicated.replacements));\n\treturn {\n\t\tforeignKeys: intents.flatMap(({ constraint, reference, index }) => {\n\t\t\tconst backing = index === false ? void 0 : typeof index === \"string\" ? namedBackingObject(reference.source, index, {\n\t\t\t\tdeclaredIndexes,\n\t\t\t\tuniques,\n\t\t\t\tprimaryKey,\n\t\t\t\tindexTypes,\n\t\t\t\tresolve\n\t\t\t}) : resolve({\n\t\t\t\tkind: \"index\",\n\t\t\t\tindex\n\t\t\t});\n\t\t\tif (!constraint) return [];\n\t\t\treturn [backing === void 0 ? reference : {\n\t\t\t\t...reference,\n\t\t\t\tindex: backing\n\t\t\t}];\n\t\t}),\n\t\tindexes: deduplicated.indexes.map((candidate) => candidate.index)\n\t};\n}\n/**\n* Whether a table's declared indexes, unique constraints or primary key already serve a foreign key on `columns`, so the build would drop a derived backing index again. A source that writes no backing index of its own, such as a Prisma 7 schema, leaves the foreign key's `index` to the build where this holds, so the stored foreign key states what backs it.\n*/\nfunction declaredIndexesServeForeignKey(columns, table) {\n\treturn derivedBackingIndexIsRedundant(columns, {\n\t\tindexes: table.indexes,\n\t\tnodeOf: indexNodeOf,\n\t\tuniques: table.uniques,\n\t\tprimaryKey: table.primaryKey\n\t});\n}\n/**\n* The name to give a relation's `index` argument when the table's declared indexes and keys serve a foreign key on `columns` although the build would keep a derived backing index beside them (see {@link leadingBackingObjectName}).\n*/\nfunction declaredBackingObjectName(columns, table) {\n\treturn leadingBackingObjectName(columns, {\n\t\tindexes: table.indexes,\n\t\tnodeOf: indexNodeOf,\n\t\tnameOf: (index) => nameOf(index.naming),\n\t\tuniques: table.uniques,\n\t\tprimaryKey: table.primaryKey\n\t});\n}\n/**\n* What a foreign key on `columns` states it is backed by when its relation says nothing, beside a table whose indexes all carry the `name` or `map` the source gave them, as a printed contract's do. A printer writes a relation's `index` argument only where the stored foreign key differs from this.\n*/\nfunction defaultForeignKeyIndex(tableName, columns, table) {\n\tconst reference = {\n\t\tnamespaceId: asNamespaceId(UNBOUND_NAMESPACE_ID),\n\t\ttableName,\n\t\tcolumns\n\t};\n\tconst [foreignKey] = materializeForeignKeysAndIndexes({\n\t\ttableName,\n\t\tforeignKeys: [{\n\t\t\tsource: reference,\n\t\t\ttarget: reference,\n\t\t\tconstraint: true,\n\t\t\tindex: true\n\t\t}],\n\t\tdeclaredIndexes: table.indexes.map((index) => ({\n\t\t\tindex,\n\t\t\tnamedByUser: true\n\t\t})),\n\t\tuniques: table.uniques,\n\t\tprimaryKey: table.primaryKey,\n\t\twarnings: [],\n\t\tindexTypes: void 0\n\t}).foreignKeys;\n\treturn typeof foreignKey?.index === \"object\" ? foreignKey.index : void 0;\n}\nfunction derivedBackingIndex(tableName, columns) {\n\treturn {\n\t\tindex: lowerAuthoredIndex(tableName, {\n\t\t\tcolumns,\n\t\t\twhere: void 0,\n\t\t\tunique: void 0,\n\t\t\tmap: void 0,\n\t\t\tname: truncateToWireNamePrefixBytes(defaultIndexName(tableName, columns)),\n\t\t\ttype: void 0,\n\t\t\toptions: void 0\n\t\t}),\n\t\tnamedByUser: false\n\t};\n}\n/**\n* What a relation's `index: \"<name>\"` points at. The name is the `name` or `map` the source gave an index, unique constraint or primary key, or an index's stored name; an unnamed index's default name does not count. Identical indexes count as one, so the name is resolved after they merge. The object must start with the foreign key's columns, in order, or it would not serve the foreign key's lookups. An index of a type whose body is rendered from its options (see {@link rendersIndexBody}) is refused too: its columns are not its key.\n*/\nfunction namedBackingObject(source, name, table) {\n\tconst { namespaceId, tableName, columns } = source;\n\tconst subject = `The foreign key on table \"${tableName}\" columns (${columns.join(\", \")}) names \"${name}\" as its index`;\n\tconst meta = {\n\t\treason: FOREIGN_KEY_INDEX_UNRESOLVED,\n\t\tnamespaceId,\n\t\ttableName,\n\t\tcolumns,\n\t\tindex: name\n\t};\n\tconst indexes = table.declaredIndexes.filter((candidate) => candidate.namedByUser && writtenName(candidate.index) === name || nameOf(candidate.index.naming) === name);\n\tconst keys = [...table.uniques.filter((unique) => unique.name === name), ...table.primaryKey?.name === name ? [table.primaryKey] : []];\n\tconst resolvedIndexes = [...new Map(indexes.map((index) => {\n\t\tconst resolved = table.resolve({\n\t\t\tkind: \"index\",\n\t\t\tindex\n\t\t});\n\t\treturn [JSON.stringify(resolved), {\n\t\t\tindex,\n\t\t\tresolved\n\t\t}];\n\t})).values()];\n\tconst matches = resolvedIndexes.length + keys.length;\n\tif (matches === 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `${subject}, but table \"${tableName}\" has no index, unique constraint or primary key with that name.`, {\n\t\tfix: `Declare an index, unique constraint or primary key named \"${name}\" on table \"${tableName}\", or drop the index argument so the foreign key gets its own backing index.`,\n\t\tmeta\n\t});\n\tif (matches > 1) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `${subject}, but table \"${tableName}\" has more than one index, unique constraint or primary key with that name.`, {\n\t\tfix: `Give the object the foreign key should use a name no other index, unique constraint or primary key of table \"${tableName}\" has, and name that on the relation.`,\n\t\tmeta\n\t});\n\tconst [match] = resolvedIndexes;\n\tconst key = keys[0];\n\tconst matchType = match?.index.index.type;\n\tconst typeEntry = matchType === void 0 ? void 0 : table.indexTypes?.get(matchType);\n\tif (typeEntry !== void 0 && rendersIndexBody(typeEntry)) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `${subject}, but it is a \"${typeEntry.type}\" index, a \"${accessMethodOf(typeEntry)}\" index whose key is rendered from its options rather than its columns, so it does not serve the foreign key's lookups.`, {\n\t\tfix: `Name an index, unique constraint or primary key whose first columns are (${columns.join(\", \")}), or drop the index argument so the foreign key gets its own backing index beside the \"${typeEntry.type}\" index.`,\n\t\tmeta\n\t});\n\tconst objectColumns = match !== void 0 ? match.index.index.columns : key?.columns;\n\tif (objectColumns === void 0 || !startsWithColumns(objectColumns, columns)) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `${subject}, but ${objectColumns === void 0 ? \"it indexes an expression, not the foreign key's columns\" : `its columns (${objectColumns.join(\", \")}) do not start with the foreign key's columns`}, so it does not serve the foreign key's lookups.`, {\n\t\tfix: `Name an index, unique constraint or primary key whose first columns are (${columns.join(\", \")}), or drop the index argument so the foreign key gets its own backing index.`,\n\t\tmeta\n\t});\n\tif (match !== void 0) return match.resolved;\n\treturn key === table.primaryKey ? { primaryKey: true } : { unique: objectColumns };\n}\nfunction resolveReplacement(backing, replacements) {\n\tlet current = backing;\n\twhile (current.kind === \"index\") {\n\t\tconst replacement = replacements.get(current.index);\n\t\tif (replacement === void 0) break;\n\t\tcurrent = replacement;\n\t}\n\treturn current;\n}\nfunction foreignKeyIndexOf(backing) {\n\tswitch (backing.kind) {\n\t\tcase \"index\": return { name: nameOf(backing.index.index.naming) };\n\t\tcase \"uniqueConstraint\": return { unique: backing.unique.columns };\n\t\tcase \"primaryKey\": return { primaryKey: true };\n\t}\n}\n//#endregion\nexport { FOREIGN_KEY_INDEX_UNRESOLVED, declaredBackingObjectName, declaredIndexesServeForeignKey, defaultForeignKeyIndex, derivedBackingIndexIsRedundant, leadingBackingObjectName, materializeForeignKeysAndIndexes };\n\n//# sourceMappingURL=foreign-key-materialization.mjs.map"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { C as LiteralExpr, E as NullCheckExpr, I as SubqueryExpr, O as OrExpr, S as ListExpression, n as AndExpr, p as ExistsExpr, r as BinaryExpr } from "./types-BkTuhW3Z-BJfTjcxS.mjs";
|
|
2
|
-
import { a as isExpression, i as createRawSql, r as codecOf, s as toExpr, t as ExpressionImpl } from "./expression-impl-DtbmFnnz-
|
|
2
|
+
import { a as isExpression, i as createRawSql, r as codecOf, s as toExpr, t as ExpressionImpl } from "./expression-impl-DtbmFnnz-Dal0IYDE.mjs";
|
|
3
3
|
import { blindCast } from "@prisma/orm-framework/utils/casts";
|
|
4
4
|
//#region ../../../2-sql-family/4-lanes/relational-core/dist/exports/functions.mjs
|
|
5
5
|
const BOOL_FIELD = {
|
|
@@ -85,4 +85,4 @@ function createFunctions(operations, rawCodecInferer) {
|
|
|
85
85
|
//#endregion
|
|
86
86
|
export { createFunctions as t };
|
|
87
87
|
|
|
88
|
-
//# sourceMappingURL=functions-
|
|
88
|
+
//# sourceMappingURL=functions-DO1k8KLB.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions-
|
|
1
|
+
{"version":3,"file":"functions-DO1k8KLB.mjs","names":[],"sources":["../../../../2-sql-family/4-lanes/relational-core/dist/exports/functions.mjs"],"sourcesContent":["import { C as LiteralExpr, E as NullCheckExpr, I as SubqueryExpr, O as OrExpr, S as ListExpression, n as AndExpr, p as ExistsExpr, r as BinaryExpr } from \"../types-BkTuhW3Z.mjs\";\nimport { a as isExpression, i as createRawSql, r as codecOf, s as toExpr, t as ExpressionImpl } from \"../expression-impl-DtbmFnnz.mjs\";\nimport { blindCast } from \"@internal/utils/casts\";\n//#region src/functions.ts\nconst BOOL_FIELD = {\n\tcodecId: \"pg/bool@1\",\n\tnullable: false\n};\n/**\n* Resolve a binary-comparison operand into an AST expression, threading the column-bound side's {@link CodecRef} to the raw-value side.\n*\n* For `fns.eq(f.email, 'alice@example.com')`, `f.email` is the column-bound expression carrying a `ColumnRef` AST and a `CodecRef` derived from contract storage; the raw string operand has no codec context. By deriving the codec context from the column-bound side and forwarding it via `toExpr(value, codec)`, the resulting `ParamRef` carries the `CodecRef` that encode-side dispatch needs to materialise the per-instance codec for parameterized codec ids (`vector(1024)` vs. `vector(1536)`).\n*/\nfunction resolveOperand(operand, otherCodec) {\n\tif (isExpression(operand)) return operand.buildAst();\n\treturn toExpr(operand, otherCodec);\n}\n/**\n* Resolves an Expression via `buildAst()`, or wraps a raw value as a `LiteralExpr` — an SQL literal inlined into the query text, not a bound parameter.\n*\n* Used for `and` / `or` operands. The usual operand is an `Expression<bool>` (e.g. the result of `fns.eq`), which this function passes through by calling `buildAst()`. The only time the raw-value branch fires is when the caller writes `fns.and(true, x)` or similar — inlining `TRUE`/`FALSE` literals lets the SQL planner statically simplify `TRUE AND x` to `x`, which it cannot do for an opaque `ParamRef`.\n*/\nfunction toLiteralExpr(value) {\n\tif (isExpression(value)) return value.buildAst();\n\treturn new LiteralExpr(value);\n}\nfunction boolExpr(astNode) {\n\treturn new ExpressionImpl(astNode, BOOL_FIELD);\n}\nfunction binaryWithSharedCodec(a, b, build) {\n\tconst aCodec = codecOf(a);\n\treturn build(resolveOperand(a, codecOf(b)), resolveOperand(b, aCodec));\n}\nfunction eq(a, b) {\n\tif (b === null) return boolExpr(NullCheckExpr.isNull(toExpr(a)));\n\tif (a === null) return boolExpr(NullCheckExpr.isNull(toExpr(b)));\n\treturn boolExpr(binaryWithSharedCodec(a, b, (l, r) => new BinaryExpr(\"eq\", l, r)));\n}\nfunction ne(a, b) {\n\tif (b === null) return boolExpr(NullCheckExpr.isNotNull(toExpr(a)));\n\tif (a === null) return boolExpr(NullCheckExpr.isNotNull(toExpr(b)));\n\treturn boolExpr(binaryWithSharedCodec(a, b, (l, r) => new BinaryExpr(\"neq\", l, r)));\n}\nfunction comparison(a, b, op) {\n\treturn boolExpr(binaryWithSharedCodec(a, b, (l, r) => new BinaryExpr(op, l, r)));\n}\nfunction inOrNotIn(expr, valuesOrSubquery, op) {\n\tconst left = expr.buildAst();\n\tconst leftCodec = codecOf(expr);\n\tconst binaryFn = op === \"in\" ? BinaryExpr.in : BinaryExpr.notIn;\n\tif (Array.isArray(valuesOrSubquery)) {\n\t\tconst refs = valuesOrSubquery.map((v) => resolveOperand(v, leftCodec));\n\t\treturn boolExpr(binaryFn(left, ListExpression.of(refs)));\n\t}\n\treturn boolExpr(binaryFn(left, SubqueryExpr.of(valuesOrSubquery.buildAst())));\n}\nfunction createBuiltinFunctions(rawCodecInferer) {\n\treturn {\n\t\teq: (a, b) => eq(a, b),\n\t\tne: (a, b) => ne(a, b),\n\t\tgt: (a, b) => comparison(a, b, \"gt\"),\n\t\tgte: (a, b) => comparison(a, b, \"gte\"),\n\t\tlt: (a, b) => comparison(a, b, \"lt\"),\n\t\tlte: (a, b) => comparison(a, b, \"lte\"),\n\t\tand: (...exprs) => boolExpr(AndExpr.of(exprs.map(toLiteralExpr))),\n\t\tor: (...exprs) => boolExpr(OrExpr.of(exprs.map(toLiteralExpr))),\n\t\texists: (subquery) => boolExpr(ExistsExpr.exists(subquery.buildAst())),\n\t\tnotExists: (subquery) => boolExpr(ExistsExpr.notExists(subquery.buildAst())),\n\t\tin: (expr, valuesOrSubquery) => inOrNotIn(expr, valuesOrSubquery, \"in\"),\n\t\tnotIn: (expr, valuesOrSubquery) => inOrNotIn(expr, valuesOrSubquery, \"notIn\"),\n\t\traw: createRawSql(rawCodecInferer)\n\t};\n}\n/**\n* The function surface for a contract: the built-in functions, and each registered query operation's implementation under its name.\n*/\nfunction createFunctions(operations, rawCodecInferer) {\n\tconst builtins = createBuiltinFunctions(rawCodecInferer);\n\treturn new Proxy(blindCast({}), { get(_target, prop) {\n\t\tif (Object.hasOwn(builtins, prop)) return blindCast(builtins)[prop];\n\t\tconst op = operations[prop];\n\t\tif (op) return op.impl;\n\t} });\n}\n//#endregion\nexport { createFunctions };\n\n//# sourceMappingURL=functions.mjs.map"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { D as QueryOperationTypesBase } from "./types-
|
|
2
|
-
import "./types-
|
|
3
|
-
import { i as SqlOperationEntry } from "./index-
|
|
4
|
-
import { Nt as SelectAst } from "./types-ijhejJhK-
|
|
5
|
-
import { i as CodecTypesBase, l as RawCodecInferer, o as Expression, r as CodecExpression, x as ScopeField, y as RawSqlTag } from "./expression-C3F6gxZH-
|
|
1
|
+
import { D as QueryOperationTypesBase } from "./types-DNTLudNR-DiVulPhL.mjs";
|
|
2
|
+
import "./types-CXRxo_TK.mjs";
|
|
3
|
+
import { i as SqlOperationEntry } from "./index-BWWwt5hB.mjs";
|
|
4
|
+
import { Nt as SelectAst } from "./types-ijhejJhK-BqfwP5Cc.mjs";
|
|
5
|
+
import { i as CodecTypesBase, l as RawCodecInferer, o as Expression, r as CodecExpression, x as ScopeField, y as RawSqlTag } from "./expression-C3F6gxZH-EOb5cRCY.mjs";
|
|
6
6
|
//#region ../../../2-sql-family/4-lanes/relational-core/dist/exports/functions.d.mts
|
|
7
7
|
//#region src/functions.d.ts
|
|
8
8
|
type BooleanCodecType = {
|
|
@@ -70,4 +70,4 @@ type Functions<QC extends FunctionsContext> = BuiltinFunctions<QC['codecTypes']>
|
|
|
70
70
|
declare function createFunctions<QC extends FunctionsContext>(operations: Readonly<Record<string, SqlOperationEntry>>, rawCodecInferer: RawCodecInferer): Functions<QC>;
|
|
71
71
|
//#endregion
|
|
72
72
|
export { Subquery as a, FunctionsContext as i, BuiltinFunctions as n, SubqueryMarker as o, Functions as r, createFunctions as s, BooleanCodecType as t };
|
|
73
|
-
//# sourceMappingURL=functions-
|
|
73
|
+
//# sourceMappingURL=functions-PBSwFhni.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions-
|
|
1
|
+
{"version":3,"file":"functions-PBSwFhni.d.mts","names":[],"sources":["../../../../2-sql-family/4-lanes/relational-core/dist/exports/functions.d.mts"],"mappings":";;;;;;;KAKK;EACH;EACA;;cAEY;KACT,SAAS,gBAAgB,eAAe;GAC1C,iBAAiB;EAClB,YAAY;EACZ,gBAAgB,eAAe;;;KAG5B;WACM,YAAY;WACZ,qBAAqB;;KAE3B,mBAAmB,WAAW,8BAA8B,WAAW,KAAK,GAAG;KAC/E,iBAAiB,WAAW;WACtB;;EAET,KAAK,wBAAwB,GAAG,gBAAgB,kBAAkB,YAAY,GAAG,gBAAgB,kBAAkB,eAAe,WAAW;EAC7I,KAAK,wBAAwB,mBAAmB,GAAG,gBAAgB,SAAS,GAAG,YAAY,GAAG,gBAAgB,SAAS,GAAG,eAAe,WAAW;EACpJ,KAAK,wBAAwB,mBAAmB,GAAG,gBAAgB,SAAS,GAAG,KAAK,GAAG,gBAAgB,SAAS,GAAG,QAAQ,WAAW;EACtI,MAAM,wBAAwB,mBAAmB,GAAG,gBAAgB,SAAS,GAAG,KAAK,GAAG,gBAAgB,SAAS,GAAG,QAAQ,WAAW;EACvI,KAAK,wBAAwB,mBAAmB,GAAG,gBAAgB,SAAS,GAAG,KAAK,GAAG,gBAAgB,SAAS,GAAG,QAAQ,WAAW;EACtI,MAAM,wBAAwB,mBAAmB,GAAG,gBAAgB,SAAS,GAAG,KAAK,GAAG,gBAAgB,SAAS,GAAG,QAAQ,WAAW;EACvI,SAAS,MAAM,sCAAsC,UAAU,WAAW;EAC1E,QAAQ,KAAK,sCAAsC,UAAU,WAAW;EACxE,SAAS,UAAU,SAAS,eAAe,iBAAiB,WAAW;EACvE,YAAY,UAAU,SAAS,eAAe,iBAAiB,WAAW;EAC1E;KACG,wBAAwB,MAAM;MAC7B,SAAS;MACT;QACE,UAAU,SAAS;MACrB,SAAS;MACT;UACI,WAAW;KAChB,wBAAwB,MAAM;MAC7B,SAAS;MACT;QACE,QAAQ,MAAM,gBAAgB,kBAAkB,OAAO,WAAW;;EAExE;KACG,wBAAwB,MAAM;MAC7B,SAAS;MACT;QACE,UAAU,SAAS;MACrB,SAAS;MACT;UACI,WAAW;KAChB,wBAAwB,MAAM;MAC7B,SAAS;MACT;QACE,QAAQ,MAAM,gBAAgB,kBAAkB,OAAO,WAAW;;WAE/D,KAAK;;;KAGX,UAAU,WAAW,oBAAoB,iBAAiB,oBAAoB,mBAAmB;;;;iBAIrF,gBAAgB,WAAW,kBAAkB,YAAY,SAAS,eAAe,qBAAqB,iBAAiB,kBAAkB,UAAU"}
|
package/dist/{generator-functions-Hy4pDDr9-AUCNpeg5.mjs → generator-functions-Hy4pDDr9-BUHOsofo.mjs}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as generatedIdColumnAliases } from "./generated-id-column-aliases-DPUii1fN.mjs";
|
|
2
|
-
import { c as enumType } from "./contract-builder-
|
|
3
|
-
import { c as SQL_TEXT_CODEC_ID, i as SQL_CHAR_CODEC_ID, l as SQL_VARCHAR_CODEC_ID } from "./ast-
|
|
2
|
+
import { c as enumType } from "./contract-builder-Bk-Co792.mjs";
|
|
3
|
+
import { c as SQL_TEXT_CODEC_ID, i as SQL_CHAR_CODEC_ID, l as SQL_VARCHAR_CODEC_ID } from "./ast-C3itulLi.mjs";
|
|
4
4
|
import { readEnumBlockMembers, resolveEnumCodecId } from "@prisma/orm-framework/components/authoring";
|
|
5
5
|
import { enumRefusalOf, requiredParamKeys } from "@prisma/orm-framework/components/codec";
|
|
6
6
|
import { blindCast } from "@prisma/orm-framework/utils/casts";
|
|
@@ -402,4 +402,4 @@ function checkedInteger(integer, dataTypes, allowed, refusal) {
|
|
|
402
402
|
//#endregion
|
|
403
403
|
export { sqlFamilyGeneratorFunctions as a, sqlTargetTypeConstructors as c, sqlFamilyGeneratorDescriptors as i, sqlFamilyAuthoringTypes as n, sqlFamilyPslBlockDescriptors as o, sqlFamilyEntityTypes as r, sqlIntegerArgumentGeneratorFunctions as s, idGeneratorFunctionBindings as t };
|
|
404
404
|
|
|
405
|
-
//# sourceMappingURL=generator-functions-Hy4pDDr9-
|
|
405
|
+
//# sourceMappingURL=generator-functions-Hy4pDDr9-BUHOsofo.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator-functions-Hy4pDDr9-AUCNpeg5.mjs","names":[],"sources":["../../../../2-sql-family/9-family/dist/generator-functions-Hy4pDDr9.mjs"],"sourcesContent":["import { readEnumBlockMembers, resolveEnumCodecId } from \"@internal/framework-components/authoring\";\nimport { enumRefusalOf, requiredParamKeys } from \"@internal/framework-components/codec\";\nimport { blockAttribute, dataTypeValue, enumMemberValue, leafDiagnostic, mapBlock, optional, refineArg, str } from \"@internal/psl-parser\";\nimport { enumType } from \"@internal/sql-contract-ts/contract-builder\";\nimport { generatedIdColumnAliases } from \"@internal/sql-contract/generated-id-column-aliases\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { singleGeneratorBinding } from \"@internal/framework-components/components\";\nimport { CUID_VERSION, NANOID_SIZE, UUID_VERSIONS, generatedLength } from \"@internal/ids\";\nimport { SQL_CHAR_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_VARCHAR_CODEC_ID } from \"@internal/sql-relational-core/ast\";\nimport { notOk, ok } from \"@internal/utils/result\";\n//#region src/core/authoring-entity-types.ts\nfunction sqlFamilyEnumSpec() {\n\treturn mapBlock({\n\t\tvalue: {\n\t\t\ttype: enumMemberValue(),\n\t\t\tdocumentation: \"The member's value, written as a value of the enum's data type; 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.dataTypes.lookup.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-types.ts\nconst sqlFamilyAuthoringTypes = {\n\tRaw: {\n\t\tkind: \"typeConstructor\",\n\t\tdocumentation: \"A column of a type no other column type covers, written exactly as the database catalog prints it, such as Raw(sql`tsvector`). Its values are typed unknown, and its default is a sql expression.\",\n\t\targs: [{\n\t\t\tkind: \"value\",\n\t\t\tdataType: \"sql/expression\",\n\t\t\tname: \"sql\"\n\t\t}],\n\t\toutput: {\n\t\t\tcodecId: \"sql/raw@1\",\n\t\t\ttypeParams: { sql: {\n\t\t\t\tkind: \"arg\",\n\t\t\t\tindex: 0\n\t\t\t} }\n\t\t}\n\t},\n\tsql: generatedIdColumnAliases\n};\n/**\n* The type constructors every SQL target contributes itself, because their arguments are sizes, such as a length, and only the target names the data type a size is a value of: `sizeType`, such as `pg/int4`.\n*/\nfunction sqlTargetTypeConstructors(input) {\n\treturn { sql: {\n\t\tString: {\n\t\t\tkind: \"typeConstructor\",\n\t\t\tdocumentation: \"Variable-length text with a required maximum character length.\",\n\t\t\targs: [{\n\t\t\t\tkind: \"value\",\n\t\t\t\tdataType: input.sizeType,\n\t\t\t\tname: \"length\"\n\t\t\t}],\n\t\t\toutput: {\n\t\t\t\tcodecId: \"sql/varchar@1\",\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} }\n\t\t\t}\n\t\t},\n\t\tChar: {\n\t\t\tkind: \"typeConstructor\",\n\t\t\tdocumentation: \"Fixed-length text with a required character length.\",\n\t\t\targs: [{\n\t\t\t\tkind: \"value\",\n\t\t\t\tdataType: input.sizeType,\n\t\t\t\tname: \"length\"\n\t\t\t}],\n\t\t\toutput: {\n\t\t\t\tcodecId: \"sql/char@1\",\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} }\n\t\t\t}\n\t\t}\n\t} };\n}\n//#endregion\n//#region src/core/generator-functions.ts\nconst NANOID_DEFAULT_SIZE = 21;\nconst nowSignature = { documentation: \"Writes the current time, as the column's codec represents it.\" };\nconst ulidSignature = { documentation: \"Generates a ULID when a value is not supplied.\" };\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 === UUID_VERSIONS.v4) return generated(\"uuidv4\");\n\t\t\tif (version === UUID_VERSIONS.v7) return generated(\"uuidv7\");\n\t\t\treturn refused(`uuid: version must be ${UUID_VERSIONS.v4} or ${UUID_VERSIONS.v7}, got ${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: UUID_VERSIONS.v7 },\n\t\t\t\ttext: String(UUID_VERSIONS.v7)\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 === CUID_VERSION ? generated(\"cuid2\") : refused(`cuid: version must be ${CUID_VERSION}, got ${String(version)}`);\n\t\t},\n\t\tprintArguments: (generator) => generator.id === \"cuid2\" ? {\n\t\t\targs: { version: CUID_VERSION },\n\t\t\ttext: String(CUID_VERSION)\n\t\t} : void 0\n\t};\n}\nfunction isNanoidSize(size) {\n\treturn typeof size === \"number\" && Number.isInteger(size) && size >= NANOID_SIZE.min && size <= NANOID_SIZE.max;\n}\n/**\n* A Nano ID has the size the call gives, or 21; the column's length never sets it. 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 }) => {\n\t\t\tconst explicit = args[\"size\"];\n\t\t\tif (explicit !== void 0 && !isNanoidSize(explicit)) return refused(`nanoid: size must be between ${NANOID_SIZE.min} and ${NANOID_SIZE.max}, got ${String(explicit)}`);\n\t\t\treturn explicit === void 0 ? generated(\"nanoid\") : generated(\"nanoid\", { size: explicit });\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/**\n* `binding`, refusing a column whose length, in its data type's normal form, is shorter than the identifier the generator writes. The database would refuse every insert of a longer value.\n*/\nfunction fittingColumn(name, binding) {\n\treturn {\n\t\t...binding,\n\t\tresolve: (input) => {\n\t\t\tconst resolution = binding.resolve(input);\n\t\t\tconst length = input.field.length;\n\t\t\tif (!resolution.ok || length === void 0) return resolution;\n\t\t\tconst { generator } = resolution;\n\t\t\tconst written = generatedLength(blindCast(generator.id), generator.params);\n\t\t\tif (written <= length) return resolution;\n\t\t\treturn refused(`${`${name}(${binding.printArguments(generator, input.field)?.text ?? \"\"})`} writes ${written} characters, which does not fit a column of ${length} ${length === 1 ? \"character\" : \"characters\"}.`);\n\t\t}\n\t};\n}\n/** The identifier generator functions bound to a target's text codecs, and `uuid` to its uuid codecs. Each refuses a column too short for what it writes. */\nfunction idGeneratorFunctionBindings(codecs) {\n\tconst { text } = codecs;\n\treturn [\n\t\t{\n\t\t\tname: \"uuid\",\n\t\t\tbindings: [fittingColumn(\"uuid\", uuidBinding([...text, ...codecs.uuid ?? []]))]\n\t\t},\n\t\t{\n\t\t\tname: \"cuid\",\n\t\t\tbindings: [fittingColumn(\"cuid\", cuidBinding(text))]\n\t\t},\n\t\t{\n\t\t\tname: \"ulid\",\n\t\t\tbindings: [fittingColumn(\"ulid\", 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: [fittingColumn(\"ksuid\", 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: [fittingColumn(\"nanoid\", 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\tbindings: familyBindingsOf(\"uuid\")\n\t},\n\t{\n\t\tname: \"cuid\",\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\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/**\n* The generator functions whose arguments are integers, declared with their signatures: `uuid(version?)`, `cuid(version)` and `nanoid(size?)`. Each argument is a value of `integer`, the target's integer data type, read and cast like a default, then checked by its function. A target declares them, because only it knows its integer type; the family and the target bind them.\n*/\nfunction sqlIntegerArgumentGeneratorFunctions({ integer }) {\n\treturn [\n\t\t{\n\t\t\tname: \"uuid\",\n\t\t\tsignature: (dataTypes) => uuidSignature(integer, dataTypes),\n\t\t\tbindings: []\n\t\t},\n\t\t{\n\t\t\tname: \"cuid\",\n\t\t\tsignature: (dataTypes) => cuidSignature(integer, dataTypes),\n\t\t\tbindings: []\n\t\t},\n\t\t{\n\t\t\tname: \"nanoid\",\n\t\t\tsignature: (dataTypes) => nanoidSignature(integer, dataTypes),\n\t\t\tbindings: []\n\t\t}\n\t];\n}\nfunction uuidSignature(integer, dataTypes) {\n\tconst versions = [UUID_VERSIONS.v4, UUID_VERSIONS.v7];\n\treturn {\n\t\tdocumentation: \"Generates a UUID when a value is not supplied.\",\n\t\tpositional: [{\n\t\t\tkey: \"version\",\n\t\t\ttype: optional(checkedInteger(integer, dataTypes, listed(versions), (version, written) => versions.some((allowed) => allowed === version) ? void 0 : `uuid: version must be ${UUID_VERSIONS.v4} or ${UUID_VERSIONS.v7}, got ${written}`)),\n\t\t\tdocumentation: `The UUID version: \\`${UUID_VERSIONS.v4}\\` or \\`${UUID_VERSIONS.v7}\\`. Defaults to \\`${UUID_VERSIONS.v4}\\`.`\n\t\t}]\n\t};\n}\nfunction cuidSignature(integer, dataTypes) {\n\treturn {\n\t\tdocumentation: \"Generates a CUID2 identifier when a value is not supplied.\",\n\t\tpositional: [{\n\t\t\tkey: \"version\",\n\t\t\ttype: checkedInteger(integer, dataTypes, listed([CUID_VERSION]), (version, written) => version === CUID_VERSION ? void 0 : `cuid: version must be ${CUID_VERSION}, got ${written}`),\n\t\t\tdocumentation: `The CUID version. Only \\`${CUID_VERSION}\\` is supported.`\n\t\t}]\n\t};\n}\nfunction nanoidSignature(integer, dataTypes) {\n\treturn {\n\t\tdocumentation: \"Generates a Nano ID when a value is not supplied.\",\n\t\tpositional: [{\n\t\t\tkey: \"size\",\n\t\t\ttype: optional(checkedInteger(integer, dataTypes, {\n\t\t\t\tlabel: `integer from ${NANOID_SIZE.min} to ${NANOID_SIZE.max}`,\n\t\t\t\tsuggestions: []\n\t\t\t}, (size, written) => isNanoidSize(size) ? void 0 : `nanoid: size must be between ${NANOID_SIZE.min} and ${NANOID_SIZE.max}, got ${written}`)),\n\t\t\tdocumentation: `The identifier length, from \\`${NANOID_SIZE.min}\\` through \\`${NANOID_SIZE.max}\\`. Defaults to ${NANOID_DEFAULT_SIZE}.`\n\t\t}]\n\t};\n}\n/** The completion suggestions of an argument that takes one of `values`, which its label lists. */\nfunction listed(values) {\n\treturn {\n\t\tsuggestions: values.map(String),\n\t\tlabelIsUnion: true\n\t};\n}\n/**\n* One value of the integer data type, as a number, refused at the argument with the function's message when `refusal` returns one.\n*/\nfunction checkedInteger(integer, dataTypes, allowed, refusal) {\n\treturn refineArg(dataTypeValue(integer, dataTypes, allowed), ({ value }, arg, ctx) => {\n\t\tconst stored = value.value;\n\t\tif (typeof stored !== \"number\" && typeof stored !== \"string\") throw new InternalError(`Data type \"${integer}\" stores an integer as ${typeof stored}, not a number or digit text.`);\n\t\tconst message = refusal(Number(stored), String(stored));\n\t\treturn message === void 0 ? ok(blindCast(Number(stored))) : notOk([leafDiagnostic(ctx, arg, message, \"PSL_INVALID_GENERATOR_ARGUMENT\")]);\n\t});\n}\n//#endregion\nexport { sqlFamilyAuthoringTypes as a, sqlFamilyPslBlockDescriptors as c, sqlIntegerArgumentGeneratorFunctions as i, sqlFamilyGeneratorDescriptors as n, sqlTargetTypeConstructors as o, sqlFamilyGeneratorFunctions as r, sqlFamilyEntityTypes as s, idGeneratorFunctionBindings as t };\n\n//# sourceMappingURL=generator-functions-Hy4pDDr9.mjs.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generator-functions-Hy4pDDr9-BUHOsofo.mjs","names":[],"sources":["../../../../2-sql-family/9-family/dist/generator-functions-Hy4pDDr9.mjs"],"sourcesContent":["import { readEnumBlockMembers, resolveEnumCodecId } from \"@internal/framework-components/authoring\";\nimport { enumRefusalOf, requiredParamKeys } from \"@internal/framework-components/codec\";\nimport { blockAttribute, dataTypeValue, enumMemberValue, leafDiagnostic, mapBlock, optional, refineArg, str } from \"@internal/psl-parser\";\nimport { enumType } from \"@internal/sql-contract-ts/contract-builder\";\nimport { generatedIdColumnAliases } from \"@internal/sql-contract/generated-id-column-aliases\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { singleGeneratorBinding } from \"@internal/framework-components/components\";\nimport { CUID_VERSION, NANOID_SIZE, UUID_VERSIONS, generatedLength } from \"@internal/ids\";\nimport { SQL_CHAR_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_VARCHAR_CODEC_ID } from \"@internal/sql-relational-core/ast\";\nimport { notOk, ok } from \"@internal/utils/result\";\n//#region src/core/authoring-entity-types.ts\nfunction sqlFamilyEnumSpec() {\n\treturn mapBlock({\n\t\tvalue: {\n\t\t\ttype: enumMemberValue(),\n\t\t\tdocumentation: \"The member's value, written as a value of the enum's data type; 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.dataTypes.lookup.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-types.ts\nconst sqlFamilyAuthoringTypes = {\n\tRaw: {\n\t\tkind: \"typeConstructor\",\n\t\tdocumentation: \"A column of a type no other column type covers, written exactly as the database catalog prints it, such as Raw(sql`tsvector`). Its values are typed unknown, and its default is a sql expression.\",\n\t\targs: [{\n\t\t\tkind: \"value\",\n\t\t\tdataType: \"sql/expression\",\n\t\t\tname: \"sql\"\n\t\t}],\n\t\toutput: {\n\t\t\tcodecId: \"sql/raw@1\",\n\t\t\ttypeParams: { sql: {\n\t\t\t\tkind: \"arg\",\n\t\t\t\tindex: 0\n\t\t\t} }\n\t\t}\n\t},\n\tsql: generatedIdColumnAliases\n};\n/**\n* The type constructors every SQL target contributes itself, because their arguments are sizes, such as a length, and only the target names the data type a size is a value of: `sizeType`, such as `pg/int4`.\n*/\nfunction sqlTargetTypeConstructors(input) {\n\treturn { sql: {\n\t\tString: {\n\t\t\tkind: \"typeConstructor\",\n\t\t\tdocumentation: \"Variable-length text with a required maximum character length.\",\n\t\t\targs: [{\n\t\t\t\tkind: \"value\",\n\t\t\t\tdataType: input.sizeType,\n\t\t\t\tname: \"length\"\n\t\t\t}],\n\t\t\toutput: {\n\t\t\t\tcodecId: \"sql/varchar@1\",\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} }\n\t\t\t}\n\t\t},\n\t\tChar: {\n\t\t\tkind: \"typeConstructor\",\n\t\t\tdocumentation: \"Fixed-length text with a required character length.\",\n\t\t\targs: [{\n\t\t\t\tkind: \"value\",\n\t\t\t\tdataType: input.sizeType,\n\t\t\t\tname: \"length\"\n\t\t\t}],\n\t\t\toutput: {\n\t\t\t\tcodecId: \"sql/char@1\",\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} }\n\t\t\t}\n\t\t}\n\t} };\n}\n//#endregion\n//#region src/core/generator-functions.ts\nconst NANOID_DEFAULT_SIZE = 21;\nconst nowSignature = { documentation: \"Writes the current time, as the column's codec represents it.\" };\nconst ulidSignature = { documentation: \"Generates a ULID when a value is not supplied.\" };\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 === UUID_VERSIONS.v4) return generated(\"uuidv4\");\n\t\t\tif (version === UUID_VERSIONS.v7) return generated(\"uuidv7\");\n\t\t\treturn refused(`uuid: version must be ${UUID_VERSIONS.v4} or ${UUID_VERSIONS.v7}, got ${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: UUID_VERSIONS.v7 },\n\t\t\t\ttext: String(UUID_VERSIONS.v7)\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 === CUID_VERSION ? generated(\"cuid2\") : refused(`cuid: version must be ${CUID_VERSION}, got ${String(version)}`);\n\t\t},\n\t\tprintArguments: (generator) => generator.id === \"cuid2\" ? {\n\t\t\targs: { version: CUID_VERSION },\n\t\t\ttext: String(CUID_VERSION)\n\t\t} : void 0\n\t};\n}\nfunction isNanoidSize(size) {\n\treturn typeof size === \"number\" && Number.isInteger(size) && size >= NANOID_SIZE.min && size <= NANOID_SIZE.max;\n}\n/**\n* A Nano ID has the size the call gives, or 21; the column's length never sets it. 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 }) => {\n\t\t\tconst explicit = args[\"size\"];\n\t\t\tif (explicit !== void 0 && !isNanoidSize(explicit)) return refused(`nanoid: size must be between ${NANOID_SIZE.min} and ${NANOID_SIZE.max}, got ${String(explicit)}`);\n\t\t\treturn explicit === void 0 ? generated(\"nanoid\") : generated(\"nanoid\", { size: explicit });\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/**\n* `binding`, refusing a column whose length, in its data type's normal form, is shorter than the identifier the generator writes. The database would refuse every insert of a longer value.\n*/\nfunction fittingColumn(name, binding) {\n\treturn {\n\t\t...binding,\n\t\tresolve: (input) => {\n\t\t\tconst resolution = binding.resolve(input);\n\t\t\tconst length = input.field.length;\n\t\t\tif (!resolution.ok || length === void 0) return resolution;\n\t\t\tconst { generator } = resolution;\n\t\t\tconst written = generatedLength(blindCast(generator.id), generator.params);\n\t\t\tif (written <= length) return resolution;\n\t\t\treturn refused(`${`${name}(${binding.printArguments(generator, input.field)?.text ?? \"\"})`} writes ${written} characters, which does not fit a column of ${length} ${length === 1 ? \"character\" : \"characters\"}.`);\n\t\t}\n\t};\n}\n/** The identifier generator functions bound to a target's text codecs, and `uuid` to its uuid codecs. Each refuses a column too short for what it writes. */\nfunction idGeneratorFunctionBindings(codecs) {\n\tconst { text } = codecs;\n\treturn [\n\t\t{\n\t\t\tname: \"uuid\",\n\t\t\tbindings: [fittingColumn(\"uuid\", uuidBinding([...text, ...codecs.uuid ?? []]))]\n\t\t},\n\t\t{\n\t\t\tname: \"cuid\",\n\t\t\tbindings: [fittingColumn(\"cuid\", cuidBinding(text))]\n\t\t},\n\t\t{\n\t\t\tname: \"ulid\",\n\t\t\tbindings: [fittingColumn(\"ulid\", 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: [fittingColumn(\"ksuid\", 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: [fittingColumn(\"nanoid\", 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\tbindings: familyBindingsOf(\"uuid\")\n\t},\n\t{\n\t\tname: \"cuid\",\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\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/**\n* The generator functions whose arguments are integers, declared with their signatures: `uuid(version?)`, `cuid(version)` and `nanoid(size?)`. Each argument is a value of `integer`, the target's integer data type, read and cast like a default, then checked by its function. A target declares them, because only it knows its integer type; the family and the target bind them.\n*/\nfunction sqlIntegerArgumentGeneratorFunctions({ integer }) {\n\treturn [\n\t\t{\n\t\t\tname: \"uuid\",\n\t\t\tsignature: (dataTypes) => uuidSignature(integer, dataTypes),\n\t\t\tbindings: []\n\t\t},\n\t\t{\n\t\t\tname: \"cuid\",\n\t\t\tsignature: (dataTypes) => cuidSignature(integer, dataTypes),\n\t\t\tbindings: []\n\t\t},\n\t\t{\n\t\t\tname: \"nanoid\",\n\t\t\tsignature: (dataTypes) => nanoidSignature(integer, dataTypes),\n\t\t\tbindings: []\n\t\t}\n\t];\n}\nfunction uuidSignature(integer, dataTypes) {\n\tconst versions = [UUID_VERSIONS.v4, UUID_VERSIONS.v7];\n\treturn {\n\t\tdocumentation: \"Generates a UUID when a value is not supplied.\",\n\t\tpositional: [{\n\t\t\tkey: \"version\",\n\t\t\ttype: optional(checkedInteger(integer, dataTypes, listed(versions), (version, written) => versions.some((allowed) => allowed === version) ? void 0 : `uuid: version must be ${UUID_VERSIONS.v4} or ${UUID_VERSIONS.v7}, got ${written}`)),\n\t\t\tdocumentation: `The UUID version: \\`${UUID_VERSIONS.v4}\\` or \\`${UUID_VERSIONS.v7}\\`. Defaults to \\`${UUID_VERSIONS.v4}\\`.`\n\t\t}]\n\t};\n}\nfunction cuidSignature(integer, dataTypes) {\n\treturn {\n\t\tdocumentation: \"Generates a CUID2 identifier when a value is not supplied.\",\n\t\tpositional: [{\n\t\t\tkey: \"version\",\n\t\t\ttype: checkedInteger(integer, dataTypes, listed([CUID_VERSION]), (version, written) => version === CUID_VERSION ? void 0 : `cuid: version must be ${CUID_VERSION}, got ${written}`),\n\t\t\tdocumentation: `The CUID version. Only \\`${CUID_VERSION}\\` is supported.`\n\t\t}]\n\t};\n}\nfunction nanoidSignature(integer, dataTypes) {\n\treturn {\n\t\tdocumentation: \"Generates a Nano ID when a value is not supplied.\",\n\t\tpositional: [{\n\t\t\tkey: \"size\",\n\t\t\ttype: optional(checkedInteger(integer, dataTypes, {\n\t\t\t\tlabel: `integer from ${NANOID_SIZE.min} to ${NANOID_SIZE.max}`,\n\t\t\t\tsuggestions: []\n\t\t\t}, (size, written) => isNanoidSize(size) ? void 0 : `nanoid: size must be between ${NANOID_SIZE.min} and ${NANOID_SIZE.max}, got ${written}`)),\n\t\t\tdocumentation: `The identifier length, from \\`${NANOID_SIZE.min}\\` through \\`${NANOID_SIZE.max}\\`. Defaults to ${NANOID_DEFAULT_SIZE}.`\n\t\t}]\n\t};\n}\n/** The completion suggestions of an argument that takes one of `values`, which its label lists. */\nfunction listed(values) {\n\treturn {\n\t\tsuggestions: values.map(String),\n\t\tlabelIsUnion: true\n\t};\n}\n/**\n* One value of the integer data type, as a number, refused at the argument with the function's message when `refusal` returns one.\n*/\nfunction checkedInteger(integer, dataTypes, allowed, refusal) {\n\treturn refineArg(dataTypeValue(integer, dataTypes, allowed), ({ value }, arg, ctx) => {\n\t\tconst stored = value.value;\n\t\tif (typeof stored !== \"number\" && typeof stored !== \"string\") throw new InternalError(`Data type \"${integer}\" stores an integer as ${typeof stored}, not a number or digit text.`);\n\t\tconst message = refusal(Number(stored), String(stored));\n\t\treturn message === void 0 ? ok(blindCast(Number(stored))) : notOk([leafDiagnostic(ctx, arg, message, \"PSL_INVALID_GENERATOR_ARGUMENT\")]);\n\t});\n}\n//#endregion\nexport { sqlFamilyAuthoringTypes as a, sqlFamilyPslBlockDescriptors as c, sqlIntegerArgumentGeneratorFunctions as i, sqlFamilyGeneratorDescriptors as n, sqlTargetTypeConstructors as o, sqlFamilyGeneratorFunctions as r, sqlFamilyEntityTypes as s, idGeneratorFunctionBindings as t };\n\n//# sourceMappingURL=generator-functions-Hy4pDDr9.mjs.map"],"mappings":"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"}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { l as SqlStorage } from "./sql-storage-
|
|
2
|
-
import "./types-
|
|
3
|
-
import { r as SqlOperationDescriptors } from "./index-
|
|
4
|
-
import { E as CodecRef$1, Ft as SqlCodecCallContext, S as Codec$1, gt as LoweredStatement, h as AnyQueryAst, ht as LoweredParam, k as ContractCodecRegistry } from "./types-ijhejJhK-
|
|
1
|
+
import { l as SqlStorage } from "./sql-storage-B_AM6tU1-BOPQxXo7.mjs";
|
|
2
|
+
import "./types-CXRxo_TK.mjs";
|
|
3
|
+
import { r as SqlOperationDescriptors } from "./index-BWWwt5hB.mjs";
|
|
4
|
+
import { E as CodecRef$1, Ft as SqlCodecCallContext, S as Codec$1, gt as LoweredStatement, h as AnyQueryAst, ht as LoweredParam, k as ContractCodecRegistry } from "./types-ijhejJhK-BqfwP5Cc.mjs";
|
|
5
5
|
import { c as SqlQueryable, i as SqlDriver, l as SqlStatementStats, r as SqlConnection } from "./driver-types-DRsYeq3j-BimeCnUk.mjs";
|
|
6
|
-
import { n as SqlQueryPlan } from "./plan-CMqVpPq6-
|
|
7
|
-
import { i as CodecTypesBase, l as RawCodecInferer } from "./expression-C3F6gxZH-
|
|
8
|
-
import "./expression-
|
|
9
|
-
import { m as MarkerReadResult, t as Adapter } from "./ast-
|
|
10
|
-
import { t as SqlExecutionPlan } from "./sql-execution-plan-CN-FEwrR-
|
|
11
|
-
import "./plan-
|
|
12
|
-
import { n as CollectionMethodContribution } from "./collection-methods-D9CYfePl-
|
|
13
|
-
import { n as ExecutionContext, t as CodecDescriptorRegistry } from "./query-lane-context-DLSXDsDK-
|
|
14
|
-
import "./query-lane-context-
|
|
15
|
-
import { _ as SqlOrmPlan, h as RuntimeScope } from "./types-NgqqVAo5-
|
|
16
|
-
import "./types-
|
|
17
|
-
import { c as PreparedExecution, g as TransactionStartTarget, l as PreparedFor, n as Declaration, o as ParamsFromDeclaration, s as PrepareCallback, u as PreparedStatement, v as preparedStatementExecute, y as preparedStatementQuery } from "./transaction-state-DR3nKTmH-
|
|
18
|
-
import { i as SqlParamRefMutator } from "./middleware-JfHt_Ax8-
|
|
19
|
-
import "./middleware-
|
|
20
|
-
import "./collection-methods-
|
|
21
|
-
import { AnyCodecDescriptor, CodecDescriptor } from "@prisma/orm-framework/components/codec";
|
|
6
|
+
import { n as SqlQueryPlan } from "./plan-CMqVpPq6-Aoza6Dp2.mjs";
|
|
7
|
+
import { i as CodecTypesBase, l as RawCodecInferer } from "./expression-C3F6gxZH-EOb5cRCY.mjs";
|
|
8
|
+
import "./expression-OVCWlXHm.mjs";
|
|
9
|
+
import { m as MarkerReadResult, t as Adapter } from "./ast-1JRQY-dP.mjs";
|
|
10
|
+
import { t as SqlExecutionPlan } from "./sql-execution-plan-CN-FEwrR-BEJ0-g83.mjs";
|
|
11
|
+
import "./plan-DINEcqC1.mjs";
|
|
12
|
+
import { n as CollectionMethodContribution } from "./collection-methods-D9CYfePl-BGvD1h9Z.mjs";
|
|
13
|
+
import { n as ExecutionContext, t as CodecDescriptorRegistry } from "./query-lane-context-DLSXDsDK-CGSahS15.mjs";
|
|
14
|
+
import "./query-lane-context-DL6bwl6k.mjs";
|
|
15
|
+
import { _ as SqlOrmPlan, h as RuntimeScope } from "./types-NgqqVAo5-CJG02ILZ.mjs";
|
|
16
|
+
import "./types-DIoM5Ft3.mjs";
|
|
17
|
+
import { c as PreparedExecution, g as TransactionStartTarget, l as PreparedFor, n as Declaration, o as ParamsFromDeclaration, s as PrepareCallback, u as PreparedStatement, v as preparedStatementExecute, y as preparedStatementQuery } from "./transaction-state-DR3nKTmH-C3wq6dCB.mjs";
|
|
18
|
+
import { i as SqlParamRefMutator } from "./middleware-JfHt_Ax8-rWWdDxnq.mjs";
|
|
19
|
+
import "./middleware-Dp3CD7yZ.mjs";
|
|
20
|
+
import "./collection-methods-mo-2RjdX.mjs";
|
|
22
21
|
import { Contract, PlanMeta } from "@prisma/orm-framework/contract/types";
|
|
22
|
+
import { AnyCodecDescriptor, CodecDescriptor } from "@prisma/orm-framework/components/codec";
|
|
23
23
|
import { Activity, Activity as Activity$1, ActivityContext, ActivityEndedResult, ActivityEndedResult as ActivityEndedResult$1, ActivityFinalizedResult, ActivityFinalizedResult as ActivityFinalizedResult$1, ActivityInterceptResult, ActivityInterceptResult as ActivityInterceptResult$1, ActivityParent, ActivityParent as ActivityParent$1, AsyncIterableResult, ClientActivity, ClientActivity as ClientActivity$1, ClientActivityEnd, ClientActivityEnd as ClientActivityEnd$1, ClientActivityEnded, ClientActivityKind, ClientActivityKind as ClientActivityKind$1, ClientActivityResult, ClientActivityResult as ClientActivityResult$1, ExecuteInterceptResult, ExecuteInterceptResult as ExecuteInterceptResult$1, ExecutionPlan, MutationDefaultGeneratorContributor, QueryInterceptResult, QueryInterceptResult as QueryInterceptResult$1, RuntimeCore, RuntimeExecuteOptions, RuntimeLog, RuntimeLog as Log, RuntimeMiddleware, StartActivity, StartActivity as StartActivity$1, StatementActivity, StatementEnded, TransactionActivity, TransactionEnded } from "@prisma/orm-framework/components/runtime";
|
|
24
24
|
import { ExecutionStack, RuntimeAdapterDescriptor, RuntimeAdapterInstance, RuntimeDriverDescriptor, RuntimeDriverInstance, RuntimeExtensionDescriptor, RuntimeExtensionInstance, RuntimeTargetDescriptor, RuntimeTargetInstance } from "@prisma/orm-framework/components/execution";
|
|
25
25
|
//#region ../../../2-sql-family/5-runtime/dist/activity-handle-Ax5eP79U.d.mts
|
|
@@ -611,4 +611,4 @@ interface ToSqlMember {
|
|
|
611
611
|
declare function createToSql<TTargetId extends string>(stack: SqlExecutionStackWithDriver<TTargetId>, contract: Contract<SqlStorage>): ToSqlMember['toSql'];
|
|
612
612
|
//#endregion
|
|
613
613
|
export { RuntimeTelemetryEvent as $, lowerSqlPlan as A, ConnectionProvider as B, TransactionEnded as C, lazyActivitySource as Ct, delegatingRuntime as D, withTransactionMembers as Dt, createToSql as E, withTransaction as Et, ActivityRoute as F, PreparedStatementInternals as G, MarkerReader as H, ActivitySource as I, RuntimeFamilyAdapter as J, Runtime as K, ActivitySourceTarget as L, validateContractCodecMappings as M, ActivityExecuteOptions as N, extractCodecIds as O, ActivityHandle as P, RuntimeQueryable as Q, BoundPreparedStatement as R, TransactionActivity as S, findActivitySource as St, createAstCodecRegistry as T, startActivityOn as Tt, PreparedExecutionImpl as U, HashablePlan as V, PreparedStatementImpl as W, RuntimeOptions as X, RuntimeMode as Y, RuntimeParameterizedCodecDescriptor as Z, RenderedSql as _, createExecutionContext as _t, ActivityParent$1 as a, SqlRuntimeAdapterDescriptor as at, StatementEnded as b, deriveParamMetadata as bt, ClientActivityEnd$1 as c, SqlRuntimeDriverInstance as ct, ClientActivityResult$1 as d, SqlRuntimeTargetDescriptor as dt, RuntimeTransaction as et, DelegatingRuntime as f, SqlStaticContributions as ft, QueryInterceptResult$1 as g, activitySource as gt, Log as h, VerifyMarkerOption as ht, ActivityInterceptResult$1 as i, SqlMiddlewareContext as it, validateCodecRegistryCompleteness as j, lints as k, ClientActivityEnded as l, SqlRuntimeExtensionDescriptor as lt, LintsOptions as m, TransactionContext as mt, ActivityEndedResult$1 as n, SqlExecutionStackWithDriver as nt, BudgetsOptions as o, SqlRuntimeAdapterInstance as ot, ExecuteInterceptResult$1 as p, TelemetryOutcome as pt, RuntimeConnection as q, ActivityFinalizedResult$1 as r, SqlMiddleware as rt, ClientActivity$1 as s, SqlRuntimeBase as st, Activity$1 as t, SqlExecutionStack as tt, ClientActivityKind$1 as u, SqlRuntimeExtensionInstance as ut, StartActivity$1 as v, createSqlExecutionStack as vt, budgets as w, planContentHashOn as wt, ToSqlMember as x, encodeParamsWithMetadata as xt, StatementActivity as y, delegatingActivitySource as yt, CloseRefusal as z };
|
|
614
|
-
//# sourceMappingURL=index-
|
|
614
|
+
//# sourceMappingURL=index-BAI1gH-I.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-BAI1gH-I.d.mts","names":[],"sources":["../../../../2-sql-family/5-runtime/dist/activity-handle-Ax5eP79U.d.mts","../../../../2-sql-family/5-runtime/dist/index.d.mts"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as QueryOperationTypeEntry } from "./types-
|
|
2
|
-
import "./types-
|
|
1
|
+
import { E as QueryOperationTypeEntry } from "./types-DNTLudNR-DiVulPhL.mjs";
|
|
2
|
+
import "./types-CXRxo_TK.mjs";
|
|
3
3
|
import { OperationDescriptor, OperationDescriptors, OperationRegistry } from "@prisma/orm-framework/operations";
|
|
4
4
|
//#region ../../../2-sql-family/1-core/operations/dist/index.d.mts
|
|
5
5
|
//#region src/index.d.ts
|
|
@@ -21,4 +21,4 @@ type SqlOperationRegistry = OperationRegistry<SqlOperationEntry>;
|
|
|
21
21
|
declare function createSqlOperationRegistry(): SqlOperationRegistry;
|
|
22
22
|
//#endregion
|
|
23
23
|
export { SqlOperationRegistry as a, SqlOperationEntry as i, SqlOperationDescriptor as n, createSqlOperationRegistry as o, SqlOperationDescriptors as r, SqlLoweringSpec as t };
|
|
24
|
-
//# sourceMappingURL=index-
|
|
24
|
+
//# sourceMappingURL=index-BWWwt5hB.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-BWWwt5hB.d.mts","names":[],"sources":["../../../../2-sql-family/1-core/operations/dist/index.d.mts"],"mappings":";;;;;UAGU;WACC;WACA;;;;;;;;;KASN,oBAAoB;KACpB,yBAAyB,oBAAoB;KAC7C,0BAA0B,qBAAqB;KAC/C,uBAAuB,kBAAkB;iBAC7B,8BAA8B"}
|
package/dist/{index-equivalence-DswCiq5l-CGsyPP9B.mjs → index-equivalence-DswCiq5l-9GNm8oG9.mjs}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { s as SqlIndexIR } from "./types-
|
|
1
|
+
import { s as SqlIndexIR } from "./types-1ZKE0deC-Dou4ugcz.mjs";
|
|
2
2
|
//#region ../../../2-sql-family/1-core/contract/dist/index-equivalence-DswCiq5l.mjs
|
|
3
3
|
/** The schema node the planner builds for an index the contract states, which is what it compares. */
|
|
4
4
|
function indexNodeOf(index) {
|
|
@@ -106,4 +106,4 @@ function leadingBackingObjectName(columns, table) {
|
|
|
106
106
|
//#endregion
|
|
107
107
|
export { sameColumns as a, leadingBackingObjectName as i, identicalIndexes as n, servingKey as o, indexNodeOf as r, startsWithColumns as s, derivedBackingIndexIsRedundant as t };
|
|
108
108
|
|
|
109
|
-
//# sourceMappingURL=index-equivalence-DswCiq5l-
|
|
109
|
+
//# sourceMappingURL=index-equivalence-DswCiq5l-9GNm8oG9.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-equivalence-DswCiq5l-
|
|
1
|
+
{"version":3,"file":"index-equivalence-DswCiq5l-9GNm8oG9.mjs","names":[],"sources":["../../../../2-sql-family/1-core/contract/dist/index-equivalence-DswCiq5l.mjs"],"sourcesContent":["import { SqlIndexIR } from \"@internal/sql-schema-ir/types\";\n//#region src/index-equivalence.ts\n/** The schema node the planner builds for an index the contract states, which is what it compares. */\nfunction indexNodeOf(index) {\n\treturn new SqlIndexIR({\n\t\t...index,\n\t\tannotations: void 0,\n\t\tdependsOn: void 0,\n\t\tpartial: index.where !== void 0\n\t});\n}\n/** Whether the planner sees two indexes as the same index apart from their names. */\nfunction identicalIndexes(a, b) {\n\treturn a.contentEquals(b, {\n\t\tcolumnPresence: \"matching\",\n\t\tbodies: \"verbatim\"\n\t});\n}\n/** The index the contract build derives to back a foreign key on `columns`, as the planner sees it. */\nfunction derivedBackingIndexNode(columns) {\n\treturn new SqlIndexIR({\n\t\tnaming: {\n\t\t\tkind: \"exact\",\n\t\t\tname: \"derived backing index\"\n\t\t},\n\t\tcolumns,\n\t\twhere: void 0,\n\t\tunique: false,\n\t\ttype: void 0,\n\t\toptions: void 0,\n\t\tannotations: void 0,\n\t\tdependsOn: void 0,\n\t\tpartial: false\n\t});\n}\nfunction sameColumns(a, b) {\n\treturn a.length === b.length && startsWithColumns(a, b);\n}\n/** Whether `columns` begins with `leading`, in order: an index or key on such columns serves lookups on `leading`. */\nfunction startsWithColumns(columns, leading) {\n\treturn leading.length <= columns.length && leading.every((column, position) => column === columns[position]);\n}\n/**\n* The key that serves every lookup of `index`, when `index` is a plain non-unique index: one the planner sees as identical to an index derived on its columns. A unique index serves only when it has no predicate.\n*/\nfunction servingKey(index, table) {\n\tconst { columns } = index;\n\tif (columns === void 0 || !identicalIndexes(index, derivedBackingIndexNode(columns))) return;\n\tif (table.primaryKey !== void 0 && sameColumns(table.primaryKey.columns, columns)) return {\n\t\tkind: \"primaryKey\",\n\t\tprimaryKey: table.primaryKey\n\t};\n\tconst unique = table.uniques.find((constraint) => sameColumns(constraint.columns, columns));\n\tif (unique !== void 0) return {\n\t\tkind: \"uniqueConstraint\",\n\t\tunique\n\t};\n\tconst uniqueIndex = table.indexes.find((candidate) => {\n\t\tconst node = table.nodeOf(candidate);\n\t\treturn node.unique && node.where === void 0 && node.columns !== void 0 && sameColumns(node.columns, columns);\n\t});\n\treturn uniqueIndex === void 0 ? void 0 : {\n\t\tkind: \"index\",\n\t\tindex: uniqueIndex\n\t};\n}\n/**\n* Whether the contract build would drop the backing index it derives for a foreign key on `columns`, because the table already has an identical index or a key serving its lookups. `contract infer` asks this of a live table to decide whether a relation needs `index: false`.\n*/\nfunction derivedBackingIndexIsRedundant(columns, table) {\n\tconst derived = derivedBackingIndexNode(columns);\n\treturn table.indexes.some((index) => identicalIndexes(table.nodeOf(index), derived)) || servingKey(derived, table) !== void 0;\n}\n/** Whether the planner sees `index` as a plain index: its columns, uniqueness and nothing else. */\nfunction isPlainIndexNode(index) {\n\tif (index.columns === void 0) return false;\n\treturn identicalIndexes(index, new SqlIndexIR({\n\t\tnaming: {\n\t\t\tkind: \"exact\",\n\t\t\tname: \"plain index\"\n\t\t},\n\t\tcolumns: index.columns,\n\t\twhere: void 0,\n\t\tunique: index.unique,\n\t\ttype: void 0,\n\t\toptions: void 0,\n\t\tannotations: void 0,\n\t\tdependsOn: void 0,\n\t\tpartial: false\n\t}));\n}\n/**\n* The name of an object of the table that serves lookups on `columns` although the build would keep a derived backing index beside it: a named primary key or unique constraint, or a plain index, whose first columns are `columns`. A source that derives no backing index of its own names it on the relation instead of writing `index: false`.\n*/\nfunction leadingBackingObjectName(columns, table) {\n\tconst { primaryKey } = table;\n\tif (primaryKey?.name !== void 0 && startsWithColumns(primaryKey.columns, columns)) return primaryKey.name;\n\tconst unique = table.uniques.find((constraint) => constraint.name !== void 0 && startsWithColumns(constraint.columns, columns));\n\tif (unique?.name !== void 0) return unique.name;\n\tconst index = table.indexes.find((candidate) => {\n\t\tconst node = table.nodeOf(candidate);\n\t\treturn node.columns !== void 0 && startsWithColumns(node.columns, columns) && isPlainIndexNode(node);\n\t});\n\treturn index === void 0 ? void 0 : table.nameOf(index);\n}\n//#endregion\nexport { sameColumns as a, leadingBackingObjectName as i, identicalIndexes as n, servingKey as o, indexNodeOf as r, startsWithColumns as s, derivedBackingIndexIsRedundant as t };\n\n//# sourceMappingURL=index-equivalence-DswCiq5l.mjs.map"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as contractError } from "./contract-errors-BCN6RVI5-DoH6b_KZ.mjs";
|
|
2
2
|
import { a as rendersIndexBody } from "./index-types-pC_5vADQ-BOOBi14R.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { o as computeIndexContentHash, r as assertWireNamePrefixLength, s as defaultIndexName } from "./naming-DEpT6Zad-C9PFkWt6.mjs";
|
|
4
4
|
import { flushAuthoringWarnings } from "@prisma/orm-framework/components/authoring";
|
|
5
5
|
//#region ../../../2-sql-family/1-core/contract/dist/index-naming-BOcJT1B3.mjs
|
|
6
6
|
/**
|
|
@@ -133,4 +133,4 @@ function lowerAuthoredIndex(tableName, authored, warnings, indexTypes) {
|
|
|
133
133
|
//#endregion
|
|
134
134
|
export { isAuthoredIndexInput as n, lowerAuthoredIndex as r, exactNameBodyWarning as t };
|
|
135
135
|
|
|
136
|
-
//# sourceMappingURL=index-naming-BOcJT1B3-
|
|
136
|
+
//# sourceMappingURL=index-naming-BOcJT1B3-D-49owHA.mjs.map
|
package/dist/{index-naming-BOcJT1B3-mG8Fd6KN.mjs.map → index-naming-BOcJT1B3-D-49owHA.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-naming-BOcJT1B3-mG8Fd6KN.mjs","names":[],"sources":["../../../../2-sql-family/1-core/contract/dist/index-naming-BOcJT1B3.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { a as rendersIndexBody } from \"./index-types-pC_5vADQ.mjs\";\nimport { flushAuthoringWarnings } from \"@internal/framework-components/authoring\";\nimport { assertWireNamePrefixLength, computeIndexContentHash, defaultIndexName } from \"@internal/sql-schema-ir/naming\";\n//#region src/index-naming.ts\n/**\n* Narrows the opaque payload a contributed model attribute returns under\n* `index` (see `AuthoringModelAttributeIndexOutput`). The framework hands the\n* value through untyped because an index's shape belongs to the family; this\n* is the SQL family's boundary check. It proves the structure only — the\n* name/map and expression rules stay where `@@index` enforces them, in\n* {@link lowerAuthoredIndex}.\n*/\nfunction isAuthoredIndexInput(value) {\n\tif (typeof value !== \"object\" || value === null) return false;\n\tconst candidate = { ...value };\n\tif (typeof candidate[\"expression\"] === \"string\" === (Array.isArray(candidate[\"columns\"]) && candidate[\"columns\"].every((element) => typeof element === \"string\"))) return false;\n\tif (!isOptionalString(candidate[\"where\"])) return false;\n\tif (!isOptionalString(candidate[\"map\"])) return false;\n\tif (!isOptionalString(candidate[\"name\"])) return false;\n\tif (candidate[\"unique\"] !== void 0 && typeof candidate[\"unique\"] !== \"boolean\") return false;\n\tif (candidate[\"type\"] === void 0) return candidate[\"options\"] === void 0;\n\tif (typeof candidate[\"type\"] !== \"string\") return false;\n\tconst options = candidate[\"options\"];\n\treturn options === void 0 || typeof options === \"object\" && options !== null && !Array.isArray(options);\n}\nfunction isOptionalString(value) {\n\treturn value === void 0 || typeof value === \"string\";\n}\nconst EXACT_NAME_BODY_PREAMBLE = \"Drift detection compares the authored SQL text byte-for-byte against Postgres's reprinted form, which is only reliable when the text was captured by contract infer.\";\n/**\n* Per-subject remediation: an index or check moves to wire naming via\n* `name:`; a policy has no such parameter — dropping `@@map` makes the\n* block's head the wire prefix.\n*/\nconst EXACT_NAME_BODY_REMEDIATION = {\n\tindex: \"For hand-authored definitions, use name: and let Prisma 8 manage the physical name; to migrate an adopted object to wire naming, replace map: with name: (keeping the body text unchanged) and apply the resulting rename migration.\",\n\tpolicy: \"For hand-authored definitions, drop @@map and let the policy block's head name the policy; to migrate an adopted policy to wire naming, remove @@map (keeping the body text unchanged) and apply the resulting rename migration.\",\n\tcheck: \"For hand-authored definitions, use name: and let Prisma 8 manage the physical name; to migrate an adopted check to wire naming, replace map: with name: (keeping the body text unchanged) and apply the resulting rename migration.\"\n};\n/** What the user actually wrote, per subject: index and check `map:`, policy `@@map`. */\nconst EXACT_NAME_FEATURE = {\n\tindex: \"map:\",\n\tpolicy: \"@@map\",\n\tcheck: \"map:\"\n};\nconst EXACT_NAME_BODY_WARNING_CODE = \"PN_EXACT_NAME_BODY_COMPARISON\";\n/**\n* Mints the exact-name body-comparison warning for a `map:`-named object\n* carrying a hand-authorable SQL body — fully formed, so the transport and\n* the flush stay generic. `subject` distinguishes the index, policy, and\n* check callers that mint this same warning; the feature name and the\n* remediation are subject-specific end to end, so a batched summary\n* (grouped on code + summary) is true of every object it covers.\n*/\nfunction exactNameBodyWarning(subject, exactName) {\n\tconst item = `${subject} \"${exactName}\"`;\n\tconst feature = EXACT_NAME_FEATURE[subject];\n\tconst tail = `with a SQL body. ${EXACT_NAME_BODY_PREAMBLE} ${EXACT_NAME_BODY_REMEDIATION[subject]}`;\n\treturn {\n\t\tcode: EXACT_NAME_BODY_WARNING_CODE,\n\t\tmessage: `${item} uses ${feature} ${tail}`,\n\t\titem,\n\t\tsummary: `objects use ${feature} ${tail}`\n\t};\n}\n/**\n* Lowers an authored index into the name-identified entity `contract.json`\n* persists: exact mode adopts `map` verbatim (no prefix, no hash); wire\n* mode appends the content-hash suffix to the authored or default prefix.\n* The cross-field guards are the shared enforcement backstop for both\n* authoring surfaces (PSL pre-empts them with span-anchored diagnostics).\n*/\nfunction lowerAuthoredIndex(tableName, authored, warnings, indexTypes) {\n\tif (authored.columns === void 0 === (authored.expression === void 0)) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index on table \"${tableName}\": an index takes either fields (columns) or an expression — exactly one, not both.`);\n\tif (authored.map !== void 0 && authored.name !== void 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index \"${authored.map}\" on table \"${tableName}\": map and name are mutually exclusive — map adopts an exact physical name, name is a wire prefix.`);\n\tif (authored.expression !== void 0 && authored.name === void 0 && authored.map === void 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index on table \"${tableName}\": an expression index requires an explicit name (name:) or exact physical name (map:) — a default name cannot be derived from an expression.`);\n\tif (authored.options !== void 0 && authored.type === void 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index on table \"${tableName}\": options requires an explicit type — an index with options but no type cannot round-trip through contract infer (the emitted type: would change the wire name).`);\n\tconst unique = authored.unique ?? false;\n\tif (authored.map !== void 0) {\n\t\tconst typeEntry = authored.type === void 0 ? void 0 : indexTypes?.get(authored.type);\n\t\tif (authored.expression !== void 0 || authored.where !== void 0 || typeEntry !== void 0 && rendersIndexBody(typeEntry)) {\n\t\t\tconst warning = exactNameBodyWarning(\"index\", authored.map);\n\t\t\tif (warnings !== void 0) warnings.push(warning);\n\t\t\telse flushAuthoringWarnings([warning]);\n\t\t}\n\t\tconst carried = {\n\t\t\tnaming: {\n\t\t\t\tkind: \"exact\",\n\t\t\t\tname: authored.map\n\t\t\t},\n\t\t\twhere: authored.where,\n\t\t\tunique,\n\t\t\ttype: authored.type,\n\t\t\toptions: authored.options\n\t\t};\n\t\treturn authored.expression !== void 0 ? {\n\t\t\t...carried,\n\t\t\texpression: authored.expression\n\t\t} : {\n\t\t\t...carried,\n\t\t\tcolumns: authored.columns ?? []\n\t\t};\n\t}\n\tconst prefix = authored.name ?? defaultIndexName(tableName, authored.columns ?? []);\n\tassertWireNamePrefixLength(prefix, \"index prefix\");\n\tconst carried = {\n\t\tnaming: {\n\t\t\tkind: \"wire\",\n\t\t\tprefix,\n\t\t\thash: computeIndexContentHash({\n\t\t\t\t...authored.columns !== void 0 && { columns: authored.columns },\n\t\t\t\t...authored.expression !== void 0 && { expression: authored.expression },\n\t\t\t\t...authored.where !== void 0 && { where: authored.where },\n\t\t\t\tunique,\n\t\t\t\t...authored.type !== void 0 && { type: authored.type },\n\t\t\t\t...authored.options !== void 0 && { options: authored.options }\n\t\t\t})\n\t\t},\n\t\twhere: authored.where,\n\t\tunique,\n\t\ttype: authored.type,\n\t\toptions: authored.options\n\t};\n\treturn authored.expression !== void 0 ? {\n\t\t...carried,\n\t\texpression: authored.expression\n\t} : {\n\t\t...carried,\n\t\tcolumns: authored.columns ?? []\n\t};\n}\n//#endregion\nexport { isAuthoredIndexInput as n, lowerAuthoredIndex as r, exactNameBodyWarning as t };\n\n//# sourceMappingURL=index-naming-BOcJT1B3.mjs.map"],"mappings":";;;;;;;;;;;;;AAaA,SAAS,qBAAqB,OAAO;CACpC,IAAI,OAAO,UAAU,YAAY,UAAU,MAAM,OAAO;CACxD,MAAM,YAAY,EAAE,GAAG,MAAM;CAC7B,IAAI,OAAO,UAAU,kBAAkB,cAAc,MAAM,QAAQ,UAAU,UAAU,KAAK,UAAU,UAAU,CAAC,OAAO,YAAY,OAAO,YAAY,QAAQ,IAAI,OAAO;CAC1K,IAAI,CAAC,iBAAiB,UAAU,QAAQ,GAAG,OAAO;CAClD,IAAI,CAAC,iBAAiB,UAAU,MAAM,GAAG,OAAO;CAChD,IAAI,CAAC,iBAAiB,UAAU,OAAO,GAAG,OAAO;CACjD,IAAI,UAAU,cAAc,KAAK,KAAK,OAAO,UAAU,cAAc,WAAW,OAAO;CACvF,IAAI,UAAU,YAAY,KAAK,GAAG,OAAO,UAAU,eAAe,KAAK;CACvE,IAAI,OAAO,UAAU,YAAY,UAAU,OAAO;CAClD,MAAM,UAAU,UAAU;CAC1B,OAAO,YAAY,KAAK,KAAK,OAAO,YAAY,YAAY,YAAY,QAAQ,CAAC,MAAM,QAAQ,OAAO;AACvG;AACA,SAAS,iBAAiB,OAAO;CAChC,OAAO,UAAU,KAAK,KAAK,OAAO,UAAU;AAC7C;AACA,MAAM,2BAA2B;;;;;;AAMjC,MAAM,8BAA8B;CACnC,OAAO;CACP,QAAQ;CACR,OAAO;AACR;;AAEA,MAAM,qBAAqB;CAC1B,OAAO;CACP,QAAQ;CACR,OAAO;AACR;AACA,MAAM,+BAA+B;;;;;;;;;AASrC,SAAS,qBAAqB,SAAS,WAAW;CACjD,MAAM,OAAO,GAAG,QAAQ,IAAI,UAAU;CACtC,MAAM,UAAU,mBAAmB;CACnC,MAAM,OAAO,oBAAoB,yBAAyB,GAAG,4BAA4B;CACzF,OAAO;EACN,MAAM;EACN,SAAS,GAAG,KAAK,QAAQ,QAAQ,GAAG;EACpC;EACA,SAAS,eAAe,QAAQ,GAAG;CACpC;AACD;;;;;;;;AAQA,SAAS,mBAAmB,WAAW,UAAU,UAAU,YAAY;CACtE,IAAI,SAAS,YAAY,KAAK,OAAO,SAAS,eAAe,KAAK,IAAI,MAAM,cAAc,6BAA6B,mBAAmB,UAAU,oFAAoF;CACxO,IAAI,SAAS,QAAQ,KAAK,KAAK,SAAS,SAAS,KAAK,GAAG,MAAM,cAAc,6BAA6B,UAAU,SAAS,IAAI,cAAc,UAAU,mGAAmG;CAC5P,IAAI,SAAS,eAAe,KAAK,KAAK,SAAS,SAAS,KAAK,KAAK,SAAS,QAAQ,KAAK,GAAG,MAAM,cAAc,6BAA6B,mBAAmB,UAAU,8IAA8I;CACvT,IAAI,SAAS,YAAY,KAAK,KAAK,SAAS,SAAS,KAAK,GAAG,MAAM,cAAc,6BAA6B,mBAAmB,UAAU,kKAAkK;CAC7S,MAAM,SAAS,SAAS,UAAU;CAClC,IAAI,SAAS,QAAQ,KAAK,GAAG;EAC5B,MAAM,YAAY,SAAS,SAAS,KAAK,IAAI,KAAK,IAAI,YAAY,IAAI,SAAS,IAAI;EACnF,IAAI,SAAS,eAAe,KAAK,KAAK,SAAS,UAAU,KAAK,KAAK,cAAc,KAAK,KAAK,iBAAiB,SAAS,GAAG;GACvH,MAAM,UAAU,qBAAqB,SAAS,SAAS,GAAG;GAC1D,IAAI,aAAa,KAAK,GAAG,SAAS,KAAK,OAAO;QACzC,uBAAuB,CAAC,OAAO,CAAC;EACtC;EACA,MAAM,UAAU;GACf,QAAQ;IACP,MAAM;IACN,MAAM,SAAS;GAChB;GACA,OAAO,SAAS;GAChB;GACA,MAAM,SAAS;GACf,SAAS,SAAS;EACnB;EACA,OAAO,SAAS,eAAe,KAAK,IAAI;GACvC,GAAG;GACH,YAAY,SAAS;EACtB,IAAI;GACH,GAAG;GACH,SAAS,SAAS,WAAW,CAAC;EAC/B;CACD;CACA,MAAM,SAAS,SAAS,QAAQ,iBAAiB,WAAW,SAAS,WAAW,CAAC,CAAC;CAClF,2BAA2B,QAAQ,cAAc;CACjD,MAAM,UAAU;EACf,QAAQ;GACP,MAAM;GACN;GACA,MAAM,wBAAwB;IAC7B,GAAG,SAAS,YAAY,KAAK,KAAK,EAAE,SAAS,SAAS,QAAQ;IAC9D,GAAG,SAAS,eAAe,KAAK,KAAK,EAAE,YAAY,SAAS,WAAW;IACvE,GAAG,SAAS,UAAU,KAAK,KAAK,EAAE,OAAO,SAAS,MAAM;IACxD;IACA,GAAG,SAAS,SAAS,KAAK,KAAK,EAAE,MAAM,SAAS,KAAK;IACrD,GAAG,SAAS,YAAY,KAAK,KAAK,EAAE,SAAS,SAAS,QAAQ;GAC/D,CAAC;EACF;EACA,OAAO,SAAS;EAChB;EACA,MAAM,SAAS;EACf,SAAS,SAAS;CACnB;CACA,OAAO,SAAS,eAAe,KAAK,IAAI;EACvC,GAAG;EACH,YAAY,SAAS;CACtB,IAAI;EACH,GAAG;EACH,SAAS,SAAS,WAAW,CAAC;CAC/B;AACD"}
|
|
1
|
+
{"version":3,"file":"index-naming-BOcJT1B3-D-49owHA.mjs","names":[],"sources":["../../../../2-sql-family/1-core/contract/dist/index-naming-BOcJT1B3.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { a as rendersIndexBody } from \"./index-types-pC_5vADQ.mjs\";\nimport { flushAuthoringWarnings } from \"@internal/framework-components/authoring\";\nimport { assertWireNamePrefixLength, computeIndexContentHash, defaultIndexName } from \"@internal/sql-schema-ir/naming\";\n//#region src/index-naming.ts\n/**\n* Narrows the opaque payload a contributed model attribute returns under\n* `index` (see `AuthoringModelAttributeIndexOutput`). The framework hands the\n* value through untyped because an index's shape belongs to the family; this\n* is the SQL family's boundary check. It proves the structure only — the\n* name/map and expression rules stay where `@@index` enforces them, in\n* {@link lowerAuthoredIndex}.\n*/\nfunction isAuthoredIndexInput(value) {\n\tif (typeof value !== \"object\" || value === null) return false;\n\tconst candidate = { ...value };\n\tif (typeof candidate[\"expression\"] === \"string\" === (Array.isArray(candidate[\"columns\"]) && candidate[\"columns\"].every((element) => typeof element === \"string\"))) return false;\n\tif (!isOptionalString(candidate[\"where\"])) return false;\n\tif (!isOptionalString(candidate[\"map\"])) return false;\n\tif (!isOptionalString(candidate[\"name\"])) return false;\n\tif (candidate[\"unique\"] !== void 0 && typeof candidate[\"unique\"] !== \"boolean\") return false;\n\tif (candidate[\"type\"] === void 0) return candidate[\"options\"] === void 0;\n\tif (typeof candidate[\"type\"] !== \"string\") return false;\n\tconst options = candidate[\"options\"];\n\treturn options === void 0 || typeof options === \"object\" && options !== null && !Array.isArray(options);\n}\nfunction isOptionalString(value) {\n\treturn value === void 0 || typeof value === \"string\";\n}\nconst EXACT_NAME_BODY_PREAMBLE = \"Drift detection compares the authored SQL text byte-for-byte against Postgres's reprinted form, which is only reliable when the text was captured by contract infer.\";\n/**\n* Per-subject remediation: an index or check moves to wire naming via\n* `name:`; a policy has no such parameter — dropping `@@map` makes the\n* block's head the wire prefix.\n*/\nconst EXACT_NAME_BODY_REMEDIATION = {\n\tindex: \"For hand-authored definitions, use name: and let Prisma 8 manage the physical name; to migrate an adopted object to wire naming, replace map: with name: (keeping the body text unchanged) and apply the resulting rename migration.\",\n\tpolicy: \"For hand-authored definitions, drop @@map and let the policy block's head name the policy; to migrate an adopted policy to wire naming, remove @@map (keeping the body text unchanged) and apply the resulting rename migration.\",\n\tcheck: \"For hand-authored definitions, use name: and let Prisma 8 manage the physical name; to migrate an adopted check to wire naming, replace map: with name: (keeping the body text unchanged) and apply the resulting rename migration.\"\n};\n/** What the user actually wrote, per subject: index and check `map:`, policy `@@map`. */\nconst EXACT_NAME_FEATURE = {\n\tindex: \"map:\",\n\tpolicy: \"@@map\",\n\tcheck: \"map:\"\n};\nconst EXACT_NAME_BODY_WARNING_CODE = \"PN_EXACT_NAME_BODY_COMPARISON\";\n/**\n* Mints the exact-name body-comparison warning for a `map:`-named object\n* carrying a hand-authorable SQL body — fully formed, so the transport and\n* the flush stay generic. `subject` distinguishes the index, policy, and\n* check callers that mint this same warning; the feature name and the\n* remediation are subject-specific end to end, so a batched summary\n* (grouped on code + summary) is true of every object it covers.\n*/\nfunction exactNameBodyWarning(subject, exactName) {\n\tconst item = `${subject} \"${exactName}\"`;\n\tconst feature = EXACT_NAME_FEATURE[subject];\n\tconst tail = `with a SQL body. ${EXACT_NAME_BODY_PREAMBLE} ${EXACT_NAME_BODY_REMEDIATION[subject]}`;\n\treturn {\n\t\tcode: EXACT_NAME_BODY_WARNING_CODE,\n\t\tmessage: `${item} uses ${feature} ${tail}`,\n\t\titem,\n\t\tsummary: `objects use ${feature} ${tail}`\n\t};\n}\n/**\n* Lowers an authored index into the name-identified entity `contract.json`\n* persists: exact mode adopts `map` verbatim (no prefix, no hash); wire\n* mode appends the content-hash suffix to the authored or default prefix.\n* The cross-field guards are the shared enforcement backstop for both\n* authoring surfaces (PSL pre-empts them with span-anchored diagnostics).\n*/\nfunction lowerAuthoredIndex(tableName, authored, warnings, indexTypes) {\n\tif (authored.columns === void 0 === (authored.expression === void 0)) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index on table \"${tableName}\": an index takes either fields (columns) or an expression — exactly one, not both.`);\n\tif (authored.map !== void 0 && authored.name !== void 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index \"${authored.map}\" on table \"${tableName}\": map and name are mutually exclusive — map adopts an exact physical name, name is a wire prefix.`);\n\tif (authored.expression !== void 0 && authored.name === void 0 && authored.map === void 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index on table \"${tableName}\": an expression index requires an explicit name (name:) or exact physical name (map:) — a default name cannot be derived from an expression.`);\n\tif (authored.options !== void 0 && authored.type === void 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index on table \"${tableName}\": options requires an explicit type — an index with options but no type cannot round-trip through contract infer (the emitted type: would change the wire name).`);\n\tconst unique = authored.unique ?? false;\n\tif (authored.map !== void 0) {\n\t\tconst typeEntry = authored.type === void 0 ? void 0 : indexTypes?.get(authored.type);\n\t\tif (authored.expression !== void 0 || authored.where !== void 0 || typeEntry !== void 0 && rendersIndexBody(typeEntry)) {\n\t\t\tconst warning = exactNameBodyWarning(\"index\", authored.map);\n\t\t\tif (warnings !== void 0) warnings.push(warning);\n\t\t\telse flushAuthoringWarnings([warning]);\n\t\t}\n\t\tconst carried = {\n\t\t\tnaming: {\n\t\t\t\tkind: \"exact\",\n\t\t\t\tname: authored.map\n\t\t\t},\n\t\t\twhere: authored.where,\n\t\t\tunique,\n\t\t\ttype: authored.type,\n\t\t\toptions: authored.options\n\t\t};\n\t\treturn authored.expression !== void 0 ? {\n\t\t\t...carried,\n\t\t\texpression: authored.expression\n\t\t} : {\n\t\t\t...carried,\n\t\t\tcolumns: authored.columns ?? []\n\t\t};\n\t}\n\tconst prefix = authored.name ?? defaultIndexName(tableName, authored.columns ?? []);\n\tassertWireNamePrefixLength(prefix, \"index prefix\");\n\tconst carried = {\n\t\tnaming: {\n\t\t\tkind: \"wire\",\n\t\t\tprefix,\n\t\t\thash: computeIndexContentHash({\n\t\t\t\t...authored.columns !== void 0 && { columns: authored.columns },\n\t\t\t\t...authored.expression !== void 0 && { expression: authored.expression },\n\t\t\t\t...authored.where !== void 0 && { where: authored.where },\n\t\t\t\tunique,\n\t\t\t\t...authored.type !== void 0 && { type: authored.type },\n\t\t\t\t...authored.options !== void 0 && { options: authored.options }\n\t\t\t})\n\t\t},\n\t\twhere: authored.where,\n\t\tunique,\n\t\ttype: authored.type,\n\t\toptions: authored.options\n\t};\n\treturn authored.expression !== void 0 ? {\n\t\t...carried,\n\t\texpression: authored.expression\n\t} : {\n\t\t...carried,\n\t\tcolumns: authored.columns ?? []\n\t};\n}\n//#endregion\nexport { isAuthoredIndexInput as n, lowerAuthoredIndex as r, exactNameBodyWarning as t };\n\n//# sourceMappingURL=index-naming-BOcJT1B3.mjs.map"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as IndexInput } from "./sql-index-ByAAE7K8-
|
|
1
|
+
import { r as IndexInput } from "./sql-index-ByAAE7K8-4TUFKGLK.mjs";
|
|
2
2
|
import { a as IndexTypeRegistry } from "./index-types-H1O43iYT-BD0VwPqV.mjs";
|
|
3
3
|
import { AuthoringWarning, AuthoringWarningSink } from "@prisma/orm-framework/components/authoring";
|
|
4
4
|
//#region ../../../2-sql-family/1-core/contract/dist/index-naming.d.mts
|
|
@@ -69,4 +69,4 @@ declare function exactNameBodyWarning(subject: 'index' | 'policy' | 'check', exa
|
|
|
69
69
|
declare function lowerAuthoredIndex(tableName: string, authored: AuthoredIndexInput, warnings?: AuthoringWarningSink, indexTypes?: Pick<IndexTypeRegistry, 'get'>): IndexInput;
|
|
70
70
|
//#endregion
|
|
71
71
|
export { lowerAuthoredIndex as a, isAuthoredIndexInput as i, AuthoredIndexMethod as n, exactNameBodyWarning as r, AuthoredIndexInput as t };
|
|
72
|
-
//# sourceMappingURL=index-naming-
|
|
72
|
+
//# sourceMappingURL=index-naming-DqjO4p5R.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-naming-
|
|
1
|
+
{"version":3,"file":"index-naming-DqjO4p5R.d.mts","names":[],"sources":["../../../../2-sql-family/1-core/contract/dist/index-naming.d.mts"],"mappings":";;;;;;;;;KAQK;WACM;WACA;;WAEA;WACA;;;;;;;;;KASN;WACM;WACA;;WAEA;WACA,SAAS;;;;;;;;;KASf,qBAAqB,wBAAwB;WACvC;WACA;WACA;WACA;;;;;;;;;;iBAUM,qBAAqB,iBAAiB,SAAS;;;;;;;;;iBAS/C,qBAAqB,uCAAuC,oBAAoB;;;;;;;;iBAQhF,mBAAmB,mBAAmB,UAAU,oBAAoB,WAAW,sBAAsB,aAAa,KAAK,4BAA4B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./index-reference-YHvh6wAL-BupQRpkE.mjs";
|