@prisma/orm-family-sql 8.0.0-rc.14-dev.29 → 8.0.0-rc.14-dev.30
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 +11 -11
- package/dist/orm-client.mjs +6 -6
- 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":"types-BPi4d3WI-D8PIEqBU.mjs","names":["#asAnyExpression","#aliasOptions"],"sources":["../../../../2-sql/4-lanes/relational-core/dist/types-BPi4d3WI.mjs"],"sourcesContent":["import { ifDefined } from \"@internal/utils/defined\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { InternalError } from \"@internal/utils/internal-error\";\n//#region src/ast/codec-types.ts\nfunction isJsonArray(value) {\n\treturn Array.isArray(value);\n}\nfunction freezeJsonValue(value) {\n\tif (value === null || typeof value !== \"object\") return;\n\tif (isJsonArray(value)) for (const item of value) freezeJsonValue(item);\n\telse for (const item of Object.values(value)) freezeJsonValue(item);\n\tObject.freeze(value);\n}\nfunction frozenCodecRef(codec) {\n\tconst typeParams = codec.typeParams === void 0 ? void 0 : structuredClone(codec.typeParams);\n\tif (typeParams !== void 0) freezeJsonValue(typeParams);\n\treturn Object.freeze({\n\t\tcodecId: codec.codecId,\n\t\t...ifDefined(\"typeParams\", typeParams),\n\t\t...ifDefined(\"many\", codec.many)\n\t});\n}\n//#endregion\n//#region src/ast/types.ts\nfunction isOrderByDirection(value) {\n\treturn value === \"asc\" || value === \"desc\";\n}\nfunction isOrderByNulls(value) {\n\treturn value === \"first\" || value === \"last\";\n}\n/**\n* The closed SQL aggregate alphabet: every function name an {@link AggregateExpr} can carry, and so the set renderers are exhaustive over. Aggregate operation names are an open namespace; an operation outside the alphabet reaches SQL only through a descriptor's lowering hook, which builds its expression from existing nodes.\n*/\nconst aggregateFnNames = /* @__PURE__ */ new Set([\n\t\"count\",\n\t\"sum\",\n\t\"avg\",\n\t\"min\",\n\t\"max\"\n]);\n/** Whether `name` is in the closed SQL aggregate alphabet, and so lowers to a plain {@link AggregateExpr} without a descriptor-supplied hook. */\nfunction isAggregateFn(name) {\n\treturn aggregateFnNames.has(name);\n}\nconst toAnyExpressionVisitor = {\n\tcolumnRef: (expr) => expr,\n\tidentifierRef: (expr) => expr,\n\tsubquery: (expr) => expr,\n\toperation: (expr) => expr,\n\taggregate: (expr) => expr,\n\twindowFunc: (expr) => expr,\n\tfunctionCall: (expr) => expr,\n\tcast: (expr) => expr,\n\tcase: (expr) => expr,\n\tjsonObject: (expr) => expr,\n\tjsonArrayAgg: (expr) => expr,\n\tbinary: (expr) => expr,\n\tand: (expr) => expr,\n\tor: (expr) => expr,\n\texists: (expr) => expr,\n\tnullCheck: (expr) => expr,\n\tnot: (expr) => expr,\n\tliteral: (expr) => expr,\n\tparam: (expr) => expr,\n\tpreparedParam: (expr) => expr,\n\tlist: (expr) => expr,\n\trawExpr: (expr) => expr\n};\nfunction frozenArrayCopy(values) {\n\treturn Object.freeze([...values]);\n}\nfunction frozenOptionalRecordCopy(value) {\n\treturn value === void 0 ? void 0 : Object.freeze({ ...value });\n}\nfunction frozenRecordCopy(record) {\n\treturn Object.freeze({ ...record });\n}\nfunction freezeRows(rows) {\n\treturn Object.freeze(rows.map((row) => Object.freeze({ ...row })));\n}\nfunction combineAll(folder, thunks) {\n\tlet result = folder.empty;\n\tfor (const thunk of thunks) {\n\t\tif (folder.isAbsorbing?.(result)) return result;\n\t\tresult = folder.combine(result, thunk());\n\t}\n\treturn result;\n}\nfunction rewriteComparable(value, rewriter) {\n\tswitch (value.kind) {\n\t\tcase \"param-ref\": return rewriter.paramRef ? rewriter.paramRef(value) : value;\n\t\tcase \"prepared-param-ref\": return rewriter.preparedParamRef ? rewriter.preparedParamRef(value) : value;\n\t\tcase \"literal\": return rewriter.literal ? rewriter.literal(value) : value;\n\t\tcase \"list\":\n\t\t\tif (rewriter.list) return rewriter.list(value);\n\t\t\treturn value.rewrite(rewriter);\n\t\tdefault: return value.rewrite(rewriter);\n\t}\n}\nfunction foldComparable(value, folder) {\n\tswitch (value.kind) {\n\t\tcase \"param-ref\": return folder.paramRef ? folder.paramRef(value) : folder.empty;\n\t\tcase \"prepared-param-ref\": return folder.preparedParamRef ? folder.preparedParamRef(value) : folder.empty;\n\t\tcase \"literal\": return folder.literal ? folder.literal(value) : folder.empty;\n\t\tcase \"list\": return value.fold(folder);\n\t\tdefault: return value.fold(folder);\n\t}\n}\nfunction collectColumnRefsWith(node) {\n\treturn node.fold({\n\t\tempty: [],\n\t\tcombine: (a, b) => [...a, ...b],\n\t\tcolumnRef: (columnRef) => [columnRef],\n\t\tselect: (ast) => ast.collectColumnRefs()\n\t});\n}\nfunction collectParamRefsWith(node) {\n\treturn node.fold({\n\t\tempty: [],\n\t\tcombine: (a, b) => [...a, ...b],\n\t\tparamRef: (paramRef) => [paramRef],\n\t\tpreparedParamRef: (paramRef) => [paramRef],\n\t\tselect: (ast) => ast.collectParamRefs()\n\t});\n}\nfunction rewriteTableSource(table, rewriter) {\n\treturn rewriter.tableSource ? rewriter.tableSource(table) : table;\n}\nfunction rewriteProjectionItem(item, rewriter) {\n\tconst rewrittenExpr = item.expr.kind === \"literal\" ? rewriter.literal ? rewriter.literal(item.expr) : item.expr : item.expr.rewrite(rewriter);\n\treturn new ProjectionItem(item.alias, rewrittenExpr, item.codec);\n}\nfunction rewriteInsertValue(value, rewriter) {\n\tswitch (value.kind) {\n\t\tcase \"param-ref\": return rewriter.paramRef ? rewriteParamRefForInsert(value, rewriter) : value;\n\t\tcase \"prepared-param-ref\": return rewriter.preparedParamRef ? rewriter.preparedParamRef(value) : value;\n\t\tcase \"column-ref\": return rewriter.columnRef ? rewriteColumnRefForInsert(value, rewriter) : value;\n\t\tcase \"default-value\": return value;\n\t\tcase \"raw-expr\": return value;\n\t}\n}\nfunction rewriteParamRefForInsert(value, rewriter) {\n\tconst rewritten = rewriter.paramRef ? rewriter.paramRef(value) : value;\n\treturn rewritten.kind === \"param-ref\" ? rewritten : value;\n}\nfunction rewriteColumnRefForInsert(value, rewriter) {\n\tconst rewritten = rewriter.columnRef ? rewriter.columnRef(value) : value;\n\treturn rewritten.kind === \"column-ref\" ? rewritten : value;\n}\nfunction rewriteInsertRow(row, rewriter) {\n\tconst result = {};\n\tfor (const [key, value] of Object.entries(row)) result[key] = rewriteInsertValue(value, rewriter);\n\treturn result;\n}\nfunction rewriteUpdateSet(set, rewriter) {\n\tconst result = {};\n\tfor (const [key, value] of Object.entries(set)) result[key] = value.rewrite(rewriter);\n\treturn result;\n}\nfunction rewriteLimitOffset(value, rewriter) {\n\tif (value === void 0 || typeof value === \"number\") return value;\n\treturn value.rewrite(rewriter);\n}\nfunction rewriteOnConflict(onConflict, rewriter) {\n\tconst columns = onConflict.columns.map((columnRef) => {\n\t\tconst rewritten = rewriter.columnRef ? rewriter.columnRef(columnRef) : columnRef;\n\t\treturn rewritten.kind === \"column-ref\" ? rewritten : columnRef;\n\t});\n\tif (onConflict.action.kind === \"do-nothing\") return new InsertOnConflict(columns, new DoNothingConflictAction());\n\treturn new InsertOnConflict(columns, new DoUpdateSetConflictAction(rewriteUpdateSet(onConflict.action.set, rewriter)));\n}\nvar AstNode = class {\n\tfreeze() {\n\t\tObject.freeze(this);\n\t}\n};\nvar QueryAst = class extends AstNode {};\nvar FromSource = class extends AstNode {};\nvar Expression = class extends AstNode {\n\tcollectColumnRefs() {\n\t\treturn collectColumnRefsWith(this);\n\t}\n\tcollectParamRefs() {\n\t\treturn collectParamRefsWith(this);\n\t}\n\tbaseColumnRef() {\n\t\tthrow new InternalError(`${this.constructor.name} does not expose a base column reference`);\n\t}\n\t#asAnyExpression() {\n\t\treturn this.accept(toAnyExpressionVisitor);\n\t}\n\ttoExpr() {\n\t\treturn this.#asAnyExpression();\n\t}\n\tnot() {\n\t\treturn new NotExpr(this.#asAnyExpression());\n\t}\n};\nvar TableSource = class TableSource extends FromSource {\n\tkind = \"table-source\";\n\tname;\n\talias;\n\t/**\n\t* Resolved storage namespace coordinate for this table, stamped when the\n\t* table proxy constructs the AST. Renderers qualify via the namespace\n\t* concretion's `qualifyTable()` using this id — never by re-resolving the\n\t* bare table name at render time.\n\t*/\n\tnamespaceId;\n\tconstructor(name, alias, namespaceId) {\n\t\tsuper();\n\t\tthis.name = name;\n\t\tthis.alias = alias;\n\t\tthis.namespaceId = namespaceId;\n\t}\n\tstatic named(name, alias, namespaceId) {\n\t\tconst source = new TableSource(name, alias, namespaceId);\n\t\tsource.freeze();\n\t\treturn source;\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.tableSource ? rewriter.tableSource(this) : this;\n\t}\n\ttoFromSource() {\n\t\treturn this;\n\t}\n};\nvar DerivedTableSource = class DerivedTableSource extends FromSource {\n\tkind = \"derived-table-source\";\n\talias;\n\tquery;\n\tconstructor(alias, query) {\n\t\tsuper();\n\t\tthis.alias = alias;\n\t\tthis.query = query;\n\t\tthis.freeze();\n\t}\n\tstatic as(alias, query) {\n\t\treturn new DerivedTableSource(alias, query);\n\t}\n\trewrite(rewriter) {\n\t\treturn new DerivedTableSource(this.alias, this.query.rewrite(rewriter));\n\t}\n\ttoFromSource() {\n\t\treturn this;\n\t}\n};\nvar FunctionSource = class FunctionSource extends FromSource {\n\tkind = \"function-source\";\n\tfn;\n\targs;\n\talias;\n\tcolumnAliases;\n\tordinality;\n\tconstructor(fn, args, alias, ordinality = false) {\n\t\tsuper();\n\t\tif (alias?.columnAliases?.length === 0) throw structuredError(\"RUNTIME.AST_INVALID\", \"FunctionSource column aliases must not be empty\", { meta: {\n\t\t\tkind: \"function-source\",\n\t\t\tfield: \"columnAliases\"\n\t\t} });\n\t\tthis.fn = fn;\n\t\tthis.args = frozenArrayCopy(args);\n\t\tthis.alias = alias?.alias;\n\t\tthis.columnAliases = alias?.columnAliases === void 0 ? void 0 : frozenArrayCopy(alias.columnAliases);\n\t\tthis.ordinality = ordinality;\n\t\tthis.freeze();\n\t}\n\tstatic of(fn, args, alias) {\n\t\treturn new FunctionSource(fn, args, alias);\n\t}\n\t#aliasOptions() {\n\t\tif (this.alias === void 0) return void 0;\n\t\treturn {\n\t\t\talias: this.alias,\n\t\t\t...ifDefined(\"columnAliases\", this.columnAliases)\n\t\t};\n\t}\n\twithOrdinality() {\n\t\tif (this.ordinality) return this;\n\t\treturn new FunctionSource(this.fn, this.args, this.#aliasOptions(), true);\n\t}\n\trewrite(rewriter) {\n\t\tconst rewrittenArgs = this.args.map((arg) => rewriteComparable(arg, rewriter));\n\t\tif (rewrittenArgs.every((arg, i) => arg === this.args[i])) return this;\n\t\treturn new FunctionSource(this.fn, rewrittenArgs, this.#aliasOptions(), this.ordinality);\n\t}\n\ttoFromSource() {\n\t\treturn this;\n\t}\n};\nvar ColumnRef = class ColumnRef extends Expression {\n\tkind = \"column-ref\";\n\ttable;\n\tcolumn;\n\tconstructor(table, column) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.column = column;\n\t\tthis.freeze();\n\t}\n\tstatic of(table, column) {\n\t\treturn new ColumnRef(table, column);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.columnRef(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.columnRef ? rewriter.columnRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.columnRef ? folder.columnRef(this) : folder.empty;\n\t}\n\tbaseColumnRef() {\n\t\treturn this;\n\t}\n};\nvar IdentifierRef = class IdentifierRef extends Expression {\n\tkind = \"identifier-ref\";\n\tname;\n\tconstructor(name) {\n\t\tsuper();\n\t\tthis.name = name;\n\t\tthis.freeze();\n\t}\n\tstatic of(name) {\n\t\treturn new IdentifierRef(name);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.identifierRef(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.identifierRef ? rewriter.identifierRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.identifierRef ? folder.identifierRef(this) : folder.empty;\n\t}\n};\nvar ParamRef = class ParamRef extends Expression {\n\tkind = \"param-ref\";\n\tvalue;\n\tname;\n\t/**\n\t* Codec identity carried by every column-bound `ParamRef`. The encode-side dispatch path materialises the per-instance codec through `contractCodecs.forCodecRef(codec)` — content-keyed memoisation on `(codecId, canonicalize(typeParams))` keeps repeated lookups for the same logical column on one shared {@link Codec}.\n\t*\n\t* `codec` may be `undefined` for `ParamRef`s constructed without a column-bound site (literals, transient builder state); the runtime treats those as untyped passthroughs.\n\t*/\n\tcodec;\n\tconstructor(value, options) {\n\t\tsuper();\n\t\tthis.value = value;\n\t\tthis.name = options?.name;\n\t\tthis.codec = options?.codec ? frozenCodecRef(options.codec) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic of(value, options) {\n\t\treturn new ParamRef(value, options);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.param(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.paramRef ? rewriter.paramRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.paramRef ? folder.paramRef(this) : folder.empty;\n\t}\n};\n/**\n* Bind-site placeholder: occupies the same positions as `ParamRef` in the\n* AST, but carries no value — the value is supplied per-execute by the\n* `statement.query(target, params)` caller and matched to this node by\n* `name`.\n*/\nvar PreparedParamRef = class PreparedParamRef extends Expression {\n\tkind = \"prepared-param-ref\";\n\tname;\n\tcodec;\n\tnullable;\n\tconstructor(name, codec, nullable = false) {\n\t\tsuper();\n\t\tthis.name = name;\n\t\tthis.codec = frozenCodecRef(codec);\n\t\tthis.nullable = nullable;\n\t\tthis.freeze();\n\t}\n\tstatic of(name, codec, nullable = false) {\n\t\treturn new PreparedParamRef(name, codec, nullable);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.preparedParam(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.preparedParamRef ? rewriter.preparedParamRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.preparedParamRef ? folder.preparedParamRef(this) : folder.empty;\n\t}\n};\nvar DefaultValueExpr = class extends AstNode {\n\tkind = \"default-value\";\n\tconstructor() {\n\t\tsuper();\n\t\tthis.freeze();\n\t}\n};\nvar LiteralExpr = class LiteralExpr extends Expression {\n\tkind = \"literal\";\n\tvalue;\n\tconstructor(value) {\n\t\tsuper();\n\t\tthis.value = value;\n\t\tthis.freeze();\n\t}\n\tstatic of(value) {\n\t\treturn new LiteralExpr(value);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.literal(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.literal ? rewriter.literal(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.literal ? folder.literal(this) : folder.empty;\n\t}\n};\nvar SubqueryExpr = class SubqueryExpr extends Expression {\n\tkind = \"subquery\";\n\tquery;\n\tconstructor(query) {\n\t\tsuper();\n\t\tthis.query = query;\n\t\tthis.freeze();\n\t}\n\tstatic of(query) {\n\t\treturn new SubqueryExpr(query);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.subquery(this);\n\t}\n\trewrite(rewriter) {\n\t\tconst query = this.query.rewrite(rewriter);\n\t\treturn new SubqueryExpr(query);\n\t}\n\tfold(folder) {\n\t\treturn folder.select ? folder.select(this.query) : folder.empty;\n\t}\n};\nvar OperationExpr = class OperationExpr extends Expression {\n\tkind = \"operation\";\n\tmethod;\n\tself;\n\targs;\n\treturns;\n\tlowering;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.method = options.method;\n\t\tthis.self = options.self;\n\t\tthis.args = frozenArrayCopy(options.args ?? []);\n\t\tthis.returns = options.returns;\n\t\tthis.lowering = options.lowering;\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.operation(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new OperationExpr({\n\t\t\tmethod: this.method,\n\t\t\tself: this.self.rewrite(rewriter),\n\t\t\targs: this.args.map((arg) => rewriteComparable(arg, rewriter)),\n\t\t\treturns: this.returns,\n\t\t\tlowering: this.lowering\n\t\t});\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [() => this.self.fold(folder), ...this.args.map((arg) => () => foldComparable(arg, folder))]);\n\t}\n\tbaseColumnRef() {\n\t\treturn this.self.baseColumnRef();\n\t}\n};\nvar RawExpr = class extends Expression {\n\tkind = \"raw-expr\";\n\tparts;\n\treturns;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.parts = frozenArrayCopy(options.parts);\n\t\tthis.returns = options.returns;\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.rawExpr(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.rawExpr ? rewriter.rawExpr(this) : this;\n\t}\n\tfold(folder) {\n\t\tif (folder.rawExpr) return folder.rawExpr(this);\n\t\treturn combineAll(folder, this.parts.filter((p) => typeof p !== \"string\").map((p) => () => p.fold(folder)));\n\t}\n};\nvar AggregateExpr = class AggregateExpr extends Expression {\n\tkind = \"aggregate\";\n\tfn;\n\texpr;\n\tconstructor(fn, expr) {\n\t\tsuper();\n\t\tif (fn !== \"count\" && expr === void 0) throw structuredError(\"ORM.ARGUMENT_INVALID\", `Aggregate function \"${fn}\" requires an expression`, { meta: { fn } });\n\t\tthis.fn = fn;\n\t\tthis.expr = expr;\n\t\tthis.freeze();\n\t}\n\tstatic count(expr) {\n\t\treturn new AggregateExpr(\"count\", expr);\n\t}\n\tstatic sum(expr) {\n\t\treturn new AggregateExpr(\"sum\", expr);\n\t}\n\tstatic avg(expr) {\n\t\treturn new AggregateExpr(\"avg\", expr);\n\t}\n\tstatic min(expr) {\n\t\treturn new AggregateExpr(\"min\", expr);\n\t}\n\tstatic max(expr) {\n\t\treturn new AggregateExpr(\"max\", expr);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.aggregate(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn this.expr === void 0 ? this : new AggregateExpr(this.fn, this.expr.rewrite(rewriter));\n\t}\n\tfold(folder) {\n\t\treturn this.expr ? this.expr.fold(folder) : folder.empty;\n\t}\n};\n/**\n* Window function call: `fn(args) OVER (PARTITION BY ... ORDER BY ...)`.\n*\n* Both `partitionBy` and `orderBy` are optional; an empty `OVER ()`\n* clause is legal SQL but rarely useful. For `ROW_NUMBER`, `RANK`, and\n* `DENSE_RANK` the standard mandates an `ORDER BY` for deterministic\n* results — callers are expected to provide one, but the AST does not\n* enforce it.\n*\n* The `args` slot exists for future window function additions that take\n* arguments (e.g. `COUNT(*) OVER`, `SUM(x) OVER`); `ROW_NUMBER` and the\n* other ranking functions take no arguments.\n*/\nvar WindowFuncExpr = class WindowFuncExpr extends Expression {\n\tkind = \"window-func\";\n\tfn;\n\targs;\n\tpartitionBy;\n\torderBy;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.fn = options.fn;\n\t\tthis.args = options.args && options.args.length > 0 ? frozenArrayCopy(options.args) : [];\n\t\tthis.partitionBy = options.partitionBy && options.partitionBy.length > 0 ? frozenArrayCopy(options.partitionBy) : void 0;\n\t\tthis.orderBy = options.orderBy && options.orderBy.length > 0 ? frozenArrayCopy(options.orderBy) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic rowNumber(options) {\n\t\treturn new WindowFuncExpr({\n\t\t\tfn: \"row_number\",\n\t\t\t...options\n\t\t});\n\t}\n\taccept(visitor) {\n\t\treturn visitor.windowFunc(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new WindowFuncExpr({\n\t\t\tfn: this.fn,\n\t\t\targs: this.args.map((arg) => arg.rewrite(rewriter)),\n\t\t\t...ifDefined(\"partitionBy\", this.partitionBy?.map((expr) => expr.rewrite(rewriter))),\n\t\t\t...ifDefined(\"orderBy\", this.orderBy?.map((orderItem) => orderItem.rewrite(rewriter)))\n\t\t});\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [\n\t\t\t...this.args.map((arg) => () => arg.fold(folder)),\n\t\t\t...(this.partitionBy ?? []).map((expr) => () => expr.fold(folder)),\n\t\t\t...(this.orderBy ?? []).map((orderItem) => () => orderItem.expr.fold(folder))\n\t\t]);\n\t}\n};\nvar FunctionCallExpr = class FunctionCallExpr extends Expression {\n\tkind = \"function-call\";\n\tfn;\n\targs;\n\tconstructor(fn, args) {\n\t\tsuper();\n\t\tthis.fn = fn;\n\t\tthis.args = frozenArrayCopy(args);\n\t\tthis.freeze();\n\t}\n\tstatic of(fn, args) {\n\t\treturn new FunctionCallExpr(fn, args);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.functionCall(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new FunctionCallExpr(this.fn, this.args.map((arg) => arg.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.args.map((arg) => () => arg.fold(folder)));\n\t}\n};\nvar CastExpr = class CastExpr extends Expression {\n\tkind = \"cast\";\n\texpr;\n\ttargetType;\n\tconstructor(expr, targetType) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.targetType = targetType;\n\t\tthis.freeze();\n\t}\n\tstatic as(expr, targetType) {\n\t\treturn new CastExpr(expr, targetType);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.cast(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new CastExpr(this.expr.rewrite(rewriter), this.targetType);\n\t}\n\tfold(folder) {\n\t\treturn this.expr.fold(folder);\n\t}\n};\nvar CaseExpr = class CaseExpr extends Expression {\n\tkind = \"case\";\n\tbranches;\n\telseExpr;\n\tconstructor(branches, elseExpr) {\n\t\tsuper();\n\t\tif (branches.length === 0) throw structuredError(\"RUNTIME.AST_INVALID\", \"CaseExpr requires at least one branch\", { meta: {\n\t\t\tkind: \"case\",\n\t\t\tfield: \"branches\"\n\t\t} });\n\t\tthis.branches = Object.freeze(branches.map((branch) => Object.freeze({\n\t\t\tcondition: branch.condition,\n\t\t\tvalue: branch.value\n\t\t})));\n\t\tthis.elseExpr = elseExpr;\n\t\tthis.freeze();\n\t}\n\tstatic of(branches, elseExpr) {\n\t\treturn new CaseExpr(branches, elseExpr);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.case(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new CaseExpr(this.branches.map((branch) => ({\n\t\t\tcondition: branch.condition.rewrite(rewriter),\n\t\t\tvalue: branch.value.rewrite(rewriter)\n\t\t})), this.elseExpr?.rewrite(rewriter));\n\t}\n\tfold(folder) {\n\t\tconst elseExpr = this.elseExpr;\n\t\treturn combineAll(folder, [...this.branches.flatMap((branch) => [() => branch.condition.fold(folder), () => branch.value.fold(folder)]), ...elseExpr === void 0 ? [] : [() => elseExpr.fold(folder)]]);\n\t}\n};\nvar JsonObjectExpr = class JsonObjectExpr extends Expression {\n\tkind = \"json-object\";\n\tentries;\n\tconstructor(entries) {\n\t\tsuper();\n\t\tthis.entries = frozenArrayCopy(entries.map((entry) => Object.freeze({ ...entry })));\n\t\tthis.freeze();\n\t}\n\tstatic entry(key, value) {\n\t\treturn {\n\t\t\tkey,\n\t\t\tvalue\n\t\t};\n\t}\n\tstatic fromEntries(entries) {\n\t\treturn new JsonObjectExpr(entries);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.jsonObject(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new JsonObjectExpr(this.entries.map((entry) => ({\n\t\t\tkey: entry.key,\n\t\t\tvalue: entry.value.rewrite(rewriter)\n\t\t})));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.entries.map((entry) => () => entry.value.fold(folder)));\n\t}\n};\nvar OrderByItem = class OrderByItem extends AstNode {\n\tkind = \"order-by-item\";\n\texpr;\n\tdir;\n\tnulls;\n\tconstructor(expr, dir, nulls) {\n\t\tsuper();\n\t\tif (!isOrderByDirection(dir)) throw structuredError(\"RUNTIME.AST_INVALID\", \"OrderByItem direction must be asc or desc\", { meta: {\n\t\t\tkind: \"order-by-item\",\n\t\t\tfield: \"dir\"\n\t\t} });\n\t\tif (nulls !== void 0 && !isOrderByNulls(nulls)) throw structuredError(\"RUNTIME.AST_INVALID\", \"OrderByItem null placement must be first, last or undefined\", { meta: {\n\t\t\tkind: \"order-by-item\",\n\t\t\tfield: \"nulls\"\n\t\t} });\n\t\tthis.expr = expr;\n\t\tthis.dir = dir;\n\t\tthis.nulls = nulls;\n\t\tthis.freeze();\n\t}\n\tstatic asc(expr, options) {\n\t\treturn new OrderByItem(expr, \"asc\", options?.nulls);\n\t}\n\tstatic desc(expr, options) {\n\t\treturn new OrderByItem(expr, \"desc\", options?.nulls);\n\t}\n\trewrite(rewriter) {\n\t\treturn this.withExpr(this.expr.rewrite(rewriter));\n\t}\n\t/** A new frozen item ordering by `expr` with the same direction and null placement. */\n\twithExpr(expr) {\n\t\treturn new OrderByItem(expr, this.dir, this.nulls);\n\t}\n\t/**\n\t* A new frozen item with the sort direction and null placement flipped and `expr` unchanged. Integrations that own pagination (e.g. backward cursor pagination) use this to reverse a user's sort order without reaching into the AST.\n\t*/\n\treverse() {\n\t\treturn new OrderByItem(this.expr, this.dir === \"asc\" ? \"desc\" : \"asc\", this.nulls === void 0 ? void 0 : this.nulls === \"first\" ? \"last\" : \"first\");\n\t}\n};\nvar JsonArrayAggExpr = class JsonArrayAggExpr extends Expression {\n\tkind = \"json-array-agg\";\n\texpr;\n\tonEmpty;\n\torderBy;\n\tconstructor(expr, onEmpty = \"null\", orderBy) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.onEmpty = onEmpty;\n\t\tthis.orderBy = orderBy && orderBy.length > 0 ? frozenArrayCopy(orderBy) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic of(expr, onEmpty = \"null\", orderBy) {\n\t\treturn new JsonArrayAggExpr(expr, onEmpty, orderBy);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.jsonArrayAgg(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new JsonArrayAggExpr(this.expr.rewrite(rewriter), this.onEmpty, this.orderBy?.map((orderItem) => orderItem.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [() => this.expr.fold(folder), ...(this.orderBy ?? []).map((orderItem) => () => orderItem.expr.fold(folder))]);\n\t}\n};\nvar ListExpression = class ListExpression extends Expression {\n\tkind = \"list\";\n\tvalues;\n\tconstructor(values) {\n\t\tsuper();\n\t\tthis.values = frozenArrayCopy(values);\n\t\tthis.freeze();\n\t}\n\tstatic of(values) {\n\t\treturn new ListExpression(values);\n\t}\n\tstatic fromValues(values) {\n\t\treturn new ListExpression(values.map((value) => new LiteralExpr(value)));\n\t}\n\taccept(visitor) {\n\t\treturn visitor.list(this);\n\t}\n\trewrite(rewriter) {\n\t\tif (rewriter.list) return rewriter.list(this);\n\t\treturn new ListExpression(this.values.map((value) => value.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\tif (folder.list) return folder.list(this);\n\t\treturn combineAll(folder, this.values.map((value) => () => value.fold(folder)));\n\t}\n};\nvar BinaryExpr = class BinaryExpr extends Expression {\n\tkind = \"binary\";\n\top;\n\tleft;\n\tright;\n\tconstructor(op, left, right) {\n\t\tsuper();\n\t\tthis.op = op;\n\t\tthis.left = left;\n\t\tthis.right = right;\n\t\tthis.freeze();\n\t}\n\tstatic eq(left, right) {\n\t\treturn new BinaryExpr(\"eq\", left, right);\n\t}\n\tstatic neq(left, right) {\n\t\treturn new BinaryExpr(\"neq\", left, right);\n\t}\n\tstatic gt(left, right) {\n\t\treturn new BinaryExpr(\"gt\", left, right);\n\t}\n\tstatic lt(left, right) {\n\t\treturn new BinaryExpr(\"lt\", left, right);\n\t}\n\tstatic gte(left, right) {\n\t\treturn new BinaryExpr(\"gte\", left, right);\n\t}\n\tstatic lte(left, right) {\n\t\treturn new BinaryExpr(\"lte\", left, right);\n\t}\n\tstatic like(left, right) {\n\t\treturn new BinaryExpr(\"like\", left, right);\n\t}\n\tstatic in(left, right) {\n\t\treturn new BinaryExpr(\"in\", left, right);\n\t}\n\tstatic notIn(left, right) {\n\t\treturn new BinaryExpr(\"notIn\", left, right);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.binary(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new BinaryExpr(this.op, rewriteComparable(this.left, rewriter), rewriteComparable(this.right, rewriter));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [() => foldComparable(this.left, folder), () => foldComparable(this.right, folder)]);\n\t}\n};\nvar AndExpr = class AndExpr extends Expression {\n\tkind = \"and\";\n\texprs;\n\tconstructor(exprs) {\n\t\tsuper();\n\t\tthis.exprs = frozenArrayCopy(exprs);\n\t\tthis.freeze();\n\t}\n\tstatic of(exprs) {\n\t\treturn new AndExpr(exprs);\n\t}\n\tstatic true() {\n\t\treturn new AndExpr([]);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.and(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new AndExpr(this.exprs.map((expr) => expr.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.exprs.map((expr) => () => expr.fold(folder)));\n\t}\n};\nvar OrExpr = class OrExpr extends Expression {\n\tkind = \"or\";\n\texprs;\n\tconstructor(exprs) {\n\t\tsuper();\n\t\tthis.exprs = frozenArrayCopy(exprs);\n\t\tthis.freeze();\n\t}\n\tstatic of(exprs) {\n\t\treturn new OrExpr(exprs);\n\t}\n\tstatic false() {\n\t\treturn new OrExpr([]);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.or(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new OrExpr(this.exprs.map((expr) => expr.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.exprs.map((expr) => () => expr.fold(folder)));\n\t}\n};\nvar ExistsExpr = class ExistsExpr extends Expression {\n\tkind = \"exists\";\n\tnotExists;\n\tsubquery;\n\tconstructor(subquery, notExists = false) {\n\t\tsuper();\n\t\tthis.notExists = notExists;\n\t\tthis.subquery = subquery;\n\t\tthis.freeze();\n\t}\n\tstatic exists(subquery) {\n\t\treturn new ExistsExpr(subquery, false);\n\t}\n\tstatic notExists(subquery) {\n\t\treturn new ExistsExpr(subquery, true);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.exists(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new ExistsExpr(this.subquery.rewrite(rewriter), this.notExists);\n\t}\n\tfold(folder) {\n\t\treturn folder.select ? folder.select(this.subquery) : folder.empty;\n\t}\n};\nvar NullCheckExpr = class NullCheckExpr extends Expression {\n\tkind = \"null-check\";\n\texpr;\n\tisNull;\n\tconstructor(expr, isNull) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.isNull = isNull;\n\t\tthis.freeze();\n\t}\n\tstatic isNull(expr) {\n\t\treturn new NullCheckExpr(expr, true);\n\t}\n\tstatic isNotNull(expr) {\n\t\treturn new NullCheckExpr(expr, false);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.nullCheck(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new NullCheckExpr(this.expr.rewrite(rewriter), this.isNull);\n\t}\n\tfold(folder) {\n\t\treturn this.expr.fold(folder);\n\t}\n};\nvar NotExpr = class NotExpr extends Expression {\n\tkind = \"not\";\n\texpr;\n\tconstructor(expr) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.freeze();\n\t}\n\ttoWhereExpr() {\n\t\treturn this;\n\t}\n\taccept(visitor) {\n\t\treturn visitor.not(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new NotExpr(this.expr.rewrite(rewriter));\n\t}\n\tfold(folder) {\n\t\treturn this.expr.fold(folder);\n\t}\n};\nvar EqColJoinOn = class EqColJoinOn extends AstNode {\n\tkind = \"eq-col-join-on\";\n\tleft;\n\tright;\n\tconstructor(left, right) {\n\t\tsuper();\n\t\tthis.left = left;\n\t\tthis.right = right;\n\t\tthis.freeze();\n\t}\n\tstatic of(left, right) {\n\t\treturn new EqColJoinOn(left, right);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.eqColJoinOn ? rewriter.eqColJoinOn(this) : this;\n\t}\n};\nvar JoinAst = class JoinAst extends AstNode {\n\tkind = \"join\";\n\tjoinType;\n\tsource;\n\tlateral;\n\ton;\n\tconstructor(joinType, source, on, lateral = false) {\n\t\tsuper();\n\t\tthis.joinType = joinType;\n\t\tthis.source = source;\n\t\tthis.lateral = lateral;\n\t\tthis.on = on;\n\t\tthis.freeze();\n\t}\n\tstatic inner(source, on, lateral = false) {\n\t\treturn new JoinAst(\"inner\", source, on, lateral);\n\t}\n\tstatic left(source, on, lateral = false) {\n\t\treturn new JoinAst(\"left\", source, on, lateral);\n\t}\n\tstatic right(source, on, lateral = false) {\n\t\treturn new JoinAst(\"right\", source, on, lateral);\n\t}\n\tstatic full(source, on, lateral = false) {\n\t\treturn new JoinAst(\"full\", source, on, lateral);\n\t}\n\trewrite(rewriter) {\n\t\treturn new JoinAst(this.joinType, this.source.rewrite(rewriter), this.on.kind === \"eq-col-join-on\" ? this.on.rewrite(rewriter) : this.on.rewrite(rewriter), this.lateral);\n\t}\n};\nvar ProjectionItem = class ProjectionItem extends AstNode {\n\tkind = \"projection-item\";\n\talias;\n\texpr;\n\t/**\n\t* Codec identity for any known projected result, whether read directly from a contract column or forwarded through a query wrapper. Decode-side dispatch resolves the per-instance codec through `contractCodecs.forCodecRef(codec)` — content-keyed memoisation collapses repeated lookups for the same logical result onto one shared {@link Codec}.\n\t*\n\t* Stays `undefined` only when the projected result's codec is unknown, such as computed expressions, subqueries, or raw aliases whose decoded type the runtime cannot infer.\n\t*/\n\tcodec;\n\tconstructor(alias, expr, codec) {\n\t\tsuper();\n\t\tthis.alias = alias;\n\t\tthis.expr = expr;\n\t\tthis.codec = codec ? frozenCodecRef(codec) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic of(alias, expr, codec) {\n\t\treturn new ProjectionItem(alias, expr, codec);\n\t}\n\twithCodec(codec) {\n\t\treturn new ProjectionItem(this.alias, this.expr, codec);\n\t}\n};\nfunction checkLimitOffset(argument, value) {\n\tif (typeof value === \"number\" && !(Number.isSafeInteger(value) && value >= 0)) throw structuredError(\"ORM.ARGUMENT_INVALID\", `${argument} must be an integer from 0 to ${Number.MAX_SAFE_INTEGER}, got ${String(value)}`, { meta: { argument } });\n}\nvar SelectAst = class SelectAst extends QueryAst {\n\tkind = \"select\";\n\tfrom;\n\tjoins;\n\tprojection;\n\twhere;\n\torderBy;\n\tdistinct;\n\tdistinctOn;\n\tgroupBy;\n\thaving;\n\tlimit;\n\toffset;\n\tselectAllIntent;\n\tconstructor(options) {\n\t\tsuper();\n\t\tcheckLimitOffset(\"limit\", options.limit);\n\t\tcheckLimitOffset(\"offset\", options.offset);\n\t\tthis.from = options.from;\n\t\tthis.joins = options.joins && options.joins.length > 0 ? frozenArrayCopy(options.joins) : void 0;\n\t\tthis.projection = frozenArrayCopy(options.projection);\n\t\tthis.where = options.where;\n\t\tthis.orderBy = options.orderBy && options.orderBy.length > 0 ? frozenArrayCopy(options.orderBy) : void 0;\n\t\tthis.distinct = options.distinct;\n\t\tthis.distinctOn = options.distinctOn && options.distinctOn.length > 0 ? frozenArrayCopy(options.distinctOn) : void 0;\n\t\tthis.groupBy = options.groupBy && options.groupBy.length > 0 ? frozenArrayCopy(options.groupBy) : void 0;\n\t\tthis.having = options.having;\n\t\tthis.limit = options.limit;\n\t\tthis.offset = options.offset;\n\t\tthis.selectAllIntent = frozenOptionalRecordCopy(options.selectAllIntent);\n\t\tthis.freeze();\n\t}\n\tstatic from(from) {\n\t\treturn new SelectAst({\n\t\t\tfrom,\n\t\t\tjoins: void 0,\n\t\t\tprojection: [],\n\t\t\twhere: void 0,\n\t\t\torderBy: void 0,\n\t\t\tdistinct: void 0,\n\t\t\tdistinctOn: void 0,\n\t\t\tgroupBy: void 0,\n\t\t\thaving: void 0,\n\t\t\tlimit: void 0,\n\t\t\toffset: void 0,\n\t\t\tselectAllIntent: void 0\n\t\t});\n\t}\n\tstatic noFrom() {\n\t\treturn new SelectAst({\n\t\t\tjoins: void 0,\n\t\t\tprojection: [],\n\t\t\twhere: void 0,\n\t\t\torderBy: void 0,\n\t\t\tdistinct: void 0,\n\t\t\tdistinctOn: void 0,\n\t\t\tgroupBy: void 0,\n\t\t\thaving: void 0,\n\t\t\tlimit: void 0,\n\t\t\toffset: void 0,\n\t\t\tselectAllIntent: void 0\n\t\t});\n\t}\n\ttoOptions() {\n\t\treturn {\n\t\t\t...this.from !== void 0 ? { from: this.from } : {},\n\t\t\tjoins: this.joins,\n\t\t\tprojection: this.projection,\n\t\t\twhere: this.where,\n\t\t\torderBy: this.orderBy,\n\t\t\tdistinct: this.distinct,\n\t\t\tdistinctOn: this.distinctOn,\n\t\t\tgroupBy: this.groupBy,\n\t\t\thaving: this.having,\n\t\t\tlimit: this.limit,\n\t\t\toffset: this.offset,\n\t\t\tselectAllIntent: this.selectAllIntent\n\t\t};\n\t}\n\twithFrom(from) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tfrom\n\t\t});\n\t}\n\twithJoins(joins) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tjoins: joins.length > 0 ? joins : void 0\n\t\t});\n\t}\n\twithProjection(projection) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tprojection\n\t\t});\n\t}\n\taddProjection(alias, expr) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tprojection: [...this.projection, new ProjectionItem(alias, expr)]\n\t\t});\n\t}\n\twithWhere(where) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\twhere\n\t\t});\n\t}\n\twithOrderBy(orderBy) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\torderBy: orderBy.length > 0 ? orderBy : void 0\n\t\t});\n\t}\n\twithDistinct(enabled = true) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tdistinct: enabled ? true : void 0\n\t\t});\n\t}\n\twithDistinctOn(distinctOn) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tdistinctOn: distinctOn.length > 0 ? distinctOn : void 0\n\t\t});\n\t}\n\twithGroupBy(groupBy) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tgroupBy: groupBy.length > 0 ? groupBy : void 0\n\t\t});\n\t}\n\twithHaving(having) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\thaving\n\t\t});\n\t}\n\twithLimit(limit) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tlimit\n\t\t});\n\t}\n\twithOffset(offset) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\toffset\n\t\t});\n\t}\n\twithSelectAllIntent(selectAllIntent) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tselectAllIntent\n\t\t});\n\t}\n\trewrite(rewriter) {\n\t\tconst rewrittenFrom = this.from?.rewrite(rewriter);\n\t\tconst rewritten = new SelectAst({\n\t\t\t...rewrittenFrom !== void 0 ? { from: rewrittenFrom } : {},\n\t\t\tjoins: this.joins?.map((join) => join.rewrite(rewriter)),\n\t\t\tprojection: this.projection.map((projection) => new ProjectionItem(projection.alias, projection.expr.kind === \"literal\" ? rewriter.literal ? rewriter.literal(projection.expr) : projection.expr : projection.expr.rewrite(rewriter), projection.codec)),\n\t\t\twhere: this.where?.rewrite(rewriter),\n\t\t\torderBy: this.orderBy?.map((orderItem) => orderItem.rewrite(rewriter)),\n\t\t\tdistinct: this.distinct,\n\t\t\tdistinctOn: this.distinctOn?.map((expr) => expr.rewrite(rewriter)),\n\t\t\tgroupBy: this.groupBy?.map((expr) => expr.rewrite(rewriter)),\n\t\t\thaving: this.having?.rewrite(rewriter),\n\t\t\tlimit: rewriteLimitOffset(this.limit, rewriter),\n\t\t\toffset: rewriteLimitOffset(this.offset, rewriter),\n\t\t\tselectAllIntent: this.selectAllIntent\n\t\t});\n\t\treturn rewriter.select ? rewriter.select(rewritten) : rewritten;\n\t}\n\tcollectColumnRefs() {\n\t\tconst refs = [];\n\t\tconst pushRefs = (columns) => {\n\t\t\trefs.push(...columns);\n\t\t};\n\t\tif (this.from?.kind === \"derived-table-source\") pushRefs(this.from.query.collectColumnRefs());\n\t\telse if (this.from?.kind === \"function-source\") for (const arg of this.from.args) pushRefs(arg.collectColumnRefs());\n\t\tfor (const projection of this.projection) if (!(projection.expr.kind === \"literal\")) pushRefs(projection.expr.collectColumnRefs());\n\t\tif (this.where) pushRefs(this.where.collectColumnRefs());\n\t\tif (this.having) pushRefs(this.having.collectColumnRefs());\n\t\tfor (const orderItem of this.orderBy ?? []) pushRefs(orderItem.expr.collectColumnRefs());\n\t\tfor (const expr of this.distinctOn ?? []) pushRefs(expr.collectColumnRefs());\n\t\tfor (const expr of this.groupBy ?? []) pushRefs(expr.collectColumnRefs());\n\t\tfor (const join of this.joins ?? []) {\n\t\t\tif (join.source.kind === \"derived-table-source\") pushRefs(join.source.query.collectColumnRefs());\n\t\t\telse if (join.source.kind === \"function-source\") for (const arg of join.source.args) pushRefs(arg.collectColumnRefs());\n\t\t\tif (join.on.kind === \"eq-col-join-on\") refs.push(join.on.left, join.on.right);\n\t\t\telse pushRefs(join.on.collectColumnRefs());\n\t\t}\n\t\tif (typeof this.limit === \"object\") pushRefs(this.limit.collectColumnRefs());\n\t\tif (typeof this.offset === \"object\") pushRefs(this.offset.collectColumnRefs());\n\t\treturn refs;\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tconst pushRefs = (params) => {\n\t\t\trefs.push(...params);\n\t\t};\n\t\tif (this.from?.kind === \"derived-table-source\") pushRefs(this.from.query.collectParamRefs());\n\t\telse if (this.from?.kind === \"function-source\") for (const arg of this.from.args) pushRefs(arg.collectParamRefs());\n\t\tfor (const projection of this.projection) if (!(projection.expr.kind === \"literal\")) pushRefs(projection.expr.collectParamRefs());\n\t\tif (this.where) pushRefs(this.where.collectParamRefs());\n\t\tif (this.having) pushRefs(this.having.collectParamRefs());\n\t\tfor (const orderItem of this.orderBy ?? []) pushRefs(orderItem.expr.collectParamRefs());\n\t\tfor (const expr of this.distinctOn ?? []) pushRefs(expr.collectParamRefs());\n\t\tfor (const expr of this.groupBy ?? []) pushRefs(expr.collectParamRefs());\n\t\tfor (const join of this.joins ?? []) {\n\t\t\tif (join.source.kind === \"derived-table-source\") pushRefs(join.source.query.collectParamRefs());\n\t\t\telse if (join.source.kind === \"function-source\") for (const arg of join.source.args) pushRefs(arg.collectParamRefs());\n\t\t\tif (!(join.on.kind === \"eq-col-join-on\")) pushRefs(join.on.collectParamRefs());\n\t\t}\n\t\tif (typeof this.limit === \"object\") pushRefs(this.limit.collectParamRefs());\n\t\tif (typeof this.offset === \"object\") pushRefs(this.offset.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nvar InsertOnConflictAction = class extends AstNode {};\nvar DoNothingConflictAction = class extends InsertOnConflictAction {\n\tkind = \"do-nothing\";\n\tconstructor() {\n\t\tsuper();\n\t\tthis.freeze();\n\t}\n\ttoInsertOnConflictAction() {\n\t\treturn this;\n\t}\n};\nvar DoUpdateSetConflictAction = class extends InsertOnConflictAction {\n\tkind = \"do-update-set\";\n\tset;\n\tconstructor(set) {\n\t\tsuper();\n\t\tthis.set = frozenRecordCopy(set);\n\t\tthis.freeze();\n\t}\n\ttoInsertOnConflictAction() {\n\t\treturn this;\n\t}\n};\nvar InsertOnConflict = class InsertOnConflict extends AstNode {\n\tkind = \"insert-on-conflict\";\n\tcolumns;\n\taction;\n\tconstructor(columns, action) {\n\t\tsuper();\n\t\tthis.columns = frozenArrayCopy(columns);\n\t\tthis.action = action;\n\t\tthis.freeze();\n\t}\n\tstatic on(columns) {\n\t\treturn new InsertOnConflict(columns, new DoNothingConflictAction());\n\t}\n\t/**\n\t* Skip a row that collides with any unique constraint on the table, without\n\t* naming one. The renderer chooses the dialect; Postgres and SQLite emit\n\t* `ON CONFLICT DO NOTHING`.\n\t*/\n\tstatic doNothing() {\n\t\treturn new InsertOnConflict([], new DoNothingConflictAction());\n\t}\n\tdoNothing() {\n\t\treturn new InsertOnConflict(this.columns, new DoNothingConflictAction());\n\t}\n\tdoUpdateSet(set) {\n\t\treturn new InsertOnConflict(this.columns, new DoUpdateSetConflictAction(set));\n\t}\n};\nvar InsertAst = class InsertAst extends QueryAst {\n\tkind = \"insert\";\n\ttable;\n\trows;\n\tonConflict;\n\treturning;\n\tconstructor(table, rows = [{}], onConflict, returning) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.rows = freezeRows(rows);\n\t\tthis.onConflict = onConflict;\n\t\tthis.returning = returning && returning.length > 0 ? frozenArrayCopy(returning) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic into(table) {\n\t\treturn new InsertAst(table);\n\t}\n\twithRows(rows) {\n\t\treturn new InsertAst(this.table, rows.map((row) => ({ ...row })), this.onConflict, this.returning);\n\t}\n\twithReturning(returning) {\n\t\treturn new InsertAst(this.table, this.rows.map((row) => ({ ...row })), this.onConflict, returning);\n\t}\n\twithOnConflict(onConflict) {\n\t\treturn new InsertAst(this.table, this.rows.map((row) => ({ ...row })), onConflict, this.returning);\n\t}\n\trewrite(rewriter) {\n\t\treturn new InsertAst(rewriteTableSource(this.table, rewriter), this.rows.map((row) => rewriteInsertRow(row, rewriter)), this.onConflict ? rewriteOnConflict(this.onConflict, rewriter) : void 0, this.returning?.map((item) => rewriteProjectionItem(item, rewriter)));\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tfor (const row of this.rows) for (const value of Object.values(row)) if (value.kind === \"param-ref\" || value.kind === \"prepared-param-ref\") refs.push(value);\n\t\telse if (value.kind === \"raw-expr\") refs.push(...value.collectParamRefs());\n\t\tif (this.onConflict?.action.kind === \"do-update-set\") {\n\t\t\tfor (const value of Object.values(this.onConflict.action.set)) if (value.kind === \"param-ref\" || value.kind === \"prepared-param-ref\") refs.push(value);\n\t\t}\n\t\tfor (const item of this.returning ?? []) if (item.expr.kind !== \"literal\") refs.push(...item.expr.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nvar UpdateAst = class UpdateAst extends QueryAst {\n\tkind = \"update\";\n\ttable;\n\tset;\n\twhere;\n\treturning;\n\tconstructor(table, set = {}, where, returning) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.set = frozenRecordCopy(set);\n\t\tthis.where = where;\n\t\tthis.returning = returning && returning.length > 0 ? frozenArrayCopy(returning) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic table(table) {\n\t\treturn new UpdateAst(table);\n\t}\n\twithSet(set) {\n\t\treturn new UpdateAst(this.table, set, this.where, this.returning);\n\t}\n\twithWhere(where) {\n\t\treturn new UpdateAst(this.table, this.set, where, this.returning);\n\t}\n\twithReturning(returning) {\n\t\treturn new UpdateAst(this.table, this.set, this.where, returning);\n\t}\n\trewrite(rewriter) {\n\t\treturn new UpdateAst(rewriteTableSource(this.table, rewriter), rewriteUpdateSet(this.set, rewriter), this.where?.rewrite(rewriter), this.returning?.map((item) => rewriteProjectionItem(item, rewriter)));\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tfor (const value of Object.values(this.set)) refs.push(...value.collectParamRefs());\n\t\tif (this.where) refs.push(...this.where.collectParamRefs());\n\t\tfor (const item of this.returning ?? []) if (item.expr.kind !== \"literal\") refs.push(...item.expr.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nvar DeleteAst = class DeleteAst extends QueryAst {\n\tkind = \"delete\";\n\ttable;\n\twhere;\n\treturning;\n\tconstructor(table, where, returning) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.where = where;\n\t\tthis.returning = returning && returning.length > 0 ? frozenArrayCopy(returning) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic from(table) {\n\t\treturn new DeleteAst(table);\n\t}\n\twithWhere(where) {\n\t\treturn new DeleteAst(this.table, where, this.returning);\n\t}\n\twithReturning(returning) {\n\t\treturn new DeleteAst(this.table, this.where, returning);\n\t}\n\trewrite(rewriter) {\n\t\treturn new DeleteAst(rewriteTableSource(this.table, rewriter), this.where?.rewrite(rewriter), this.returning?.map((item) => rewriteProjectionItem(item, rewriter)));\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tif (this.where) refs.push(...this.where.collectParamRefs());\n\t\tfor (const item of this.returning ?? []) if (item.expr.kind !== \"literal\") refs.push(...item.expr.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\n/**\n* The one column name a declared result cannot carry. Writing `__proto__` onto\n* an object literal sets that object's prototype instead of adding a property,\n* so a column so named would disappear between the declaration and the decoded\n* row — and the row type would still promise it. Every other name that shadows\n* something on `Object.prototype` (`constructor`, `prototype`) is an ordinary\n* own property when assigned, and passes through as declared.\n*/\nconst RESERVED_RESULT_COLUMN = \"__proto__\";\nfunction frozenRawQueryResult(result) {\n\tif (result.kind === \"affected-count\") return Object.freeze({ kind: \"affected-count\" });\n\tconst columns = {};\n\tfor (const [name, column] of Object.entries(result.columns)) {\n\t\tif (name === RESERVED_RESULT_COLUMN) throw structuredError(\"RUNTIME.AST_INVALID\", `A raw query result cannot declare a \"${RESERVED_RESULT_COLUMN}\" column: alias the column in SQL and declare the alias instead`, { meta: {\n\t\t\tkind: \"raw-query\",\n\t\t\tfield: \"result.columns\",\n\t\t\tcolumn: name\n\t\t} });\n\t\tcolumns[name] = Object.freeze({\n\t\t\tcodecId: column.codecId,\n\t\t\tnullable: column.nullable\n\t\t});\n\t}\n\treturn Object.freeze({\n\t\tkind: \"rows\",\n\t\tcolumns: Object.freeze(columns)\n\t});\n}\n/**\n* Raw-SQL statement AST node: a whole query authored as a template, carrying\n* the same `parts` representation as {@link RawExpr} (literal SQL fragments\n* interleaved with interpolated expressions and `ParamRef`s) plus the result\n* the author declared for it.\n*\n* The shared `parts` shape is what lets a row-returning raw query be spliced\n* into another raw template: the inner parts are concatenated into the outer\n* list, so parameters keep their template order and lowering walks one flat\n* sequence.\n*/\nvar RawQueryAst = class RawQueryAst extends QueryAst {\n\tkind = \"raw-query\";\n\tparts;\n\tresult;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.parts = frozenArrayCopy(options.parts);\n\t\tthis.result = frozenRawQueryResult(options.result);\n\t\tthis.freeze();\n\t}\n\tstatic rows(parts, columns) {\n\t\treturn new RawQueryAst({\n\t\t\tparts,\n\t\t\tresult: {\n\t\t\t\tkind: \"rows\",\n\t\t\t\tcolumns\n\t\t\t}\n\t\t});\n\t}\n\tstatic affectedCount(parts) {\n\t\treturn new RawQueryAst({\n\t\t\tparts,\n\t\t\tresult: { kind: \"affected-count\" }\n\t\t});\n\t}\n\trewrite(rewriter) {\n\t\treturn new RawQueryAst({\n\t\t\tparts: this.parts.map((part) => typeof part === \"string\" ? part : rewriteComparable(part, rewriter)),\n\t\t\tresult: this.result\n\t\t});\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tfor (const part of this.parts) if (typeof part !== \"string\") refs.push(...part.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nconst queryAstKinds = /* @__PURE__ */ new Set([\n\t\"select\",\n\t\"insert\",\n\t\"update\",\n\t\"delete\",\n\t\"raw-query\"\n]);\nconst whereExprKinds = /* @__PURE__ */ new Set([\n\t\"binary\",\n\t\"and\",\n\t\"or\",\n\t\"exists\",\n\t\"null-check\",\n\t\"not\"\n]);\nfunction isQueryAst(value) {\n\treturn typeof value === \"object\" && value !== null && \"kind\" in value && typeof value.kind === \"string\" && queryAstKinds.has(value.kind);\n}\nfunction isWhereExpr(value) {\n\treturn typeof value === \"object\" && value !== null && \"kind\" in value && typeof value.kind === \"string\" && whereExprKinds.has(value.kind);\n}\n//#endregion\nexport { PreparedParamRef as A, isAggregateFn as B, LiteralExpr as C, OrExpr as D, OperationExpr as E, SubqueryExpr as F, queryAstKinds as G, isOrderByNulls as H, TableSource as I, whereExprKinds 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, isQueryAst as U, isOrderByDirection as V, isWhereExpr 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, frozenCodecRef 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 };\n\n//# sourceMappingURL=types-BPi4d3WI.mjs.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types-BLnsGaJf-m-qTW3ox.mjs","names":["#asAnyExpression","#aliasOptions"],"sources":["../../../../2-sql/4-lanes/relational-core/dist/types-BLnsGaJf.mjs"],"sourcesContent":["import { ifDefined } from \"@internal/utils/defined\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { structuredError } from \"@internal/utils/structured-error\";\n//#region src/ast/codec-types.ts\nfunction isJsonArray(value) {\n\treturn Array.isArray(value);\n}\nfunction freezeJsonValue(value) {\n\tif (value === null || typeof value !== \"object\") return;\n\tif (isJsonArray(value)) for (const item of value) freezeJsonValue(item);\n\telse for (const item of Object.values(value)) freezeJsonValue(item);\n\tObject.freeze(value);\n}\nfunction frozenCodecRef(codec) {\n\tconst typeParams = codec.typeParams === void 0 ? void 0 : structuredClone(codec.typeParams);\n\tif (typeParams !== void 0) freezeJsonValue(typeParams);\n\treturn Object.freeze({\n\t\tcodecId: codec.codecId,\n\t\t...ifDefined(\"typeParams\", typeParams),\n\t\t...ifDefined(\"many\", codec.many)\n\t});\n}\n//#endregion\n//#region src/ast/types.ts\nfunction isOrderByDirection(value) {\n\treturn value === \"asc\" || value === \"desc\";\n}\nfunction isOrderByNulls(value) {\n\treturn value === \"first\" || value === \"last\";\n}\n/**\n* The closed SQL aggregate alphabet: every function name an {@link AggregateExpr} can carry, and so the set renderers are exhaustive over. Aggregate operation names are an open namespace; an operation outside the alphabet reaches SQL only through a descriptor's lowering hook, which builds its expression from existing nodes.\n*/\nconst aggregateFnNames = /* @__PURE__ */ new Set([\n\t\"count\",\n\t\"sum\",\n\t\"avg\",\n\t\"min\",\n\t\"max\"\n]);\n/** Whether `name` is in the closed SQL aggregate alphabet, and so lowers to a plain {@link AggregateExpr} without a descriptor-supplied hook. */\nfunction isAggregateFn(name) {\n\treturn aggregateFnNames.has(name);\n}\nconst toAnyExpressionVisitor = {\n\tcolumnRef: (expr) => expr,\n\tidentifierRef: (expr) => expr,\n\tsubquery: (expr) => expr,\n\toperation: (expr) => expr,\n\taggregate: (expr) => expr,\n\twindowFunc: (expr) => expr,\n\tfunctionCall: (expr) => expr,\n\tcast: (expr) => expr,\n\tcase: (expr) => expr,\n\tjsonObject: (expr) => expr,\n\tjsonArrayAgg: (expr) => expr,\n\tbinary: (expr) => expr,\n\tand: (expr) => expr,\n\tor: (expr) => expr,\n\texists: (expr) => expr,\n\tnullCheck: (expr) => expr,\n\tnot: (expr) => expr,\n\tliteral: (expr) => expr,\n\tparam: (expr) => expr,\n\tpreparedParam: (expr) => expr,\n\tlist: (expr) => expr,\n\trawExpr: (expr) => expr\n};\nfunction frozenArrayCopy(values) {\n\treturn Object.freeze([...values]);\n}\nfunction frozenOptionalRecordCopy(value) {\n\treturn value === void 0 ? void 0 : Object.freeze({ ...value });\n}\nfunction frozenRecordCopy(record) {\n\treturn Object.freeze({ ...record });\n}\nfunction freezeRows(rows) {\n\treturn Object.freeze(rows.map((row) => Object.freeze({ ...row })));\n}\nfunction combineAll(folder, thunks) {\n\tlet result = folder.empty;\n\tfor (const thunk of thunks) {\n\t\tif (folder.isAbsorbing?.(result)) return result;\n\t\tresult = folder.combine(result, thunk());\n\t}\n\treturn result;\n}\nfunction rewriteComparable(value, rewriter) {\n\tswitch (value.kind) {\n\t\tcase \"param-ref\": return rewriter.paramRef ? rewriter.paramRef(value) : value;\n\t\tcase \"prepared-param-ref\": return rewriter.preparedParamRef ? rewriter.preparedParamRef(value) : value;\n\t\tcase \"literal\": return rewriter.literal ? rewriter.literal(value) : value;\n\t\tcase \"list\":\n\t\t\tif (rewriter.list) return rewriter.list(value);\n\t\t\treturn value.rewrite(rewriter);\n\t\tdefault: return value.rewrite(rewriter);\n\t}\n}\nfunction foldComparable(value, folder) {\n\tswitch (value.kind) {\n\t\tcase \"param-ref\": return folder.paramRef ? folder.paramRef(value) : folder.empty;\n\t\tcase \"prepared-param-ref\": return folder.preparedParamRef ? folder.preparedParamRef(value) : folder.empty;\n\t\tcase \"literal\": return folder.literal ? folder.literal(value) : folder.empty;\n\t\tcase \"list\": return value.fold(folder);\n\t\tdefault: return value.fold(folder);\n\t}\n}\nfunction collectColumnRefsWith(node) {\n\treturn node.fold({\n\t\tempty: [],\n\t\tcombine: (a, b) => [...a, ...b],\n\t\tcolumnRef: (columnRef) => [columnRef],\n\t\tselect: (ast) => ast.collectColumnRefs()\n\t});\n}\nfunction collectParamRefsWith(node) {\n\treturn node.fold({\n\t\tempty: [],\n\t\tcombine: (a, b) => [...a, ...b],\n\t\tparamRef: (paramRef) => [paramRef],\n\t\tpreparedParamRef: (paramRef) => [paramRef],\n\t\tselect: (ast) => ast.collectParamRefs()\n\t});\n}\nfunction rewriteTableSource(table, rewriter) {\n\treturn rewriter.tableSource ? rewriter.tableSource(table) : table;\n}\nfunction rewriteProjectionItem(item, rewriter) {\n\tconst rewrittenExpr = item.expr.kind === \"literal\" ? rewriter.literal ? rewriter.literal(item.expr) : item.expr : item.expr.rewrite(rewriter);\n\treturn new ProjectionItem(item.alias, rewrittenExpr, item.codec);\n}\nfunction rewriteInsertValue(value, rewriter) {\n\tswitch (value.kind) {\n\t\tcase \"param-ref\": return rewriter.paramRef ? rewriteParamRefForInsert(value, rewriter) : value;\n\t\tcase \"prepared-param-ref\": return rewriter.preparedParamRef ? rewriter.preparedParamRef(value) : value;\n\t\tcase \"column-ref\": return rewriter.columnRef ? rewriteColumnRefForInsert(value, rewriter) : value;\n\t\tcase \"default-value\": return value;\n\t\tcase \"raw-expr\": return value;\n\t}\n}\nfunction rewriteParamRefForInsert(value, rewriter) {\n\tconst rewritten = rewriter.paramRef ? rewriter.paramRef(value) : value;\n\treturn rewritten.kind === \"param-ref\" ? rewritten : value;\n}\nfunction rewriteColumnRefForInsert(value, rewriter) {\n\tconst rewritten = rewriter.columnRef ? rewriter.columnRef(value) : value;\n\treturn rewritten.kind === \"column-ref\" ? rewritten : value;\n}\nfunction rewriteInsertRow(row, rewriter) {\n\tconst result = {};\n\tfor (const [key, value] of Object.entries(row)) result[key] = rewriteInsertValue(value, rewriter);\n\treturn result;\n}\nfunction rewriteUpdateSet(set, rewriter) {\n\tconst result = {};\n\tfor (const [key, value] of Object.entries(set)) result[key] = value.rewrite(rewriter);\n\treturn result;\n}\nfunction rewriteLimitOffset(value, rewriter) {\n\tif (value === void 0 || typeof value === \"number\") return value;\n\treturn value.rewrite(rewriter);\n}\nfunction rewriteOnConflict(onConflict, rewriter) {\n\tconst columns = onConflict.columns.map((columnRef) => {\n\t\tconst rewritten = rewriter.columnRef ? rewriter.columnRef(columnRef) : columnRef;\n\t\treturn rewritten.kind === \"column-ref\" ? rewritten : columnRef;\n\t});\n\tif (onConflict.action.kind === \"do-nothing\") return new InsertOnConflict(columns, new DoNothingConflictAction());\n\treturn new InsertOnConflict(columns, new DoUpdateSetConflictAction(rewriteUpdateSet(onConflict.action.set, rewriter)));\n}\nvar AstNode = class {\n\tfreeze() {\n\t\tObject.freeze(this);\n\t}\n};\nvar QueryAst = class extends AstNode {};\nvar FromSource = class extends AstNode {};\nvar Expression = class extends AstNode {\n\tcollectColumnRefs() {\n\t\treturn collectColumnRefsWith(this);\n\t}\n\tcollectParamRefs() {\n\t\treturn collectParamRefsWith(this);\n\t}\n\tbaseColumnRef() {\n\t\tthrow new InternalError(`${this.constructor.name} does not expose a base column reference`);\n\t}\n\t#asAnyExpression() {\n\t\treturn this.accept(toAnyExpressionVisitor);\n\t}\n\ttoExpr() {\n\t\treturn this.#asAnyExpression();\n\t}\n\tnot() {\n\t\treturn new NotExpr(this.#asAnyExpression());\n\t}\n};\nvar TableSource = class TableSource extends FromSource {\n\tkind = \"table-source\";\n\tname;\n\talias;\n\t/**\n\t* Resolved storage namespace coordinate for this table, stamped when the\n\t* table proxy constructs the AST. Renderers qualify via the namespace\n\t* concretion's `qualifyTable()` using this id — never by re-resolving the\n\t* bare table name at render time.\n\t*/\n\tnamespaceId;\n\tconstructor(name, alias, namespaceId) {\n\t\tsuper();\n\t\tthis.name = name;\n\t\tthis.alias = alias;\n\t\tthis.namespaceId = namespaceId;\n\t}\n\tstatic named(name, alias, namespaceId) {\n\t\tconst source = new TableSource(name, alias, namespaceId);\n\t\tsource.freeze();\n\t\treturn source;\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.tableSource ? rewriter.tableSource(this) : this;\n\t}\n\ttoFromSource() {\n\t\treturn this;\n\t}\n};\nvar DerivedTableSource = class DerivedTableSource extends FromSource {\n\tkind = \"derived-table-source\";\n\talias;\n\tquery;\n\tconstructor(alias, query) {\n\t\tsuper();\n\t\tthis.alias = alias;\n\t\tthis.query = query;\n\t\tthis.freeze();\n\t}\n\tstatic as(alias, query) {\n\t\treturn new DerivedTableSource(alias, query);\n\t}\n\trewrite(rewriter) {\n\t\treturn new DerivedTableSource(this.alias, this.query.rewrite(rewriter));\n\t}\n\ttoFromSource() {\n\t\treturn this;\n\t}\n};\nvar FunctionSource = class FunctionSource extends FromSource {\n\tkind = \"function-source\";\n\tfn;\n\targs;\n\talias;\n\tcolumnAliases;\n\tordinality;\n\tconstructor(fn, args, alias, ordinality = false) {\n\t\tsuper();\n\t\tif (alias?.columnAliases?.length === 0) throw structuredError(\"RUNTIME.AST_INVALID\", \"FunctionSource column aliases must not be empty\", { meta: {\n\t\t\tkind: \"function-source\",\n\t\t\tfield: \"columnAliases\"\n\t\t} });\n\t\tthis.fn = fn;\n\t\tthis.args = frozenArrayCopy(args);\n\t\tthis.alias = alias?.alias;\n\t\tthis.columnAliases = alias?.columnAliases === void 0 ? void 0 : frozenArrayCopy(alias.columnAliases);\n\t\tthis.ordinality = ordinality;\n\t\tthis.freeze();\n\t}\n\tstatic of(fn, args, alias) {\n\t\treturn new FunctionSource(fn, args, alias);\n\t}\n\t#aliasOptions() {\n\t\tif (this.alias === void 0) return void 0;\n\t\treturn {\n\t\t\talias: this.alias,\n\t\t\t...ifDefined(\"columnAliases\", this.columnAliases)\n\t\t};\n\t}\n\twithOrdinality() {\n\t\tif (this.ordinality) return this;\n\t\treturn new FunctionSource(this.fn, this.args, this.#aliasOptions(), true);\n\t}\n\trewrite(rewriter) {\n\t\tconst rewrittenArgs = this.args.map((arg) => rewriteComparable(arg, rewriter));\n\t\tif (rewrittenArgs.every((arg, i) => arg === this.args[i])) return this;\n\t\treturn new FunctionSource(this.fn, rewrittenArgs, this.#aliasOptions(), this.ordinality);\n\t}\n\ttoFromSource() {\n\t\treturn this;\n\t}\n};\nvar ColumnRef = class ColumnRef extends Expression {\n\tkind = \"column-ref\";\n\ttable;\n\tcolumn;\n\tconstructor(table, column) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.column = column;\n\t\tthis.freeze();\n\t}\n\tstatic of(table, column) {\n\t\treturn new ColumnRef(table, column);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.columnRef(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.columnRef ? rewriter.columnRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.columnRef ? folder.columnRef(this) : folder.empty;\n\t}\n\tbaseColumnRef() {\n\t\treturn this;\n\t}\n};\nvar IdentifierRef = class IdentifierRef extends Expression {\n\tkind = \"identifier-ref\";\n\tname;\n\tconstructor(name) {\n\t\tsuper();\n\t\tthis.name = name;\n\t\tthis.freeze();\n\t}\n\tstatic of(name) {\n\t\treturn new IdentifierRef(name);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.identifierRef(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.identifierRef ? rewriter.identifierRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.identifierRef ? folder.identifierRef(this) : folder.empty;\n\t}\n};\nvar ParamRef = class ParamRef extends Expression {\n\tkind = \"param-ref\";\n\tvalue;\n\tname;\n\t/**\n\t* Codec identity carried by every column-bound `ParamRef`. The encode-side dispatch path materialises the per-instance codec through `contractCodecs.forCodecRef(codec)` — content-keyed memoisation on `(codecId, canonicalize(typeParams))` keeps repeated lookups for the same logical column on one shared {@link Codec}.\n\t*\n\t* `codec` may be `undefined` for `ParamRef`s constructed without a column-bound site (literals, transient builder state); the runtime treats those as untyped passthroughs.\n\t*/\n\tcodec;\n\tconstructor(value, options) {\n\t\tsuper();\n\t\tthis.value = value;\n\t\tthis.name = options?.name;\n\t\tthis.codec = options?.codec ? frozenCodecRef(options.codec) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic of(value, options) {\n\t\treturn new ParamRef(value, options);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.param(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.paramRef ? rewriter.paramRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.paramRef ? folder.paramRef(this) : folder.empty;\n\t}\n};\n/**\n* Bind-site placeholder: occupies the same positions as `ParamRef` in the\n* AST, but carries no value — the value is supplied per-execute by the\n* `statement.query(target, params)` caller and matched to this node by\n* `name`.\n*/\nvar PreparedParamRef = class PreparedParamRef extends Expression {\n\tkind = \"prepared-param-ref\";\n\tname;\n\tcodec;\n\tnullable;\n\tconstructor(name, codec, nullable = false) {\n\t\tsuper();\n\t\tthis.name = name;\n\t\tthis.codec = frozenCodecRef(codec);\n\t\tthis.nullable = nullable;\n\t\tthis.freeze();\n\t}\n\tstatic of(name, codec, nullable = false) {\n\t\treturn new PreparedParamRef(name, codec, nullable);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.preparedParam(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.preparedParamRef ? rewriter.preparedParamRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.preparedParamRef ? folder.preparedParamRef(this) : folder.empty;\n\t}\n};\nvar DefaultValueExpr = class extends AstNode {\n\tkind = \"default-value\";\n\tconstructor() {\n\t\tsuper();\n\t\tthis.freeze();\n\t}\n};\nvar LiteralExpr = class LiteralExpr extends Expression {\n\tkind = \"literal\";\n\tvalue;\n\tconstructor(value) {\n\t\tsuper();\n\t\tthis.value = value;\n\t\tthis.freeze();\n\t}\n\tstatic of(value) {\n\t\treturn new LiteralExpr(value);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.literal(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.literal ? rewriter.literal(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.literal ? folder.literal(this) : folder.empty;\n\t}\n};\nvar SubqueryExpr = class SubqueryExpr extends Expression {\n\tkind = \"subquery\";\n\tquery;\n\tconstructor(query) {\n\t\tsuper();\n\t\tthis.query = query;\n\t\tthis.freeze();\n\t}\n\tstatic of(query) {\n\t\treturn new SubqueryExpr(query);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.subquery(this);\n\t}\n\trewrite(rewriter) {\n\t\tconst query = this.query.rewrite(rewriter);\n\t\treturn new SubqueryExpr(query);\n\t}\n\tfold(folder) {\n\t\treturn folder.select ? folder.select(this.query) : folder.empty;\n\t}\n};\nvar OperationExpr = class OperationExpr extends Expression {\n\tkind = \"operation\";\n\tmethod;\n\tself;\n\targs;\n\treturns;\n\tlowering;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.method = options.method;\n\t\tthis.self = options.self;\n\t\tthis.args = frozenArrayCopy(options.args ?? []);\n\t\tthis.returns = options.returns;\n\t\tthis.lowering = options.lowering;\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.operation(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new OperationExpr({\n\t\t\tmethod: this.method,\n\t\t\tself: this.self.rewrite(rewriter),\n\t\t\targs: this.args.map((arg) => rewriteComparable(arg, rewriter)),\n\t\t\treturns: this.returns,\n\t\t\tlowering: this.lowering\n\t\t});\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [() => this.self.fold(folder), ...this.args.map((arg) => () => foldComparable(arg, folder))]);\n\t}\n\tbaseColumnRef() {\n\t\treturn this.self.baseColumnRef();\n\t}\n};\nvar RawExpr = class extends Expression {\n\tkind = \"raw-expr\";\n\tparts;\n\treturns;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.parts = frozenArrayCopy(options.parts);\n\t\tthis.returns = options.returns;\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.rawExpr(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.rawExpr ? rewriter.rawExpr(this) : this;\n\t}\n\tfold(folder) {\n\t\tif (folder.rawExpr) return folder.rawExpr(this);\n\t\treturn combineAll(folder, this.parts.filter((p) => typeof p !== \"string\").map((p) => () => p.fold(folder)));\n\t}\n};\nvar AggregateExpr = class AggregateExpr extends Expression {\n\tkind = \"aggregate\";\n\tfn;\n\texpr;\n\tconstructor(fn, expr) {\n\t\tsuper();\n\t\tif (fn !== \"count\" && expr === void 0) throw structuredError(\"ORM.ARGUMENT_INVALID\", `Aggregate function \"${fn}\" requires an expression`, { meta: { fn } });\n\t\tthis.fn = fn;\n\t\tthis.expr = expr;\n\t\tthis.freeze();\n\t}\n\tstatic count(expr) {\n\t\treturn new AggregateExpr(\"count\", expr);\n\t}\n\tstatic sum(expr) {\n\t\treturn new AggregateExpr(\"sum\", expr);\n\t}\n\tstatic avg(expr) {\n\t\treturn new AggregateExpr(\"avg\", expr);\n\t}\n\tstatic min(expr) {\n\t\treturn new AggregateExpr(\"min\", expr);\n\t}\n\tstatic max(expr) {\n\t\treturn new AggregateExpr(\"max\", expr);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.aggregate(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn this.expr === void 0 ? this : new AggregateExpr(this.fn, this.expr.rewrite(rewriter));\n\t}\n\tfold(folder) {\n\t\treturn this.expr ? this.expr.fold(folder) : folder.empty;\n\t}\n};\n/**\n* Window function call: `fn(args) OVER (PARTITION BY ... ORDER BY ...)`.\n*\n* Both `partitionBy` and `orderBy` are optional; an empty `OVER ()`\n* clause is legal SQL but rarely useful. For `ROW_NUMBER`, `RANK`, and\n* `DENSE_RANK` the standard mandates an `ORDER BY` for deterministic\n* results — callers are expected to provide one, but the AST does not\n* enforce it.\n*\n* The `args` slot exists for future window function additions that take\n* arguments (e.g. `COUNT(*) OVER`, `SUM(x) OVER`); `ROW_NUMBER` and the\n* other ranking functions take no arguments.\n*/\nvar WindowFuncExpr = class WindowFuncExpr extends Expression {\n\tkind = \"window-func\";\n\tfn;\n\targs;\n\tpartitionBy;\n\torderBy;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.fn = options.fn;\n\t\tthis.args = options.args && options.args.length > 0 ? frozenArrayCopy(options.args) : [];\n\t\tthis.partitionBy = options.partitionBy && options.partitionBy.length > 0 ? frozenArrayCopy(options.partitionBy) : void 0;\n\t\tthis.orderBy = options.orderBy && options.orderBy.length > 0 ? frozenArrayCopy(options.orderBy) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic rowNumber(options) {\n\t\treturn new WindowFuncExpr({\n\t\t\tfn: \"row_number\",\n\t\t\t...options\n\t\t});\n\t}\n\taccept(visitor) {\n\t\treturn visitor.windowFunc(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new WindowFuncExpr({\n\t\t\tfn: this.fn,\n\t\t\targs: this.args.map((arg) => arg.rewrite(rewriter)),\n\t\t\t...ifDefined(\"partitionBy\", this.partitionBy?.map((expr) => expr.rewrite(rewriter))),\n\t\t\t...ifDefined(\"orderBy\", this.orderBy?.map((orderItem) => orderItem.rewrite(rewriter)))\n\t\t});\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [\n\t\t\t...this.args.map((arg) => () => arg.fold(folder)),\n\t\t\t...(this.partitionBy ?? []).map((expr) => () => expr.fold(folder)),\n\t\t\t...(this.orderBy ?? []).map((orderItem) => () => orderItem.expr.fold(folder))\n\t\t]);\n\t}\n};\nvar FunctionCallExpr = class FunctionCallExpr extends Expression {\n\tkind = \"function-call\";\n\tfn;\n\targs;\n\tconstructor(fn, args) {\n\t\tsuper();\n\t\tthis.fn = fn;\n\t\tthis.args = frozenArrayCopy(args);\n\t\tthis.freeze();\n\t}\n\tstatic of(fn, args) {\n\t\treturn new FunctionCallExpr(fn, args);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.functionCall(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new FunctionCallExpr(this.fn, this.args.map((arg) => arg.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.args.map((arg) => () => arg.fold(folder)));\n\t}\n};\nvar CastExpr = class CastExpr extends Expression {\n\tkind = \"cast\";\n\texpr;\n\ttargetType;\n\tconstructor(expr, targetType) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.targetType = targetType;\n\t\tthis.freeze();\n\t}\n\tstatic as(expr, targetType) {\n\t\treturn new CastExpr(expr, targetType);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.cast(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new CastExpr(this.expr.rewrite(rewriter), this.targetType);\n\t}\n\tfold(folder) {\n\t\treturn this.expr.fold(folder);\n\t}\n};\nvar CaseExpr = class CaseExpr extends Expression {\n\tkind = \"case\";\n\tbranches;\n\telseExpr;\n\tconstructor(branches, elseExpr) {\n\t\tsuper();\n\t\tif (branches.length === 0) throw structuredError(\"RUNTIME.AST_INVALID\", \"CaseExpr requires at least one branch\", { meta: {\n\t\t\tkind: \"case\",\n\t\t\tfield: \"branches\"\n\t\t} });\n\t\tthis.branches = Object.freeze(branches.map((branch) => Object.freeze({\n\t\t\tcondition: branch.condition,\n\t\t\tvalue: branch.value\n\t\t})));\n\t\tthis.elseExpr = elseExpr;\n\t\tthis.freeze();\n\t}\n\tstatic of(branches, elseExpr) {\n\t\treturn new CaseExpr(branches, elseExpr);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.case(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new CaseExpr(this.branches.map((branch) => ({\n\t\t\tcondition: branch.condition.rewrite(rewriter),\n\t\t\tvalue: branch.value.rewrite(rewriter)\n\t\t})), this.elseExpr?.rewrite(rewriter));\n\t}\n\tfold(folder) {\n\t\tconst elseExpr = this.elseExpr;\n\t\treturn combineAll(folder, [...this.branches.flatMap((branch) => [() => branch.condition.fold(folder), () => branch.value.fold(folder)]), ...elseExpr === void 0 ? [] : [() => elseExpr.fold(folder)]]);\n\t}\n};\nvar JsonObjectExpr = class JsonObjectExpr extends Expression {\n\tkind = \"json-object\";\n\tentries;\n\tconstructor(entries) {\n\t\tsuper();\n\t\tthis.entries = frozenArrayCopy(entries.map((entry) => Object.freeze({ ...entry })));\n\t\tthis.freeze();\n\t}\n\tstatic entry(key, value) {\n\t\treturn {\n\t\t\tkey,\n\t\t\tvalue\n\t\t};\n\t}\n\tstatic fromEntries(entries) {\n\t\treturn new JsonObjectExpr(entries);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.jsonObject(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new JsonObjectExpr(this.entries.map((entry) => ({\n\t\t\tkey: entry.key,\n\t\t\tvalue: entry.value.rewrite(rewriter)\n\t\t})));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.entries.map((entry) => () => entry.value.fold(folder)));\n\t}\n};\nvar OrderByItem = class OrderByItem extends AstNode {\n\tkind = \"order-by-item\";\n\texpr;\n\tdir;\n\tnulls;\n\tconstructor(expr, dir, nulls) {\n\t\tsuper();\n\t\tif (!isOrderByDirection(dir)) throw structuredError(\"RUNTIME.AST_INVALID\", \"OrderByItem direction must be asc or desc\", { meta: {\n\t\t\tkind: \"order-by-item\",\n\t\t\tfield: \"dir\"\n\t\t} });\n\t\tif (nulls !== void 0 && !isOrderByNulls(nulls)) throw structuredError(\"RUNTIME.AST_INVALID\", \"OrderByItem null placement must be first, last or undefined\", { meta: {\n\t\t\tkind: \"order-by-item\",\n\t\t\tfield: \"nulls\"\n\t\t} });\n\t\tthis.expr = expr;\n\t\tthis.dir = dir;\n\t\tthis.nulls = nulls;\n\t\tthis.freeze();\n\t}\n\tstatic asc(expr, options) {\n\t\treturn new OrderByItem(expr, \"asc\", options?.nulls);\n\t}\n\tstatic desc(expr, options) {\n\t\treturn new OrderByItem(expr, \"desc\", options?.nulls);\n\t}\n\trewrite(rewriter) {\n\t\treturn this.withExpr(this.expr.rewrite(rewriter));\n\t}\n\t/** A new frozen item ordering by `expr` with the same direction and null placement. */\n\twithExpr(expr) {\n\t\treturn new OrderByItem(expr, this.dir, this.nulls);\n\t}\n\t/**\n\t* A new frozen item with the sort direction and null placement flipped and `expr` unchanged. Integrations that own pagination (e.g. backward cursor pagination) use this to reverse a user's sort order without reaching into the AST.\n\t*/\n\treverse() {\n\t\treturn new OrderByItem(this.expr, this.dir === \"asc\" ? \"desc\" : \"asc\", this.nulls === void 0 ? void 0 : this.nulls === \"first\" ? \"last\" : \"first\");\n\t}\n};\nvar JsonArrayAggExpr = class JsonArrayAggExpr extends Expression {\n\tkind = \"json-array-agg\";\n\texpr;\n\tonEmpty;\n\torderBy;\n\tconstructor(expr, onEmpty = \"null\", orderBy) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.onEmpty = onEmpty;\n\t\tthis.orderBy = orderBy && orderBy.length > 0 ? frozenArrayCopy(orderBy) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic of(expr, onEmpty = \"null\", orderBy) {\n\t\treturn new JsonArrayAggExpr(expr, onEmpty, orderBy);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.jsonArrayAgg(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new JsonArrayAggExpr(this.expr.rewrite(rewriter), this.onEmpty, this.orderBy?.map((orderItem) => orderItem.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [() => this.expr.fold(folder), ...(this.orderBy ?? []).map((orderItem) => () => orderItem.expr.fold(folder))]);\n\t}\n};\nvar ListExpression = class ListExpression extends Expression {\n\tkind = \"list\";\n\tvalues;\n\tconstructor(values) {\n\t\tsuper();\n\t\tthis.values = frozenArrayCopy(values);\n\t\tthis.freeze();\n\t}\n\tstatic of(values) {\n\t\treturn new ListExpression(values);\n\t}\n\tstatic fromValues(values) {\n\t\treturn new ListExpression(values.map((value) => new LiteralExpr(value)));\n\t}\n\taccept(visitor) {\n\t\treturn visitor.list(this);\n\t}\n\trewrite(rewriter) {\n\t\tif (rewriter.list) return rewriter.list(this);\n\t\treturn new ListExpression(this.values.map((value) => value.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\tif (folder.list) return folder.list(this);\n\t\treturn combineAll(folder, this.values.map((value) => () => value.fold(folder)));\n\t}\n};\nvar BinaryExpr = class BinaryExpr extends Expression {\n\tkind = \"binary\";\n\top;\n\tleft;\n\tright;\n\tconstructor(op, left, right) {\n\t\tsuper();\n\t\tthis.op = op;\n\t\tthis.left = left;\n\t\tthis.right = right;\n\t\tthis.freeze();\n\t}\n\tstatic eq(left, right) {\n\t\treturn new BinaryExpr(\"eq\", left, right);\n\t}\n\tstatic neq(left, right) {\n\t\treturn new BinaryExpr(\"neq\", left, right);\n\t}\n\tstatic gt(left, right) {\n\t\treturn new BinaryExpr(\"gt\", left, right);\n\t}\n\tstatic lt(left, right) {\n\t\treturn new BinaryExpr(\"lt\", left, right);\n\t}\n\tstatic gte(left, right) {\n\t\treturn new BinaryExpr(\"gte\", left, right);\n\t}\n\tstatic lte(left, right) {\n\t\treturn new BinaryExpr(\"lte\", left, right);\n\t}\n\tstatic like(left, right) {\n\t\treturn new BinaryExpr(\"like\", left, right);\n\t}\n\tstatic in(left, right) {\n\t\treturn new BinaryExpr(\"in\", left, right);\n\t}\n\tstatic notIn(left, right) {\n\t\treturn new BinaryExpr(\"notIn\", left, right);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.binary(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new BinaryExpr(this.op, rewriteComparable(this.left, rewriter), rewriteComparable(this.right, rewriter));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [() => foldComparable(this.left, folder), () => foldComparable(this.right, folder)]);\n\t}\n};\nvar AndExpr = class AndExpr extends Expression {\n\tkind = \"and\";\n\texprs;\n\tconstructor(exprs) {\n\t\tsuper();\n\t\tthis.exprs = frozenArrayCopy(exprs);\n\t\tthis.freeze();\n\t}\n\tstatic of(exprs) {\n\t\treturn new AndExpr(exprs);\n\t}\n\tstatic true() {\n\t\treturn new AndExpr([]);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.and(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new AndExpr(this.exprs.map((expr) => expr.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.exprs.map((expr) => () => expr.fold(folder)));\n\t}\n};\nvar OrExpr = class OrExpr extends Expression {\n\tkind = \"or\";\n\texprs;\n\tconstructor(exprs) {\n\t\tsuper();\n\t\tthis.exprs = frozenArrayCopy(exprs);\n\t\tthis.freeze();\n\t}\n\tstatic of(exprs) {\n\t\treturn new OrExpr(exprs);\n\t}\n\tstatic false() {\n\t\treturn new OrExpr([]);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.or(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new OrExpr(this.exprs.map((expr) => expr.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.exprs.map((expr) => () => expr.fold(folder)));\n\t}\n};\nvar ExistsExpr = class ExistsExpr extends Expression {\n\tkind = \"exists\";\n\tnotExists;\n\tsubquery;\n\tconstructor(subquery, notExists = false) {\n\t\tsuper();\n\t\tthis.notExists = notExists;\n\t\tthis.subquery = subquery;\n\t\tthis.freeze();\n\t}\n\tstatic exists(subquery) {\n\t\treturn new ExistsExpr(subquery, false);\n\t}\n\tstatic notExists(subquery) {\n\t\treturn new ExistsExpr(subquery, true);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.exists(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new ExistsExpr(this.subquery.rewrite(rewriter), this.notExists);\n\t}\n\tfold(folder) {\n\t\treturn folder.select ? folder.select(this.subquery) : folder.empty;\n\t}\n};\nvar NullCheckExpr = class NullCheckExpr extends Expression {\n\tkind = \"null-check\";\n\texpr;\n\tisNull;\n\tconstructor(expr, isNull) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.isNull = isNull;\n\t\tthis.freeze();\n\t}\n\tstatic isNull(expr) {\n\t\treturn new NullCheckExpr(expr, true);\n\t}\n\tstatic isNotNull(expr) {\n\t\treturn new NullCheckExpr(expr, false);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.nullCheck(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new NullCheckExpr(this.expr.rewrite(rewriter), this.isNull);\n\t}\n\tfold(folder) {\n\t\treturn this.expr.fold(folder);\n\t}\n};\nvar NotExpr = class NotExpr extends Expression {\n\tkind = \"not\";\n\texpr;\n\tconstructor(expr) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.freeze();\n\t}\n\ttoWhereExpr() {\n\t\treturn this;\n\t}\n\taccept(visitor) {\n\t\treturn visitor.not(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new NotExpr(this.expr.rewrite(rewriter));\n\t}\n\tfold(folder) {\n\t\treturn this.expr.fold(folder);\n\t}\n};\nvar EqColJoinOn = class EqColJoinOn extends AstNode {\n\tkind = \"eq-col-join-on\";\n\tleft;\n\tright;\n\tconstructor(left, right) {\n\t\tsuper();\n\t\tthis.left = left;\n\t\tthis.right = right;\n\t\tthis.freeze();\n\t}\n\tstatic of(left, right) {\n\t\treturn new EqColJoinOn(left, right);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.eqColJoinOn ? rewriter.eqColJoinOn(this) : this;\n\t}\n};\nvar JoinAst = class JoinAst extends AstNode {\n\tkind = \"join\";\n\tjoinType;\n\tsource;\n\tlateral;\n\ton;\n\tconstructor(joinType, source, on, lateral = false) {\n\t\tsuper();\n\t\tthis.joinType = joinType;\n\t\tthis.source = source;\n\t\tthis.lateral = lateral;\n\t\tthis.on = on;\n\t\tthis.freeze();\n\t}\n\tstatic inner(source, on, lateral = false) {\n\t\treturn new JoinAst(\"inner\", source, on, lateral);\n\t}\n\tstatic left(source, on, lateral = false) {\n\t\treturn new JoinAst(\"left\", source, on, lateral);\n\t}\n\tstatic right(source, on, lateral = false) {\n\t\treturn new JoinAst(\"right\", source, on, lateral);\n\t}\n\tstatic full(source, on, lateral = false) {\n\t\treturn new JoinAst(\"full\", source, on, lateral);\n\t}\n\trewrite(rewriter) {\n\t\treturn new JoinAst(this.joinType, this.source.rewrite(rewriter), this.on.kind === \"eq-col-join-on\" ? this.on.rewrite(rewriter) : this.on.rewrite(rewriter), this.lateral);\n\t}\n};\nvar ProjectionItem = class ProjectionItem extends AstNode {\n\tkind = \"projection-item\";\n\talias;\n\texpr;\n\t/**\n\t* Codec identity for any known projected result, whether read directly from a contract column or forwarded through a query wrapper. Decode-side dispatch resolves the per-instance codec through `contractCodecs.forCodecRef(codec)` — content-keyed memoisation collapses repeated lookups for the same logical result onto one shared {@link Codec}.\n\t*\n\t* Stays `undefined` only when the projected result's codec is unknown, such as computed expressions, subqueries, or raw aliases whose decoded type the runtime cannot infer.\n\t*/\n\tcodec;\n\tconstructor(alias, expr, codec) {\n\t\tsuper();\n\t\tthis.alias = alias;\n\t\tthis.expr = expr;\n\t\tthis.codec = codec ? frozenCodecRef(codec) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic of(alias, expr, codec) {\n\t\treturn new ProjectionItem(alias, expr, codec);\n\t}\n\twithCodec(codec) {\n\t\treturn new ProjectionItem(this.alias, this.expr, codec);\n\t}\n};\nfunction checkLimitOffset(argument, value) {\n\tif (typeof value === \"number\" && !(Number.isSafeInteger(value) && value >= 0)) throw structuredError(\"ORM.ARGUMENT_INVALID\", `${argument} must be an integer from 0 to ${Number.MAX_SAFE_INTEGER}, got ${String(value)}`, { meta: { argument } });\n}\nvar SelectAst = class SelectAst extends QueryAst {\n\tkind = \"select\";\n\tfrom;\n\tjoins;\n\tprojection;\n\twhere;\n\torderBy;\n\tdistinct;\n\tdistinctOn;\n\tgroupBy;\n\thaving;\n\tlimit;\n\toffset;\n\tselectAllIntent;\n\tconstructor(options) {\n\t\tsuper();\n\t\tcheckLimitOffset(\"limit\", options.limit);\n\t\tcheckLimitOffset(\"offset\", options.offset);\n\t\tthis.from = options.from;\n\t\tthis.joins = options.joins && options.joins.length > 0 ? frozenArrayCopy(options.joins) : void 0;\n\t\tthis.projection = frozenArrayCopy(options.projection);\n\t\tthis.where = options.where;\n\t\tthis.orderBy = options.orderBy && options.orderBy.length > 0 ? frozenArrayCopy(options.orderBy) : void 0;\n\t\tthis.distinct = options.distinct;\n\t\tthis.distinctOn = options.distinctOn && options.distinctOn.length > 0 ? frozenArrayCopy(options.distinctOn) : void 0;\n\t\tthis.groupBy = options.groupBy && options.groupBy.length > 0 ? frozenArrayCopy(options.groupBy) : void 0;\n\t\tthis.having = options.having;\n\t\tthis.limit = options.limit;\n\t\tthis.offset = options.offset;\n\t\tthis.selectAllIntent = frozenOptionalRecordCopy(options.selectAllIntent);\n\t\tthis.freeze();\n\t}\n\tstatic from(from) {\n\t\treturn new SelectAst({\n\t\t\tfrom,\n\t\t\tjoins: void 0,\n\t\t\tprojection: [],\n\t\t\twhere: void 0,\n\t\t\torderBy: void 0,\n\t\t\tdistinct: void 0,\n\t\t\tdistinctOn: void 0,\n\t\t\tgroupBy: void 0,\n\t\t\thaving: void 0,\n\t\t\tlimit: void 0,\n\t\t\toffset: void 0,\n\t\t\tselectAllIntent: void 0\n\t\t});\n\t}\n\tstatic noFrom() {\n\t\treturn new SelectAst({\n\t\t\tjoins: void 0,\n\t\t\tprojection: [],\n\t\t\twhere: void 0,\n\t\t\torderBy: void 0,\n\t\t\tdistinct: void 0,\n\t\t\tdistinctOn: void 0,\n\t\t\tgroupBy: void 0,\n\t\t\thaving: void 0,\n\t\t\tlimit: void 0,\n\t\t\toffset: void 0,\n\t\t\tselectAllIntent: void 0\n\t\t});\n\t}\n\ttoOptions() {\n\t\treturn {\n\t\t\t...this.from !== void 0 ? { from: this.from } : {},\n\t\t\tjoins: this.joins,\n\t\t\tprojection: this.projection,\n\t\t\twhere: this.where,\n\t\t\torderBy: this.orderBy,\n\t\t\tdistinct: this.distinct,\n\t\t\tdistinctOn: this.distinctOn,\n\t\t\tgroupBy: this.groupBy,\n\t\t\thaving: this.having,\n\t\t\tlimit: this.limit,\n\t\t\toffset: this.offset,\n\t\t\tselectAllIntent: this.selectAllIntent\n\t\t};\n\t}\n\twithFrom(from) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tfrom\n\t\t});\n\t}\n\twithJoins(joins) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tjoins: joins.length > 0 ? joins : void 0\n\t\t});\n\t}\n\twithProjection(projection) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tprojection\n\t\t});\n\t}\n\taddProjection(alias, expr) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tprojection: [...this.projection, new ProjectionItem(alias, expr)]\n\t\t});\n\t}\n\twithWhere(where) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\twhere\n\t\t});\n\t}\n\twithOrderBy(orderBy) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\torderBy: orderBy.length > 0 ? orderBy : void 0\n\t\t});\n\t}\n\twithDistinct(enabled = true) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tdistinct: enabled ? true : void 0\n\t\t});\n\t}\n\twithDistinctOn(distinctOn) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tdistinctOn: distinctOn.length > 0 ? distinctOn : void 0\n\t\t});\n\t}\n\twithGroupBy(groupBy) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tgroupBy: groupBy.length > 0 ? groupBy : void 0\n\t\t});\n\t}\n\twithHaving(having) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\thaving\n\t\t});\n\t}\n\twithLimit(limit) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tlimit\n\t\t});\n\t}\n\twithOffset(offset) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\toffset\n\t\t});\n\t}\n\twithSelectAllIntent(selectAllIntent) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tselectAllIntent\n\t\t});\n\t}\n\trewrite(rewriter) {\n\t\tconst rewrittenFrom = this.from?.rewrite(rewriter);\n\t\tconst rewritten = new SelectAst({\n\t\t\t...rewrittenFrom !== void 0 ? { from: rewrittenFrom } : {},\n\t\t\tjoins: this.joins?.map((join) => join.rewrite(rewriter)),\n\t\t\tprojection: this.projection.map((projection) => new ProjectionItem(projection.alias, projection.expr.kind === \"literal\" ? rewriter.literal ? rewriter.literal(projection.expr) : projection.expr : projection.expr.rewrite(rewriter), projection.codec)),\n\t\t\twhere: this.where?.rewrite(rewriter),\n\t\t\torderBy: this.orderBy?.map((orderItem) => orderItem.rewrite(rewriter)),\n\t\t\tdistinct: this.distinct,\n\t\t\tdistinctOn: this.distinctOn?.map((expr) => expr.rewrite(rewriter)),\n\t\t\tgroupBy: this.groupBy?.map((expr) => expr.rewrite(rewriter)),\n\t\t\thaving: this.having?.rewrite(rewriter),\n\t\t\tlimit: rewriteLimitOffset(this.limit, rewriter),\n\t\t\toffset: rewriteLimitOffset(this.offset, rewriter),\n\t\t\tselectAllIntent: this.selectAllIntent\n\t\t});\n\t\treturn rewriter.select ? rewriter.select(rewritten) : rewritten;\n\t}\n\tcollectColumnRefs() {\n\t\tconst refs = [];\n\t\tconst pushRefs = (columns) => {\n\t\t\trefs.push(...columns);\n\t\t};\n\t\tif (this.from?.kind === \"derived-table-source\") pushRefs(this.from.query.collectColumnRefs());\n\t\telse if (this.from?.kind === \"function-source\") for (const arg of this.from.args) pushRefs(arg.collectColumnRefs());\n\t\tfor (const projection of this.projection) if (!(projection.expr.kind === \"literal\")) pushRefs(projection.expr.collectColumnRefs());\n\t\tif (this.where) pushRefs(this.where.collectColumnRefs());\n\t\tif (this.having) pushRefs(this.having.collectColumnRefs());\n\t\tfor (const orderItem of this.orderBy ?? []) pushRefs(orderItem.expr.collectColumnRefs());\n\t\tfor (const expr of this.distinctOn ?? []) pushRefs(expr.collectColumnRefs());\n\t\tfor (const expr of this.groupBy ?? []) pushRefs(expr.collectColumnRefs());\n\t\tfor (const join of this.joins ?? []) {\n\t\t\tif (join.source.kind === \"derived-table-source\") pushRefs(join.source.query.collectColumnRefs());\n\t\t\telse if (join.source.kind === \"function-source\") for (const arg of join.source.args) pushRefs(arg.collectColumnRefs());\n\t\t\tif (join.on.kind === \"eq-col-join-on\") refs.push(join.on.left, join.on.right);\n\t\t\telse pushRefs(join.on.collectColumnRefs());\n\t\t}\n\t\tif (typeof this.limit === \"object\") pushRefs(this.limit.collectColumnRefs());\n\t\tif (typeof this.offset === \"object\") pushRefs(this.offset.collectColumnRefs());\n\t\treturn refs;\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tconst pushRefs = (params) => {\n\t\t\trefs.push(...params);\n\t\t};\n\t\tif (this.from?.kind === \"derived-table-source\") pushRefs(this.from.query.collectParamRefs());\n\t\telse if (this.from?.kind === \"function-source\") for (const arg of this.from.args) pushRefs(arg.collectParamRefs());\n\t\tfor (const projection of this.projection) if (!(projection.expr.kind === \"literal\")) pushRefs(projection.expr.collectParamRefs());\n\t\tif (this.where) pushRefs(this.where.collectParamRefs());\n\t\tif (this.having) pushRefs(this.having.collectParamRefs());\n\t\tfor (const orderItem of this.orderBy ?? []) pushRefs(orderItem.expr.collectParamRefs());\n\t\tfor (const expr of this.distinctOn ?? []) pushRefs(expr.collectParamRefs());\n\t\tfor (const expr of this.groupBy ?? []) pushRefs(expr.collectParamRefs());\n\t\tfor (const join of this.joins ?? []) {\n\t\t\tif (join.source.kind === \"derived-table-source\") pushRefs(join.source.query.collectParamRefs());\n\t\t\telse if (join.source.kind === \"function-source\") for (const arg of join.source.args) pushRefs(arg.collectParamRefs());\n\t\t\tif (!(join.on.kind === \"eq-col-join-on\")) pushRefs(join.on.collectParamRefs());\n\t\t}\n\t\tif (typeof this.limit === \"object\") pushRefs(this.limit.collectParamRefs());\n\t\tif (typeof this.offset === \"object\") pushRefs(this.offset.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nvar InsertOnConflictAction = class extends AstNode {};\nvar DoNothingConflictAction = class extends InsertOnConflictAction {\n\tkind = \"do-nothing\";\n\tconstructor() {\n\t\tsuper();\n\t\tthis.freeze();\n\t}\n\ttoInsertOnConflictAction() {\n\t\treturn this;\n\t}\n};\nvar DoUpdateSetConflictAction = class extends InsertOnConflictAction {\n\tkind = \"do-update-set\";\n\tset;\n\tconstructor(set) {\n\t\tsuper();\n\t\tthis.set = frozenRecordCopy(set);\n\t\tthis.freeze();\n\t}\n\ttoInsertOnConflictAction() {\n\t\treturn this;\n\t}\n};\nvar InsertOnConflict = class InsertOnConflict extends AstNode {\n\tkind = \"insert-on-conflict\";\n\tcolumns;\n\taction;\n\tconstructor(columns, action) {\n\t\tsuper();\n\t\tthis.columns = frozenArrayCopy(columns);\n\t\tthis.action = action;\n\t\tthis.freeze();\n\t}\n\tstatic on(columns) {\n\t\treturn new InsertOnConflict(columns, new DoNothingConflictAction());\n\t}\n\t/**\n\t* Skip a row that collides with any unique constraint on the table, without\n\t* naming one. The renderer chooses the dialect; Postgres and SQLite emit\n\t* `ON CONFLICT DO NOTHING`.\n\t*/\n\tstatic doNothing() {\n\t\treturn new InsertOnConflict([], new DoNothingConflictAction());\n\t}\n\tdoNothing() {\n\t\treturn new InsertOnConflict(this.columns, new DoNothingConflictAction());\n\t}\n\tdoUpdateSet(set) {\n\t\treturn new InsertOnConflict(this.columns, new DoUpdateSetConflictAction(set));\n\t}\n};\nvar InsertAst = class InsertAst extends QueryAst {\n\tkind = \"insert\";\n\ttable;\n\trows;\n\tonConflict;\n\treturning;\n\tconstructor(table, rows = [{}], onConflict, returning) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.rows = freezeRows(rows);\n\t\tthis.onConflict = onConflict;\n\t\tthis.returning = returning && returning.length > 0 ? frozenArrayCopy(returning) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic into(table) {\n\t\treturn new InsertAst(table);\n\t}\n\twithRows(rows) {\n\t\treturn new InsertAst(this.table, rows.map((row) => ({ ...row })), this.onConflict, this.returning);\n\t}\n\twithReturning(returning) {\n\t\treturn new InsertAst(this.table, this.rows.map((row) => ({ ...row })), this.onConflict, returning);\n\t}\n\twithOnConflict(onConflict) {\n\t\treturn new InsertAst(this.table, this.rows.map((row) => ({ ...row })), onConflict, this.returning);\n\t}\n\trewrite(rewriter) {\n\t\treturn new InsertAst(rewriteTableSource(this.table, rewriter), this.rows.map((row) => rewriteInsertRow(row, rewriter)), this.onConflict ? rewriteOnConflict(this.onConflict, rewriter) : void 0, this.returning?.map((item) => rewriteProjectionItem(item, rewriter)));\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tfor (const row of this.rows) for (const value of Object.values(row)) if (value.kind === \"param-ref\" || value.kind === \"prepared-param-ref\") refs.push(value);\n\t\telse if (value.kind === \"raw-expr\") refs.push(...value.collectParamRefs());\n\t\tif (this.onConflict?.action.kind === \"do-update-set\") {\n\t\t\tfor (const value of Object.values(this.onConflict.action.set)) if (value.kind === \"param-ref\" || value.kind === \"prepared-param-ref\") refs.push(value);\n\t\t}\n\t\tfor (const item of this.returning ?? []) if (item.expr.kind !== \"literal\") refs.push(...item.expr.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nvar UpdateAst = class UpdateAst extends QueryAst {\n\tkind = \"update\";\n\ttable;\n\tset;\n\twhere;\n\treturning;\n\tconstructor(table, set = {}, where, returning) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.set = frozenRecordCopy(set);\n\t\tthis.where = where;\n\t\tthis.returning = returning && returning.length > 0 ? frozenArrayCopy(returning) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic table(table) {\n\t\treturn new UpdateAst(table);\n\t}\n\twithSet(set) {\n\t\treturn new UpdateAst(this.table, set, this.where, this.returning);\n\t}\n\twithWhere(where) {\n\t\treturn new UpdateAst(this.table, this.set, where, this.returning);\n\t}\n\twithReturning(returning) {\n\t\treturn new UpdateAst(this.table, this.set, this.where, returning);\n\t}\n\trewrite(rewriter) {\n\t\treturn new UpdateAst(rewriteTableSource(this.table, rewriter), rewriteUpdateSet(this.set, rewriter), this.where?.rewrite(rewriter), this.returning?.map((item) => rewriteProjectionItem(item, rewriter)));\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tfor (const value of Object.values(this.set)) refs.push(...value.collectParamRefs());\n\t\tif (this.where) refs.push(...this.where.collectParamRefs());\n\t\tfor (const item of this.returning ?? []) if (item.expr.kind !== \"literal\") refs.push(...item.expr.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nvar DeleteAst = class DeleteAst extends QueryAst {\n\tkind = \"delete\";\n\ttable;\n\twhere;\n\treturning;\n\tconstructor(table, where, returning) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.where = where;\n\t\tthis.returning = returning && returning.length > 0 ? frozenArrayCopy(returning) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic from(table) {\n\t\treturn new DeleteAst(table);\n\t}\n\twithWhere(where) {\n\t\treturn new DeleteAst(this.table, where, this.returning);\n\t}\n\twithReturning(returning) {\n\t\treturn new DeleteAst(this.table, this.where, returning);\n\t}\n\trewrite(rewriter) {\n\t\treturn new DeleteAst(rewriteTableSource(this.table, rewriter), this.where?.rewrite(rewriter), this.returning?.map((item) => rewriteProjectionItem(item, rewriter)));\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tif (this.where) refs.push(...this.where.collectParamRefs());\n\t\tfor (const item of this.returning ?? []) if (item.expr.kind !== \"literal\") refs.push(...item.expr.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\n/**\n* The one column name a declared result cannot carry. Writing `__proto__` onto\n* an object literal sets that object's prototype instead of adding a property,\n* so a column so named would disappear between the declaration and the decoded\n* row — and the row type would still promise it. Every other name that shadows\n* something on `Object.prototype` (`constructor`, `prototype`) is an ordinary\n* own property when assigned, and passes through as declared.\n*/\nconst RESERVED_RESULT_COLUMN = \"__proto__\";\nfunction frozenRawQueryResult(result) {\n\tif (result.kind === \"affected-count\") return Object.freeze({ kind: \"affected-count\" });\n\tconst columns = {};\n\tfor (const [name, column] of Object.entries(result.columns)) {\n\t\tif (name === RESERVED_RESULT_COLUMN) throw structuredError(\"RUNTIME.AST_INVALID\", `A raw query result cannot declare a \"${RESERVED_RESULT_COLUMN}\" column: alias the column in SQL and declare the alias instead`, { meta: {\n\t\t\tkind: \"raw-query\",\n\t\t\tfield: \"result.columns\",\n\t\t\tcolumn: name\n\t\t} });\n\t\tcolumns[name] = Object.freeze({\n\t\t\tcodecId: column.codecId,\n\t\t\tnullable: column.nullable\n\t\t});\n\t}\n\treturn Object.freeze({\n\t\tkind: \"rows\",\n\t\tcolumns: Object.freeze(columns)\n\t});\n}\n/**\n* Raw-SQL statement AST node: a whole query authored as a template, carrying\n* the same `parts` representation as {@link RawExpr} (literal SQL fragments\n* interleaved with interpolated expressions and `ParamRef`s) plus the result\n* the author declared for it.\n*\n* The shared `parts` shape is what lets a row-returning raw query be spliced\n* into another raw template: the inner parts are concatenated into the outer\n* list, so parameters keep their template order and lowering walks one flat\n* sequence.\n*/\nvar RawQueryAst = class RawQueryAst extends QueryAst {\n\tkind = \"raw-query\";\n\tparts;\n\tresult;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.parts = frozenArrayCopy(options.parts);\n\t\tthis.result = frozenRawQueryResult(options.result);\n\t\tthis.freeze();\n\t}\n\tstatic rows(parts, columns) {\n\t\treturn new RawQueryAst({\n\t\t\tparts,\n\t\t\tresult: {\n\t\t\t\tkind: \"rows\",\n\t\t\t\tcolumns\n\t\t\t}\n\t\t});\n\t}\n\tstatic affectedCount(parts) {\n\t\treturn new RawQueryAst({\n\t\t\tparts,\n\t\t\tresult: { kind: \"affected-count\" }\n\t\t});\n\t}\n\trewrite(rewriter) {\n\t\treturn new RawQueryAst({\n\t\t\tparts: this.parts.map((part) => typeof part === \"string\" ? part : rewriteComparable(part, rewriter)),\n\t\t\tresult: this.result\n\t\t});\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tfor (const part of this.parts) if (typeof part !== \"string\") refs.push(...part.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nconst queryAstKinds = /* @__PURE__ */ new Set([\n\t\"select\",\n\t\"insert\",\n\t\"update\",\n\t\"delete\",\n\t\"raw-query\"\n]);\nconst whereExprKinds = /* @__PURE__ */ new Set([\n\t\"binary\",\n\t\"and\",\n\t\"or\",\n\t\"exists\",\n\t\"null-check\",\n\t\"not\"\n]);\nfunction isQueryAst(value) {\n\treturn typeof value === \"object\" && value !== null && \"kind\" in value && typeof value.kind === \"string\" && queryAstKinds.has(value.kind);\n}\nfunction isWhereExpr(value) {\n\treturn typeof value === \"object\" && value !== null && \"kind\" in value && typeof value.kind === \"string\" && whereExprKinds.has(value.kind);\n}\n//#endregion\nexport { PreparedParamRef as A, isAggregateFn as B, LiteralExpr as C, OrExpr as D, OperationExpr as E, SubqueryExpr as F, queryAstKinds as G, isOrderByNulls as H, TableSource as I, whereExprKinds 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, isQueryAst as U, isOrderByDirection as V, isWhereExpr 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, frozenCodecRef 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 };\n\n//# sourceMappingURL=types-BLnsGaJf.mjs.map"],"mappings":"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"}
|
|
@@ -3,28 +3,20 @@ import { c as SqlStorage, d as StorageTypeInstance } from "./sql-storage-jJySr7b
|
|
|
3
3
|
import { O as SqlControlDriverInstance } from "./types-Bl6ohp1g-CL4_GDuc.mjs";
|
|
4
4
|
import "./types-B11MGgKr.mjs";
|
|
5
5
|
import { r as SqlOperationDescriptors } from "./index-DZbfFGBA.mjs";
|
|
6
|
-
import { y as SqlSchemaIRNode } from "./types-
|
|
7
|
-
import "./types-
|
|
8
|
-
import {
|
|
6
|
+
import { y as SqlSchemaIRNode } from "./types-Da1Y_OI7-BPyFwdFU.mjs";
|
|
7
|
+
import "./types-DZA5xxDT.mjs";
|
|
8
|
+
import { r as SqlControlAdapter } from "./control-adapter-BVN98SzR-C-H_T7s-.mjs";
|
|
9
9
|
import { Contract } from "@prisma/orm-framework/contract/types";
|
|
10
10
|
import { TargetBoundComponentDescriptor } from "@prisma/orm-framework/components/components";
|
|
11
11
|
import { ContractSpace, ControlAdapterDescriptor, ControlExtensionDescriptor, MigrationOperationPolicy, MigrationPlan, MigrationPlanOperation, MigrationPlannerConflict, MigrationPlannerFailureResult, MigrationPlannerSuccessResult, MigrationRunnerExecutionChecks, MigrationRunnerFailure, MigrationRunnerPerSpaceSuccessValue, MigrationRunnerResult, OpFactoryCall, OperationContext, SchemaDiffIssue, SchemaOwnership } from "@prisma/orm-framework/components/control";
|
|
12
12
|
import { Result } from "@prisma/orm-framework/utils/result";
|
|
13
13
|
import { AggregateMigrationEdgeRef } from "@prisma/orm-toolchain/migration-tools/aggregate";
|
|
14
|
-
//#region ../../../2-sql/9-family/dist/types-
|
|
14
|
+
//#region ../../../2-sql/9-family/dist/types-CcGO_LSh.d.mts
|
|
15
15
|
//#region src/core/migrations/types.d.ts
|
|
16
16
|
type AnyRecord = Readonly<Record<string, unknown>>;
|
|
17
17
|
interface StorageTypePlanResult<TTargetDetails> {
|
|
18
18
|
readonly operations: readonly SqlMigrationPlanOperation<TTargetDetails>[];
|
|
19
19
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Input for expanding parameterized native types.
|
|
22
|
-
*/
|
|
23
|
-
interface ExpandNativeTypeInput {
|
|
24
|
-
readonly nativeType: string;
|
|
25
|
-
readonly codecId?: string;
|
|
26
|
-
readonly typeParams?: Record<string, unknown>;
|
|
27
|
-
}
|
|
28
20
|
/**
|
|
29
21
|
* Input for resolving an identity-value SQL literal used to backfill existing rows when
|
|
30
22
|
* adding a NOT NULL column without an explicit default.
|
|
@@ -33,7 +25,8 @@ interface ExpandNativeTypeInput {
|
|
|
33
25
|
* (0 for numbers, '' for strings, false for booleans, etc.).
|
|
34
26
|
*/
|
|
35
27
|
interface ResolveIdentityValueInput {
|
|
36
|
-
|
|
28
|
+
/** The id of the data type the column's codec represents. */
|
|
29
|
+
readonly dataType: string;
|
|
37
30
|
readonly codecId?: string;
|
|
38
31
|
readonly typeParams?: Record<string, unknown>;
|
|
39
32
|
}
|
|
@@ -100,17 +93,6 @@ interface CodecControlHooks<TTargetDetails = unknown> {
|
|
|
100
93
|
readonly driver: SqlControlDriverInstance<string>;
|
|
101
94
|
readonly schemaName?: string;
|
|
102
95
|
}) => Promise<Record<string, StorageTypeInstance>>;
|
|
103
|
-
/**
|
|
104
|
-
* Expands a parameterized native type to its full SQL representation.
|
|
105
|
-
* Used by schema verification to compare contract types against database types.
|
|
106
|
-
*
|
|
107
|
-
* For example, expands:
|
|
108
|
-
* - { nativeType: 'character varying', typeParams: { length: 255 } } -> 'character varying(255)'
|
|
109
|
-
* - { nativeType: 'numeric', typeParams: { precision: 10, scale: 2 } } -> 'numeric(10,2)'
|
|
110
|
-
*
|
|
111
|
-
* Returns the expanded type string, or the original nativeType if no expansion is needed.
|
|
112
|
-
*/
|
|
113
|
-
expandNativeType?: (input: ExpandNativeTypeInput) => string;
|
|
114
96
|
/**
|
|
115
97
|
* Resolves the identity value (monoid neutral element) as a SQL literal for safely adding
|
|
116
98
|
* a NOT NULL column without an explicit default to a non-empty table.
|
|
@@ -422,5 +404,5 @@ interface CreateSqlMigrationPlanOptions<TTargetDetails> {
|
|
|
422
404
|
readonly meta?: AnyRecord;
|
|
423
405
|
}
|
|
424
406
|
//#endregion
|
|
425
|
-
export {
|
|
426
|
-
//# sourceMappingURL=types-
|
|
407
|
+
export { StorageTypePlanResult as A, SqlPlanTargetDetails as C, SqlPlannerFailureResult as D, SqlPlannerConflictLocation as E, SqlPlannerResult as O, SqlMigrationRunnerSuccessValue as S, SqlPlannerConflictKind as T, SqlMigrationRunnerErrorCode as _, FieldEventContext as a, SqlMigrationRunnerFailure as b, SqlControlExtensionDescriptor as c, SqlMigrationPlanOperation as d, SqlMigrationPlanOperationStep as f, SqlMigrationRunner as g, SqlMigrationPlannerPlanOptions as h, FieldEvent as i, SqlPlannerSuccessResult as k, SqlMigrationPlan as l, SqlMigrationPlanner as m, CodecControlHooks as n, ResolveIdentityValueInput as o, SqlMigrationPlanOperationTarget as p, CreateSqlMigrationPlanOptions as r, SqlControlAdapterDescriptor as s, AnyRecord as t, SqlMigrationPlanContractInfo as u, SqlMigrationRunnerExecuteCallbacks as v, SqlPlannerConflict as w, SqlMigrationRunnerResult as x, SqlMigrationRunnerExecuteOptions as y };
|
|
408
|
+
//# sourceMappingURL=types-CcGO_LSh-BKHiJvvA.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-CcGO_LSh-BKHiJvvA.d.mts","names":[],"sources":["../../../../2-sql/9-family/dist/types-CcGO_LSh.d.mts"],"mappings":";;;;;;;;;;;;;;;KAUK,YAAY,SAAS;UAChB,sBAAsB;WACrB,qBAAqB,0BAA0B;;;;;;;;;UAShD;;WAEC;WACA;WACA,aAAa;;;;;;;;;;;;;;;;KAgBnB;;;;;;;;;;;;;UAaK;WACC;WACA;WACA;WACA,aAAa;WACb,WAAW;WACX,aAAa;WACb,WAAW;;UAEZ,kBAAkB;;;;;;;;;EAS1B,sBAAsB;aACX;aACA,cAAc;aACd,UAAU,SAAS;aACnB,QAAQ;aACR;aACA,QAAQ;QACb,sBAAsB;EAC5B,cAAc;aACH;aACA,cAAc;aACd,QAAQ;aACR;iBACI;EACf,mBAAmB;aACR,QAAQ;aACR;QACL,QAAQ,eAAe;;;;;;;;;;EAU7B,wBAAwB,OAAO;;;;;;;;;;;;;;;EAe/B,gBAAgB,OAAO,YAAY,KAAK,+BAA+B;;UAE/D,8BAA8B,kCAAkC,kCAAkC;WACjG,wBAAwB;;;;;;;;;;;;WAYxB,gBAAgB,cAAc,SAAS;;UAExC,4BAA4B,kCAAkC,gCAAgC,WAAW,kBAAkB;WAC1H,wBAAwB;;UAEzB;WACC;WACA;;;;;;;;;WASA;WACA,OAAO;;;;;;;;;UASR;WACC;WACA;;UAED,gCAAgC;WAC/B;WACA,UAAU;;UAEX,0BAA0B,wBAAwB;WACjD;WACA,QAAQ,gCAAgC;WACxC,mBAAmB;WACnB,kBAAkB;WAClB,oBAAoB;WACpB,OAAO;;UAER;WACC;WACA;;UAED,iBAAiB,wBAAwB;;;;;;;;;;;;;;;WAexC;;;;;WAKA,SAAS;;;;WAIT,aAAa;WACb,sBAAsB,0BAA0B,kBAAkB,QAAQ,0BAA0B;;;;;;;;;WASpG;WACA,OAAO;;KAEb;UACK;WACC;WACA;WACA;WACA;WACA;WACA;WACA;;UAED,2BAA2B;WAC1B,MAAM;WACN,WAAW;WACX,OAAO;;UAER,wBAAwB,wBAAwB,KAAK;WACpD;WACA,MAAM,iBAAiB;;UAExB,gCAAgC,KAAK;WACpC;WACA,oBAAoB;;KAE1B,iBAAiB,kBAAkB,wBAAwB,kBAAkB;UACxE;WACC,UAAU,SAAS;;;;;;WAMnB,QAAQ;WACR,QAAQ;WACR;;;;;;;;WAQA;;;;;;;;;;;;;;;;;WAiBA,cAAc,SAAS;;;;;;;WAOvB;;;;;;;WAOA,qBAAqB,cAAc;;;;;;;;;;WAUnC,YAAY;;UAEb,oBAAoB;EAC5B,KAAK,SAAS,iCAAiC,iBAAiB;;UAExD,mCAAmC;EAC3C,kBAAkB,WAAW,0BAA0B;EACvD,qBAAqB,WAAW,0BAA0B;;UAElD,iCAAiC;WAChC,MAAM,iBAAiB;WACvB,QAAQ;;;;;;;;WAQR;;;;;WAKA,qBAAqB,SAAS;;;;;WAK9B,QAAQ;WACR;WACA;WACA,YAAY,mCAAmC;WAC/C,UAAU;;;;;WAKV,kBAAkB;;;;;;;WAOlB,qBAAqB,cAAc;;;;;WAKnC,yBAAyB;;KAE/B;UACK,kCAAkC;WACjC,MAAM;WACN,OAAO;;UAER,uCAAuC;KAC5C,2BAA2B,OAAO,gCAAgC;UAC7D,mBAAmB;;;;;;;;;;;;;;EAc3B,QAAQ;aACG,QAAQ;aACR,iBAAiB,cAAc,iCAAiC;MACvE,QAAQ;;;;;;;;;;;EAWZ,oBAAoB,SAAS,iCAAiC,kBAAkB,QAAQ;;UAEhF,8BAA8B;WAC7B;;;;WAIA;WACA,SAAS;WACT,aAAa;WACb,qBAAqB,0BAA0B;;;;;;WAM/C;WACA,OAAO"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as SqlNode } from "./storage-table-
|
|
1
|
+
import { o as SqlNode } from "./storage-table-BwwDKQkD-BN9cZrGX.mjs";
|
|
2
2
|
import { NamespaceBase, freezeNode, isPlainRecord } from "@prisma/orm-framework/components/ir";
|
|
3
3
|
import { InternalError } from "@prisma/orm-framework/utils/internal-error";
|
|
4
4
|
import { RelationKeys } from "@prisma/orm-framework/components/runtime";
|
|
@@ -116,4 +116,4 @@ function applyFkDefaults(fk, overrideDefaults) {
|
|
|
116
116
|
//#endregion
|
|
117
117
|
export { SqlNamespaceBase as a, isMaterializedSqlNamespace as c, resolvedTypeParams as d, toStorageTypeInstance as f, RelationKeys as i, isSqlAuthoringContributions as l, DEFAULT_FK_CONSTRAINT as n, SqlStorage as o, DEFAULT_FK_INDEX as r, applyFkDefaults as s, CODEC_INSTANCE_KIND as t, isStorageTypeInstance as u };
|
|
118
118
|
|
|
119
|
-
//# sourceMappingURL=types-
|
|
119
|
+
//# sourceMappingURL=types-Cn4JEguu.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types-
|
|
1
|
+
{"version":3,"file":"types-Cn4JEguu.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/types.mjs"],"sourcesContent":["import { a as ForeignKey, c as CheckConstraint, i as PrimaryKey, l as SqlNode, n as UniqueConstraint, o as ForeignKeyReference, r as StorageColumn, s as Index, t as StorageTable } from \"./storage-table-BwwDKQkD.mjs\";\nimport { i as isStorageValueSet, n as checkConstraintInputFromSerialized, r as StorageValueSet, t as indexInputFromSerialized } from \"./serialized-index-BeGqqsrC.mjs\";\nimport { NamespaceBase, freezeNode, isPlainRecord } from \"@internal/framework-components/ir\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { RelationKeys } from \"@internal/framework-components/runtime\";\n//#region src/ir/storage-type-instance.ts\n/**\n* Sentinel kind for the legacy codec-triple shape persisted under\n* `SqlStorage.types`. Plain JSON-clean object literals carry this\n* discriminator so the polymorphic slot dispatch can route them down\n* the codec path while target-specific IR class instances (e.g. the\n* Postgres enum class) keep their own narrower `kind` literal.\n*/\nconst CODEC_INSTANCE_KIND = \"codec-instance\";\n/**\n* Stamp the codec-instance `kind` discriminator on a caller-supplied\n* codec triple. Idempotent: input that already carries the discriminator\n* passes through unchanged. Missing `typeParams` is normalised to `{}`.\n*/\nfunction toStorageTypeInstance(input) {\n\treturn {\n\t\tkind: CODEC_INSTANCE_KIND,\n\t\tcodecId: input.codecId,\n\t\tnativeType: input.nativeType,\n\t\ttypeParams: input.typeParams ?? {}\n\t};\n}\n/**\n* The type parameters of a type written with its own parameters or by the name of a named type: its own, or else the named type's. Empty parameters read as none, as a codec reads them; {@link toStorageTypeInstance} stores `{}` for a codec without parameters.\n*/\nfunction resolvedTypeParams(type, namedTypes) {\n\tconst typeParams = type.typeParams ?? (type.typeRef === void 0 ? void 0 : namedTypes?.[type.typeRef]?.typeParams);\n\treturn typeParams !== void 0 && Object.keys(typeParams).length > 0 ? typeParams : void 0;\n}\n/**\n* Type-guard for codec-typed entries on the polymorphic\n* `SqlStorage.types` slot. Distinguishes `StorageTypeInstance` from\n* any class-instance kinds a target pack contributes.\n*/\nfunction isStorageTypeInstance(value) {\n\tif (typeof value !== \"object\" || value === null) return false;\n\treturn value.kind === CODEC_INSTANCE_KIND;\n}\n//#endregion\n//#region src/ir/sql-storage.ts\n/**\n* Narrows framework `AuthoringContributions` to the SQL-family shape by testing\n* for the SQL-specific `createNamespace` capability.\n*/\nfunction isSqlAuthoringContributions(authoring) {\n\tif (authoring === void 0 || !Object.hasOwn(authoring, \"createNamespace\")) return false;\n\treturn typeof Reflect.get(authoring, \"createNamespace\") === \"function\";\n}\n/**\n* Abstract SQL family namespace base class. Target concretions (`PostgresSchema`,\n* `SqliteDatabase`, …) extend this — it is never instantiated directly.\n* `entries` is the open ADR 224 dictionary: `entries[entityKind][entityName]`\n* addresses any entity.\n*/\nvar SqlNamespaceBase = class extends NamespaceBase {};\n/**\n* Realm-safe guard for hydrated `SqlNamespaceBase` concretions. Checks\n* `qualifyTable` structurally instead of `instanceof NamespaceBase`, so it\n* survives duplicate-module boundaries (e.g. dist e2e where the target and\n* the family carry separate copies of `@internal/framework-components`).\n*\n* Every concrete `SqlNamespaceBase` subclass (`PostgresSchema`, `SqliteDatabase`,\n* `TestSqlNamespace`, …) implements `qualifyTable`. Raw `SqlNamespaceInput`\n* objects (`{ id, entries }`) do not.\n*/\nfunction isMaterializedSqlNamespace(x) {\n\tif (typeof x !== \"object\" || x === null || !(\"qualifyTable\" in x)) return false;\n\treturn typeof x.qualifyTable === \"function\";\n}\nvar SqlStorage = class extends SqlNode {\n\tstorageHash;\n\tnamespaces;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.storageHash = input.storageHash;\n\t\tthis.namespaces = Object.freeze(input.namespaces);\n\t\tif (input.types !== void 0) this.types = Object.freeze(Object.fromEntries(Object.entries(input.types).map(([name, ti]) => [name, normaliseTypeEntry(name, ti)])));\n\t\tfreezeNode(this);\n\t}\n};\n/**\n* Strict polymorphic-slot dispatch for `SqlStorage.types` entries.\n* Every entry must carry a `kind: 'codec-instance'` discriminator or\n* be an already-constructed `StorageTypeInstance`. Untagged or\n* unrecognised inputs throw a diagnostic naming the entry and its\n* `kind`, so format drift surfaces loudly at the deserializer\n* boundary instead of slipping past the seam and corrupting\n* downstream IR walks.\n*\n* Codec-triple authors that have an untagged shape on hand can call\n* `toStorageTypeInstance(...)` (which stamps the `'codec-instance'`\n* discriminator) before constructing `SqlStorage`. On-disk reads\n* cross `familyInstance.deserializeContract` first; the structural\n* arktype schema rejects untagged entries earlier, so this throw\n* only fires for in-memory authoring bugs.\n*/\nfunction normaliseTypeEntry(name, entry) {\n\tif (isStorageTypeInstance(entry)) {\n\t\tif (\"typeParams\" in entry) return entry;\n\t\treturn toStorageTypeInstance(entry);\n\t}\n\tconst rawKind = isPlainRecord(entry) ? entry[\"kind\"] : void 0;\n\tconst kindDescription = rawKind === void 0 ? \"missing `kind` discriminator\" : `unrecognised \\`kind\\` discriminator ${JSON.stringify(rawKind)}`;\n\tthrow new InternalError(`storage.types[${JSON.stringify(name)}] has ${kindDescription}; expected ${JSON.stringify(\"codec-instance\")}. Untagged codec triples should be wrapped with toStorageTypeInstance(...) before construction.`);\n}\n//#endregion\n//#region src/types.ts\nconst DEFAULT_FK_CONSTRAINT = true;\nconst DEFAULT_FK_INDEX = true;\nfunction applyFkDefaults(fk, overrideDefaults) {\n\treturn {\n\t\tconstraint: fk.constraint ?? overrideDefaults?.constraint ?? true,\n\t\tindex: fk.index ?? overrideDefaults?.index ?? true\n\t};\n}\n//#endregion\nexport { CODEC_INSTANCE_KIND, CheckConstraint, DEFAULT_FK_CONSTRAINT, DEFAULT_FK_INDEX, ForeignKey, ForeignKeyReference, Index, PrimaryKey, RelationKeys, SqlNamespaceBase, SqlNode, SqlStorage, StorageColumn, StorageTable, StorageValueSet, UniqueConstraint, applyFkDefaults, checkConstraintInputFromSerialized, indexInputFromSerialized, isMaterializedSqlNamespace, isSqlAuthoringContributions, isStorageTypeInstance, isStorageValueSet, resolvedTypeParams, toStorageTypeInstance };\n\n//# sourceMappingURL=types.mjs.map"],"mappings":";;;;;;;;;;;;AAaA,MAAM,sBAAsB;;;;;;AAM5B,SAAS,sBAAsB,OAAO;CACrC,OAAO;EACN,MAAM;EACN,SAAS,MAAM;EACf,YAAY,MAAM;EAClB,YAAY,MAAM,cAAc,CAAC;CAClC;AACD;;;;AAIA,SAAS,mBAAmB,MAAM,YAAY;CAC7C,MAAM,aAAa,KAAK,eAAe,KAAK,YAAY,KAAK,IAAI,KAAK,IAAI,aAAa,KAAK,QAAQ,EAAE;CACtG,OAAO,eAAe,KAAK,KAAK,OAAO,KAAK,UAAU,CAAC,CAAC,SAAS,IAAI,aAAa,KAAK;AACxF;;;;;;AAMA,SAAS,sBAAsB,OAAO;CACrC,IAAI,OAAO,UAAU,YAAY,UAAU,MAAM,OAAO;CACxD,OAAO,MAAM,SAAS;AACvB;;;;;AAOA,SAAS,4BAA4B,WAAW;CAC/C,IAAI,cAAc,KAAK,KAAK,CAAC,OAAO,OAAO,WAAW,iBAAiB,GAAG,OAAO;CACjF,OAAO,OAAO,QAAQ,IAAI,WAAW,iBAAiB,MAAM;AAC7D;;;;;;;AAOA,IAAI,mBAAmB,cAAc,cAAc,CAAC;;;;;;;;;;;AAWpD,SAAS,2BAA2B,GAAG;CACtC,IAAI,OAAO,MAAM,YAAY,MAAM,QAAQ,EAAE,kBAAkB,IAAI,OAAO;CAC1E,OAAO,OAAO,EAAE,iBAAiB;AAClC;AACA,IAAI,aAAa,cAAc,QAAQ;CACtC;CACA;CACA,YAAY,OAAO;EAClB,MAAM;EACN,KAAK,cAAc,MAAM;EACzB,KAAK,aAAa,OAAO,OAAO,MAAM,UAAU;EAChD,IAAI,MAAM,UAAU,KAAK,GAAG,KAAK,QAAQ,OAAO,OAAO,OAAO,YAAY,OAAO,QAAQ,MAAM,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,MAAM,mBAAmB,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;EAChK,WAAW,IAAI;CAChB;AACD;;;;;;;;;;;;;;;;;AAiBA,SAAS,mBAAmB,MAAM,OAAO;CACxC,IAAI,sBAAsB,KAAK,GAAG;EACjC,IAAI,gBAAgB,OAAO,OAAO;EAClC,OAAO,sBAAsB,KAAK;CACnC;CACA,MAAM,UAAU,cAAc,KAAK,IAAI,MAAM,UAAU,KAAK;CAC5D,MAAM,kBAAkB,YAAY,KAAK,IAAI,iCAAiC,uCAAuC,KAAK,UAAU,OAAO;CAC3I,MAAM,IAAI,cAAc,iBAAiB,KAAK,UAAU,IAAI,EAAE,QAAQ,gBAAgB,aAAa,KAAK,UAAU,gBAAgB,EAAE,gGAAgG;AACrO;AAGA,MAAM,wBAAwB;AAC9B,MAAM,mBAAmB;AACzB,SAAS,gBAAgB,IAAI,kBAAkB;CAC9C,OAAO;EACN,YAAY,GAAG,cAAc,kBAAkB,cAAc;EAC7D,OAAO,GAAG,SAAS,kBAAkB,SAAS;CAC/C;AACD"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { f as normalizeIndexOptionValue, l as nameOf } from "./naming-BLraiRfc-DKPaCL0a.mjs";
|
|
2
2
|
import { isStructuredError } from "@prisma/orm-framework/utils/structured-error";
|
|
3
3
|
import { IRNodeBase, freezeNode } from "@prisma/orm-framework/components/ir";
|
|
4
|
-
import { InternalError } from "@prisma/orm-framework/utils/internal-error";
|
|
5
|
-
import { ifDefined } from "@prisma/orm-framework/utils/defined";
|
|
6
4
|
import { blindCast } from "@prisma/orm-framework/utils/casts";
|
|
5
|
+
import { ifDefined } from "@prisma/orm-framework/utils/defined";
|
|
6
|
+
import { InternalError } from "@prisma/orm-framework/utils/internal-error";
|
|
7
7
|
import { canonicalStringify } from "@prisma/orm-framework/utils/canonical-stringify";
|
|
8
8
|
import { isArrayEqual } from "@prisma/orm-framework/utils/array-equal";
|
|
9
|
-
//#region ../../../2-sql/1-core/schema-ir/dist/types-
|
|
9
|
+
//#region ../../../2-sql/1-core/schema-ir/dist/types-CyPuXMTn.mjs
|
|
10
10
|
/**
|
|
11
11
|
* A literal default in the canonical form of the column's data type (ADR 254), element by element
|
|
12
12
|
* for a list column. A `Date` is read as its ISO text first. A value the type refuses is kept as it
|
|
@@ -377,7 +377,6 @@ var SqlColumnDefaultIR = class SqlColumnDefaultIR extends SqlSchemaIRNode {
|
|
|
377
377
|
defineNonEnumerable(this, "many", input.many);
|
|
378
378
|
defineNonEnumerable(this, "codecRef", input.codecRef);
|
|
379
379
|
defineNonEnumerable(this, "codecBaseNativeType", input.codecBaseNativeType);
|
|
380
|
-
defineNonEnumerable(this, "codecNamedType", input.codecNamedType);
|
|
381
380
|
defineNonEnumerable(this, "dataType", input.dataType);
|
|
382
381
|
freezeNode(this);
|
|
383
382
|
}
|
|
@@ -447,7 +446,6 @@ var SqlColumnIR = class SqlColumnIR extends SqlSchemaIRNode {
|
|
|
447
446
|
defineNonEnumerable(this, "authoredDefault", input.authoredDefault);
|
|
448
447
|
defineNonEnumerable(this, "codecRef", input.codecRef);
|
|
449
448
|
defineNonEnumerable(this, "codecBaseNativeType", input.codecBaseNativeType);
|
|
450
|
-
defineNonEnumerable(this, "codecNamedType", input.codecNamedType);
|
|
451
449
|
defineNonEnumerable(this, "dataType", input.dataType);
|
|
452
450
|
freezeNode(this);
|
|
453
451
|
}
|
|
@@ -470,7 +468,6 @@ var SqlColumnIR = class SqlColumnIR extends SqlSchemaIRNode {
|
|
|
470
468
|
...ifDefined("many", this.many ?? this.codecRef?.many),
|
|
471
469
|
...ifDefined("codecRef", this.codecRef),
|
|
472
470
|
...ifDefined("codecBaseNativeType", this.codecBaseNativeType),
|
|
473
|
-
...ifDefined("codecNamedType", this.codecNamedType),
|
|
474
471
|
...ifDefined("dataType", this.dataType)
|
|
475
472
|
})];
|
|
476
473
|
}
|
|
@@ -822,4 +819,4 @@ var SqlSchemaIR = class extends SqlSchemaIRNode {
|
|
|
822
819
|
//#endregion
|
|
823
820
|
export { relationalNodeGranularity as _, SqlColumnIR as a, SqlSchemaIR as c, SqlUniqueIR as d, assertNode as f, relationalNodeEntityKind as g, defineNonEnumerable as h, SqlColumnDefaultIR as i, SqlSchemaIRNode as l, defaultInCanonicalForm as m, RelationalSchemaNodeKind as n, SqlForeignKeyIR as o, contractDefaultRefusal as p, SqlCheckConstraintIR as r, SqlIndexIR as s, PrimaryKey as t, SqlTableIR as u };
|
|
824
821
|
|
|
825
|
-
//# sourceMappingURL=types-
|
|
822
|
+
//# sourceMappingURL=types-CyPuXMTn-pumFirZ6.mjs.map
|