@prisma/orm-family-sql 8.0.0-rc.14-dev.29 → 8.0.0-rc.14-dev.31
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/{aggregate-descriptor-registry-CJF2KxUb.mjs → aggregate-descriptor-registry-B3RG0Zom.mjs} +2 -2
- package/dist/{aggregate-descriptor-registry-CJF2KxUb.mjs.map → aggregate-descriptor-registry-B3RG0Zom.mjs.map} +1 -1
- package/dist/{ast-dPjHeaNs.d.mts → ast-BUbHXpzG.d.mts} +7 -105
- package/dist/ast-BUbHXpzG.d.mts.map +1 -0
- package/dist/ast-CQZn-6Wd.mjs +310 -0
- package/dist/ast-CQZn-6Wd.mjs.map +1 -0
- package/dist/{authoring-entity-types-CZ-vdwYS-BfyaoH53.d.mts → authoring-entity-types-CZ-vdwYS-C25VGQVB.d.mts} +2 -2
- package/dist/{authoring-entity-types-CZ-vdwYS-BfyaoH53.d.mts.map → authoring-entity-types-CZ-vdwYS-C25VGQVB.d.mts.map} +1 -1
- package/dist/{authoring-type-constructors-DIyheCzv-BSrAEZsD.mjs → authoring-type-constructors-dihiQslc-hldmqa1r.mjs} +22 -28
- package/dist/authoring-type-constructors-dihiQslc-hldmqa1r.mjs.map +1 -0
- package/dist/builder.d.mts +2 -2
- package/dist/builder__runtime.d.mts +6 -6
- package/dist/builder__runtime.mjs +3 -3
- package/dist/builder__types.d.mts +2 -2
- package/dist/{codec-descriptor-registry-u6_e6WfA.mjs → codec-descriptor-registry-BW0REwkz.mjs} +2 -11
- package/dist/{codec-descriptor-registry-u6_e6WfA.mjs.map → codec-descriptor-registry-BW0REwkz.mjs.map} +1 -1
- package/dist/{config-types-DNRmpGNL.mjs → config-types-ump1oN82.mjs} +8 -4
- package/dist/config-types-ump1oN82.mjs.map +1 -0
- package/dist/{contract-builder-Br5TlHMh.d.mts → contract-builder-BXxFihYc.d.mts} +16 -11
- package/dist/contract-builder-BXxFihYc.d.mts.map +1 -0
- package/dist/{contract-builder-C3MYW38z.mjs → contract-builder-CQvwPGAW.mjs} +29 -24
- package/dist/contract-builder-CQvwPGAW.mjs.map +1 -0
- package/dist/contract-emitter.d.mts +1 -1
- package/dist/contract-emitter.mjs +1 -1
- package/dist/contract-prisma7__provider.d.mts +2 -1
- package/dist/contract-prisma7__provider.d.mts.map +1 -1
- package/dist/contract-prisma7__provider.mjs +16 -9
- package/dist/contract-prisma7__provider.mjs.map +1 -1
- package/dist/contract-psl.d.mts +4 -4
- package/dist/contract-psl.d.mts.map +1 -1
- package/dist/contract-psl.mjs +1 -1
- package/dist/contract-psl__attribute-specs.d.mts +2 -2
- package/dist/contract-psl__attribute-specs.mjs +1 -1
- package/dist/contract-psl__provider.mjs +2 -2
- package/dist/contract-psl__provider.mjs.map +1 -1
- package/dist/contract-ts.d.mts +1 -1
- package/dist/contract-ts.mjs +3 -3
- package/dist/contract-ts__config-types.mjs +1 -1
- package/dist/contract-ts__contract-builder.d.mts +1 -1
- package/dist/contract-ts__contract-builder.mjs +2 -2
- package/dist/contract.d.mts +5 -3
- package/dist/contract.mjs +11 -8
- package/dist/contract__data-type-support.d.mts +2 -0
- package/dist/contract__data-type-support.mjs +2 -0
- package/dist/contract__data-type.d.mts +2 -0
- package/dist/contract__data-type.mjs +3 -0
- package/dist/contract__entity-kinds.mjs +1 -1
- package/dist/contract__factories.mjs +1 -1
- package/dist/contract__sql-expression.d.mts +1 -1
- package/dist/contract__sql-expression.mjs +1 -1
- 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-BYOcSVih.mjs → control-BYT1Lgtm.mjs} +76 -117
- package/dist/control-BYT1Lgtm.mjs.map +1 -0
- package/dist/{control-DL9y6GfG.d.mts → control-Bpk8PtSL.d.mts} +40 -128
- package/dist/control-Bpk8PtSL.d.mts.map +1 -0
- package/dist/{control-adapter-WoXvPNj4-D64oWh9I.d.mts → control-adapter-BVN98SzR-C-H_T7s-.d.mts} +8 -20
- package/dist/control-adapter-BVN98SzR-C-H_T7s-.d.mts.map +1 -0
- package/dist/control-adapter-DSGwSagr.d.mts +1 -0
- package/dist/data-type-CAPmGXg9.mjs +297 -0
- package/dist/data-type-CAPmGXg9.mjs.map +1 -0
- package/dist/data-type-CpqSDmR_.d.mts +113 -0
- package/dist/data-type-CpqSDmR_.d.mts.map +1 -0
- package/dist/data-type-support-B_Dr1cxB.d.mts +92 -0
- package/dist/data-type-support-B_Dr1cxB.d.mts.map +1 -0
- package/dist/{ast-5hifzBHC.mjs → data-type-support-rpD1jyZd.mjs} +6 -329
- package/dist/data-type-support-rpD1jyZd.mjs.map +1 -0
- package/dist/{db-DLjWu9-f-BjAFEKe9.d.mts → db-DLjWu9-f-T8QbxDGY.d.mts} +6 -6
- package/dist/{db-DLjWu9-f-BjAFEKe9.d.mts.map → db-DLjWu9-f-T8QbxDGY.d.mts.map} +1 -1
- package/dist/{ddl-types-B48YmQSt-DLCUHORB.d.mts → ddl-types-BUqZdoZK-vyWnW2PW.d.mts} +3 -3
- package/dist/{ddl-types-B48YmQSt-DLCUHORB.d.mts.map → ddl-types-BUqZdoZK-vyWnW2PW.d.mts.map} +1 -1
- package/dist/{derived-checks-C_y1rk6O-DwCaGICl.mjs → derived-checks-CILnJKoa-D42YRW01.mjs} +48 -25
- package/dist/derived-checks-CILnJKoa-D42YRW01.mjs.map +1 -0
- package/dist/diff-B16bL_IR.mjs.map +1 -1
- package/dist/{diff-CJI5hKWL.d.mts → diff-BsHizC0z.d.mts} +6 -6
- package/dist/{diff-CJI5hKWL.d.mts.map → diff-BsHizC0z.d.mts.map} +1 -1
- package/dist/{dist-BdePIXOu.mjs → dist-C_HYPisk.mjs} +3 -3
- package/dist/{dist-BdePIXOu.mjs.map → dist-C_HYPisk.mjs.map} +1 -1
- package/dist/{entity-kinds-ChX-owgJ-DqGkW6Dq.mjs → entity-kinds-BNQFeECV-BOJmOArY.mjs} +4 -4
- package/dist/{entity-kinds-ChX-owgJ-DqGkW6Dq.mjs.map → entity-kinds-BNQFeECV-BOJmOArY.mjs.map} +1 -1
- package/dist/{expression-n9sdM2RA.d.mts → expression-Bf_MkeQS.d.mts} +3 -3
- package/dist/{expression-n9sdM2RA.d.mts.map → expression-Bf_MkeQS.d.mts.map} +1 -1
- package/dist/{expression-vAEOvq7J.mjs → expression-Bv8X6-Qg.mjs} +2 -2
- package/dist/{expression-vAEOvq7J.mjs.map → expression-Bv8X6-Qg.mjs.map} +1 -1
- package/dist/{factories-BnzIZxE1.mjs → factories-D6haP7by.mjs} +2 -2
- package/dist/{factories-BnzIZxE1.mjs.map → factories-D6haP7by.mjs.map} +1 -1
- package/dist/family.d.mts +13 -13
- package/dist/family.mjs +7 -7
- package/dist/family__control-adapter.d.mts +2 -2
- package/dist/family__control.d.mts +5 -5
- package/dist/family__control.mjs +4 -4
- package/dist/family__diff.d.mts +3 -3
- package/dist/family__diff.mjs +1 -1
- package/dist/family__ir.mjs +1 -1
- package/dist/family__migration.d.mts +1 -1
- package/dist/family__pack.d.mts +1 -1
- package/dist/family__pack.mjs +2 -2
- package/dist/family__pack.mjs.map +1 -1
- package/dist/family__psl-build.d.mts +2 -2
- package/dist/family__psl-build.mjs +1 -1
- package/dist/family__psl-infer.d.mts +1 -1
- package/dist/family__verify.mjs +1 -1
- package/dist/{index-BoQtw7lz.d.mts → index-D2ho4por.d.mts} +9 -9
- package/dist/{index-BoQtw7lz.d.mts.map → index-D2ho4por.d.mts.map} +1 -1
- package/dist/index-type-validation-COH4d78M.mjs.map +1 -1
- package/dist/{interpreter-C8cP92FD-BfjuQvb1.mjs → interpreter-CDflex9x-Bx84tcl5.mjs} +33 -29
- package/dist/interpreter-CDflex9x-Bx84tcl5.mjs.map +1 -0
- package/dist/{middleware-CuGBptK0-xrXqWhc7.d.mts → middleware-BtMX6nSF-DUnzMyGl.d.mts} +3 -3
- package/dist/{middleware-CuGBptK0-xrXqWhc7.d.mts.map → middleware-BtMX6nSF-DUnzMyGl.d.mts.map} +1 -1
- package/dist/middleware-pBMsszaq.d.mts +1 -0
- package/dist/{migration-CSEh4QPu.d.mts → migration-oet2BBxc.d.mts} +2 -2
- package/dist/{migration-CSEh4QPu.d.mts.map → migration-oet2BBxc.d.mts.map} +1 -1
- package/dist/numeral-text-Cqu87pVe-DJCqBaSC.mjs +20 -0
- package/dist/numeral-text-Cqu87pVe-DJCqBaSC.mjs.map +1 -0
- package/dist/orm-client.d.mts +101 -58
- package/dist/orm-client.d.mts.map +1 -1
- package/dist/orm-client.mjs +32 -368
- package/dist/orm-client.mjs.map +1 -1
- package/dist/{pack-C3mqZevM.d.mts → pack-C-JTs3HQ.d.mts} +2 -16
- package/dist/pack-C-JTs3HQ.d.mts.map +1 -0
- package/dist/plan-BbkBYyGR.d.mts +2 -0
- package/dist/{plan-B7g2kDfQ-Dth0BeTe.d.mts → plan-BlQITcbP-DvbDlHXA.d.mts} +3 -3
- package/dist/plan-BlQITcbP-DvbDlHXA.d.mts.map +1 -0
- package/dist/{prepared-statement-Cv54gpY_-DbHPSN5Q.d.mts → prepared-statement-Cv54gpY_-dg9Qr8sK.d.mts} +14 -14
- package/dist/{prepared-statement-Cv54gpY_-DbHPSN5Q.d.mts.map → prepared-statement-Cv54gpY_-dg9Qr8sK.d.mts.map} +1 -1
- package/dist/{psl-build-zkIJwkdq.mjs → psl-build-B6nw6MAM.mjs} +18 -17
- package/dist/psl-build-B6nw6MAM.mjs.map +1 -0
- package/dist/{psl-build-BnM1ZTyK.d.mts → psl-build-BrW7lQMO.d.mts} +2 -2
- package/dist/psl-build-BrW7lQMO.d.mts.map +1 -0
- package/dist/{psl-column-resolution-sNpXQygQ-BBo4tqwO.d.mts → psl-column-resolution-BegCa1-t-BJJ9WB1c.d.mts} +4 -5
- package/dist/psl-column-resolution-BegCa1-t-BJJ9WB1c.d.mts.map +1 -0
- package/dist/{psl-field-resolution-_o74AUE4-C-vTNklI.mjs → psl-field-resolution-CKMm6Gx0-CdzpWIV5.mjs} +69 -17
- package/dist/psl-field-resolution-CKMm6Gx0-CdzpWIV5.mjs.map +1 -0
- package/dist/{psl-infer-BwbmOInx.d.mts → psl-infer-DzH2Khty.d.mts} +4 -4
- package/dist/{psl-infer-BwbmOInx.d.mts.map → psl-infer-DzH2Khty.d.mts.map} +1 -1
- package/dist/query-lane-context-CLtywrTY.d.mts +1 -0
- package/dist/{query-lane-context-BSmWfohZ-Jn0AbOQt.d.mts → query-lane-context-OSV9X636-CcPv1TZj.d.mts} +6 -10
- package/dist/query-lane-context-OSV9X636-CcPv1TZj.d.mts.map +1 -0
- package/dist/relational-core.d.mts +12 -12
- package/dist/relational-core.mjs +4 -4
- package/dist/relational-core__aggregate-descriptor-registry.d.mts +1 -1
- package/dist/relational-core__aggregate-descriptor-registry.mjs +1 -1
- package/dist/relational-core__ast.d.mts +4 -4
- package/dist/relational-core__ast.mjs +3 -3
- package/dist/relational-core__codec-descriptor-registry.d.mts +2 -2
- package/dist/relational-core__codec-descriptor-registry.mjs +1 -1
- package/dist/relational-core__contract-free.d.mts +4 -2
- package/dist/relational-core__contract-free.d.mts.map +1 -1
- package/dist/relational-core__contract-free.mjs +10 -4
- package/dist/relational-core__contract-free.mjs.map +1 -1
- package/dist/relational-core__expression.d.mts +1 -1
- package/dist/relational-core__expression.mjs +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/runtime.d.mts +4 -4
- package/dist/runtime.mjs +6 -6
- package/dist/runtime__internal__prepared-query.d.mts +1 -1
- package/dist/{schema-differ-DpG_gnur-CUh9eZM-.d.mts → schema-differ-DpG_gnur-if2KDxZC.d.mts} +3 -3
- package/dist/{schema-differ-DpG_gnur-CUh9eZM-.d.mts.map → schema-differ-DpG_gnur-if2KDxZC.d.mts.map} +1 -1
- package/dist/schema-ir.d.mts +2 -2
- package/dist/schema-ir.mjs +1 -1
- package/dist/schema-ir__types.d.mts +3 -3
- package/dist/schema-ir__types.mjs +1 -1
- package/dist/{schema-verify-Xmpe1PGb-Bcd_2avJ.mjs → schema-verify-lPfqY_aE-CZCO8my1.mjs} +32 -6
- package/dist/schema-verify-lPfqY_aE-CZCO8my1.mjs.map +1 -0
- package/dist/{serialized-index-B5X7s-oX-CVs8-5Rw.mjs → serialized-index-BeGqqsrC-PymnV1h-.mjs} +3 -3
- package/dist/{serialized-index-B5X7s-oX-CVs8-5Rw.mjs.map → serialized-index-BeGqqsrC-PymnV1h-.mjs.map} +1 -1
- package/dist/{sql-contract-serializer-C90xg7_q-C_Okh4NM.mjs → sql-contract-serializer-C90xg7_q-4UVEMTWO.mjs} +5 -5
- package/dist/{sql-contract-serializer-C90xg7_q-C_Okh4NM.mjs.map → sql-contract-serializer-C90xg7_q-4UVEMTWO.mjs.map} +1 -1
- package/dist/{sql-execution-plan-Db0j752I-dJ-JGxbD.d.mts → sql-execution-plan-CV6K4o9N-DAIvJbkb.d.mts} +3 -3
- package/dist/sql-execution-plan-CV6K4o9N-DAIvJbkb.d.mts.map +1 -0
- package/dist/{sql-expression-BXx0Ilj-.mjs → sql-expression-D7GsLgDM.mjs} +2 -2
- package/dist/{sql-expression-BXx0Ilj-.mjs.map → sql-expression-D7GsLgDM.mjs.map} +1 -1
- package/dist/{sql-expression-D_hbJOgM.d.mts → sql-expression-DE_MTt3T.d.mts} +2 -2
- package/dist/{sql-expression-D_hbJOgM.d.mts.map → sql-expression-DE_MTt3T.d.mts.map} +1 -1
- package/dist/{storage-table-ADhJ4Imk-CwcQVFXC.mjs → storage-table-BwwDKQkD-BN9cZrGX.mjs} +2 -2
- package/dist/{storage-table-ADhJ4Imk-CwcQVFXC.mjs.map → storage-table-BwwDKQkD-BN9cZrGX.mjs.map} +1 -1
- package/dist/{type-map-DpfnXzun-DZaSuJXh.d.mts → type-map-DmIbL4o--BfPMblbZ.d.mts} +4 -4
- package/dist/type-map-DmIbL4o--BfPMblbZ.d.mts.map +1 -0
- package/dist/{types-BPi4d3WI-D8PIEqBU.mjs → types-BLnsGaJf-m-qTW3ox.mjs} +3 -3
- package/dist/{types-BPi4d3WI-D8PIEqBU.mjs.map → types-BLnsGaJf-m-qTW3ox.mjs.map} +1 -1
- package/dist/{types-ByKpjyVh-CtYwWrbL.d.mts → types-CcGO_LSh-BKHiJvvA.d.mts} +8 -26
- package/dist/types-CcGO_LSh-BKHiJvvA.d.mts.map +1 -0
- package/dist/{types-Z-l6gAVD.mjs → types-Cn4JEguu.mjs} +2 -2
- package/dist/{types-Z-l6gAVD.mjs.map → types-Cn4JEguu.mjs.map} +1 -1
- package/dist/{types-DAoMCSPl-D2ajBTpK.mjs → types-CyPuXMTn-pumFirZ6.mjs} +4 -7
- package/dist/types-CyPuXMTn-pumFirZ6.mjs.map +1 -0
- package/dist/types-DZA5xxDT.d.mts +1 -0
- package/dist/{types-BzpC_V7p-DyBYmK1f.d.mts → types-Da1Y_OI7-BPyFwdFU.d.mts} +4 -43
- package/dist/types-Da1Y_OI7-BPyFwdFU.d.mts.map +1 -0
- package/dist/{types-BGHABElw-C5dqoVCg.d.mts → types-DpwLgzPO-Cb9nQ-Wt.d.mts} +6 -6
- package/dist/{types-BGHABElw-C5dqoVCg.d.mts.map → types-DpwLgzPO-Cb9nQ-Wt.d.mts.map} +1 -1
- package/dist/{types-Yui2yFf6-DYiGm9ET.d.mts → types-Dskga3R1-BtXuRmbf.d.mts} +3 -3
- package/dist/{types-Yui2yFf6-DYiGm9ET.d.mts.map → types-Dskga3R1-BtXuRmbf.d.mts.map} +1 -1
- package/dist/types-QvcS13Qc.d.mts +1 -0
- package/dist/{validators-D1wQns12.d.mts → validators-B-4g3vwP.d.mts} +2 -2
- package/dist/{validators-D1wQns12.d.mts.map → validators-B-4g3vwP.d.mts.map} +1 -1
- package/dist/{validators-Cx6UXIBf.mjs → validators-IGdAEEIM.mjs} +4 -4
- package/dist/{validators-Cx6UXIBf.mjs.map → validators-IGdAEEIM.mjs.map} +1 -1
- package/dist/{verify-BVk5bjdH-BXgGLM2U.mjs → verify-BVk5bjdH-dq5M4iIh.mjs} +2 -2
- package/dist/{verify-BVk5bjdH-BXgGLM2U.mjs.map → verify-BVk5bjdH-dq5M4iIh.mjs.map} +1 -1
- package/package.json +20 -18
- package/dist/ast-5hifzBHC.mjs.map +0 -1
- package/dist/ast-dPjHeaNs.d.mts.map +0 -1
- package/dist/authoring-type-constructors-DIyheCzv-BSrAEZsD.mjs.map +0 -1
- package/dist/config-types-DNRmpGNL.mjs.map +0 -1
- package/dist/contract-builder-Br5TlHMh.d.mts.map +0 -1
- package/dist/contract-builder-C3MYW38z.mjs.map +0 -1
- package/dist/control-BYOcSVih.mjs.map +0 -1
- package/dist/control-DL9y6GfG.d.mts.map +0 -1
- package/dist/control-adapter-C1hjk3Ic.d.mts +0 -1
- package/dist/control-adapter-WoXvPNj4-D64oWh9I.d.mts.map +0 -1
- package/dist/derived-checks-C_y1rk6O-DwCaGICl.mjs.map +0 -1
- package/dist/interpreter-C8cP92FD-BfjuQvb1.mjs.map +0 -1
- package/dist/middleware-CN4vQuOi.d.mts +0 -1
- package/dist/pack-C3mqZevM.d.mts.map +0 -1
- package/dist/plan-B7g2kDfQ-Dth0BeTe.d.mts.map +0 -1
- package/dist/plan-CrKSowWJ.d.mts +0 -2
- package/dist/psl-build-BnM1ZTyK.d.mts.map +0 -1
- package/dist/psl-build-zkIJwkdq.mjs.map +0 -1
- package/dist/psl-column-resolution-sNpXQygQ-BBo4tqwO.d.mts.map +0 -1
- package/dist/psl-field-resolution-_o74AUE4-C-vTNklI.mjs.map +0 -1
- package/dist/query-lane-context-BSmWfohZ-Jn0AbOQt.d.mts.map +0 -1
- package/dist/query-lane-context-DWdmmnrN.d.mts +0 -1
- package/dist/schema-verify-Xmpe1PGb-Bcd_2avJ.mjs.map +0 -1
- package/dist/sql-execution-plan-Db0j752I-dJ-JGxbD.d.mts.map +0 -1
- package/dist/type-map-DpfnXzun-DZaSuJXh.d.mts.map +0 -1
- package/dist/types-ByKpjyVh-CtYwWrbL.d.mts.map +0 -1
- package/dist/types-BzpC_V7p-DyBYmK1f.d.mts.map +0 -1
- package/dist/types-CQBRYgDW.d.mts +0 -1
- package/dist/types-DAoMCSPl-D2ajBTpK.mjs.map +0 -1
- package/dist/types-DdTdsdMn.d.mts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-contract-serializer-C90xg7_q-C_Okh4NM.mjs","names":[],"sources":["../../../../2-sql/9-family/dist/sql-contract-serializer-C90xg7_q.mjs"],"sourcesContent":["import { t as sqlFamilyError } from \"./errors-B5g0xWro.mjs\";\nimport { hydrateNamespaceEntities } from \"@internal/framework-components/ir\";\nimport { sqlContractCanonicalizationHooks } from \"@internal/sql-contract/canonicalization-hooks\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { SqlStorage, isMaterializedSqlNamespace } from \"@internal/sql-contract/types\";\nimport { ContractValidationError } from \"@internal/contract/contract-validation-error\";\nimport { isPlainRecord as isPlainRecord$1 } from \"@internal/contract/is-plain-record\";\nimport { withDerivedToOneRelationNullability } from \"@internal/contract-authoring\";\nimport { composeSqlEntityKinds } from \"@internal/sql-contract/entity-kinds\";\nimport { createSqlContractSchema, resolveSqlToOneRelationStorage, validateSqlContractFully } from \"@internal/sql-contract/validators\";\nimport { type } from \"arktype\";\n//#region src/core/ir/sql-contract-serializer-base.ts\nconst NamespaceRawSchema = type({\n\tid: \"string\",\n\t\"kind?\": \"string\",\n\tentries: type({ \"+\": \"ignore\" })\n});\n/**\n* A `contract.json` written before to-one relations recorded `nullable` (rc.9 and earlier)\n* loads with the flag derived from storage: nullable when any local FK column is nullable or\n* cannot be resolved.\n*/\nfunction withSqlToOneRelationNullability(contract) {\n\tconst domain = withDerivedToOneRelationNullability(contract.domain, ({ model, relation }) => {\n\t\tconst { ownsForeignKey, columns } = resolveSqlToOneRelationStorage(contract, blindCast(model.storage), relation);\n\t\treturn {\n\t\t\townsReference: ownsForeignKey,\n\t\t\tlocalFieldNullability: columns.map((column) => column.nullable)\n\t\t};\n\t});\n\treturn {\n\t\t...contract,\n\t\tdomain\n\t};\n}\n/**\n* SQL family `ContractSerializer` abstract base. Carries the SQL-shared\n* deserialization pipeline:\n*\n* 1. `parseSqlContractStructure` validates the on-disk JSON envelope\n* against the SQL contract arktype schema (`validateSqlContractFully`)\n* and returns the validated flat-data shape.\n* 2. `hydrateSqlStorage` walks the validated `storage` subtree and\n* constructs the family-shared SQL Contract IR class hierarchy\n* (`SqlStorage` -> `StorageTable` -> `StorageColumn` / `PrimaryKey`\n* / …). The rest of the contract envelope is JSON-clean primitive\n* data and passes through unchanged.\n* 3. `constructTargetContract` is the target-specific extension hook;\n* defaults to identity. Targets that need to attach target-only\n* fields (e.g. target-specific derived storage fields) override it.\n*\n* Default `serializeContract` is identity over the contract — concrete\n* SQL targets ship JSON-clean class instances, so the contract value\n* can be stringified directly. The non-enumerable family-level `kind`\n* discriminator on `SqlNode` instances stays out of the persisted\n* envelope automatically. Targets that need to canonicalize on the way\n* out (key ordering, dropping computed-only fields) override\n* `serializeContract` directly.\n*/\nvar SqlContractSerializerBase = class {\n\tentityHydrationRegistry;\n\tcontractSchema;\n\tentryKinds;\n\tconstructor(entityHydrationRegistry = /* @__PURE__ */ new Map(), packEntityKinds = []) {\n\t\tthis.entityHydrationRegistry = entityHydrationRegistry;\n\t\tthis.entryKinds = composeSqlEntityKinds(packEntityKinds);\n\t\tthis.contractSchema = packEntityKinds.length > 0 ? createSqlContractSchema(this.entryKinds) : void 0;\n\t}\n\tdeserializeContract(json) {\n\t\tconst validated = withSqlToOneRelationNullability(this.parseSqlContractStructure(json));\n\t\tconst hydrated = this.hydrateSqlStorage(validated);\n\t\treturn blindCast(this.constructTargetContract(hydrated));\n\t}\n\tserializeContract(contract) {\n\t\treturn blindCast(contract);\n\t}\n\tshouldPreserveEmpty = sqlContractCanonicalizationHooks.shouldPreserveEmpty;\n\tsortStorage = sqlContractCanonicalizationHooks.sortStorage;\n\thashCanonicalizationHooks = sqlContractCanonicalizationHooks;\n\tparseSqlContractStructure(json) {\n\t\treturn validateSqlContractFully(json, this.contractSchema !== void 0 ? { contractSchema: this.contractSchema } : void 0);\n\t}\n\thydrateSqlStorage(validated) {\n\t\tconst types = validated.storage.types;\n\t\tconst hydratedTypes = types !== void 0 ? Object.fromEntries(Object.entries(types).map(([name, entry]) => [name, this.hydrateStorageTypeEntry(entry)])) : void 0;\n\t\tconst rawNamespaces = validated.storage.namespaces;\n\t\tif (rawNamespaces === void 0) throw new ContractValidationError(\"Contract storage.namespaces is required after structural validation\", \"structural\");\n\t\tconst hydratedNamespaces = this.hydrateSqlNamespaceMap(blindCast(rawNamespaces));\n\t\treturn {\n\t\t\t...validated,\n\t\t\tstorage: new SqlStorage({\n\t\t\t\tstorageHash: validated.storage.storageHash,\n\t\t\t\t...ifDefined(\"types\", hydratedTypes),\n\t\t\t\tnamespaces: blindCast(hydratedNamespaces)\n\t\t\t})\n\t\t};\n\t}\n\thydrateSqlNamespaceMap(namespaces) {\n\t\treturn Object.fromEntries(Object.entries(namespaces).map(([nsId, namespaceEntryRaw]) => {\n\t\t\tconst namespaceHydrated = this.hydrateSqlNamespaceEntry(nsId, namespaceEntryRaw);\n\t\t\tif (!isMaterializedSqlNamespace(namespaceHydrated)) throw sqlFamilyError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Target serializer bug: hydrateSqlNamespaceEntry for namespace \"${nsId}\" returned a non-NamespaceBase value. Override hydrateSqlNamespaceEntry to produce a target namespace concretion.`, {\n\t\t\t\twhy: \"The target contract serializer hydrated a namespace into a value that is not a materialized namespace concretion.\",\n\t\t\t\tfix: \"Fix the target package: its hydrateSqlNamespaceEntry override must return a target namespace concretion.\",\n\t\t\t\tmeta: { namespaceId: nsId }\n\t\t\t});\n\t\t\treturn [nsId, namespaceHydrated];\n\t\t}));\n\t}\n\thydrateSqlNamespaceEntry(nsId, raw) {\n\t\tconst id = typeof raw[\"id\"] === \"string\" ? raw[\"id\"] : nsId;\n\t\tconst parsed = NamespaceRawSchema({\n\t\t\t...raw,\n\t\t\tid\n\t\t});\n\t\tif (parsed instanceof type.errors) throw new ContractValidationError(`Namespace hydration failed: ${parsed.map((p) => p.message).join(\"; \")}`, \"structural\");\n\t\tconst entriesRaw = parsed.entries;\n\t\tconst rawEntriesMap = isPlainRecord$1(entriesRaw) ? entriesRaw : {};\n\t\tconst entriesInput = {};\n\t\tfor (const [key, innerMap] of Object.entries(rawEntriesMap)) entriesInput[key] = isPlainRecord$1(innerMap) ? innerMap : Object.freeze({});\n\t\tconst entriesOutput = hydrateNamespaceEntities(entriesInput, this.entryKinds, \"fail\", id);\n\t\tif (!Object.hasOwn(entriesOutput, \"table\")) entriesOutput[\"table\"] = {};\n\t\treturn blindCast({\n\t\t\tid,\n\t\t\tentries: entriesOutput\n\t\t});\n\t}\n\thydrateStorageTypeEntry(entry) {\n\t\tif (typeof entry !== \"object\" || entry === null) return entry;\n\t\tconst kind = isPlainRecord$1(entry) ? entry[\"kind\"] : void 0;\n\t\tif (typeof kind !== \"string\") return entry;\n\t\tconst factory = this.entityHydrationRegistry.get(kind);\n\t\tif (factory === void 0) return entry;\n\t\treturn blindCast(factory(entry));\n\t}\n\tconstructTargetContract(hydrated) {\n\t\treturn blindCast(hydrated);\n\t}\n\t/**\n\t* Serializes a namespace's `entries` dict by walking every enumerable\n\t* kind — no kind is named here, mirroring the generic hydrate walk in\n\t* `hydrateSqlNamespaceEntry` above. `table` is the SQL family's one\n\t* universal base kind (every namespace carries it), so it is always\n\t* emitted, even when empty; every other kind — target- or\n\t* pack-contributed — is emitted only when it holds at least one entry.\n\t* A kind carried non-enumerable on `entries` is excluded here for free,\n\t* since `Object.entries` honors enumerability.\n\t*/\n\tserializeNamespaceEntries(entries) {\n\t\tconst out = { table: this.serializeEntries(entries[\"table\"] ?? {}) };\n\t\tfor (const [kind, record] of Object.entries(entries)) {\n\t\t\tif (kind === \"table\" || record == null || Object.keys(record).length === 0) continue;\n\t\t\tout[kind] = this.serializeEntries(record);\n\t\t}\n\t\treturn out;\n\t}\n\tserializeEntries(entries) {\n\t\tconst out = {};\n\t\tfor (const [name, entry] of Object.entries(entries)) out[name] = this.serializeJsonObject(entry);\n\t\treturn out;\n\t}\n\tserializeJsonObject(value) {\n\t\treturn blindCast(this.serializeJsonValue(value));\n\t}\n\tserializeJsonValue(value) {\n\t\treturn blindCast(JSON.parse(JSON.stringify(value)));\n\t}\n};\n//#endregion\n//#region src/core/ir/sql-contract-serializer.ts\n/**\n* Default SQL family `ContractSerializer` concretion. Inherits the\n* full SQL-shared deserialization pipeline (structural validation +\n* IR-class hydration) without pack-registered `storage.types`\n* hydration factories — targets that emit polymorphic JSON outside the\n* codec-typed envelope wire a target-specific subclass with a populated\n* registry (see Postgres). Family-level call sites instantiate this\n* default directly when no target serializer is supplied.\n*\n* Because this serializer has no target concretion, deserialization of\n* contracts that include namespace entries from JSON will throw unless\n* the caller provides pre-hydrated `NamespaceBase` instances. Production\n* paths always supply a target-specific serializer.\n*/\nvar SqlContractSerializer = class extends SqlContractSerializerBase {\n\tconstructor() {\n\t\tsuper(/* @__PURE__ */ new Map());\n\t}\n};\n//#endregion\nexport { SqlContractSerializerBase as n, SqlContractSerializer as t };\n\n//# sourceMappingURL=sql-contract-serializer-C90xg7_q.mjs.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sql-contract-serializer-C90xg7_q-4UVEMTWO.mjs","names":[],"sources":["../../../../2-sql/9-family/dist/sql-contract-serializer-C90xg7_q.mjs"],"sourcesContent":["import { t as sqlFamilyError } from \"./errors-B5g0xWro.mjs\";\nimport { hydrateNamespaceEntities } from \"@internal/framework-components/ir\";\nimport { sqlContractCanonicalizationHooks } from \"@internal/sql-contract/canonicalization-hooks\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { SqlStorage, isMaterializedSqlNamespace } from \"@internal/sql-contract/types\";\nimport { ContractValidationError } from \"@internal/contract/contract-validation-error\";\nimport { isPlainRecord as isPlainRecord$1 } from \"@internal/contract/is-plain-record\";\nimport { withDerivedToOneRelationNullability } from \"@internal/contract-authoring\";\nimport { composeSqlEntityKinds } from \"@internal/sql-contract/entity-kinds\";\nimport { createSqlContractSchema, resolveSqlToOneRelationStorage, validateSqlContractFully } from \"@internal/sql-contract/validators\";\nimport { type } from \"arktype\";\n//#region src/core/ir/sql-contract-serializer-base.ts\nconst NamespaceRawSchema = type({\n\tid: \"string\",\n\t\"kind?\": \"string\",\n\tentries: type({ \"+\": \"ignore\" })\n});\n/**\n* A `contract.json` written before to-one relations recorded `nullable` (rc.9 and earlier)\n* loads with the flag derived from storage: nullable when any local FK column is nullable or\n* cannot be resolved.\n*/\nfunction withSqlToOneRelationNullability(contract) {\n\tconst domain = withDerivedToOneRelationNullability(contract.domain, ({ model, relation }) => {\n\t\tconst { ownsForeignKey, columns } = resolveSqlToOneRelationStorage(contract, blindCast(model.storage), relation);\n\t\treturn {\n\t\t\townsReference: ownsForeignKey,\n\t\t\tlocalFieldNullability: columns.map((column) => column.nullable)\n\t\t};\n\t});\n\treturn {\n\t\t...contract,\n\t\tdomain\n\t};\n}\n/**\n* SQL family `ContractSerializer` abstract base. Carries the SQL-shared\n* deserialization pipeline:\n*\n* 1. `parseSqlContractStructure` validates the on-disk JSON envelope\n* against the SQL contract arktype schema (`validateSqlContractFully`)\n* and returns the validated flat-data shape.\n* 2. `hydrateSqlStorage` walks the validated `storage` subtree and\n* constructs the family-shared SQL Contract IR class hierarchy\n* (`SqlStorage` -> `StorageTable` -> `StorageColumn` / `PrimaryKey`\n* / …). The rest of the contract envelope is JSON-clean primitive\n* data and passes through unchanged.\n* 3. `constructTargetContract` is the target-specific extension hook;\n* defaults to identity. Targets that need to attach target-only\n* fields (e.g. target-specific derived storage fields) override it.\n*\n* Default `serializeContract` is identity over the contract — concrete\n* SQL targets ship JSON-clean class instances, so the contract value\n* can be stringified directly. The non-enumerable family-level `kind`\n* discriminator on `SqlNode` instances stays out of the persisted\n* envelope automatically. Targets that need to canonicalize on the way\n* out (key ordering, dropping computed-only fields) override\n* `serializeContract` directly.\n*/\nvar SqlContractSerializerBase = class {\n\tentityHydrationRegistry;\n\tcontractSchema;\n\tentryKinds;\n\tconstructor(entityHydrationRegistry = /* @__PURE__ */ new Map(), packEntityKinds = []) {\n\t\tthis.entityHydrationRegistry = entityHydrationRegistry;\n\t\tthis.entryKinds = composeSqlEntityKinds(packEntityKinds);\n\t\tthis.contractSchema = packEntityKinds.length > 0 ? createSqlContractSchema(this.entryKinds) : void 0;\n\t}\n\tdeserializeContract(json) {\n\t\tconst validated = withSqlToOneRelationNullability(this.parseSqlContractStructure(json));\n\t\tconst hydrated = this.hydrateSqlStorage(validated);\n\t\treturn blindCast(this.constructTargetContract(hydrated));\n\t}\n\tserializeContract(contract) {\n\t\treturn blindCast(contract);\n\t}\n\tshouldPreserveEmpty = sqlContractCanonicalizationHooks.shouldPreserveEmpty;\n\tsortStorage = sqlContractCanonicalizationHooks.sortStorage;\n\thashCanonicalizationHooks = sqlContractCanonicalizationHooks;\n\tparseSqlContractStructure(json) {\n\t\treturn validateSqlContractFully(json, this.contractSchema !== void 0 ? { contractSchema: this.contractSchema } : void 0);\n\t}\n\thydrateSqlStorage(validated) {\n\t\tconst types = validated.storage.types;\n\t\tconst hydratedTypes = types !== void 0 ? Object.fromEntries(Object.entries(types).map(([name, entry]) => [name, this.hydrateStorageTypeEntry(entry)])) : void 0;\n\t\tconst rawNamespaces = validated.storage.namespaces;\n\t\tif (rawNamespaces === void 0) throw new ContractValidationError(\"Contract storage.namespaces is required after structural validation\", \"structural\");\n\t\tconst hydratedNamespaces = this.hydrateSqlNamespaceMap(blindCast(rawNamespaces));\n\t\treturn {\n\t\t\t...validated,\n\t\t\tstorage: new SqlStorage({\n\t\t\t\tstorageHash: validated.storage.storageHash,\n\t\t\t\t...ifDefined(\"types\", hydratedTypes),\n\t\t\t\tnamespaces: blindCast(hydratedNamespaces)\n\t\t\t})\n\t\t};\n\t}\n\thydrateSqlNamespaceMap(namespaces) {\n\t\treturn Object.fromEntries(Object.entries(namespaces).map(([nsId, namespaceEntryRaw]) => {\n\t\t\tconst namespaceHydrated = this.hydrateSqlNamespaceEntry(nsId, namespaceEntryRaw);\n\t\t\tif (!isMaterializedSqlNamespace(namespaceHydrated)) throw sqlFamilyError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Target serializer bug: hydrateSqlNamespaceEntry for namespace \"${nsId}\" returned a non-NamespaceBase value. Override hydrateSqlNamespaceEntry to produce a target namespace concretion.`, {\n\t\t\t\twhy: \"The target contract serializer hydrated a namespace into a value that is not a materialized namespace concretion.\",\n\t\t\t\tfix: \"Fix the target package: its hydrateSqlNamespaceEntry override must return a target namespace concretion.\",\n\t\t\t\tmeta: { namespaceId: nsId }\n\t\t\t});\n\t\t\treturn [nsId, namespaceHydrated];\n\t\t}));\n\t}\n\thydrateSqlNamespaceEntry(nsId, raw) {\n\t\tconst id = typeof raw[\"id\"] === \"string\" ? raw[\"id\"] : nsId;\n\t\tconst parsed = NamespaceRawSchema({\n\t\t\t...raw,\n\t\t\tid\n\t\t});\n\t\tif (parsed instanceof type.errors) throw new ContractValidationError(`Namespace hydration failed: ${parsed.map((p) => p.message).join(\"; \")}`, \"structural\");\n\t\tconst entriesRaw = parsed.entries;\n\t\tconst rawEntriesMap = isPlainRecord$1(entriesRaw) ? entriesRaw : {};\n\t\tconst entriesInput = {};\n\t\tfor (const [key, innerMap] of Object.entries(rawEntriesMap)) entriesInput[key] = isPlainRecord$1(innerMap) ? innerMap : Object.freeze({});\n\t\tconst entriesOutput = hydrateNamespaceEntities(entriesInput, this.entryKinds, \"fail\", id);\n\t\tif (!Object.hasOwn(entriesOutput, \"table\")) entriesOutput[\"table\"] = {};\n\t\treturn blindCast({\n\t\t\tid,\n\t\t\tentries: entriesOutput\n\t\t});\n\t}\n\thydrateStorageTypeEntry(entry) {\n\t\tif (typeof entry !== \"object\" || entry === null) return entry;\n\t\tconst kind = isPlainRecord$1(entry) ? entry[\"kind\"] : void 0;\n\t\tif (typeof kind !== \"string\") return entry;\n\t\tconst factory = this.entityHydrationRegistry.get(kind);\n\t\tif (factory === void 0) return entry;\n\t\treturn blindCast(factory(entry));\n\t}\n\tconstructTargetContract(hydrated) {\n\t\treturn blindCast(hydrated);\n\t}\n\t/**\n\t* Serializes a namespace's `entries` dict by walking every enumerable\n\t* kind — no kind is named here, mirroring the generic hydrate walk in\n\t* `hydrateSqlNamespaceEntry` above. `table` is the SQL family's one\n\t* universal base kind (every namespace carries it), so it is always\n\t* emitted, even when empty; every other kind — target- or\n\t* pack-contributed — is emitted only when it holds at least one entry.\n\t* A kind carried non-enumerable on `entries` is excluded here for free,\n\t* since `Object.entries` honors enumerability.\n\t*/\n\tserializeNamespaceEntries(entries) {\n\t\tconst out = { table: this.serializeEntries(entries[\"table\"] ?? {}) };\n\t\tfor (const [kind, record] of Object.entries(entries)) {\n\t\t\tif (kind === \"table\" || record == null || Object.keys(record).length === 0) continue;\n\t\t\tout[kind] = this.serializeEntries(record);\n\t\t}\n\t\treturn out;\n\t}\n\tserializeEntries(entries) {\n\t\tconst out = {};\n\t\tfor (const [name, entry] of Object.entries(entries)) out[name] = this.serializeJsonObject(entry);\n\t\treturn out;\n\t}\n\tserializeJsonObject(value) {\n\t\treturn blindCast(this.serializeJsonValue(value));\n\t}\n\tserializeJsonValue(value) {\n\t\treturn blindCast(JSON.parse(JSON.stringify(value)));\n\t}\n};\n//#endregion\n//#region src/core/ir/sql-contract-serializer.ts\n/**\n* Default SQL family `ContractSerializer` concretion. Inherits the\n* full SQL-shared deserialization pipeline (structural validation +\n* IR-class hydration) without pack-registered `storage.types`\n* hydration factories — targets that emit polymorphic JSON outside the\n* codec-typed envelope wire a target-specific subclass with a populated\n* registry (see Postgres). Family-level call sites instantiate this\n* default directly when no target serializer is supplied.\n*\n* Because this serializer has no target concretion, deserialization of\n* contracts that include namespace entries from JSON will throw unless\n* the caller provides pre-hydrated `NamespaceBase` instances. Production\n* paths always supply a target-specific serializer.\n*/\nvar SqlContractSerializer = class extends SqlContractSerializerBase {\n\tconstructor() {\n\t\tsuper(/* @__PURE__ */ new Map());\n\t}\n};\n//#endregion\nexport { SqlContractSerializerBase as n, SqlContractSerializer as t };\n\n//# sourceMappingURL=sql-contract-serializer-C90xg7_q.mjs.map"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { h as AnyQueryAst } from "./types-
|
|
1
|
+
import { h as AnyQueryAst } from "./types-Dskga3R1-BtXuRmbf.mjs";
|
|
2
2
|
import { ExecutionPlan } from "@prisma/orm-framework/components/runtime";
|
|
3
|
-
//#region ../../../2-sql/4-lanes/relational-core/dist/sql-execution-plan-
|
|
3
|
+
//#region ../../../2-sql/4-lanes/relational-core/dist/sql-execution-plan-CV6K4o9N.d.mts
|
|
4
4
|
//#region src/sql-execution-plan.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* SQL-domain execution plan: a query lowered to the wire-level shape that a
|
|
@@ -28,4 +28,4 @@ interface SqlExecutionPlan<Row = unknown> extends ExecutionPlan<Row> {
|
|
|
28
28
|
}
|
|
29
29
|
//#endregion
|
|
30
30
|
export { SqlExecutionPlan as t };
|
|
31
|
-
//# sourceMappingURL=sql-execution-plan-
|
|
31
|
+
//# sourceMappingURL=sql-execution-plan-CV6K4o9N-DAIvJbkb.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-execution-plan-CV6K4o9N-DAIvJbkb.d.mts","names":[],"sources":["../../../../2-sql/4-lanes/relational-core/dist/sql-execution-plan-CV6K4o9N.d.mts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;UAsBU,iBAAiB,uBAAuB,cAAc;WACrD;WACA;WACA,KAAK"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { printTaggedLiteral } from "@prisma/orm-framework/components/authoring";
|
|
2
|
-
import { InternalError } from "@prisma/orm-framework/utils/internal-error";
|
|
3
2
|
import { dataType, dataTypeId } from "@prisma/orm-framework/components/codec";
|
|
3
|
+
import { InternalError } from "@prisma/orm-framework/utils/internal-error";
|
|
4
4
|
import { runtimeError } from "@prisma/orm-framework/components/components";
|
|
5
5
|
//#region ../../../2-sql/1-core/contract/dist/sql-expression.mjs
|
|
6
6
|
const SQL_EXPRESSION_DATA_TYPE_ID = dataTypeId("sql/expression");
|
|
@@ -48,4 +48,4 @@ function assertNothingCastsFromSqlExpression(declaredDataTypes) {
|
|
|
48
48
|
//#endregion
|
|
49
49
|
export { sqlExpressionAuthoringEntry as a, printSqlExpressionLiteral as i, SQL_EXPRESSION_TAG as n, sqlExpressionDataType as o, assertNothingCastsFromSqlExpression as r, sqlTextFromCanonical as s, SQL_EXPRESSION_DATA_TYPE_ID as t };
|
|
50
50
|
|
|
51
|
-
//# sourceMappingURL=sql-expression-
|
|
51
|
+
//# sourceMappingURL=sql-expression-D7GsLgDM.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-expression-
|
|
1
|
+
{"version":3,"file":"sql-expression-D7GsLgDM.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/sql-expression.mjs"],"sourcesContent":["import { printTaggedLiteral } from \"@internal/framework-components/authoring\";\nimport { dataType, dataTypeId } from \"@internal/framework-components/codec\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { runtimeError } from \"@internal/framework-components/components\";\n//#region src/sql-expression.ts\nconst SQL_EXPRESSION_DATA_TYPE_ID = dataTypeId(\"sql/expression\");\nconst SQL_EXPRESSION_TAG = \"sql\";\n/** The data type of a SQL expression in the target database's language. It declares no casts. The SQL family registers it. ADR 254. */\nconst sqlExpressionDataType = dataType(SQL_EXPRESSION_DATA_TYPE_ID, {});\n/** PSL support for `sql/expression`. The SQL family registers it under `SQL_EXPRESSION_DATA_TYPE_ID`. */\nconst sqlExpressionAuthoringEntry = {\n\twritten: {\n\t\tkind: \"tag\",\n\t\ttag: \"sql\",\n\t\tparse: (text) => text\n\t},\n\tprint: (value) => sqlTextFromCanonical(value),\n\tdocumentation: \"A SQL expression in the target database's language. Prisma passes it to the database unchanged.\"\n};\n/** The SQL text held by the canonical form of a `sql/expression` value. */\nfunction sqlTextFromCanonical(value) {\n\tif (typeof value === \"string\") return value;\n\tthrow new InternalError(`A sql/expression value is a string, got ${JSON.stringify(value)}.`);\n}\n/** A `sql` literal holding `text`, as `contract infer` prints it. */\nfunction printSqlExpressionLiteral(text) {\n\treturn printTaggedLiteral(\"sql\", text);\n}\nfunction castFromSqlExpression(type) {\n\tif (Object.hasOwn(type.casts, SQL_EXPRESSION_DATA_TYPE_ID)) return \"a cast\";\n\tif (type.listCast?.of.includes(SQL_EXPRESSION_DATA_TYPE_ID)) return \"a list cast\";\n}\n/**\n* Throws when a data type declares a cast or a list cast from `sql/expression`. A `sql` literal is\n* SQL the database runs, so a cast would turn it into a value of another type with no diagnostic.\n* ADR 254.\n*/\nfunction assertNothingCastsFromSqlExpression(declaredDataTypes) {\n\tfor (const { type, contributedBy } of declaredDataTypes) {\n\t\tconst declared = castFromSqlExpression(type);\n\t\tif (declared === void 0) continue;\n\t\tthrow runtimeError(\"CONTRACT.DATA_TYPE_CASTS_FROM_SQL_EXPRESSION\", `Data type \"${type.id}\" from \"${contributedBy}\" declares ${declared} from ${SQL_EXPRESSION_DATA_TYPE_ID}. No data type may cast from ${SQL_EXPRESSION_DATA_TYPE_ID}: a sql literal is SQL the database runs, not a value of another type.`, {\n\t\t\tdataType: type.id,\n\t\t\tcontributedBy\n\t\t});\n\t}\n}\n//#endregion\nexport { SQL_EXPRESSION_DATA_TYPE_ID, SQL_EXPRESSION_TAG, assertNothingCastsFromSqlExpression, printSqlExpressionLiteral, sqlExpressionAuthoringEntry, sqlExpressionDataType, sqlTextFromCanonical };\n\n//# sourceMappingURL=sql-expression.mjs.map"],"mappings":";;;;;AAKA,MAAM,8BAA8B,WAAW,gBAAgB;AAC/D,MAAM,qBAAqB;;AAE3B,MAAM,wBAAwB,SAAS,6BAA6B,CAAC,CAAC;;AAEtE,MAAM,8BAA8B;CACnC,SAAS;EACR,MAAM;EACN,KAAK;EACL,QAAQ,SAAS;CAClB;CACA,QAAQ,UAAU,qBAAqB,KAAK;CAC5C,eAAe;AAChB;;AAEA,SAAS,qBAAqB,OAAO;CACpC,IAAI,OAAO,UAAU,UAAU,OAAO;CACtC,MAAM,IAAI,cAAc,2CAA2C,KAAK,UAAU,KAAK,EAAE,EAAE;AAC5F;;AAEA,SAAS,0BAA0B,MAAM;CACxC,OAAO,mBAAmB,OAAO,IAAI;AACtC;AACA,SAAS,sBAAsB,MAAM;CACpC,IAAI,OAAO,OAAO,KAAK,OAAO,2BAA2B,GAAG,OAAO;CACnE,IAAI,KAAK,UAAU,GAAG,SAAS,2BAA2B,GAAG,OAAO;AACrE;;;;;;AAMA,SAAS,oCAAoC,mBAAmB;CAC/D,KAAK,MAAM,EAAE,MAAM,mBAAmB,mBAAmB;EACxD,MAAM,WAAW,sBAAsB,IAAI;EAC3C,IAAI,aAAa,KAAK,GAAG;EACzB,MAAM,aAAa,gDAAgD,cAAc,KAAK,GAAG,UAAU,cAAc,aAAa,SAAS,QAAQ,4BAA4B,+BAA+B,4BAA4B,yEAAyE;GAC9S,UAAU,KAAK;GACf;EACD,CAAC;CACF;AACD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DataTypeAuthoringEntry } from "@prisma/orm-framework/components/authoring";
|
|
2
|
-
import { JsonValue } from "@prisma/orm-framework/contract/types";
|
|
3
2
|
import { DataType, DataTypeId } from "@prisma/orm-framework/components/codec";
|
|
3
|
+
import { JsonValue } from "@prisma/orm-framework/contract/types";
|
|
4
4
|
//#region ../../../2-sql/1-core/contract/dist/sql-expression.d.mts
|
|
5
5
|
//#region src/sql-expression.d.ts
|
|
6
6
|
declare const SQL_EXPRESSION_DATA_TYPE_ID: DataTypeId;
|
|
@@ -24,4 +24,4 @@ declare function assertNothingCastsFromSqlExpression(declaredDataTypes: Readonly
|
|
|
24
24
|
}>): void;
|
|
25
25
|
//#endregion
|
|
26
26
|
export { sqlExpressionAuthoringEntry as a, printSqlExpressionLiteral as i, SQL_EXPRESSION_TAG as n, sqlExpressionDataType as o, assertNothingCastsFromSqlExpression as r, sqlTextFromCanonical as s, SQL_EXPRESSION_DATA_TYPE_ID as t };
|
|
27
|
-
//# sourceMappingURL=sql-expression-
|
|
27
|
+
//# sourceMappingURL=sql-expression-DE_MTt3T.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-expression-
|
|
1
|
+
{"version":3,"file":"sql-expression-DE_MTt3T.d.mts","names":[],"sources":["../../../../2-sql/1-core/contract/dist/sql-expression.d.mts"],"mappings":";;;;;cAIc,6BAA6B;cAC7B;;cAEA,uBAAuB;;cAEvB,6BAA6B;;iBAE1B,qBAAqB,OAAO;;iBAE5B,0BAA0B;;;;;;iBAM1B,oCAAoC,mBAAmB;WAC7D,MAAM;WACN"}
|
|
@@ -4,7 +4,7 @@ import { ContractValidationError } from "@prisma/orm-framework/contract/contract
|
|
|
4
4
|
import { IRNodeBase, freezeNode } from "@prisma/orm-framework/components/ir";
|
|
5
5
|
import { InternalError } from "@prisma/orm-framework/utils/internal-error";
|
|
6
6
|
import { asNamespaceId } from "@prisma/orm-framework/contract/types";
|
|
7
|
-
//#region ../../../2-sql/1-core/contract/dist/storage-table-
|
|
7
|
+
//#region ../../../2-sql/1-core/contract/dist/storage-table-BwwDKQkD.mjs
|
|
8
8
|
/**
|
|
9
9
|
* SQL family IR node base. Carries the family-level `kind` discriminator
|
|
10
10
|
* `'sql'` and inherits the framework's `freezeNode` affordance.
|
|
@@ -305,4 +305,4 @@ var StorageTable = class StorageTable extends SqlNode {
|
|
|
305
305
|
//#endregion
|
|
306
306
|
export { PrimaryKey as a, StorageTable as c, Index as i, UniqueConstraint as l, ForeignKey as n, SqlNode as o, ForeignKeyReference as r, StorageColumn as s, CheckConstraint as t };
|
|
307
307
|
|
|
308
|
-
//# sourceMappingURL=storage-table-
|
|
308
|
+
//# sourceMappingURL=storage-table-BwwDKQkD-BN9cZrGX.mjs.map
|
package/dist/{storage-table-ADhJ4Imk-CwcQVFXC.mjs.map → storage-table-BwwDKQkD-BN9cZrGX.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-table-ADhJ4Imk-CwcQVFXC.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/storage-table-ADhJ4Imk.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { nameOf } from \"@internal/sql-schema-ir/naming\";\nimport { IRNodeBase, freezeNode } from \"@internal/framework-components/ir\";\nimport { ContractValidationError } from \"@internal/contract/contract-validation-error\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { asNamespaceId } from \"@internal/contract/types\";\n//#region src/ir/sql-node.ts\n/**\n* SQL family IR node base. Carries the family-level `kind` discriminator\n* `'sql'` and inherits the framework's `freezeNode` affordance.\n*\n* Single family-level discriminator (not per-leaf) reflects the fact that\n* SQL IR has no polymorphic dispatch today — verifiers and serializers\n* walk by structural position (`storage.tables[name].columns[name]`),\n* not by inspecting `kind`. The abstract bar for per-leaf discriminators\n* isn't earned until a future polymorphic consumer arrives.\n*\n* `kind` is installed as a non-enumerable own property on every instance,\n* which keeps three things clean simultaneously:\n*\n* - `JSON.stringify(node)` produces the canonical pre-lift JSON envelope\n* shape (no `kind` field), so emitted contract.json files and the\n* `validateSqlContractFully` arktype schemas stay unchanged.\n* - Test assertions that use `toEqual({...})` against the pre-lift flat\n* shape continue to pass — only enumerable own properties are\n* compared.\n* - Direct access (`node.kind`) and runtime narrowing\n* (`if (node.kind === 'sql')`) still work, so future polymorphic\n* dispatch can begin reading `kind` without a runtime change.\n*\n* Future per-leaf overrides land cleanly: a class that gains a\n* polymorphic-dispatch consumer (e.g. an enum type instance walked\n* alongside other types) overrides `kind` with its narrower literal\n* at that leaf level. Per-leaf overrides will use enumerable kind\n* (matching the Mongo per-class-discriminator precedent) because they\n* encode dispatch-relevant information that callers need to see in\n* JSON envelopes; the family-level `'sql'` is uniform across all SQL\n* IR and carries no dispatch-relevant information.\n*/\nvar SqlNode = class extends IRNodeBase {\n\tkind;\n\tconstructor() {\n\t\tsuper();\n\t\tObject.defineProperty(this, \"kind\", {\n\t\t\tvalue: \"sql\",\n\t\t\twritable: false,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true\n\t\t});\n\t}\n};\n//#endregion\n//#region src/ir/check-constraint.ts\n/**\n* SQL Contract IR node for a table-level check constraint, name-identified:\n* `name` is the full physical name; a present `prefix` marks the constraint as\n* wire-named (`name` is `formatWireName(prefix, <8hex>)` over the expression's\n* content hash), an absent `prefix` marks it exact (the name is adopted\n* verbatim). This is the convention indexes and RLS policies already use — see\n* ADR 234, \"Content-addressed wire names for Postgres-normalized objects\".\n*\n* The predicate is opaque: one SQL string, never parsed and never rendered\n* from structured parts. A database reprints predicates in its own normalized\n* form, so a wire-named check is compared by name — the hash already commits\n* to the expression the contract declared.\n*/\nvar CheckConstraint = class CheckConstraint extends SqlNode {\n\tname;\n\texpression;\n\tconstructor(input) {\n\t\tsuper();\n\t\tconst name = nameOf(input.naming);\n\t\tif (name.length === 0) throw new ContractValidationError(\"CheckConstraint: every check constraint carries a full physical name.\", \"storage\");\n\t\tthis.name = name;\n\t\tif (input.naming.kind === \"wire\") this.prefix = input.naming.prefix;\n\t\tthis.expression = input.expression;\n\t\tfreezeNode(this);\n\t}\n\t/**\n\t* Normalizes either shape into an instance: an existing `CheckConstraint`\n\t* passes through, canonical input is constructed. Callers that accept\n\t* \"instance or input\" go through this, so the constructor keeps one\n\t* canonical shape instead of widening to a union.\n\t*/\n\tstatic from(value) {\n\t\treturn value instanceof CheckConstraint ? value : new CheckConstraint(value);\n\t}\n};\n//#endregion\n//#region src/ir/sql-index.ts\n/**\n* SQL Contract IR node for a table-level secondary index, name-identified:\n* `name` is the full physical name; a present `prefix` marks the index as\n* wire-named (`name` is `formatWireName(prefix, <8hex>)`), an absent `prefix`\n* marks it exact (the name is adopted verbatim).\n*\n* `expression`, `where`, and `unique` are genuine SQL-family attributes —\n* functional and partial indexes are standard SQL supported natively by\n* Postgres and SQLite alike, and the family IR must be able to represent\n* anything any SQL target can introspect. A target declining to AUTHOR them\n* (SQLite's rejection at namespace construction) is a capability decision,\n* not evidence of target-specificity.\n*\n* Note that this class shadows the global TypeScript `Index` lib type\n* at the family-shared name; consumer files that need both should\n* alias one (e.g.\n* `import { Index as SqlIndexNode } from '@internal/sql-contract/types'`).\n*/\nvar Index = class Index extends SqlNode {\n\tname;\n\tunique;\n\tconstructor(input) {\n\t\tsuper();\n\t\tconst name = nameOf(input.naming);\n\t\tif (name.length === 0) throw new ContractValidationError(\"Index: every index carries a full physical name; an expression index must be explicitly named (a default name cannot be derived from an expression).\", \"storage\");\n\t\tif (input.columns === void 0 === (input.expression === void 0)) throw new ContractValidationError(`Index \"${name}\": exactly one of columns or expression must be set.`, \"storage\");\n\t\tthis.name = name;\n\t\tthis.unique = input.unique;\n\t\tif (input.naming.kind === \"wire\") this.prefix = input.naming.prefix;\n\t\tif (input.columns !== void 0) this.columns = input.columns;\n\t\tif (input.expression !== void 0) this.expression = input.expression;\n\t\tif (input.where !== void 0) this.where = input.where;\n\t\tif (input.type !== void 0) this.type = input.type;\n\t\tif (input.options !== void 0) this.options = input.options;\n\t\tfreezeNode(this);\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof Index ? value : new Index(value);\n\t}\n};\n//#endregion\n//#region src/ir/foreign-key-reference.ts\n/**\n* SQL Contract IR node for one side (source or target) of a foreign-key\n* declaration. Carries the full coordinate: namespace, table, and columns.\n*\n* Cross-space discrimination is based on `spaceId` presence: absent means\n* local (same contract-space); present means cross-space (the referenced\n* table lives in the contract-space identified by `spaceId`).\n*\n* For local references `spaceId` is absent from JSON, keeping the serialized\n* shape byte-identical to contracts authored before cross-space support was\n* added. For cross-space references `spaceId` appears in JSON so round-trips\n* are lossless.\n*\n* Use `UNBOUND_NAMESPACE_ID` from `@internal/framework-components/ir`\n* as the sentinel `namespaceId` for single-namespace (unbound) references.\n*/\nvar ForeignKeyReference = class ForeignKeyReference extends SqlNode {\n\tnamespaceId;\n\ttableName;\n\tcolumns;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.namespaceId = asNamespaceId(input.namespaceId);\n\t\tthis.tableName = input.tableName;\n\t\tthis.columns = input.columns;\n\t\tif (input.spaceId !== void 0) this.spaceId = input.spaceId;\n\t\tfreezeNode(this);\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof ForeignKeyReference ? value : new ForeignKeyReference(value);\n\t}\n};\n//#endregion\n//#region src/ir/foreign-key.ts\n/**\n* SQL Contract IR node for a table-level foreign-key declaration — the\n* referential constraint only (source, target, `onDelete`/`onUpdate`).\n*\n* A persisted `foreignKeys[]` entry always denotes a real constraint: whether\n* to emit the constraint at all, and whether to back it with an index, are\n* authoring-time decisions (PSL `@relation(index:)`, TS `fk({ constraint,\n* index })`) resolved once at `contract emit` — a `constraint: false` FK\n* simply has no entry here, and a backing index (if any) is its own discrete,\n* named entry in the table's `indexes[]`.\n*\n* Each FK carries explicit `source` and `target` {@link ForeignKeyReference}\n* coordinates (namespace, table, columns). For single-namespace contracts the\n* sentinel `UNBOUND_NAMESPACE_ID` appears on both sides.\n*\n* The nested references are normalised to {@link ForeignKeyReference}\n* instances inside the constructor so downstream walks see a uniform AST\n* regardless of whether the input was a JSON literal or an already-constructed\n* class instance.\n*/\nvar ForeignKey = class ForeignKey extends SqlNode {\n\tsource;\n\ttarget;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.source = ForeignKeyReference.from(input.source);\n\t\tthis.target = ForeignKeyReference.from(input.target);\n\t\tif (input.name !== void 0) this.name = input.name;\n\t\tif (input.onDelete !== void 0) this.onDelete = input.onDelete;\n\t\tif (input.onUpdate !== void 0) this.onUpdate = input.onUpdate;\n\t\tfreezeNode(this);\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof ForeignKey ? value : new ForeignKey(value);\n\t}\n};\n//#endregion\n//#region src/ir/primary-key.ts\n/**\n* SQL Contract IR node for a table's primary-key constraint.\n*/\nvar PrimaryKey = class PrimaryKey extends SqlNode {\n\tcolumns;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.columns = input.columns;\n\t\tif (input.name !== void 0) this.name = input.name;\n\t\tfreezeNode(this);\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof PrimaryKey ? value : new PrimaryKey(value);\n\t}\n};\n//#endregion\n//#region src/ir/storage-column.ts\n/**\n* SQL Contract IR node for a single column entry in `StorageTable.columns`.\n*\n* Single concrete family-shared class — every SQL target reads the\n* same column shape today, so there is no per-target subclass. The\n* class type accepts any caller that constructs via\n* `new StorageColumn(input)`; literal construction sites must pass\n* through the constructor or the family-base hydration walker.\n*\n* The column's `name` is not on the class — columns are keyed by name\n* in the parent `StorageTable.columns: Record<string, StorageColumn>`\n* map, so a `name` field would be redundant with the key.\n*/\nvar StorageColumn = class StorageColumn extends SqlNode {\n\tnativeType;\n\tcodecId;\n\tnullable;\n\tmany;\n\tconstructor(input) {\n\t\tsuper();\n\t\tif (Object.hasOwn(input, \"elementNullable\")) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", \"StorageColumn elementNullable must be nested under many.\", { meta: { reason: \"sibling-elementNullable\" } });\n\t\tthis.nativeType = input.nativeType;\n\t\tthis.codecId = input.codecId;\n\t\tthis.nullable = input.nullable;\n\t\tthis.many = input.many ?? false;\n\t\tif (input.noCheck !== void 0) this.noCheck = input.noCheck;\n\t\tif (input.typeParams !== void 0) this.typeParams = input.typeParams;\n\t\tif (input.typeRef !== void 0) this.typeRef = input.typeRef;\n\t\tif (input.default !== void 0) this.default = input.default;\n\t\tif (input.control !== void 0) this.control = input.control;\n\t\tif (input.valueSet !== void 0) this.valueSet = input.valueSet;\n\t\tfreezeNode(this);\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof StorageColumn ? value : new StorageColumn(value);\n\t}\n};\n//#endregion\n//#region src/ir/unique-constraint.ts\n/**\n* SQL Contract IR node for a table-level unique constraint.\n*/\nvar UniqueConstraint = class UniqueConstraint extends SqlNode {\n\tcolumns;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.columns = input.columns;\n\t\tif (input.name !== void 0) this.name = input.name;\n\t\tfreezeNode(this);\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof UniqueConstraint ? value : new UniqueConstraint(value);\n\t}\n};\n//#endregion\n//#region src/ir/storage-table.ts\n/**\n* SQL Contract IR node for a single table entry in a namespace's\n* `tables` map.\n*\n* The constructor normalises nested IR-class fields (columns, primary\n* key, uniques, indexes, foreign keys) into the appropriate class\n* instances so downstream walks see a uniform AST regardless of whether\n* the input was a JSON literal or an already-constructed class.\n*\n* The table's `name` is not on the class — tables are keyed by name in\n* the parent namespace's `tables: Record<string, StorageTable>` map.\n*/\nvar StorageTable = class StorageTable extends SqlNode {\n\tcolumns;\n\tuniques;\n\tindexes;\n\tforeignKeys;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.columns = Object.freeze(Object.fromEntries(Object.entries(input.columns).map(([name, col]) => [name, StorageColumn.from(col)])));\n\t\tif (input.primaryKey !== void 0) this.primaryKey = PrimaryKey.from(input.primaryKey);\n\t\tthis.uniques = Object.freeze(input.uniques.map(UniqueConstraint.from));\n\t\tthis.indexes = Object.freeze(input.indexes.map(Index.from));\n\t\tthis.foreignKeys = Object.freeze(input.foreignKeys.map(ForeignKey.from));\n\t\tif (input.control !== void 0) this.control = input.control;\n\t\tif (input.checks !== void 0 && input.checks.length > 0) this.checks = Object.freeze(input.checks.map(CheckConstraint.from));\n\t\tfreezeNode(this);\n\t}\n\t/**\n\t* Runtime guard that a namespace `table` entry is really a `StorageTable`.\n\t* The compiler already types the entry as `StorageTable`, but a\n\t* freshly-deserialized contract may carry plain JSON at that slot until\n\t* hydration; this duck-types the structural shape. Accepts `undefined` so\n\t* optional-chained entry lookups pass straight through.\n\t*/\n\tstatic is(value) {\n\t\tif (typeof value !== \"object\" || value === null) return false;\n\t\treturn \"columns\" in value && \"uniques\" in value && \"indexes\" in value && \"foreignKeys\" in value;\n\t}\n\tstatic assert(value, coordinate) {\n\t\tif (!StorageTable.is(value)) throw new InternalError(`Expected a StorageTable at ${coordinate}`);\n\t}\n};\n//#endregion\nexport { ForeignKey as a, CheckConstraint as c, PrimaryKey as i, SqlNode as l, UniqueConstraint as n, ForeignKeyReference as o, StorageColumn as r, Index as s, StorageTable as t };\n\n//# sourceMappingURL=storage-table-ADhJ4Imk.mjs.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storage-table-BwwDKQkD-BN9cZrGX.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/storage-table-BwwDKQkD.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { nameOf } from \"@internal/sql-schema-ir/naming\";\nimport { IRNodeBase, freezeNode } from \"@internal/framework-components/ir\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { ContractValidationError } from \"@internal/contract/contract-validation-error\";\nimport { asNamespaceId } from \"@internal/contract/types\";\n//#region src/ir/sql-node.ts\n/**\n* SQL family IR node base. Carries the family-level `kind` discriminator\n* `'sql'` and inherits the framework's `freezeNode` affordance.\n*\n* Single family-level discriminator (not per-leaf) reflects the fact that\n* SQL IR has no polymorphic dispatch today — verifiers and serializers\n* walk by structural position (`storage.tables[name].columns[name]`),\n* not by inspecting `kind`. The abstract bar for per-leaf discriminators\n* isn't earned until a future polymorphic consumer arrives.\n*\n* `kind` is installed as a non-enumerable own property on every instance,\n* which keeps three things clean simultaneously:\n*\n* - `JSON.stringify(node)` produces the canonical pre-lift JSON envelope\n* shape (no `kind` field), so emitted contract.json files and the\n* `validateSqlContractFully` arktype schemas stay unchanged.\n* - Test assertions that use `toEqual({...})` against the pre-lift flat\n* shape continue to pass — only enumerable own properties are\n* compared.\n* - Direct access (`node.kind`) and runtime narrowing\n* (`if (node.kind === 'sql')`) still work, so future polymorphic\n* dispatch can begin reading `kind` without a runtime change.\n*\n* Future per-leaf overrides land cleanly: a class that gains a\n* polymorphic-dispatch consumer (e.g. an enum type instance walked\n* alongside other types) overrides `kind` with its narrower literal\n* at that leaf level. Per-leaf overrides will use enumerable kind\n* (matching the Mongo per-class-discriminator precedent) because they\n* encode dispatch-relevant information that callers need to see in\n* JSON envelopes; the family-level `'sql'` is uniform across all SQL\n* IR and carries no dispatch-relevant information.\n*/\nvar SqlNode = class extends IRNodeBase {\n\tkind;\n\tconstructor() {\n\t\tsuper();\n\t\tObject.defineProperty(this, \"kind\", {\n\t\t\tvalue: \"sql\",\n\t\t\twritable: false,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true\n\t\t});\n\t}\n};\n//#endregion\n//#region src/ir/check-constraint.ts\n/**\n* SQL Contract IR node for a table-level check constraint, name-identified:\n* `name` is the full physical name; a present `prefix` marks the constraint as\n* wire-named (`name` is `formatWireName(prefix, <8hex>)` over the expression's\n* content hash), an absent `prefix` marks it exact (the name is adopted\n* verbatim). This is the convention indexes and RLS policies already use — see\n* ADR 234, \"Content-addressed wire names for Postgres-normalized objects\".\n*\n* The predicate is opaque: one SQL string, never parsed and never rendered\n* from structured parts. A database reprints predicates in its own normalized\n* form, so a wire-named check is compared by name — the hash already commits\n* to the expression the contract declared.\n*/\nvar CheckConstraint = class CheckConstraint extends SqlNode {\n\tname;\n\texpression;\n\tconstructor(input) {\n\t\tsuper();\n\t\tconst name = nameOf(input.naming);\n\t\tif (name.length === 0) throw new ContractValidationError(\"CheckConstraint: every check constraint carries a full physical name.\", \"storage\");\n\t\tthis.name = name;\n\t\tif (input.naming.kind === \"wire\") this.prefix = input.naming.prefix;\n\t\tthis.expression = input.expression;\n\t\tfreezeNode(this);\n\t}\n\t/**\n\t* Normalizes either shape into an instance: an existing `CheckConstraint`\n\t* passes through, canonical input is constructed. Callers that accept\n\t* \"instance or input\" go through this, so the constructor keeps one\n\t* canonical shape instead of widening to a union.\n\t*/\n\tstatic from(value) {\n\t\treturn value instanceof CheckConstraint ? value : new CheckConstraint(value);\n\t}\n};\n//#endregion\n//#region src/ir/sql-index.ts\n/**\n* SQL Contract IR node for a table-level secondary index, name-identified:\n* `name` is the full physical name; a present `prefix` marks the index as\n* wire-named (`name` is `formatWireName(prefix, <8hex>)`), an absent `prefix`\n* marks it exact (the name is adopted verbatim).\n*\n* `expression`, `where`, and `unique` are genuine SQL-family attributes —\n* functional and partial indexes are standard SQL supported natively by\n* Postgres and SQLite alike, and the family IR must be able to represent\n* anything any SQL target can introspect. A target declining to AUTHOR them\n* (SQLite's rejection at namespace construction) is a capability decision,\n* not evidence of target-specificity.\n*\n* Note that this class shadows the global TypeScript `Index` lib type\n* at the family-shared name; consumer files that need both should\n* alias one (e.g.\n* `import { Index as SqlIndexNode } from '@internal/sql-contract/types'`).\n*/\nvar Index = class Index extends SqlNode {\n\tname;\n\tunique;\n\tconstructor(input) {\n\t\tsuper();\n\t\tconst name = nameOf(input.naming);\n\t\tif (name.length === 0) throw new ContractValidationError(\"Index: every index carries a full physical name; an expression index must be explicitly named (a default name cannot be derived from an expression).\", \"storage\");\n\t\tif (input.columns === void 0 === (input.expression === void 0)) throw new ContractValidationError(`Index \"${name}\": exactly one of columns or expression must be set.`, \"storage\");\n\t\tthis.name = name;\n\t\tthis.unique = input.unique;\n\t\tif (input.naming.kind === \"wire\") this.prefix = input.naming.prefix;\n\t\tif (input.columns !== void 0) this.columns = input.columns;\n\t\tif (input.expression !== void 0) this.expression = input.expression;\n\t\tif (input.where !== void 0) this.where = input.where;\n\t\tif (input.type !== void 0) this.type = input.type;\n\t\tif (input.options !== void 0) this.options = input.options;\n\t\tfreezeNode(this);\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof Index ? value : new Index(value);\n\t}\n};\n//#endregion\n//#region src/ir/foreign-key-reference.ts\n/**\n* SQL Contract IR node for one side (source or target) of a foreign-key\n* declaration. Carries the full coordinate: namespace, table, and columns.\n*\n* Cross-space discrimination is based on `spaceId` presence: absent means\n* local (same contract-space); present means cross-space (the referenced\n* table lives in the contract-space identified by `spaceId`).\n*\n* For local references `spaceId` is absent from JSON, keeping the serialized\n* shape byte-identical to contracts authored before cross-space support was\n* added. For cross-space references `spaceId` appears in JSON so round-trips\n* are lossless.\n*\n* Use `UNBOUND_NAMESPACE_ID` from `@internal/framework-components/ir`\n* as the sentinel `namespaceId` for single-namespace (unbound) references.\n*/\nvar ForeignKeyReference = class ForeignKeyReference extends SqlNode {\n\tnamespaceId;\n\ttableName;\n\tcolumns;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.namespaceId = asNamespaceId(input.namespaceId);\n\t\tthis.tableName = input.tableName;\n\t\tthis.columns = input.columns;\n\t\tif (input.spaceId !== void 0) this.spaceId = input.spaceId;\n\t\tfreezeNode(this);\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof ForeignKeyReference ? value : new ForeignKeyReference(value);\n\t}\n};\n//#endregion\n//#region src/ir/foreign-key.ts\n/**\n* SQL Contract IR node for a table-level foreign-key declaration — the\n* referential constraint only (source, target, `onDelete`/`onUpdate`).\n*\n* A persisted `foreignKeys[]` entry always denotes a real constraint: whether\n* to emit the constraint at all, and whether to back it with an index, are\n* authoring-time decisions (PSL `@relation(index:)`, TS `fk({ constraint,\n* index })`) resolved once at `contract emit` — a `constraint: false` FK\n* simply has no entry here, and a backing index (if any) is its own discrete,\n* named entry in the table's `indexes[]`.\n*\n* Each FK carries explicit `source` and `target` {@link ForeignKeyReference}\n* coordinates (namespace, table, columns). For single-namespace contracts the\n* sentinel `UNBOUND_NAMESPACE_ID` appears on both sides.\n*\n* The nested references are normalised to {@link ForeignKeyReference}\n* instances inside the constructor so downstream walks see a uniform AST\n* regardless of whether the input was a JSON literal or an already-constructed\n* class instance.\n*/\nvar ForeignKey = class ForeignKey extends SqlNode {\n\tsource;\n\ttarget;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.source = ForeignKeyReference.from(input.source);\n\t\tthis.target = ForeignKeyReference.from(input.target);\n\t\tif (input.name !== void 0) this.name = input.name;\n\t\tif (input.onDelete !== void 0) this.onDelete = input.onDelete;\n\t\tif (input.onUpdate !== void 0) this.onUpdate = input.onUpdate;\n\t\tfreezeNode(this);\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof ForeignKey ? value : new ForeignKey(value);\n\t}\n};\n//#endregion\n//#region src/ir/primary-key.ts\n/**\n* SQL Contract IR node for a table's primary-key constraint.\n*/\nvar PrimaryKey = class PrimaryKey extends SqlNode {\n\tcolumns;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.columns = input.columns;\n\t\tif (input.name !== void 0) this.name = input.name;\n\t\tfreezeNode(this);\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof PrimaryKey ? value : new PrimaryKey(value);\n\t}\n};\n//#endregion\n//#region src/ir/storage-column.ts\n/**\n* SQL Contract IR node for a single column entry in `StorageTable.columns`.\n*\n* Single concrete family-shared class — every SQL target reads the\n* same column shape today, so there is no per-target subclass. The\n* class type accepts any caller that constructs via\n* `new StorageColumn(input)`; literal construction sites must pass\n* through the constructor or the family-base hydration walker.\n*\n* The column's `name` is not on the class — columns are keyed by name\n* in the parent `StorageTable.columns: Record<string, StorageColumn>`\n* map, so a `name` field would be redundant with the key.\n*/\nvar StorageColumn = class StorageColumn extends SqlNode {\n\tnativeType;\n\tcodecId;\n\tnullable;\n\tmany;\n\tconstructor(input) {\n\t\tsuper();\n\t\tif (Object.hasOwn(input, \"elementNullable\")) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", \"StorageColumn elementNullable must be nested under many.\", { meta: { reason: \"sibling-elementNullable\" } });\n\t\tthis.nativeType = input.nativeType;\n\t\tthis.codecId = input.codecId;\n\t\tthis.nullable = input.nullable;\n\t\tthis.many = input.many ?? false;\n\t\tif (input.noCheck !== void 0) this.noCheck = input.noCheck;\n\t\tif (input.typeParams !== void 0) this.typeParams = input.typeParams;\n\t\tif (input.typeRef !== void 0) this.typeRef = input.typeRef;\n\t\tif (input.default !== void 0) this.default = input.default;\n\t\tif (input.control !== void 0) this.control = input.control;\n\t\tif (input.valueSet !== void 0) this.valueSet = input.valueSet;\n\t\tfreezeNode(this);\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof StorageColumn ? value : new StorageColumn(value);\n\t}\n};\n//#endregion\n//#region src/ir/unique-constraint.ts\n/**\n* SQL Contract IR node for a table-level unique constraint.\n*/\nvar UniqueConstraint = class UniqueConstraint extends SqlNode {\n\tcolumns;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.columns = input.columns;\n\t\tif (input.name !== void 0) this.name = input.name;\n\t\tfreezeNode(this);\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof UniqueConstraint ? value : new UniqueConstraint(value);\n\t}\n};\n//#endregion\n//#region src/ir/storage-table.ts\n/**\n* SQL Contract IR node for a single table entry in a namespace's\n* `tables` map.\n*\n* The constructor normalises nested IR-class fields (columns, primary\n* key, uniques, indexes, foreign keys) into the appropriate class\n* instances so downstream walks see a uniform AST regardless of whether\n* the input was a JSON literal or an already-constructed class.\n*\n* The table's `name` is not on the class — tables are keyed by name in\n* the parent namespace's `tables: Record<string, StorageTable>` map.\n*/\nvar StorageTable = class StorageTable extends SqlNode {\n\tcolumns;\n\tuniques;\n\tindexes;\n\tforeignKeys;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.columns = Object.freeze(Object.fromEntries(Object.entries(input.columns).map(([name, col]) => [name, StorageColumn.from(col)])));\n\t\tif (input.primaryKey !== void 0) this.primaryKey = PrimaryKey.from(input.primaryKey);\n\t\tthis.uniques = Object.freeze(input.uniques.map(UniqueConstraint.from));\n\t\tthis.indexes = Object.freeze(input.indexes.map(Index.from));\n\t\tthis.foreignKeys = Object.freeze(input.foreignKeys.map(ForeignKey.from));\n\t\tif (input.control !== void 0) this.control = input.control;\n\t\tif (input.checks !== void 0 && input.checks.length > 0) this.checks = Object.freeze(input.checks.map(CheckConstraint.from));\n\t\tfreezeNode(this);\n\t}\n\t/**\n\t* Runtime guard that a namespace `table` entry is really a `StorageTable`.\n\t* The compiler already types the entry as `StorageTable`, but a\n\t* freshly-deserialized contract may carry plain JSON at that slot until\n\t* hydration; this duck-types the structural shape. Accepts `undefined` so\n\t* optional-chained entry lookups pass straight through.\n\t*/\n\tstatic is(value) {\n\t\tif (typeof value !== \"object\" || value === null) return false;\n\t\treturn \"columns\" in value && \"uniques\" in value && \"indexes\" in value && \"foreignKeys\" in value;\n\t}\n\tstatic assert(value, coordinate) {\n\t\tif (!StorageTable.is(value)) throw new InternalError(`Expected a StorageTable at ${coordinate}`);\n\t}\n};\n//#endregion\nexport { ForeignKey as a, CheckConstraint as c, PrimaryKey as i, SqlNode as l, UniqueConstraint as n, ForeignKeyReference as o, StorageColumn as r, Index as s, StorageTable as t };\n\n//# sourceMappingURL=storage-table-BwwDKQkD.mjs.map"],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { DataTypeAuthoringEntry } from "@prisma/orm-framework/components/authoring";
|
|
2
|
-
import { ColumnDefault } from "@prisma/orm-framework/contract/types";
|
|
3
2
|
import { DataTypeId, DataTypeLookup } from "@prisma/orm-framework/components/codec";
|
|
4
|
-
|
|
3
|
+
import { ColumnDefault } from "@prisma/orm-framework/contract/types";
|
|
4
|
+
//#region ../../../2-sql/9-family/dist/type-map-DmIbL4o-.d.mts
|
|
5
5
|
//#region src/core/psl-build/default-mapping.d.ts
|
|
6
6
|
interface DefaultMappingOptions {
|
|
7
7
|
readonly functionAttributes?: Readonly<Record<string, string>>;
|
|
8
8
|
/** PSL support for the stack's data types, keyed by data type id. */
|
|
9
9
|
readonly dataTypeEntries?: Readonly<Record<string, DataTypeAuthoringEntry>> | undefined;
|
|
10
10
|
/** The stack's data types, whose casts say which other types' values each one takes. */
|
|
11
|
-
readonly
|
|
11
|
+
readonly dataTypeLookup?: DataTypeLookup | undefined;
|
|
12
12
|
/** The data type of the column's codec. */
|
|
13
13
|
readonly columnDataType?: DataTypeId | undefined;
|
|
14
14
|
/**
|
|
@@ -46,4 +46,4 @@ interface PslTypeMap {
|
|
|
46
46
|
}
|
|
47
47
|
//#endregion
|
|
48
48
|
export { PslTypeResolution as a, PslTypeReference as i, DefaultMappingResult as n, mapDefault as o, PslTypeMap as r, DefaultMappingOptions as t };
|
|
49
|
-
//# sourceMappingURL=type-map-
|
|
49
|
+
//# sourceMappingURL=type-map-DmIbL4o--BfPMblbZ.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-map-DmIbL4o--BfPMblbZ.d.mts","names":[],"sources":["../../../../2-sql/9-family/dist/type-map-DmIbL4o-.d.mts"],"mappings":";;;;;UAIU;WACC,qBAAqB,SAAS;;WAE9B,kBAAkB,SAAS,eAAe;;WAE1C,iBAAiB;;WAEjB,iBAAiB;;;;;WAKjB;;KAEN;WACM;;;;;;iBAMM,WAAW,eAAe,eAAe,UAAU,wBAAwB;;;;KAIvF;WACM;WACA;;KAEN;WACM,SAAS;WACT;WACA,aAAa;;WAEb;WACA;;;UAGD;EACR,QAAQ,oBAAoB,cAAc,0BAA0B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { structuredError } from "@prisma/orm-framework/utils/structured-error";
|
|
2
|
-
import { InternalError } from "@prisma/orm-framework/utils/internal-error";
|
|
3
2
|
import { ifDefined } from "@prisma/orm-framework/utils/defined";
|
|
4
|
-
|
|
3
|
+
import { InternalError } from "@prisma/orm-framework/utils/internal-error";
|
|
4
|
+
//#region ../../../2-sql/4-lanes/relational-core/dist/types-BLnsGaJf.mjs
|
|
5
5
|
function isJsonArray(value) {
|
|
6
6
|
return Array.isArray(value);
|
|
7
7
|
}
|
|
@@ -1528,4 +1528,4 @@ function isWhereExpr(value) {
|
|
|
1528
1528
|
//#endregion
|
|
1529
1529
|
export { PreparedParamRef as A, frozenCodecRef as B, LiteralExpr as C, OrExpr as D, OperationExpr as E, SubqueryExpr as F, isWhereExpr as G, isOrderByDirection as H, TableSource as I, queryAstKinds as K, UpdateAst as L, RawExpr as M, RawQueryAst as N, OrderByItem as O, SelectAst as P, WindowFuncExpr as R, ListExpression as S, NullCheckExpr as T, isOrderByNulls as U, isAggregateFn as V, isQueryAst as W, InsertAst as _, CastExpr as a, JsonArrayAggExpr as b, DeleteAst as c, DoUpdateSetConflictAction as d, EqColJoinOn as f, IdentifierRef as g, FunctionSource as h, CaseExpr as i, ProjectionItem as j, ParamRef as k, DerivedTableSource as l, FunctionCallExpr as m, AndExpr as n, ColumnRef as o, ExistsExpr as p, whereExprKinds as q, BinaryExpr as r, DefaultValueExpr as s, AggregateExpr as t, DoNothingConflictAction as u, InsertOnConflict as v, NotExpr as w, JsonObjectExpr as x, JoinAst as y, aggregateFnNames as z };
|
|
1530
1530
|
|
|
1531
|
-
//# sourceMappingURL=types-
|
|
1531
|
+
//# sourceMappingURL=types-BLnsGaJf-m-qTW3ox.mjs.map
|