@prisma/orm-family-sql 8.0.0-rc.16-dev.9 → 8.0.0-rc.17-dev.1
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-Bf6J9_ra.d.mts → ast-Bmb-2vbO.d.mts} +3 -3
- package/dist/{ast-Bf6J9_ra.d.mts.map → ast-Bmb-2vbO.d.mts.map} +1 -1
- package/dist/{authoring-entity-types-CZ-vdwYS-Bq3LXsCn.d.mts → authoring-entity-types-CZ-vdwYS-BLYHcBXG.d.mts} +2 -2
- package/dist/{authoring-entity-types-CZ-vdwYS-Bq3LXsCn.d.mts.map → authoring-entity-types-CZ-vdwYS-BLYHcBXG.d.mts.map} +1 -1
- package/dist/{authoring-type-constructors-0Iv2zdwS-CVl4womm.mjs → authoring-type-constructors-0Iv2zdwS-ClKI8Uuk.mjs} +2 -2
- package/dist/{authoring-type-constructors-0Iv2zdwS-CVl4womm.mjs.map → authoring-type-constructors-0Iv2zdwS-ClKI8Uuk.mjs.map} +1 -1
- package/dist/builder.d.mts +2 -2
- package/dist/builder__runtime.d.mts +9 -9
- package/dist/builder__runtime.mjs +1 -1
- package/dist/builder__types.d.mts +2 -2
- package/dist/{codec-descriptor-registry-D7bl9ayf.mjs → codec-descriptor-registry-CdIIOkuE.mjs} +2 -2
- package/dist/{codec-descriptor-registry-D7bl9ayf.mjs.map → codec-descriptor-registry-CdIIOkuE.mjs.map} +1 -1
- package/dist/{config-types-DeIF6WyF.mjs → config-types-D0sxpKAN.mjs} +2 -2
- package/dist/{config-types-DeIF6WyF.mjs.map → config-types-D0sxpKAN.mjs.map} +1 -1
- package/dist/{config-types-Cag6qJnA.d.mts → config-types-DB6gRJ5K.d.mts} +4 -4
- package/dist/{config-types-Cag6qJnA.d.mts.map → config-types-DB6gRJ5K.d.mts.map} +1 -1
- package/dist/{contract-builder-BaJMQFAc.d.mts → contract-builder-V5pFHDv3.d.mts} +14 -11
- package/dist/contract-builder-V5pFHDv3.d.mts.map +1 -0
- package/dist/{contract-builder-BlFrYr97.mjs → contract-builder-tEax3I2q.mjs} +4 -4
- package/dist/{contract-builder-BlFrYr97.mjs.map → contract-builder-tEax3I2q.mjs.map} +1 -1
- package/dist/contract-emitter.mjs +1 -1
- package/dist/contract-prisma7__provider.d.mts +2 -2
- package/dist/contract-prisma7__provider.mjs +36 -8
- package/dist/contract-prisma7__provider.mjs.map +1 -1
- package/dist/contract-psl.d.mts +3 -3
- package/dist/contract-psl.mjs +1 -1
- package/dist/contract-psl__attribute-specs.d.mts +4 -4
- package/dist/contract-psl__attribute-specs.d.mts.map +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 +2 -2
- package/dist/contract-psl__provider.mjs.map +1 -1
- package/dist/contract-ts.d.mts +3 -3
- 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 +2 -2
- package/dist/contract-ts__contract-builder.mjs +2 -2
- package/dist/{contract-view-Cd6_tdxU.d.mts → contract-view-C1xX3yIj.d.mts} +2 -2
- package/dist/{contract-view-Cd6_tdxU.d.mts.map → contract-view-C1xX3yIj.d.mts.map} +1 -1
- package/dist/contract.d.mts +14 -14
- package/dist/contract.mjs +9 -8
- package/dist/contract__contract-view.d.mts +1 -1
- package/dist/contract__entity-kinds.d.mts +1 -1
- package/dist/contract__entity-kinds.mjs +1 -1
- package/dist/contract__factories.d.mts +1 -1
- package/dist/contract__factories.mjs +1 -1
- package/dist/contract__foreign-key-materialization.d.mts +2 -2
- package/dist/contract__foreign-key-materialization.mjs +3 -2
- package/dist/contract__index-type-validation.d.mts +1 -1
- package/dist/contract__referential-action-sql.d.mts +1 -1
- package/dist/contract__resolve-storage-table.d.mts +1 -1
- package/dist/contract__types.d.mts +6 -6
- package/dist/contract__types.mjs +3 -3
- package/dist/contract__validators.d.mts +1 -1
- package/dist/contract__validators.mjs +2 -2
- package/dist/{control-BkyDhucB.d.mts → control-B3Mb21Md.d.mts} +16 -16
- package/dist/{control-BkyDhucB.d.mts.map → control-B3Mb21Md.d.mts.map} +1 -1
- package/dist/{control-BRbds4vn.mjs → control-C5Yy0n3w.mjs} +10 -10
- package/dist/{control-BRbds4vn.mjs.map → control-C5Yy0n3w.mjs.map} +1 -1
- package/dist/control-adapter-BXQ29_fa.d.mts +1 -0
- package/dist/{control-adapter-CkFfBVei-Ba9JNrCN.d.mts → control-adapter-CkFfBVei-BLYeKcLW.d.mts} +6 -6
- package/dist/{control-adapter-CkFfBVei-Ba9JNrCN.d.mts.map → control-adapter-CkFfBVei-BLYeKcLW.d.mts.map} +1 -1
- package/dist/{db-D7R5zKiH-SEM04lcK.d.mts → db-D7R5zKiH-P7Tg4ZXk.d.mts} +9 -9
- package/dist/{db-D7R5zKiH-SEM04lcK.d.mts.map → db-D7R5zKiH-P7Tg4ZXk.d.mts.map} +1 -1
- package/dist/{ddl-types-DtKZjNtN-6TxFf4bH.d.mts → ddl-types-DtKZjNtN-CByECwns.d.mts} +4 -4
- package/dist/{ddl-types-DtKZjNtN-6TxFf4bH.d.mts.map → ddl-types-DtKZjNtN-CByECwns.d.mts.map} +1 -1
- package/dist/{derived-checks-DdguQPYm-BP57ljP8.mjs → derived-checks-D5zdlyyh-CPofdm1W.mjs} +30 -20
- package/dist/{derived-checks-DdguQPYm-BP57ljP8.mjs.map → derived-checks-D5zdlyyh-CPofdm1W.mjs.map} +1 -1
- package/dist/{derived-checks-DpPkO6Dt-BituyKFg.d.mts → derived-checks-DpPkO6Dt-D3M7YEr2.d.mts} +3 -3
- package/dist/{derived-checks-DpPkO6Dt-BituyKFg.d.mts.map → derived-checks-DpPkO6Dt-D3M7YEr2.d.mts.map} +1 -1
- package/dist/{diff-DMOqiT2h.d.mts → diff-CBqsNkxe.d.mts} +6 -6
- package/dist/{diff-DMOqiT2h.d.mts.map → diff-CBqsNkxe.d.mts.map} +1 -1
- package/dist/{dist-7hmkNQGd.mjs → dist-Dm_hQ-hh.mjs} +2 -2
- package/dist/{dist-7hmkNQGd.mjs.map → dist-Dm_hQ-hh.mjs.map} +1 -1
- package/dist/{entity-kinds-DCwkg9t7.d.mts → entity-kinds--HvqT50S.d.mts} +2 -2
- package/dist/{entity-kinds-DCwkg9t7.d.mts.map → entity-kinds--HvqT50S.d.mts.map} +1 -1
- package/dist/{entity-kinds-JlqzyFoo-kIaAUFyK.mjs → entity-kinds-O3V1K26U-B8TUrsX2.mjs} +16 -5
- package/dist/entity-kinds-O3V1K26U-B8TUrsX2.mjs.map +1 -0
- package/dist/{expression-B-QXMOmY.d.mts → expression-DE893va7.d.mts} +7 -7
- package/dist/{expression-B-QXMOmY.d.mts.map → expression-DE893va7.d.mts.map} +1 -1
- package/dist/{factories-BsUyFxsk.mjs → factories-Bp41Aity.mjs} +4 -3
- package/dist/factories-Bp41Aity.mjs.map +1 -0
- package/dist/{factories-CgVRbL8l.d.mts → factories-DzLBAAvj.d.mts} +4 -4
- package/dist/{factories-CgVRbL8l.d.mts.map → factories-DzLBAAvj.d.mts.map} +1 -1
- package/dist/family.d.mts +13 -13
- 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 +2 -2
- 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.mjs +1 -1
- 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-Cv3q8Pix.mjs +278 -0
- package/dist/foreign-key-materialization-Cv3q8Pix.mjs.map +1 -0
- package/dist/foreign-key-materialization-D0Ltg78T.d.mts +96 -0
- package/dist/foreign-key-materialization-D0Ltg78T.d.mts.map +1 -0
- package/dist/{foreign-key-C-iTPuRT-C9ip8zFx.d.mts → foreign-key-qkDFfG8t-Fyrzd0VI.d.mts} +20 -4
- package/dist/foreign-key-qkDFfG8t-Fyrzd0VI.d.mts.map +1 -0
- package/dist/{index-qOLTnfYz.d.mts → index-CnpTmyXs.d.mts} +3 -3
- package/dist/{index-qOLTnfYz.d.mts.map → index-CnpTmyXs.d.mts.map} +1 -1
- package/dist/index-equivalence-DswCiq5l-C7wLMPwF.mjs +109 -0
- package/dist/index-equivalence-DswCiq5l-C7wLMPwF.mjs.map +1 -0
- package/dist/{index-DYjWQAcJ.d.mts → index-oNRBExeI.d.mts} +11 -11
- package/dist/{index-DYjWQAcJ.d.mts.map → index-oNRBExeI.d.mts.map} +1 -1
- package/dist/{index-type-validation-BHppm9U-.d.mts → index-type-validation-B925ye4q.d.mts} +3 -3
- package/dist/{index-type-validation-BHppm9U-.d.mts.map → index-type-validation-B925ye4q.d.mts.map} +1 -1
- package/dist/{interpreter-BF5Xrf3W-bdklH78q.mjs → interpreter-DlG-2o64-DmykcFbp.mjs} +64 -17
- package/dist/interpreter-DlG-2o64-DmykcFbp.mjs.map +1 -0
- package/dist/{ir-BYHqe2mj.d.mts → ir-BPrf_vgX.d.mts} +3 -3
- package/dist/{ir-BYHqe2mj.d.mts.map → ir-BPrf_vgX.d.mts.map} +1 -1
- package/dist/middleware-DwaZ6s12.d.mts +1 -0
- package/dist/{middleware-mLwvcOLS-6Y52seRP.d.mts → middleware-mLwvcOLS-SaqhgsmA.d.mts} +2 -2
- package/dist/{middleware-mLwvcOLS-6Y52seRP.d.mts.map → middleware-mLwvcOLS-SaqhgsmA.d.mts.map} +1 -1
- package/dist/{migration-C5HGygKM.d.mts → migration-C_J49WKy.d.mts} +4 -4
- package/dist/{migration-C5HGygKM.d.mts.map → migration-C_J49WKy.d.mts.map} +1 -1
- package/dist/operations.d.mts +1 -1
- package/dist/orm-client.d.mts +15 -15
- package/dist/orm-client.mjs +1 -1
- package/dist/{pack-l0vLQrO8.d.mts → pack-DZtuLikU.d.mts} +3 -3
- package/dist/{pack-l0vLQrO8.d.mts.map → pack-DZtuLikU.d.mts.map} +1 -1
- package/dist/plan-Dhl03MtT.d.mts +2 -0
- package/dist/{plan-cGEaSXHv-2F5y-Dpy.d.mts → plan-cGEaSXHv-BeW-cC5v.d.mts} +4 -4
- package/dist/{plan-cGEaSXHv-2F5y-Dpy.d.mts.map → plan-cGEaSXHv-BeW-cC5v.d.mts.map} +1 -1
- package/dist/{prepared-statement-YtgdlN7e-DBJtJAm7.d.mts → prepared-statement-YtgdlN7e-CI1fD5IM.d.mts} +16 -16
- package/dist/{prepared-statement-YtgdlN7e-DBJtJAm7.d.mts.map → prepared-statement-YtgdlN7e-CI1fD5IM.d.mts.map} +1 -1
- package/dist/{psl-build-Di-cBOCv.mjs → psl-build-B5iMVWHu.mjs} +2 -2
- package/dist/{psl-build-Di-cBOCv.mjs.map → psl-build-B5iMVWHu.mjs.map} +1 -1
- package/dist/{psl-column-resolution-CNtNJ7g7-CR_auHUV.d.mts → psl-column-resolution-CNtNJ7g7-CEuutj8I.d.mts} +2 -2
- package/dist/{psl-column-resolution-CNtNJ7g7-CR_auHUV.d.mts.map → psl-column-resolution-CNtNJ7g7-CEuutj8I.d.mts.map} +1 -1
- package/dist/{psl-field-resolution-DUCrDnuq-DSxPrd-4.mjs → psl-field-resolution-BW0ZuqBd-Dv18ERa7.mjs} +6 -6
- package/dist/psl-field-resolution-BW0ZuqBd-Dv18ERa7.mjs.map +1 -0
- package/dist/{psl-infer-fU7LRjTx.mjs → psl-infer-B0yuv-j_.mjs} +22 -16
- package/dist/psl-infer-B0yuv-j_.mjs.map +1 -0
- package/dist/{psl-infer-Cm7eDSA-.d.mts → psl-infer-DkPZJnUM.d.mts} +11 -12
- package/dist/{psl-infer-Cm7eDSA-.d.mts.map → psl-infer-DkPZJnUM.d.mts.map} +1 -1
- package/dist/query-lane-context-BaoHpLsE.d.mts +1 -0
- package/dist/{query-lane-context-CJoNBspB-Ylhia3fC.d.mts → query-lane-context-CJoNBspB-CR_n8DNB.d.mts} +5 -5
- package/dist/{query-lane-context-CJoNBspB-Ylhia3fC.d.mts.map → query-lane-context-CJoNBspB-CR_n8DNB.d.mts.map} +1 -1
- package/dist/{referential-action-sql-DJ9ps6-S.d.mts → referential-action-sql-Cw1Q0YSd.d.mts} +2 -2
- package/dist/referential-action-sql-Cw1Q0YSd.d.mts.map +1 -0
- package/dist/relational-core.d.mts +11 -11
- package/dist/relational-core__aggregate-descriptor-registry.d.mts +1 -1
- package/dist/relational-core__ast.d.mts +3 -3
- 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__contract-free.d.mts +4 -4
- package/dist/relational-core__expression.d.mts +1 -1
- 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-Ba33K41A.d.mts → resolve-storage-table-B7m9cFy4.d.mts} +3 -3
- package/dist/{resolve-storage-table-Ba33K41A.d.mts.map → resolve-storage-table-B7m9cFy4.d.mts.map} +1 -1
- package/dist/{runtime-BUemUdMk.d.mts → runtime-Ca7PVQcJ.d.mts} +2 -2
- package/dist/{runtime-BUemUdMk.d.mts.map → runtime-Ca7PVQcJ.d.mts.map} +1 -1
- package/dist/runtime.d.mts +4 -4
- package/dist/runtime.mjs +2 -2
- package/dist/runtime__internal__prepared-query.d.mts +1 -1
- package/dist/{schema-differ-CqWOkoW9--uxNOini.d.mts → schema-differ-CqWOkoW9-BABSAGGB.d.mts} +3 -3
- package/dist/{schema-differ-CqWOkoW9--uxNOini.d.mts.map → schema-differ-CqWOkoW9-BABSAGGB.d.mts.map} +1 -1
- package/dist/{schema-verify-DIfHSB4I-CjYnmUuD.mjs → schema-verify-DIfHSB4I-Dx3Tq9hf.mjs} +2 -2
- package/dist/{schema-verify-DIfHSB4I-CjYnmUuD.mjs.map → schema-verify-DIfHSB4I-Dx3Tq9hf.mjs.map} +1 -1
- package/dist/{serialized-index-QAYy0fjm-zxvK3RBa.mjs → serialized-index-C26m_DWu-CnNi8WAI.mjs} +3 -3
- package/dist/{serialized-index-QAYy0fjm-zxvK3RBa.mjs.map → serialized-index-C26m_DWu-CnNi8WAI.mjs.map} +1 -1
- package/dist/{sql-contract-serializer-DDaAVCQr-CLDkZLXO.mjs → sql-contract-serializer-DDaAVCQr-c3jZiPS3.mjs} +4 -4
- package/dist/{sql-contract-serializer-DDaAVCQr-CLDkZLXO.mjs.map → sql-contract-serializer-DDaAVCQr-c3jZiPS3.mjs.map} +1 -1
- package/dist/{sql-execution-plan-C7XauPPu-BMi8hJlv.d.mts → sql-execution-plan-C7XauPPu-BFhGKvp4.d.mts} +2 -2
- package/dist/{sql-execution-plan-C7XauPPu-BMi8hJlv.d.mts.map → sql-execution-plan-C7XauPPu-BFhGKvp4.d.mts.map} +1 -1
- package/dist/{sql-storage-DSnnRQAf-DaHPnley.d.mts → sql-storage-BTlJLUID-O6fBB_am.d.mts} +3 -3
- package/dist/{sql-storage-DSnnRQAf-DaHPnley.d.mts.map → sql-storage-BTlJLUID-O6fBB_am.d.mts.map} +1 -1
- package/dist/{storage-table-CyL4CNMi-ByGZXmzd.mjs → storage-table-B7OSPl3G-EOodFPzq.mjs} +5 -3
- package/dist/storage-table-B7OSPl3G-EOodFPzq.mjs.map +1 -0
- package/dist/{storage-table-BBcKoAuF-CssyCQhM.d.mts → storage-table-WXeVNycx-tlFMnbig.d.mts} +3 -3
- package/dist/{storage-table-BBcKoAuF-CssyCQhM.d.mts.map → storage-table-WXeVNycx-tlFMnbig.d.mts.map} +1 -1
- package/dist/{types-BJQcLx-8-DSnaugR4.d.mts → types-BJQcLx-8-DY221fiX.d.mts} +10 -10
- package/dist/{types-BJQcLx-8-DSnaugR4.d.mts.map → types-BJQcLx-8-DY221fiX.d.mts.map} +1 -1
- package/dist/{types-DkOYK86-.d.mts → types-BURWzacK.d.mts} +5 -5
- package/dist/{types-DkOYK86-.d.mts.map → types-BURWzacK.d.mts.map} +1 -1
- package/dist/{types-DDHgx581.mjs → types-C7oOtFcJ.mjs} +2 -2
- package/dist/{types-DDHgx581.mjs.map → types-C7oOtFcJ.mjs.map} +1 -1
- package/dist/{types-CzxOObSY-CNWyrf87.d.mts → types-CzxOObSY-DEfjmbj1.d.mts} +7 -7
- package/dist/{types-CzxOObSY-CNWyrf87.d.mts.map → types-CzxOObSY-DEfjmbj1.d.mts.map} +1 -1
- package/dist/{types-DV040Uuq-Bu8CnbMa.d.mts → types-DFZhLz18-C_h0u-Zx.d.mts} +8 -7
- package/dist/types-DFZhLz18-C_h0u-Zx.d.mts.map +1 -0
- package/dist/types-DLjT0ADz.d.mts +1 -0
- package/dist/{types-Sh5HuaZE-C8I29pGQ.d.mts → types-Sh5HuaZE-B_FQUPng.d.mts} +2 -2
- package/dist/{types-Sh5HuaZE-C8I29pGQ.d.mts.map → types-Sh5HuaZE-B_FQUPng.d.mts.map} +1 -1
- package/dist/{validators-BAa0JKuB.d.mts → validators-Cr_FFJAG.d.mts} +5 -4
- package/dist/{validators-BAa0JKuB.d.mts.map → validators-Cr_FFJAG.d.mts.map} +1 -1
- package/dist/{validators-Xx-TKcx3.mjs → validators-oyDG5mVX.mjs} +22 -2
- package/dist/validators-oyDG5mVX.mjs.map +1 -0
- package/package.json +18 -18
- package/dist/contract-builder-BaJMQFAc.d.mts.map +0 -1
- package/dist/control-adapter-CD_gz6TI.d.mts +0 -1
- package/dist/entity-kinds-JlqzyFoo-kIaAUFyK.mjs.map +0 -1
- package/dist/factories-BsUyFxsk.mjs.map +0 -1
- package/dist/foreign-key-C-iTPuRT-C9ip8zFx.d.mts.map +0 -1
- package/dist/foreign-key-materialization-IGfTKmHV.mjs +0 -73
- package/dist/foreign-key-materialization-IGfTKmHV.mjs.map +0 -1
- package/dist/foreign-key-materialization-U4M9cqKd.d.mts +0 -65
- package/dist/foreign-key-materialization-U4M9cqKd.d.mts.map +0 -1
- package/dist/interpreter-BF5Xrf3W-bdklH78q.mjs.map +0 -1
- package/dist/middleware-BFoORv3y.d.mts +0 -1
- package/dist/plan-CmfWjqtI.d.mts +0 -2
- package/dist/psl-field-resolution-DUCrDnuq-DSxPrd-4.mjs.map +0 -1
- package/dist/psl-infer-fU7LRjTx.mjs.map +0 -1
- package/dist/query-lane-context-qK5s2okl.d.mts +0 -1
- package/dist/referential-action-sql-DJ9ps6-S.d.mts.map +0 -1
- package/dist/storage-table-CyL4CNMi-ByGZXmzd.mjs.map +0 -1
- package/dist/types-14L6c26e.d.mts +0 -1
- package/dist/types-DV040Uuq-Bu8CnbMa.d.mts.map +0 -1
- package/dist/validators-Xx-TKcx3.mjs.map +0 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { t as contractError } from "./contract-errors-BCN6RVI5-5IHBF_lg.mjs";
|
|
2
2
|
import { a as computeIndexContentHash, i as computeCheckContentHash } from "./naming-DkG_OegU-DpENNdZX.mjs";
|
|
3
|
-
import { f as composeSqlEntityKinds } from "./entity-kinds-
|
|
3
|
+
import { f as composeSqlEntityKinds } from "./entity-kinds-O3V1K26U-B8TUrsX2.mjs";
|
|
4
|
+
import { a as sameColumns$1, s as startsWithColumns } from "./index-equivalence-DswCiq5l-C7wLMPwF.mjs";
|
|
4
5
|
import { ContractValidationError } from "@prisma/orm-framework/contract/contract-validation-error";
|
|
5
6
|
import { isPlainRecord } from "@prisma/orm-framework/components/ir";
|
|
6
7
|
import { DATA_TYPE_ID_PATTERN } from "@prisma/orm-framework/components/codec";
|
|
@@ -402,6 +403,20 @@ function validateSqlContractStructure(value, contractSchema) {
|
|
|
402
403
|
if (contractResult instanceof type.errors) throw new ContractValidationError(`Contract structural validation failed: ${contractResult.map((p) => p.message).join("; ")}`, "structural");
|
|
403
404
|
return blindCast(contractResult);
|
|
404
405
|
}
|
|
406
|
+
function foreignKeyBackingError(table, fk) {
|
|
407
|
+
const { index } = fk;
|
|
408
|
+
if (index === void 0) return void 0;
|
|
409
|
+
const columns = fk.source.columns;
|
|
410
|
+
if ("name" in index) {
|
|
411
|
+
const named = table.indexes.find((candidate) => candidate.name === index.name);
|
|
412
|
+
if (named === void 0) return `is indexed by "${index.name}", but the table has no index with that name`;
|
|
413
|
+
return named.columns !== void 0 && startsWithColumns(named.columns, columns) ? void 0 : `is indexed by "${index.name}", but that index does not start with those columns`;
|
|
414
|
+
}
|
|
415
|
+
if ("primaryKey" in index) return table.primaryKey !== void 0 && startsWithColumns(table.primaryKey.columns, columns) ? void 0 : "is indexed by the primary key, but the table's primary key does not start with those columns";
|
|
416
|
+
const described = `the unique constraint on [${index.unique.join(", ")}]`;
|
|
417
|
+
if (!table.uniques.some((unique) => sameColumns$1(unique.columns, index.unique))) return `is indexed by ${described}, but the table has no unique constraint on those columns`;
|
|
418
|
+
return startsWithColumns(index.unique, columns) ? void 0 : `is indexed by ${described}, which does not start with those columns`;
|
|
419
|
+
}
|
|
405
420
|
/**
|
|
406
421
|
* Validates semantic constraints on SqlStorage that cannot be expressed in Arktype schemas.
|
|
407
422
|
*
|
|
@@ -414,6 +429,7 @@ function validateSqlContractStructure(value, contractSchema) {
|
|
|
414
429
|
* - nullable columns in primary key definitions
|
|
415
430
|
* - `setNull` referential action on a non-nullable FK column (would fail at runtime)
|
|
416
431
|
* - `setDefault` referential action on a non-nullable FK column without a DEFAULT (would fail at runtime)
|
|
432
|
+
* - a foreign key whose `index` is an index, primary key or unique constraint its table does not have
|
|
417
433
|
*/
|
|
418
434
|
function validateStorageSemantics(storage) {
|
|
419
435
|
const errors = [];
|
|
@@ -450,6 +466,10 @@ function validateStorageSemantics(storage) {
|
|
|
450
466
|
const tableCoordinate = `Namespace "${namespaceId}" table "${tableName}"`;
|
|
451
467
|
rejectRepeatedIndexColumns(table.indexes, tableCoordinate, errors);
|
|
452
468
|
rejectDuplicateWireNamedIndexContent(table.indexes, tableCoordinate, errors);
|
|
469
|
+
for (const fk of table.foreignKeys) {
|
|
470
|
+
const error = foreignKeyBackingError(table, fk);
|
|
471
|
+
if (error !== void 0) errors.push(`${tableCoordinate}: foreign key on columns [${fk.source.columns.join(", ")}] ${error}`);
|
|
472
|
+
}
|
|
453
473
|
const seenForeignKeyDefinitions = /* @__PURE__ */ new Set();
|
|
454
474
|
for (const fk of table.foreignKeys) {
|
|
455
475
|
const signature = JSON.stringify({
|
|
@@ -676,4 +696,4 @@ function validateRelationThroughConsistency(contract) {
|
|
|
676
696
|
//#endregion
|
|
677
697
|
export { createSqlStorageSchema as a, validateModel as c, validateSqlStorageConsistency as d, validateStorage as f, createSqlContractSchema as i, validateModelStorageReferences as l, valueObjectStorageTypeMissingMessage as m, checkSqlDefaultText as n, reservedSqlDefaultText as o, validateStorageSemantics as p, createNamespaceEntrySchema as r, resolveSqlToOneRelationStorage as s, ContractEnumSchema as t, validateSqlContractFully as u };
|
|
678
698
|
|
|
679
|
-
//# sourceMappingURL=validators-
|
|
699
|
+
//# sourceMappingURL=validators-oyDG5mVX.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators-oyDG5mVX.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/validators.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { a as ColumnDefaultFunctionSchema, c as ForeignKeyReferenceSchema, d as IndexSchema, f as ReferentialActionSchema, i as CheckConstraintSchema, l as ForeignKeySchema, m as StorageValueSetSchema, o as ColumnDefaultLiteralSchema, p as StorageTableSchema, s as ColumnDefaultSchema, t as composeSqlEntityKinds, u as ForeignKeySourceSchema } from \"./entity-kinds-O3V1K26U.mjs\";\nimport { a as sameColumns$1, s as startsWithColumns } from \"./index-equivalence-DswCiq5l.mjs\";\nimport { computeCheckContentHash, computeIndexContentHash } from \"@internal/sql-schema-ir/naming\";\nimport { isPlainRecord } from \"@internal/framework-components/ir\";\nimport { DATA_TYPE_ID_PATTERN } from \"@internal/framework-components/codec\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { type } from \"arktype\";\nimport { ContractValidationError } from \"@internal/contract/contract-validation-error\";\nimport { ContractExecutionSectionSchema, CrossReferenceSchema } from \"@internal/contract/types\";\nimport { validateContractDomain } from \"@internal/contract/validate-domain\";\nimport { canonicalizeJson } from \"@internal/framework-components/utils\";\n//#region src/default-sql-text.ts\nconst UNSAFE_DEFAULT_TEXT = /;|--|\\/\\*|\\$\\$|\\bSELECT\\b/i;\n/** Returns undefined when the text may be rendered as `DEFAULT (<text>)`, else the reason. */\nfunction checkSqlDefaultText(text) {\n\treturn UNSAFE_DEFAULT_TEXT.test(text) ? \"Default SQL must not contain semicolons, SQL comment tokens, dollar-quoting, or subqueries.\" : void 0;\n}\n/**\n* Names the Prisma default function that raw SQL text is exactly, ignoring surrounding whitespace. The planners treat the contract expressions `now()` and `autoincrement()` as those functions, so raw SQL with that text would not be used as written.\n*/\nfunction reservedSqlDefaultText(text) {\n\tswitch (text.trim()) {\n\t\tcase \"now()\": return \"now\";\n\t\tcase \"autoincrement()\": return \"autoincrement\";\n\t\tdefault: return;\n\t}\n}\n//#endregion\n//#region src/relation-storage.ts\nfunction sameColumns(left, right) {\n\treturn left.length === right.length && left.every((column, index) => column === right[index]);\n}\n/**\n* The storage facts behind a same-space to-one relation's nullability: which side owns the\n* foreign key, and whether each local column is nullable.\n*/\nfunction resolveSqlToOneRelationStorage(contract, modelStorage, relation) {\n\tconst table = blindCast(contract.storage.namespaces[modelStorage.namespaceId]?.entries.table?.[modelStorage.table]);\n\tconst columns = relation.on.localFields.map((fieldName) => {\n\t\tconst columnName = modelStorage.fields[fieldName]?.column;\n\t\tconst column = columnName === void 0 ? void 0 : table?.columns[columnName];\n\t\treturn {\n\t\t\tname: columnName ?? fieldName,\n\t\t\tnullable: column?.nullable ?? true\n\t\t};\n\t});\n\tconst columnNames = columns.map((column) => column.name);\n\treturn {\n\t\townsForeignKey: relation.cardinality === \"N:1\" || (table?.foreignKeys ?? []).some((foreignKey) => sameColumns(foreignKey.source.columns, columnNames)),\n\t\tcolumns\n\t};\n}\n//#endregion\n//#region src/validators.ts\nconst ControlPolicySchema = type(\"'managed' | 'tolerated' | 'external' | 'observed'\");\nconst DomainEnumRefSchema = type({\n\tplane: \"'domain'\",\n\tnamespaceId: \"string\",\n\tentityKind: \"'enum'\",\n\tentityName: \"string\",\n\t\"spaceId?\": \"string\"\n});\n/** Document-scoped `storage.types`: codec triples only. */\nconst DocumentScopedStorageTypeSchema = type.declare().type({\n\tkind: \"'codec-instance'\",\n\tcodecId: \"string\",\n\tdataType: DATA_TYPE_ID_PATTERN,\n\t\"typeParams?\": \"Record<string, unknown>\"\n});\n/**\n* Domain enum entry under `domain.namespaces[id].enum[name]`.\n* Carries the codec id and an ordered `members` array of `{name, value}` pairs.\n*/\nconst ContractEnumSchema = type({\n\t\"+\": \"reject\",\n\tcodecId: \"string\",\n\tmembers: type({\n\t\tname: \"string\",\n\t\tvalue: \"string | number | boolean | null | unknown[] | Record<string, unknown>\"\n\t}).array().readonly()\n});\n/**\n* Derives a schema map from a descriptor map: maps each kind's key to its\n* `schema` field. Used by validation functions to validate entries.\n*/\nfunction schemaViewOf(kinds) {\n\treturn new Map([...kinds].map(([k, d]) => [k, d.schema]));\n}\nconst DEFAULT_SQL_KINDS = composeSqlEntityKinds();\n/**\n* Builds the per-namespace entry schema for `storage.namespaces[id]`.\n*\n* Validation is descriptor-driven: the `kinds` map carries both the schema\n* (used here for structural validation) and the construct function (used at\n* hydration time). An unregistered key fails validation naming the kind and\n* the namespace id, so validation fails closed.\n*/\nfunction createNamespaceEntrySchema(kinds) {\n\tconst schemas = schemaViewOf(kinds);\n\tconst knownKinds = new Set(kinds.keys());\n\treturn type({\n\t\t\"+\": \"reject\",\n\t\tid: \"string\",\n\t\t\"kind?\": \"string\",\n\t\tentries: \"object\"\n\t}).narrow((ns, ctx) => {\n\t\tif (!isPlainRecord(ns.entries)) return ctx.mustBe(\"an entries object\");\n\t\tfor (const [key, innerMap] of Object.entries(ns.entries)) {\n\t\t\tif (!knownKinds.has(key)) return ctx.reject({ expected: `entries key \"${key}\" in namespace \"${ns.id}\" is not a registered entity kind` });\n\t\t\tif (!isPlainRecord(innerMap)) return ctx.reject({ expected: `entries[\"${key}\"] in namespace \"${ns.id}\" must be an object` });\n\t\t\tconst entrySchema = blindCast(schemas.get(key));\n\t\t\tfor (const [, value] of Object.entries(innerMap)) {\n\t\t\t\tconst parsed = entrySchema(value);\n\t\t\t\tif (parsed instanceof type.errors) return ctx.reject({ expected: parsed.summary });\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t});\n}\n/**\n* Builds the storage schema. Pack contributions reach the per-namespace\n* entry shape through {@link createNamespaceEntrySchema}; the\n* document-scoped `storage.types` field (codec triples only) and the\n* storage hash stay family-shared.\n*/\nfunction createSqlStorageSchema(kinds) {\n\tconst namespaceEntry = createNamespaceEntrySchema(kinds);\n\treturn type({\n\t\t\"+\": \"reject\",\n\t\tstorageHash: \"string\",\n\t\t\"types?\": type({ \"[string]\": DocumentScopedStorageTypeSchema }),\n\t\t\"namespaces?\": type({ \"[string]\": namespaceEntry })\n\t});\n}\nconst StorageSchema = createSqlStorageSchema(DEFAULT_SQL_KINDS);\n/** The refusal of a value-object column when the stack declares no value-object storage type. */\nfunction valueObjectStorageTypeMissingMessage(columnPath) {\n\treturn `${columnPath}: a value-object column needs the stack's value-object storage type, and the stack declares none`;\n}\nconst LISTED_STORED_TYPE_NAMES = 5;\nfunction fieldOf(value, key) {\n\treturn isPlainRecord(value) ? value[key] : void 0;\n}\nfunction entriesOf(value) {\n\treturn isPlainRecord(value) ? Object.entries(value) : [];\n}\nfunction storedTypeNamePaths(storage) {\n\tconst columns = entriesOf(fieldOf(storage, \"namespaces\")).flatMap(([namespaceId, namespace]) => entriesOf(fieldOf(fieldOf(namespace, \"entries\"), \"table\")).flatMap(([tableName, table]) => entriesOf(fieldOf(table, \"columns\")).map(([columnName, column]) => ({\n\t\tpath: `storage.namespaces.${namespaceId}.entries.table.${tableName}.columns.${columnName}`,\n\t\tentry: column\n\t}))));\n\tconst types = entriesOf(fieldOf(storage, \"types\")).map(([typeName, entry]) => ({\n\t\tpath: `storage.types.${typeName}`,\n\t\tentry\n\t}));\n\treturn [...columns, ...types].filter(({ entry }) => isPlainRecord(entry) && Object.hasOwn(entry, \"nativeType\")).map(({ path }) => path);\n}\n/**\n* Contracts emitted before a column named its data type stored the database type name in `nativeType` on columns and `storage.types` entries. The first five such keys are reported with their paths and the rest are counted, so an old contract is refused with a short message that says what changed.\n*/\nfunction storedTypeNameProblems(storage) {\n\tconst paths = storedTypeNamePaths(storage);\n\tconst listed = paths.slice(0, LISTED_STORED_TYPE_NAMES).map((path) => `${path}.nativeType: contracts no longer store a column's database type name; the column names its data type in \"dataType\"`);\n\tconst unlisted = paths.length - listed.length;\n\treturn unlisted > 0 ? [...listed, `and ${unlisted} more ${unlisted === 1 ? \"path\" : \"paths\"} (${paths.length} in all)`] : listed;\n}\n/**\n* Any entries entity that declares both a `tableName` and a physical `name`\n* (e.g. a target's RLS policy entities) shares one physical-name space per\n* table: two such entries of one kind on the same table would collide as\n* DDL (`CREATE POLICY \"<name>\" ON <table>` fails on the second), while the\n* same name on different tables is legal. Structural — no entry-kind\n* vocabulary; `table` entries are keyed by name already and are excluded.\n*/\nfunction validateTableScopedEntryNames(storage, errors) {\n\tfor (const [namespaceId, ns] of Object.entries(storage.namespaces)) {\n\t\tif (!isPlainRecord(ns.entries)) continue;\n\t\tfor (const [entriesKind, slot] of Object.entries(ns.entries)) {\n\t\t\tif (entriesKind === \"table\" || !isPlainRecord(slot)) continue;\n\t\t\tconst seen = /* @__PURE__ */ new Map();\n\t\t\tfor (const entity of Object.values(slot)) {\n\t\t\t\tif (typeof entity !== \"object\" || entity === null) continue;\n\t\t\t\tconst record = blindCast(entity);\n\t\t\t\tconst name = record[\"name\"];\n\t\t\t\tconst tableName = record[\"tableName\"];\n\t\t\t\tif (typeof name !== \"string\" || typeof tableName !== \"string\") continue;\n\t\t\t\tconst key = JSON.stringify([tableName, name]);\n\t\t\t\tseen.set(key, (seen.get(key) ?? 0) + 1);\n\t\t\t\tif (seen.get(key) === 2) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": ${entriesKind} \"${name}\" is declared multiple times`);\n\t\t\t}\n\t\t}\n\t}\n}\nfunction eachStorageTable(storage) {\n\treturn Object.entries(storage.namespaces).flatMap(([namespaceId, ns]) => Object.entries(ns.entries[\"table\"] ?? {}).map(([tableName, table]) => ({\n\t\tnamespaceId,\n\t\ttableName,\n\t\ttable\n\t})));\n}\nfunction findDuplicateValue(values) {\n\tconst seen = /* @__PURE__ */ new Set();\n\tfor (const value of values) {\n\t\tif (seen.has(value)) return value;\n\t\tseen.add(value);\n\t}\n}\n/** A column may appear at most once in one index's element tuple. */\nfunction rejectRepeatedIndexColumns(indexes, coordinate, errors) {\n\tfor (const index of indexes) {\n\t\tconst duplicateColumn = findDuplicateValue(index.columns ?? []);\n\t\tif (duplicateColumn !== void 0) errors.push(`${coordinate}: index contains duplicate column \"${duplicateColumn}\"`);\n\t}\n}\n/**\n* Two wire-named indexes with the same content are one index written twice —\n* the content hash is their identity, so neither spelling can survive. An\n* exact-named index is identified by its name instead, so content twins under\n* two names are legal and a repeated name is rejected by the named-object\n* check.\n*/\nfunction rejectDuplicateWireNamedIndexContent(indexes, coordinate, errors) {\n\tconst seenContent = /* @__PURE__ */ new Set();\n\tfor (const index of indexes) {\n\t\tif (index.prefix === void 0) continue;\n\t\tconst content = computeIndexContentHash(index);\n\t\tif (seenContent.has(content)) {\n\t\t\terrors.push(`${coordinate}: duplicate index definition on columns [${(index.columns ?? []).join(\", \")}]`);\n\t\t\tcontinue;\n\t\t}\n\t\tseenContent.add(content);\n\t}\n}\n/**\n* Two wire-named checks with the same predicate are one check written twice —\n* the content hash is their identity, so neither spelling can survive, and\n* whitespace variants of one predicate collapse onto the same hash. An\n* exact-named check is identified by its name instead, so content twins under\n* two names are legal (the legacy shape a database adopts from) and a repeated\n* name is rejected by the named-object check.\n*/\nfunction rejectDuplicateWireNamedCheckContent(checks, coordinate, errors) {\n\tconst seenContent = /* @__PURE__ */ new Set();\n\tfor (const check of checks) {\n\t\tif (check.prefix === void 0) continue;\n\t\tconst content = computeCheckContentHash(check.expression);\n\t\tif (seenContent.has(content)) {\n\t\t\terrors.push(`${coordinate}: duplicate check constraint definition (expression \"${check.expression}\")`);\n\t\t\tcontinue;\n\t\t}\n\t\tseenContent.add(content);\n\t}\n}\nfunction isContractFieldType(value) {\n\tif (!isPlainRecord(value)) return false;\n\tconst kind = value[\"kind\"];\n\tif (kind === \"scalar\") {\n\t\tif (typeof value[\"codecId\"] !== \"string\") return false;\n\t\tconst typeParams = value[\"typeParams\"];\n\t\tif (typeParams !== void 0 && !isPlainRecord(typeParams)) return false;\n\t\treturn true;\n\t}\n\tif (kind === \"valueObject\") return typeof value[\"name\"] === \"string\";\n\tif (kind === \"union\") {\n\t\tconst members = value[\"members\"];\n\t\tif (!Array.isArray(members)) return false;\n\t\treturn members.every((m) => isContractFieldType(m));\n\t}\n\treturn false;\n}\nconst ModelFieldSchema = type({\n\t\"+\": \"reject\",\n\tnullable: \"boolean\",\n\ttype: type(\"unknown\").narrow((value, ctx) => isContractFieldType(value) ? true : ctx.mustBe(\"scalar, valueObject, or union field type\")),\n\tmany: type(\"false\").or({\n\t\t\"+\": \"reject\",\n\t\telementNullable: \"boolean\"\n\t}).default(false),\n\t\"dict?\": \"true\",\n\t\"valueSet?\": DomainEnumRefSchema\n});\nconst ModelStorageSchema = type({\n\ttable: \"string\",\n\tnamespaceId: \"string\",\n\tfields: type({ \"[string]\": type({\n\t\tcolumn: \"string\",\n\t\t\"codecId?\": \"string\",\n\t\t\"nullable?\": \"boolean\"\n\t}) })\n});\nconst ContractRelationThroughSchema = type({\n\t\"+\": \"reject\",\n\ttable: \"string\",\n\tnamespaceId: \"string\",\n\tparentColumns: type.string.array().readonly(),\n\tchildColumns: type.string.array().readonly(),\n\ttargetColumns: type.string.array().readonly()\n});\nconst ContractRelationOnSchema = type({\n\t\"+\": \"reject\",\n\tlocalFields: type.string.array().readonly(),\n\ttargetFields: type.string.array().readonly()\n});\nconst ContractManyToManyRelationSchema = type({\n\t\"+\": \"reject\",\n\tto: CrossReferenceSchema,\n\tcardinality: \"'N:M'\",\n\ton: ContractRelationOnSchema,\n\tthrough: ContractRelationThroughSchema\n});\nconst ContractToOneRelationSchema = type({\n\t\"+\": \"reject\",\n\tto: CrossReferenceSchema,\n\tcardinality: \"'1:1' | 'N:1'\",\n\t\"nullable?\": \"boolean\",\n\ton: ContractRelationOnSchema\n});\nconst ContractToManyRelationSchema = type({\n\t\"+\": \"reject\",\n\tto: CrossReferenceSchema,\n\tcardinality: \"'1:N'\",\n\ton: ContractRelationOnSchema\n});\nconst ContractReferenceRelationSchema = ContractManyToManyRelationSchema.or(ContractToOneRelationSchema).or(ContractToManyRelationSchema);\nconst ContractEmbedRelationSchema = type({\n\t\"+\": \"reject\",\n\tto: CrossReferenceSchema,\n\tcardinality: \"'1:1' | '1:N'\"\n});\nconst ContractRelationSchema = ContractReferenceRelationSchema.or(ContractEmbedRelationSchema);\nconst ModelSchema = type({\n\tstorage: ModelStorageSchema,\n\t\"fields?\": type({ \"[string]\": ModelFieldSchema }),\n\t\"relations?\": type({ \"[string]\": ContractRelationSchema }),\n\t\"discriminator?\": \"unknown\",\n\t\"variants?\": \"unknown\",\n\t\"base?\": CrossReferenceSchema,\n\t\"owner?\": \"string\"\n});\nconst ContractMetaSchema = type({ \"[string]\": \"unknown\" });\n/**\n* Builds the full SQL contract schema. The storage subtree threads\n* pack contributions through {@link createSqlStorageSchema}; the rest\n* of the contract envelope is family-shared.\n*/\nfunction createSqlContractSchema(kinds) {\n\tconst storage = createSqlStorageSchema(kinds);\n\treturn type({\n\t\t\"+\": \"reject\",\n\t\ttarget: \"string\",\n\t\ttargetFamily: \"'sql'\",\n\t\t\"coreHash?\": \"string\",\n\t\tprofileHash: \"string\",\n\t\t\"capabilities?\": \"Record<string, Record<string, boolean>>\",\n\t\t\"extensions?\": \"Record<string, unknown>\",\n\t\t\"meta?\": ContractMetaSchema,\n\t\t\"defaultControlPolicy?\": ControlPolicySchema,\n\t\t\"roots?\": type({ \"[string]\": CrossReferenceSchema }),\n\t\tdomain: type({ namespaces: type({ \"[string]\": type({\n\t\t\tmodels: type({ \"[string]\": ModelSchema }),\n\t\t\t\"valueObjects?\": type({ \"[string]\": type({ fields: type({ \"[string]\": ModelFieldSchema }) }) }),\n\t\t\t\"enum?\": type({ \"[string]\": ContractEnumSchema })\n\t\t}) }) }),\n\t\tstorage,\n\t\t\"execution?\": ContractExecutionSectionSchema\n\t});\n}\nconst SqlContractSchema = createSqlContractSchema(DEFAULT_SQL_KINDS);\n/**\n* Validates the structural shape of SqlStorage using Arktype. Pure\n* structural check: namespace IR is never materialized here (that needs\n* a target concretion via the serializer hydration path), so this throws\n* on invalid input and constructs nothing.\n*\n* @param value - The storage value to validate\n* @throws Error if the storage structure is invalid\n*/\nfunction validateStorage(value) {\n\tconst storedTypeNames = storedTypeNameProblems(value);\n\tconst result = StorageSchema(value);\n\tconst errors = storedTypeNames.length > 0 ? [...storedTypeNames] : result instanceof type.errors ? result.map((p) => p.message) : [];\n\tif (errors.length > 0) throw contractError(\"CONTRACT.VALIDATION_FAILED\", `Storage validation failed: ${errors.join(\"; \")}`, { meta: { errors } });\n}\nfunction validateModel(value) {\n\tconst result = ModelSchema(value);\n\tif (result instanceof type.errors) {\n\t\tconst errors = result.map((p) => p.message);\n\t\tthrow contractError(\"CONTRACT.VALIDATION_FAILED\", `Model validation failed: ${errors.join(\"; \")}`, { meta: { errors } });\n\t}\n\treturn result;\n}\n/**\n* Structural arktype validation of an SQL contract envelope. Internal\n* helper for {@link validateSqlContractFully} — exposed only inside\n* this module, since the family seam-of-record is the\n* `SqlContractSerializerBase.deserializeContract` SPI.\n*/\nfunction validateSqlContractStructure(value, contractSchema) {\n\tif (typeof value !== \"object\" || value === null) throw new ContractValidationError(\"Contract structural validation failed: value must be an object\", \"structural\");\n\tconst targetFamily = \"targetFamily\" in value ? value.targetFamily : void 0;\n\tif (targetFamily !== void 0 && targetFamily !== \"sql\") throw new ContractValidationError(`Unsupported target family: ${targetFamily}`, \"structural\");\n\tconst storedTypeNames = storedTypeNameProblems(fieldOf(value, \"storage\"));\n\tif (storedTypeNames.length > 0) throw new ContractValidationError(`Contract structural validation failed: ${storedTypeNames.join(\"; \")}`, \"structural\");\n\tconst contractResult = contractSchema(value);\n\tif (contractResult instanceof type.errors) throw new ContractValidationError(`Contract structural validation failed: ${contractResult.map((p) => p.message).join(\"; \")}`, \"structural\");\n\treturn blindCast(contractResult);\n}\nfunction foreignKeyBackingError(table, fk) {\n\tconst { index } = fk;\n\tif (index === void 0) return void 0;\n\tconst columns = fk.source.columns;\n\tif (\"name\" in index) {\n\t\tconst named = table.indexes.find((candidate) => candidate.name === index.name);\n\t\tif (named === void 0) return `is indexed by \"${index.name}\", but the table has no index with that name`;\n\t\treturn named.columns !== void 0 && startsWithColumns(named.columns, columns) ? void 0 : `is indexed by \"${index.name}\", but that index does not start with those columns`;\n\t}\n\tif (\"primaryKey\" in index) return table.primaryKey !== void 0 && startsWithColumns(table.primaryKey.columns, columns) ? void 0 : \"is indexed by the primary key, but the table's primary key does not start with those columns\";\n\tconst described = `the unique constraint on [${index.unique.join(\", \")}]`;\n\tif (!table.uniques.some((unique) => sameColumns$1(unique.columns, index.unique))) return `is indexed by ${described}, but the table has no unique constraint on those columns`;\n\treturn startsWithColumns(index.unique, columns) ? void 0 : `is indexed by ${described}, which does not start with those columns`;\n}\n/**\n* Validates semantic constraints on SqlStorage that cannot be expressed in Arktype schemas.\n*\n* Returns an array of human-readable error strings. Empty array = valid.\n*\n* Currently checks:\n* - duplicate named primary key / unique / index / foreign key objects within a table\n* - duplicate unique, index, or foreign key declarations within a table\n* - duplicate columns within primary key / unique / index definitions\n* - nullable columns in primary key definitions\n* - `setNull` referential action on a non-nullable FK column (would fail at runtime)\n* - `setDefault` referential action on a non-nullable FK column without a DEFAULT (would fail at runtime)\n* - a foreign key whose `index` is an index, primary key or unique constraint its table does not have\n*/\nfunction validateStorageSemantics(storage) {\n\tconst errors = [];\n\tvalidateTableScopedEntryNames(storage, errors);\n\tfor (const { namespaceId, tableName, table: rawTable } of eachStorageTable(storage)) {\n\t\tconst table = blindCast(rawTable);\n\t\tconst namedObjects = /* @__PURE__ */ new Map();\n\t\tconst registerNamedObject = (kind, name) => {\n\t\t\tif (!name) return;\n\t\t\tnamedObjects.set(name, [...namedObjects.get(name) ?? [], kind]);\n\t\t};\n\t\tregisterNamedObject(\"primary key\", table.primaryKey?.name);\n\t\tfor (const unique of table.uniques) registerNamedObject(\"unique constraint\", unique.name);\n\t\tfor (const index of table.indexes) registerNamedObject(\"index\", index.name);\n\t\tfor (const fk of table.foreignKeys) registerNamedObject(\"foreign key\", fk.name);\n\t\tfor (const check of table.checks ?? []) registerNamedObject(\"check constraint\", check.name);\n\t\tfor (const [name, kinds] of namedObjects) if (kinds.length > 1) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": named object \"${name}\" is declared multiple times (${kinds.join(\", \")})`);\n\t\tif (table.primaryKey) {\n\t\t\tconst duplicateColumn = findDuplicateValue(table.primaryKey.columns);\n\t\t\tif (duplicateColumn !== void 0) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": primary key contains duplicate column \"${duplicateColumn}\"`);\n\t\t\tfor (const columnName of table.primaryKey.columns) if (table.columns[columnName]?.nullable === true) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": primary key column \"${columnName}\" is nullable; primary key columns must be NOT NULL`);\n\t\t}\n\t\tconst seenUniqueDefinitions = /* @__PURE__ */ new Set();\n\t\tfor (const unique of table.uniques) {\n\t\t\tconst duplicateColumn = findDuplicateValue(unique.columns);\n\t\t\tif (duplicateColumn !== void 0) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": unique constraint contains duplicate column \"${duplicateColumn}\"`);\n\t\t\tconst signature = JSON.stringify({ columns: unique.columns });\n\t\t\tif (seenUniqueDefinitions.has(signature)) {\n\t\t\t\terrors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": duplicate unique constraint definition on columns [${unique.columns.join(\", \")}]`);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tseenUniqueDefinitions.add(signature);\n\t\t}\n\t\tconst tableCoordinate = `Namespace \"${namespaceId}\" table \"${tableName}\"`;\n\t\trejectRepeatedIndexColumns(table.indexes, tableCoordinate, errors);\n\t\trejectDuplicateWireNamedIndexContent(table.indexes, tableCoordinate, errors);\n\t\tfor (const fk of table.foreignKeys) {\n\t\t\tconst error = foreignKeyBackingError(table, fk);\n\t\t\tif (error !== void 0) errors.push(`${tableCoordinate}: foreign key on columns [${fk.source.columns.join(\", \")}] ${error}`);\n\t\t}\n\t\tconst seenForeignKeyDefinitions = /* @__PURE__ */ new Set();\n\t\tfor (const fk of table.foreignKeys) {\n\t\t\tconst signature = JSON.stringify({\n\t\t\t\tsource: fk.source,\n\t\t\t\ttarget: fk.target,\n\t\t\t\tonDelete: fk.onDelete ?? null,\n\t\t\t\tonUpdate: fk.onUpdate ?? null\n\t\t\t});\n\t\t\tif (seenForeignKeyDefinitions.has(signature)) {\n\t\t\t\terrors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": duplicate foreign key definition on columns [${fk.source.columns.join(\", \")}]`);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tseenForeignKeyDefinitions.add(signature);\n\t\t}\n\t\tfor (const fk of table.foreignKeys) for (const colName of fk.source.columns) {\n\t\t\tconst column = table.columns[colName];\n\t\t\tif (!column) continue;\n\t\t\tif (fk.onDelete === \"setNull\" && !column.nullable) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": onDelete setNull on foreign key column \"${colName}\" which is NOT NULL`);\n\t\t\tif (fk.onUpdate === \"setNull\" && !column.nullable) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": onUpdate setNull on foreign key column \"${colName}\" which is NOT NULL`);\n\t\t\tif (fk.onDelete === \"setDefault\" && !column.nullable && column.default === void 0) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": onDelete setDefault on foreign key column \"${colName}\" which is NOT NULL and has no DEFAULT`);\n\t\t\tif (fk.onUpdate === \"setDefault\" && !column.nullable && column.default === void 0) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": onUpdate setDefault on foreign key column \"${colName}\" which is NOT NULL and has no DEFAULT`);\n\t\t}\n\t\trejectDuplicateWireNamedCheckContent(table.checks ?? [], tableCoordinate, errors);\n\t}\n\treturn errors;\n}\n/**\n* SQL storage logical-consistency checks: every model.storage.table\n* resolves to a real table and every model.storage.fields[*].column\n* resolves to a real column. Throws `ContractValidationError` on the first\n* mismatch.\n*/\nfunction validateModelStorageReferences(contract) {\n\tfor (const [namespaceId, namespace] of Object.entries(contract.domain.namespaces)) for (const [modelName, model] of Object.entries(namespace.models)) {\n\t\tconst modelStorage = blindCast(model.storage);\n\t\tconst qualifiedName = `${namespaceId}:${modelName}`;\n\t\tconst storageNamespaceId = modelStorage.namespaceId;\n\t\tif (storageNamespaceId !== namespaceId) throw new ContractValidationError(`Model \"${qualifiedName}\" storage.namespaceId \"${storageNamespaceId}\" does not match domain namespace \"${namespaceId}\"`, \"storage\");\n\t\tconst storageTable = modelStorage.table;\n\t\tconst rawTable = contract.storage.namespaces[storageNamespaceId]?.entries.table?.[storageTable];\n\t\tif (rawTable === void 0) throw new ContractValidationError(`Model \"${qualifiedName}\" references non-existent table \"${storageNamespaceId}.${storageTable}\"`, \"storage\");\n\t\tconst table = blindCast(rawTable);\n\t\tconst columnNames = new Set(Object.keys(table.columns));\n\t\tfor (const [fieldName, field] of Object.entries(modelStorage.fields)) if (!columnNames.has(field.column)) throw new ContractValidationError(`Model \"${qualifiedName}\" field \"${fieldName}\" references non-existent column \"${field.column}\" in table \"${storageTable}\"`, \"storage\");\n\t}\n}\n/**\n* Cross-table consistency checks for SQL storage: primary key, unique,\n* index, and foreign key column references resolve to real columns;\n* NOT NULL columns don't carry a literal `null` default; FK column\n* counts match their referenced columns. Throws on the first mismatch.\n*/\nfunction validateSqlStorageConsistency(contract) {\n\tfor (const { namespaceId, tableName, table: rawTable } of eachStorageTable(contract.storage)) {\n\t\tconst table = blindCast(rawTable);\n\t\tconst columnNames = new Set(Object.keys(table.columns));\n\t\tif (table.primaryKey) {\n\t\t\tfor (const colName of table.primaryKey.columns) if (!columnNames.has(colName)) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" primaryKey references non-existent column \"${colName}\"`, \"storage\");\n\t\t}\n\t\tfor (const unique of table.uniques) for (const colName of unique.columns) if (!columnNames.has(colName)) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" unique constraint references non-existent column \"${colName}\"`, \"storage\");\n\t\tfor (const index of table.indexes) for (const colName of index.columns ?? []) if (!columnNames.has(colName)) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" index references non-existent column \"${colName}\"`, \"storage\");\n\t\tfor (const [colName, column] of Object.entries(table.columns)) if (!column.nullable && column.default?.kind === \"literal\" && column.default.value === null) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" column \"${colName}\" is NOT NULL but has a literal null default`, \"storage\");\n\t\tfor (const fk of table.foreignKeys) {\n\t\t\tif (fk.source.namespaceId !== namespaceId || fk.source.tableName !== tableName) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" contains foreignKey with mismatched source coordinates (${fk.source.namespaceId}.${fk.source.tableName})`, \"storage\");\n\t\t\tfor (const colName of fk.source.columns) if (!columnNames.has(colName)) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" foreignKey references non-existent column \"${colName}\"`, \"storage\");\n\t\t\tif (fk.target.spaceId === void 0) {\n\t\t\t\tconst referencedRaw = contract.storage.namespaces[fk.target.namespaceId]?.entries.table?.[fk.target.tableName];\n\t\t\t\tif (referencedRaw === void 0) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" foreignKey references non-existent table \"${fk.target.namespaceId}.${fk.target.tableName}\"`, \"storage\");\n\t\t\t\tconst referencedTable = blindCast(referencedRaw);\n\t\t\t\tconst referencedColumnNames = new Set(Object.keys(referencedTable.columns));\n\t\t\t\tfor (const colName of fk.target.columns) if (!referencedColumnNames.has(colName)) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" foreignKey references non-existent column \"${colName}\" in table \"${fk.target.tableName}\"`, \"storage\");\n\t\t\t}\n\t\t\tif (fk.source.columns.length !== fk.target.columns.length) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" foreignKey column count (${fk.source.columns.length}) does not match referenced column count (${fk.target.columns.length})`, \"storage\");\n\t\t}\n\t}\n}\n/**\n* Full SQL contract validation: structural (arktype) +\n* framework-shared domain + SQL storage logical-consistency + SQL\n* storage semantic + model ↔ storage reference checks. Throws\n* `ContractValidationError` on the first failure. Returns the\n* validated flat-data shape; IR class hydration happens in the SPI\n* base on top of this helper.\n*/\nfunction validateSqlContractFully(value, options) {\n\tconst validated = validateSqlContractStructure(typeof value === \"object\" && value !== null ? (() => {\n\t\tconst { schemaVersion: _, _generated: _g, ...rest } = blindCast(value);\n\t\treturn rest;\n\t})() : value, options?.contractSchema ?? SqlContractSchema);\n\tvalidateContractDomain({\n\t\troots: validated.roots,\n\t\tdomain: validated.domain\n\t});\n\tvalidateSqlStorageConsistency(validated);\n\tconst semanticErrors = validateStorageSemantics(validated.storage);\n\tif (semanticErrors.length > 0) throw new ContractValidationError(`Contract semantic validation failed: ${semanticErrors.join(\"; \")}`, \"storage\");\n\tvalidateModelStorageReferences(validated);\n\tvalidateRelationThroughConsistency(validated);\n\tvalidateToOneRelationNullabilityAgainstStorage(validated);\n\treturn validated;\n}\n/**\n* A same-space to-one relation that states `nullable` must agree with its local FK columns:\n* nullable exactly when one of them is nullable (a column that cannot be resolved counts as\n* nullable). A relation without the flag is left to hydration, which derives it the same way.\n*/\nfunction validateToOneRelationNullabilityAgainstStorage(contract) {\n\tfor (const [namespaceId, namespace] of Object.entries(contract.domain.namespaces)) for (const [modelName, model] of Object.entries(namespace.models)) {\n\t\tconst storage = blindCast(model.storage);\n\t\tfor (const [relationName, relation] of Object.entries(model.relations)) {\n\t\t\tif (!(\"on\" in relation && (relation.cardinality === \"1:1\" || relation.cardinality === \"N:1\") && relation.to.space === void 0) || relation.nullable === void 0) continue;\n\t\t\tconst location = `Relation \"${relationName}\" on model \"${namespaceId}:${modelName}\"`;\n\t\t\tconst { ownsForeignKey, columns } = resolveSqlToOneRelationStorage(contract, storage, relation);\n\t\t\tif (!ownsForeignKey) {\n\t\t\t\tif (relation.nullable) continue;\n\t\t\t\tthrow new ContractValidationError(`${location} is required but does not own the foreign key, so nothing in storage guarantees the related row exists`, \"storage\");\n\t\t\t}\n\t\t\tconst anyNullable = columns.some((column) => column.nullable);\n\t\t\tif (relation.nullable === anyNullable) continue;\n\t\t\tconst columnList = columns.filter((column) => column.nullable !== relation.nullable).map((column) => `\"${column.name}\"`).join(\", \");\n\t\t\tthrow new ContractValidationError(relation.nullable ? `${location} is nullable but every local FK column is NOT NULL (columns ${columnList})` : `${location} is required but a local FK column is nullable (columns ${columnList})`, \"storage\");\n\t\t}\n\t}\n}\n/** Storage column lookup for through-consistency validation. */\nfunction lookupStorageColumn(contract, namespaceId, tableName, columnName) {\n\tconst rawTable = contract.storage.namespaces[namespaceId]?.entries.table?.[tableName];\n\tif (rawTable === void 0) return;\n\treturn blindCast(rawTable).columns[columnName];\n}\n/**\n* Two storage columns share a type when their `dataType` and `typeParams` match. `codecId` and\n* `nullable` are not compared: they do not change the database type that governs a join.\n*/\nfunction sameStorageType(a, b) {\n\treturn a.dataType === b.dataType && canonicalizeJson(a.typeParams ?? {}) === canonicalizeJson(b.typeParams ?? {});\n}\nfunction describeColumnType(column) {\n\treturn column.typeParams === void 0 ? column.dataType : `${column.dataType} ${canonicalizeJson(column.typeParams)}`;\n}\n/**\n* Validates one side of an N:M join: the junction columns and the model\n* columns they pair against positionally must be equal in number, exist in\n* their tables, and share the same storage type (`dataType` + `typeParams`).\n* The junction's storage foreign keys already guarantee this for user-declared\n* FK constraints, but `through` is a logical descriptor never tied to them by\n* the rest of validation — and the TS builder accepts explicit join columns\n* without requiring a junction FK at all — so this checks the columns directly\n* against storage, one path regardless of how the junction was authored.\n*\n* Joined columns must be the *same* storage type, not merely compatible:\n* relying on implicit conversion (e.g. `text`↔`character`) is unsafe on writes\n* — `character(n)` space-padding makes such coercions non-associative — and no\n* ADR sanctions heterogeneous junction columns. Equality is the conservative\n* default; it can be relaxed deliberately if a real use case ever appears.\n*/\nfunction validateThroughJoinSide(input) {\n\tconst fail = (detail) => new ContractValidationError(`Many-to-many relation \"${input.qualifiedName}\" ${detail}`, \"storage\");\n\tif (input.junctionColumns.length !== input.modelColumns.length) throw fail(`pairs ${input.junctionColumnsLabel} (${input.junctionColumns.length}) with ${input.modelColumnsLabel} (${input.modelColumns.length}) of differing length; they join positionally and must match.`);\n\tfor (const [index, junctionColumnName] of input.junctionColumns.entries()) {\n\t\tconst modelColumnRef = input.modelColumns[index];\n\t\tif (modelColumnRef === void 0) continue;\n\t\tconst junctionColumn = lookupStorageColumn(input.contract, input.junctionNamespaceId, input.junctionTable, junctionColumnName);\n\t\tif (junctionColumn === void 0) throw fail(`${input.junctionColumnsLabel} references column \"${junctionColumnName}\" absent from junction table \"${input.junctionNamespaceId}.${input.junctionTable}\".`);\n\t\tconst model = input.model;\n\t\tif (model === void 0) continue;\n\t\tlet modelColumnName = modelColumnRef;\n\t\tif (model.fieldToColumn !== void 0) {\n\t\t\tconst mapped = model.fieldToColumn[modelColumnRef];\n\t\t\tif (mapped === void 0) throw fail(`${input.modelColumnsLabel} references field \"${modelColumnRef}\" absent from model on table \"${model.namespaceId}.${model.table}\".`);\n\t\t\tmodelColumnName = mapped.column;\n\t\t}\n\t\tconst modelColumn = lookupStorageColumn(input.contract, model.namespaceId, model.table, modelColumnName);\n\t\tif (modelColumn === void 0) throw fail(`${input.modelColumnsLabel} references column \"${modelColumnName}\" absent from table \"${model.namespaceId}.${model.table}\".`);\n\t\tif (!sameStorageType(junctionColumn, modelColumn)) throw fail(`joins \"${input.junctionTable}.${junctionColumnName}\" (${describeColumnType(junctionColumn)}) with \"${model.table}.${modelColumnName}\" (${describeColumnType(modelColumn)}) of differing storage type; junction columns must match the type of the column they reference.`);\n\t}\n}\n/**\n* Validates that every N:M relation's `through` descriptor is consistent with\n* the storage columns it joins: both join sides match in column count,\n* reference columns that exist in their tables, and pair columns of the same\n* storage type. Without this, a `through` that disagrees with storage surfaces\n* as a silently wrong JOIN at query time rather than a validation error here.\n*/\nfunction validateRelationThroughConsistency(contract) {\n\tfor (const [namespaceId, namespace] of Object.entries(contract.domain.namespaces)) for (const [modelName, model] of Object.entries(namespace.models)) for (const [relationName, relation] of Object.entries(model.relations)) {\n\t\tif (relation.cardinality !== \"N:M\") continue;\n\t\tconst qualifiedName = `${namespaceId}.${modelName}.${relationName}`;\n\t\tconst { on, through } = relation;\n\t\tconst modelStorage = blindCast(model.storage);\n\t\tvalidateThroughJoinSide({\n\t\t\tcontract,\n\t\t\tqualifiedName,\n\t\t\tmodelColumns: on.localFields,\n\t\t\tmodelColumnsLabel: \"on.localFields\",\n\t\t\tmodel: {\n\t\t\t\tnamespaceId,\n\t\t\t\ttable: modelStorage.table,\n\t\t\t\tfieldToColumn: modelStorage.fields\n\t\t\t},\n\t\t\tjunctionColumns: through.parentColumns,\n\t\t\tjunctionColumnsLabel: \"through.parentColumns\",\n\t\t\tjunctionNamespaceId: through.namespaceId,\n\t\t\tjunctionTable: through.table\n\t\t});\n\t\tconst targetModel = relation.to.space === void 0 ? contract.domain.namespaces[relation.to.namespace]?.models[relation.to.model] : void 0;\n\t\tconst targetModelSide = targetModel === void 0 ? void 0 : {\n\t\t\tnamespaceId: relation.to.namespace,\n\t\t\ttable: blindCast(targetModel.storage).table\n\t\t};\n\t\tvalidateThroughJoinSide({\n\t\t\tcontract,\n\t\t\tqualifiedName,\n\t\t\tmodelColumns: through.targetColumns,\n\t\t\tmodelColumnsLabel: \"through.targetColumns\",\n\t\t\t...ifDefined(\"model\", targetModelSide),\n\t\t\tjunctionColumns: through.childColumns,\n\t\t\tjunctionColumnsLabel: \"through.childColumns\",\n\t\t\tjunctionNamespaceId: through.namespaceId,\n\t\t\tjunctionTable: through.table\n\t\t});\n\t}\n}\n//#endregion\nexport { CheckConstraintSchema, ColumnDefaultFunctionSchema, ColumnDefaultLiteralSchema, ColumnDefaultSchema, ContractEnumSchema, ForeignKeyReferenceSchema, ForeignKeySchema, ForeignKeySourceSchema, IndexSchema, ReferentialActionSchema, StorageTableSchema, StorageValueSetSchema, checkSqlDefaultText, createNamespaceEntrySchema, createSqlContractSchema, createSqlStorageSchema, reservedSqlDefaultText, resolveSqlToOneRelationStorage, validateModel, validateModelStorageReferences, validateSqlContractFully, validateSqlStorageConsistency, validateStorage, validateStorageSemantics, valueObjectStorageTypeMissingMessage };\n\n//# sourceMappingURL=validators.mjs.map"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma/orm-family-sql",
|
|
3
|
-
"version": "8.0.0-rc.
|
|
3
|
+
"version": "8.0.0-rc.17-dev.1",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"dist"
|
|
10
10
|
],
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@prisma/orm-framework": "8.0.0-rc.
|
|
13
|
-
"@prisma/orm-toolchain": "8.0.0-rc.
|
|
12
|
+
"@prisma/orm-framework": "8.0.0-rc.17-dev.1",
|
|
13
|
+
"@prisma/orm-toolchain": "8.0.0-rc.17-dev.1",
|
|
14
14
|
"@standard-schema/spec": "^1.1.0",
|
|
15
15
|
"arktype": "^2.2.2",
|
|
16
16
|
"pathe": "^2.0.3",
|
|
@@ -19,21 +19,21 @@
|
|
|
19
19
|
"ts-toolbelt": "^9.6.0"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@internal/family-sql": "8.0.0-rc.
|
|
23
|
-
"@internal/sql-builder": "8.0.0-rc.
|
|
24
|
-
"@internal/sql-contract": "8.0.0-rc.
|
|
25
|
-
"@internal/sql-contract-emitter": "8.0.0-rc.
|
|
26
|
-
"@internal/sql-contract-prisma7": "8.0.0-rc.
|
|
27
|
-
"@internal/sql-contract-psl": "8.0.0-rc.
|
|
28
|
-
"@internal/sql-contract-ts": "8.0.0-rc.
|
|
29
|
-
"@internal/sql-errors": "8.0.0-rc.
|
|
30
|
-
"@internal/sql-operations": "8.0.0-rc.
|
|
31
|
-
"@internal/sql-orm-client": "8.0.0-rc.
|
|
32
|
-
"@internal/sql-relational-core": "8.0.0-rc.
|
|
33
|
-
"@internal/sql-runtime": "8.0.0-rc.
|
|
34
|
-
"@internal/sql-schema-ir": "8.0.0-rc.
|
|
35
|
-
"@repo/tsconfig": "8.0.0-rc.
|
|
36
|
-
"@repo/tsdown": "8.0.0-rc.
|
|
22
|
+
"@internal/family-sql": "8.0.0-rc.17-dev.1",
|
|
23
|
+
"@internal/sql-builder": "8.0.0-rc.17-dev.1",
|
|
24
|
+
"@internal/sql-contract": "8.0.0-rc.17-dev.1",
|
|
25
|
+
"@internal/sql-contract-emitter": "8.0.0-rc.17-dev.1",
|
|
26
|
+
"@internal/sql-contract-prisma7": "8.0.0-rc.17-dev.1",
|
|
27
|
+
"@internal/sql-contract-psl": "8.0.0-rc.17-dev.1",
|
|
28
|
+
"@internal/sql-contract-ts": "8.0.0-rc.17-dev.1",
|
|
29
|
+
"@internal/sql-errors": "8.0.0-rc.17-dev.1",
|
|
30
|
+
"@internal/sql-operations": "8.0.0-rc.17-dev.1",
|
|
31
|
+
"@internal/sql-orm-client": "8.0.0-rc.17-dev.1",
|
|
32
|
+
"@internal/sql-relational-core": "8.0.0-rc.17-dev.1",
|
|
33
|
+
"@internal/sql-runtime": "8.0.0-rc.17-dev.1",
|
|
34
|
+
"@internal/sql-schema-ir": "8.0.0-rc.17-dev.1",
|
|
35
|
+
"@repo/tsconfig": "8.0.0-rc.17-dev.1",
|
|
36
|
+
"@repo/tsdown": "8.0.0-rc.17-dev.1",
|
|
37
37
|
"tsdown": "0.22.14",
|
|
38
38
|
"typescript": "5.9.3"
|
|
39
39
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contract-builder-BaJMQFAc.d.mts","names":[],"sources":["../../../../2-sql/2-authoring/contract-ts/dist/contract-builder.d.mts"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./control-adapter-CkFfBVei-Ba9JNrCN.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entity-kinds-JlqzyFoo-kIaAUFyK.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/entity-kinds-JlqzyFoo.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { c as CheckConstraint, s as Index, t as StorageTable } from \"./storage-table-CyL4CNMi.mjs\";\nimport { n as checkConstraintInputFromSerialized, r as StorageValueSet, t as indexInputFromSerialized } from \"./serialized-index-QAYy0fjm.mjs\";\nimport { DATA_TYPE_ID_PATTERN } from \"@internal/framework-components/codec\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { type } from \"arktype\";\n//#region src/ir/storage-entry-schemas.ts\nconst literalKindSchema = type(\"'literal'\");\nconst functionKindSchema = type(\"'function'\");\nconst ControlPolicySchema = type(\"'managed' | 'tolerated' | 'external' | 'observed'\");\nconst ColumnDefaultLiteralSchema = type.declare().type({\n\tkind: literalKindSchema,\n\tvalue: \"string | number | boolean | null | unknown[] | Record<string, unknown>\"\n});\nconst ColumnDefaultFunctionSchema = type.declare().type({\n\tkind: functionKindSchema,\n\texpression: \"string\"\n});\nconst ColumnDefaultSchema = ColumnDefaultLiteralSchema.or(ColumnDefaultFunctionSchema);\nconst StorageValueSetRefSchema = type({\n\tplane: \"'storage'\",\n\tnamespaceId: \"string\",\n\tentityKind: \"'valueSet'\",\n\tentityName: \"string\",\n\t\"spaceId?\": \"string\"\n});\nconst StorageColumnSchema = type({\n\t\"+\": \"reject\",\n\tdataType: DATA_TYPE_ID_PATTERN,\n\tcodecId: \"string\",\n\tnullable: \"boolean\",\n\t\"many?\": type(\"false\").or({\n\t\t\"+\": \"reject\",\n\t\telementNullable: \"boolean\"\n\t}),\n\t\"typeParams?\": \"Record<string, unknown>\",\n\t\"typeRef?\": \"string\",\n\t\"default?\": ColumnDefaultSchema,\n\t\"control?\": ControlPolicySchema,\n\t\"valueSet?\": StorageValueSetRefSchema,\n\t\"noCheck?\": \"(\\\"membership\\\" | \\\"elementNotNull\\\")[]\"\n}).narrow((col, ctx) => {\n\tif (col.typeParams !== void 0 && col.typeRef !== void 0) return ctx.mustBe(\"a column with either typeParams or typeRef, not both\");\n\tif (col.noCheck !== void 0) {\n\t\tif (col.noCheck.length === 0) return ctx.mustBe(\"a column whose noCheck array is non-empty (omit the key when enforced)\");\n\t\tfor (let i = 1; i < col.noCheck.length; i += 1) {\n\t\t\tconst previous = col.noCheck[i - 1];\n\t\t\tconst current = col.noCheck[i];\n\t\t\tif (previous !== void 0 && current !== void 0 && previous >= current) return ctx.mustBe(\"a column whose noCheck kinds are unique and sorted ascending lexicographically\");\n\t\t}\n\t}\n\treturn true;\n});\n/**\n* Storage value-set entry under `storage.namespaces[id].entries.valueSet[name]`.\n* Carries a `kind: 'valueSet'` discriminator (enumerable, survives JSON) and an\n* ordered `values` array of codec-encoded permitted values.\n*/\nconst StorageValueSetSchema = type({\n\tkind: \"'valueSet'\",\n\tvalues: type(\"string | number | boolean | null | unknown[] | Record<string, unknown>\").array().readonly()\n});\nconst PrimaryKeySchema = type.declare().type({\n\tcolumns: type.string.array().readonly(),\n\t\"name?\": \"string\"\n});\nconst UniqueConstraintSchema = type.declare().type({\n\tcolumns: type.string.array().readonly(),\n\t\"name?\": \"string\"\n});\nconst IndexSchema = type({\n\tname: \"string\",\n\t\"prefix?\": \"string\",\n\t\"columns?\": type.string.array().readonly(),\n\t\"expression?\": \"string\",\n\t\"where?\": \"string\",\n\tunique: \"boolean\",\n\t\"type?\": \"string\",\n\t\"options?\": \"Record<string, unknown>\"\n});\nconst ForeignKeyReferenceSchema = type({\n\t\"+\": \"reject\",\n\tnamespaceId: \"string\",\n\ttableName: \"string\",\n\tcolumns: type.string.array().readonly(),\n\t\"spaceId?\": \"string\"\n});\nconst ForeignKeySourceSchema = type({\n\t\"+\": \"reject\",\n\tnamespaceId: \"string\",\n\ttableName: \"string\",\n\tcolumns: type.string.array().readonly()\n});\nconst ReferentialActionSchema = type.declare().type(\"'noAction' | 'restrict' | 'cascade' | 'setNull' | 'setDefault'\");\nconst ForeignKeySchema = type.declare().type({\n\tsource: ForeignKeySourceSchema,\n\ttarget: ForeignKeyReferenceSchema,\n\t\"name?\": \"string\",\n\t\"onDelete?\": ReferentialActionSchema,\n\t\"onUpdate?\": ReferentialActionSchema\n});\nconst CheckConstraintSchema = type({\n\t\"+\": \"reject\",\n\tname: \"string\",\n\t\"prefix?\": \"string\",\n\texpression: \"string\"\n});\nconst StorageTableSchema = type({\n\t\"+\": \"reject\",\n\tcolumns: type({ \"[string]\": StorageColumnSchema }),\n\t\"primaryKey?\": PrimaryKeySchema,\n\tuniques: UniqueConstraintSchema.array().readonly(),\n\tindexes: IndexSchema.array().readonly(),\n\tforeignKeys: ForeignKeySchema.array().readonly(),\n\t\"control?\": ControlPolicySchema,\n\t\"checks?\": CheckConstraintSchema.array().readonly()\n});\n//#endregion\n//#region src/entity-kinds.ts\nconst tableEntityKind = {\n\tkind: \"table\",\n\tschema: StorageTableSchema,\n\tconstruct: (input) => new StorageTable({\n\t\t...input,\n\t\tindexes: input.indexes.map((i) => i instanceof Index ? i : indexInputFromSerialized(i)),\n\t\t...ifDefined(\"checks\", input.checks?.map((c) => c instanceof CheckConstraint ? c : checkConstraintInputFromSerialized(c)))\n\t})\n};\nconst valueSetEntityKind = {\n\tkind: \"valueSet\",\n\tschema: StorageValueSetSchema,\n\tconstruct: (input) => new StorageValueSet(input)\n};\n/**\n* Assembles the `kind → descriptor` registry for SQL namespaces: the built-in\n* `table` and `valueSet` kinds plus any target `packKinds`. This builds the\n* lookup table — it does not touch contract data. `hydrateNamespaceEntities`\n* later consumes this registry to turn a namespace's raw entries into IR\n* instances, and `createSqlContractSchema` derives validation from the same\n* registry. Throws on a duplicate kind.\n*/\nfunction composeSqlEntityKinds(packKinds = []) {\n\tconst kinds = /* @__PURE__ */ new Map([[\"table\", tableEntityKind], [\"valueSet\", valueSetEntityKind]]);\n\tfor (const descriptor of packKinds) {\n\t\tif (kinds.has(descriptor.kind)) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `composeSqlEntityKinds: duplicate entity kind \"${descriptor.kind}\" — each kind may be registered only once`, { meta: { entityKind: descriptor.kind } });\n\t\tkinds.set(descriptor.kind, descriptor);\n\t}\n\treturn kinds;\n}\n//#endregion\nexport { ColumnDefaultFunctionSchema as a, ForeignKeyReferenceSchema as c, IndexSchema as d, ReferentialActionSchema as f, CheckConstraintSchema as i, ForeignKeySchema as l, StorageValueSetSchema as m, tableEntityKind as n, ColumnDefaultLiteralSchema as o, StorageTableSchema as p, valueSetEntityKind as r, ColumnDefaultSchema as s, composeSqlEntityKinds as t, ForeignKeySourceSchema as u };\n\n//# sourceMappingURL=entity-kinds-JlqzyFoo.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"factories-BsUyFxsk.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/factories.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { a as ForeignKey, i as PrimaryKey, n as UniqueConstraint, r as StorageColumn, s as Index, t as StorageTable } from \"./storage-table-CyL4CNMi.mjs\";\nimport { parseNaming } from \"@internal/sql-schema-ir/naming\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { asNamespaceId } from \"@internal/contract/types\";\n//#region src/factories.ts\nfunction col(dataType, codecId, nullable = false, opts) {\n\tif (opts?.elementNullable !== void 0 && opts.many !== true) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", \"StorageColumn elementNullable must be nested under many.\", { meta: { reason: \"elementNullable-without-many\" } });\n\treturn new StorageColumn({\n\t\tdataType,\n\t\tcodecId,\n\t\tnullable,\n\t\tmany: opts?.many === true ? { elementNullable: opts.elementNullable ?? false } : false\n\t});\n}\nfunction pk(...columns) {\n\treturn new PrimaryKey({ columns });\n}\nfunction unique(...columns) {\n\treturn new UniqueConstraint({ columns });\n}\nfunction index(name, columns, opts) {\n\treturn new Index({\n\t\tnaming: parseNaming(name, opts?.prefix),\n\t\tcolumns,\n\t\twhere: void 0,\n\t\tunique: opts?.unique ?? false,\n\t\ttype: opts?.type,\n\t\toptions: opts?.options\n\t});\n}\nfunction fk(srcTableName, srcColumns, targetTableName, targetColumns, opts) {\n\tconst namespaceId = asNamespaceId(opts?.namespaceId ?? UNBOUND_NAMESPACE_ID);\n\treturn new ForeignKey({\n\t\tsource: {\n\t\t\tnamespaceId,\n\t\t\ttableName: srcTableName,\n\t\t\tcolumns: srcColumns\n\t\t},\n\t\ttarget: {\n\t\t\tnamespaceId,\n\t\t\ttableName: targetTableName,\n\t\t\tcolumns: targetColumns\n\t\t},\n\t\t...opts?.name !== void 0 && { name: opts.name },\n\t\t...opts?.onDelete !== void 0 && { onDelete: opts.onDelete },\n\t\t...opts?.onUpdate !== void 0 && { onUpdate: opts.onUpdate }\n\t});\n}\nfunction table(columns, opts) {\n\treturn new StorageTable({\n\t\tcolumns,\n\t\t...opts?.pk !== void 0 && { primaryKey: opts.pk },\n\t\tuniques: opts?.uniques ?? [],\n\t\tindexes: opts?.indexes ?? [],\n\t\tforeignKeys: opts?.fks ?? []\n\t});\n}\nfunction model(tableName, fields, relations = {}, namespaceId = UNBOUND_NAMESPACE_ID) {\n\tconst storage = {\n\t\ttable: tableName,\n\t\tnamespaceId,\n\t\tfields\n\t};\n\tconst domainFields = {};\n\tfor (const [name, field] of Object.entries(fields)) domainFields[name] = {\n\t\tnullable: field.nullable ?? false,\n\t\ttype: {\n\t\t\tkind: \"scalar\",\n\t\t\tcodecId: field.codecId ?? \"core/unknown@1\"\n\t\t},\n\t\tmany: false\n\t};\n\treturn {\n\t\tstorage,\n\t\tfields: domainFields,\n\t\trelations\n\t};\n}\n//#endregion\nexport { col, fk, index, model, pk, table, unique };\n\n//# sourceMappingURL=factories.mjs.map"],"mappings":";;;;;;AAMA,SAAS,IAAI,UAAU,SAAS,WAAW,OAAO,MAAM;CACvD,IAAI,MAAM,oBAAoB,KAAK,KAAK,KAAK,SAAS,MAAM,MAAM,cAAc,6BAA6B,4DAA4D,EAAE,MAAM,EAAE,QAAQ,+BAA+B,EAAE,CAAC;CAC7N,OAAO,IAAI,cAAc;EACxB;EACA;EACA;EACA,MAAM,MAAM,SAAS,OAAO,EAAE,iBAAiB,KAAK,mBAAmB,MAAM,IAAI;CAClF,CAAC;AACF;AACA,SAAS,GAAG,GAAG,SAAS;CACvB,OAAO,IAAI,WAAW,EAAE,QAAQ,CAAC;AAClC;AACA,SAAS,OAAO,GAAG,SAAS;CAC3B,OAAO,IAAI,iBAAiB,EAAE,QAAQ,CAAC;AACxC;AACA,SAAS,MAAM,MAAM,SAAS,MAAM;CACnC,OAAO,IAAI,MAAM;EAChB,QAAQ,YAAY,MAAM,MAAM,MAAM;EACtC;EACA,OAAO,KAAK;EACZ,QAAQ,MAAM,UAAU;EACxB,MAAM,MAAM;EACZ,SAAS,MAAM;CAChB,CAAC;AACF;AACA,SAAS,GAAG,cAAc,YAAY,iBAAiB,eAAe,MAAM;CAC3E,MAAM,cAAc,cAAc,MAAM,eAAe,oBAAoB;CAC3E,OAAO,IAAI,WAAW;EACrB,QAAQ;GACP;GACA,WAAW;GACX,SAAS;EACV;EACA,QAAQ;GACP;GACA,WAAW;GACX,SAAS;EACV;EACA,GAAG,MAAM,SAAS,KAAK,KAAK,EAAE,MAAM,KAAK,KAAK;EAC9C,GAAG,MAAM,aAAa,KAAK,KAAK,EAAE,UAAU,KAAK,SAAS;EAC1D,GAAG,MAAM,aAAa,KAAK,KAAK,EAAE,UAAU,KAAK,SAAS;CAC3D,CAAC;AACF;AACA,SAAS,MAAM,SAAS,MAAM;CAC7B,OAAO,IAAI,aAAa;EACvB;EACA,GAAG,MAAM,OAAO,KAAK,KAAK,EAAE,YAAY,KAAK,GAAG;EAChD,SAAS,MAAM,WAAW,CAAC;EAC3B,SAAS,MAAM,WAAW,CAAC;EAC3B,aAAa,MAAM,OAAO,CAAC;CAC5B,CAAC;AACF;AACA,SAAS,MAAM,WAAW,QAAQ,YAAY,CAAC,GAAG,cAAc,sBAAsB;CACrF,MAAM,UAAU;EACf,OAAO;EACP;EACA;CACD;CACA,MAAM,eAAe,CAAC;CACtB,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ,MAAM,GAAG,aAAa,QAAQ;EACxE,UAAU,MAAM,YAAY;EAC5B,MAAM;GACL,MAAM;GACN,SAAS,MAAM,WAAW;EAC3B;EACA,MAAM;CACP;CACA,OAAO;EACN;EACA,QAAQ;EACR;CACD;AACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"foreign-key-C-iTPuRT-C9ip8zFx.d.mts","names":[],"sources":["../../../../2-sql/1-core/contract/dist/foreign-key-C-iTPuRT.d.mts"],"mappings":";;;;;;;;;;;;;;;UAcU;WACC;WACA;WACA;WACA;;;;;;;;;;;;;;;;;;cAkBG,4BAA4B;WAC/B,aAAa;WACb;WACA;WACA;EACT,YAAY,OAAO;SACZ,KAAK,OAAO,sBAAsB,2BAA2B;;;;KAIjE;UACK;WACC,QAAQ,sBAAsB;WAC9B,QAAQ,sBAAsB;WAC9B;WACA,WAAW;WACX,WAAW;;;;;;;;;;;;;;;;;;;;;;cAsBR,mBAAmB;WACtB,QAAQ;WACR,QAAQ;WACR;WACA,WAAW;WACX,WAAW;EACpB,YAAY,OAAO;SACZ,KAAK,OAAO,aAAa,kBAAkB"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { g as truncateToWireNamePrefixBytes, o as defaultIndexName } from "./naming-DkG_OegU-DpENNdZX.mjs";
|
|
2
|
-
import { r as lowerAuthoredIndex } from "./index-naming-Cj1Anq-T-NX841eiU.mjs";
|
|
3
|
-
//#region ../../../2-sql/1-core/contract/dist/foreign-key-materialization.mjs
|
|
4
|
-
/**
|
|
5
|
-
* The column-list keys (`"colA,colB"`, order preserved) a table's own
|
|
6
|
-
* indexes, unique constraints, and primary key already back. A foreign key
|
|
7
|
-
* whose source columns join to one of these keys needs no separately
|
|
8
|
-
* derived backing index.
|
|
9
|
-
*
|
|
10
|
-
* Shared by {@link isBackedByColumnKeys}'s callers: `materializeForeignKeysAndIndexes`
|
|
11
|
-
* (deriving the discrete backing-index entities persisted at `contract emit`)
|
|
12
|
-
* and the postgres PSL inferrer (deciding whether an introspected relation
|
|
13
|
-
* needs an explicit `index: false`).
|
|
14
|
-
*/
|
|
15
|
-
function backingIndexColumnKeys(table) {
|
|
16
|
-
return [
|
|
17
|
-
...table.indexes.flatMap((index) => index.columns !== void 0 ? [index.columns.join(",")] : []),
|
|
18
|
-
...table.uniques.map((unique) => unique.columns.join(",")),
|
|
19
|
-
...table.primaryKey ? [table.primaryKey.columns.join(",")] : []
|
|
20
|
-
];
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Whether `columns`, in order, matches one of `backingKeys` (see
|
|
24
|
-
* {@link backingIndexColumnKeys}). Order-sensitive: `(a, b)` does not
|
|
25
|
-
* satisfy a backing index declared as `(b, a)`.
|
|
26
|
-
*/
|
|
27
|
-
function isBackedByColumnKeys(columns, backingKeys) {
|
|
28
|
-
return backingKeys.includes(columns.join(","));
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Lowers a table's authored foreign keys into the discrete entities
|
|
32
|
-
* `contract.json` persists: a `constraint: false` FK contributes no
|
|
33
|
-
* `foreignKeys[]` entry, and an `index: true` FK whose columns aren't already
|
|
34
|
-
* backed by a declared index/unique/primary-key contributes a wire-named
|
|
35
|
-
* `indexes[]` entry (byte-budgeted default prefix + content-hash wire name).
|
|
36
|
-
* Declared indexes always survive unchanged; a second FK sharing an already
|
|
37
|
-
* synthesized backing index does not mint a duplicate.
|
|
38
|
-
*/
|
|
39
|
-
function materializeForeignKeysAndIndexes(tableName, foreignKeys, declaredIndexes, uniques, primaryKey) {
|
|
40
|
-
const satisfiedIndexColumns = new Set(backingIndexColumnKeys({
|
|
41
|
-
indexes: declaredIndexes,
|
|
42
|
-
uniques,
|
|
43
|
-
primaryKey
|
|
44
|
-
}));
|
|
45
|
-
const synthesizedIndexes = [];
|
|
46
|
-
const materializedForeignKeys = [];
|
|
47
|
-
for (const { constraint, index, ...reference } of foreignKeys) {
|
|
48
|
-
if (constraint !== false) materializedForeignKeys.push(reference);
|
|
49
|
-
if (index !== false) {
|
|
50
|
-
const key = reference.source.columns.join(",");
|
|
51
|
-
if (!satisfiedIndexColumns.has(key)) {
|
|
52
|
-
synthesizedIndexes.push(lowerAuthoredIndex(tableName, {
|
|
53
|
-
columns: reference.source.columns,
|
|
54
|
-
where: void 0,
|
|
55
|
-
unique: void 0,
|
|
56
|
-
map: void 0,
|
|
57
|
-
name: truncateToWireNamePrefixBytes(defaultIndexName(tableName, reference.source.columns)),
|
|
58
|
-
type: void 0,
|
|
59
|
-
options: void 0
|
|
60
|
-
}));
|
|
61
|
-
satisfiedIndexColumns.add(key);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return {
|
|
66
|
-
foreignKeys: materializedForeignKeys,
|
|
67
|
-
indexes: [...declaredIndexes, ...synthesizedIndexes]
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
//#endregion
|
|
71
|
-
export { isBackedByColumnKeys as n, materializeForeignKeysAndIndexes as r, backingIndexColumnKeys as t };
|
|
72
|
-
|
|
73
|
-
//# sourceMappingURL=foreign-key-materialization-IGfTKmHV.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"foreign-key-materialization-IGfTKmHV.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/foreign-key-materialization.mjs"],"sourcesContent":["import { r as lowerAuthoredIndex } from \"./index-naming-Cj1Anq-T.mjs\";\nimport { defaultIndexName, truncateToWireNamePrefixBytes } from \"@internal/sql-schema-ir/naming\";\n//#region src/foreign-key-materialization.ts\n/**\n* The column-list keys (`\"colA,colB\"`, order preserved) a table's own\n* indexes, unique constraints, and primary key already back. A foreign key\n* whose source columns join to one of these keys needs no separately\n* derived backing index.\n*\n* Shared by {@link isBackedByColumnKeys}'s callers: `materializeForeignKeysAndIndexes`\n* (deriving the discrete backing-index entities persisted at `contract emit`)\n* and the postgres PSL inferrer (deciding whether an introspected relation\n* needs an explicit `index: false`).\n*/\nfunction backingIndexColumnKeys(table) {\n\treturn [\n\t\t...table.indexes.flatMap((index) => index.columns !== void 0 ? [index.columns.join(\",\")] : []),\n\t\t...table.uniques.map((unique) => unique.columns.join(\",\")),\n\t\t...table.primaryKey ? [table.primaryKey.columns.join(\",\")] : []\n\t];\n}\n/**\n* Whether `columns`, in order, matches one of `backingKeys` (see\n* {@link backingIndexColumnKeys}). Order-sensitive: `(a, b)` does not\n* satisfy a backing index declared as `(b, a)`.\n*/\nfunction isBackedByColumnKeys(columns, backingKeys) {\n\treturn backingKeys.includes(columns.join(\",\"));\n}\n/**\n* Lowers a table's authored foreign keys into the discrete entities\n* `contract.json` persists: a `constraint: false` FK contributes no\n* `foreignKeys[]` entry, and an `index: true` FK whose columns aren't already\n* backed by a declared index/unique/primary-key contributes a wire-named\n* `indexes[]` entry (byte-budgeted default prefix + content-hash wire name).\n* Declared indexes always survive unchanged; a second FK sharing an already\n* synthesized backing index does not mint a duplicate.\n*/\nfunction materializeForeignKeysAndIndexes(tableName, foreignKeys, declaredIndexes, uniques, primaryKey) {\n\tconst satisfiedIndexColumns = new Set(backingIndexColumnKeys({\n\t\tindexes: declaredIndexes,\n\t\tuniques,\n\t\tprimaryKey\n\t}));\n\tconst synthesizedIndexes = [];\n\tconst materializedForeignKeys = [];\n\tfor (const { constraint, index, ...reference } of foreignKeys) {\n\t\tif (constraint !== false) materializedForeignKeys.push(reference);\n\t\tif (index !== false) {\n\t\t\tconst key = reference.source.columns.join(\",\");\n\t\t\tif (!satisfiedIndexColumns.has(key)) {\n\t\t\t\tsynthesizedIndexes.push(lowerAuthoredIndex(tableName, {\n\t\t\t\t\tcolumns: reference.source.columns,\n\t\t\t\t\twhere: void 0,\n\t\t\t\t\tunique: void 0,\n\t\t\t\t\tmap: void 0,\n\t\t\t\t\tname: truncateToWireNamePrefixBytes(defaultIndexName(tableName, reference.source.columns)),\n\t\t\t\t\ttype: void 0,\n\t\t\t\t\toptions: void 0\n\t\t\t\t}));\n\t\t\t\tsatisfiedIndexColumns.add(key);\n\t\t\t}\n\t\t}\n\t}\n\treturn {\n\t\tforeignKeys: materializedForeignKeys,\n\t\tindexes: [...declaredIndexes, ...synthesizedIndexes]\n\t};\n}\n//#endregion\nexport { backingIndexColumnKeys, isBackedByColumnKeys, materializeForeignKeysAndIndexes };\n\n//# sourceMappingURL=foreign-key-materialization.mjs.map"],"mappings":";;;;;;;;;;;;;;AAcA,SAAS,uBAAuB,OAAO;CACtC,OAAO;EACN,GAAG,MAAM,QAAQ,SAAS,UAAU,MAAM,YAAY,KAAK,IAAI,CAAC,MAAM,QAAQ,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;EAC7F,GAAG,MAAM,QAAQ,KAAK,WAAW,OAAO,QAAQ,KAAK,GAAG,CAAC;EACzD,GAAG,MAAM,aAAa,CAAC,MAAM,WAAW,QAAQ,KAAK,GAAG,CAAC,IAAI,CAAC;CAC/D;AACD;;;;;;AAMA,SAAS,qBAAqB,SAAS,aAAa;CACnD,OAAO,YAAY,SAAS,QAAQ,KAAK,GAAG,CAAC;AAC9C;;;;;;;;;;AAUA,SAAS,iCAAiC,WAAW,aAAa,iBAAiB,SAAS,YAAY;CACvG,MAAM,wBAAwB,IAAI,IAAI,uBAAuB;EAC5D,SAAS;EACT;EACA;CACD,CAAC,CAAC;CACF,MAAM,qBAAqB,CAAC;CAC5B,MAAM,0BAA0B,CAAC;CACjC,KAAK,MAAM,EAAE,YAAY,OAAO,GAAG,eAAe,aAAa;EAC9D,IAAI,eAAe,OAAO,wBAAwB,KAAK,SAAS;EAChE,IAAI,UAAU,OAAO;GACpB,MAAM,MAAM,UAAU,OAAO,QAAQ,KAAK,GAAG;GAC7C,IAAI,CAAC,sBAAsB,IAAI,GAAG,GAAG;IACpC,mBAAmB,KAAK,mBAAmB,WAAW;KACrD,SAAS,UAAU,OAAO;KAC1B,OAAO,KAAK;KACZ,QAAQ,KAAK;KACb,KAAK,KAAK;KACV,MAAM,8BAA8B,iBAAiB,WAAW,UAAU,OAAO,OAAO,CAAC;KACzF,MAAM,KAAK;KACX,SAAS,KAAK;IACf,CAAC,CAAC;IACF,sBAAsB,IAAI,GAAG;GAC9B;EACD;CACD;CACA,OAAO;EACN,aAAa;EACb,SAAS,CAAC,GAAG,iBAAiB,GAAG,kBAAkB;CACpD;AACD"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { a as ReferentialAction, i as ForeignKeyReferenceInput, n as ForeignKeyInput } from "./foreign-key-C-iTPuRT-C9ip8zFx.mjs";
|
|
2
|
-
import { i as UniqueConstraintInput, n as PrimaryKeyInput } from "./unique-constraint-M5TlQnJQ-BiIHJ85k.mjs";
|
|
3
|
-
import { r as IndexInput } from "./sql-index-ByAAE7K8-DPkZtr7t.mjs";
|
|
4
|
-
//#region ../../../2-sql/1-core/contract/dist/foreign-key-materialization.d.mts
|
|
5
|
-
//#region src/foreign-key-materialization.d.ts
|
|
6
|
-
type BackingIndexCandidates = {
|
|
7
|
-
readonly indexes: readonly {
|
|
8
|
-
readonly columns?: readonly string[];
|
|
9
|
-
}[];
|
|
10
|
-
readonly uniques: readonly {
|
|
11
|
-
readonly columns: readonly string[];
|
|
12
|
-
}[];
|
|
13
|
-
readonly primaryKey?: {
|
|
14
|
-
readonly columns: readonly string[];
|
|
15
|
-
} | undefined;
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* The column-list keys (`"colA,colB"`, order preserved) a table's own
|
|
19
|
-
* indexes, unique constraints, and primary key already back. A foreign key
|
|
20
|
-
* whose source columns join to one of these keys needs no separately
|
|
21
|
-
* derived backing index.
|
|
22
|
-
*
|
|
23
|
-
* Shared by {@link isBackedByColumnKeys}'s callers: `materializeForeignKeysAndIndexes`
|
|
24
|
-
* (deriving the discrete backing-index entities persisted at `contract emit`)
|
|
25
|
-
* and the postgres PSL inferrer (deciding whether an introspected relation
|
|
26
|
-
* needs an explicit `index: false`).
|
|
27
|
-
*/
|
|
28
|
-
declare function backingIndexColumnKeys(table: BackingIndexCandidates): readonly string[];
|
|
29
|
-
/**
|
|
30
|
-
* Whether `columns`, in order, matches one of `backingKeys` (see
|
|
31
|
-
* {@link backingIndexColumnKeys}). Order-sensitive: `(a, b)` does not
|
|
32
|
-
* satisfy a backing index declared as `(b, a)`.
|
|
33
|
-
*/
|
|
34
|
-
declare function isBackedByColumnKeys(columns: readonly string[], backingKeys: readonly string[]): boolean;
|
|
35
|
-
/**
|
|
36
|
-
* A foreign key as authored, before FK1 materialization: the referential
|
|
37
|
-
* coordinates plus the `constraint`/`index` intent booleans that drive
|
|
38
|
-
* whether — and how — it survives into the persisted contract.
|
|
39
|
-
*/
|
|
40
|
-
interface ForeignKeyAuthoringInput {
|
|
41
|
-
readonly source: ForeignKeyReferenceInput;
|
|
42
|
-
readonly target: ForeignKeyReferenceInput;
|
|
43
|
-
readonly name?: string;
|
|
44
|
-
readonly onDelete?: ReferentialAction;
|
|
45
|
-
readonly onUpdate?: ReferentialAction;
|
|
46
|
-
readonly constraint: boolean;
|
|
47
|
-
readonly index: boolean;
|
|
48
|
-
}
|
|
49
|
-
interface MaterializedTableConstraints {
|
|
50
|
-
readonly foreignKeys: readonly ForeignKeyInput[];
|
|
51
|
-
readonly indexes: readonly IndexInput[];
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Lowers a table's authored foreign keys into the discrete entities
|
|
55
|
-
* `contract.json` persists: a `constraint: false` FK contributes no
|
|
56
|
-
* `foreignKeys[]` entry, and an `index: true` FK whose columns aren't already
|
|
57
|
-
* backed by a declared index/unique/primary-key contributes a wire-named
|
|
58
|
-
* `indexes[]` entry (byte-budgeted default prefix + content-hash wire name).
|
|
59
|
-
* Declared indexes always survive unchanged; a second FK sharing an already
|
|
60
|
-
* synthesized backing index does not mint a duplicate.
|
|
61
|
-
*/
|
|
62
|
-
declare function materializeForeignKeysAndIndexes(tableName: string, foreignKeys: readonly ForeignKeyAuthoringInput[], declaredIndexes: readonly IndexInput[], uniques: readonly UniqueConstraintInput[], primaryKey: PrimaryKeyInput | undefined): MaterializedTableConstraints;
|
|
63
|
-
//#endregion
|
|
64
|
-
export { isBackedByColumnKeys as a, backingIndexColumnKeys as i, ForeignKeyAuthoringInput as n, materializeForeignKeysAndIndexes as o, MaterializedTableConstraints as r, BackingIndexCandidates as t };
|
|
65
|
-
//# sourceMappingURL=foreign-key-materialization-U4M9cqKd.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"foreign-key-materialization-U4M9cqKd.d.mts","names":[],"sources":["../../../../2-sql/1-core/contract/dist/foreign-key-materialization.d.mts"],"mappings":";;;;;KAIK;WACM;aACE;;WAEF;aACE;;WAEF;aACE;;;;;;;;;;;;;;iBAcI,uBAAuB,OAAO;;;;;;iBAM9B,qBAAqB,4BAA4B;;;;;;UAMxD;WACC,QAAQ;WACR,QAAQ;WACR;WACA,WAAW;WACX,WAAW;WACX;WACA;;UAED;WACC,sBAAsB;WACtB,kBAAkB;;;;;;;;;;;iBAWZ,iCAAiC,mBAAmB,sBAAsB,4BAA4B,0BAA0B,cAAc,kBAAkB,yBAAyB,YAAY,8BAA8B"}
|