@prisma/orm-family-sql 8.0.0-rc.2-dev.3 → 8.0.0-rc.20-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -6
- package/dist/{aggregate-descriptor-registry-C7hel5O7.mjs → aggregate-descriptor-registry-ZrKjxwQe.mjs} +5 -5
- package/dist/aggregate-descriptor-registry-ZrKjxwQe.mjs.map +1 -0
- package/dist/ast-D0miQ1B6.mjs +372 -0
- package/dist/ast-D0miQ1B6.mjs.map +1 -0
- package/dist/ast-YEMe_B8z.d.mts +292 -0
- package/dist/ast-YEMe_B8z.d.mts.map +1 -0
- package/dist/attribute-specs-DA_RwQFB.d.mts +114 -0
- package/dist/attribute-specs-DA_RwQFB.d.mts.map +1 -0
- package/dist/{authored-check-naming-Hf9990DV.mjs → authored-check-naming-BHGJhjqn.mjs} +5 -5
- package/dist/authored-check-naming-BHGJhjqn.mjs.map +1 -0
- package/dist/{authored-check-naming-BWBe-PVE.d.mts → authored-check-naming-D-o196ry.d.mts} +3 -3
- package/dist/authored-check-naming-D-o196ry.d.mts.map +1 -0
- package/dist/authoring-entity-types-CgKIgWq5-pEdfjam5.d.mts +9 -0
- package/dist/authoring-entity-types-CgKIgWq5-pEdfjam5.d.mts.map +1 -0
- package/dist/builder.d.mts +4 -3
- package/dist/builder__runtime.d.mts +29 -31
- package/dist/builder__runtime.d.mts.map +1 -1
- package/dist/builder__runtime.mjs +261 -191
- package/dist/builder__runtime.mjs.map +1 -1
- package/dist/builder__types.d.mts +6 -3
- package/dist/{canonicalization-hooks-dmXkOR4a.mjs → canonicalization-hooks-Ce1v_TDl.mjs} +2 -2
- package/dist/canonicalization-hooks-Ce1v_TDl.mjs.map +1 -0
- package/dist/{canonicalization-hooks-CYnW_sGn.d.mts → canonicalization-hooks-DyapQ0my.d.mts} +2 -2
- package/dist/canonicalization-hooks-DyapQ0my.d.mts.map +1 -0
- package/dist/{check-constraint-B7qGu6rc-HvQjjX82.d.mts → check-constraint-B7qGu6rc-Bk2ezWXu.d.mts} +4 -4
- package/dist/check-constraint-B7qGu6rc-Bk2ezWXu.d.mts.map +1 -0
- package/dist/{codec-descriptor-registry-N0dhtKaH.mjs → codec-descriptor-registry-CiiFzMtb.mjs} +13 -40
- package/dist/codec-descriptor-registry-CiiFzMtb.mjs.map +1 -0
- package/dist/collection-methods-BB8YH69u.d.mts +1 -0
- package/dist/collection-methods-D2UnCS0S-DOy2qHYS.d.mts +77 -0
- package/dist/collection-methods-D2UnCS0S-DOy2qHYS.d.mts.map +1 -0
- package/dist/{config-types-D9fdKG3g.d.mts → config-types-C-1mIiJO.d.mts} +5 -5
- package/dist/config-types-C-1mIiJO.d.mts.map +1 -0
- package/dist/{config-types-gAm54C_v.mjs → config-types-DkEeq_qq.mjs} +10 -6
- package/dist/config-types-DkEeq_qq.mjs.map +1 -0
- package/dist/{contract-builder-D4a5dT7j.mjs → contract-builder-50lF0kz1.mjs} +431 -226
- package/dist/contract-builder-50lF0kz1.mjs.map +1 -0
- package/dist/contract-builder-C_Zi57iD.d.mts +1967 -0
- package/dist/contract-builder-C_Zi57iD.d.mts.map +1 -0
- package/dist/contract-emitter.d.mts +4 -7
- package/dist/contract-emitter.d.mts.map +1 -1
- package/dist/contract-emitter.mjs +1 -1
- package/dist/{contract-errors-BCN6RVI5-5IHBF_lg.mjs → contract-errors-BCN6RVI5-DoH6b_KZ.mjs} +2 -2
- package/dist/contract-errors-BCN6RVI5-DoH6b_KZ.mjs.map +1 -0
- package/dist/contract-prisma7__provider.d.mts +97 -0
- package/dist/contract-prisma7__provider.d.mts.map +1 -0
- package/dist/contract-prisma7__provider.mjs +2011 -0
- package/dist/contract-prisma7__provider.mjs.map +1 -0
- package/dist/contract-psl.d.mts +18 -29
- 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 -0
- package/dist/contract-psl__attribute-specs.mjs +2 -0
- package/dist/contract-psl__default-table-name.d.mts +7 -0
- package/dist/contract-psl__default-table-name.d.mts.map +1 -0
- package/dist/contract-psl__default-table-name.mjs +2 -0
- package/dist/contract-psl__diagnostics.d.mts +12 -0
- package/dist/contract-psl__diagnostics.d.mts.map +1 -0
- package/dist/contract-psl__diagnostics.mjs +2 -0
- package/dist/contract-psl__map-names.d.mts +16 -0
- package/dist/contract-psl__map-names.d.mts.map +1 -0
- package/dist/contract-psl__map-names.mjs +21 -0
- package/dist/contract-psl__map-names.mjs.map +1 -0
- package/dist/contract-psl__provider.d.mts +3 -3
- package/dist/contract-psl__provider.d.mts.map +1 -1
- package/dist/contract-psl__provider.mjs +95 -46
- package/dist/contract-psl__provider.mjs.map +1 -1
- package/dist/contract-ts.d.mts +5 -5
- package/dist/contract-ts.mjs +5 -4
- package/dist/contract-ts__config-types.d.mts +1 -1
- package/dist/contract-ts__config-types.mjs +1 -1
- package/dist/contract-ts__contract-builder.d.mts +4 -4
- package/dist/contract-ts__contract-builder.mjs +4 -3
- package/dist/{contract-view-BMR5IWk4.mjs → contract-view-DqpzeYeE.mjs} +2 -2
- package/dist/contract-view-DqpzeYeE.mjs.map +1 -0
- package/dist/{contract-view-CPHxoAEX.d.mts → contract-view-DuB35or0.d.mts} +3 -3
- package/dist/contract-view-DuB35or0.d.mts.map +1 -0
- package/dist/contract.d.mts +30 -28
- package/dist/contract.mjs +23 -18
- package/dist/contract__authored-check-naming.d.mts +1 -1
- package/dist/contract__authored-check-naming.mjs +1 -1
- package/dist/contract__canonicalization-hooks.d.mts +1 -1
- package/dist/contract__canonicalization-hooks.mjs +1 -1
- package/dist/contract__contract-view.d.mts +1 -1
- package/dist/contract__contract-view.mjs +1 -1
- 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-handle-lowering-hook.d.mts +2 -2
- package/dist/contract__entity-handle-lowering-hook.mjs +2 -2
- package/dist/contract__entity-kinds.d.mts +1 -1
- package/dist/contract__entity-kinds.mjs +1 -1
- package/dist/contract__factories.d.mts +1 -1
- package/dist/contract__factories.mjs +1 -1
- package/dist/contract__foreign-key-materialization.d.mts +2 -2
- package/dist/contract__foreign-key-materialization.mjs +3 -2
- package/dist/contract__index-naming.d.mts +2 -2
- package/dist/contract__index-naming.mjs +2 -2
- package/dist/contract__index-type-validation.d.mts +2 -2
- package/dist/contract__index-type-validation.mjs +1 -1
- package/dist/contract__index-types.d.mts +3 -3
- package/dist/contract__index-types.mjs +2 -2
- package/dist/contract__referential-action-sql.d.mts +1 -1
- package/dist/contract__referential-action-sql.mjs +1 -1
- package/dist/contract__resolve-storage-table.d.mts +1 -1
- package/dist/contract__resolve-storage-table.mjs +1 -1
- package/dist/contract__sql-expression.d.mts +2 -0
- package/dist/contract__sql-expression.mjs +2 -0
- package/dist/contract__types.d.mts +12 -12
- package/dist/contract__types.mjs +4 -4
- package/dist/contract__validators.d.mts +2 -2
- package/dist/contract__validators.mjs +3 -3
- package/dist/contract__value-set-derivation-hook.d.mts +1 -1
- package/dist/contract__value-set-derivation-hook.mjs +1 -1
- package/dist/control-BK50zF6c.mjs +2721 -0
- package/dist/control-BK50zF6c.mjs.map +1 -0
- package/dist/control-ChAUdOOu.d.mts +1416 -0
- package/dist/control-ChAUdOOu.d.mts.map +1 -0
- package/dist/{control-adapter-C99J7aEF-B7eQd7vD.d.mts → control-adapter-Bn0uhplA-BzP2uPqJ.d.mts} +27 -44
- package/dist/control-adapter-Bn0uhplA-BzP2uPqJ.d.mts.map +1 -0
- package/dist/control-adapter-NZ2kKc4x.d.mts +13 -0
- package/dist/control-adapter-NZ2kKc4x.d.mts.map +1 -0
- package/dist/control-adapter-SlQkTEwT.mjs +16 -0
- package/dist/control-adapter-SlQkTEwT.mjs.map +1 -0
- package/dist/data-type-BFSpaotu.mjs +52 -0
- package/dist/data-type-BFSpaotu.mjs.map +1 -0
- package/dist/data-type-DJIvKQHf.d.mts +158 -0
- package/dist/data-type-DJIvKQHf.d.mts.map +1 -0
- package/dist/data-type-support-BhSoPUFj.mjs +9 -0
- package/dist/data-type-support-BhSoPUFj.mjs.map +1 -0
- package/dist/data-type-support-CXpA0ex-.d.mts +7 -0
- package/dist/data-type-support-CXpA0ex-.d.mts.map +1 -0
- package/dist/{db-D18PrXKW-DvTv4JFn.d.mts → db-D1d75IvM-D4mRDC6w.d.mts} +123 -128
- package/dist/db-D1d75IvM-D4mRDC6w.d.mts.map +1 -0
- package/dist/{ddl-types-CXx4vPz6-BsgrnSUY.d.mts → ddl-types-By5mT2_S-CdaaFvsX.d.mts} +24 -29
- package/dist/ddl-types-By5mT2_S-CdaaFvsX.d.mts.map +1 -0
- package/dist/default-mapping-CAOONlKQ-4m07nb-O.d.mts +39 -0
- package/dist/default-mapping-CAOONlKQ-4m07nb-O.d.mts.map +1 -0
- package/dist/default-table-name-BfFY8qYR-CWZFDX6v.mjs +9 -0
- package/dist/default-table-name-BfFY8qYR-CWZFDX6v.mjs.map +1 -0
- package/dist/derived-checks-D5HVRvqN-BJx1gwPA.mjs +1508 -0
- package/dist/derived-checks-D5HVRvqN-BJx1gwPA.mjs.map +1 -0
- package/dist/{derived-checks-DPdD01O0-DGqOFjs6.d.mts → derived-checks-DpPkO6Dt-9U9UJZOo.d.mts} +4 -4
- package/dist/derived-checks-DpPkO6Dt-9U9UJZOo.d.mts.map +1 -0
- package/dist/diagnostics-RHJxoiIk.mjs +23 -0
- package/dist/diagnostics-RHJxoiIk.mjs.map +1 -0
- package/dist/{diff-DbTNVm2f.d.mts → diff-1qHOLoUB.d.mts} +23 -10
- package/dist/diff-1qHOLoUB.d.mts.map +1 -0
- package/dist/diff-C1rFOhek.mjs +21 -0
- package/dist/diff-C1rFOhek.mjs.map +1 -0
- package/dist/{dist-ZK6oeI5e.mjs → dist-C8Y-PPuE.mjs} +36 -212
- package/dist/dist-C8Y-PPuE.mjs.map +1 -0
- package/dist/{dist-C_q1_QR9.mjs → dist-CHz1hF8M.mjs} +2 -2
- package/dist/dist-CHz1hF8M.mjs.map +1 -0
- package/dist/{dist-x6jvtkKM.mjs → dist-CMDXybwm.mjs} +2 -2
- package/dist/dist-CMDXybwm.mjs.map +1 -0
- package/dist/{driver-types-BQtRkOJ0-Bv2RPSfr.d.mts → driver-types-DRsYeq3j-BimeCnUk.d.mts} +11 -2
- package/dist/driver-types-DRsYeq3j-BimeCnUk.d.mts.map +1 -0
- package/dist/entity-handle-lowering-hook-BJZSlVVF.mjs +16 -0
- package/dist/entity-handle-lowering-hook-BJZSlVVF.mjs.map +1 -0
- package/dist/{entity-handle-lowering-hook-CIvRKBfa.d.mts → entity-handle-lowering-hook-BuvLtgFi.d.mts} +8 -11
- package/dist/entity-handle-lowering-hook-BuvLtgFi.d.mts.map +1 -0
- package/dist/{entity-kinds-B5cUFU22.d.mts → entity-kinds-BPG2xCZV.d.mts} +7 -7
- package/dist/entity-kinds-BPG2xCZV.d.mts.map +1 -0
- package/dist/{entity-kinds-D7vwoN_T-CCBwFJy0.mjs → entity-kinds-JR5SAm5h-DOH6VUtL.mjs} +31 -28
- package/dist/entity-kinds-JR5SAm5h-DOH6VUtL.mjs.map +1 -0
- package/dist/{errors-B5g0xWro-mWH2C07F.mjs → errors-B5g0xWro-C8plbqga.mjs} +2 -2
- package/dist/errors-B5g0xWro-C8plbqga.mjs.map +1 -0
- package/dist/errors.d.mts +1 -1
- package/dist/errors.d.mts.map +1 -1
- package/dist/errors.mjs +1 -1
- package/dist/exports-C3wGYtID-D65DEUTC.mjs +2389 -0
- package/dist/exports-C3wGYtID-D65DEUTC.mjs.map +1 -0
- package/dist/{expression-FJK6Ar-d.d.mts → expression-6ld_ZQL6-fOuazzzm.d.mts} +37 -16
- package/dist/expression-6ld_ZQL6-fOuazzzm.d.mts.map +1 -0
- package/dist/expression-CieaNuRM-B1uVqxwd.d.mts +22 -0
- package/dist/expression-CieaNuRM-B1uVqxwd.d.mts.map +1 -0
- package/dist/expression-D8HstQiB.d.mts +2 -0
- package/dist/{expression-CX5mTA-z.mjs → expression-impl-B-XNINxr-BhN2sysZ.mjs} +41 -18
- package/dist/expression-impl-B-XNINxr-BhN2sysZ.mjs.map +1 -0
- package/dist/{factories-SVor5xIT.mjs → factories-Crobuxwn.mjs} +27 -20
- package/dist/factories-Crobuxwn.mjs.map +1 -0
- package/dist/{factories-P3qBQhO-.d.mts → factories-DbNP9qfs.d.mts} +16 -10
- package/dist/factories-DbNP9qfs.d.mts.map +1 -0
- package/dist/family.d.mts +17 -13
- package/dist/family.mjs +17 -12
- package/dist/family__control-adapter.d.mts +3 -3
- package/dist/family__control-adapter.mjs +2 -1
- package/dist/family__control.d.mts +5 -4
- package/dist/family__control.mjs +4 -4
- package/dist/family__diff.d.mts +2 -3
- package/dist/family__diff.mjs +2 -2
- package/dist/family__ir.d.mts +1 -1
- package/dist/family__ir.mjs +2 -2
- package/dist/family__migration.d.mts +1 -1
- package/dist/family__migration.mjs +1 -1
- package/dist/family__pack.d.mts +2 -249
- package/dist/family__pack.mjs +3 -18
- package/dist/family__psl-build.d.mts +3 -0
- package/dist/family__psl-build.mjs +3 -0
- package/dist/family__psl-infer.d.mts +2 -2
- package/dist/family__psl-infer.mjs +2 -2
- package/dist/family__runtime.d.mts +2 -2
- package/dist/family__runtime.mjs +2 -2
- package/dist/family__verify.d.mts +1 -1
- package/dist/family__verify.mjs +1 -1
- package/dist/foreign-key-materialization-48P2V8on.d.mts +98 -0
- package/dist/foreign-key-materialization-48P2V8on.d.mts.map +1 -0
- package/dist/foreign-key-materialization-BM59w_Xg.mjs +287 -0
- package/dist/foreign-key-materialization-BM59w_Xg.mjs.map +1 -0
- package/dist/{foreign-key-C-iTPuRT-C9ip8zFx.d.mts → foreign-key-qkDFfG8t-TaK_GYWR.d.mts} +21 -5
- package/dist/foreign-key-qkDFfG8t-TaK_GYWR.d.mts.map +1 -0
- package/dist/functions-CsOoN7I3.mjs +88 -0
- package/dist/functions-CsOoN7I3.mjs.map +1 -0
- package/dist/functions-EW-RrRn3.d.mts +73 -0
- package/dist/functions-EW-RrRn3.d.mts.map +1 -0
- package/dist/generator-functions-D_qdqBV--Bq296cED.mjs +544 -0
- package/dist/generator-functions-D_qdqBV--Bq296cED.mjs.map +1 -0
- package/dist/index-7nHHQsAj.d.mts +606 -0
- package/dist/index-7nHHQsAj.d.mts.map +1 -0
- package/dist/{index-C5I8D-MB.d.mts → index-Nqc3OHR_.d.mts} +4 -5
- package/dist/index-Nqc3OHR_.d.mts.map +1 -0
- package/dist/index-equivalence-DswCiq5l-CGsyPP9B.mjs +109 -0
- package/dist/index-equivalence-DswCiq5l-CGsyPP9B.mjs.map +1 -0
- package/dist/{index-naming-DREt6js7-CRH27yUv.mjs → index-naming-BOcJT1B3-mG8Fd6KN.mjs} +35 -9
- package/dist/index-naming-BOcJT1B3-mG8Fd6KN.mjs.map +1 -0
- package/dist/{index-naming-Ct65z5Xk.d.mts → index-naming-Cs6wwia3.d.mts} +15 -5
- package/dist/index-naming-Cs6wwia3.d.mts.map +1 -0
- package/dist/index-reference-4wsdeB7v-DCwswK-q.d.mts +67 -0
- package/dist/index-reference-4wsdeB7v-DCwswK-q.d.mts.map +1 -0
- package/dist/index-reference-BQSrkRfT.mjs +55 -0
- package/dist/index-reference-BQSrkRfT.mjs.map +1 -0
- package/dist/index-reference-D8ewQRJr.d.mts +1 -0
- package/dist/index-type-validation-DJEMmmw0.mjs +42 -0
- package/dist/index-type-validation-DJEMmmw0.mjs.map +1 -0
- package/dist/index-type-validation-fGGwAHWc.d.mts +16 -0
- package/dist/index-type-validation-fGGwAHWc.d.mts.map +1 -0
- package/dist/index-types-H1O43iYT-BD0VwPqV.d.mts +66 -0
- package/dist/index-types-H1O43iYT-BD0VwPqV.d.mts.map +1 -0
- package/dist/index-types-pC_5vADQ-BOOBi14R.mjs +95 -0
- package/dist/index-types-pC_5vADQ-BOOBi14R.mjs.map +1 -0
- package/dist/index-types-snhtt_Fo.d.mts +1 -0
- package/dist/interpreter-D5qk4B---CG0C7kdx.mjs +2280 -0
- package/dist/interpreter-D5qk4B---CG0C7kdx.mjs.map +1 -0
- package/dist/{ir-Bghjt-FG.d.mts → ir-BvptQsFW.d.mts} +11 -5
- package/dist/ir-BvptQsFW.d.mts.map +1 -0
- package/dist/{ir-I-xciGUH.mjs → ir-DzsUDO8e.mjs} +2 -2
- package/dist/ir-DzsUDO8e.mjs.map +1 -0
- package/dist/{middleware-AhTz1BOW-th-Suxuf.d.mts → middleware-DHkW6pRr-DM6hd9iZ.d.mts} +5 -5
- package/dist/middleware-DHkW6pRr-DM6hd9iZ.d.mts.map +1 -0
- package/dist/middleware-gqy3l13N.d.mts +1 -0
- package/dist/{middleware-CMr4CHNz-DHIUdxlm.mjs → middleware-yBAfiVWn-DZO0vCRQ.mjs} +3 -3
- package/dist/middleware-yBAfiVWn-DZO0vCRQ.mjs.map +1 -0
- package/dist/{migration-CK4oePIo.mjs → migration-BJQjkqFz.mjs} +4 -4
- package/dist/migration-BJQjkqFz.mjs.map +1 -0
- package/dist/{migration-CjDRZNep.d.mts → migration-Cxmpzaz0.d.mts} +6 -6
- package/dist/migration-Cxmpzaz0.d.mts.map +1 -0
- package/dist/{naming-CV9j2pXl-KARaDReS.d.mts → naming-BcD36g9T-Mfe_xGGL.d.mts} +9 -14
- package/dist/naming-BcD36g9T-Mfe_xGGL.d.mts.map +1 -0
- package/dist/{naming-DKr4TJd7-Cszhq9RV.mjs → naming-bM5qm5PY-jOg3JFMb.mjs} +20 -31
- package/dist/naming-bM5qm5PY-jOg3JFMb.mjs.map +1 -0
- package/dist/{ddl-types-BGdnAbXo-DKPHPUGx.mjs → opaque-sql-Dset3kln-CtsPDTXn.mjs} +24 -11
- package/dist/opaque-sql-Dset3kln-CtsPDTXn.mjs.map +1 -0
- package/dist/operations.d.mts +1 -1
- package/dist/operations.mjs +1 -1
- package/dist/orm-client.d.mts +817 -267
- package/dist/orm-client.d.mts.map +1 -1
- package/dist/orm-client.mjs +4719 -2942
- package/dist/orm-client.mjs.map +1 -1
- package/dist/pack-DA8HZ2mo.d.mts +535 -0
- package/dist/pack-DA8HZ2mo.d.mts.map +1 -0
- package/dist/pack-gSvGQWqs.mjs +80 -0
- package/dist/pack-gSvGQWqs.mjs.map +1 -0
- package/dist/{plan-CDxduYaN-pLIyyJaB.d.mts → plan-Cr4azjnG-CuL8FqXC.d.mts} +12 -8
- package/dist/plan-Cr4azjnG-CuL8FqXC.d.mts.map +1 -0
- package/dist/{plan-Dh0LbYIv-Crx5-ThG.mjs → plan-Dh0LbYIv-ubBSdUgl.mjs} +2 -2
- package/dist/plan-Dh0LbYIv-ubBSdUgl.mjs.map +1 -0
- package/dist/plan-Di6Gs2JD.d.mts +2 -0
- package/dist/psl-attribute-parsing-BCsFWsSp-BJ-wGlY6.mjs +42 -0
- package/dist/psl-attribute-parsing-BCsFWsSp-BJ-wGlY6.mjs.map +1 -0
- package/dist/psl-build-DFBG6vhz.mjs +426 -0
- package/dist/psl-build-DFBG6vhz.mjs.map +1 -0
- package/dist/psl-build-RelubU2E.d.mts +112 -0
- package/dist/psl-build-RelubU2E.d.mts.map +1 -0
- package/dist/psl-column-resolution-ChZqioOc-BREg4J7d.d.mts +24 -0
- package/dist/psl-column-resolution-ChZqioOc-BREg4J7d.d.mts.map +1 -0
- package/dist/psl-field-resolution-C5KQ7kzP-B0NwuRWV.mjs +1960 -0
- package/dist/psl-field-resolution-C5KQ7kzP-B0NwuRWV.mjs.map +1 -0
- package/dist/psl-infer--g4i84Go.mjs +201 -0
- package/dist/psl-infer--g4i84Go.mjs.map +1 -0
- package/dist/psl-infer-DzoxPZGd.d.mts +80 -0
- package/dist/psl-infer-DzoxPZGd.d.mts.map +1 -0
- package/dist/psl-names-C3cwe0rg-D1CTmC3a.mjs +66 -0
- package/dist/psl-names-C3cwe0rg-D1CTmC3a.mjs.map +1 -0
- package/dist/{query-lane-context-Qa-eddrE-kuZ8Z86-.d.mts → query-lane-context-BCEoKy0_-CzmyavC9.d.mts} +20 -49
- package/dist/query-lane-context-BCEoKy0_-CzmyavC9.d.mts.map +1 -0
- package/dist/query-lane-context-VqH0mS9B.d.mts +1 -0
- package/dist/{referential-action-sql-DJ9ps6-S.d.mts → referential-action-sql-B2vKoUK6.d.mts} +3 -3
- package/dist/referential-action-sql-B2vKoUK6.d.mts.map +1 -0
- package/dist/{referential-action-sql-DSqkrySN.mjs → referential-action-sql-BLzCtTi8.mjs} +2 -2
- package/dist/referential-action-sql-BLzCtTi8.mjs.map +1 -0
- package/dist/relational-core.d.mts +14 -13
- package/dist/relational-core.mjs +8 -8
- package/dist/relational-core__aggregate-descriptor-registry.d.mts +2 -2
- package/dist/relational-core__aggregate-descriptor-registry.d.mts.map +1 -1
- package/dist/relational-core__aggregate-descriptor-registry.mjs +1 -1
- package/dist/relational-core__ast.d.mts +5 -5
- package/dist/relational-core__ast.mjs +5 -5
- package/dist/relational-core__codec-descriptor-registry.d.mts +7 -8
- package/dist/relational-core__codec-descriptor-registry.d.mts.map +1 -1
- package/dist/relational-core__codec-descriptor-registry.mjs +1 -1
- package/dist/relational-core__collection-methods.d.mts +3 -0
- package/dist/relational-core__contract-free.d.mts +18 -8
- package/dist/relational-core__contract-free.d.mts.map +1 -1
- package/dist/relational-core__contract-free.mjs +26 -10
- package/dist/relational-core__contract-free.mjs.map +1 -1
- package/dist/relational-core__expression.d.mts +4 -2
- package/dist/relational-core__expression.mjs +2 -2
- package/dist/relational-core__functions.d.mts +2 -0
- package/dist/relational-core__functions.mjs +2 -0
- package/dist/relational-core__index-reference.d.mts +3 -0
- package/dist/relational-core__index-reference.mjs +2 -0
- package/dist/relational-core__middleware.d.mts +2 -2
- package/dist/relational-core__middleware.mjs +1 -1
- package/dist/relational-core__plan.d.mts +4 -4
- package/dist/relational-core__plan.mjs +1 -1
- package/dist/relational-core__query-lane-context.d.mts +3 -3
- package/dist/relational-core__types.d.mts +2 -2
- package/dist/{resolve-storage-table-DZsfnzeW.mjs → resolve-storage-table-BHLQsOza.mjs} +3 -3
- package/dist/resolve-storage-table-BHLQsOza.mjs.map +1 -0
- package/dist/{resolve-storage-table-Nyrgk4h8.d.mts → resolve-storage-table-DCqtmnSU.d.mts} +4 -4
- package/dist/resolve-storage-table-DCqtmnSU.d.mts.map +1 -0
- package/dist/{runtime-tIHpGCcG.mjs → runtime-6tH1yOxK.mjs} +6 -6
- package/dist/runtime-6tH1yOxK.mjs.map +1 -0
- package/dist/{runtime-DpKF2Yu2.d.mts → runtime-CF6rAlE5.d.mts} +7 -8
- package/dist/runtime-CF6rAlE5.d.mts.map +1 -0
- package/dist/runtime.d.mts +5 -5
- package/dist/runtime.mjs +2 -1799
- package/dist/runtime__internal__prepared-query.d.mts +2 -2
- package/dist/runtime__internal__prepared-query.mjs +2 -2
- package/dist/{schema-differ-DpG_gnur-DFAtGezx.d.mts → schema-differ-DmP74bB8-tqHKiJ88.d.mts} +6 -6
- package/dist/schema-differ-DmP74bB8-tqHKiJ88.d.mts.map +1 -0
- package/dist/schema-ir.d.mts +2 -2
- package/dist/schema-ir.mjs +2 -2
- package/dist/schema-ir__naming.d.mts +1 -1
- package/dist/schema-ir__naming.mjs +1 -1
- package/dist/schema-ir__types.d.mts +3 -3
- package/dist/schema-ir__types.mjs +2 -2
- package/dist/{schema-verify-C_PEdlAr-Dxxjm6EM.mjs → schema-verify-C3wbdviw-DMjIubOr.mjs} +50 -8
- package/dist/schema-verify-C3wbdviw-DMjIubOr.mjs.map +1 -0
- package/dist/{serialized-index-CrgG8ct1-DG3JpHc7.d.mts → serialized-index-CrgG8ct1-DKVJ7TDX.d.mts} +4 -4
- package/dist/serialized-index-CrgG8ct1-DKVJ7TDX.d.mts.map +1 -0
- package/dist/{serialized-index-nBTwanKy-_ddEK4tk.mjs → serialized-index-DjCCnXB1-DMA7BtO2.mjs} +4 -4
- package/dist/serialized-index-DjCCnXB1-DMA7BtO2.mjs.map +1 -0
- package/dist/{sql-contract-serializer-2oBWuxTe-DKZTf2n8.mjs → sql-contract-serializer-sMY3prTx-D2BfrNxs.mjs} +41 -16
- package/dist/sql-contract-serializer-sMY3prTx-D2BfrNxs.mjs.map +1 -0
- package/dist/sql-data-type-D7M-YTTY-D2vRqDxn.mjs +400 -0
- package/dist/sql-data-type-D7M-YTTY-D2vRqDxn.mjs.map +1 -0
- package/dist/{sql-execution-plan--jKyLpe5-CMGhgO0M.d.mts → sql-execution-plan-3uxYjHyu-DLknM-Pj.d.mts} +3 -3
- package/dist/sql-execution-plan-3uxYjHyu-DLknM-Pj.d.mts.map +1 -0
- package/dist/sql-expression-B4BrhGPi.d.mts +62 -0
- package/dist/sql-expression-B4BrhGPi.d.mts.map +1 -0
- package/dist/sql-expression-CKgKznXS.mjs +137 -0
- package/dist/sql-expression-CKgKznXS.mjs.map +1 -0
- package/dist/{sql-index-ByAAE7K8-DKj2V86p.d.mts → sql-index-ByAAE7K8-Dqtn_vUL.d.mts} +4 -4
- package/dist/sql-index-ByAAE7K8-Dqtn_vUL.d.mts.map +1 -0
- package/dist/{sql-node-kEz6YFZo-v2F7delx.d.mts → sql-node-kEz6YFZo-1ogT6Cxt.d.mts} +2 -2
- package/dist/sql-node-kEz6YFZo-1ogT6Cxt.d.mts.map +1 -0
- package/dist/{sql-storage-8LqxeLAY-DH4DdUXx.d.mts → sql-storage-DeCAh5Hi-CEM-m8cs.d.mts} +19 -22
- package/dist/sql-storage-DeCAh5Hi-CEM-m8cs.d.mts.map +1 -0
- package/dist/{storage-table-DSeWszOL-CI-cItEK.d.mts → storage-table-Bf1ZjnxO-pUj6pyP0.d.mts} +17 -24
- package/dist/storage-table-Bf1ZjnxO-pUj6pyP0.d.mts.map +1 -0
- package/dist/{storage-table-ZzbR-xzQ-BRoTQE_2.mjs → storage-table-DDvN83mw-DkbBFmK9.mjs} +12 -9
- package/dist/storage-table-DDvN83mw-DkbBFmK9.mjs.map +1 -0
- package/dist/{storage-value-set-BGlj5Uus-CvZD--GG.d.mts → storage-value-set-BGlj5Uus-ny2k-0PA.d.mts} +3 -3
- package/dist/storage-value-set-BGlj5Uus-ny2k-0PA.d.mts.map +1 -0
- package/dist/transaction-state-BfXhs7D7-DhmbySW9.mjs +45 -0
- package/dist/transaction-state-BfXhs7D7-DhmbySW9.mjs.map +1 -0
- package/dist/transaction-state-DR3nKTmH-D29jmVE-.d.mts +115 -0
- package/dist/transaction-state-DR3nKTmH-D29jmVE-.d.mts.map +1 -0
- package/dist/types-B9wSEUsV.d.mts +1 -0
- package/dist/{types-CUsJrvEl.mjs → types-CTdSkl0s.mjs} +13 -6
- package/dist/types-CTdSkl0s.mjs.map +1 -0
- package/dist/types-CkAd8SWm.d.mts +57 -0
- package/dist/types-CkAd8SWm.d.mts.map +1 -0
- package/dist/{types-IqZMLrFC-DcH8v_u3.d.mts → types-Cq6ImLAB-RlU4jJAX.d.mts} +27 -41
- package/dist/types-Cq6ImLAB-RlU4jJAX.d.mts.map +1 -0
- package/dist/{types-YStFFkKs-D9UAmnON.d.mts → types-CuCxAQat-Dz8P4xyt.d.mts} +141 -86
- package/dist/types-CuCxAQat-Dz8P4xyt.d.mts.map +1 -0
- package/dist/types-DfKvtJwS-CrpWTGBJ.d.mts +273 -0
- package/dist/types-DfKvtJwS-CrpWTGBJ.d.mts.map +1 -0
- package/dist/{types-4YenawkP-CwaaZSid.mjs → types-DoyiTsjg-2YMhMJDA.mjs} +181 -80
- package/dist/types-DoyiTsjg-2YMhMJDA.mjs.map +1 -0
- package/dist/{types-v3qxLLxo-DCeKv7yY.d.mts → types-DriMIMNQ-BkbsW7w3.d.mts} +68 -34
- package/dist/types-DriMIMNQ-BkbsW7w3.d.mts.map +1 -0
- package/dist/{types-Dt4e_jC--COeP8xzN.mjs → types-NTQsD2MS-xcLtvKO9.mjs} +83 -17
- package/dist/types-NTQsD2MS-xcLtvKO9.mjs.map +1 -0
- package/dist/{types-CyxGtOOh-BggSa6Fe.d.mts → types-TXO7x1BA-CYYIY8NI.d.mts} +14 -14
- package/dist/types-TXO7x1BA-CYYIY8NI.d.mts.map +1 -0
- package/dist/types-ljUNyiWe.d.mts +1 -0
- package/dist/{unique-constraint-M5TlQnJQ-BiIHJ85k.d.mts → unique-constraint-M5TlQnJQ-qX-maNUV.d.mts} +3 -3
- package/dist/unique-constraint-M5TlQnJQ-qX-maNUV.d.mts.map +1 -0
- package/dist/{util-DQQgv2j1-D6INZaRG.mjs → util-BBgcP3gI-CpL-0VuC.mjs} +12 -3
- package/dist/util-BBgcP3gI-CpL-0VuC.mjs.map +1 -0
- package/dist/{validators-CrWD6bSP.mjs → validators-BwA7ttZM.mjs} +0 -0
- package/dist/validators-BwA7ttZM.mjs.map +1 -0
- package/dist/{validators-Belo8QqM.d.mts → validators-FJs8HvFr.d.mts} +54 -16
- package/dist/validators-FJs8HvFr.d.mts.map +1 -0
- package/dist/{value-set-derivation-hook-BhgGVtw0.d.mts → value-set-derivation-hook-3E437jPU.d.mts} +3 -3
- package/dist/value-set-derivation-hook-3E437jPU.d.mts.map +1 -0
- package/dist/{value-set-derivation-hook-Di9JZ0X7.mjs → value-set-derivation-hook-HVaxhALD.mjs} +2 -2
- package/dist/value-set-derivation-hook-HVaxhALD.mjs.map +1 -0
- package/dist/{verify-u0UTdZgD-DSAaz9rW.mjs → verify-BVk5bjdH-DhKm6hB3.mjs} +8 -7
- package/dist/verify-BVk5bjdH-DhKm6hB3.mjs.map +1 -0
- package/dist/{verify-zDRnw0Rn.d.mts → verify-DHXbuZPB.d.mts} +2 -2
- package/dist/verify-DHXbuZPB.d.mts.map +1 -0
- package/package.json +33 -22
- package/dist/aggregate-descriptor-registry-C7hel5O7.mjs.map +0 -1
- package/dist/ast-HFcfQZr-.d.mts +0 -206
- package/dist/ast-HFcfQZr-.d.mts.map +0 -1
- package/dist/ast-Lbl4VwqP.mjs +0 -325
- package/dist/ast-Lbl4VwqP.mjs.map +0 -1
- package/dist/authored-check-naming-BWBe-PVE.d.mts.map +0 -1
- package/dist/authored-check-naming-Hf9990DV.mjs.map +0 -1
- package/dist/authoring-type-constructors-Blqoa2Ua-DqvNCOb2.mjs +0 -316
- package/dist/authoring-type-constructors-Blqoa2Ua-DqvNCOb2.mjs.map +0 -1
- package/dist/canonicalization-hooks-CYnW_sGn.d.mts.map +0 -1
- package/dist/canonicalization-hooks-dmXkOR4a.mjs.map +0 -1
- package/dist/check-constraint-B7qGu6rc-HvQjjX82.d.mts.map +0 -1
- package/dist/codec-descriptor-registry-N0dhtKaH.mjs.map +0 -1
- package/dist/config-types-D9fdKG3g.d.mts.map +0 -1
- package/dist/config-types-gAm54C_v.mjs.map +0 -1
- package/dist/contract-builder-CG_tGDbB.d.mts +0 -1360
- package/dist/contract-builder-CG_tGDbB.d.mts.map +0 -1
- package/dist/contract-builder-D4a5dT7j.mjs.map +0 -1
- package/dist/contract-errors-BCN6RVI5-5IHBF_lg.mjs.map +0 -1
- package/dist/contract-view-BMR5IWk4.mjs.map +0 -1
- package/dist/contract-view-CPHxoAEX.d.mts.map +0 -1
- package/dist/contract__pack-types.d.mts +0 -2
- package/dist/control-D3cB5YQp.mjs +0 -1267
- package/dist/control-D3cB5YQp.mjs.map +0 -1
- package/dist/control-DTLJ1WtZ.d.mts +0 -945
- package/dist/control-DTLJ1WtZ.d.mts.map +0 -1
- package/dist/control-adapter-C99J7aEF-B7eQd7vD.d.mts.map +0 -1
- package/dist/control-adapter-MZJQiwcE.d.mts +0 -1
- package/dist/db-D18PrXKW-DvTv4JFn.d.mts.map +0 -1
- package/dist/ddl-types-BGdnAbXo-DKPHPUGx.mjs.map +0 -1
- package/dist/ddl-types-CXx4vPz6-BsgrnSUY.d.mts.map +0 -1
- package/dist/derived-checks-DFMRmiAu-DGfB8aS4.mjs +0 -1057
- package/dist/derived-checks-DFMRmiAu-DGfB8aS4.mjs.map +0 -1
- package/dist/derived-checks-DPdD01O0-DGqOFjs6.d.mts.map +0 -1
- package/dist/diff-B16bL_IR.mjs +0 -13
- package/dist/diff-B16bL_IR.mjs.map +0 -1
- package/dist/diff-DbTNVm2f.d.mts.map +0 -1
- package/dist/dist-C_q1_QR9.mjs.map +0 -1
- package/dist/dist-ZK6oeI5e.mjs.map +0 -1
- package/dist/dist-x6jvtkKM.mjs.map +0 -1
- package/dist/driver-types-BQtRkOJ0-Bv2RPSfr.d.mts.map +0 -1
- package/dist/entity-handle-lowering-hook-CIvRKBfa.d.mts.map +0 -1
- package/dist/entity-handle-lowering-hook-DwLIKNiS.mjs +0 -11
- package/dist/entity-handle-lowering-hook-DwLIKNiS.mjs.map +0 -1
- package/dist/entity-kinds-B5cUFU22.d.mts.map +0 -1
- package/dist/entity-kinds-D7vwoN_T-CCBwFJy0.mjs.map +0 -1
- package/dist/errors-B5g0xWro-mWH2C07F.mjs.map +0 -1
- package/dist/expression-CX5mTA-z.mjs.map +0 -1
- package/dist/expression-FJK6Ar-d.d.mts.map +0 -1
- package/dist/factories-P3qBQhO-.d.mts.map +0 -1
- package/dist/factories-SVor5xIT.mjs.map +0 -1
- package/dist/family__pack.d.mts.map +0 -1
- package/dist/family__pack.mjs.map +0 -1
- package/dist/foreign-key-C-iTPuRT-C9ip8zFx.d.mts.map +0 -1
- package/dist/foreign-key-materialization-CkvOzJWy.d.mts +0 -65
- package/dist/foreign-key-materialization-CkvOzJWy.d.mts.map +0 -1
- package/dist/foreign-key-materialization-Cu7-7LHl.mjs +0 -73
- package/dist/foreign-key-materialization-Cu7-7LHl.mjs.map +0 -1
- package/dist/index-C-vQOMY_.d.mts +0 -84
- package/dist/index-C-vQOMY_.d.mts.map +0 -1
- package/dist/index-C5I8D-MB.d.mts.map +0 -1
- package/dist/index-naming-Ct65z5Xk.d.mts.map +0 -1
- package/dist/index-naming-DREt6js7-CRH27yUv.mjs.map +0 -1
- package/dist/index-type-validation-COH4d78M.mjs +0 -17
- package/dist/index-type-validation-COH4d78M.mjs.map +0 -1
- package/dist/index-type-validation-CZ5L2lli.d.mts +0 -10
- package/dist/index-type-validation-CZ5L2lli.d.mts.map +0 -1
- package/dist/index-types-CNhHgKHi.d.mts +0 -1
- package/dist/index-types-DJQ_xwaE.mjs +0 -40
- package/dist/index-types-DJQ_xwaE.mjs.map +0 -1
- package/dist/index-types-DPVhsW0v-D-BikM4h.d.mts +0 -31
- package/dist/index-types-DPVhsW0v-D-BikM4h.d.mts.map +0 -1
- package/dist/interpreter-DyiUUAWh-DYdjIpiE.mjs +0 -3680
- package/dist/interpreter-DyiUUAWh-DYdjIpiE.mjs.map +0 -1
- package/dist/ir-Bghjt-FG.d.mts.map +0 -1
- package/dist/ir-I-xciGUH.mjs.map +0 -1
- package/dist/lane-query-builder.d.mts +0 -236
- package/dist/lane-query-builder.d.mts.map +0 -1
- package/dist/lane-query-builder.mjs +0 -67
- package/dist/lane-query-builder.mjs.map +0 -1
- package/dist/middleware--TtoxUiW.d.mts +0 -1
- package/dist/middleware-AhTz1BOW-th-Suxuf.d.mts.map +0 -1
- package/dist/middleware-CMr4CHNz-DHIUdxlm.mjs.map +0 -1
- package/dist/migration-CK4oePIo.mjs.map +0 -1
- package/dist/migration-CjDRZNep.d.mts.map +0 -1
- package/dist/naming-CV9j2pXl-KARaDReS.d.mts.map +0 -1
- package/dist/naming-DKr4TJd7-Cszhq9RV.mjs.map +0 -1
- package/dist/pack-types-BcLTpwbv.d.mts +0 -14
- package/dist/pack-types-BcLTpwbv.d.mts.map +0 -1
- package/dist/plan-BHLdb0Z7.d.mts +0 -2
- package/dist/plan-CDxduYaN-pLIyyJaB.d.mts.map +0 -1
- package/dist/plan-Dh0LbYIv-Crx5-ThG.mjs.map +0 -1
- package/dist/prepared-query-BJr50wPm-ChoqfJbX.mjs +0 -22
- package/dist/prepared-query-BJr50wPm-ChoqfJbX.mjs.map +0 -1
- package/dist/prepared-statement-9QpkE6JG-C430V3MO.d.mts +0 -529
- package/dist/prepared-statement-9QpkE6JG-C430V3MO.d.mts.map +0 -1
- package/dist/psl-infer-CCAD6FWA.d.mts +0 -119
- package/dist/psl-infer-CCAD6FWA.d.mts.map +0 -1
- package/dist/psl-infer-Dk5kgKre.mjs +0 -362
- package/dist/psl-infer-Dk5kgKre.mjs.map +0 -1
- package/dist/query-lane-context-Qa-eddrE-kuZ8Z86-.d.mts.map +0 -1
- package/dist/query-lane-context-XMvk7fmY.d.mts +0 -1
- package/dist/referential-action-sql-DJ9ps6-S.d.mts.map +0 -1
- package/dist/referential-action-sql-DSqkrySN.mjs.map +0 -1
- package/dist/resolve-storage-table-DZsfnzeW.mjs.map +0 -1
- package/dist/resolve-storage-table-Nyrgk4h8.d.mts.map +0 -1
- package/dist/runtime-DpKF2Yu2.d.mts.map +0 -1
- package/dist/runtime-tIHpGCcG.mjs.map +0 -1
- package/dist/runtime.mjs.map +0 -1
- package/dist/schema-differ-DpG_gnur-DFAtGezx.d.mts.map +0 -1
- package/dist/schema-verify-C_PEdlAr-Dxxjm6EM.mjs.map +0 -1
- package/dist/serialized-index-CrgG8ct1-DG3JpHc7.d.mts.map +0 -1
- package/dist/serialized-index-nBTwanKy-_ddEK4tk.mjs.map +0 -1
- package/dist/sql-contract-serializer-2oBWuxTe-DKZTf2n8.mjs.map +0 -1
- package/dist/sql-execution-plan--jKyLpe5-CMGhgO0M.d.mts.map +0 -1
- package/dist/sql-index-ByAAE7K8-DKj2V86p.d.mts.map +0 -1
- package/dist/sql-node-kEz6YFZo-v2F7delx.d.mts.map +0 -1
- package/dist/sql-storage-8LqxeLAY-DH4DdUXx.d.mts.map +0 -1
- package/dist/storage-table-DSeWszOL-CI-cItEK.d.mts.map +0 -1
- package/dist/storage-table-ZzbR-xzQ-BRoTQE_2.mjs.map +0 -1
- package/dist/storage-value-set-BGlj5Uus-CvZD--GG.d.mts.map +0 -1
- package/dist/timestamp-now-generator-DRXygu32-DN9Qb1uI.mjs +0 -173
- package/dist/timestamp-now-generator-DRXygu32-DN9Qb1uI.mjs.map +0 -1
- package/dist/types-4YenawkP-CwaaZSid.mjs.map +0 -1
- package/dist/types-B0msOnBM.d.mts +0 -1
- package/dist/types-BDUG29Df-LE85dIXP.d.mts +0 -161
- package/dist/types-BDUG29Df-LE85dIXP.d.mts.map +0 -1
- package/dist/types-CUsJrvEl.mjs.map +0 -1
- package/dist/types-CyxGtOOh-BggSa6Fe.d.mts.map +0 -1
- package/dist/types-Dt4e_jC--COeP8xzN.mjs.map +0 -1
- package/dist/types-Dwcw0F8X.d.mts +0 -1
- package/dist/types-IqZMLrFC-DcH8v_u3.d.mts.map +0 -1
- package/dist/types-UcHa2cTe.d.mts +0 -17
- package/dist/types-UcHa2cTe.d.mts.map +0 -1
- package/dist/types-YStFFkKs-D9UAmnON.d.mts.map +0 -1
- package/dist/types-v3qxLLxo-DCeKv7yY.d.mts.map +0 -1
- package/dist/unique-constraint-M5TlQnJQ-BiIHJ85k.d.mts.map +0 -1
- package/dist/util-DQQgv2j1-D6INZaRG.mjs.map +0 -1
- package/dist/validators-Belo8QqM.d.mts.map +0 -1
- package/dist/validators-CrWD6bSP.mjs.map +0 -1
- package/dist/value-set-derivation-hook-BhgGVtw0.d.mts.map +0 -1
- package/dist/value-set-derivation-hook-Di9JZ0X7.mjs.map +0 -1
- package/dist/verify-u0UTdZgD-DSAaz9rW.mjs.map +0 -1
- package/dist/verify-zDRnw0Rn.d.mts.map +0 -1
- /package/dist/{contract__pack-types.mjs → relational-core__collection-methods.mjs} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../../../2-sql/4-lanes/relational-core/dist/plan-Dh0LbYIv.mjs
|
|
1
|
+
//#region ../../../2-sql-family/4-lanes/relational-core/dist/plan-Dh0LbYIv.mjs
|
|
2
2
|
/**
|
|
3
3
|
* Wraps an `AnyQueryAst` (typically a `RawQueryAst`, minted by a raw statement
|
|
4
4
|
* terminator or package-internally by an extension's migration factory) in a
|
|
@@ -32,4 +32,4 @@ function planFromAst(ast, contract, laneId = "raw") {
|
|
|
32
32
|
//#endregion
|
|
33
33
|
export { planFromAst as t };
|
|
34
34
|
|
|
35
|
-
//# sourceMappingURL=plan-Dh0LbYIv-
|
|
35
|
+
//# sourceMappingURL=plan-Dh0LbYIv-ubBSdUgl.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-Dh0LbYIv-ubBSdUgl.mjs","names":[],"sources":["../../../../2-sql-family/4-lanes/relational-core/dist/plan-Dh0LbYIv.mjs"],"sourcesContent":["//#region src/plan.ts\n/**\n* Wraps an `AnyQueryAst` (typically a `RawQueryAst`, minted by a raw statement\n* terminator or package-internally by an extension's migration factory) in a\n* fully-populated `SqlQueryPlan` whose `meta` is sourced from the supplied\n* contract.\n*\n* Centralising the envelope here means consumers (raw statement terminators,\n* cipherstash migration factories) cannot drift on `storageHash` /\n* `target` / `targetFamily`, which would otherwise surface as a subtle\n* `assertContractMatches` failure inside `dataTransform`. `params` defaults\n* to `[]` because parameters embedded in the AST as `ParamRef`s are resolved\n* at lowering time (`encodeParams` walks `plan.ast.collectParamRefs()`),\n* not at plan-construction time.\n*\n* The default `laneId` of `'raw'` reflects raw-SQL plans' standard lane tag;\n* callers (e.g. a future `sql-raw-factory`) may override to differentiate\n* the plan's provenance.\n*/\nfunction planFromAst(ast, contract, laneId = \"raw\") {\n\treturn {\n\t\tast,\n\t\tparams: [],\n\t\tmeta: {\n\t\t\ttarget: contract.target,\n\t\t\ttargetFamily: contract.targetFamily,\n\t\t\tstorageHash: contract.storage.storageHash,\n\t\t\tlane: laneId\n\t\t}\n\t};\n}\n//#endregion\nexport { planFromAst as t };\n\n//# sourceMappingURL=plan-Dh0LbYIv.mjs.map"],"mappings":";;;;;;;;;;;;;;;;;;;AAmBA,SAAS,YAAY,KAAK,UAAU,SAAS,OAAO;CACnD,OAAO;EACN;EACA,QAAQ,CAAC;EACT,MAAM;GACL,QAAQ,SAAS;GACjB,cAAc,SAAS;GACvB,aAAa,SAAS,QAAQ;GAC9B,MAAM;EACP;CACD;AACD"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { assertDefined } from "@prisma/orm-framework/utils/assertions";
|
|
2
|
+
import { parseQuotedStringLiteral } from "@prisma/orm-framework/psl-parser";
|
|
3
|
+
//#region ../../../2-sql-family/2-authoring/contract-psl/dist/psl-attribute-parsing-BCsFWsSp.mjs
|
|
4
|
+
function storageName(symbol, physicalNames) {
|
|
5
|
+
const name = physicalNames.get(symbol);
|
|
6
|
+
assertDefined(name, "Physical names are populated for every model and field before lowering");
|
|
7
|
+
return name;
|
|
8
|
+
}
|
|
9
|
+
function getAttribute(attributes, name) {
|
|
10
|
+
return attributes?.find((attribute) => attribute.name === name);
|
|
11
|
+
}
|
|
12
|
+
function formatDbAttributeMigrationMessage(attribute) {
|
|
13
|
+
const renderedArguments = attribute.args.map((argument) => argument.kind === "named" && argument.name !== void 0 ? `${argument.name}: ${argument.value}` : argument.value).join(", ");
|
|
14
|
+
const argumentList = attribute.args.length === 0 ? "" : `(${renderedArguments})`;
|
|
15
|
+
const constructorName = attribute.name.slice(3);
|
|
16
|
+
return `@${attribute.name}${argumentList} is no longer supported; use ${constructorName}${argumentList} in type position`;
|
|
17
|
+
}
|
|
18
|
+
function getNamedArgument(attribute, name) {
|
|
19
|
+
const entry = attribute.args.find((arg) => arg.kind === "named" && arg.name === name);
|
|
20
|
+
if (entry?.kind !== "named") return;
|
|
21
|
+
return entry.value;
|
|
22
|
+
}
|
|
23
|
+
function mapFieldNamesToColumns(input) {
|
|
24
|
+
const columns = [];
|
|
25
|
+
for (const fieldName of input.fieldNames) {
|
|
26
|
+
const field = input.model.fields[fieldName];
|
|
27
|
+
if (field === void 0) {
|
|
28
|
+
input.diagnostics.push({
|
|
29
|
+
code: "PSL_INVALID_ATTRIBUTE_ARGUMENT",
|
|
30
|
+
message: `${input.entityLabel} references unknown field "${input.model.name}.${fieldName}"`,
|
|
31
|
+
...input.source.at(input.span)
|
|
32
|
+
});
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
columns.push(storageName(field, input.physicalNames));
|
|
36
|
+
}
|
|
37
|
+
return columns;
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
export { parseQuotedStringLiteral as a, mapFieldNamesToColumns as i, getAttribute as n, storageName as o, getNamedArgument as r, formatDbAttributeMigrationMessage as t };
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=psl-attribute-parsing-BCsFWsSp-BJ-wGlY6.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"psl-attribute-parsing-BCsFWsSp-BJ-wGlY6.mjs","names":[],"sources":["../../../../2-sql-family/2-authoring/contract-psl/dist/psl-attribute-parsing-BCsFWsSp.mjs"],"sourcesContent":["import { parseQuotedStringLiteral } from \"@internal/psl-parser\";\nimport { assertDefined } from \"@internal/utils/assertions\";\n//#region src/psl-attribute-parsing.ts\nfunction storageName(symbol, physicalNames) {\n\tconst name = physicalNames.get(symbol);\n\tassertDefined(name, \"Physical names are populated for every model and field before lowering\");\n\treturn name;\n}\nfunction getAttribute(attributes, name) {\n\treturn attributes?.find((attribute) => attribute.name === name);\n}\nfunction formatDbAttributeMigrationMessage(attribute) {\n\tconst renderedArguments = attribute.args.map((argument) => argument.kind === \"named\" && argument.name !== void 0 ? `${argument.name}: ${argument.value}` : argument.value).join(\", \");\n\tconst argumentList = attribute.args.length === 0 ? \"\" : `(${renderedArguments})`;\n\tconst constructorName = attribute.name.slice(3);\n\treturn `@${attribute.name}${argumentList} is no longer supported; use ${constructorName}${argumentList} in type position`;\n}\nfunction getNamedArgument(attribute, name) {\n\tconst entry = attribute.args.find((arg) => arg.kind === \"named\" && arg.name === name);\n\tif (entry?.kind !== \"named\") return;\n\treturn entry.value;\n}\nfunction mapFieldNamesToColumns(input) {\n\tconst columns = [];\n\tfor (const fieldName of input.fieldNames) {\n\t\tconst field = input.model.fields[fieldName];\n\t\tif (field === void 0) {\n\t\t\tinput.diagnostics.push({\n\t\t\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\t\t\tmessage: `${input.entityLabel} references unknown field \"${input.model.name}.${fieldName}\"`,\n\t\t\t\t...input.source.at(input.span)\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tcolumns.push(storageName(field, input.physicalNames));\n\t}\n\treturn columns;\n}\n//#endregion\nexport { parseQuotedStringLiteral as a, mapFieldNamesToColumns as i, getAttribute as n, storageName as o, getNamedArgument as r, formatDbAttributeMigrationMessage as t };\n\n//# sourceMappingURL=psl-attribute-parsing-BCsFWsSp.mjs.map"],"mappings":";;;AAGA,SAAS,YAAY,QAAQ,eAAe;CAC3C,MAAM,OAAO,cAAc,IAAI,MAAM;CACrC,cAAc,MAAM,wEAAwE;CAC5F,OAAO;AACR;AACA,SAAS,aAAa,YAAY,MAAM;CACvC,OAAO,YAAY,MAAM,cAAc,UAAU,SAAS,IAAI;AAC/D;AACA,SAAS,kCAAkC,WAAW;CACrD,MAAM,oBAAoB,UAAU,KAAK,KAAK,aAAa,SAAS,SAAS,WAAW,SAAS,SAAS,KAAK,IAAI,GAAG,SAAS,KAAK,IAAI,SAAS,UAAU,SAAS,KAAK,CAAC,CAAC,KAAK,IAAI;CACpL,MAAM,eAAe,UAAU,KAAK,WAAW,IAAI,KAAK,IAAI,kBAAkB;CAC9E,MAAM,kBAAkB,UAAU,KAAK,MAAM,CAAC;CAC9C,OAAO,IAAI,UAAU,OAAO,aAAa,+BAA+B,kBAAkB,aAAa;AACxG;AACA,SAAS,iBAAiB,WAAW,MAAM;CAC1C,MAAM,QAAQ,UAAU,KAAK,MAAM,QAAQ,IAAI,SAAS,WAAW,IAAI,SAAS,IAAI;CACpF,IAAI,OAAO,SAAS,SAAS;CAC7B,OAAO,MAAM;AACd;AACA,SAAS,uBAAuB,OAAO;CACtC,MAAM,UAAU,CAAC;CACjB,KAAK,MAAM,aAAa,MAAM,YAAY;EACzC,MAAM,QAAQ,MAAM,MAAM,OAAO;EACjC,IAAI,UAAU,KAAK,GAAG;GACrB,MAAM,YAAY,KAAK;IACtB,MAAM;IACN,SAAS,GAAG,MAAM,YAAY,6BAA6B,MAAM,MAAM,KAAK,GAAG,UAAU;IACzF,GAAG,MAAM,OAAO,GAAG,MAAM,IAAI;GAC9B,CAAC;GACD;EACD;EACA,QAAQ,KAAK,YAAY,OAAO,MAAM,aAAa,CAAC;CACrD;CACA,OAAO;AACR"}
|
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
import { n as isSqlDataType, o as resolveReportedSqlType } from "./sql-data-type-D7M-YTTY-D2vRqDxn.mjs";
|
|
2
|
+
import { t as escapePslString } from "./data-type-support-BhSoPUFj.mjs";
|
|
3
|
+
import "./sql-expression-CKgKznXS.mjs";
|
|
4
|
+
import { t as sqlFamilyError } from "./errors-B5g0xWro-C8plbqga.mjs";
|
|
5
|
+
import { authoringTypeConstructorArguments, authoringTypeConstructors, castTypedValue, instantiateAuthoringTypeConstructor, printTaggedLiteral, readWrittenValue } from "@prisma/orm-framework/components/authoring";
|
|
6
|
+
import { dataTypeId, dataTypeParams, numeralText } from "@prisma/orm-framework/components/codec";
|
|
7
|
+
import { canonicalizeJson } from "@prisma/orm-framework/components/utils";
|
|
8
|
+
import { blindCast } from "@prisma/orm-framework/utils/casts";
|
|
9
|
+
import { InternalError, isInternalError } from "@prisma/orm-framework/utils/internal-error";
|
|
10
|
+
//#region ../../../2-sql-family/9-family/dist/psl-build.mjs
|
|
11
|
+
const DEFAULT_FUNCTION_ATTRIBUTES = {
|
|
12
|
+
"autoincrement()": "@default(autoincrement())",
|
|
13
|
+
"now()": "@default(now())"
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* The attribute a stored default prints as: a named function, a literal the column takes, or any
|
|
17
|
+
* other expression as a `sql` literal. `undefined` when a literal has no written form. An expression
|
|
18
|
+
* prints even when the literal would read back as different text: default expressions are compared
|
|
19
|
+
* with case and whitespace ignored (`SqlColumnDefaultIR.isEqualTo`), and canonicalization changes only
|
|
20
|
+
* whitespace (ADR 129).
|
|
21
|
+
*/
|
|
22
|
+
function mapDefault(columnDefault, options) {
|
|
23
|
+
switch (columnDefault.kind) {
|
|
24
|
+
case "literal": {
|
|
25
|
+
const text = writeDefaultLiteral(columnDefault.value, options);
|
|
26
|
+
return text === void 0 ? void 0 : { attribute: `@default(${text})` };
|
|
27
|
+
}
|
|
28
|
+
case "function": return { attribute: options?.functionAttributes?.[columnDefault.expression] ?? DEFAULT_FUNCTION_ATTRIBUTES[columnDefault.expression] ?? `@default(${printTaggedLiteral("sql", columnDefault.expression)})` };
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function writingSurface(support) {
|
|
32
|
+
const entryOf = /* @__PURE__ */ new Map();
|
|
33
|
+
const tagTypes = [];
|
|
34
|
+
for (const [key, entry] of Object.entries(support.entries)) {
|
|
35
|
+
const written = entry.written;
|
|
36
|
+
if (written.kind === "tag") {
|
|
37
|
+
const type = dataTypeId(key);
|
|
38
|
+
if (!entryOf.has(type)) entryOf.set(type, entry);
|
|
39
|
+
tagTypes.push(type);
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (written.syntax === "number") {
|
|
43
|
+
for (const type of written.types) entryOf.set(type, entry);
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
entryOf.set(key, entry);
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
support,
|
|
50
|
+
entryOf,
|
|
51
|
+
tagTypes
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function readValue(surface, written) {
|
|
55
|
+
const read = readWrittenValue(surface.support, written);
|
|
56
|
+
return read.ok ? read.value : void 0;
|
|
57
|
+
}
|
|
58
|
+
/** The value of a tag's type that a stored document is, constructed by that type. */
|
|
59
|
+
function tagValue(surface, type, value) {
|
|
60
|
+
try {
|
|
61
|
+
return surface.support.lookup.get(type)?.valueFrom(value, {});
|
|
62
|
+
} catch (error) {
|
|
63
|
+
if (isInternalError(error)) throw error;
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Every value the stored form could be, in the order a written value would be read: a number or
|
|
69
|
+
* numeral text through the number entry first, then the plain syntax that matches the shape, then
|
|
70
|
+
* each tag, whose stored form is a whole document, which may itself be a number or a boolean.
|
|
71
|
+
*/
|
|
72
|
+
function classifications(value, surface) {
|
|
73
|
+
const found = [];
|
|
74
|
+
if (typeof value === "number") found.push(readValue(surface, {
|
|
75
|
+
kind: "number",
|
|
76
|
+
text: numeralText(value)
|
|
77
|
+
}));
|
|
78
|
+
else if (typeof value === "boolean") found.push(readValue(surface, {
|
|
79
|
+
kind: "boolean",
|
|
80
|
+
value
|
|
81
|
+
}));
|
|
82
|
+
else if (typeof value === "string") {
|
|
83
|
+
found.push(readValue(surface, {
|
|
84
|
+
kind: "number",
|
|
85
|
+
text: value
|
|
86
|
+
}));
|
|
87
|
+
found.push(readValue(surface, {
|
|
88
|
+
kind: "string",
|
|
89
|
+
text: value
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
for (const type of surface.tagTypes) found.push(tagValue(surface, type, value));
|
|
93
|
+
return found.filter((candidate) => candidate !== void 0);
|
|
94
|
+
}
|
|
95
|
+
/** What the column's type stores for `json` under the column's parameters, or `undefined` when it holds no such value. */
|
|
96
|
+
function storedUnder(json, column, lookup) {
|
|
97
|
+
const type = lookup.get(column.id);
|
|
98
|
+
if (type === void 0) return void 0;
|
|
99
|
+
try {
|
|
100
|
+
return type.toContract(type.valueFrom(json, column.params));
|
|
101
|
+
} catch (error) {
|
|
102
|
+
if (isInternalError(error)) throw error;
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/** The stored form the column takes this value as, spelled as its parameters give it, or `undefined` when its type takes no such value. */
|
|
107
|
+
function admitted(candidate, column, surface) {
|
|
108
|
+
const cast = castTypedValue(surface.support, column.id, column.params, candidate);
|
|
109
|
+
return cast.ok ? cast.value.value : void 0;
|
|
110
|
+
}
|
|
111
|
+
/** The text of the literal: what the entry prints, before the syntax that fences it. */
|
|
112
|
+
function printedText(entry, value) {
|
|
113
|
+
try {
|
|
114
|
+
return entry.print(value);
|
|
115
|
+
} catch {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/** The printed text as the entry's syntax writes it, for reading back. */
|
|
120
|
+
function writtenAs(entry, text) {
|
|
121
|
+
const written = entry.written;
|
|
122
|
+
if (written.kind === "tag") return {
|
|
123
|
+
kind: "tag",
|
|
124
|
+
tag: written.tag,
|
|
125
|
+
text
|
|
126
|
+
};
|
|
127
|
+
if (written.syntax !== "boolean") return {
|
|
128
|
+
kind: written.syntax,
|
|
129
|
+
text
|
|
130
|
+
};
|
|
131
|
+
return text === "true" || text === "false" ? {
|
|
132
|
+
kind: "boolean",
|
|
133
|
+
value: text === "true"
|
|
134
|
+
} : void 0;
|
|
135
|
+
}
|
|
136
|
+
/** What the printed text reads back as, through the same read a written value takes. */
|
|
137
|
+
function readBack(surface, entry, text) {
|
|
138
|
+
const written = writtenAs(entry, text);
|
|
139
|
+
return written === void 0 ? void 0 : readValue(surface, written);
|
|
140
|
+
}
|
|
141
|
+
function literalText(entry, text) {
|
|
142
|
+
const written = entry.written;
|
|
143
|
+
if (written.kind === "tag") return printTaggedLiteral(written.tag, text);
|
|
144
|
+
return written.syntax === "string" ? `"${escapePslString(text)}"` : text;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* The value written as the literal of one of its types, proven by reading the text straight back:
|
|
148
|
+
* the same read, the same cast, and the stored form again. A number is tried first without the
|
|
149
|
+
* trailing fraction zeros the column's scale spells it with.
|
|
150
|
+
*/
|
|
151
|
+
function writeScalar(value, column, surface) {
|
|
152
|
+
const shortest = withoutTrailingFractionZeros(value);
|
|
153
|
+
const candidates = [...shortest === void 0 ? [] : classifications(shortest, surface), ...classifications(value, surface)];
|
|
154
|
+
for (const candidate of candidates) {
|
|
155
|
+
const entry = surface.entryOf.get(candidate.type);
|
|
156
|
+
if (entry === void 0) continue;
|
|
157
|
+
const stored = admitted(candidate, column, surface);
|
|
158
|
+
if (stored === void 0 || !sameForm(stored, value)) continue;
|
|
159
|
+
const text = printedText(entry, candidate.value);
|
|
160
|
+
if (text === void 0) continue;
|
|
161
|
+
const reread = readBack(surface, entry, text);
|
|
162
|
+
if (reread === void 0) continue;
|
|
163
|
+
const restored = admitted(reread, column, surface);
|
|
164
|
+
if (restored === void 0 || !sameForm(restored, value)) continue;
|
|
165
|
+
return literalText(entry, text);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* `value`, a value of `dataType` as `contract.json` stores it, written as the literal of a type that `dataType` takes, proven to read back as `value`: `255` for `pg/int4`, ``sql`"MyType"[]` `` for `sql/expression`. `undefined` when no literal reads back as it.
|
|
170
|
+
*/
|
|
171
|
+
function writeDataTypeValue(value, dataType, support) {
|
|
172
|
+
return writeScalar(value, {
|
|
173
|
+
id: dataType,
|
|
174
|
+
params: {}
|
|
175
|
+
}, writingSurface(support));
|
|
176
|
+
}
|
|
177
|
+
const DECIMAL_WITH_FRACTION = /^-?\d+\.\d+$/;
|
|
178
|
+
function withoutTrailingFractionZeros(value) {
|
|
179
|
+
if (typeof value !== "string" || !DECIMAL_WITH_FRACTION.test(value)) return void 0;
|
|
180
|
+
const shortened = value.replace(/0+$/, "").replace(/\.$/, "");
|
|
181
|
+
return shortened === value ? void 0 : shortened;
|
|
182
|
+
}
|
|
183
|
+
/** One written element of a list, printed as a value of any type, with no column type to admit it. */
|
|
184
|
+
function writeElement(value, of, surface) {
|
|
185
|
+
for (const candidate of classifications(value, surface)) {
|
|
186
|
+
if (!of.includes(candidate.type)) continue;
|
|
187
|
+
const entry = surface.entryOf.get(candidate.type);
|
|
188
|
+
if (entry === void 0) continue;
|
|
189
|
+
const text = printedText(entry, candidate.value);
|
|
190
|
+
if (text === void 0) continue;
|
|
191
|
+
const reread = readBack(surface, entry, text);
|
|
192
|
+
if (reread === void 0 || !of.includes(reread.type)) continue;
|
|
193
|
+
return {
|
|
194
|
+
text: literalText(entry, text),
|
|
195
|
+
value: reread.value
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* A written list on a scalar column, which the column type's list cast turns into its one value,
|
|
201
|
+
* constructed by the column's type. Each element is classified on its own and must be of a type the
|
|
202
|
+
* cast takes.
|
|
203
|
+
*/
|
|
204
|
+
function writeListCast(value, column, surface) {
|
|
205
|
+
const listCast = surface.support.lookup.get(column.id)?.listCast;
|
|
206
|
+
if (listCast === void 0) return void 0;
|
|
207
|
+
const parts = [];
|
|
208
|
+
const elements = [];
|
|
209
|
+
for (const element of value) {
|
|
210
|
+
const written = writeElement(element, listCast.of, surface);
|
|
211
|
+
if (written === void 0) return void 0;
|
|
212
|
+
parts.push(written.text);
|
|
213
|
+
elements.push(written.value);
|
|
214
|
+
}
|
|
215
|
+
let cast;
|
|
216
|
+
try {
|
|
217
|
+
cast = listCast.cast(elements);
|
|
218
|
+
} catch (error) {
|
|
219
|
+
if (isInternalError(error)) throw error;
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
const stored = storedUnder(cast, column, surface.support.lookup);
|
|
223
|
+
return stored !== void 0 && sameForm(stored, value) ? `[${parts.join(", ")}]` : void 0;
|
|
224
|
+
}
|
|
225
|
+
/** The PSL literal a stored value is written as for the column `options` describe, or `undefined` when it has no written form that reads back as that value. */
|
|
226
|
+
function writeDefaultLiteral(value, options) {
|
|
227
|
+
if (value instanceof Date) return void 0;
|
|
228
|
+
const { dataTypes, columnCodec } = options ?? {};
|
|
229
|
+
if (dataTypes === void 0 || columnCodec === void 0) return void 0;
|
|
230
|
+
const { lookup } = dataTypes;
|
|
231
|
+
const columnDataType = columnCodec.dataType;
|
|
232
|
+
const columnType = lookup.get(columnDataType);
|
|
233
|
+
const column = {
|
|
234
|
+
id: columnDataType,
|
|
235
|
+
params: columnType === void 0 ? {} : dataTypeParams(columnType, options?.typeParams)
|
|
236
|
+
};
|
|
237
|
+
const surface = writingSurface(dataTypes);
|
|
238
|
+
if (options?.list === true) {
|
|
239
|
+
if (!Array.isArray(value)) return void 0;
|
|
240
|
+
const parts = [];
|
|
241
|
+
for (const element of value) {
|
|
242
|
+
const written = writeScalar(element, column, surface);
|
|
243
|
+
if (written === void 0) return void 0;
|
|
244
|
+
parts.push(written);
|
|
245
|
+
}
|
|
246
|
+
return `[${parts.join(", ")}]`;
|
|
247
|
+
}
|
|
248
|
+
const written = writeScalar(value, column, surface);
|
|
249
|
+
if (written !== void 0) return written;
|
|
250
|
+
return Array.isArray(value) ? writeListCast(value, column, surface) : void 0;
|
|
251
|
+
}
|
|
252
|
+
/** Whether two stored forms are the same JSON value, member by member and element by element. */
|
|
253
|
+
function sameForm(left, right) {
|
|
254
|
+
if (left === right) return true;
|
|
255
|
+
if (Array.isArray(left) !== Array.isArray(right)) return false;
|
|
256
|
+
if (typeof left !== "object" || typeof right !== "object" || left === null || right === null) return false;
|
|
257
|
+
const members = Object.entries(left);
|
|
258
|
+
const others = new Map(Object.entries(right));
|
|
259
|
+
return members.length === others.size && members.every(([key, member]) => {
|
|
260
|
+
const other = others.get(key);
|
|
261
|
+
return other !== void 0 && sameForm(member, other);
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
/** Every constructor of `authoringTypes` marked `inferred`, by the data type its codec represents. */
|
|
265
|
+
function inferredTypeConstructors(input) {
|
|
266
|
+
const found = /* @__PURE__ */ new Map();
|
|
267
|
+
for (const { path, descriptor } of authoringTypeConstructors(input.authoringTypes)) {
|
|
268
|
+
if (descriptor.inferred !== true) continue;
|
|
269
|
+
const dataTypeId = input.codecLookup.descriptorFor(descriptor.output.codecId)?.dataType;
|
|
270
|
+
const dataType = dataTypeId === void 0 ? void 0 : input.dataTypeLookup.get(dataTypeId);
|
|
271
|
+
if (dataType === void 0 || !isSqlDataType(dataType)) continue;
|
|
272
|
+
found.set(dataType.id, {
|
|
273
|
+
path,
|
|
274
|
+
descriptor,
|
|
275
|
+
dataType
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
return found;
|
|
279
|
+
}
|
|
280
|
+
function normalParams(marked, args) {
|
|
281
|
+
try {
|
|
282
|
+
const { typeParams } = instantiateAuthoringTypeConstructor(marked.descriptor, args);
|
|
283
|
+
const params = dataTypeParams(marked.dataType, typeParams);
|
|
284
|
+
return canonicalizeJson(marked.dataType.sql.normalize(params));
|
|
285
|
+
} catch (error) {
|
|
286
|
+
if (isInternalError(error)) throw error;
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* The call to `marked` with the fewest arguments that produces `params`, the normal form of a
|
|
292
|
+
* column's data type parameters: arguments are dropped from the end while the normal form of what
|
|
293
|
+
* the call produces stays `params`. Undefined when the constructor cannot produce them, such as one
|
|
294
|
+
* whose argument names another entity.
|
|
295
|
+
*/
|
|
296
|
+
function fewestArgumentsCall(marked, params) {
|
|
297
|
+
const all = authoringTypeConstructorArguments(marked.descriptor, {
|
|
298
|
+
codecId: marked.descriptor.output.codecId,
|
|
299
|
+
typeParams: params
|
|
300
|
+
});
|
|
301
|
+
if (all === void 0) return void 0;
|
|
302
|
+
const wanted = canonicalizeJson(params);
|
|
303
|
+
const args = [...all];
|
|
304
|
+
while (args.length > 0 && normalParams(marked, args.slice(0, -1)) === wanted) args.pop();
|
|
305
|
+
return {
|
|
306
|
+
path: marked.path,
|
|
307
|
+
args
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Each argument of a call to `descriptor` as PSL writes it: a value argument as a literal of its data type that reads back as the same value. `undefined` when an argument is not a value argument or no literal reads back as it.
|
|
312
|
+
*/
|
|
313
|
+
function writtenTypeArguments(descriptor, args, dataTypes) {
|
|
314
|
+
const written = [];
|
|
315
|
+
for (const [index, value] of args.entries()) {
|
|
316
|
+
const argument = descriptor.args?.[index];
|
|
317
|
+
if (argument?.kind !== "value") return void 0;
|
|
318
|
+
const text = writeDataTypeValue(blindCast(value), dataTypeId(argument.dataType), dataTypes);
|
|
319
|
+
if (text === void 0) return void 0;
|
|
320
|
+
written.push(text);
|
|
321
|
+
}
|
|
322
|
+
return written;
|
|
323
|
+
}
|
|
324
|
+
/** The type the database reported for `column`, which introspection always records. */
|
|
325
|
+
function reportedTypeOf(column, tableName) {
|
|
326
|
+
if (column.reportedType === void 0) throw new InternalError(`contract infer read column "${tableName}"."${column.name}" without the type the database reported for it.`);
|
|
327
|
+
return column.reportedType;
|
|
328
|
+
}
|
|
329
|
+
function writtenCall(constructors, dataTypes, support, reported) {
|
|
330
|
+
const resolved = resolveReportedSqlType(reported, dataTypes);
|
|
331
|
+
const marked = resolved && constructors.get(resolved.dataType.id);
|
|
332
|
+
const call = resolved && marked && fewestArgumentsCall(marked, resolved.typeParams);
|
|
333
|
+
const args = call && marked && writtenTypeArguments(marked.descriptor, call.args, support);
|
|
334
|
+
return call && args && {
|
|
335
|
+
path: call.path,
|
|
336
|
+
args,
|
|
337
|
+
values: call.args
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* The type of every column of `tables` that `isEnumColumn` does not claim: the call, with the
|
|
342
|
+
* fewest arguments, to the constructor marked `inferred` for the data type that claims the
|
|
343
|
+
* column's reported type. When any column has no such call, throws
|
|
344
|
+
* `CONTRACT.INFER_COLUMN_TYPE_UNCLAIMED` listing every one of them.
|
|
345
|
+
*/
|
|
346
|
+
function inferColumnTypes(input) {
|
|
347
|
+
const dataTypes = [...input.constructors.values()].map((marked) => marked.dataType);
|
|
348
|
+
const types = /* @__PURE__ */ new Map();
|
|
349
|
+
const unclaimed = [];
|
|
350
|
+
for (const { schemaName, tableName, columns } of input.tables) for (const column of columns) {
|
|
351
|
+
if (input.isEnumColumn(column)) continue;
|
|
352
|
+
const reported = reportedTypeOf(column, tableName);
|
|
353
|
+
const call = writtenCall(input.constructors, dataTypes, input.dataTypes, reported);
|
|
354
|
+
if (call === void 0) {
|
|
355
|
+
unclaimed.push(`${schemaName}.${tableName}.${column.name}: ${reported.text}${column.many === true ? "[]" : ""}`);
|
|
356
|
+
continue;
|
|
357
|
+
}
|
|
358
|
+
types.set(JSON.stringify([tableName, column.name]), call);
|
|
359
|
+
}
|
|
360
|
+
if (unclaimed.length > 0) {
|
|
361
|
+
const columns = unclaimed.sort();
|
|
362
|
+
throw sqlFamilyError("CONTRACT.INFER_COLUMN_TYPE_UNCLAIMED", ["contract infer: Prisma 8 cannot write these column types with the configured stack:", ...columns.map((line) => ` ${line}`)].join("\n"), {
|
|
363
|
+
why: "Prisma 8 reads a column type only through a data type that the target or an extension pack declares.",
|
|
364
|
+
fix: `No configured pack has a type for these columns. If a type comes from a database extension that has a Prisma 8 pack, add the pack to extensions in prisma.config.ts. Otherwise, to keep such a column, write the schema by hand and declare its field as Raw(sql\`<type>\`) with the type as listed, or change the column's type or remove the column from the database.`,
|
|
365
|
+
meta: { columns }
|
|
366
|
+
});
|
|
367
|
+
}
|
|
368
|
+
return (tableName, columnName) => {
|
|
369
|
+
const type = types.get(JSON.stringify([tableName, columnName]));
|
|
370
|
+
if (type === void 0) throw new InternalError(`contract infer resolved no type for "${tableName}"."${columnName}".`);
|
|
371
|
+
return type;
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
const GENERATOR_PHASES = ["onCreate", "onUpdate"];
|
|
375
|
+
/**
|
|
376
|
+
* The generator function call that writes each phase of a column's generators, as `@onCreate(...)` and `@onUpdate(...)` take it. A call must resolve back to the stored generator, so a list column, a generator no function writes for the codec, and a call that reads back differently are refused.
|
|
377
|
+
*/
|
|
378
|
+
function generatorCallsFor(input) {
|
|
379
|
+
const { executionDefault, field, list, generatorFunctions } = input;
|
|
380
|
+
const calls = [];
|
|
381
|
+
for (const phase of GENERATOR_PHASES) {
|
|
382
|
+
const generator = executionDefault[phase];
|
|
383
|
+
if (generator === void 0) continue;
|
|
384
|
+
if (list) return {
|
|
385
|
+
ok: false,
|
|
386
|
+
refusal: {
|
|
387
|
+
kind: "on-list",
|
|
388
|
+
phase,
|
|
389
|
+
generator
|
|
390
|
+
}
|
|
391
|
+
};
|
|
392
|
+
const printed = generatorFunctions.callFor(generator, field);
|
|
393
|
+
if (printed === void 0) return {
|
|
394
|
+
ok: false,
|
|
395
|
+
refusal: {
|
|
396
|
+
kind: "no-function",
|
|
397
|
+
phase,
|
|
398
|
+
generator
|
|
399
|
+
}
|
|
400
|
+
};
|
|
401
|
+
const readBack = generatorFunctions.resolve(printed.call, field);
|
|
402
|
+
if (!readBack.ok || canonicalizeJson(readBack.generator) !== canonicalizeJson(generator)) return {
|
|
403
|
+
ok: false,
|
|
404
|
+
refusal: {
|
|
405
|
+
kind: "reads-back-differently",
|
|
406
|
+
phase,
|
|
407
|
+
generator,
|
|
408
|
+
text: printed.text,
|
|
409
|
+
readBack: readBack.ok ? readBack.generator : void 0,
|
|
410
|
+
refusedBecause: !readBack.ok && readBack.reason === "refused" ? readBack.message : void 0
|
|
411
|
+
}
|
|
412
|
+
};
|
|
413
|
+
calls.push({
|
|
414
|
+
phase,
|
|
415
|
+
text: printed.text
|
|
416
|
+
});
|
|
417
|
+
}
|
|
418
|
+
return {
|
|
419
|
+
ok: true,
|
|
420
|
+
calls
|
|
421
|
+
};
|
|
422
|
+
}
|
|
423
|
+
//#endregion
|
|
424
|
+
export { mapDefault as a, writtenTypeArguments as c, inferredTypeConstructors as i, generatorCallsFor as n, writeDataTypeValue as o, inferColumnTypes as r, writeDefaultLiteral as s, fewestArgumentsCall as t };
|
|
425
|
+
|
|
426
|
+
//# sourceMappingURL=psl-build-DFBG6vhz.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"psl-build-DFBG6vhz.mjs","names":[],"sources":["../../../../2-sql-family/9-family/dist/psl-build.mjs"],"sourcesContent":["import { t as sqlFamilyError } from \"./errors-B5g0xWro.mjs\";\nimport { s as toEnumMemberName } from \"./psl-names-C3cwe0rg.mjs\";\nimport { isSqlDataType, resolveReportedSqlType } from \"@internal/sql-contract/data-type\";\nimport { SQL_EXPRESSION_TAG } from \"@internal/sql-contract/sql-expression\";\nimport { authoringTypeConstructorArguments, authoringTypeConstructors, castTypedValue, instantiateAuthoringTypeConstructor, printTaggedLiteral, readWrittenValue } from \"@internal/framework-components/authoring\";\nimport { dataTypeId, dataTypeParams, numeralText } from \"@internal/framework-components/codec\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { InternalError, isInternalError } from \"@internal/utils/internal-error\";\nimport { canonicalizeJson } from \"@internal/framework-components/utils\";\nimport { escapePslString } from \"@internal/sql-contract/data-type-support\";\n//#region src/core/psl-build/default-mapping.ts\nconst DEFAULT_FUNCTION_ATTRIBUTES = {\n\t\"autoincrement()\": \"@default(autoincrement())\",\n\t\"now()\": \"@default(now())\"\n};\n/**\n* The attribute a stored default prints as: a named function, a literal the column takes, or any\n* other expression as a `sql` literal. `undefined` when a literal has no written form. An expression\n* prints even when the literal would read back as different text: default expressions are compared\n* with case and whitespace ignored (`SqlColumnDefaultIR.isEqualTo`), and canonicalization changes only\n* whitespace (ADR 129).\n*/\nfunction mapDefault(columnDefault, options) {\n\tswitch (columnDefault.kind) {\n\t\tcase \"literal\": {\n\t\t\tconst text = writeDefaultLiteral(columnDefault.value, options);\n\t\t\treturn text === void 0 ? void 0 : { attribute: `@default(${text})` };\n\t\t}\n\t\tcase \"function\": return { attribute: options?.functionAttributes?.[columnDefault.expression] ?? DEFAULT_FUNCTION_ATTRIBUTES[columnDefault.expression] ?? `@default(${printTaggedLiteral(SQL_EXPRESSION_TAG, columnDefault.expression)})` };\n\t}\n}\nfunction writingSurface(support) {\n\tconst entryOf = /* @__PURE__ */ new Map();\n\tconst tagTypes = [];\n\tfor (const [key, entry] of Object.entries(support.entries)) {\n\t\tconst written = entry.written;\n\t\tif (written.kind === \"tag\") {\n\t\t\tconst type = dataTypeId(key);\n\t\t\tif (!entryOf.has(type)) entryOf.set(type, entry);\n\t\t\ttagTypes.push(type);\n\t\t\tcontinue;\n\t\t}\n\t\tif (written.syntax === \"number\") {\n\t\t\tfor (const type of written.types) entryOf.set(type, entry);\n\t\t\tcontinue;\n\t\t}\n\t\tentryOf.set(key, entry);\n\t}\n\treturn {\n\t\tsupport,\n\t\tentryOf,\n\t\ttagTypes\n\t};\n}\nfunction readValue(surface, written) {\n\tconst read = readWrittenValue(surface.support, written);\n\treturn read.ok ? read.value : void 0;\n}\n/** The value of a tag's type that a stored document is, constructed by that type. */\nfunction tagValue(surface, type, value) {\n\ttry {\n\t\treturn surface.support.lookup.get(type)?.valueFrom(value, {});\n\t} catch (error) {\n\t\tif (isInternalError(error)) throw error;\n\t\treturn;\n\t}\n}\n/**\n* Every value the stored form could be, in the order a written value would be read: a number or\n* numeral text through the number entry first, then the plain syntax that matches the shape, then\n* each tag, whose stored form is a whole document, which may itself be a number or a boolean.\n*/\nfunction classifications(value, surface) {\n\tconst found = [];\n\tif (typeof value === \"number\") found.push(readValue(surface, {\n\t\tkind: \"number\",\n\t\ttext: numeralText(value)\n\t}));\n\telse if (typeof value === \"boolean\") found.push(readValue(surface, {\n\t\tkind: \"boolean\",\n\t\tvalue\n\t}));\n\telse if (typeof value === \"string\") {\n\t\tfound.push(readValue(surface, {\n\t\t\tkind: \"number\",\n\t\t\ttext: value\n\t\t}));\n\t\tfound.push(readValue(surface, {\n\t\t\tkind: \"string\",\n\t\t\ttext: value\n\t\t}));\n\t}\n\tfor (const type of surface.tagTypes) found.push(tagValue(surface, type, value));\n\treturn found.filter((candidate) => candidate !== void 0);\n}\n/** What the column's type stores for `json` under the column's parameters, or `undefined` when it holds no such value. */\nfunction storedUnder(json, column, lookup) {\n\tconst type = lookup.get(column.id);\n\tif (type === void 0) return void 0;\n\ttry {\n\t\treturn type.toContract(type.valueFrom(json, column.params));\n\t} catch (error) {\n\t\tif (isInternalError(error)) throw error;\n\t\treturn;\n\t}\n}\n/** The stored form the column takes this value as, spelled as its parameters give it, or `undefined` when its type takes no such value. */\nfunction admitted(candidate, column, surface) {\n\tconst cast = castTypedValue(surface.support, column.id, column.params, candidate);\n\treturn cast.ok ? cast.value.value : void 0;\n}\n/** The text of the literal: what the entry prints, before the syntax that fences it. */\nfunction printedText(entry, value) {\n\ttry {\n\t\treturn entry.print(value);\n\t} catch {\n\t\treturn;\n\t}\n}\n/** The printed text as the entry's syntax writes it, for reading back. */\nfunction writtenAs(entry, text) {\n\tconst written = entry.written;\n\tif (written.kind === \"tag\") return {\n\t\tkind: \"tag\",\n\t\ttag: written.tag,\n\t\ttext\n\t};\n\tif (written.syntax !== \"boolean\") return {\n\t\tkind: written.syntax,\n\t\ttext\n\t};\n\treturn text === \"true\" || text === \"false\" ? {\n\t\tkind: \"boolean\",\n\t\tvalue: text === \"true\"\n\t} : void 0;\n}\n/** What the printed text reads back as, through the same read a written value takes. */\nfunction readBack(surface, entry, text) {\n\tconst written = writtenAs(entry, text);\n\treturn written === void 0 ? void 0 : readValue(surface, written);\n}\nfunction literalText(entry, text) {\n\tconst written = entry.written;\n\tif (written.kind === \"tag\") return printTaggedLiteral(written.tag, text);\n\treturn written.syntax === \"string\" ? `\"${escapePslString(text)}\"` : text;\n}\n/**\n* The value written as the literal of one of its types, proven by reading the text straight back:\n* the same read, the same cast, and the stored form again. A number is tried first without the\n* trailing fraction zeros the column's scale spells it with.\n*/\nfunction writeScalar(value, column, surface) {\n\tconst shortest = withoutTrailingFractionZeros(value);\n\tconst candidates = [...shortest === void 0 ? [] : classifications(shortest, surface), ...classifications(value, surface)];\n\tfor (const candidate of candidates) {\n\t\tconst entry = surface.entryOf.get(candidate.type);\n\t\tif (entry === void 0) continue;\n\t\tconst stored = admitted(candidate, column, surface);\n\t\tif (stored === void 0 || !sameForm(stored, value)) continue;\n\t\tconst text = printedText(entry, candidate.value);\n\t\tif (text === void 0) continue;\n\t\tconst reread = readBack(surface, entry, text);\n\t\tif (reread === void 0) continue;\n\t\tconst restored = admitted(reread, column, surface);\n\t\tif (restored === void 0 || !sameForm(restored, value)) continue;\n\t\treturn literalText(entry, text);\n\t}\n}\n/**\n* `value`, a value of `dataType` as `contract.json` stores it, written as the literal of a type that `dataType` takes, proven to read back as `value`: `255` for `pg/int4`, ``sql`\"MyType\"[]` `` for `sql/expression`. `undefined` when no literal reads back as it.\n*/\nfunction writeDataTypeValue(value, dataType, support) {\n\treturn writeScalar(value, {\n\t\tid: dataType,\n\t\tparams: {}\n\t}, writingSurface(support));\n}\nconst DECIMAL_WITH_FRACTION = /^-?\\d+\\.\\d+$/;\nfunction withoutTrailingFractionZeros(value) {\n\tif (typeof value !== \"string\" || !DECIMAL_WITH_FRACTION.test(value)) return void 0;\n\tconst shortened = value.replace(/0+$/, \"\").replace(/\\.$/, \"\");\n\treturn shortened === value ? void 0 : shortened;\n}\n/** One written element of a list, printed as a value of any type, with no column type to admit it. */\nfunction writeElement(value, of, surface) {\n\tfor (const candidate of classifications(value, surface)) {\n\t\tif (!of.includes(candidate.type)) continue;\n\t\tconst entry = surface.entryOf.get(candidate.type);\n\t\tif (entry === void 0) continue;\n\t\tconst text = printedText(entry, candidate.value);\n\t\tif (text === void 0) continue;\n\t\tconst reread = readBack(surface, entry, text);\n\t\tif (reread === void 0 || !of.includes(reread.type)) continue;\n\t\treturn {\n\t\t\ttext: literalText(entry, text),\n\t\t\tvalue: reread.value\n\t\t};\n\t}\n}\n/**\n* A written list on a scalar column, which the column type's list cast turns into its one value,\n* constructed by the column's type. Each element is classified on its own and must be of a type the\n* cast takes.\n*/\nfunction writeListCast(value, column, surface) {\n\tconst listCast = surface.support.lookup.get(column.id)?.listCast;\n\tif (listCast === void 0) return void 0;\n\tconst parts = [];\n\tconst elements = [];\n\tfor (const element of value) {\n\t\tconst written = writeElement(element, listCast.of, surface);\n\t\tif (written === void 0) return void 0;\n\t\tparts.push(written.text);\n\t\telements.push(written.value);\n\t}\n\tlet cast;\n\ttry {\n\t\tcast = listCast.cast(elements);\n\t} catch (error) {\n\t\tif (isInternalError(error)) throw error;\n\t\treturn;\n\t}\n\tconst stored = storedUnder(cast, column, surface.support.lookup);\n\treturn stored !== void 0 && sameForm(stored, value) ? `[${parts.join(\", \")}]` : void 0;\n}\n/** The PSL literal a stored value is written as for the column `options` describe, or `undefined` when it has no written form that reads back as that value. */\nfunction writeDefaultLiteral(value, options) {\n\tif (value instanceof Date) return void 0;\n\tconst { dataTypes, columnCodec } = options ?? {};\n\tif (dataTypes === void 0 || columnCodec === void 0) return void 0;\n\tconst { lookup } = dataTypes;\n\tconst columnDataType = columnCodec.dataType;\n\tconst columnType = lookup.get(columnDataType);\n\tconst column = {\n\t\tid: columnDataType,\n\t\tparams: columnType === void 0 ? {} : dataTypeParams(columnType, options?.typeParams)\n\t};\n\tconst surface = writingSurface(dataTypes);\n\tif (options?.list === true) {\n\t\tif (!Array.isArray(value)) return void 0;\n\t\tconst parts = [];\n\t\tfor (const element of value) {\n\t\t\tconst written = writeScalar(element, column, surface);\n\t\t\tif (written === void 0) return void 0;\n\t\t\tparts.push(written);\n\t\t}\n\t\treturn `[${parts.join(\", \")}]`;\n\t}\n\tconst written = writeScalar(value, column, surface);\n\tif (written !== void 0) return written;\n\treturn Array.isArray(value) ? writeListCast(value, column, surface) : void 0;\n}\n/** Whether two stored forms are the same JSON value, member by member and element by element. */\nfunction sameForm(left, right) {\n\tif (left === right) return true;\n\tif (Array.isArray(left) !== Array.isArray(right)) return false;\n\tif (typeof left !== \"object\" || typeof right !== \"object\" || left === null || right === null) return false;\n\tconst members = Object.entries(left);\n\tconst others = new Map(Object.entries(right));\n\treturn members.length === others.size && members.every(([key, member]) => {\n\t\tconst other = others.get(key);\n\t\treturn other !== void 0 && sameForm(member, other);\n\t});\n}\n//#endregion\n//#region src/core/psl-build/inferred-type-constructors.ts\n/** Every constructor of `authoringTypes` marked `inferred`, by the data type its codec represents. */\nfunction inferredTypeConstructors(input) {\n\tconst found = /* @__PURE__ */ new Map();\n\tfor (const { path, descriptor } of authoringTypeConstructors(input.authoringTypes)) {\n\t\tif (descriptor.inferred !== true) continue;\n\t\tconst dataTypeId = input.codecLookup.descriptorFor(descriptor.output.codecId)?.dataType;\n\t\tconst dataType = dataTypeId === void 0 ? void 0 : input.dataTypeLookup.get(dataTypeId);\n\t\tif (dataType === void 0 || !isSqlDataType(dataType)) continue;\n\t\tfound.set(dataType.id, {\n\t\t\tpath,\n\t\t\tdescriptor,\n\t\t\tdataType\n\t\t});\n\t}\n\treturn found;\n}\nfunction normalParams(marked, args) {\n\ttry {\n\t\tconst { typeParams } = instantiateAuthoringTypeConstructor(marked.descriptor, args);\n\t\tconst params = dataTypeParams(marked.dataType, typeParams);\n\t\treturn canonicalizeJson(marked.dataType.sql.normalize(params));\n\t} catch (error) {\n\t\tif (isInternalError(error)) throw error;\n\t\treturn;\n\t}\n}\n/**\n* The call to `marked` with the fewest arguments that produces `params`, the normal form of a\n* column's data type parameters: arguments are dropped from the end while the normal form of what\n* the call produces stays `params`. Undefined when the constructor cannot produce them, such as one\n* whose argument names another entity.\n*/\nfunction fewestArgumentsCall(marked, params) {\n\tconst all = authoringTypeConstructorArguments(marked.descriptor, {\n\t\tcodecId: marked.descriptor.output.codecId,\n\t\ttypeParams: params\n\t});\n\tif (all === void 0) return void 0;\n\tconst wanted = canonicalizeJson(params);\n\tconst args = [...all];\n\twhile (args.length > 0 && normalParams(marked, args.slice(0, -1)) === wanted) args.pop();\n\treturn {\n\t\tpath: marked.path,\n\t\targs\n\t};\n}\n/**\n* Each argument of a call to `descriptor` as PSL writes it: a value argument as a literal of its data type that reads back as the same value. `undefined` when an argument is not a value argument or no literal reads back as it.\n*/\nfunction writtenTypeArguments(descriptor, args, dataTypes) {\n\tconst written = [];\n\tfor (const [index, value] of args.entries()) {\n\t\tconst argument = descriptor.args?.[index];\n\t\tif (argument?.kind !== \"value\") return void 0;\n\t\tconst text = writeDataTypeValue(blindCast(value), dataTypeId(argument.dataType), dataTypes);\n\t\tif (text === void 0) return void 0;\n\t\twritten.push(text);\n\t}\n\treturn written;\n}\n//#endregion\n//#region src/core/psl-build/column-types.ts\n/** The type the database reported for `column`, which introspection always records. */\nfunction reportedTypeOf(column, tableName) {\n\tif (column.reportedType === void 0) throw new InternalError(`contract infer read column \"${tableName}\".\"${column.name}\" without the type the database reported for it.`);\n\treturn column.reportedType;\n}\nfunction writtenCall(constructors, dataTypes, support, reported) {\n\tconst resolved = resolveReportedSqlType(reported, dataTypes);\n\tconst marked = resolved && constructors.get(resolved.dataType.id);\n\tconst call = resolved && marked && fewestArgumentsCall(marked, resolved.typeParams);\n\tconst args = call && marked && writtenTypeArguments(marked.descriptor, call.args, support);\n\treturn call && args && {\n\t\tpath: call.path,\n\t\targs,\n\t\tvalues: call.args\n\t};\n}\n/**\n* The type of every column of `tables` that `isEnumColumn` does not claim: the call, with the\n* fewest arguments, to the constructor marked `inferred` for the data type that claims the\n* column's reported type. When any column has no such call, throws\n* `CONTRACT.INFER_COLUMN_TYPE_UNCLAIMED` listing every one of them.\n*/\nfunction inferColumnTypes(input) {\n\tconst dataTypes = [...input.constructors.values()].map((marked) => marked.dataType);\n\tconst types = /* @__PURE__ */ new Map();\n\tconst unclaimed = [];\n\tfor (const { schemaName, tableName, columns } of input.tables) for (const column of columns) {\n\t\tif (input.isEnumColumn(column)) continue;\n\t\tconst reported = reportedTypeOf(column, tableName);\n\t\tconst call = writtenCall(input.constructors, dataTypes, input.dataTypes, reported);\n\t\tif (call === void 0) {\n\t\t\tunclaimed.push(`${schemaName}.${tableName}.${column.name}: ${reported.text}${column.many === true ? \"[]\" : \"\"}`);\n\t\t\tcontinue;\n\t\t}\n\t\ttypes.set(JSON.stringify([tableName, column.name]), call);\n\t}\n\tif (unclaimed.length > 0) {\n\t\tconst columns = unclaimed.sort();\n\t\tthrow sqlFamilyError(\"CONTRACT.INFER_COLUMN_TYPE_UNCLAIMED\", [\"contract infer: Prisma 8 cannot write these column types with the configured stack:\", ...columns.map((line) => ` ${line}`)].join(\"\\n\"), {\n\t\t\twhy: \"Prisma 8 reads a column type only through a data type that the target or an extension pack declares.\",\n\t\t\tfix: `No configured pack has a type for these columns. If a type comes from a database extension that has a Prisma 8 pack, add the pack to extensions in prisma.config.ts. Otherwise, to keep such a column, write the schema by hand and declare its field as Raw(sql\\`<type>\\`) with the type as listed, or change the column's type or remove the column from the database.`,\n\t\t\tmeta: { columns }\n\t\t});\n\t}\n\treturn (tableName, columnName) => {\n\t\tconst type = types.get(JSON.stringify([tableName, columnName]));\n\t\tif (type === void 0) throw new InternalError(`contract infer resolved no type for \"${tableName}\".\"${columnName}\".`);\n\t\treturn type;\n\t};\n}\n//#endregion\n//#region src/core/psl-build/generator-calls.ts\nconst GENERATOR_PHASES = [\"onCreate\", \"onUpdate\"];\n/**\n* The generator function call that writes each phase of a column's generators, as `@onCreate(...)` and `@onUpdate(...)` take it. A call must resolve back to the stored generator, so a list column, a generator no function writes for the codec, and a call that reads back differently are refused.\n*/\nfunction generatorCallsFor(input) {\n\tconst { executionDefault, field, list, generatorFunctions } = input;\n\tconst calls = [];\n\tfor (const phase of GENERATOR_PHASES) {\n\t\tconst generator = executionDefault[phase];\n\t\tif (generator === void 0) continue;\n\t\tif (list) return {\n\t\t\tok: false,\n\t\t\trefusal: {\n\t\t\t\tkind: \"on-list\",\n\t\t\t\tphase,\n\t\t\t\tgenerator\n\t\t\t}\n\t\t};\n\t\tconst printed = generatorFunctions.callFor(generator, field);\n\t\tif (printed === void 0) return {\n\t\t\tok: false,\n\t\t\trefusal: {\n\t\t\t\tkind: \"no-function\",\n\t\t\t\tphase,\n\t\t\t\tgenerator\n\t\t\t}\n\t\t};\n\t\tconst readBack = generatorFunctions.resolve(printed.call, field);\n\t\tif (!readBack.ok || canonicalizeJson(readBack.generator) !== canonicalizeJson(generator)) return {\n\t\t\tok: false,\n\t\t\trefusal: {\n\t\t\t\tkind: \"reads-back-differently\",\n\t\t\t\tphase,\n\t\t\t\tgenerator,\n\t\t\t\ttext: printed.text,\n\t\t\t\treadBack: readBack.ok ? readBack.generator : void 0,\n\t\t\t\trefusedBecause: !readBack.ok && readBack.reason === \"refused\" ? readBack.message : void 0\n\t\t\t}\n\t\t};\n\t\tcalls.push({\n\t\t\tphase,\n\t\t\ttext: printed.text\n\t\t});\n\t}\n\treturn {\n\t\tok: true,\n\t\tcalls\n\t};\n}\n//#endregion\nexport { fewestArgumentsCall, generatorCallsFor, inferColumnTypes, inferredTypeConstructors, mapDefault, toEnumMemberName, writeDataTypeValue, writeDefaultLiteral, writtenTypeArguments };\n\n//# sourceMappingURL=psl-build.mjs.map"],"mappings":";;;;;;;;;;AAWA,MAAM,8BAA8B;CACnC,mBAAmB;CACnB,SAAS;AACV;;;;;;;;AAQA,SAAS,WAAW,eAAe,SAAS;CAC3C,QAAQ,cAAc,MAAtB;EACC,KAAK,WAAW;GACf,MAAM,OAAO,oBAAoB,cAAc,OAAO,OAAO;GAC7D,OAAO,SAAS,KAAK,IAAI,KAAK,IAAI,EAAE,WAAW,YAAY,KAAK,GAAG;EACpE;EACA,KAAK,YAAY,OAAO,EAAE,WAAW,SAAS,qBAAqB,cAAc,eAAe,4BAA4B,cAAc,eAAe,YAAY,mBAAA,OAAuC,cAAc,UAAU,EAAE,GAAG;CAC1O;AACD;AACA,SAAS,eAAe,SAAS;CAChC,MAAM,0BAA0B,IAAI,IAAI;CACxC,MAAM,WAAW,CAAC;CAClB,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,QAAQ,OAAO,GAAG;EAC3D,MAAM,UAAU,MAAM;EACtB,IAAI,QAAQ,SAAS,OAAO;GAC3B,MAAM,OAAO,WAAW,GAAG;GAC3B,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,QAAQ,IAAI,MAAM,KAAK;GAC/C,SAAS,KAAK,IAAI;GAClB;EACD;EACA,IAAI,QAAQ,WAAW,UAAU;GAChC,KAAK,MAAM,QAAQ,QAAQ,OAAO,QAAQ,IAAI,MAAM,KAAK;GACzD;EACD;EACA,QAAQ,IAAI,KAAK,KAAK;CACvB;CACA,OAAO;EACN;EACA;EACA;CACD;AACD;AACA,SAAS,UAAU,SAAS,SAAS;CACpC,MAAM,OAAO,iBAAiB,QAAQ,SAAS,OAAO;CACtD,OAAO,KAAK,KAAK,KAAK,QAAQ,KAAK;AACpC;;AAEA,SAAS,SAAS,SAAS,MAAM,OAAO;CACvC,IAAI;EACH,OAAO,QAAQ,QAAQ,OAAO,IAAI,IAAI,CAAC,EAAE,UAAU,OAAO,CAAC,CAAC;CAC7D,SAAS,OAAO;EACf,IAAI,gBAAgB,KAAK,GAAG,MAAM;EAClC;CACD;AACD;;;;;;AAMA,SAAS,gBAAgB,OAAO,SAAS;CACxC,MAAM,QAAQ,CAAC;CACf,IAAI,OAAO,UAAU,UAAU,MAAM,KAAK,UAAU,SAAS;EAC5D,MAAM;EACN,MAAM,YAAY,KAAK;CACxB,CAAC,CAAC;MACG,IAAI,OAAO,UAAU,WAAW,MAAM,KAAK,UAAU,SAAS;EAClE,MAAM;EACN;CACD,CAAC,CAAC;MACG,IAAI,OAAO,UAAU,UAAU;EACnC,MAAM,KAAK,UAAU,SAAS;GAC7B,MAAM;GACN,MAAM;EACP,CAAC,CAAC;EACF,MAAM,KAAK,UAAU,SAAS;GAC7B,MAAM;GACN,MAAM;EACP,CAAC,CAAC;CACH;CACA,KAAK,MAAM,QAAQ,QAAQ,UAAU,MAAM,KAAK,SAAS,SAAS,MAAM,KAAK,CAAC;CAC9E,OAAO,MAAM,QAAQ,cAAc,cAAc,KAAK,CAAC;AACxD;;AAEA,SAAS,YAAY,MAAM,QAAQ,QAAQ;CAC1C,MAAM,OAAO,OAAO,IAAI,OAAO,EAAE;CACjC,IAAI,SAAS,KAAK,GAAG,OAAO,KAAK;CACjC,IAAI;EACH,OAAO,KAAK,WAAW,KAAK,UAAU,MAAM,OAAO,MAAM,CAAC;CAC3D,SAAS,OAAO;EACf,IAAI,gBAAgB,KAAK,GAAG,MAAM;EAClC;CACD;AACD;;AAEA,SAAS,SAAS,WAAW,QAAQ,SAAS;CAC7C,MAAM,OAAO,eAAe,QAAQ,SAAS,OAAO,IAAI,OAAO,QAAQ,SAAS;CAChF,OAAO,KAAK,KAAK,KAAK,MAAM,QAAQ,KAAK;AAC1C;;AAEA,SAAS,YAAY,OAAO,OAAO;CAClC,IAAI;EACH,OAAO,MAAM,MAAM,KAAK;CACzB,QAAQ;EACP;CACD;AACD;;AAEA,SAAS,UAAU,OAAO,MAAM;CAC/B,MAAM,UAAU,MAAM;CACtB,IAAI,QAAQ,SAAS,OAAO,OAAO;EAClC,MAAM;EACN,KAAK,QAAQ;EACb;CACD;CACA,IAAI,QAAQ,WAAW,WAAW,OAAO;EACxC,MAAM,QAAQ;EACd;CACD;CACA,OAAO,SAAS,UAAU,SAAS,UAAU;EAC5C,MAAM;EACN,OAAO,SAAS;CACjB,IAAI,KAAK;AACV;;AAEA,SAAS,SAAS,SAAS,OAAO,MAAM;CACvC,MAAM,UAAU,UAAU,OAAO,IAAI;CACrC,OAAO,YAAY,KAAK,IAAI,KAAK,IAAI,UAAU,SAAS,OAAO;AAChE;AACA,SAAS,YAAY,OAAO,MAAM;CACjC,MAAM,UAAU,MAAM;CACtB,IAAI,QAAQ,SAAS,OAAO,OAAO,mBAAmB,QAAQ,KAAK,IAAI;CACvE,OAAO,QAAQ,WAAW,WAAW,IAAI,gBAAgB,IAAI,EAAE,KAAK;AACrE;;;;;;AAMA,SAAS,YAAY,OAAO,QAAQ,SAAS;CAC5C,MAAM,WAAW,6BAA6B,KAAK;CACnD,MAAM,aAAa,CAAC,GAAG,aAAa,KAAK,IAAI,CAAC,IAAI,gBAAgB,UAAU,OAAO,GAAG,GAAG,gBAAgB,OAAO,OAAO,CAAC;CACxH,KAAK,MAAM,aAAa,YAAY;EACnC,MAAM,QAAQ,QAAQ,QAAQ,IAAI,UAAU,IAAI;EAChD,IAAI,UAAU,KAAK,GAAG;EACtB,MAAM,SAAS,SAAS,WAAW,QAAQ,OAAO;EAClD,IAAI,WAAW,KAAK,KAAK,CAAC,SAAS,QAAQ,KAAK,GAAG;EACnD,MAAM,OAAO,YAAY,OAAO,UAAU,KAAK;EAC/C,IAAI,SAAS,KAAK,GAAG;EACrB,MAAM,SAAS,SAAS,SAAS,OAAO,IAAI;EAC5C,IAAI,WAAW,KAAK,GAAG;EACvB,MAAM,WAAW,SAAS,QAAQ,QAAQ,OAAO;EACjD,IAAI,aAAa,KAAK,KAAK,CAAC,SAAS,UAAU,KAAK,GAAG;EACvD,OAAO,YAAY,OAAO,IAAI;CAC/B;AACD;;;;AAIA,SAAS,mBAAmB,OAAO,UAAU,SAAS;CACrD,OAAO,YAAY,OAAO;EACzB,IAAI;EACJ,QAAQ,CAAC;CACV,GAAG,eAAe,OAAO,CAAC;AAC3B;AACA,MAAM,wBAAwB;AAC9B,SAAS,6BAA6B,OAAO;CAC5C,IAAI,OAAO,UAAU,YAAY,CAAC,sBAAsB,KAAK,KAAK,GAAG,OAAO,KAAK;CACjF,MAAM,YAAY,MAAM,QAAQ,OAAO,EAAE,CAAC,CAAC,QAAQ,OAAO,EAAE;CAC5D,OAAO,cAAc,QAAQ,KAAK,IAAI;AACvC;;AAEA,SAAS,aAAa,OAAO,IAAI,SAAS;CACzC,KAAK,MAAM,aAAa,gBAAgB,OAAO,OAAO,GAAG;EACxD,IAAI,CAAC,GAAG,SAAS,UAAU,IAAI,GAAG;EAClC,MAAM,QAAQ,QAAQ,QAAQ,IAAI,UAAU,IAAI;EAChD,IAAI,UAAU,KAAK,GAAG;EACtB,MAAM,OAAO,YAAY,OAAO,UAAU,KAAK;EAC/C,IAAI,SAAS,KAAK,GAAG;EACrB,MAAM,SAAS,SAAS,SAAS,OAAO,IAAI;EAC5C,IAAI,WAAW,KAAK,KAAK,CAAC,GAAG,SAAS,OAAO,IAAI,GAAG;EACpD,OAAO;GACN,MAAM,YAAY,OAAO,IAAI;GAC7B,OAAO,OAAO;EACf;CACD;AACD;;;;;;AAMA,SAAS,cAAc,OAAO,QAAQ,SAAS;CAC9C,MAAM,WAAW,QAAQ,QAAQ,OAAO,IAAI,OAAO,EAAE,CAAC,EAAE;CACxD,IAAI,aAAa,KAAK,GAAG,OAAO,KAAK;CACrC,MAAM,QAAQ,CAAC;CACf,MAAM,WAAW,CAAC;CAClB,KAAK,MAAM,WAAW,OAAO;EAC5B,MAAM,UAAU,aAAa,SAAS,SAAS,IAAI,OAAO;EAC1D,IAAI,YAAY,KAAK,GAAG,OAAO,KAAK;EACpC,MAAM,KAAK,QAAQ,IAAI;EACvB,SAAS,KAAK,QAAQ,KAAK;CAC5B;CACA,IAAI;CACJ,IAAI;EACH,OAAO,SAAS,KAAK,QAAQ;CAC9B,SAAS,OAAO;EACf,IAAI,gBAAgB,KAAK,GAAG,MAAM;EAClC;CACD;CACA,MAAM,SAAS,YAAY,MAAM,QAAQ,QAAQ,QAAQ,MAAM;CAC/D,OAAO,WAAW,KAAK,KAAK,SAAS,QAAQ,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE,KAAK,KAAK;AACtF;;AAEA,SAAS,oBAAoB,OAAO,SAAS;CAC5C,IAAI,iBAAiB,MAAM,OAAO,KAAK;CACvC,MAAM,EAAE,WAAW,gBAAgB,WAAW,CAAC;CAC/C,IAAI,cAAc,KAAK,KAAK,gBAAgB,KAAK,GAAG,OAAO,KAAK;CAChE,MAAM,EAAE,WAAW;CACnB,MAAM,iBAAiB,YAAY;CACnC,MAAM,aAAa,OAAO,IAAI,cAAc;CAC5C,MAAM,SAAS;EACd,IAAI;EACJ,QAAQ,eAAe,KAAK,IAAI,CAAC,IAAI,eAAe,YAAY,SAAS,UAAU;CACpF;CACA,MAAM,UAAU,eAAe,SAAS;CACxC,IAAI,SAAS,SAAS,MAAM;EAC3B,IAAI,CAAC,MAAM,QAAQ,KAAK,GAAG,OAAO,KAAK;EACvC,MAAM,QAAQ,CAAC;EACf,KAAK,MAAM,WAAW,OAAO;GAC5B,MAAM,UAAU,YAAY,SAAS,QAAQ,OAAO;GACpD,IAAI,YAAY,KAAK,GAAG,OAAO,KAAK;GACpC,MAAM,KAAK,OAAO;EACnB;EACA,OAAO,IAAI,MAAM,KAAK,IAAI,EAAE;CAC7B;CACA,MAAM,UAAU,YAAY,OAAO,QAAQ,OAAO;CAClD,IAAI,YAAY,KAAK,GAAG,OAAO;CAC/B,OAAO,MAAM,QAAQ,KAAK,IAAI,cAAc,OAAO,QAAQ,OAAO,IAAI,KAAK;AAC5E;;AAEA,SAAS,SAAS,MAAM,OAAO;CAC9B,IAAI,SAAS,OAAO,OAAO;CAC3B,IAAI,MAAM,QAAQ,IAAI,MAAM,MAAM,QAAQ,KAAK,GAAG,OAAO;CACzD,IAAI,OAAO,SAAS,YAAY,OAAO,UAAU,YAAY,SAAS,QAAQ,UAAU,MAAM,OAAO;CACrG,MAAM,UAAU,OAAO,QAAQ,IAAI;CACnC,MAAM,SAAS,IAAI,IAAI,OAAO,QAAQ,KAAK,CAAC;CAC5C,OAAO,QAAQ,WAAW,OAAO,QAAQ,QAAQ,OAAO,CAAC,KAAK,YAAY;EACzE,MAAM,QAAQ,OAAO,IAAI,GAAG;EAC5B,OAAO,UAAU,KAAK,KAAK,SAAS,QAAQ,KAAK;CAClD,CAAC;AACF;;AAIA,SAAS,yBAAyB,OAAO;CACxC,MAAM,wBAAwB,IAAI,IAAI;CACtC,KAAK,MAAM,EAAE,MAAM,gBAAgB,0BAA0B,MAAM,cAAc,GAAG;EACnF,IAAI,WAAW,aAAa,MAAM;EAClC,MAAM,aAAa,MAAM,YAAY,cAAc,WAAW,OAAO,OAAO,CAAC,EAAE;EAC/E,MAAM,WAAW,eAAe,KAAK,IAAI,KAAK,IAAI,MAAM,eAAe,IAAI,UAAU;EACrF,IAAI,aAAa,KAAK,KAAK,CAAC,cAAc,QAAQ,GAAG;EACrD,MAAM,IAAI,SAAS,IAAI;GACtB;GACA;GACA;EACD,CAAC;CACF;CACA,OAAO;AACR;AACA,SAAS,aAAa,QAAQ,MAAM;CACnC,IAAI;EACH,MAAM,EAAE,eAAe,oCAAoC,OAAO,YAAY,IAAI;EAClF,MAAM,SAAS,eAAe,OAAO,UAAU,UAAU;EACzD,OAAO,iBAAiB,OAAO,SAAS,IAAI,UAAU,MAAM,CAAC;CAC9D,SAAS,OAAO;EACf,IAAI,gBAAgB,KAAK,GAAG,MAAM;EAClC;CACD;AACD;;;;;;;AAOA,SAAS,oBAAoB,QAAQ,QAAQ;CAC5C,MAAM,MAAM,kCAAkC,OAAO,YAAY;EAChE,SAAS,OAAO,WAAW,OAAO;EAClC,YAAY;CACb,CAAC;CACD,IAAI,QAAQ,KAAK,GAAG,OAAO,KAAK;CAChC,MAAM,SAAS,iBAAiB,MAAM;CACtC,MAAM,OAAO,CAAC,GAAG,GAAG;CACpB,OAAO,KAAK,SAAS,KAAK,aAAa,QAAQ,KAAK,MAAM,GAAG,EAAE,CAAC,MAAM,QAAQ,KAAK,IAAI;CACvF,OAAO;EACN,MAAM,OAAO;EACb;CACD;AACD;;;;AAIA,SAAS,qBAAqB,YAAY,MAAM,WAAW;CAC1D,MAAM,UAAU,CAAC;CACjB,KAAK,MAAM,CAAC,OAAO,UAAU,KAAK,QAAQ,GAAG;EAC5C,MAAM,WAAW,WAAW,OAAO;EACnC,IAAI,UAAU,SAAS,SAAS,OAAO,KAAK;EAC5C,MAAM,OAAO,mBAAmB,UAAU,KAAK,GAAG,WAAW,SAAS,QAAQ,GAAG,SAAS;EAC1F,IAAI,SAAS,KAAK,GAAG,OAAO,KAAK;EACjC,QAAQ,KAAK,IAAI;CAClB;CACA,OAAO;AACR;;AAIA,SAAS,eAAe,QAAQ,WAAW;CAC1C,IAAI,OAAO,iBAAiB,KAAK,GAAG,MAAM,IAAI,cAAc,+BAA+B,UAAU,KAAK,OAAO,KAAK,iDAAiD;CACvK,OAAO,OAAO;AACf;AACA,SAAS,YAAY,cAAc,WAAW,SAAS,UAAU;CAChE,MAAM,WAAW,uBAAuB,UAAU,SAAS;CAC3D,MAAM,SAAS,YAAY,aAAa,IAAI,SAAS,SAAS,EAAE;CAChE,MAAM,OAAO,YAAY,UAAU,oBAAoB,QAAQ,SAAS,UAAU;CAClF,MAAM,OAAO,QAAQ,UAAU,qBAAqB,OAAO,YAAY,KAAK,MAAM,OAAO;CACzF,OAAO,QAAQ,QAAQ;EACtB,MAAM,KAAK;EACX;EACA,QAAQ,KAAK;CACd;AACD;;;;;;;AAOA,SAAS,iBAAiB,OAAO;CAChC,MAAM,YAAY,CAAC,GAAG,MAAM,aAAa,OAAO,CAAC,CAAC,CAAC,KAAK,WAAW,OAAO,QAAQ;CAClF,MAAM,wBAAwB,IAAI,IAAI;CACtC,MAAM,YAAY,CAAC;CACnB,KAAK,MAAM,EAAE,YAAY,WAAW,aAAa,MAAM,QAAQ,KAAK,MAAM,UAAU,SAAS;EAC5F,IAAI,MAAM,aAAa,MAAM,GAAG;EAChC,MAAM,WAAW,eAAe,QAAQ,SAAS;EACjD,MAAM,OAAO,YAAY,MAAM,cAAc,WAAW,MAAM,WAAW,QAAQ;EACjF,IAAI,SAAS,KAAK,GAAG;GACpB,UAAU,KAAK,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,KAAK,IAAI,SAAS,OAAO,OAAO,SAAS,OAAO,OAAO,IAAI;GAC/G;EACD;EACA,MAAM,IAAI,KAAK,UAAU,CAAC,WAAW,OAAO,IAAI,CAAC,GAAG,IAAI;CACzD;CACA,IAAI,UAAU,SAAS,GAAG;EACzB,MAAM,UAAU,UAAU,KAAK;EAC/B,MAAM,eAAe,wCAAwC,CAAC,uFAAuF,GAAG,QAAQ,KAAK,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG;GACvM,KAAK;GACL,KAAK;GACL,MAAM,EAAE,QAAQ;EACjB,CAAC;CACF;CACA,QAAQ,WAAW,eAAe;EACjC,MAAM,OAAO,MAAM,IAAI,KAAK,UAAU,CAAC,WAAW,UAAU,CAAC,CAAC;EAC9D,IAAI,SAAS,KAAK,GAAG,MAAM,IAAI,cAAc,wCAAwC,UAAU,KAAK,WAAW,GAAG;EAClH,OAAO;CACR;AACD;AAGA,MAAM,mBAAmB,CAAC,YAAY,UAAU;;;;AAIhD,SAAS,kBAAkB,OAAO;CACjC,MAAM,EAAE,kBAAkB,OAAO,MAAM,uBAAuB;CAC9D,MAAM,QAAQ,CAAC;CACf,KAAK,MAAM,SAAS,kBAAkB;EACrC,MAAM,YAAY,iBAAiB;EACnC,IAAI,cAAc,KAAK,GAAG;EAC1B,IAAI,MAAM,OAAO;GAChB,IAAI;GACJ,SAAS;IACR,MAAM;IACN;IACA;GACD;EACD;EACA,MAAM,UAAU,mBAAmB,QAAQ,WAAW,KAAK;EAC3D,IAAI,YAAY,KAAK,GAAG,OAAO;GAC9B,IAAI;GACJ,SAAS;IACR,MAAM;IACN;IACA;GACD;EACD;EACA,MAAM,WAAW,mBAAmB,QAAQ,QAAQ,MAAM,KAAK;EAC/D,IAAI,CAAC,SAAS,MAAM,iBAAiB,SAAS,SAAS,MAAM,iBAAiB,SAAS,GAAG,OAAO;GAChG,IAAI;GACJ,SAAS;IACR,MAAM;IACN;IACA;IACA,MAAM,QAAQ;IACd,UAAU,SAAS,KAAK,SAAS,YAAY,KAAK;IAClD,gBAAgB,CAAC,SAAS,MAAM,SAAS,WAAW,YAAY,SAAS,UAAU,KAAK;GACzF;EACD;EACA,MAAM,KAAK;GACV;GACA,MAAM,QAAQ;EACf,CAAC;CACF;CACA,OAAO;EACN,IAAI;EACJ;CACD;AACD"}
|