@prisma/orm-family-sql 0.16.0-dev.36
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/LICENSE +201 -0
- package/README.md +28 -0
- package/dist/ast-BstHjAoG.mjs +325 -0
- package/dist/ast-BstHjAoG.mjs.map +1 -0
- package/dist/ast-DSuzmsWn.d.mts +287 -0
- package/dist/ast-DSuzmsWn.d.mts.map +1 -0
- package/dist/authoring-type-constructors-Blqoa2Ua-DyCmD6mp.mjs +316 -0
- package/dist/authoring-type-constructors-Blqoa2Ua-DyCmD6mp.mjs.map +1 -0
- package/dist/build-contract-DBCz_YSs-DO0wMHai.mjs +778 -0
- package/dist/build-contract-DBCz_YSs-DO0wMHai.mjs.map +1 -0
- package/dist/builder.d.mts +3 -0
- package/dist/builder.mjs +1 -0
- package/dist/builder__runtime.d.mts +42 -0
- package/dist/builder__runtime.d.mts.map +1 -0
- package/dist/builder__runtime.mjs +955 -0
- package/dist/builder__runtime.mjs.map +1 -0
- package/dist/builder__types.d.mts +3 -0
- package/dist/builder__types.mjs +1 -0
- package/dist/canonicalization-hooks-CYnW_sGn.d.mts +10 -0
- package/dist/canonicalization-hooks-CYnW_sGn.d.mts.map +1 -0
- package/dist/canonicalization-hooks-DfIc_lOO.mjs +87 -0
- package/dist/canonicalization-hooks-DfIc_lOO.mjs.map +1 -0
- package/dist/codec-descriptor-registry-BJVJRftS.mjs +96 -0
- package/dist/codec-descriptor-registry-BJVJRftS.mjs.map +1 -0
- package/dist/codec-types-MOaceoPi-C5eL2sao.d.mts +116 -0
- package/dist/codec-types-MOaceoPi-C5eL2sao.d.mts.map +1 -0
- package/dist/config-types-47qB33rW.d.mts +21 -0
- package/dist/config-types-47qB33rW.d.mts.map +1 -0
- package/dist/config-types-N7PJc6VN.mjs +65 -0
- package/dist/config-types-N7PJc6VN.mjs.map +1 -0
- package/dist/contract-builder-MvJJrQ-5.d.mts +1306 -0
- package/dist/contract-builder-MvJJrQ-5.d.mts.map +1 -0
- package/dist/contract-builder-YjMQcvZ1.mjs +1615 -0
- package/dist/contract-builder-YjMQcvZ1.mjs.map +1 -0
- package/dist/contract-emitter.d.mts +25 -0
- package/dist/contract-emitter.d.mts.map +1 -0
- package/dist/contract-emitter.mjs +2 -0
- package/dist/contract-errors-BCN6RVI5-5IHBF_lg.mjs +9 -0
- package/dist/contract-errors-BCN6RVI5-5IHBF_lg.mjs.map +1 -0
- package/dist/contract-psl.d.mts +65 -0
- package/dist/contract-psl.d.mts.map +1 -0
- package/dist/contract-psl.mjs +2 -0
- package/dist/contract-psl__provider.d.mts +23 -0
- package/dist/contract-psl__provider.d.mts.map +1 -0
- package/dist/contract-psl__provider.mjs +105 -0
- package/dist/contract-psl__provider.mjs.map +1 -0
- package/dist/contract-ts.d.mts +3 -0
- package/dist/contract-ts.mjs +4 -0
- package/dist/contract-ts__config-types.d.mts +2 -0
- package/dist/contract-ts__config-types.mjs +2 -0
- package/dist/contract-ts__contract-builder.d.mts +2 -0
- package/dist/contract-ts__contract-builder.mjs +3 -0
- package/dist/contract-view-BMR5IWk4.mjs +39 -0
- package/dist/contract-view-BMR5IWk4.mjs.map +1 -0
- package/dist/contract-view-BbWQp6r4.d.mts +61 -0
- package/dist/contract-view-BbWQp6r4.d.mts.map +1 -0
- package/dist/contract.d.mts +26 -0
- package/dist/contract.mjs +17 -0
- package/dist/contract__canonicalization-hooks.d.mts +2 -0
- package/dist/contract__canonicalization-hooks.mjs +2 -0
- package/dist/contract__contract-view.d.mts +2 -0
- package/dist/contract__contract-view.mjs +2 -0
- package/dist/contract__entity-handle-lowering-hook.d.mts +2 -0
- package/dist/contract__entity-handle-lowering-hook.mjs +2 -0
- package/dist/contract__entity-kinds.d.mts +2 -0
- package/dist/contract__entity-kinds.mjs +2 -0
- package/dist/contract__factories.d.mts +2 -0
- package/dist/contract__factories.mjs +2 -0
- package/dist/contract__foreign-key-materialization.d.mts +2 -0
- package/dist/contract__foreign-key-materialization.mjs +2 -0
- package/dist/contract__index-naming.d.mts +2 -0
- package/dist/contract__index-naming.mjs +2 -0
- package/dist/contract__index-type-validation.d.mts +2 -0
- package/dist/contract__index-type-validation.mjs +2 -0
- package/dist/contract__index-types.d.mts +3 -0
- package/dist/contract__index-types.mjs +2 -0
- package/dist/contract__pack-types.d.mts +2 -0
- package/dist/contract__pack-types.mjs +1 -0
- package/dist/contract__referential-action-sql.d.mts +2 -0
- package/dist/contract__referential-action-sql.mjs +2 -0
- package/dist/contract__resolve-storage-table.d.mts +2 -0
- package/dist/contract__resolve-storage-table.mjs +2 -0
- package/dist/contract__types.d.mts +11 -0
- package/dist/contract__types.mjs +4 -0
- package/dist/contract__validators.d.mts +2 -0
- package/dist/contract__validators.mjs +3 -0
- package/dist/contract__value-set-derivation-hook.d.mts +2 -0
- package/dist/contract__value-set-derivation-hook.mjs +2 -0
- package/dist/control-B7iS4jv4.mjs +1326 -0
- package/dist/control-B7iS4jv4.mjs.map +1 -0
- package/dist/control-BHmsZudH.d.mts +948 -0
- package/dist/control-BHmsZudH.d.mts.map +1 -0
- package/dist/control-adapter-4y1O8Ps3.d.mts +1 -0
- package/dist/control-adapter-C99J7aEF-C-17lFY8.d.mts +191 -0
- package/dist/control-adapter-C99J7aEF-C-17lFY8.d.mts.map +1 -0
- package/dist/db-DhMsmBS--DKENDi3l.d.mts +365 -0
- package/dist/db-DhMsmBS--DKENDi3l.d.mts.map +1 -0
- package/dist/ddl-types-BMp2bWVS-D1waZJ4n.mjs +153 -0
- package/dist/ddl-types-BMp2bWVS-D1waZJ4n.mjs.map +1 -0
- package/dist/ddl-types-rrMsf77U-DGctYf-T.d.mts +149 -0
- package/dist/ddl-types-rrMsf77U-DGctYf-T.d.mts.map +1 -0
- package/dist/diff-B16bL_IR.mjs +13 -0
- package/dist/diff-B16bL_IR.mjs.map +1 -0
- package/dist/diff-DhlzHOMD.d.mts +104 -0
- package/dist/diff-DhlzHOMD.d.mts.map +1 -0
- package/dist/dist-C_q1_QR9.mjs +9 -0
- package/dist/dist-C_q1_QR9.mjs.map +1 -0
- package/dist/dist-DrScXbhq.mjs +414 -0
- package/dist/dist-DrScXbhq.mjs.map +1 -0
- package/dist/dist-x6jvtkKM.mjs +68 -0
- package/dist/dist-x6jvtkKM.mjs.map +1 -0
- package/dist/entity-handle-lowering-hook-CIvRKBfa.d.mts +92 -0
- package/dist/entity-handle-lowering-hook-CIvRKBfa.d.mts.map +1 -0
- package/dist/entity-handle-lowering-hook-DwLIKNiS.mjs +11 -0
- package/dist/entity-handle-lowering-hook-DwLIKNiS.mjs.map +1 -0
- package/dist/entity-kinds-DKxwKolf-CcsY-iYV.mjs +136 -0
- package/dist/entity-kinds-DKxwKolf-CcsY-iYV.mjs.map +1 -0
- package/dist/entity-kinds-Dh6VH4uK.d.mts +29 -0
- package/dist/entity-kinds-Dh6VH4uK.d.mts.map +1 -0
- package/dist/errors-B5g0xWro-mWH2C07F.mjs +9 -0
- package/dist/errors-B5g0xWro-mWH2C07F.mjs.map +1 -0
- package/dist/errors.d.mts +63 -0
- package/dist/errors.d.mts.map +1 -0
- package/dist/errors.mjs +2 -0
- package/dist/expression-DIf8F4Mc.d.mts +167 -0
- package/dist/expression-DIf8F4Mc.d.mts.map +1 -0
- package/dist/expression-RUO52bJB.mjs +109 -0
- package/dist/expression-RUO52bJB.mjs.map +1 -0
- package/dist/factories-B7tA4y9D.d.mts +39 -0
- package/dist/factories-B7tA4y9D.d.mts.map +1 -0
- package/dist/factories-CDG9zBxC.mjs +77 -0
- package/dist/factories-CDG9zBxC.mjs.map +1 -0
- package/dist/family.d.mts +13 -0
- package/dist/family.mjs +12 -0
- package/dist/family__control-adapter.d.mts +3 -0
- package/dist/family__control-adapter.mjs +1 -0
- package/dist/family__control.d.mts +4 -0
- package/dist/family__control.mjs +4 -0
- package/dist/family__diff.d.mts +3 -0
- package/dist/family__diff.mjs +3 -0
- package/dist/family__ir.d.mts +2 -0
- package/dist/family__ir.mjs +3 -0
- package/dist/family__migration.d.mts +2 -0
- package/dist/family__migration.mjs +2 -0
- package/dist/family__pack.d.mts +249 -0
- package/dist/family__pack.d.mts.map +1 -0
- package/dist/family__pack.mjs +18 -0
- package/dist/family__pack.mjs.map +1 -0
- package/dist/family__psl-infer.d.mts +2 -0
- package/dist/family__psl-infer.mjs +2 -0
- package/dist/family__runtime.d.mts +3 -0
- package/dist/family__runtime.mjs +3 -0
- package/dist/family__verify.d.mts +2 -0
- package/dist/family__verify.mjs +2 -0
- package/dist/foreign-key-BSy9u4O4-BnsOe5Nf.d.mts +85 -0
- package/dist/foreign-key-BSy9u4O4-BnsOe5Nf.d.mts.map +1 -0
- package/dist/foreign-key-materialization-Ca-wRbmj.d.mts +65 -0
- package/dist/foreign-key-materialization-Ca-wRbmj.d.mts.map +1 -0
- package/dist/foreign-key-materialization-HI7BIQrG.mjs +72 -0
- package/dist/foreign-key-materialization-HI7BIQrG.mjs.map +1 -0
- package/dist/index-Bb9U36N4.d.mts +511 -0
- package/dist/index-Bb9U36N4.d.mts.map +1 -0
- package/dist/index-BgaTJRxj.d.mts +25 -0
- package/dist/index-BgaTJRxj.d.mts.map +1 -0
- package/dist/index-naming-BZWoh45T.d.mts +62 -0
- package/dist/index-naming-BZWoh45T.d.mts.map +1 -0
- package/dist/index-naming-BoGBcMmI-DiJAr66H.mjs +108 -0
- package/dist/index-naming-BoGBcMmI-DiJAr66H.mjs.map +1 -0
- package/dist/index-type-validation-COH4d78M.mjs +17 -0
- package/dist/index-type-validation-COH4d78M.mjs.map +1 -0
- package/dist/index-type-validation-DN0L2mqm.d.mts +10 -0
- package/dist/index-type-validation-DN0L2mqm.d.mts.map +1 -0
- package/dist/index-types-CNhHgKHi.d.mts +1 -0
- package/dist/index-types-DJQ_xwaE.mjs +40 -0
- package/dist/index-types-DJQ_xwaE.mjs.map +1 -0
- package/dist/index-types-DPVhsW0v-D-BikM4h.d.mts +31 -0
- package/dist/index-types-DPVhsW0v-D-BikM4h.d.mts.map +1 -0
- package/dist/interpreter-5WgpL-ax-_nqHLUTr.mjs +3526 -0
- package/dist/interpreter-5WgpL-ax-_nqHLUTr.mjs.map +1 -0
- package/dist/ir-B3bKMnGQ.d.mts +123 -0
- package/dist/ir-B3bKMnGQ.d.mts.map +1 -0
- package/dist/ir-I-xciGUH.mjs +36 -0
- package/dist/ir-I-xciGUH.mjs.map +1 -0
- package/dist/lane-query-builder.d.mts +236 -0
- package/dist/lane-query-builder.d.mts.map +1 -0
- package/dist/lane-query-builder.mjs +67 -0
- package/dist/lane-query-builder.mjs.map +1 -0
- package/dist/middleware-B4XbF4d4-tfwBl6mX.d.mts +119 -0
- package/dist/middleware-B4XbF4d4-tfwBl6mX.d.mts.map +1 -0
- package/dist/middleware-ByRsXxxq.d.mts +1 -0
- package/dist/middleware-CMr4CHNz-DHIUdxlm.mjs +80 -0
- package/dist/middleware-CMr4CHNz-DHIUdxlm.mjs.map +1 -0
- package/dist/migration-CK4oePIo.mjs +44 -0
- package/dist/migration-CK4oePIo.mjs.map +1 -0
- package/dist/migration-CW0ZJLxP.d.mts +44 -0
- package/dist/migration-CW0ZJLxP.d.mts.map +1 -0
- package/dist/naming-BwqqVcZy-BgTObIQw.mjs +177 -0
- package/dist/naming-BwqqVcZy-BgTObIQw.mjs.map +1 -0
- package/dist/naming-jLgdauLi-C84G_UHi.d.mts +133 -0
- package/dist/naming-jLgdauLi-C84G_UHi.d.mts.map +1 -0
- package/dist/operations.d.mts +2 -0
- package/dist/operations.mjs +2 -0
- package/dist/orm-client.d.mts +1316 -0
- package/dist/orm-client.d.mts.map +1 -0
- package/dist/orm-client.mjs +4544 -0
- package/dist/orm-client.mjs.map +1 -0
- package/dist/pack-types-BcLTpwbv.d.mts +14 -0
- package/dist/pack-types-BcLTpwbv.d.mts.map +1 -0
- package/dist/plan-BTD8xFfa-Dd_K-A1R.d.mts +45 -0
- package/dist/plan-BTD8xFfa-Dd_K-A1R.d.mts.map +1 -0
- package/dist/plan-CkpcgUaM.mjs +34 -0
- package/dist/plan-CkpcgUaM.mjs.map +1 -0
- package/dist/plan-Cm4jaoNM.d.mts +2 -0
- package/dist/psl-infer-6je61Z6J.d.mts +119 -0
- package/dist/psl-infer-6je61Z6J.d.mts.map +1 -0
- package/dist/psl-infer-DGftl-HW.mjs +362 -0
- package/dist/psl-infer-DGftl-HW.mjs.map +1 -0
- package/dist/query-lane-context-Bz8XJZ45.d.mts +1 -0
- package/dist/query-lane-context-DtdVMqoz-C2Tj5QHA.d.mts +94 -0
- package/dist/query-lane-context-DtdVMqoz-C2Tj5QHA.d.mts.map +1 -0
- package/dist/referential-action-sql-Csd6dA8G.d.mts +12 -0
- package/dist/referential-action-sql-Csd6dA8G.d.mts.map +1 -0
- package/dist/referential-action-sql-DSqkrySN.mjs +17 -0
- package/dist/referential-action-sql-DSqkrySN.mjs.map +1 -0
- package/dist/relational-core.d.mts +13 -0
- package/dist/relational-core.mjs +8 -0
- package/dist/relational-core__ast.d.mts +5 -0
- package/dist/relational-core__ast.mjs +5 -0
- package/dist/relational-core__codec-descriptor-registry.d.mts +39 -0
- package/dist/relational-core__codec-descriptor-registry.d.mts.map +1 -0
- package/dist/relational-core__codec-descriptor-registry.mjs +2 -0
- package/dist/relational-core__contract-free.d.mts +220 -0
- package/dist/relational-core__contract-free.d.mts.map +1 -0
- package/dist/relational-core__contract-free.mjs +393 -0
- package/dist/relational-core__contract-free.mjs.map +1 -0
- package/dist/relational-core__expression.d.mts +2 -0
- package/dist/relational-core__expression.mjs +2 -0
- package/dist/relational-core__middleware.d.mts +3 -0
- package/dist/relational-core__middleware.mjs +2 -0
- package/dist/relational-core__plan.d.mts +4 -0
- package/dist/relational-core__plan.mjs +2 -0
- package/dist/relational-core__query-lane-context.d.mts +3 -0
- package/dist/relational-core__query-lane-context.mjs +1 -0
- package/dist/relational-core__types.d.mts +3 -0
- package/dist/relational-core__types.mjs +1 -0
- package/dist/resolve-storage-table-DUwyRJmP.d.mts +21 -0
- package/dist/resolve-storage-table-DUwyRJmP.d.mts.map +1 -0
- package/dist/resolve-storage-table-DZsfnzeW.mjs +46 -0
- package/dist/resolve-storage-table-DZsfnzeW.mjs.map +1 -0
- package/dist/runtime-DNewRuec.d.mts +46 -0
- package/dist/runtime-DNewRuec.d.mts.map +1 -0
- package/dist/runtime-tIHpGCcG.mjs +55 -0
- package/dist/runtime-tIHpGCcG.mjs.map +1 -0
- package/dist/runtime.d.mts +4 -0
- package/dist/runtime.mjs +1606 -0
- package/dist/runtime.mjs.map +1 -0
- package/dist/schema-differ-DpG_gnur-g5_iks8G.d.mts +47 -0
- package/dist/schema-differ-DpG_gnur-g5_iks8G.d.mts.map +1 -0
- package/dist/schema-ir.d.mts +2 -0
- package/dist/schema-ir.mjs +2 -0
- package/dist/schema-ir__naming.d.mts +2 -0
- package/dist/schema-ir__naming.mjs +2 -0
- package/dist/schema-ir__types.d.mts +3 -0
- package/dist/schema-ir__types.mjs +2 -0
- package/dist/schema-verify-vtFZbmGq-BNfTr6fU.mjs +222 -0
- package/dist/schema-verify-vtFZbmGq-BNfTr6fU.mjs.map +1 -0
- package/dist/serialized-index-B96AwqtU-DcqcB4q_.d.mts +26 -0
- package/dist/serialized-index-B96AwqtU-DcqcB4q_.d.mts.map +1 -0
- package/dist/serialized-index-Dp5_EjXD-DMsw8jf3.mjs +64 -0
- package/dist/serialized-index-Dp5_EjXD-DMsw8jf3.mjs.map +1 -0
- package/dist/sql-contract-serializer-2oBWuxTe-B9hzBBv1.mjs +171 -0
- package/dist/sql-contract-serializer-2oBWuxTe-B9hzBBv1.mjs.map +1 -0
- package/dist/sql-execution-plan-CJmsCP7n-DoEpNn7r.d.mts +32 -0
- package/dist/sql-execution-plan-CJmsCP7n-DoEpNn7r.d.mts.map +1 -0
- package/dist/sql-index-DsI8HAeK-BJsn-jvD.d.mts +72 -0
- package/dist/sql-index-DsI8HAeK-BJsn-jvD.d.mts.map +1 -0
- package/dist/sql-node-kEz6YFZo-v2F7delx.d.mts +42 -0
- package/dist/sql-node-kEz6YFZo-v2F7delx.d.mts.map +1 -0
- package/dist/sql-storage-B0QwiTg6-B8DVctJm.d.mts +171 -0
- package/dist/sql-storage-B0QwiTg6-B8DVctJm.d.mts.map +1 -0
- package/dist/storage-table-BBaAmanc-BwR37LMA.d.mts +130 -0
- package/dist/storage-table-BBaAmanc-BwR37LMA.d.mts.map +1 -0
- package/dist/storage-table-_LWDmPfv-DFhU2dML.mjs +277 -0
- package/dist/storage-table-_LWDmPfv-DFhU2dML.mjs.map +1 -0
- package/dist/storage-value-set-BGlj5Uus-CvZD--GG.d.mts +41 -0
- package/dist/storage-value-set-BGlj5Uus-CvZD--GG.d.mts.map +1 -0
- package/dist/timestamp-now-generator-DRXygu32-DN9Qb1uI.mjs +173 -0
- package/dist/timestamp-now-generator-DRXygu32-DN9Qb1uI.mjs.map +1 -0
- package/dist/types-BchwQpmO.d.mts +16 -0
- package/dist/types-BchwQpmO.d.mts.map +1 -0
- package/dist/types-BgkZru_1-H7yfikSQ.mjs +1444 -0
- package/dist/types-BgkZru_1-H7yfikSQ.mjs.map +1 -0
- package/dist/types-CMMQS6aG.mjs +111 -0
- package/dist/types-CMMQS6aG.mjs.map +1 -0
- package/dist/types-CuDrWc5v-ISVXBmBs.d.mts +134 -0
- package/dist/types-CuDrWc5v-ISVXBmBs.d.mts.map +1 -0
- package/dist/types-CvbBw1Jo-3KQdErJY.d.mts +688 -0
- package/dist/types-CvbBw1Jo-3KQdErJY.d.mts.map +1 -0
- package/dist/types-DIBA80mc-wf5wLmON.d.mts +723 -0
- package/dist/types-DIBA80mc-wf5wLmON.d.mts.map +1 -0
- package/dist/types-DMxc5KZa.d.mts +1 -0
- package/dist/types-Dl20lxky-DC_jdA0T.d.mts +247 -0
- package/dist/types-Dl20lxky-DC_jdA0T.d.mts.map +1 -0
- package/dist/types-DmhUVq4u-BpqqjPJx.mjs +719 -0
- package/dist/types-DmhUVq4u-BpqqjPJx.mjs.map +1 -0
- package/dist/types-IqZMLrFC-DtdJNICr.d.mts +426 -0
- package/dist/types-IqZMLrFC-DtdJNICr.d.mts.map +1 -0
- package/dist/types-TvBZ2Ne9.d.mts +1 -0
- package/dist/unique-constraint-jQWfH7dg-zLWtFp99.d.mts +32 -0
- package/dist/unique-constraint-jQWfH7dg-zLWtFp99.d.mts.map +1 -0
- package/dist/util-DQQgv2j1-D6INZaRG.mjs +34 -0
- package/dist/util-DQQgv2j1-D6INZaRG.mjs.map +1 -0
- package/dist/validators-C4PItWnf.mjs +0 -0
- package/dist/validators-C4PItWnf.mjs.map +1 -0
- package/dist/validators-CxeHhHrf.d.mts +206 -0
- package/dist/validators-CxeHhHrf.d.mts.map +1 -0
- package/dist/value-set-derivation-hook-BhgGVtw0.d.mts +35 -0
- package/dist/value-set-derivation-hook-BhgGVtw0.d.mts.map +1 -0
- package/dist/value-set-derivation-hook-Di9JZ0X7.mjs +22 -0
- package/dist/value-set-derivation-hook-Di9JZ0X7.mjs.map +1 -0
- package/dist/verify-E6Dd2vYp-gYwnlhLm.mjs +86 -0
- package/dist/verify-E6Dd2vYp-gYwnlhLm.mjs.map +1 -0
- package/dist/verify-zDRnw0Rn.d.mts +26 -0
- package/dist/verify-zDRnw0Rn.d.mts.map +1 -0
- package/package.json +112 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-contract-DBCz_YSs-DO0wMHai.mjs","names":[],"sources":["../../../../2-sql/2-authoring/contract-ts/dist/build-contract-DBCz_YSs.mjs"],"sourcesContent":["import { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { computeExecutionHash, computeProfileHash, computeStorageHash } from \"@internal/contract/hashing\";\nimport { asNamespaceId, coreHash, crossRef } from \"@internal/contract/types\";\nimport { mergeCapabilityMatrices } from \"@internal/contract-authoring\";\nimport { flushAuthoringWarnings, isAuthoringEntityTypeDescriptor } from \"@internal/framework-components/authoring\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { sqlContractCanonicalizationHooks } from \"@internal/sql-contract/canonicalization-hooks\";\nimport { tableEntityKind, valueSetEntityKind } from \"@internal/sql-contract/entity-kinds\";\nimport { materializeForeignKeysAndIndexes } from \"@internal/sql-contract/foreign-key-materialization\";\nimport { lowerAuthoredIndex } from \"@internal/sql-contract/index-naming\";\nimport { validateIndexTypes } from \"@internal/sql-contract/index-type-validation\";\nimport { createIndexTypeRegistry } from \"@internal/sql-contract/index-types\";\nimport { Index, SqlStorage, applyFkDefaults, toStorageTypeInstance } from \"@internal/sql-contract/types\";\nimport { validateStorageSemantics } from \"@internal/sql-contract/validators\";\nimport { deriveValueSetFromEntity } from \"@internal/sql-contract/value-set-derivation-hook\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { structuredError } from \"@internal/utils/structured-error\";\n//#region src/contract-errors.ts\nfunction contractError(code, message, options) {\n\treturn structuredError(code, message, options);\n}\n//#endregion\n//#region src/build-contract.ts\nfunction encodeViaCodec(value, codecId, codecLookup) {\n\tconst codec = codecLookup?.get(codecId);\n\tif (codec) return codec.encodeJson(value);\n\treturn blindCast(value);\n}\nfunction encodeColumnDefault(defaultInput, codecId, codecLookup, many = false) {\n\tif (defaultInput.kind === \"function\") return {\n\t\tkind: \"function\",\n\t\texpression: defaultInput.expression\n\t};\n\tif (many) {\n\t\tif (!Array.isArray(defaultInput.value)) throw new InternalError(`Literal default on a list column must be an array; received ${typeof defaultInput.value}. A scalar default on a list field must be rejected at the authoring surface.`);\n\t\treturn {\n\t\t\tkind: \"literal\",\n\t\t\tvalue: defaultInput.value.map((element) => encodeViaCodec(element, codecId, codecLookup))\n\t\t};\n\t}\n\treturn {\n\t\tkind: \"literal\",\n\t\tvalue: encodeViaCodec(defaultInput.value, codecId, codecLookup)\n\t};\n}\nfunction assertStorageSemantics(definition, contract) {\n\tconst semanticErrors = validateStorageSemantics(contract.storage);\n\tif (semanticErrors.length > 0) throw contractError(\"CONTRACT.VALIDATION_FAILED\", `Contract semantic validation failed: ${semanticErrors.join(\"; \")}`, { meta: { errors: semanticErrors } });\n\tconst indexTypeRegistry = createIndexTypeRegistry();\n\tconst packsToRegister = [definition.target, ...Object.values(definition.extensions ?? {})];\n\tfor (const pack of packsToRegister) {\n\t\tconst registration = pack.indexTypes;\n\t\tif (registration === void 0) continue;\n\t\tif (typeof registration !== \"object\" || registration === null || !Array.isArray(registration.entries)) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Pack \"${pack.id ?? \"<unknown>\"}\" declares \"indexTypes\" but its value is not an IndexTypeRegistration (expected an object with an \"entries\" array; got ${typeof registration}).`, { meta: {\n\t\t\tpackId: pack.id,\n\t\t\tcontribution: \"indexTypes\",\n\t\t\treason: \"invalid-shape\"\n\t\t} });\n\t\tfor (const entry of registration.entries) indexTypeRegistry.register(entry);\n\t}\n\tvalidateIndexTypes(contract, indexTypeRegistry);\n}\nfunction assertKnownTargetModel(modelsByName, modelsByCoordinate, sourceModelName, targetModelName, targetNamespaceId, context) {\n\tconst targetModel = targetNamespaceId !== void 0 && targetNamespaceId.length > 0 ? modelsByCoordinate.get(`${targetNamespaceId}:${targetModelName}`) : modelsByName.get(targetModelName);\n\tif (!targetModel) {\n\t\tconst qualified = targetNamespaceId !== void 0 && targetNamespaceId.length > 0 ? `${targetNamespaceId}.${targetModelName}` : targetModelName;\n\t\tthrow contractError(\"CONTRACT.MODEL_UNKNOWN\", `${context} on model \"${sourceModelName}\" references unknown model \"${qualified}\"`, { meta: {\n\t\t\tsourceModel: sourceModelName,\n\t\t\ttargetModel: qualified,\n\t\t\tcontext\n\t\t} });\n\t}\n\treturn targetModel;\n}\nfunction assertTargetTableMatches(sourceModelName, targetModel, referencedTableName, context) {\n\tif (targetModel.tableName !== referencedTableName) throw contractError(\"CONTRACT.TABLE_MISMATCH\", `${context} on model \"${sourceModelName}\" references table \"${referencedTableName}\" but model \"${targetModel.modelName}\" maps to \"${targetModel.tableName}\"`, { meta: {\n\t\tsourceModel: sourceModelName,\n\t\treferencedTable: referencedTableName,\n\t\tmappedTable: targetModel.tableName,\n\t\tcontext\n\t} });\n}\nfunction isValueObjectField(field) {\n\treturn \"valueObjectName\" in field;\n}\n/**\n* Resolves a deferred entity-ref column descriptor (e.g. a `pg.enum(handle)`\n* column) against the field's now-known owning namespace: attaches the\n* storage `valueSet` ref the collected entity's derived value-set is stored\n* under. `nativeType` / `typeParams.typeName` stay bare here — schema\n* qualification (e.g. `auth.aal_level`) is a target concern applied in the\n* next step, `qualifyColumnDescriptor`. A descriptor with no `entityRef` (the\n* ordinary case) passes through unchanged.\n*/\nfunction resolveEntityRefDescriptor(descriptor, namespaceId) {\n\tconst entityRef = descriptor.entityRef;\n\tif (entityRef === void 0) return descriptor;\n\treturn {\n\t\t...descriptor,\n\t\tvalueSet: {\n\t\t\tplane: \"storage\",\n\t\t\tentityKind: \"valueSet\",\n\t\t\tnamespaceId,\n\t\t\tentityName: entityRef.entityName\n\t\t}\n\t};\n}\n/**\n* Structural check for a target that contributes a `qualifyColumnType` hook\n* on its authoring contributions. Duck-typed (mirroring\n* `contract-psl`'s `hasColumnFromEntityHook`) so the SQL family stays blind\n* to the target's qualification logic and no framework/family interface has\n* to name the hook.\n*/\nfunction hasColumnTypeQualifier(authoring) {\n\treturn \"qualifyColumnType\" in authoring && typeof authoring.qualifyColumnType === \"function\";\n}\nfunction resolveColumnTypeQualifier(target) {\n\tconst authoring = target.authoring;\n\tif (authoring === void 0) return void 0;\n\treturn hasColumnTypeQualifier(authoring) ? authoring.qualifyColumnType : void 0;\n}\n/**\n* Applies the target's `qualifyColumnType` hook to a scalar column descriptor\n* at construction, so the storage column and the domain field (which derives\n* its `type.typeParams` from the storage column) are both built already\n* qualified in a single pass. A descriptor whose codec the target leaves\n* unchanged passes through untouched.\n*/\nfunction qualifyColumnDescriptor(descriptor, namespaceId, qualify) {\n\tif (qualify === void 0) return descriptor;\n\tconst qualified = qualify({\n\t\tcodecId: descriptor.codecId,\n\t\tnativeType: descriptor.nativeType,\n\t\t...ifDefined(\"typeParams\", descriptor.typeParams)\n\t}, namespaceId);\n\tif (qualified.nativeType === descriptor.nativeType && qualified.typeParams === descriptor.typeParams) return descriptor;\n\treturn {\n\t\t...descriptor,\n\t\tnativeType: qualified.nativeType,\n\t\t...ifDefined(\"typeParams\", qualified.typeParams)\n\t};\n}\n/**\n* Records a deferred column's entity-ref into the namespace-scoped collection\n* accumulator (`namespaceId → entityKind → entityName`) — folded into the same\n* namespace assembly `deriveEntityValueSets`/`entries.<kind>` step as the\n* entities-channel attachments, so a column-collected entity gets its\n* value-set the same way an entities-channel one does.\n*\n* The same handle reused by many columns in one namespace is normal (a native\n* enum type backs any number of columns) and records the identical entity once.\n* Two *different* entity instances sharing a name+kind in one namespace is a\n* name collision — the emitted `entries.valueSet.<name>` could only reflect one\n* of them, silently mismatching the other column's type/cast. PSL hard-errors\n* on the equivalent (`PSL_DUPLICATE_DECLARATION`); the TS path rejects it too.\n*/\nfunction collectEntityFromColumn(collected, namespaceId, entityRef) {\n\tconst forNs = collected[namespaceId] ?? {};\n\tconst forKind = forNs[entityRef.entityKind] ?? {};\n\tconst existing = forKind[entityRef.entityName];\n\tif (existing !== void 0 && existing !== entityRef.entity) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `buildSqlContractFromDefinition: two different \"${entityRef.entityKind}\" entities named \"${entityRef.entityName}\" in namespace \"${namespaceId}\" — pack-entity names must be unique per namespace.`, { meta: {\n\t\tkind: entityRef.entityKind,\n\t\tname: entityRef.entityName,\n\t\tnamespaceId\n\t} });\n\tforKind[entityRef.entityName] = entityRef.entity;\n\tforNs[entityRef.entityKind] = forKind;\n\tcollected[namespaceId] = forNs;\n}\n/**\n* Merges a namespace's entities-channel attachments (lowered from the\n* `entities` handle list, carried on `ContractDefinition.attachedEntities`)\n* with the entities collected from that namespace's deferred entity-ref\n* columns. A column-collected entity that shadows a *different* attached\n* entity of the same kind+name (or vice-versa) is the same name-collision bug\n* `collectEntityFromColumn` guards against across columns, so it is rejected\n* the same way — by entity identity, so the same handle attached and used by\n* a column does not throw.\n*/\nfunction mergeColumnAndAttachedEntities(namespaceId, attached, columnCollected) {\n\tif (attached === void 0) return columnCollected;\n\tif (columnCollected === void 0) return attached;\n\tconst kinds = /* @__PURE__ */ new Set([...Object.keys(attached), ...Object.keys(columnCollected)]);\n\tconst result = {};\n\tfor (const kind of kinds) {\n\t\tconst attachedForKind = attached[kind];\n\t\tconst columnForKind = columnCollected[kind];\n\t\tfor (const [name, entity] of Object.entries(columnForKind ?? {})) {\n\t\t\tconst existing = attachedForKind?.[name];\n\t\t\tif (existing !== void 0 && existing !== entity) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `buildSqlContractFromDefinition: two different \"${kind}\" entities named \"${name}\" in namespace \"${namespaceId}\" — a column-referenced entity conflicts with an attached one; pack-entity names must be unique per namespace.`, { meta: {\n\t\t\t\tkind,\n\t\t\t\tname,\n\t\t\t\tnamespaceId\n\t\t\t} });\n\t\t}\n\t\tresult[kind] = {\n\t\t\t...attachedForKind,\n\t\t\t...columnForKind\n\t\t};\n\t}\n\treturn result;\n}\nconst JSONB_CODEC_ID = \"pg/jsonb@1\";\nconst JSONB_NATIVE_TYPE = \"jsonb\";\nfunction resolveModelNamespaceId(model, modelNameToNamespaceId, defaultNamespaceId) {\n\tif (model.namespaceId !== void 0 && model.namespaceId.length > 0) return model.namespaceId;\n\treturn modelNameToNamespaceId.get(model.modelName) ?? defaultNamespaceId;\n}\nfunction buildThroughDescriptor(through, tableNamespaceByName, targetModel, modelName, fieldName, defaultNamespaceId) {\n\tif (!tableNamespaceByName.has(through.table)) throw contractError(\"CONTRACT.MODEL_UNKNOWN\", `buildSqlContractFromDefinition: junction table \"${through.table}\" for relation \"${modelName}.${fieldName}\" is not a declared model.`, { meta: {\n\t\tsourceModel: modelName,\n\t\trelationName: fieldName,\n\t\tjunctionTable: through.table\n\t} });\n\tconst namespaceId = through.namespaceId ?? defaultNamespaceId;\n\treturn {\n\t\ttable: through.table,\n\t\tnamespaceId,\n\t\tparentColumns: through.parentColumns,\n\t\tchildColumns: through.childColumns,\n\t\ttargetColumns: targetColumnsForJunction(targetModel, fieldName)\n\t};\n}\nfunction targetColumnsForJunction(targetModel, fieldName) {\n\tconst primaryKeyColumns = targetModel.id?.columns;\n\tif (primaryKeyColumns && primaryKeyColumns.length > 0) return primaryKeyColumns;\n\tconst firstUnique = targetModel.uniques?.find((u) => u.columns.length > 0);\n\tif (firstUnique) return firstUnique.columns;\n\tthrow contractError(\"CONTRACT.IDENTITY_INVALID\", `M:N target model \"${targetModel.modelName}\" (relation field \"${fieldName}\") has no primary id or unique key to derive junction targetColumns.`, { meta: {\n\t\tmodelName: targetModel.modelName,\n\t\treason: \"no-key-for-junction-target-columns\"\n\t} });\n}\nfunction buildStorageColumn(field, storageValueSetRef, codecLookup) {\n\tif (isValueObjectField(field)) {\n\t\tconst encodedDefault = field.default !== void 0 ? encodeColumnDefault(field.default, JSONB_CODEC_ID, codecLookup) : void 0;\n\t\treturn {\n\t\t\tnativeType: JSONB_NATIVE_TYPE,\n\t\t\tcodecId: JSONB_CODEC_ID,\n\t\t\tnullable: field.nullable,\n\t\t\t...ifDefined(\"default\", encodedDefault)\n\t\t};\n\t}\n\tconst codecId = field.descriptor.codecId;\n\tconst encodedDefault = field.default !== void 0 ? encodeColumnDefault(field.default, codecId, codecLookup, field.many === true) : void 0;\n\tconst valueSet = storageValueSetRef ?? field.descriptor.valueSet;\n\treturn {\n\t\tnativeType: field.descriptor.nativeType,\n\t\tcodecId,\n\t\tnullable: field.nullable,\n\t\t...field.many ? { many: true } : {},\n\t\t...ifDefined(\"typeParams\", field.descriptor.typeParams),\n\t\t...ifDefined(\"default\", encodedDefault),\n\t\t...ifDefined(\"typeRef\", field.descriptor.typeRef),\n\t\t...ifDefined(\"valueSet\", valueSet)\n\t};\n}\nfunction buildDomainField(field, column, domainValueSetRef) {\n\tif (isValueObjectField(field)) return {\n\t\ttype: {\n\t\t\tkind: \"valueObject\",\n\t\t\tname: field.valueObjectName\n\t\t},\n\t\tnullable: field.nullable,\n\t\t...field.many ? { many: true } : {}\n\t};\n\treturn {\n\t\ttype: {\n\t\t\tkind: \"scalar\",\n\t\t\tcodecId: column.codecId,\n\t\t\t...ifDefined(\"typeParams\", column.typeParams)\n\t\t},\n\t\tnullable: column.nullable,\n\t\t...field.many ? { many: true } : {},\n\t\t...ifDefined(\"valueSet\", domainValueSetRef)\n\t};\n}\nfunction collectStorageNamespaceCoordinateIds(definition) {\n\tconst ids = /* @__PURE__ */ new Set();\n\tids.add(definition.target.defaultNamespaceId);\n\tfor (const id of definition.namespaces ?? []) if (id.length > 0) ids.add(id);\n\tfor (const model of definition.models) if (model.namespaceId !== void 0 && model.namespaceId.length > 0) ids.add(model.namespaceId);\n\tfor (const id of Object.keys(definition.attachedEntities ?? {})) if (id.length > 0) ids.add(id);\n\treturn ids;\n}\n/**\n* Entry kinds the framework assembler itself manages (`table` from models,\n* `valueSet` from `enums` and attached-entity value-set derivation). A\n* pack-attached entity claiming one of these would silently clobber or be\n* clobbered by the managed slot, so it is rejected outright.\n*/\nconst MANAGED_ENTRY_KINDS = /* @__PURE__ */ new Set([tableEntityKind.kind, valueSetEntityKind.kind]);\nfunction assertNoManagedEntityKinds(namespaceId, entitiesForNs) {\n\tif (entitiesForNs === void 0) return;\n\tfor (const kind of Object.keys(entitiesForNs)) if (MANAGED_ENTRY_KINDS.has(kind)) throw contractError(\"CONTRACT.ENTITY_KIND_INVALID\", `buildSqlContractFromDefinition: attached entity in namespace \"${namespaceId}\" declares entry kind \"${kind}\", which is managed by the framework (table/valueSet) and cannot be attached.`, { meta: {\n\t\tentityKind: kind,\n\t\tnamespaceId\n\t} });\n}\n/**\n* Walks the flat `entityTypes` namespace tree contributed by the target pack\n* and every extension pack, indexing descriptors by their `discriminator` —\n* the same string a pack entity's entries-map key (`entries.<kind>`) uses.\n* Mirrors `contract-psl`'s `buildEntityTypesByDiscriminator`, recomposed here\n* from the packs `ContractDefinition` already carries (`target` +\n* `extensions`) since the TS assembler has no single pre-merged\n* `AuthoringContributions` input to read the way the PSL interpreter does.\n*/\nfunction collectEntityTypeDescriptorsByDiscriminator(definition) {\n\tconst result = /* @__PURE__ */ new Map();\n\tconst walk = (namespace) => {\n\t\tfor (const value of Object.values(namespace)) if (isAuthoringEntityTypeDescriptor(value)) result.set(value.discriminator, value);\n\t\telse walk(value);\n\t};\n\tconst components = [definition.target, ...Object.values(definition.extensions ?? {})];\n\tfor (const component of components) {\n\t\tconst entityTypes = component.authoring?.entityTypes;\n\t\tif (entityTypes !== void 0) walk(entityTypes);\n\t}\n\treturn result;\n}\n/**\n* Derives value-sets for every pack entity declared in one namespace,\n* reusing the same `SqlValueSetDerivingEntityTypeOutput.deriveValueSet` hook\n* `contract-psl`'s `lowerExtensionBlocksForNamespace` folds into\n* `entries.valueSet` on the PSL path — so a TS-attached entity (e.g. a\n* native enum) gets its value-set the same way. Entity kinds with no\n* registered descriptor, or whose descriptor output doesn't derive a\n* value-set, contribute nothing.\n*/\nfunction deriveEntityValueSets(entitiesForNs, entityTypesByDiscriminator) {\n\tif (entitiesForNs === void 0) return void 0;\n\tlet result;\n\tfor (const [kind, entitiesByName] of Object.entries(entitiesForNs)) {\n\t\tconst descriptor = entityTypesByDiscriminator.get(kind);\n\t\tif (descriptor === void 0) continue;\n\t\tfor (const [name, entity] of Object.entries(entitiesByName)) {\n\t\t\tconst derivedValueSet = deriveValueSetFromEntity(descriptor.output, entity);\n\t\t\tif (derivedValueSet === void 0) continue;\n\t\t\tresult ??= {};\n\t\t\tresult[name] = derivedValueSet;\n\t\t}\n\t}\n\treturn result;\n}\n/**\n* Merges a namespace's `enumType()`-derived value-sets with its pack-entity-\n* derived value-sets. Both land in the same `entries.valueSet[name]` slot —\n* which drives value-set → codec typing and the domain-enum CHECK — so a\n* same-named entry in both would let one silently overwrite the other and\n* corrupt whichever column resolves against it. The same collision class the\n* `mergeColumnAndAttachedEntities` guard rejects; the PSL path already hard-errors\n* on the equivalent (`interpretPslDocumentToSqlContract`). Reject it here too.\n*/\nfunction mergeNamespaceValueSets(namespaceId, enumValueSets, packValueSets) {\n\tif (enumValueSets !== void 0 && packValueSets !== void 0) {\n\t\tfor (const name of Object.keys(packValueSets)) if (Object.hasOwn(enumValueSets, name)) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `buildSqlContractFromDefinition: value-set \"${name}\" in namespace \"${namespaceId}\" is derived from both an enum and a pack entity — names must be unique per namespace.`, { meta: {\n\t\t\tkind: \"valueSet\",\n\t\t\tname,\n\t\t\tnamespaceId\n\t\t} });\n\t}\n\treturn {\n\t\t...enumValueSets,\n\t\t...packValueSets\n\t};\n}\nfunction ensureUnboundNamespaceSlot(namespaces, createNamespace) {\n\tif (Object.hasOwn(namespaces, UNBOUND_NAMESPACE_ID)) return namespaces;\n\tconst unbound = createNamespace({\n\t\tid: UNBOUND_NAMESPACE_ID,\n\t\tentries: { table: {} }\n\t});\n\treturn {\n\t\t[UNBOUND_NAMESPACE_ID]: unbound,\n\t\t...namespaces\n\t};\n}\nfunction buildSqlContractFromDefinition(definition, codecLookup) {\n\tconst target = definition.target.targetId;\n\tconst defaultNamespaceId = definition.target.defaultNamespaceId;\n\tconst qualifyColumnType = resolveColumnTypeQualifier(definition.target);\n\tconst targetFamily = \"sql\";\n\tconst resolveNamespaceId = (m) => m.namespaceId !== void 0 && m.namespaceId.length > 0 ? m.namespaceId : defaultNamespaceId;\n\tconst modelsByName = new Map(definition.models.map((m) => [m.modelName, m]));\n\tconst tableNamespaceByName = new Map(definition.models.map((m) => [m.tableName, m.namespaceId !== void 0 && m.namespaceId.length > 0 ? m.namespaceId : defaultNamespaceId]));\n\tconst modelsByCoordinate = new Map(definition.models.map((m) => [`${resolveNamespaceId(m)}:${m.modelName}`, m]));\n\tconst tablesByNamespace = {};\n\tconst authoringWarnings = [...definition.warnings ?? []];\n\tconst modelNameToNamespaceId = /* @__PURE__ */ new Map();\n\tconst executionDefaults = [];\n\tconst modelsByNamespace = {};\n\tconst collectedColumnEntities = {};\n\tconst rootEntries = [];\n\tfor (const semanticModel of definition.models) {\n\t\tconst tableName = semanticModel.tableName;\n\t\tconst namespaceId = semanticModel.namespaceId !== void 0 && semanticModel.namespaceId.length > 0 ? semanticModel.namespaceId : defaultNamespaceId;\n\t\tmodelNameToNamespaceId.set(semanticModel.modelName, namespaceId);\n\t\tif (!semanticModel.sharesBaseTable) rootEntries.push({\n\t\t\ttableName,\n\t\t\tnamespaceId,\n\t\t\tref: crossRef(semanticModel.modelName, namespaceId)\n\t\t});\n\t\tconst columns = {};\n\t\tconst fieldToColumn = {};\n\t\tconst domainFields = {};\n\t\tconst domainFieldRefs = {};\n\t\tconst checksForTable = [];\n\t\tfor (const field of semanticModel.fields) {\n\t\t\tconst executionDefaultPhases = field.executionDefaults?.onCreate || field.executionDefaults?.onUpdate ? field.executionDefaults : void 0;\n\t\t\tif (executionDefaultPhases) {\n\t\t\t\tif (field.default !== void 0) throw contractError(\"CONTRACT.DEFAULT_INVALID\", `Field \"${semanticModel.modelName}.${field.fieldName}\" cannot define both default and executionDefaults.`, { meta: {\n\t\t\t\t\tmodelName: semanticModel.modelName,\n\t\t\t\t\tfieldName: field.fieldName,\n\t\t\t\t\treason: \"default-and-executionDefaults\"\n\t\t\t\t} });\n\t\t\t\tif (field.nullable) throw contractError(\"CONTRACT.DEFAULT_INVALID\", `Field \"${semanticModel.modelName}.${field.fieldName}\" cannot be nullable when executionDefaults are present.`, { meta: {\n\t\t\t\t\tmodelName: semanticModel.modelName,\n\t\t\t\t\tfieldName: field.fieldName,\n\t\t\t\t\treason: \"nullable-with-executionDefaults\"\n\t\t\t\t} });\n\t\t\t}\n\t\t\tconst enumHandle = !isValueObjectField(field) ? field.enumTypeHandle : void 0;\n\t\t\tconst storageValueSetRef = enumHandle !== void 0 ? {\n\t\t\t\tplane: \"storage\",\n\t\t\t\tentityKind: \"valueSet\",\n\t\t\t\tnamespaceId: defaultNamespaceId,\n\t\t\t\tentityName: enumHandle.enumName\n\t\t\t} : void 0;\n\t\t\tconst domainValueSetRef = enumHandle !== void 0 ? {\n\t\t\t\tplane: \"domain\",\n\t\t\t\tentityKind: \"enum\",\n\t\t\t\tnamespaceId: defaultNamespaceId,\n\t\t\t\tentityName: enumHandle.enumName\n\t\t\t} : void 0;\n\t\t\tlet resolvedField = field;\n\t\t\tif (!isValueObjectField(field)) {\n\t\t\t\tlet descriptor = field.descriptor;\n\t\t\t\tconst entityRef = descriptor.entityRef;\n\t\t\t\tif (entityRef !== void 0) {\n\t\t\t\t\tcollectEntityFromColumn(collectedColumnEntities, namespaceId, entityRef);\n\t\t\t\t\tdescriptor = resolveEntityRefDescriptor(descriptor, namespaceId);\n\t\t\t\t}\n\t\t\t\tdescriptor = qualifyColumnDescriptor(descriptor, namespaceId, qualifyColumnType);\n\t\t\t\tif (descriptor !== field.descriptor) resolvedField = {\n\t\t\t\t\t...field,\n\t\t\t\t\tdescriptor\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst column = buildStorageColumn(resolvedField, storageValueSetRef, codecLookup);\n\t\t\tcolumns[field.columnName] = column;\n\t\t\tfieldToColumn[field.fieldName] = field.columnName;\n\t\t\tif (column.valueSet !== void 0 && storageValueSetRef !== void 0) checksForTable.push({\n\t\t\t\tname: `${tableName}_${field.columnName}_check`,\n\t\t\t\tcolumn: field.columnName,\n\t\t\t\tvalueSet: column.valueSet\n\t\t\t});\n\t\t\tdomainFields[field.fieldName] = buildDomainField(field, column, domainValueSetRef);\n\t\t\tif (isValueObjectField(field)) domainFieldRefs[field.fieldName] = {\n\t\t\t\tkind: \"valueObject\",\n\t\t\t\tname: field.valueObjectName,\n\t\t\t\t...field.many ? { many: true } : {}\n\t\t\t};\n\t\t\telse if (field.many) domainFieldRefs[field.fieldName] = {\n\t\t\t\tkind: \"scalar\",\n\t\t\t\tmany: true\n\t\t\t};\n\t\t\tif (executionDefaultPhases) executionDefaults.push({\n\t\t\t\tref: {\n\t\t\t\t\tnamespace: namespaceId,\n\t\t\t\t\ttable: tableName,\n\t\t\t\t\tcolumn: field.columnName\n\t\t\t\t},\n\t\t\t\t...ifDefined(\"onCreate\", executionDefaultPhases.onCreate),\n\t\t\t\t...ifDefined(\"onUpdate\", executionDefaultPhases.onUpdate)\n\t\t\t});\n\t\t}\n\t\tconst authoringForeignKeys = (semanticModel.foreignKeys ?? []).map((fk) => {\n\t\t\tif (fk.references.spaceId !== void 0) {\n\t\t\t\tconst targetNamespaceId = fk.references.namespaceId ?? defaultNamespaceId;\n\t\t\t\treturn {\n\t\t\t\t\tsource: {\n\t\t\t\t\t\tnamespaceId: asNamespaceId(namespaceId),\n\t\t\t\t\t\ttableName,\n\t\t\t\t\t\tcolumns: fk.columns\n\t\t\t\t\t},\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tnamespaceId: asNamespaceId(targetNamespaceId),\n\t\t\t\t\t\ttableName: fk.references.table,\n\t\t\t\t\t\tcolumns: fk.references.columns,\n\t\t\t\t\t\tspaceId: fk.references.spaceId\n\t\t\t\t\t},\n\t\t\t\t\t...applyFkDefaults({\n\t\t\t\t\t\t...ifDefined(\"constraint\", fk.constraint),\n\t\t\t\t\t\t...ifDefined(\"index\", fk.index)\n\t\t\t\t\t}, definition.foreignKeyDefaults),\n\t\t\t\t\t...ifDefined(\"name\", fk.name),\n\t\t\t\t\t...ifDefined(\"onDelete\", fk.onDelete),\n\t\t\t\t\t...ifDefined(\"onUpdate\", fk.onUpdate)\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst targetModel = assertKnownTargetModel(modelsByName, modelsByCoordinate, semanticModel.modelName, fk.references.model, fk.references.namespaceId, \"Foreign key\");\n\t\t\tassertTargetTableMatches(semanticModel.modelName, targetModel, fk.references.table, \"Foreign key\");\n\t\t\tconst targetNamespaceId = fk.references.namespaceId ?? (targetModel.namespaceId !== void 0 && targetModel.namespaceId.length > 0 ? targetModel.namespaceId : defaultNamespaceId);\n\t\t\treturn {\n\t\t\t\tsource: {\n\t\t\t\t\tnamespaceId: asNamespaceId(namespaceId),\n\t\t\t\t\ttableName,\n\t\t\t\t\tcolumns: fk.columns\n\t\t\t\t},\n\t\t\t\ttarget: {\n\t\t\t\t\tnamespaceId: asNamespaceId(targetNamespaceId),\n\t\t\t\t\ttableName: fk.references.table,\n\t\t\t\t\tcolumns: fk.references.columns\n\t\t\t\t},\n\t\t\t\t...applyFkDefaults({\n\t\t\t\t\t...ifDefined(\"constraint\", fk.constraint),\n\t\t\t\t\t...ifDefined(\"index\", fk.index)\n\t\t\t\t}, definition.foreignKeyDefaults),\n\t\t\t\t...ifDefined(\"name\", fk.name),\n\t\t\t\t...ifDefined(\"onDelete\", fk.onDelete),\n\t\t\t\t...ifDefined(\"onUpdate\", fk.onUpdate)\n\t\t\t};\n\t\t});\n\t\tif (!semanticModel.sharesBaseTable) {\n\t\t\tconst uniques = (semanticModel.uniques ?? []).map((u) => ({\n\t\t\t\tcolumns: u.columns,\n\t\t\t\t...ifDefined(\"name\", u.name)\n\t\t\t}));\n\t\t\tconst declaredIndexes = (semanticModel.indexes ?? []).map((i) => lowerAuthoredIndex(tableName, blindCast({\n\t\t\t\t...ifDefined(\"columns\", i.columns),\n\t\t\t\t...ifDefined(\"expression\", i.expression),\n\t\t\t\twhere: i.where,\n\t\t\t\tunique: i.unique,\n\t\t\t\tmap: i.map,\n\t\t\t\tname: i.name,\n\t\t\t\ttype: i.type,\n\t\t\t\toptions: i.options\n\t\t\t}), authoringWarnings));\n\t\t\tconst primaryKey = semanticModel.id ? {\n\t\t\t\tcolumns: semanticModel.id.columns,\n\t\t\t\t...ifDefined(\"name\", semanticModel.id.name)\n\t\t\t} : void 0;\n\t\t\tconst { foreignKeys, indexes } = materializeForeignKeysAndIndexes(tableName, authoringForeignKeys, declaredIndexes, uniques, primaryKey);\n\t\t\tconst tableInput = {\n\t\t\t\tcolumns,\n\t\t\t\t...ifDefined(\"control\", semanticModel.control),\n\t\t\t\tuniques,\n\t\t\t\tindexes: indexes.map((i) => new Index(i)),\n\t\t\t\tforeignKeys,\n\t\t\t\t...primaryKey ? { primaryKey } : {},\n\t\t\t\t...checksForTable.length > 0 ? { checks: checksForTable } : {}\n\t\t\t};\n\t\t\tlet nsTables = tablesByNamespace[namespaceId];\n\t\t\tif (nsTables === void 0) {\n\t\t\t\tnsTables = {};\n\t\t\t\ttablesByNamespace[namespaceId] = nsTables;\n\t\t\t}\n\t\t\tif (nsTables[tableName] !== void 0) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `buildSqlContractFromDefinition: duplicate table \"${tableName}\" in namespace \"${namespaceId}\".`, { meta: {\n\t\t\t\tkind: \"table\",\n\t\t\t\tname: tableName,\n\t\t\t\tnamespaceId\n\t\t\t} });\n\t\t\tnsTables[tableName] = tableInput;\n\t\t}\n\t\tconst storageFields = {};\n\t\tfor (const [fieldName, columnName] of Object.entries(fieldToColumn)) storageFields[fieldName] = { column: columnName };\n\t\tconst columnToField = new Map(Object.entries(fieldToColumn).map(([field, col]) => [col, field]));\n\t\tconst modelRelations = {};\n\t\tfor (const relation of semanticModel.relations ?? []) {\n\t\t\tif (relation.spaceId !== void 0) {\n\t\t\t\tconst targetNamespaceId = relation.namespaceId ?? defaultNamespaceId;\n\t\t\t\tmodelRelations[relation.fieldName] = {\n\t\t\t\t\tto: crossRef(relation.toModel, targetNamespaceId, relation.spaceId),\n\t\t\t\t\tcardinality: \"N:1\",\n\t\t\t\t\ton: {\n\t\t\t\t\t\tlocalFields: relation.on.parentColumns.map((col) => columnToField.get(col) ?? col),\n\t\t\t\t\t\ttargetFields: relation.on.childColumns\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst targetModel = assertKnownTargetModel(modelsByName, modelsByCoordinate, semanticModel.modelName, relation.toModel, relation.toNamespaceId, \"Relation\");\n\t\t\tassertTargetTableMatches(semanticModel.modelName, targetModel, relation.toTable, \"Relation\");\n\t\t\tconst targetColumnToField = new Map(targetModel.fields.map((f) => [f.columnName, f.fieldName]));\n\t\t\tconst to = crossRef(relation.toModel, relation.toNamespaceId !== void 0 && relation.toNamespaceId.length > 0 ? relation.toNamespaceId : resolveModelNamespaceId(targetModel, modelNameToNamespaceId, defaultNamespaceId));\n\t\t\tconst on = {\n\t\t\t\tlocalFields: relation.on.parentColumns.map((col) => columnToField.get(col) ?? col),\n\t\t\t\ttargetFields: relation.on.childColumns.map((col) => targetColumnToField.get(col) ?? col)\n\t\t\t};\n\t\t\tif (relation.cardinality === \"N:M\") {\n\t\t\t\tif (!relation.through) throw contractError(\"CONTRACT.RELATION_INVALID\", `Relation \"${semanticModel.modelName}.${relation.fieldName}\" with cardinality \"N:M\" requires through metadata`, { meta: {\n\t\t\t\t\tmodelName: semanticModel.modelName,\n\t\t\t\t\trelationName: relation.fieldName,\n\t\t\t\t\treason: \"many-to-many-missing-through\"\n\t\t\t\t} });\n\t\t\t\tmodelRelations[relation.fieldName] = {\n\t\t\t\t\tto,\n\t\t\t\t\tcardinality: \"N:M\",\n\t\t\t\t\ton,\n\t\t\t\t\tthrough: buildThroughDescriptor(relation.through, tableNamespaceByName, targetModel, semanticModel.modelName, relation.fieldName, defaultNamespaceId)\n\t\t\t\t};\n\t\t\t} else modelRelations[relation.fieldName] = {\n\t\t\t\tto,\n\t\t\t\tcardinality: relation.cardinality,\n\t\t\t\ton\n\t\t\t};\n\t\t}\n\t\tlet namespaceModels = modelsByNamespace[namespaceId];\n\t\tif (namespaceModels === void 0) {\n\t\t\tnamespaceModels = {};\n\t\t\tmodelsByNamespace[namespaceId] = namespaceModels;\n\t\t}\n\t\tnamespaceModels[semanticModel.modelName] = {\n\t\t\tstorage: {\n\t\t\t\ttable: tableName,\n\t\t\t\tnamespaceId,\n\t\t\t\tfields: storageFields\n\t\t\t},\n\t\t\tfields: domainFields,\n\t\t\trelations: modelRelations\n\t\t};\n\t}\n\tconst rootTableNameCounts = /* @__PURE__ */ new Map();\n\tfor (const entry of rootEntries) rootTableNameCounts.set(entry.tableName, (rootTableNameCounts.get(entry.tableName) ?? 0) + 1);\n\tconst roots = {};\n\tfor (const entry of rootEntries) {\n\t\tconst key = (rootTableNameCounts.get(entry.tableName) ?? 0) > 1 ? `${entry.namespaceId}.${entry.tableName}` : entry.tableName;\n\t\troots[key] = entry.ref;\n\t}\n\tconst rawStorageTypes = definition.storageTypes ?? {};\n\tconst documentTypes = Object.fromEntries(Object.entries(rawStorageTypes).map(([name, entry]) => {\n\t\tif (entry.kind === \"codec-instance\") return [name, entry];\n\t\treturn [name, toStorageTypeInstance({\n\t\t\tcodecId: entry.codecId,\n\t\t\tnativeType: entry.nativeType,\n\t\t\ttypeParams: entry.typeParams ?? {}\n\t\t})];\n\t}));\n\tconst namespaceCoordinateIds = collectStorageNamespaceCoordinateIds(definition);\n\tconst domainEnumsByNs = {};\n\tconst storageValueSetsByNs = {};\n\tfor (const [enumName, handle] of Object.entries(definition.enums ?? {})) {\n\t\tif (enumName !== handle.enumName) throw contractError(\"CONTRACT.ENUM_INVALID\", `enum declaration key \"${enumName}\" must match enumType name \"${handle.enumName}\". Aliases are not supported.`, { meta: {\n\t\t\tenumName: handle.enumName,\n\t\t\tdeclarationKey: enumName,\n\t\t\treason: \"key-name-mismatch\"\n\t\t} });\n\t\tconst nsId = defaultNamespaceId;\n\t\tlet domainSlot = domainEnumsByNs[nsId];\n\t\tif (domainSlot === void 0) {\n\t\t\tdomainSlot = {};\n\t\t\tdomainEnumsByNs[nsId] = domainSlot;\n\t\t}\n\t\tdomainSlot[enumName] = {\n\t\t\tcodecId: handle.codecId,\n\t\t\tmembers: handle.enumMembers.map((m) => ({\n\t\t\t\tname: m.name,\n\t\t\t\tvalue: encodeViaCodec(m.value, handle.codecId, codecLookup)\n\t\t\t}))\n\t\t};\n\t\tlet storageSlot = storageValueSetsByNs[nsId];\n\t\tif (storageSlot === void 0) {\n\t\t\tstorageSlot = {};\n\t\t\tstorageValueSetsByNs[nsId] = storageSlot;\n\t\t}\n\t\tstorageSlot[enumName] = {\n\t\t\tkind: \"valueSet\",\n\t\t\tvalues: handle.values.map((v) => encodeViaCodec(v, handle.codecId, codecLookup))\n\t\t};\n\t}\n\tconst { createNamespace } = definition;\n\tconst entityTypesByDiscriminator = collectEntityTypeDescriptorsByDiscriminator(definition);\n\tconst namespaces = Object.fromEntries([...namespaceCoordinateIds].sort().map((id) => {\n\t\tconst entitiesForNs = mergeColumnAndAttachedEntities(id, definition.attachedEntities?.[id], collectedColumnEntities[id]);\n\t\tassertNoManagedEntityKinds(id, entitiesForNs);\n\t\tconst enumValueSetEntries = storageValueSetsByNs[id];\n\t\tconst packValueSetEntries = deriveEntityValueSets(entitiesForNs, entityTypesByDiscriminator);\n\t\tconst valueSetEntries = enumValueSetEntries !== void 0 || packValueSetEntries !== void 0 ? mergeNamespaceValueSets(id, enumValueSetEntries, packValueSetEntries) : void 0;\n\t\tconst nsInput = {\n\t\t\tid,\n\t\t\tentries: {\n\t\t\t\ttable: tablesByNamespace[id] ?? {},\n\t\t\t\t...entitiesForNs,\n\t\t\t\t...valueSetEntries !== void 0 && Object.keys(valueSetEntries).length > 0 ? { valueSet: valueSetEntries } : {}\n\t\t\t}\n\t\t};\n\t\treturn [id, createNamespace(nsInput)];\n\t}));\n\tconst storageWithoutHash = {\n\t\t...Object.keys(documentTypes).length > 0 ? { types: documentTypes } : {},\n\t\tnamespaces: defaultNamespaceId === UNBOUND_NAMESPACE_ID ? ensureUnboundNamespaceSlot(namespaces, createNamespace) : namespaces\n\t};\n\tconst storageHash = definition.storageHash ? coreHash(definition.storageHash) : computeStorageHash({\n\t\ttarget,\n\t\ttargetFamily,\n\t\tstorage: storageWithoutHash,\n\t\t...sqlContractCanonicalizationHooks\n\t});\n\tconst storage = new SqlStorage({\n\t\t...storageWithoutHash,\n\t\tstorageHash\n\t});\n\tconst executionSection = executionDefaults.length > 0 ? { mutations: { defaults: executionDefaults.sort((a, b) => {\n\t\tconst tableCompare = a.ref.table.localeCompare(b.ref.table);\n\t\tif (tableCompare !== 0) return tableCompare;\n\t\treturn a.ref.column.localeCompare(b.ref.column);\n\t}) } } : void 0;\n\tconst extensionNamespaces = definition.extensions ? Object.values(definition.extensions).map((pack) => pack.id) : void 0;\n\tconst extensions = { ...definition.extensions || {} };\n\tif (extensionNamespaces) {\n\t\tfor (const namespace of extensionNamespaces) if (!Object.hasOwn(extensions, namespace)) extensions[namespace] = {};\n\t}\n\tconst extensionPackCapabilitySources = definition.extensions ? Object.values(definition.extensions).map((pack) => pack.capabilities) : [];\n\tconst capabilities = mergeCapabilityMatrices(definition.target.capabilities, ...extensionPackCapabilitySources);\n\tconst profileHash = computeProfileHash({\n\t\ttarget,\n\t\ttargetFamily,\n\t\tcapabilities: {}\n\t});\n\tconst executionWithHash = executionSection ? {\n\t\t...executionSection,\n\t\texecutionHash: computeExecutionHash({\n\t\t\ttarget,\n\t\t\ttargetFamily,\n\t\t\texecution: executionSection\n\t\t})\n\t} : void 0;\n\tconst valueObjects = definition.valueObjects && definition.valueObjects.length > 0 ? Object.fromEntries(definition.valueObjects.map((vo) => [vo.name, { fields: Object.fromEntries(vo.fields.map((f) => [f.fieldName, isValueObjectField(f) ? {\n\t\ttype: {\n\t\t\tkind: \"valueObject\",\n\t\t\tname: f.valueObjectName\n\t\t},\n\t\tnullable: f.nullable,\n\t\t...f.many ? { many: true } : {}\n\t} : {\n\t\ttype: {\n\t\t\tkind: \"scalar\",\n\t\t\tcodecId: f.descriptor.codecId,\n\t\t\t...ifDefined(\"typeParams\", f.descriptor.typeParams)\n\t\t},\n\t\tnullable: f.nullable\n\t}])) }])) : void 0;\n\tconst domainNamespaceIds = new Set(Object.keys(modelsByNamespace));\n\tif (domainNamespaceIds.size === 0) domainNamespaceIds.add(defaultNamespaceId);\n\tif (valueObjects !== void 0) domainNamespaceIds.add(defaultNamespaceId);\n\tfor (const nsId of Object.keys(domainEnumsByNs)) domainNamespaceIds.add(nsId);\n\tconst domainNamespaces = Object.fromEntries([...domainNamespaceIds].sort().map((namespaceId) => {\n\t\tconst modelsInNs = modelsByNamespace[namespaceId] ?? {};\n\t\tconst enumsInNs = domainEnumsByNs[namespaceId];\n\t\treturn [namespaceId, {\n\t\t\tmodels: modelsInNs,\n\t\t\t...namespaceId === defaultNamespaceId && valueObjects !== void 0 ? { valueObjects } : {},\n\t\t\t...enumsInNs !== void 0 && Object.keys(enumsInNs).length > 0 ? { enum: enumsInNs } : {}\n\t\t}];\n\t}));\n\tconst contract = {\n\t\ttarget,\n\t\ttargetFamily,\n\t\t...ifDefined(\"defaultControlPolicy\", definition.defaultControlPolicy),\n\t\tdomain: { namespaces: domainNamespaces },\n\t\troots,\n\t\tstorage,\n\t\t...executionWithHash ? { execution: executionWithHash } : {},\n\t\textensions,\n\t\tcapabilities,\n\t\tprofileHash,\n\t\tmeta: {}\n\t};\n\tassertStorageSemantics(definition, contract);\n\tflushAuthoringWarnings(authoringWarnings);\n\treturn contract;\n}\n//#endregion\nexport { contractError as n, buildSqlContractFromDefinition as t };\n\n//# sourceMappingURL=build-contract-DBCz_YSs.mjs.map"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { a as Expression, u as ScopeField } from "./expression-DIf8F4Mc.mjs";
|
|
2
|
+
import { c as GroupedQuery, d as QueryContext, f as ResolveRow, h as Subquery, i as DeleteQuery, l as InsertQuery, m as SelectQuery, o as Functions, p as Scope, r as Db, s as GatedMethod, t as AggregateFunctions, v as TableProxy, x as UpdateQuery } from "./db-DhMsmBS--DKENDi3l.mjs";
|
|
3
|
+
export type { AggregateFunctions, Db, DeleteQuery, Expression, Functions, GatedMethod, GroupedQuery, InsertQuery, QueryContext, ResolveRow, Scope, ScopeField, SelectQuery, Subquery, TableProxy, UpdateQuery };
|
package/dist/builder.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { c as SqlStorage } from "./sql-storage-B0QwiTg6-B8DVctJm.mjs";
|
|
2
|
+
import "./types-BchwQpmO.mjs";
|
|
3
|
+
import { i as SqlOperationEntry } from "./index-BgaTJRxj.mjs";
|
|
4
|
+
import { o as AnyExpression } from "./types-DIBA80mc-wf5wLmON.mjs";
|
|
5
|
+
import "./ast-DSuzmsWn.mjs";
|
|
6
|
+
import { a as Expression, o as RawCodecInferer, u as ScopeField } from "./expression-DIf8F4Mc.mjs";
|
|
7
|
+
import { a as FieldProxy, d as QueryContext, o as Functions, p as Scope, r as Db, t as AggregateFunctions, y as TableProxyContract } from "./db-DhMsmBS--DKENDi3l.mjs";
|
|
8
|
+
import { r as ExecutionContext } from "./query-lane-context-DtdVMqoz-C2Tj5QHA.mjs";
|
|
9
|
+
import "./query-lane-context-Bz8XJZ45.mjs";
|
|
10
|
+
import { Contract } from "@prisma/orm-framework/contract/types";
|
|
11
|
+
import { CodecRef } from "@prisma/orm-framework/components/codec";
|
|
12
|
+
//#region ../../../2-sql/4-lanes/sql-builder/dist/runtime/index.d.mts
|
|
13
|
+
//#region src/runtime/expression-impl.d.ts
|
|
14
|
+
/**
|
|
15
|
+
* Runtime wrapper around a relational-core AST expression node. Carries ScopeField metadata (codecId, nullable) so aggregate-like combinators can propagate the input codec onto their result.
|
|
16
|
+
*
|
|
17
|
+
* `codec` records the column-bound {@link CodecRef} when the field-proxy knows the binding — both the namespaced form (`f.user.email` → `ColumnRef`) and the top-level shortcut (`f.email` → `IdentifierRef`) stamp the ref derived from contract storage. `codecOf(expression)` exposes it for operation implementations forwarding the ref to `toExpr`.
|
|
18
|
+
*/
|
|
19
|
+
declare class ExpressionImpl<T extends ScopeField = ScopeField> implements Expression<T> {
|
|
20
|
+
private readonly ast;
|
|
21
|
+
readonly returnType: T;
|
|
22
|
+
readonly codec: CodecRef | undefined;
|
|
23
|
+
constructor(ast: AnyExpression, returnType: T, codec?: CodecRef);
|
|
24
|
+
buildAst(): AnyExpression;
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region src/runtime/field-proxy.d.ts
|
|
28
|
+
declare function createFieldProxy<S extends Scope>(scope: S): FieldProxy<S>;
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/runtime/functions.d.ts
|
|
31
|
+
declare function createFunctions<QC extends QueryContext>(operations: Readonly<Record<string, SqlOperationEntry>>, rawCodecInferer: RawCodecInferer): Functions<QC>;
|
|
32
|
+
declare function createAggregateFunctions<QC extends QueryContext>(operations: Readonly<Record<string, SqlOperationEntry>>, rawCodecInferer: RawCodecInferer): AggregateFunctions<QC>;
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/runtime/sql.d.ts
|
|
35
|
+
interface SqlOptions<C extends Contract<SqlStorage> & TableProxyContract> {
|
|
36
|
+
readonly context: ExecutionContext<C>;
|
|
37
|
+
readonly rawCodecInferer: RawCodecInferer;
|
|
38
|
+
}
|
|
39
|
+
declare function sql<C extends Contract<SqlStorage> & TableProxyContract>(options: SqlOptions<C>): Db<C>;
|
|
40
|
+
//#endregion
|
|
41
|
+
export { type Db, ExpressionImpl, type SqlOptions, createAggregateFunctions, createFieldProxy, createFunctions, sql };
|
|
42
|
+
//# sourceMappingURL=builder__runtime.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder__runtime.d.mts","names":[],"sources":["../../../../2-sql/4-lanes/sql-builder/dist/runtime/index.d.mts"],"mappings":";;;;;;;;;;;;;;;;;;cAcc,eAAe,UAAU,aAAa,uBAAuB,WAAW;mBACnE;WACR,YAAY;WACZ,OAAO;EAChB,YAAY,KAAK,eAAe,YAAY,GAAG,QAAQ;EACvD,YAAY;;;;iBAIG,iBAAiB,UAAU,OAAO,OAAO,IAAI,WAAW;;;iBAGxD,gBAAgB,WAAW,cAAc,YAAY,SAAS,eAAe,qBAAqB,iBAAiB,kBAAkB,UAAU;iBAC/I,yBAAyB,WAAW,cAAc,YAAY,SAAS,eAAe,qBAAqB,iBAAiB,kBAAkB,mBAAmB;;;UAGxK,WAAW,UAAU,SAAS,cAAc;WAC3C,SAAS,iBAAiB;WAC1B,iBAAiB;;iBAEX,IAAI,UAAU,SAAS,cAAc,oBAAoB,SAAS,WAAW,KAAK,GAAG"}
|