@prisma/orm-family-sql 8.0.0-rc.18-dev.6 → 8.0.0-rc.18-dev.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ast-De8XGuVW.mjs → ast-BDwGvnKK.mjs} +4 -30
- package/dist/ast-BDwGvnKK.mjs.map +1 -0
- package/dist/{ast-Dp6lQXUX.d.mts → ast-DbmdIKFd.d.mts} +6 -14
- package/dist/ast-DbmdIKFd.d.mts.map +1 -0
- package/dist/{attribute-specs-BgdwJoq3.d.mts → attribute-specs-CKg3a2P_.d.mts} +3 -3
- package/dist/{attribute-specs-BgdwJoq3.d.mts.map → attribute-specs-CKg3a2P_.d.mts.map} +1 -1
- package/dist/{authoring-entity-types-CZ-vdwYS-CrNb3aBC.d.mts → authoring-entity-types-CZ-vdwYS-Cc7JCJ0Q.d.mts} +2 -2
- package/dist/{authoring-entity-types-CZ-vdwYS-CrNb3aBC.d.mts.map → authoring-entity-types-CZ-vdwYS-Cc7JCJ0Q.d.mts.map} +1 -1
- package/dist/{authoring-type-constructors-0Iv2zdwS-zu35z-Tg.mjs → authoring-type-constructors-0Iv2zdwS-BG0FZNDM.mjs} +2 -2
- package/dist/{authoring-type-constructors-0Iv2zdwS-zu35z-Tg.mjs.map → authoring-type-constructors-0Iv2zdwS-BG0FZNDM.mjs.map} +1 -1
- package/dist/builder.d.mts +3 -3
- package/dist/builder__runtime.d.mts +9 -9
- package/dist/builder__runtime.mjs +1 -1
- package/dist/builder__types.d.mts +5 -5
- package/dist/{collection-methods-BnR4UjcW-tiz3frtf.d.mts → collection-methods-BnR4UjcW-BY8ZGjfa.d.mts} +3 -3
- package/dist/{collection-methods-BnR4UjcW-tiz3frtf.d.mts.map → collection-methods-BnR4UjcW-BY8ZGjfa.d.mts.map} +1 -1
- package/dist/collection-methods-iWGpEfkq.d.mts +1 -0
- package/dist/{config-types-Ci51fcnp.d.mts → config-types-C2mASmPh.d.mts} +3 -3
- package/dist/{config-types-Ci51fcnp.d.mts.map → config-types-C2mASmPh.d.mts.map} +1 -1
- package/dist/{config-types-DyZXyiNb.mjs → config-types-CrREu8Fa.mjs} +2 -2
- package/dist/{config-types-DyZXyiNb.mjs.map → config-types-CrREu8Fa.mjs.map} +1 -1
- package/dist/{contract-builder-C4fgERNT.d.mts → contract-builder-ClsLO9DI.d.mts} +464 -101
- package/dist/contract-builder-ClsLO9DI.d.mts.map +1 -0
- package/dist/{contract-builder-B_oFvMWk.mjs → contract-builder-Du_YOA1B.mjs} +10 -9
- package/dist/contract-builder-Du_YOA1B.mjs.map +1 -0
- package/dist/contract-emitter.d.mts +1 -0
- package/dist/contract-emitter.d.mts.map +1 -1
- package/dist/contract-emitter.mjs +1 -1
- package/dist/contract-prisma7__provider.d.mts +1 -1
- package/dist/contract-prisma7__provider.mjs +6 -6
- package/dist/contract-psl.d.mts +3 -3
- package/dist/contract-psl.d.mts.map +1 -1
- package/dist/contract-psl.mjs +1 -1
- package/dist/contract-psl__attribute-specs.d.mts +1 -1
- package/dist/contract-psl__attribute-specs.mjs +1 -1
- 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__provider.d.mts +1 -1
- package/dist/contract-psl__provider.mjs +2 -2
- package/dist/contract-psl__provider.mjs.map +1 -1
- package/dist/contract-ts.d.mts +4 -4
- package/dist/contract-ts.mjs +3 -3
- package/dist/contract-ts__config-types.d.mts +1 -1
- package/dist/contract-ts__config-types.mjs +1 -1
- package/dist/contract-ts__contract-builder.d.mts +3 -3
- package/dist/contract-ts__contract-builder.mjs +2 -2
- package/dist/contract.d.mts +8 -8
- package/dist/contract.mjs +4 -4
- package/dist/contract__data-type.d.mts +2 -2
- package/dist/contract__data-type.mjs +1 -1
- package/dist/contract__factories.d.mts +1 -1
- package/dist/contract__foreign-key-materialization.d.mts +1 -1
- package/dist/contract__foreign-key-materialization.mjs +2 -2
- package/dist/contract__index-type-validation.d.mts +1 -1
- package/dist/contract__types.d.mts +3 -3
- package/dist/contract__validators.d.mts +1 -1
- package/dist/contract__validators.mjs +1 -1
- package/dist/{control-CyY2Ijms.d.mts → control-Ced1D4yz.d.mts} +17 -16
- package/dist/control-Ced1D4yz.d.mts.map +1 -0
- package/dist/{control-_KWRuSBH.mjs → control-DiLXYDZc.mjs} +15 -10
- package/dist/control-DiLXYDZc.mjs.map +1 -0
- package/dist/{control-adapter-CkFfBVei-DH5DAObc.d.mts → control-adapter-CkFfBVei-4WUzQP7G.d.mts} +8 -8
- package/dist/{control-adapter-CkFfBVei-DH5DAObc.d.mts.map → control-adapter-CkFfBVei-4WUzQP7G.d.mts.map} +1 -1
- package/dist/control-adapter-pn8u9o3J.d.mts +1 -0
- package/dist/{data-type-gKl5DBHw.d.mts → data-type-CYsho6Yd.d.mts} +4 -12
- package/dist/data-type-CYsho6Yd.d.mts.map +1 -0
- package/dist/{data-type-BgP6Wv48.mjs → data-type-DU0mtme5.mjs} +18 -9
- package/dist/data-type-DU0mtme5.mjs.map +1 -0
- package/dist/{db-BmrN9nRS-CDq1n2be.d.mts → db-BmrN9nRS-CkMIL55t.d.mts} +12 -12
- package/dist/{db-BmrN9nRS-CDq1n2be.d.mts.map → db-BmrN9nRS-CkMIL55t.d.mts.map} +1 -1
- package/dist/{ddl-types-DtKZjNtN-CwtcEWLd.d.mts → ddl-types-DtKZjNtN-BCpmdMQF.d.mts} +3 -3
- package/dist/{ddl-types-DtKZjNtN-CwtcEWLd.d.mts.map → ddl-types-DtKZjNtN-BCpmdMQF.d.mts.map} +1 -1
- package/dist/{type-map-BMCZ_fb9-BTmWHQ-J.d.mts → default-mapping-B8_APB1M-CWcTmSQW.d.mts} +3 -22
- package/dist/default-mapping-B8_APB1M-CWcTmSQW.d.mts.map +1 -0
- package/dist/{derived-checks-BPWwhTds-Cy93UfrT.mjs → derived-checks-BVSHiu2A-CzEmkTMg.mjs} +18 -6
- package/dist/{derived-checks-BPWwhTds-Cy93UfrT.mjs.map → derived-checks-BVSHiu2A-CzEmkTMg.mjs.map} +1 -1
- package/dist/{derived-checks-DpPkO6Dt-ZEbWeWKL.d.mts → derived-checks-DpPkO6Dt--oL-Zi3r.d.mts} +2 -2
- package/dist/{derived-checks-DpPkO6Dt-ZEbWeWKL.d.mts.map → derived-checks-DpPkO6Dt--oL-Zi3r.d.mts.map} +1 -1
- package/dist/diagnostics-C8YevjSU.mjs +21 -0
- package/dist/diagnostics-C8YevjSU.mjs.map +1 -0
- package/dist/{diff-C-18M6Ii.d.mts → diff-Cx7qTc2x.d.mts} +7 -7
- package/dist/{diff-C-18M6Ii.d.mts.map → diff-Cx7qTc2x.d.mts.map} +1 -1
- package/dist/{dist-Dswy-oRP.mjs → dist-D4FKWSKx.mjs} +30 -41
- package/dist/dist-D4FKWSKx.mjs.map +1 -0
- package/dist/{expression-CNBCbbzU-BG3rv8Wb.d.mts → expression-CNBCbbzU-DnvLZYf4.d.mts} +3 -3
- package/dist/{expression-CNBCbbzU-BG3rv8Wb.d.mts.map → expression-CNBCbbzU-DnvLZYf4.d.mts.map} +1 -1
- package/dist/{expression-Ck1wys3N-RNyviMcU.d.mts → expression-Ck1wys3N-CBfr-HMG.d.mts} +6 -6
- package/dist/{expression-Ck1wys3N-RNyviMcU.d.mts.map → expression-Ck1wys3N-CBfr-HMG.d.mts.map} +1 -1
- package/dist/expression-eDSWdiqh.d.mts +2 -0
- package/dist/{factories-BVIVyHQU.d.mts → factories-2LNVsQ2j.d.mts} +2 -2
- package/dist/{factories-BVIVyHQU.d.mts.map → factories-2LNVsQ2j.d.mts.map} +1 -1
- package/dist/family.d.mts +14 -14
- package/dist/family.mjs +7 -7
- package/dist/family__control-adapter.d.mts +2 -2
- package/dist/family__control.d.mts +4 -4
- package/dist/family__control.mjs +3 -3
- package/dist/family__diff.d.mts +2 -2
- package/dist/family__diff.mjs +1 -1
- package/dist/family__ir.d.mts +1 -1
- package/dist/family__ir.mjs +1 -1
- package/dist/family__migration.d.mts +1 -1
- package/dist/family__pack.d.mts +1 -1
- package/dist/family__pack.mjs +2 -2
- package/dist/family__psl-build.d.mts +3 -3
- package/dist/family__psl-build.mjs +2 -2
- package/dist/family__psl-infer.d.mts +1 -1
- package/dist/family__psl-infer.mjs +1 -1
- package/dist/{foreign-key-materialization-DBYDet74.d.mts → foreign-key-materialization-DJ6uhBba.d.mts} +3 -3
- package/dist/{foreign-key-materialization-DBYDet74.d.mts.map → foreign-key-materialization-DJ6uhBba.d.mts.map} +1 -1
- package/dist/{foreign-key-materialization-DyoakLGY.mjs → foreign-key-materialization-DibQ9Hjg.mjs} +2 -2
- package/dist/{foreign-key-materialization-DyoakLGY.mjs.map → foreign-key-materialization-DibQ9Hjg.mjs.map} +1 -1
- package/dist/{functions-CJ8Yf8uL.d.mts → functions-DucgffNf.d.mts} +6 -6
- package/dist/{functions-CJ8Yf8uL.d.mts.map → functions-DucgffNf.d.mts.map} +1 -1
- package/dist/{index-We-mbWnZ.d.mts → index-CJlr0Eja.d.mts} +3 -3
- package/dist/{index-We-mbWnZ.d.mts.map → index-CJlr0Eja.d.mts.map} +1 -1
- package/dist/{index-UHjF-U84.d.mts → index-DuD4M3b8.d.mts} +19 -19
- package/dist/{index-UHjF-U84.d.mts.map → index-DuD4M3b8.d.mts.map} +1 -1
- package/dist/{index-equivalence-DswCiq5l-_gF1Un8p.mjs → index-equivalence-DswCiq5l-DlC2yTK1.mjs} +2 -2
- package/dist/{index-equivalence-DswCiq5l-_gF1Un8p.mjs.map → index-equivalence-DswCiq5l-DlC2yTK1.mjs.map} +1 -1
- package/dist/index-reference-CrohwmmB.d.mts +1 -0
- package/dist/{index-reference-DJX-CNsb-D2qUlYq2.d.mts → index-reference-DJX-CNsb-C1fCMhrJ.d.mts} +3 -3
- package/dist/{index-reference-DJX-CNsb-D2qUlYq2.d.mts.map → index-reference-DJX-CNsb-C1fCMhrJ.d.mts.map} +1 -1
- package/dist/{index-type-validation-D7-fPxIJ.d.mts → index-type-validation-P4WLRyZA.d.mts} +2 -2
- package/dist/{index-type-validation-D7-fPxIJ.d.mts.map → index-type-validation-P4WLRyZA.d.mts.map} +1 -1
- package/dist/{interpreter-C3Ltz47m-BM7A_CmQ.mjs → interpreter-y1GRudgs-DnP0uDGL.mjs} +7 -5
- package/dist/interpreter-y1GRudgs-DnP0uDGL.mjs.map +1 -0
- package/dist/{ir-OBn7ct21.d.mts → ir-BEQwEnRB.d.mts} +2 -2
- package/dist/{ir-OBn7ct21.d.mts.map → ir-BEQwEnRB.d.mts.map} +1 -1
- package/dist/middleware-DTu2jl68.d.mts +1 -0
- package/dist/{middleware-YsFLC19Y-xhimGDiS.d.mts → middleware-YsFLC19Y-Dot9R8QY.d.mts} +2 -2
- package/dist/{middleware-YsFLC19Y-xhimGDiS.d.mts.map → middleware-YsFLC19Y-Dot9R8QY.d.mts.map} +1 -1
- package/dist/{migration-Bdt_UrTg.d.mts → migration-Cc102YUu.d.mts} +3 -3
- package/dist/{migration-Bdt_UrTg.d.mts.map → migration-Cc102YUu.d.mts.map} +1 -1
- package/dist/operations.d.mts +1 -1
- package/dist/orm-client.d.mts +38 -32
- package/dist/orm-client.d.mts.map +1 -1
- package/dist/orm-client.mjs +1 -1
- package/dist/{pack-DOLmsrEs.d.mts → pack-DI4Nur5d.d.mts} +3 -3
- package/dist/{pack-DOLmsrEs.d.mts.map → pack-DI4Nur5d.d.mts.map} +1 -1
- package/dist/plan-CuSLaQdv.d.mts +2 -0
- package/dist/{plan-cGEaSXHv-j0w37mVT.d.mts → plan-cGEaSXHv-Bv-SBtFA.d.mts} +3 -3
- package/dist/{plan-cGEaSXHv-j0w37mVT.d.mts.map → plan-cGEaSXHv-Bv-SBtFA.d.mts.map} +1 -1
- package/dist/psl-attribute-parsing-BCsFWsSp-LaNsbcrw.mjs +42 -0
- package/dist/psl-attribute-parsing-BCsFWsSp-LaNsbcrw.mjs.map +1 -0
- package/dist/{psl-build-C3WT2pWV.mjs → psl-build-8bx9WTUt.mjs} +113 -4
- package/dist/psl-build-8bx9WTUt.mjs.map +1 -0
- package/dist/psl-build-PXVtl8gM.d.mts +73 -0
- package/dist/psl-build-PXVtl8gM.d.mts.map +1 -0
- package/dist/{psl-column-resolution-Cj4gkj9H-Cu2xVY6w.d.mts → psl-column-resolution-BCkhNzOK-0Gry4LFl.d.mts} +5 -5
- package/dist/psl-column-resolution-BCkhNzOK-0Gry4LFl.d.mts.map +1 -0
- package/dist/{psl-field-resolution-ztVU6TV2-BSBajXoF.mjs → psl-field-resolution-4U7Plpfb-CCfgoBAa.mjs} +7 -41
- package/dist/psl-field-resolution-4U7Plpfb-CCfgoBAa.mjs.map +1 -0
- package/dist/{psl-infer-DHO72J_m.mjs → psl-infer-CG0_wra6.mjs} +2 -2
- package/dist/{psl-infer-DHO72J_m.mjs.map → psl-infer-CG0_wra6.mjs.map} +1 -1
- package/dist/{psl-infer-Dp_NzWE0.d.mts → psl-infer-g040TwAr.d.mts} +4 -6
- package/dist/psl-infer-g040TwAr.d.mts.map +1 -0
- package/dist/query-lane-context-C29KGcgz.d.mts +1 -0
- package/dist/{query-lane-context-C42-u9L1-Bxa4DkI_.d.mts → query-lane-context-C42-u9L1-CUP3uW4A.d.mts} +6 -6
- package/dist/{query-lane-context-C42-u9L1-Bxa4DkI_.d.mts.map → query-lane-context-C42-u9L1-CUP3uW4A.d.mts.map} +1 -1
- package/dist/relational-core.d.mts +13 -13
- package/dist/relational-core.mjs +2 -2
- package/dist/relational-core__aggregate-descriptor-registry.d.mts +1 -1
- package/dist/relational-core__ast.d.mts +4 -4
- package/dist/relational-core__ast.mjs +2 -2
- package/dist/relational-core__codec-descriptor-registry.d.mts +3 -3
- package/dist/relational-core__collection-methods.d.mts +2 -2
- package/dist/relational-core__contract-free.d.mts +3 -3
- package/dist/relational-core__expression.d.mts +3 -3
- package/dist/relational-core__functions.d.mts +1 -1
- package/dist/relational-core__index-reference.d.mts +2 -2
- package/dist/relational-core__middleware.d.mts +2 -2
- package/dist/relational-core__plan.d.mts +3 -3
- package/dist/relational-core__query-lane-context.d.mts +2 -2
- package/dist/relational-core__types.d.mts +2 -2
- package/dist/runtime.d.mts +4 -4
- package/dist/runtime__internal__prepared-query.d.mts +1 -1
- package/dist/{schema-differ-CqWOkoW9-DQkzKV8b.d.mts → schema-differ-CqWOkoW9-DAcuiQPU.d.mts} +4 -4
- package/dist/{schema-differ-CqWOkoW9-DQkzKV8b.d.mts.map → schema-differ-CqWOkoW9-DAcuiQPU.d.mts.map} +1 -1
- package/dist/schema-ir.d.mts +2 -2
- package/dist/schema-ir.mjs +1 -1
- package/dist/schema-ir__types.d.mts +3 -3
- package/dist/schema-ir__types.mjs +1 -1
- package/dist/{schema-verify-DIfHSB4I-Du0-5I8k.mjs → schema-verify-DIfHSB4I-CU6ViTDO.mjs} +2 -2
- package/dist/{schema-verify-DIfHSB4I-Du0-5I8k.mjs.map → schema-verify-DIfHSB4I-CU6ViTDO.mjs.map} +1 -1
- package/dist/{sql-contract-serializer-DDaAVCQr-BAb4jKvV.mjs → sql-contract-serializer-DDaAVCQr-DFIIkxQr.mjs} +2 -2
- package/dist/{sql-contract-serializer-DDaAVCQr-BAb4jKvV.mjs.map → sql-contract-serializer-DDaAVCQr-DFIIkxQr.mjs.map} +1 -1
- package/dist/{sql-execution-plan-C7XauPPu-eskZJbmm.d.mts → sql-execution-plan-C7XauPPu-DI9L8IkC.d.mts} +2 -2
- package/dist/{sql-execution-plan-C7XauPPu-eskZJbmm.d.mts.map → sql-execution-plan-C7XauPPu-DI9L8IkC.d.mts.map} +1 -1
- package/dist/{transaction-state-DR3nKTmH-BZ-54Zu0.d.mts → transaction-state-DR3nKTmH-CkkfiS9z.d.mts} +9 -9
- package/dist/{transaction-state-DR3nKTmH-BZ-54Zu0.d.mts.map → transaction-state-DR3nKTmH-CkkfiS9z.d.mts.map} +1 -1
- package/dist/types-BhcBOXu7.d.mts +1 -0
- package/dist/{types-DIZSW9JI-DNUF-RnL.d.mts → types-C-z8HyiZ-1Nhw0pHj.d.mts} +17 -3
- package/dist/types-C-z8HyiZ-1Nhw0pHj.d.mts.map +1 -0
- package/dist/types-CJK7FBdw.d.mts +1 -0
- package/dist/{types-Cl4MLNrS-lbf-K25i.d.mts → types-Cl4MLNrS-GHKQvTNi.d.mts} +8 -8
- package/dist/{types-Cl4MLNrS-lbf-K25i.d.mts.map → types-Cl4MLNrS-GHKQvTNi.d.mts.map} +1 -1
- package/dist/{types-CzxOObSY-BxwvvyRZ.d.mts → types-CzxOObSY-DTQ2rnLF.d.mts} +7 -7
- package/dist/{types-CzxOObSY-BxwvvyRZ.d.mts.map → types-CzxOObSY-DTQ2rnLF.d.mts.map} +1 -1
- package/dist/{types-D0GFxty0-CP8b4dR3.mjs → types-DvhckjSz-Cm0Oodhr.mjs} +3 -2
- package/dist/types-DvhckjSz-Cm0Oodhr.mjs.map +1 -0
- package/dist/types-HD5m-h8B.d.mts +67 -0
- package/dist/types-HD5m-h8B.d.mts.map +1 -0
- package/dist/{types-Sh5HuaZE-CqThc46M.d.mts → types-Sh5HuaZE-Dq4AUzl7.d.mts} +2 -2
- package/dist/{types-Sh5HuaZE-CqThc46M.d.mts.map → types-Sh5HuaZE-Dq4AUzl7.d.mts.map} +1 -1
- package/dist/{types-DFZhLz18-Msi8wwig.d.mts → types-zwKzjyma-CxZkmkUI.d.mts} +114 -3
- package/dist/types-zwKzjyma-CxZkmkUI.d.mts.map +1 -0
- package/dist/{validators-CudqzmkF.d.mts → validators-BifwoR5e.d.mts} +2 -2
- package/dist/{validators-CudqzmkF.d.mts.map → validators-BifwoR5e.d.mts.map} +1 -1
- package/dist/{validators-BMWQ7-5D.mjs → validators-CfUrQdiv.mjs} +2 -2
- package/dist/{validators-BMWQ7-5D.mjs.map → validators-CfUrQdiv.mjs.map} +1 -1
- package/package.json +19 -18
- package/dist/ast-De8XGuVW.mjs.map +0 -1
- package/dist/ast-Dp6lQXUX.d.mts.map +0 -1
- package/dist/collection-methods-DoBrRR69.d.mts +0 -1
- package/dist/contract-builder-B_oFvMWk.mjs.map +0 -1
- package/dist/contract-builder-C4fgERNT.d.mts.map +0 -1
- package/dist/control-CyY2Ijms.d.mts.map +0 -1
- package/dist/control-_KWRuSBH.mjs.map +0 -1
- package/dist/control-adapter-DB7MPI5L.d.mts +0 -1
- package/dist/data-type-BgP6Wv48.mjs.map +0 -1
- package/dist/data-type-gKl5DBHw.d.mts.map +0 -1
- package/dist/dist-Dswy-oRP.mjs.map +0 -1
- package/dist/expression-DWcDQHh9.d.mts +0 -2
- package/dist/index-reference-ZZrszBDq.d.mts +0 -1
- package/dist/interpreter-C3Ltz47m-BM7A_CmQ.mjs.map +0 -1
- package/dist/middleware-DOKGNt72.d.mts +0 -1
- package/dist/plan-_8dKi13Q.d.mts +0 -2
- package/dist/psl-build-C3WT2pWV.mjs.map +0 -1
- package/dist/psl-build-TrbDSGOA.d.mts +0 -13
- package/dist/psl-build-TrbDSGOA.d.mts.map +0 -1
- package/dist/psl-column-resolution-Cj4gkj9H-Cu2xVY6w.d.mts.map +0 -1
- package/dist/psl-field-resolution-ztVU6TV2-BSBajXoF.mjs.map +0 -1
- package/dist/psl-infer-Dp_NzWE0.d.mts.map +0 -1
- package/dist/query-lane-context-DW5q2RAY.d.mts +0 -1
- package/dist/type-map-BMCZ_fb9-BTmWHQ-J.d.mts.map +0 -1
- package/dist/types-BkA6tyT-.d.mts +0 -1
- package/dist/types-D0GFxty0-CP8b4dR3.mjs.map +0 -1
- package/dist/types-DFZhLz18-Msi8wwig.d.mts.map +0 -1
- package/dist/types-DIZSW9JI-DNUF-RnL.d.mts.map +0 -1
- package/dist/types-DqSCaTK3.d.mts +0 -1
- package/dist/types-Uv3oTMAb.d.mts +0 -18
- package/dist/types-Uv3oTMAb.d.mts.map +0 -1
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { t as CheckKind } from "./naming-BcD36g9T-DFyaudUa.mjs";
|
|
2
2
|
import { n as ForeignKeyIndex, o as ReferentialAction } from "./foreign-key-qkDFfG8t-Fyrzd0VI.mjs";
|
|
3
|
-
import { t as Index } from "./sql-index-ByAAE7K8-BpbPBWPD.mjs";
|
|
4
3
|
import { a as SqlNamespaceBase, c as SqlNamespaceInput, l as SqlStorage, t as AuthoredStorageTypeInstance } from "./sql-storage-BTlJLUID-CGy3wuH4.mjs";
|
|
5
|
-
import {
|
|
6
|
-
import "./types-
|
|
4
|
+
import { O as QueryOperationTypesFunction, c as ContractWithTypeMaps, i as AggregateTypesFromDescriptors, o as ApplyQueryOperationTypes } from "./types-zwKzjyma-CxZkmkUI.mjs";
|
|
5
|
+
import { n as FieldTypesFromDomain, t as ColumnTypesFromStorage } from "./types-HD5m-h8B.mjs";
|
|
7
6
|
import { r as PackEntityHandle } from "./entity-handle-lowering-hook-93syhZ0p.mjs";
|
|
8
|
-
import "./derived-checks-DpPkO6Dt-
|
|
7
|
+
import "./derived-checks-DpPkO6Dt--oL-Zi3r.mjs";
|
|
9
8
|
import { r as SqlExpression } from "./sql-expression-BWrjmY6M.mjs";
|
|
10
9
|
import { i as IndexTypeRegistration } from "./index-types-H1O43iYT-ONvDbszL.mjs";
|
|
11
10
|
import "./index-types-ByX8MLso.mjs";
|
|
@@ -13,7 +12,7 @@ import { n as AuthoredIndexMethod } from "./index-naming-C7pme5Pj.mjs";
|
|
|
13
12
|
import { AuthoringArgumentDescriptor, AuthoringFieldPresetDescriptor, AuthoringTypeConstructorDescriptor, AuthoringWarning } from "@prisma/orm-framework/components/authoring";
|
|
14
13
|
import { StorageType } from "@prisma/orm-framework/components/ir";
|
|
15
14
|
import { CodecLookupWithDescriptors, ColumnTypeDescriptor, DataTypeLookup, ScalarFieldDeclarationBuilder } from "@prisma/orm-framework/components/codec";
|
|
16
|
-
import { ColumnDefault, Contract,
|
|
15
|
+
import { ColumnDefault, Contract, ContractExecutionSection, ContractRelation, ControlPolicy, ExecutionMutationDefaultPhases, ExecutionMutationDefaultValue, JsonValue, NamespaceId, ParameterizedOutputTypesFunction, StorageHashBase } from "@prisma/orm-framework/contract/types";
|
|
17
16
|
import { ExtensionPackRef, FamilyPackRef, TargetPackRef } from "@prisma/orm-framework/components/components";
|
|
18
17
|
import { BoundEnumType, CodecInput, CodecInput as CodecInput$1, CodecTypeMap, CodecTypeMap as CodecTypeMap$1, EntityHelpersFromNamespace, EnumMember, EnumTypeHandle, ExtractAuthoringNamespaceFromPack, ForeignKeyDefaultsState, MergeExtensionAuthoringNamespaces, ResolveTemplateValue, TupleFromArgumentDescriptors, bindEnumType, enumType, member } from "@prisma/orm-framework/contract-authoring";
|
|
19
18
|
//#region ../../../2-sql/2-authoring/contract-ts/dist/contract-builder.d.mts
|
|
@@ -292,10 +291,16 @@ interface TableNode extends TableProperties {
|
|
|
292
291
|
readonly tableName: string;
|
|
293
292
|
readonly columns: readonly ColumnNode[];
|
|
294
293
|
}
|
|
294
|
+
/** A component whose capabilities a contract carries, such as an adapter. */
|
|
295
|
+
type CapabilityContributor = {
|
|
296
|
+
readonly capabilities: Readonly<Record<string, Readonly<Record<string, boolean>>>>;
|
|
297
|
+
};
|
|
295
298
|
interface ContractDefinition {
|
|
296
299
|
readonly target: TargetPackRef<'sql', string>;
|
|
297
300
|
readonly defaultControlPolicy?: ControlPolicy;
|
|
298
301
|
readonly extensions?: Record<string, ExtensionPackRef<'sql', string>>;
|
|
302
|
+
/** Capabilities of the stack the contract runs with beyond its target's and extensions', such as its adapter's. They join the target's and the extensions', as `prisma contract emit` joins them. */
|
|
303
|
+
readonly capabilities?: CapabilityContributor['capabilities'];
|
|
299
304
|
/**
|
|
300
305
|
* Test-fixture escape hatch: pins the emitted `storage.storageHash`
|
|
301
306
|
* instead of computing it from content. A pinned hash is not
|
|
@@ -356,8 +361,10 @@ type NamedConstraintNameSpec<Name extends string = string> = {
|
|
|
356
361
|
};
|
|
357
362
|
type ScalarFieldState<Descriptor extends ColumnTypeDescriptor = ColumnTypeDescriptor, TypeRef extends NamedStorageTypeRef | undefined = undefined, Nullable extends boolean = boolean, ColumnName extends string | undefined = string | undefined, IdSpec extends NamedConstraintSpec | undefined = undefined, UniqueSpec extends NamedConstraintSpec | undefined = undefined, Many extends false | {
|
|
358
363
|
readonly elementNullable: boolean;
|
|
359
|
-
} = false> = {
|
|
364
|
+
} = false, Defaults extends FieldDefaultPresence = FieldDefaultPresence> = {
|
|
360
365
|
readonly kind: 'scalar';
|
|
366
|
+
/** Exists only in types: whether the column has a database default and whether the client generates a value on create. */
|
|
367
|
+
readonly __defaultPresence?: Defaults;
|
|
361
368
|
readonly descriptor?: Descriptor | undefined;
|
|
362
369
|
readonly typeRef?: TypeRef | undefined;
|
|
363
370
|
readonly nullable: Nullable;
|
|
@@ -375,6 +382,15 @@ type ScalarFieldState<Descriptor extends ColumnTypeDescriptor = ColumnTypeDescri
|
|
|
375
382
|
} : {
|
|
376
383
|
readonly unique?: undefined;
|
|
377
384
|
});
|
|
385
|
+
/** Whether a field's column has a database default, and whether the client generates its value on create. */
|
|
386
|
+
type FieldDefaultPresence = {
|
|
387
|
+
readonly column: boolean;
|
|
388
|
+
readonly execution: boolean;
|
|
389
|
+
};
|
|
390
|
+
type WithColumnDefault<State extends AnyScalarFieldState> = State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, infer ColumnName, infer IdSpec, infer UniqueSpec, infer Many, infer Defaults> ? ScalarFieldState<Descriptor, TypeRef, Nullable, ColumnName, IdSpec, UniqueSpec, Many, {
|
|
391
|
+
readonly column: true;
|
|
392
|
+
readonly execution: Defaults['execution'];
|
|
393
|
+
}> : State;
|
|
378
394
|
type AnyScalarFieldState = {
|
|
379
395
|
readonly kind: 'scalar';
|
|
380
396
|
readonly descriptor?: ColumnTypeDescriptor | undefined;
|
|
@@ -403,7 +419,7 @@ type FieldSqlSpecForState<State extends AnyScalarFieldState> = {
|
|
|
403
419
|
} : Record<never, never>) & (HasNamedConstraintUnique<State> extends true ? {
|
|
404
420
|
readonly unique?: NamedConstraintNameSpec;
|
|
405
421
|
} : Record<never, never>);
|
|
406
|
-
type ApplyFieldSqlSpec<State extends AnyScalarFieldState, Spec extends FieldSqlSpecForState<State>> = State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, infer ColumnName, infer IdSpec, infer UniqueSpec, infer Many> ? ScalarFieldState<Descriptor, TypeRef, Nullable, Spec extends {
|
|
422
|
+
type ApplyFieldSqlSpec<State extends AnyScalarFieldState, Spec extends FieldSqlSpecForState<State>> = State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, infer ColumnName, infer IdSpec, infer UniqueSpec, infer Many, infer Defaults> ? ScalarFieldState<Descriptor, TypeRef, Nullable, Spec extends {
|
|
407
423
|
readonly column: infer NextColumn extends string;
|
|
408
424
|
} ? NextColumn : ColumnName, Spec extends {
|
|
409
425
|
readonly id: {
|
|
@@ -413,7 +429,7 @@ type ApplyFieldSqlSpec<State extends AnyScalarFieldState, Spec extends FieldSqlS
|
|
|
413
429
|
readonly unique: {
|
|
414
430
|
readonly name: infer UniqueName extends string;
|
|
415
431
|
};
|
|
416
|
-
} ? UniqueSpec extends NamedConstraintSpec ? NamedConstraintSpec<UniqueName> : UniqueSpec : UniqueSpec, Many> : AnyScalarFieldState;
|
|
432
|
+
} ? UniqueSpec extends NamedConstraintSpec ? NamedConstraintSpec<UniqueName> : UniqueSpec : UniqueSpec, Many, Defaults> : AnyScalarFieldState;
|
|
417
433
|
type GeneratedFieldSpec = {
|
|
418
434
|
readonly type: ColumnTypeDescriptor;
|
|
419
435
|
readonly typeParams?: Record<string, unknown>;
|
|
@@ -446,9 +462,9 @@ type DefaultArgumentOf<State> = ([EnumHandleOf<State>] extends [never] ? Default
|
|
|
446
462
|
} ? null : never);
|
|
447
463
|
type ApplyMany<State extends AnyScalarFieldState, ElementsNullable extends boolean> = State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, infer ColumnName, infer IdSpec, infer UniqueSpec, false | {
|
|
448
464
|
readonly elementNullable: boolean;
|
|
449
|
-
}> ? ScalarFieldState<Descriptor, TypeRef, Nullable, ColumnName, IdSpec, UniqueSpec, {
|
|
465
|
+
}, infer Defaults> ? ScalarFieldState<Descriptor, TypeRef, Nullable, ColumnName, IdSpec, UniqueSpec, {
|
|
450
466
|
readonly elementNullable: ElementsNullable;
|
|
451
|
-
}> : AnyScalarFieldState;
|
|
467
|
+
}, Defaults> : AnyScalarFieldState;
|
|
452
468
|
type ManyOptions = {
|
|
453
469
|
readonly elementsNullable: true;
|
|
454
470
|
} | {
|
|
@@ -465,8 +481,8 @@ declare class ScalarFieldBuilder<State extends AnyScalarFieldState = AnyScalarFi
|
|
|
465
481
|
* `TargetFieldRef.columnName` so FK target columns are resolved correctly.
|
|
466
482
|
*/
|
|
467
483
|
get physicalColumnName(): string | undefined;
|
|
468
|
-
optional(): ScalarFieldBuilder<State extends ScalarFieldState<infer Descriptor, infer TypeRef, boolean, infer ColumnName, infer IdSpec, infer UniqueSpec, infer Many> ? ScalarFieldState<Descriptor, TypeRef, true, ColumnName, IdSpec, UniqueSpec, Many> : AnyScalarFieldState>;
|
|
469
|
-
column<ColumnName extends string>(name: ColumnName): ScalarFieldBuilder<State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, string | undefined, infer IdSpec, infer UniqueSpec, infer Many> ? ScalarFieldState<Descriptor, TypeRef, Nullable, ColumnName, IdSpec, UniqueSpec, Many> : AnyScalarFieldState>;
|
|
484
|
+
optional(): ScalarFieldBuilder<State extends ScalarFieldState<infer Descriptor, infer TypeRef, boolean, infer ColumnName, infer IdSpec, infer UniqueSpec, infer Many, infer Defaults> ? ScalarFieldState<Descriptor, TypeRef, true, ColumnName, IdSpec, UniqueSpec, Many, Defaults> : AnyScalarFieldState>;
|
|
485
|
+
column<ColumnName extends string>(name: ColumnName): ScalarFieldBuilder<State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, string | undefined, infer IdSpec, infer UniqueSpec, infer Many, infer Defaults> ? ScalarFieldState<Descriptor, TypeRef, Nullable, ColumnName, IdSpec, UniqueSpec, Many, Defaults> : AnyScalarFieldState>;
|
|
470
486
|
many(): ScalarFieldBuilder<ApplyMany<State, false>>;
|
|
471
487
|
many(options: {
|
|
472
488
|
readonly elementsNullable: true;
|
|
@@ -484,13 +500,13 @@ declare class ScalarFieldBuilder<State extends AnyScalarFieldState = AnyScalarFi
|
|
|
484
500
|
noCheck(...kinds: readonly CheckKind[]): ScalarFieldBuilder<State>;
|
|
485
501
|
default<Self extends {
|
|
486
502
|
readonly __state: AnyScalarFieldState;
|
|
487
|
-
}>(this: Self, value: DefaultArgumentOf<Self['__state']>): ScalarFieldBuilder<State
|
|
503
|
+
}>(this: Self, value: DefaultArgumentOf<Self['__state']>): ScalarFieldBuilder<WithColumnDefault<State>>;
|
|
488
504
|
/**
|
|
489
505
|
* @deprecated Write `.default(now())` or `.default(autoincrement())`, or `` .default(sql`...`) `` for any other SQL. Removed in 8.0.0.
|
|
490
506
|
*/
|
|
491
|
-
defaultSql(expression: string): ScalarFieldBuilder<State
|
|
492
|
-
id<const Name extends string | undefined = undefined>(options?: NamedConstraintSpec<Name>): ScalarFieldBuilder<State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, infer ColumnName, NamedConstraintSpec | undefined, infer UniqueSpec, infer Many> ? ScalarFieldState<Descriptor, TypeRef, Nullable, ColumnName, NamedConstraintSpec<Name>, UniqueSpec, Many> : AnyScalarFieldState>;
|
|
493
|
-
unique<const Name extends string | undefined = undefined>(options?: NamedConstraintSpec<Name>): ScalarFieldBuilder<State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, infer ColumnName, infer IdSpec, NamedConstraintSpec | undefined, infer Many> ? ScalarFieldState<Descriptor, TypeRef, Nullable, ColumnName, IdSpec, NamedConstraintSpec<Name>, Many> : AnyScalarFieldState>;
|
|
507
|
+
defaultSql(expression: string): ScalarFieldBuilder<WithColumnDefault<State>>;
|
|
508
|
+
id<const Name extends string | undefined = undefined>(options?: NamedConstraintSpec<Name>): ScalarFieldBuilder<State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, infer ColumnName, NamedConstraintSpec | undefined, infer UniqueSpec, infer Many, infer Defaults> ? ScalarFieldState<Descriptor, TypeRef, Nullable, ColumnName, NamedConstraintSpec<Name>, UniqueSpec, Many, Defaults> : AnyScalarFieldState>;
|
|
509
|
+
unique<const Name extends string | undefined = undefined>(options?: NamedConstraintSpec<Name>): ScalarFieldBuilder<State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, infer ColumnName, infer IdSpec, NamedConstraintSpec | undefined, infer Many, infer Defaults> ? ScalarFieldState<Descriptor, TypeRef, Nullable, ColumnName, IdSpec, NamedConstraintSpec<Name>, Many, Defaults> : AnyScalarFieldState>;
|
|
494
510
|
sql<const Spec extends FieldSqlSpecForState<State>>(spec: Spec): ScalarFieldBuilder<ApplyFieldSqlSpec<State, Spec>>;
|
|
495
511
|
build(): State;
|
|
496
512
|
}
|
|
@@ -499,7 +515,7 @@ declare class EnumScalarFieldBuilder<Handle extends EnumTypeHandle, State extend
|
|
|
499
515
|
constructor(state: State, handle: Handle);
|
|
500
516
|
default<Self extends {
|
|
501
517
|
readonly __state: AnyScalarFieldState;
|
|
502
|
-
}>(this: Self, value: DefaultArgumentOf<Self['__state']>): EnumScalarFieldBuilder<Handle, State
|
|
518
|
+
}>(this: Self, value: DefaultArgumentOf<Self['__state']>): EnumScalarFieldBuilder<Handle, WithColumnDefault<State>>;
|
|
503
519
|
defaultSql(_expression: never): never;
|
|
504
520
|
}
|
|
505
521
|
type CodecTypesOfNoPacks = Record<never, never>;
|
|
@@ -509,9 +525,16 @@ type NamedTypeFieldHelper<CodecTypes extends CodecTypeMap = CodecTypesOfNoPacks>
|
|
|
509
525
|
<TypeRef extends AuthoredStorageTypeInstance>(typeRef: TypeRef): ScalarFieldBuilder<ScalarFieldState<WithCodecInput<ColumnTypeDescriptor<TypeRef['codecId']>, CodecInput<CodecTypes, TypeRef>>, TypeRef, false, undefined>>;
|
|
510
526
|
<Handle extends EnumTypeHandle>(typeRef: Handle): EnumScalarFieldBuilder<Handle>;
|
|
511
527
|
};
|
|
512
|
-
|
|
528
|
+
type WithGeneratedTypeParams<Descriptor, TypeParams> = TypeParams extends Record<string, unknown> ? Descriptor & {
|
|
529
|
+
readonly typeParams: TypeParams;
|
|
530
|
+
} : Descriptor;
|
|
531
|
+
declare function generatedField<Descriptor extends ColumnTypeDescriptor, TypeParams extends Record<string, unknown> | undefined = undefined>(spec: GeneratedFieldSpec & {
|
|
513
532
|
readonly type: Descriptor;
|
|
514
|
-
|
|
533
|
+
readonly typeParams?: TypeParams;
|
|
534
|
+
}): ScalarFieldBuilder<ScalarFieldState<WithGeneratedTypeParams<Descriptor, TypeParams>, undefined, false, undefined, undefined, undefined, false, {
|
|
535
|
+
readonly column: false;
|
|
536
|
+
readonly execution: true;
|
|
537
|
+
}>>;
|
|
515
538
|
type RelationModelRefSource = 'string' | 'token' | 'lazyToken';
|
|
516
539
|
type TargetFieldRefSource = 'string' | 'token';
|
|
517
540
|
type EagerRelationModelName<ModelName extends string = string, Source extends Exclude<RelationModelRefSource, 'lazyToken'> = Exclude<RelationModelRefSource, 'lazyToken'>> = {
|
|
@@ -525,8 +548,10 @@ type LazyRelationModelName<ModelName extends string = string> = {
|
|
|
525
548
|
readonly resolve: () => ModelName;
|
|
526
549
|
};
|
|
527
550
|
type RelationModelSource<ModelName extends string = string> = EagerRelationModelName<ModelName> | LazyRelationModelName<ModelName>;
|
|
528
|
-
type BelongsToRelation<ToModel extends string = string, FromField extends string | readonly string[] = string | readonly string[], ToField extends string | readonly string[] = string | readonly string[], SqlSpec extends BelongsToRelationSqlSpec | undefined = undefined> = {
|
|
551
|
+
type BelongsToRelation<ToModel extends string = string, FromField extends string | readonly string[] = string | readonly string[], ToField extends string | readonly string[] = string | readonly string[], SqlSpec extends BelongsToRelationSqlSpec | undefined = undefined, TargetSpaceId extends string = string> = {
|
|
529
552
|
readonly kind: 'belongsTo';
|
|
553
|
+
/** The contract space of the target model, `'<self>'` for this contract's own models. Type-only. */
|
|
554
|
+
readonly __targetSpaceId?: TargetSpaceId;
|
|
530
555
|
readonly toModel: RelationModelSource<ToModel>;
|
|
531
556
|
readonly from: FromField;
|
|
532
557
|
readonly to: ToField;
|
|
@@ -573,7 +598,7 @@ type ManyToManyRelation<ToModel extends string = string, ThroughModel extends st
|
|
|
573
598
|
type RelationState = BelongsToRelation<string, string | readonly string[], string | readonly string[], BelongsToRelationSqlSpec | undefined> | HasManyRelation | HasOneRelation | ManyToManyRelation;
|
|
574
599
|
type AnyRelationState = RelationState;
|
|
575
600
|
type AnyRelationBuilder = RelationBuilder<AnyRelationState>;
|
|
576
|
-
type ApplyBelongsToRelationSqlSpec<State extends RelationState, SqlSpec extends BelongsToRelationSqlSpec> = State extends BelongsToRelation<infer ToModel, infer FromField, infer ToField, BelongsToRelationSqlSpec | undefined> ? BelongsToRelation<ToModel, FromField, ToField, SqlSpec> : never;
|
|
601
|
+
type ApplyBelongsToRelationSqlSpec<State extends RelationState, SqlSpec extends BelongsToRelationSqlSpec> = State extends BelongsToRelation<infer ToModel, infer FromField, infer ToField, BelongsToRelationSqlSpec | undefined, infer TargetSpaceId> ? BelongsToRelation<ToModel, FromField, ToField, SqlSpec, TargetSpaceId> : never;
|
|
577
602
|
declare class RelationBuilder<State extends RelationState = AnyRelationState> {
|
|
578
603
|
private readonly state;
|
|
579
604
|
readonly __state: State;
|
|
@@ -654,6 +679,20 @@ type IndexInput<Name extends string | undefined, IndexTypes extends IndexTypeMap
|
|
|
654
679
|
readonly type: K;
|
|
655
680
|
readonly options: IndexOptionsInput<IndexTypes[K]['options']>;
|
|
656
681
|
}; }[keyof IndexTypes & string];
|
|
682
|
+
type IndexSpecCapture<Map, Type, Where, Unique, IndexTypes extends IndexTypeMap> = {
|
|
683
|
+
readonly map?: Map;
|
|
684
|
+
readonly where?: Where;
|
|
685
|
+
readonly unique?: Unique;
|
|
686
|
+
} & (keyof IndexTypes extends never ? Record<never, never> : {
|
|
687
|
+
readonly type?: Type;
|
|
688
|
+
});
|
|
689
|
+
type IndexSpecFrom<Map, Type, Where, Unique, IndexTypes extends IndexTypeMap> = {
|
|
690
|
+
readonly map: Map;
|
|
691
|
+
readonly type: Type;
|
|
692
|
+
readonly options: Type extends keyof IndexTypes ? IndexTypes[Type]['options'] extends (infer Options extends Record<string, unknown>) ? Options : Record<string, unknown> : undefined;
|
|
693
|
+
readonly partial: [Where] extends [undefined] ? false : true;
|
|
694
|
+
readonly unique: Unique;
|
|
695
|
+
};
|
|
657
696
|
/**
|
|
658
697
|
* The expression overload's input: the whole CREATE INDEX element list as
|
|
659
698
|
* one opaque `sql` value. `name` or `map` is required — enforced at lowering
|
|
@@ -731,12 +770,28 @@ type IndexConstraintMethod = {
|
|
|
731
770
|
readonly type: string;
|
|
732
771
|
readonly options?: IndexOptionsInput;
|
|
733
772
|
};
|
|
734
|
-
|
|
773
|
+
/**
|
|
774
|
+
* An index's options as a function of its model's columns: `options` reads `this['columnOf']`, which maps each field name of the model to its column name. A helper whose options name fields, such as a full-text index's weight groups, declares one so the contract's type states the options with column names, as the build writes them.
|
|
775
|
+
*/
|
|
776
|
+
interface IndexOptionsFunction {
|
|
777
|
+
readonly columnOf: Record<never, string>;
|
|
778
|
+
readonly options: unknown;
|
|
779
|
+
}
|
|
780
|
+
/** What an index's type records beyond its fields and name: its exact `map` name, its type, and its options or a function that gives them. Exists only in types. */
|
|
781
|
+
type IndexSpec = {
|
|
782
|
+
readonly map?: string | undefined;
|
|
783
|
+
readonly type?: string | undefined;
|
|
784
|
+
readonly options?: unknown;
|
|
785
|
+
readonly partial?: boolean;
|
|
786
|
+
readonly unique?: boolean | undefined;
|
|
787
|
+
};
|
|
788
|
+
type IndexConstraint<FieldNames extends readonly string[] = readonly string[], Name extends string | undefined = string | undefined, Spec extends IndexSpec = IndexSpec> = IndexConstraintElements<FieldNames> & IndexConstraintMethod & {
|
|
735
789
|
readonly kind: 'index';
|
|
736
790
|
readonly where?: SqlExpression;
|
|
737
791
|
readonly unique?: boolean;
|
|
738
792
|
readonly name?: Name;
|
|
739
793
|
readonly map?: string;
|
|
794
|
+
readonly __spec?: Spec;
|
|
740
795
|
};
|
|
741
796
|
/**
|
|
742
797
|
* An authored check constraint, as returned by {@link check}: `map` adopts an
|
|
@@ -750,7 +805,7 @@ type AuthoredCheckConstraint = {
|
|
|
750
805
|
readonly name?: string;
|
|
751
806
|
readonly map?: string;
|
|
752
807
|
};
|
|
753
|
-
type ForeignKeyConstraint<SourceFieldNames extends readonly string[] = readonly string[], TargetModelName extends string = string, TargetFieldNames extends readonly string[] = readonly string[], Name extends string | undefined = string | undefined> = {
|
|
808
|
+
type ForeignKeyConstraint<SourceFieldNames extends readonly string[] = readonly string[], TargetModelName extends string = string, TargetFieldNames extends readonly string[] = readonly string[], Name extends string | undefined = string | undefined, Index extends boolean | string | undefined = boolean | string | undefined> = {
|
|
754
809
|
readonly kind: 'fk';
|
|
755
810
|
readonly fields: SourceFieldNames;
|
|
756
811
|
readonly targetModel: TargetModelName;
|
|
@@ -776,7 +831,7 @@ type ForeignKeyConstraint<SourceFieldNames extends readonly string[] = readonly
|
|
|
776
831
|
readonly onDelete?: 'noAction' | 'restrict' | 'cascade' | 'setNull' | 'setDefault';
|
|
777
832
|
readonly onUpdate?: 'noAction' | 'restrict' | 'cascade' | 'setNull' | 'setDefault';
|
|
778
833
|
readonly constraint?: boolean;
|
|
779
|
-
readonly index?:
|
|
834
|
+
readonly index?: Index;
|
|
780
835
|
};
|
|
781
836
|
declare function createConstraintsDsl<IndexTypes extends IndexTypeMap = Record<never, never>>(): {
|
|
782
837
|
ref: <ModelName extends string, FieldName extends string>(modelName: ModelName, fieldName: FieldName) => TargetFieldRef<ModelName, FieldName>;
|
|
@@ -789,12 +844,16 @@ declare function createConstraintsDsl<IndexTypes extends IndexTypeMap = Record<n
|
|
|
789
844
|
<FieldNames extends readonly string[], const Name extends string | undefined = undefined>(fields: { readonly [K in keyof FieldNames]: ColumnRef<FieldNames[K] & string>; }, options?: ConstraintOptions<Name>): UniqueConstraint<FieldNames, Name>;
|
|
790
845
|
};
|
|
791
846
|
index: {
|
|
792
|
-
<FieldNames extends readonly string[], const Name extends string | undefined = undefined>(fields: { readonly [K in keyof FieldNames]: ColumnRef<FieldNames[K] & string>; }, options?: IndexInput<Name, IndexTypes>): IndexConstraint<FieldNames, Name
|
|
793
|
-
<const Name extends string | undefined = undefined>(options: ExpressionIndexInput<Name, IndexTypes>): IndexConstraint<never, Name
|
|
847
|
+
<FieldNames extends readonly string[], const Name extends string | undefined = undefined, const Map extends string | undefined = undefined, const Type extends (keyof IndexTypes & string) | undefined = undefined, const Where extends SqlExpression | undefined = undefined, const Unique extends boolean | undefined = undefined>(fields: { readonly [K in keyof FieldNames]: ColumnRef<FieldNames[K] & string>; }, options?: IndexInput<Name, IndexTypes> & IndexSpecCapture<Map, Type, Where, Unique, IndexTypes>): IndexConstraint<FieldNames, NoInfer<Name>, IndexSpecFrom<NoInfer<Map>, NoInfer<Type>, NoInfer<Where>, NoInfer<Unique>, IndexTypes>>;
|
|
848
|
+
<const Name extends string | undefined = undefined, const Map extends string | undefined = undefined, const Type extends (keyof IndexTypes & string) | undefined = undefined, const Where extends SqlExpression | undefined = undefined, const Unique extends boolean | undefined = undefined>(options: ExpressionIndexInput<Name, IndexTypes> & IndexSpecCapture<Map, Type, Where, Unique, IndexTypes>): IndexConstraint<never, NoInfer<Name>, IndexSpecFrom<NoInfer<Map>, NoInfer<Type>, NoInfer<Where>, NoInfer<Unique>, IndexTypes>>;
|
|
794
849
|
};
|
|
795
850
|
foreignKey: {
|
|
796
|
-
<SourceFieldName extends string, TargetModelName extends string, TargetFieldName extends string, const Name extends string | undefined = undefined>(field: ColumnRef<SourceFieldName>, target: TargetFieldRef<TargetModelName, TargetFieldName>, options?: ForeignKeyOptions<Name>
|
|
797
|
-
|
|
851
|
+
<SourceFieldName extends string, TargetModelName extends string, TargetFieldName extends string, const Name extends string | undefined = undefined, const Index extends boolean | string | undefined = undefined>(field: ColumnRef<SourceFieldName>, target: TargetFieldRef<TargetModelName, TargetFieldName>, options?: ForeignKeyOptions<Name> & {
|
|
852
|
+
readonly index?: Index;
|
|
853
|
+
}): ForeignKeyConstraint<readonly [SourceFieldName], TargetModelName, readonly [TargetFieldName], Name, Index>;
|
|
854
|
+
<SourceFieldNames extends readonly string[], TargetModelName extends string, TargetFieldNames extends readonly string[], const Name extends string | undefined = undefined, const Index extends boolean | string | undefined = undefined>(fields: { readonly [K in keyof SourceFieldNames]: ColumnRef<SourceFieldNames[K] & string>; }, target: { readonly [K in keyof TargetFieldNames]: TargetFieldRef<TargetModelName, TargetFieldNames[K] & string>; }, options?: ForeignKeyOptions<Name> & {
|
|
855
|
+
readonly index?: Index;
|
|
856
|
+
}): ForeignKeyConstraint<SourceFieldNames, TargetModelName, TargetFieldNames, Name, Index>;
|
|
798
857
|
};
|
|
799
858
|
};
|
|
800
859
|
type ConstraintsDsl = ReturnType<typeof createConstraintsDsl>;
|
|
@@ -826,8 +885,8 @@ type AttributeContext<Fields extends Record<string, ScalarFieldBuilder>> = {
|
|
|
826
885
|
readonly constraints: Pick<ConstraintsDsl, 'id' | 'unique'>;
|
|
827
886
|
};
|
|
828
887
|
type PackAwareIndex<IndexTypes extends IndexTypeMap> = {
|
|
829
|
-
<FieldNames extends readonly string[], const Name extends string | undefined = undefined>(fields: { readonly [K in keyof FieldNames]: ColumnRef<FieldNames[K] & string>; }, options?: IndexInput<Name, IndexTypes>): IndexConstraint<FieldNames, Name
|
|
830
|
-
<const Name extends string | undefined = undefined>(options: ExpressionIndexInput<Name, IndexTypes>): IndexConstraint<never, Name
|
|
888
|
+
<FieldNames extends readonly string[], const Name extends string | undefined = undefined, const Map extends string | undefined = undefined, const Type extends (keyof IndexTypes & string) | undefined = undefined, const Where extends SqlExpression | undefined = undefined, const Unique extends boolean | undefined = undefined>(fields: { readonly [K in keyof FieldNames]: ColumnRef<FieldNames[K] & string>; }, options?: IndexInput<Name, IndexTypes> & IndexSpecCapture<Map, Type, Where, Unique, IndexTypes>): IndexConstraint<FieldNames, NoInfer<Name>, IndexSpecFrom<NoInfer<Map>, NoInfer<Type>, NoInfer<Where>, NoInfer<Unique>, IndexTypes>>;
|
|
889
|
+
<const Name extends string | undefined = undefined, const Map extends string | undefined = undefined, const Type extends (keyof IndexTypes & string) | undefined = undefined, const Where extends SqlExpression | undefined = undefined, const Unique extends boolean | undefined = undefined>(options: ExpressionIndexInput<Name, IndexTypes> & IndexSpecCapture<Map, Type, Where, Unique, IndexTypes>): IndexConstraint<never, NoInfer<Name>, IndexSpecFrom<NoInfer<Map>, NoInfer<Type>, NoInfer<Where>, NoInfer<Unique>, IndexTypes>>;
|
|
831
890
|
};
|
|
832
891
|
type PackAwareSqlConstraints<IndexTypes extends IndexTypeMap> = {
|
|
833
892
|
readonly foreignKey: ConstraintsDsl['foreignKey'];
|
|
@@ -931,11 +990,16 @@ type AnyNamedModelToken = NamedModelTokenShape<string, Record<string, ScalarFiel
|
|
|
931
990
|
type LazyNamedModelToken<Token extends AnyNamedModelToken = AnyNamedModelToken> = () => Token;
|
|
932
991
|
type RelationFieldSelection<FieldName extends string> = FieldName | readonly FieldName[];
|
|
933
992
|
type RelationModelName<Target> = Target extends NamedModelTokenShape<infer ModelName extends string, Record<string, ScalarFieldBuilder>> ? ModelName : Target extends (() => infer Token) ? RelationModelName<Token> : never;
|
|
993
|
+
type RelationSpaceId<Target> = Target extends {
|
|
994
|
+
readonly __spaceId: infer SpaceId extends string;
|
|
995
|
+
} ? SpaceId : Target extends (() => infer Token) ? RelationSpaceId<Token> : '<self>';
|
|
934
996
|
type RelationModelFieldNames<Target> = Target extends NamedModelTokenShape<string, infer Fields> ? keyof Fields & string : Target extends (() => infer Token) ? RelationModelFieldNames<Token> : never;
|
|
935
997
|
type ContractInput<Family extends FamilyPackRef<string> = FamilyPackRef<string>, Target extends TargetPackRef<'sql', string> = TargetPackRef<'sql', string>, Types extends Record<string, AuthoredStorageTypeInstance> = Record<never, never>, Models extends Record<string, ContractModelBuilder<string | undefined, Record<string, ScalarFieldBuilder>, Record<string, AnyRelationBuilder>, ModelAttributesSpec | undefined, SqlStageSpec | undefined>> = Record<never, never>, Extensions extends Record<string, ExtensionPackRef<'sql', string>> | undefined = undefined> = {
|
|
936
998
|
readonly family: Family;
|
|
937
999
|
readonly target: Target;
|
|
938
1000
|
readonly extensions?: Extensions;
|
|
1001
|
+
/** The adapter the contract runs with. Its capabilities join the target's and the extensions', as `prisma contract emit` and the runtime join them. The Postgres and SQLite `defineContract` supply it. */
|
|
1002
|
+
readonly adapter?: CapabilityContributor;
|
|
939
1003
|
readonly naming?: NamingConfig;
|
|
940
1004
|
readonly storageHash?: string;
|
|
941
1005
|
readonly foreignKeyDefaults?: ForeignKeyDefaultsState;
|
|
@@ -1031,34 +1095,34 @@ declare function extensionModel<const ModelName extends string, Fields extends R
|
|
|
1031
1095
|
readonly fields: Fields;
|
|
1032
1096
|
readonly table: string;
|
|
1033
1097
|
}, spaceId: TSpaceId): ContractModelBuilder<ModelName, Fields, Record<never, never>, undefined, undefined, Record<never, never>, TSpaceId>;
|
|
1034
|
-
declare function belongsTo<Token extends AnyNamedModelToken, FromField extends string | readonly string[], ToField extends RelationFieldSelection<RelationModelFieldNames<Token>>>(toModel: Token | LazyNamedModelToken<Token>, options: {
|
|
1098
|
+
declare function belongsTo<Token extends AnyNamedModelToken, const FromField extends string | readonly string[], const ToField extends RelationFieldSelection<RelationModelFieldNames<Token>>>(toModel: Token | LazyNamedModelToken<Token>, options: {
|
|
1035
1099
|
readonly from: FromField;
|
|
1036
1100
|
readonly to: ToField;
|
|
1037
1101
|
readonly optional?: boolean;
|
|
1038
|
-
}): RelationBuilder<BelongsToRelation<RelationModelName<Token>, FromField, ToField
|
|
1039
|
-
declare function belongsTo<ToModel extends string, FromField extends string | readonly string[], ToField extends string | readonly string[]>(toModel: ToModel, options: {
|
|
1102
|
+
}): RelationBuilder<BelongsToRelation<RelationModelName<Token>, FromField, ToField, undefined, RelationSpaceId<Token>>>;
|
|
1103
|
+
declare function belongsTo<ToModel extends string, const FromField extends string | readonly string[], const ToField extends string | readonly string[]>(toModel: ToModel, options: {
|
|
1040
1104
|
readonly from: FromField;
|
|
1041
1105
|
readonly to: ToField;
|
|
1042
1106
|
readonly optional?: boolean;
|
|
1043
|
-
}): RelationBuilder<BelongsToRelation<ToModel, FromField, ToField>>;
|
|
1044
|
-
declare function hasMany<Token extends AnyNamedModelToken, ByField extends RelationFieldSelection<RelationModelFieldNames<Token>>>(toModel: Token | LazyNamedModelToken<Token>, options: {
|
|
1107
|
+
}): RelationBuilder<BelongsToRelation<ToModel, FromField, ToField, undefined, '<self>'>>;
|
|
1108
|
+
declare function hasMany<Token extends AnyNamedModelToken, const ByField extends RelationFieldSelection<RelationModelFieldNames<Token>>>(toModel: Token | LazyNamedModelToken<Token>, options: {
|
|
1045
1109
|
readonly by: ByField;
|
|
1046
1110
|
}): RelationBuilder<HasManyRelation<RelationModelName<Token>, ByField>>;
|
|
1047
|
-
declare function hasMany<ToModel extends string, ByField extends string | readonly string[]>(toModel: ToModel, options: {
|
|
1111
|
+
declare function hasMany<ToModel extends string, const ByField extends string | readonly string[]>(toModel: ToModel, options: {
|
|
1048
1112
|
readonly by: ByField;
|
|
1049
1113
|
}): RelationBuilder<HasManyRelation<ToModel, ByField>>;
|
|
1050
|
-
declare function hasOne<Token extends AnyNamedModelToken, ByField extends RelationFieldSelection<RelationModelFieldNames<Token>>>(toModel: Token | LazyNamedModelToken<Token>, options: {
|
|
1114
|
+
declare function hasOne<Token extends AnyNamedModelToken, const ByField extends RelationFieldSelection<RelationModelFieldNames<Token>>>(toModel: Token | LazyNamedModelToken<Token>, options: {
|
|
1051
1115
|
readonly by: ByField;
|
|
1052
1116
|
}): RelationBuilder<HasOneRelation<RelationModelName<Token>, ByField>>;
|
|
1053
|
-
declare function hasOne<ToModel extends string, ByField extends string | readonly string[]>(toModel: ToModel, options: {
|
|
1117
|
+
declare function hasOne<ToModel extends string, const ByField extends string | readonly string[]>(toModel: ToModel, options: {
|
|
1054
1118
|
readonly by: ByField;
|
|
1055
1119
|
}): RelationBuilder<HasOneRelation<ToModel, ByField>>;
|
|
1056
|
-
declare function manyToMany<ToToken extends AnyNamedModelToken, ThroughToken extends AnyNamedModelToken, FromField extends RelationFieldSelection<RelationModelFieldNames<ThroughToken>>, ToField extends RelationFieldSelection<RelationModelFieldNames<ThroughToken>>>(toModel: ToToken | LazyNamedModelToken<ToToken>, options: {
|
|
1120
|
+
declare function manyToMany<ToToken extends AnyNamedModelToken, ThroughToken extends AnyNamedModelToken, const FromField extends RelationFieldSelection<RelationModelFieldNames<ThroughToken>>, const ToField extends RelationFieldSelection<RelationModelFieldNames<ThroughToken>>>(toModel: ToToken | LazyNamedModelToken<ToToken>, options: {
|
|
1057
1121
|
readonly through: ThroughToken | LazyNamedModelToken<ThroughToken>;
|
|
1058
1122
|
readonly from: FromField;
|
|
1059
1123
|
readonly to: ToField;
|
|
1060
1124
|
}): RelationBuilder<ManyToManyRelation<RelationModelName<ToToken>, RelationModelName<ThroughToken>, FromField, ToField>>;
|
|
1061
|
-
declare function manyToMany<ToModel extends string, ThroughModel extends string, FromField extends string | readonly string[], ToField extends string | readonly string[]>(toModel: ToModel, options: {
|
|
1125
|
+
declare function manyToMany<ToModel extends string, ThroughModel extends string, const FromField extends string | readonly string[], const ToField extends string | readonly string[]>(toModel: ToModel, options: {
|
|
1062
1126
|
readonly through: ThroughModel;
|
|
1063
1127
|
readonly from: FromField;
|
|
1064
1128
|
readonly to: ToField;
|
|
@@ -1093,9 +1157,29 @@ type SupportsNamedConstraintOptions<Descriptor extends AuthoringFieldPresetDescr
|
|
|
1093
1157
|
readonly unique: true;
|
|
1094
1158
|
} ? true : false;
|
|
1095
1159
|
type PresetCodecId<Descriptor extends AuthoringFieldPresetDescriptor, Args extends readonly unknown[]> = ResolveTemplateValue<Descriptor['output']['codecId'], Args> extends string ? ResolveTemplateValue<Descriptor['output']['codecId'], Args> : string;
|
|
1096
|
-
type
|
|
1160
|
+
type DefinedTypeParams<TypeParams> = { readonly [K in keyof TypeParams as TypeParams[K] extends undefined ? never : K]: TypeParams[K]; };
|
|
1161
|
+
type PresetTypeParams<Descriptor extends AuthoringFieldPresetDescriptor, Args extends readonly unknown[]> = Descriptor['output'] extends {
|
|
1162
|
+
readonly typeParams: infer Template;
|
|
1163
|
+
} ? DefinedTypeParams<ResolveTemplateValue<Template, Args>> extends (infer TypeParams) ? keyof TypeParams extends never ? Record<never, never> : {
|
|
1164
|
+
readonly typeParams: TypeParams;
|
|
1165
|
+
} : Record<never, never> : Record<never, never>;
|
|
1166
|
+
type PresetPhaseTemplate<Defaults, Phase extends 'onCreate' | 'onUpdate'> = Defaults extends { readonly [K in Phase]: infer Template; } ? Template : undefined;
|
|
1167
|
+
type PresetPhasePresent<Template, Args extends readonly unknown[]> = Template extends {
|
|
1168
|
+
readonly kind: 'select';
|
|
1169
|
+
readonly index: infer Index extends number;
|
|
1170
|
+
readonly cases: infer Cases;
|
|
1171
|
+
} ? Args[Index] extends keyof Cases ? true : false : [Template] extends [undefined] ? false : true;
|
|
1172
|
+
type PresetHasExecutionDefault<Descriptor extends AuthoringFieldPresetDescriptor, Args extends readonly unknown[]> = Descriptor['output'] extends {
|
|
1173
|
+
readonly executionDefaults: infer Defaults;
|
|
1174
|
+
} ? true extends PresetPhasePresent<PresetPhaseTemplate<Defaults, 'onCreate'>, Args> | PresetPhasePresent<PresetPhaseTemplate<Defaults, 'onUpdate'>, Args> ? true : false : false;
|
|
1175
|
+
type FieldBuilderFromPresetDescriptor<Descriptor extends AuthoringFieldPresetDescriptor, Args extends readonly unknown[] = readonly [], ConstraintName extends string | undefined = undefined, CodecTypes extends CodecTypeMap = Record<never, never>> = ScalarFieldBuilder<ScalarFieldState<WithCodecInput<ColumnTypeDescriptor<PresetCodecId<Descriptor, Args>> & PresetTypeParams<Descriptor, Args>, CodecInput<CodecTypes, {
|
|
1097
1176
|
readonly codecId: PresetCodecId<Descriptor, Args>;
|
|
1098
|
-
}>>, undefined, ResolveTemplateValue<Descriptor['output']['nullable'], Args> extends true ? true : false, undefined, NamedConstraintState<ResolveTemplateValue<Descriptor['output']['id'], Args> extends true ? true : false, ConstraintName>, NamedConstraintState<ResolveTemplateValue<Descriptor['output']['unique'], Args> extends true ? true : false, ConstraintName
|
|
1177
|
+
}>>, undefined, ResolveTemplateValue<Descriptor['output']['nullable'], Args> extends true ? true : false, undefined, NamedConstraintState<ResolveTemplateValue<Descriptor['output']['id'], Args> extends true ? true : false, ConstraintName>, NamedConstraintState<ResolveTemplateValue<Descriptor['output']['unique'], Args> extends true ? true : false, ConstraintName>, false, {
|
|
1178
|
+
readonly column: Descriptor['output'] extends {
|
|
1179
|
+
readonly default: object;
|
|
1180
|
+
} ? true : false;
|
|
1181
|
+
readonly execution: PresetHasExecutionDefault<Descriptor, Args>;
|
|
1182
|
+
}>>;
|
|
1099
1183
|
type FieldHelperFunctionWithoutNamedConstraint<Descriptor extends AuthoringFieldPresetDescriptor, CodecTypes extends CodecTypeMap = Record<never, never>> = Descriptor extends {
|
|
1100
1184
|
readonly args: infer Args extends readonly AuthoringArgumentDescriptor[];
|
|
1101
1185
|
} ? <const Params extends TupleFromArgumentDescriptors<Args>>(...args: Params) => FieldBuilderFromPresetDescriptor<Descriptor, Params, undefined, CodecTypes> : () => FieldBuilderFromPresetDescriptor<Descriptor, readonly [], undefined, CodecTypes>;
|
|
@@ -1122,9 +1206,9 @@ type ExtractCodecTypesFromPack<P> = P extends {
|
|
|
1122
1206
|
__codecTypes?: infer C extends Record<string, {
|
|
1123
1207
|
readonly output: unknown;
|
|
1124
1208
|
}>;
|
|
1125
|
-
} ? PublicCodecTypes<C> : Record<
|
|
1209
|
+
} ? PublicCodecTypes<C> : Record<never, never>;
|
|
1126
1210
|
type MergeExtensionCodecTypes<Packs extends Record<string, unknown>> = UnionToIntersection<{ [K in keyof Packs]: ExtractCodecTypesFromPack<Packs[K]>; }[keyof Packs]>;
|
|
1127
|
-
type MergeExtensionCodecTypesSafe<Packs> = Packs extends Record<string, unknown> ? keyof Packs extends never ? Record<
|
|
1211
|
+
type MergeExtensionCodecTypesSafe<Packs> = Packs extends Record<string, unknown> ? keyof Packs extends never ? Record<never, never> : MergeExtensionCodecTypes<Packs> : Record<never, never>;
|
|
1128
1212
|
type ExtractIndexTypesFromPack<P> = P extends {
|
|
1129
1213
|
readonly indexTypes: IndexTypeRegistration<infer M>;
|
|
1130
1214
|
} ? M : Record<never, never>;
|
|
@@ -1138,9 +1222,36 @@ type DefinitionExtensions<Definition> = Definition extends {
|
|
|
1138
1222
|
type ExtractPackCapabilities<P> = P extends {
|
|
1139
1223
|
readonly capabilities?: infer Caps extends Record<string, Record<string, boolean>>;
|
|
1140
1224
|
} ? Caps : never;
|
|
1141
|
-
type
|
|
1225
|
+
type ExtensionCapabilityMatrices<Packs> = Packs extends Record<string, unknown> ? { [K in keyof Packs]: Defaulted<ExtractPackCapabilities<Packs[K]>, Record<never, never>>; }[keyof Packs] : never;
|
|
1226
|
+
type KeysOfEach<T> = T extends unknown ? keyof T : never;
|
|
1227
|
+
type NamespaceOfEach<Matrices, Namespace> = Matrices extends unknown ? Namespace extends keyof Matrices ? Matrices[Namespace] : never : never;
|
|
1228
|
+
type FlagOfEach<Flags, Flag> = Flags extends unknown ? Flag extends keyof Flags ? Flags[Flag] : never : never;
|
|
1229
|
+
type MergeExtensionPackCapabilities<Packs> = { readonly [Namespace in KeysOfEach<ExtensionCapabilityMatrices<Packs>>]: { readonly [Flag in KeysOfEach<NamespaceOfEach<ExtensionCapabilityMatrices<Packs>, Namespace>>]: FlagOfEach<NamespaceOfEach<ExtensionCapabilityMatrices<Packs>, Namespace>, Flag> extends true ? true : false; }; };
|
|
1142
1230
|
type Defaulted<T, Fallback> = [T] extends [never] ? Fallback : T;
|
|
1143
|
-
type
|
|
1231
|
+
type DefinitionAdapter<Definition> = Definition extends {
|
|
1232
|
+
readonly adapter?: infer Adapter;
|
|
1233
|
+
} ? Present<Adapter> : never;
|
|
1234
|
+
type EnabledCapabilityFlags<Flags> = { readonly [Flag in keyof Flags as Flags[Flag] extends true ? Flag : never]: true; };
|
|
1235
|
+
type EnabledCapabilities<Capabilities> = { readonly [Namespace in keyof Capabilities as keyof EnabledCapabilityFlags<Capabilities[Namespace]> extends never ? never : Namespace]: EnabledCapabilityFlags<Capabilities[Namespace]>; };
|
|
1236
|
+
type OverrideCapabilities<Earlier, Later> = { readonly [Namespace in keyof Earlier | keyof Later]: Namespace extends keyof Later ? Namespace extends keyof Earlier ? Omit<Earlier[Namespace], keyof Later[Namespace]> & Later[Namespace] : Later[Namespace] : Namespace extends keyof Earlier ? Earlier[Namespace] : never; };
|
|
1237
|
+
type DerivedCapabilities<Definition> = EnabledCapabilities<OverrideCapabilities<OverrideCapabilities<Defaulted<ExtractPackCapabilities<DefinitionTarget<Definition>>, Record<never, never>>, Defaulted<ExtractPackCapabilities<DefinitionAdapter<Definition>>, Record<never, never>>>, MergeExtensionPackCapabilities<DefinitionExtensions<Definition>>>>;
|
|
1238
|
+
type ExtractQueryOperationTypesFromPack<P, CodecTypes extends Record<string, {
|
|
1239
|
+
readonly input: unknown;
|
|
1240
|
+
readonly output: unknown;
|
|
1241
|
+
}>> = P extends {
|
|
1242
|
+
readonly __queryOperationTypes?: infer TypeFunction;
|
|
1243
|
+
} ? Present<TypeFunction> extends (infer Defined extends QueryOperationTypesFunction) ? ApplyQueryOperationTypes<Defined, CodecTypes> : Record<never, never> : Record<never, never>;
|
|
1244
|
+
type PackQueryOperationTypes<Definition> = UnionToIntersection<{ [K in keyof AllPacks<Definition>]: ExtractQueryOperationTypesFromPack<AllPacks<Definition>[K], CodecTypesFromDefinition<Definition>>; }[keyof AllPacks<Definition>]>;
|
|
1245
|
+
type QueryOperationTypesFromDefinition<Definition> = PackQueryOperationTypes<Definition> extends (infer Operations extends Record<string, unknown>) ? Operations : Record<string, never>;
|
|
1246
|
+
type PackAggregateDescriptors<Pack> = Pack extends {
|
|
1247
|
+
readonly types?: infer Types;
|
|
1248
|
+
} ? Present<Types> extends {
|
|
1249
|
+
readonly aggregateDescriptors?: infer Descriptors;
|
|
1250
|
+
} ? Present<Descriptors> extends ReadonlyArray<infer Descriptor> ? Descriptor extends {
|
|
1251
|
+
readonly operation: infer Operation;
|
|
1252
|
+
} ? string extends Operation ? never : Descriptor : never : never : never : never;
|
|
1253
|
+
type ExtensionAggregateDescriptors<Definition> = { [K in keyof DefinitionExtensions<Definition>]: PackAggregateDescriptors<DefinitionExtensions<Definition>[K]>; }[keyof DefinitionExtensions<Definition>];
|
|
1254
|
+
type AggregateTypesFromDefinition<Definition> = AggregateTypesFromDescriptors<PackAggregateDescriptors<DefinitionTarget<Definition>> | PackAggregateDescriptors<DefinitionAdapter<Definition>> | ExtensionAggregateDescriptors<Definition>, CodecTypesFromDefinition<Definition>>;
|
|
1144
1255
|
type DefinitionTargetId<Definition> = Definition extends {
|
|
1145
1256
|
readonly target: TargetPackRef<'sql', infer Target>;
|
|
1146
1257
|
} ? Target : never;
|
|
@@ -1151,6 +1262,9 @@ type CodecTypesFromDefinition<Definition> = ExtractCodecTypesFromPack<Definition
|
|
|
1151
1262
|
type DefinitionTarget<Definition> = Definition extends {
|
|
1152
1263
|
readonly target: infer Target;
|
|
1153
1264
|
} ? Target : never;
|
|
1265
|
+
type AllPacks<Definition> = DefinitionExtensions<Definition> & {
|
|
1266
|
+
readonly __target: DefinitionTarget<Definition>;
|
|
1267
|
+
};
|
|
1154
1268
|
type DefinitionModels<Definition> = Definition extends {
|
|
1155
1269
|
readonly models?: unknown;
|
|
1156
1270
|
} ? Present<Definition['models']> extends Record<string, unknown> ? Present<Definition['models']> : Record<never, never> : Record<never, never>;
|
|
@@ -1210,6 +1324,15 @@ type FieldManyOf<FieldState> = FieldState extends {
|
|
|
1210
1324
|
readonly elementNullable: boolean;
|
|
1211
1325
|
};
|
|
1212
1326
|
} ? Many : false;
|
|
1327
|
+
type FieldDefaultPresenceOf<FieldState> = Present<FieldState extends {
|
|
1328
|
+
readonly __defaultPresence?: infer Defaults;
|
|
1329
|
+
} ? Defaults : never>;
|
|
1330
|
+
type FieldHasColumnDefault<FieldState> = FieldDefaultPresenceOf<FieldState> extends {
|
|
1331
|
+
readonly column: true;
|
|
1332
|
+
} ? true : false;
|
|
1333
|
+
type FieldHasExecutionDefault<FieldState> = FieldDefaultPresenceOf<FieldState> extends {
|
|
1334
|
+
readonly execution: true;
|
|
1335
|
+
} ? true : false;
|
|
1213
1336
|
type FieldColumnOverrideOf<FieldState> = Present<FieldState extends {
|
|
1214
1337
|
readonly columnName?: infer ColumnName;
|
|
1215
1338
|
} ? ColumnName : never>;
|
|
@@ -1218,7 +1341,12 @@ type FieldInlineIdSpecOf<FieldState> = Present<FieldState extends {
|
|
|
1218
1341
|
} ? IdSpec : never>;
|
|
1219
1342
|
type DescriptorCodecId<Descriptor> = Descriptor extends {
|
|
1220
1343
|
readonly codecId: infer CodecId extends string;
|
|
1221
|
-
} ? CodecId : string;
|
|
1344
|
+
} ? string extends CodecId ? ColumnSpecCodecId<Descriptor> : CodecId : string;
|
|
1345
|
+
type ColumnSpecCodecId<Descriptor> = Descriptor extends {
|
|
1346
|
+
readonly codecFactory: (...args: never[]) => {
|
|
1347
|
+
readonly id: infer Id extends string;
|
|
1348
|
+
};
|
|
1349
|
+
} ? Id : string;
|
|
1222
1350
|
type DescriptorTypeParams<Descriptor> = Descriptor extends {
|
|
1223
1351
|
readonly typeParams: infer TypeParams extends Record<string, unknown>;
|
|
1224
1352
|
} ? TypeParams : undefined;
|
|
@@ -1259,22 +1387,128 @@ type ModelIdFieldNames<Definition, ModelName extends ModelNames<Definition>> = [
|
|
|
1259
1387
|
type ModelIdName<Definition, ModelName extends ModelNames<Definition>> = [AttributeIdName<Definition, ModelName>] extends [never] ? Present<InlineIdName<Definition, ModelName>> : AttributeIdName<Definition, ModelName>;
|
|
1260
1388
|
type StorageColumn<CodecId extends string, Nullable extends boolean, TypeRef extends string | undefined = undefined, TypeParams extends Record<string, unknown> | undefined = undefined, Many extends false | {
|
|
1261
1389
|
readonly elementNullable: boolean;
|
|
1262
|
-
} = false> = {
|
|
1390
|
+
} = false, HasDefault extends boolean = false> = {
|
|
1263
1391
|
readonly dataType: string;
|
|
1264
1392
|
readonly codecId: CodecId;
|
|
1265
1393
|
readonly nullable: Nullable;
|
|
1266
|
-
|
|
1267
|
-
|
|
1394
|
+
} & (HasDefault extends true ? {
|
|
1395
|
+
readonly default: ColumnDefault;
|
|
1396
|
+
} : Record<never, never>) & (TypeRef extends string ? {
|
|
1268
1397
|
readonly typeRef: TypeRef;
|
|
1269
1398
|
} : Record<never, never>) & (TypeParams extends Record<string, unknown> ? {
|
|
1270
1399
|
readonly typeParams: TypeParams;
|
|
1271
1400
|
} : Record<never, never>) & {
|
|
1272
1401
|
readonly many: Many;
|
|
1273
1402
|
};
|
|
1274
|
-
type ModelStorageColumn<Definition, ModelName extends ModelNames<Definition>, FieldName extends string> = FieldName extends ModelFieldNames<Definition, ModelName> ? StorageColumn<DescriptorCodecId<ResolveFieldDescriptor<Definition, ModelFieldState<Definition, ModelName, FieldName>>>, FieldNullableOf<ModelFieldState<Definition, ModelName, FieldName>>, ResolveFieldColumnTypeRef<Definition, ModelFieldState<Definition, ModelName, FieldName>>, ResolveFieldColumnTypeParams<Definition, ModelFieldState<Definition, ModelName, FieldName>>, FieldManyOf<ModelFieldState<Definition, ModelName, FieldName>>> : never;
|
|
1403
|
+
type ModelStorageColumn<Definition, ModelName extends ModelNames<Definition>, FieldName extends string> = FieldName extends ModelFieldNames<Definition, ModelName> ? StorageColumn<DescriptorCodecId<ResolveFieldDescriptor<Definition, ModelFieldState<Definition, ModelName, FieldName>>>, FieldNullableOf<ModelFieldState<Definition, ModelName, FieldName>>, ResolveFieldColumnTypeRef<Definition, ModelFieldState<Definition, ModelName, FieldName>>, ResolveFieldColumnTypeParams<Definition, ModelFieldState<Definition, ModelName, FieldName>>, FieldManyOf<ModelFieldState<Definition, ModelName, FieldName>>, FieldHasColumnDefault<ModelFieldState<Definition, ModelName, FieldName>>> : never;
|
|
1404
|
+
type StagedRelationState<Definition, ModelName extends ModelNames<Definition>, RelName extends StagedModelRelationNames<Definition, ModelName>> = StagedModelRelations<Definition, ModelName>[RelName] extends {
|
|
1405
|
+
readonly __state: infer State;
|
|
1406
|
+
} ? State : never;
|
|
1407
|
+
type RelationSourceModelName<Source> = Source extends {
|
|
1408
|
+
readonly modelName: infer Name extends string;
|
|
1409
|
+
} ? Name : Source extends {
|
|
1410
|
+
readonly resolve: () => infer Name extends string;
|
|
1411
|
+
} ? Name : never;
|
|
1412
|
+
type RelationFieldTuple<Fields> = Fields extends readonly string[] ? Fields : readonly [Extract<Fields, string>];
|
|
1413
|
+
type RelationFieldUnion<Fields> = Fields extends readonly (infer FieldName)[] ? FieldName : Fields;
|
|
1414
|
+
type ModelAnchorFieldNames<Definition, ModelName extends ModelNames<Definition>> = ModelIdFieldNames<Definition, ModelName> extends (infer IdFields extends readonly string[]) ? IdFields : readonly ['id'];
|
|
1415
|
+
type AnyFieldNullable<Definition, ModelName extends ModelNames<Definition>, Fields> = true extends (RelationFieldUnion<Fields> extends (infer FieldName) ? FieldName extends ModelFieldNames<Definition, ModelName> ? FieldNullableOf<ModelFieldState<Definition, ModelName, FieldName>> : boolean : never) ? true : false;
|
|
1416
|
+
type BelongsToNullable<Definition, ModelName extends ModelNames<Definition>, State> = AnyFieldNullable<Definition, ModelName, State extends {
|
|
1417
|
+
readonly from: infer From;
|
|
1418
|
+
} ? From : never>;
|
|
1419
|
+
type BuiltRelationTarget<Definition, Target extends ModelNames<Definition>> = {
|
|
1420
|
+
readonly namespace: ModelNamespace<Definition, Target> & NamespaceId;
|
|
1421
|
+
readonly model: Target;
|
|
1422
|
+
};
|
|
1423
|
+
type JunctionTargetColumns<Definition, Target extends ModelNames<Definition>> = ModelIdFieldNames<Definition, Target> extends (infer IdFields extends readonly string[]) ? FieldNamesToColumnNames<Definition, Target, IdFields> : BuiltUnique<Definition, Target>['columns'];
|
|
1424
|
+
type BuiltManyToManyRelation<Definition, ModelName extends ModelNames<Definition>, Target extends ModelNames<Definition>, State> = State extends {
|
|
1425
|
+
readonly through: infer ThroughSource;
|
|
1426
|
+
readonly from: infer From;
|
|
1427
|
+
readonly to: infer To;
|
|
1428
|
+
} ? RelationSourceModelName<ThroughSource> extends (infer Through extends ModelNames<Definition>) ? {
|
|
1429
|
+
readonly to: BuiltRelationTarget<Definition, Target>;
|
|
1430
|
+
readonly cardinality: 'N:M';
|
|
1431
|
+
readonly on: {
|
|
1432
|
+
readonly localFields: ModelAnchorFieldNames<Definition, ModelName>;
|
|
1433
|
+
readonly targetFields: FieldNamesToColumnNames<Definition, Through, RelationFieldTuple<From>>;
|
|
1434
|
+
};
|
|
1435
|
+
readonly through: {
|
|
1436
|
+
readonly table: ModelTableName<Definition, Through>;
|
|
1437
|
+
readonly namespaceId: ModelNamespace<Definition, Through>;
|
|
1438
|
+
readonly parentColumns: FieldNamesToColumnNames<Definition, Through, RelationFieldTuple<From>>;
|
|
1439
|
+
readonly childColumns: FieldNamesToColumnNames<Definition, Through, RelationFieldTuple<To>>;
|
|
1440
|
+
readonly targetColumns: JunctionTargetColumns<Definition, Target>;
|
|
1441
|
+
};
|
|
1442
|
+
} : ContractRelation : ContractRelation;
|
|
1443
|
+
type BuiltSameSpaceRelationByKind<Definition, ModelName extends ModelNames<Definition>, Target extends ModelNames<Definition>, State> = State extends {
|
|
1444
|
+
readonly kind: 'belongsTo';
|
|
1445
|
+
readonly from: infer From;
|
|
1446
|
+
readonly to: infer To;
|
|
1447
|
+
} ? {
|
|
1448
|
+
readonly to: BuiltRelationTarget<Definition, Target>;
|
|
1449
|
+
readonly cardinality: 'N:1';
|
|
1450
|
+
readonly nullable: BelongsToNullable<Definition, ModelName, State>;
|
|
1451
|
+
readonly on: {
|
|
1452
|
+
readonly localFields: RelationFieldTuple<From>;
|
|
1453
|
+
readonly targetFields: RelationFieldTuple<To>;
|
|
1454
|
+
};
|
|
1455
|
+
} : State extends {
|
|
1456
|
+
readonly kind: 'hasMany';
|
|
1457
|
+
readonly by: infer By;
|
|
1458
|
+
} ? {
|
|
1459
|
+
readonly to: BuiltRelationTarget<Definition, Target>;
|
|
1460
|
+
readonly cardinality: '1:N';
|
|
1461
|
+
readonly on: {
|
|
1462
|
+
readonly localFields: ModelAnchorFieldNames<Definition, ModelName>;
|
|
1463
|
+
readonly targetFields: RelationFieldTuple<By>;
|
|
1464
|
+
};
|
|
1465
|
+
} : State extends {
|
|
1466
|
+
readonly kind: 'hasOne';
|
|
1467
|
+
readonly by: infer By;
|
|
1468
|
+
} ? {
|
|
1469
|
+
readonly to: BuiltRelationTarget<Definition, Target>;
|
|
1470
|
+
readonly cardinality: '1:1';
|
|
1471
|
+
readonly nullable: true;
|
|
1472
|
+
readonly on: {
|
|
1473
|
+
readonly localFields: ModelAnchorFieldNames<Definition, ModelName>;
|
|
1474
|
+
readonly targetFields: RelationFieldTuple<By>;
|
|
1475
|
+
};
|
|
1476
|
+
} : State extends {
|
|
1477
|
+
readonly kind: 'manyToMany';
|
|
1478
|
+
} ? BuiltManyToManyRelation<Definition, ModelName, Target, State> : ContractRelation;
|
|
1479
|
+
type IsOtherSpaceTarget<State> = State extends {
|
|
1480
|
+
readonly __targetSpaceId?: infer SpaceId;
|
|
1481
|
+
} ? [Present<SpaceId>] extends ['<self>'] ? false : true : false;
|
|
1482
|
+
type BuiltRelation<Definition, ModelName extends ModelNames<Definition>, State> = IsOtherSpaceTarget<State> extends true ? ContractRelation : BuiltSameSpaceRelation<Definition, ModelName, State>;
|
|
1483
|
+
type BuiltSameSpaceRelation<Definition, ModelName extends ModelNames<Definition>, State> = State extends {
|
|
1484
|
+
readonly toModel: infer Source;
|
|
1485
|
+
} ? RelationSourceModelName<Source> extends (infer Target extends ModelNames<Definition>) ? BuiltSameSpaceRelationByKind<Definition, ModelName, Target, State> : ContractRelation : ContractRelation;
|
|
1486
|
+
type ExecutionDefaultEntries<Definition> = { [ModelName in ModelNames<Definition>]: { [FieldName in ModelFieldNames<Definition, ModelName>]: FieldHasExecutionDefault<ModelFieldState<Definition, ModelName, FieldName>> extends true ? ContractExecutionSection['mutations']['defaults'][number] & {
|
|
1487
|
+
readonly ref: {
|
|
1488
|
+
readonly namespace: ModelNamespace<Definition, ModelName>;
|
|
1489
|
+
readonly entry: ModelTableName<Definition, ModelName>;
|
|
1490
|
+
readonly field: ModelColumnName<Definition, ModelName, FieldName>;
|
|
1491
|
+
};
|
|
1492
|
+
} : never; }[ModelFieldNames<Definition, ModelName>]; }[ModelNames<Definition>];
|
|
1493
|
+
type BuiltExecution<Definition> = [ExecutionDefaultEntries<Definition>] extends [never] ? {
|
|
1494
|
+
readonly execution?: ContractExecutionSection;
|
|
1495
|
+
} : {
|
|
1496
|
+
readonly execution: ContractExecutionSection & {
|
|
1497
|
+
readonly mutations: {
|
|
1498
|
+
readonly defaults: ReadonlyArray<ExecutionDefaultEntries<Definition>>;
|
|
1499
|
+
};
|
|
1500
|
+
};
|
|
1501
|
+
};
|
|
1502
|
+
type DomainFieldTypeParams<TypeParams> = TypeParams extends Record<string, unknown> ? keyof TypeParams extends never ? Record<never, never> : {
|
|
1503
|
+
readonly typeParams: TypeParams;
|
|
1504
|
+
} : Record<never, never>;
|
|
1505
|
+
type DomainFieldMany<Many> = Many extends false ? Record<never, never> : {
|
|
1506
|
+
readonly many: Many;
|
|
1507
|
+
};
|
|
1275
1508
|
type BuiltModels<Definition> = { readonly [ModelName in ModelNames<Definition>]: {
|
|
1276
1509
|
readonly storage: {
|
|
1277
1510
|
readonly table: ModelTableName<Definition, ModelName>;
|
|
1511
|
+
readonly namespaceId: ModelNamespace<Definition, ModelName>;
|
|
1278
1512
|
readonly fields: { readonly [FieldName in ModelFieldNames<Definition, ModelName>]: {
|
|
1279
1513
|
readonly column: ModelColumnName<Definition, ModelName, FieldName>;
|
|
1280
1514
|
}; };
|
|
@@ -1284,22 +1518,127 @@ type BuiltModels<Definition> = { readonly [ModelName in ModelNames<Definition>]:
|
|
|
1284
1518
|
readonly type: {
|
|
1285
1519
|
readonly kind: 'scalar';
|
|
1286
1520
|
readonly codecId: ModelStorageColumn<Definition, ModelName, FieldName>['codecId'];
|
|
1287
|
-
}
|
|
1288
|
-
} &
|
|
1289
|
-
|
|
1290
|
-
}; };
|
|
1291
|
-
readonly relations: { readonly [RelName in StagedModelRelationNames<Definition, ModelName>]: ContractRelation; };
|
|
1521
|
+
} & DomainFieldTypeParams<FieldColumnTypeParams<Definition, ModelFieldState<Definition, ModelName, FieldName>>>;
|
|
1522
|
+
} & DomainFieldMany<FieldManyOf<ModelFieldState<Definition, ModelName, FieldName>>>; };
|
|
1523
|
+
readonly relations: { readonly [RelName in StagedModelRelationNames<Definition, ModelName>]: BuiltRelation<Definition, ModelName, StagedRelationState<Definition, ModelName, RelName>>; };
|
|
1292
1524
|
}; };
|
|
1293
1525
|
type BuiltModelColumnMappings<Definition, ModelName extends ModelNames<Definition>> = BuiltModels<Definition>[ModelName]['storage']['fields'];
|
|
1294
1526
|
type BuiltModelTableName<Definition, ModelName extends ModelNames<Definition>> = BuiltModels<Definition>[ModelName]['storage']['table'];
|
|
1295
1527
|
type BuiltStorageTableColumns<Definition, ModelName extends ModelNames<Definition>> = { readonly [FieldName in keyof BuiltModelColumnMappings<Definition, ModelName> & string as BuiltModelColumnMappings<Definition, ModelName>[FieldName]['column']]: ModelStorageColumn<Definition, ModelName, FieldName>; };
|
|
1528
|
+
type FieldUniqueSpecOf<FieldState> = FieldState extends {
|
|
1529
|
+
readonly unique: infer UniqueSpec;
|
|
1530
|
+
} ? [UniqueSpec] extends [{
|
|
1531
|
+
readonly name?: infer Name;
|
|
1532
|
+
}] ? {
|
|
1533
|
+
readonly name: Name;
|
|
1534
|
+
} : never : never;
|
|
1535
|
+
type UniqueName$1<Name> = Present<Name> extends (infer Defined extends string) ? Defined : never;
|
|
1536
|
+
type InlineUnique<Definition, ModelName extends ModelNames<Definition>> = { [FieldName in ModelFieldNames<Definition, ModelName>]: FieldUniqueSpecOf<ModelFieldState<Definition, ModelName, FieldName>> extends (infer Spec) ? [Spec] extends [never] ? never : Spec extends {
|
|
1537
|
+
readonly name: infer Name;
|
|
1538
|
+
} ? {
|
|
1539
|
+
readonly columns: readonly [ModelColumnName<Definition, ModelName, FieldName>];
|
|
1540
|
+
readonly name?: UniqueName$1<Name>;
|
|
1541
|
+
} : never : never; }[ModelFieldNames<Definition, ModelName>];
|
|
1542
|
+
type AttributeUnique<Definition, ModelName extends ModelNames<Definition>> = ModelAttributes<Definition, ModelName> extends {
|
|
1543
|
+
readonly uniques?: infer Uniques extends readonly unknown[];
|
|
1544
|
+
} ? Uniques[number] extends (infer Unique) ? Unique extends {
|
|
1545
|
+
readonly fields: infer Fields extends readonly string[];
|
|
1546
|
+
} ? number extends Fields['length'] ? never : {
|
|
1547
|
+
readonly columns: FieldNamesToColumnNames<Definition, ModelName, Fields>;
|
|
1548
|
+
readonly name?: Unique extends {
|
|
1549
|
+
readonly name?: infer Name;
|
|
1550
|
+
} ? UniqueName$1<Name> : never;
|
|
1551
|
+
} : never : never : never;
|
|
1552
|
+
type BuiltUnique<Definition, ModelName extends ModelNames<Definition>> = InlineUnique<Definition, ModelName> | AttributeUnique<Definition, ModelName>;
|
|
1553
|
+
type JoinColumns<Columns> = Columns extends readonly [infer Only extends string] ? Only : Columns extends readonly [infer First extends string, ...infer Rest] ? `${First}_${JoinColumns<Rest>}` : string;
|
|
1554
|
+
type SameColumns<A, B> = [A] extends [B] ? ([B] extends [A] ? true : false) : false;
|
|
1555
|
+
type ModelColumnOf<Definition, ModelName extends ModelNames<Definition>> = { readonly [FieldName in ModelFieldNames<Definition, ModelName>]: ModelColumnName<Definition, ModelName, FieldName>; };
|
|
1556
|
+
type DeclaredIndexConstraints<Definition, ModelName extends ModelNames<Definition>> = ModelSql<Definition, ModelName> extends {
|
|
1557
|
+
readonly indexes?: infer Indexes extends readonly unknown[];
|
|
1558
|
+
} ? Indexes : readonly [];
|
|
1559
|
+
type IndexColumns<Definition, ModelName extends ModelNames<Definition>, Constraint> = [Constraint] extends [{
|
|
1560
|
+
readonly fields?: infer Fields;
|
|
1561
|
+
}] ? Present<Fields> extends (infer Defined extends readonly string[]) ? [Defined] extends [never] ? readonly [] : number extends Defined['length'] ? readonly string[] : FieldNamesToColumnNames<Definition, ModelName, Defined> : readonly [] : readonly [];
|
|
1562
|
+
type IndexSpecOfConstraint<Constraint> = [Constraint] extends [{
|
|
1563
|
+
readonly __spec?: infer Spec;
|
|
1564
|
+
}] ? Present<Spec> : never;
|
|
1565
|
+
type IndexMapOf<Constraint> = IndexSpecOfConstraint<Constraint> extends {
|
|
1566
|
+
readonly map: infer Map extends string;
|
|
1567
|
+
} ? Map : never;
|
|
1568
|
+
type IndexNameOf<Constraint> = [Constraint] extends [{
|
|
1569
|
+
readonly name?: infer Name;
|
|
1570
|
+
}] ? Present<Name> extends (infer Defined extends string) ? Defined : never : never;
|
|
1571
|
+
type IndexNaming<Definition, ModelName extends ModelNames<Definition>, Constraint> = [IndexMapOf<Constraint>] extends [never] ? {
|
|
1572
|
+
readonly name: string;
|
|
1573
|
+
readonly prefix: [IndexNameOf<Constraint>] extends [never] ? `${ModelTableName<Definition, ModelName>}_${JoinColumns<IndexColumns<Definition, ModelName, Constraint>>}_idx` : IndexNameOf<Constraint>;
|
|
1574
|
+
} : {
|
|
1575
|
+
readonly name: IndexMapOf<Constraint>;
|
|
1576
|
+
};
|
|
1577
|
+
type IndexMethod<Definition, ModelName extends ModelNames<Definition>, Constraint> = [IndexSpecOfConstraint<Constraint>] extends [never] ? Record<never, never> : IndexMethodOfSpec<Definition, ModelName, IndexSpecOfConstraint<Constraint>>;
|
|
1578
|
+
type IndexMethodOfSpec<Definition, ModelName extends ModelNames<Definition>, Spec> = (Spec extends {
|
|
1579
|
+
readonly type: infer Type extends string;
|
|
1580
|
+
} ? {
|
|
1581
|
+
readonly type: Type;
|
|
1582
|
+
} : Record<never, never>) & (Spec extends {
|
|
1583
|
+
readonly options: infer Options;
|
|
1584
|
+
} ? [Options] extends [undefined] ? Record<never, never> : {
|
|
1585
|
+
readonly options: Options extends IndexOptionsFunction ? (Options & {
|
|
1586
|
+
readonly columnOf: ModelColumnOf<Definition, ModelName>;
|
|
1587
|
+
})['options'] : Options;
|
|
1588
|
+
} : Record<never, never>);
|
|
1589
|
+
type BuiltDeclaredIndexOf<Definition, ModelName extends ModelNames<Definition>, Constraint> = IndexNaming<Definition, ModelName, Constraint> & {
|
|
1590
|
+
readonly columns: IndexColumns<Definition, ModelName, Constraint>;
|
|
1591
|
+
readonly unique: boolean;
|
|
1592
|
+
} & IndexMethod<Definition, ModelName, Constraint>;
|
|
1593
|
+
type BuiltDeclaredIndexesOf<Definition, ModelName extends ModelNames<Definition>, Constraints extends readonly unknown[]> = { readonly [K in keyof Constraints]: BuiltDeclaredIndexOf<Definition, ModelName, Constraints[K]>; }[number];
|
|
1594
|
+
type BuiltDeclaredIndex<Definition, ModelName extends ModelNames<Definition>> = BuiltDeclaredIndexesOf<Definition, ModelName, DeclaredIndexConstraints<Definition, ModelName>>;
|
|
1595
|
+
type DefaultForeignKeyIndex<Definition> = Definition extends {
|
|
1596
|
+
readonly foreignKeyDefaults?: infer Defaults;
|
|
1597
|
+
} ? [Present<Defaults>] extends [never] ? true : Present<Defaults> extends {
|
|
1598
|
+
readonly index: false;
|
|
1599
|
+
} ? false : true : true;
|
|
1600
|
+
type DerivesBackingIndex<Definition, Intent> = [Present<Intent>] extends [never] ? DefaultForeignKeyIndex<Definition> : Present<Intent> extends false ? false : Present<Intent> extends true ? true : Present<Intent> extends string ? string extends Present<Intent> ? DefaultForeignKeyIndex<Definition> : false : DefaultForeignKeyIndex<Definition>;
|
|
1601
|
+
type RelationForeignKey<RelationSql> = [Present<RelationSql>] extends [never] ? never : Present<RelationSql> extends {
|
|
1602
|
+
readonly fk?: infer ForeignKey;
|
|
1603
|
+
} ? Present<ForeignKey> : never;
|
|
1604
|
+
type ModelForeignKeyFields<Definition, ModelName extends ModelNames<Definition>> = (ModelSql<Definition, ModelName> extends {
|
|
1605
|
+
readonly foreignKeys?: infer ForeignKeys extends readonly unknown[];
|
|
1606
|
+
} ? ForeignKeys[number] extends (infer ForeignKey) ? ForeignKey extends {
|
|
1607
|
+
readonly fields: infer Fields extends readonly string[];
|
|
1608
|
+
} ? DerivesBackingIndex<Definition, ForeignKey extends {
|
|
1609
|
+
readonly index?: infer Intent;
|
|
1610
|
+
} ? Intent : undefined> extends true ? Fields : never : never : never : never) | { [RelName in StagedModelRelationNames<Definition, ModelName>]: StagedRelationState<Definition, ModelName, RelName> extends {
|
|
1611
|
+
readonly kind: 'belongsTo';
|
|
1612
|
+
readonly from: infer From;
|
|
1613
|
+
readonly sql?: infer RelationSql;
|
|
1614
|
+
} ? RelationForeignKey<RelationSql> extends (infer ForeignKey) ? [ForeignKey] extends [never] ? never : DerivesBackingIndex<Definition, ForeignKey extends {
|
|
1615
|
+
readonly index?: infer Intent;
|
|
1616
|
+
} ? Intent : undefined> extends true ? RelationFieldTuple<From> : never : never : never; }[StagedModelRelationNames<Definition, ModelName>];
|
|
1617
|
+
type BackingIndexIsRedundant<Definition, ModelName extends ModelNames<Definition>, Columns> = true extends SameColumns<Columns, ModelIdFieldNames<Definition, ModelName> extends (infer IdFields extends readonly string[]) ? FieldNamesToColumnNames<Definition, ModelName, IdFields> : never> | (BuiltUnique<Definition, ModelName> extends (infer Unique) ? Unique extends {
|
|
1618
|
+
readonly columns: infer UniqueColumns;
|
|
1619
|
+
} ? SameColumns<Columns, UniqueColumns> : never : never) | (PlainDeclaredIndexColumns<Definition, ModelName> extends (infer DeclaredColumns) ? DeclaredColumns extends unknown ? SameColumns<Columns, DeclaredColumns> : never : never) ? true : false;
|
|
1620
|
+
type PlainDeclaredIndexColumnsOf<Definition, ModelName extends ModelNames<Definition>, Constraints extends readonly unknown[]> = { readonly [K in keyof Constraints]: IndexSpecOfConstraint<Constraints[K]> extends {
|
|
1621
|
+
readonly type: undefined;
|
|
1622
|
+
readonly options: undefined;
|
|
1623
|
+
readonly partial: false;
|
|
1624
|
+
} ? IndexColumns<Definition, ModelName, Constraints[K]> : never; }[number];
|
|
1625
|
+
type PlainDeclaredIndexColumns<Definition, ModelName extends ModelNames<Definition>> = PlainDeclaredIndexColumnsOf<Definition, ModelName, DeclaredIndexConstraints<Definition, ModelName>>;
|
|
1626
|
+
type AsciiCharacter = ' ' | '!' | '"' | '#' | '$' | '%' | '&' | "'" | '(' | ')' | '*' | '+' | ',' | '-' | '.' | '/' | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | ':' | ';' | '<' | '=' | '>' | '?' | '@' | 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z' | '[' | '\\' | ']' | '^' | '_' | '`' | 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z' | '{' | '|' | '}' | '~';
|
|
1627
|
+
/**
|
|
1628
|
+
* A derived wire-name prefix as the build shortens it: to its first 54 bytes (`WIRE_NAME_PREFIX_MAX_BYTES`). Each ASCII character is one byte. A name with another character before the cut has a byte length the type does not count, so it gives `never` and the index has no name in the type.
|
|
1629
|
+
*/
|
|
1630
|
+
type DerivedWireNamePrefix<Name extends string, Kept extends string = '', Bytes extends readonly unknown[] = []> = string extends Name ? string : Bytes['length'] extends 54 ? Kept : Name extends `${infer Character}${infer Rest}` ? Character extends AsciiCharacter ? DerivedWireNamePrefix<Rest, `${Kept}${Character}`, [...Bytes, unknown]> : never : Kept;
|
|
1631
|
+
type BuiltBackingIndex<Definition, ModelName extends ModelNames<Definition>> = ModelForeignKeyFields<Definition, ModelName> extends (infer Fields) ? Fields extends readonly string[] ? FieldNamesToColumnNames<Definition, ModelName, Fields> extends (infer Columns) ? BackingIndexIsRedundant<Definition, ModelName, Columns> extends true ? never : {
|
|
1632
|
+
readonly name: string;
|
|
1633
|
+
readonly prefix: DerivedWireNamePrefix<`${ModelTableName<Definition, ModelName>}_${JoinColumns<Columns>}_idx`>;
|
|
1634
|
+
readonly columns: Columns;
|
|
1635
|
+
readonly unique: false;
|
|
1636
|
+
} : never : never : never;
|
|
1637
|
+
type BuiltIndex<Definition, ModelName extends ModelNames<Definition>> = BuiltDeclaredIndex<Definition, ModelName> | BuiltBackingIndex<Definition, ModelName>;
|
|
1296
1638
|
type BuiltStorageTables<Definition, Ns extends string> = { readonly [ModelName in ModelsInNamespace<Definition, Ns> as BuiltModelTableName<Definition, ModelName>]: {
|
|
1297
1639
|
readonly columns: BuiltStorageTableColumns<Definition, ModelName>;
|
|
1298
|
-
readonly uniques: ReadonlyArray<
|
|
1299
|
-
|
|
1300
|
-
readonly name?: string;
|
|
1301
|
-
}>;
|
|
1302
|
-
readonly indexes: ReadonlyArray<Index>;
|
|
1640
|
+
readonly uniques: ReadonlyArray<BuiltUnique<Definition, ModelName>>;
|
|
1641
|
+
readonly indexes: ReadonlyArray<BuiltIndex<Definition, ModelName>>;
|
|
1303
1642
|
readonly foreignKeys: ReadonlyArray<{
|
|
1304
1643
|
readonly source: {
|
|
1305
1644
|
readonly namespaceId: NamespaceId;
|
|
@@ -1322,32 +1661,43 @@ type BuiltStorageTables<Definition, Ns extends string> = { readonly [ModelName i
|
|
|
1322
1661
|
readonly columns: FieldNamesToColumnNames<Definition, ModelName, ModelIdFieldNames<Definition, ModelName>>;
|
|
1323
1662
|
readonly name?: ModelIdName<Definition, ModelName>;
|
|
1324
1663
|
};
|
|
1325
|
-
} : Record<
|
|
1664
|
+
} : Record<never, never>); };
|
|
1326
1665
|
type DefinitionEnums<Definition> = Definition extends {
|
|
1327
1666
|
readonly enums?: infer E;
|
|
1328
1667
|
} ? Present<E> extends Record<string, EnumTypeHandle> ? string extends keyof Present<E> ? Record<never, never> : Present<E> : Record<never, never> : Record<never, never>;
|
|
1329
|
-
type EnumHandleAccessorType<Handle> = Handle extends EnumTypeHandle<infer _Name, infer Values, infer Names, infer MembersMap> ? {
|
|
1330
|
-
readonly values: Values;
|
|
1331
|
-
readonly names: Names;
|
|
1332
|
-
readonly members: MembersMap;
|
|
1333
|
-
has(v: Values[number]): boolean;
|
|
1334
|
-
nameOf(v: Values[number]): string | undefined;
|
|
1335
|
-
ordinalOf(v: Values[number]): number;
|
|
1336
|
-
} : never;
|
|
1337
|
-
type BuiltEnumAccessors<Definition> = { readonly [K in keyof DefinitionEnums<Definition>]: EnumHandleAccessorType<DefinitionEnums<Definition>[K]>; };
|
|
1338
1668
|
type BuiltDocumentScopedTypes<Definition> = { readonly [K in keyof DefinitionTypes<Definition> as DefinitionTypes<Definition>[K] extends AuthoredStorageTypeInstance ? K : never]: DefinitionTypes<Definition>[K] & {
|
|
1339
1669
|
readonly dataType: string;
|
|
1340
1670
|
}; };
|
|
1341
|
-
type BuiltDomain<Definition> = BuiltDocumentScopedTypes<Definition> extends Record<never, never> ? Record<
|
|
1671
|
+
type BuiltDomain<Definition> = BuiltDocumentScopedTypes<Definition> extends Record<never, never> ? Record<never, never> : {
|
|
1342
1672
|
readonly __unbound__: {
|
|
1343
1673
|
readonly types: BuiltDocumentScopedTypes<Definition>;
|
|
1344
1674
|
};
|
|
1345
1675
|
};
|
|
1676
|
+
type HandleName<Handle> = Handle extends EnumTypeHandle<infer Name> ? Name : never;
|
|
1677
|
+
type StoredEnumValue<Value> = Value extends JsonValue ? Value : JsonValue;
|
|
1678
|
+
type EnumHandleMembers<Handle, Stored extends boolean> = Handle extends EnumTypeHandle<string, infer Values, infer Names> ? { readonly [I in keyof Values]: {
|
|
1679
|
+
readonly name: I extends keyof Names ? Names[I] : never;
|
|
1680
|
+
readonly value: Stored extends true ? StoredEnumValue<Values[I]> : Values[I];
|
|
1681
|
+
}; } : never;
|
|
1682
|
+
type EnumHandleEntries<Enums> = { readonly [K in keyof Enums as HandleName<Enums[K]>]: {
|
|
1683
|
+
readonly codecId: Enums[K] extends {
|
|
1684
|
+
readonly codecId: infer CodecId;
|
|
1685
|
+
} ? CodecId : string;
|
|
1686
|
+
readonly members: EnumHandleMembers<Enums[K], true>;
|
|
1687
|
+
}; };
|
|
1688
|
+
type EnumHandleMemberTypes<Enums> = { readonly [K in keyof Enums as HandleName<Enums[K]>]: EnumHandleMembers<Enums[K], false>; };
|
|
1689
|
+
type EnumHandleValueSets<Enums> = { readonly [K in keyof Enums as HandleName<Enums[K]>]: {
|
|
1690
|
+
readonly kind: 'valueSet';
|
|
1691
|
+
readonly values: Enums[K] extends EnumTypeHandle<string, infer Values> ? { readonly [I in keyof Values]: StoredEnumValue<Values[I]>; } : never;
|
|
1692
|
+
}; };
|
|
1693
|
+
type DefinitionHasEnums<Definition> = keyof DefinitionEnums<Definition> extends never ? false : true;
|
|
1694
|
+
type HoldsDefinitionEnums<Definition, Ns extends string> = DefinitionHasEnums<Definition> extends true ? Ns extends DefaultStorageNamespaceId<Definition> ? true : false : false;
|
|
1346
1695
|
type BuiltDomainNamespace<Definition, Ns extends string> = {
|
|
1347
1696
|
readonly models: { readonly [ModelName in ModelsInNamespace<Definition, Ns>]: BuiltModels<Definition>[ModelName]; };
|
|
1348
|
-
|
|
1349
|
-
readonly enum
|
|
1350
|
-
|
|
1697
|
+
} & (HoldsDefinitionEnums<Definition, Ns> extends true ? {
|
|
1698
|
+
readonly enum: EnumHandleEntries<DefinitionEnums<Definition>>;
|
|
1699
|
+
readonly enumMemberTypes?: EnumHandleMemberTypes<DefinitionEnums<Definition>>;
|
|
1700
|
+
} : Record<never, never>);
|
|
1351
1701
|
type DefaultStorageNamespaceId<Definition> = DefinitionTarget<Definition> extends {
|
|
1352
1702
|
readonly defaultNamespaceId: infer Id extends string;
|
|
1353
1703
|
} ? Id : never;
|
|
@@ -1367,14 +1717,11 @@ type BuiltStorage<Definition> = {
|
|
|
1367
1717
|
readonly kind: string;
|
|
1368
1718
|
readonly entries: {
|
|
1369
1719
|
readonly table: BuiltStorageTables<Definition, Ns>;
|
|
1370
|
-
}
|
|
1720
|
+
} & (HoldsDefinitionEnums<Definition, Ns> extends true ? {
|
|
1721
|
+
readonly valueSet: EnumHandleValueSets<DefinitionEnums<Definition>>;
|
|
1722
|
+
} : Record<never, never>);
|
|
1371
1723
|
}; };
|
|
1372
1724
|
};
|
|
1373
|
-
type StorageColumnManyOf<Col> = Col extends {
|
|
1374
|
-
readonly many: infer Many extends false | {
|
|
1375
|
-
readonly elementNullable: boolean;
|
|
1376
|
-
};
|
|
1377
|
-
} ? Many : false;
|
|
1378
1725
|
type EnumValueUnion<FieldState> = [FieldTypeRefOf<FieldState>] extends [EnumTypeHandle<string, infer Values>] ? readonly unknown[] extends Values ? never : Values[number] : never;
|
|
1379
1726
|
type DescriptorEntityMembers<Descriptor> = Descriptor extends {
|
|
1380
1727
|
readonly entityRef: {
|
|
@@ -1384,29 +1731,48 @@ type DescriptorEntityMembers<Descriptor> = Descriptor extends {
|
|
|
1384
1731
|
};
|
|
1385
1732
|
} ? Members : never;
|
|
1386
1733
|
type DescriptorValueSetUnion<FieldState> = [FieldDescriptorOf<FieldState>] extends [never] ? never : readonly string[] extends DescriptorEntityMembers<FieldDescriptorOf<FieldState>> ? never : DescriptorEntityMembers<FieldDescriptorOf<FieldState>>[number];
|
|
1387
|
-
type
|
|
1388
|
-
readonly
|
|
1389
|
-
} ?
|
|
1734
|
+
type FieldColumnTypeParams<Definition, FieldState> = ResolveFieldColumnTypeRef<Definition, FieldState> extends (infer TypeRef extends keyof DefinitionTypes<Definition>) ? DefinitionTypes<Definition>[TypeRef] extends {
|
|
1735
|
+
readonly typeParams: infer TypeParams extends Record<string, unknown>;
|
|
1736
|
+
} ? TypeParams : undefined : DescriptorTypeParams<FieldDescriptorOf<FieldState>>;
|
|
1737
|
+
type PackParameterizedOutputTypes<Pack> = Pack extends {
|
|
1738
|
+
readonly __parameterizedOutputTypes?: infer TypeFunction;
|
|
1739
|
+
} ? Present<TypeFunction> extends (infer Defined extends ParameterizedOutputTypesFunction) ? Defined : never : never;
|
|
1740
|
+
type ParameterizedOutputTypesFromDefinition<Definition> = { [K in keyof AllPacks<Definition>]: PackParameterizedOutputTypes<AllPacks<Definition>[K]>; }[keyof AllPacks<Definition>];
|
|
1741
|
+
type ColumnSpecCodecOutput<Descriptor> = Descriptor extends {
|
|
1742
|
+
readonly codecFactory: (...args: never[]) => infer Codec;
|
|
1743
|
+
} ? Codec extends {
|
|
1744
|
+
decode(...args: never[]): Promise<infer Output>;
|
|
1745
|
+
} ? Output : never : never;
|
|
1390
1746
|
type FieldValueUnion<FieldState> = [EnumValueUnion<FieldState>] extends [never] ? DescriptorValueSetUnion<FieldState> : EnumValueUnion<FieldState>;
|
|
1391
|
-
type
|
|
1392
|
-
readonly
|
|
1393
|
-
}
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
type
|
|
1398
|
-
type
|
|
1747
|
+
type FieldTypeOverride<Definition, ModelName extends ModelNames<Definition>, FieldName extends ModelFieldNames<Definition, ModelName>> = ModelFieldState<Definition, ModelName, FieldName> extends (infer FieldState) ? [FieldValueUnion<FieldState>] extends [never] ? [ColumnSpecCodecOutput<FieldDescriptorOf<FieldState>>] extends [never] ? never : {
|
|
1748
|
+
readonly output: ColumnSpecCodecOutput<FieldDescriptorOf<FieldState>>;
|
|
1749
|
+
} : {
|
|
1750
|
+
readonly output: FieldValueUnion<FieldState>;
|
|
1751
|
+
readonly input: FieldValueUnion<FieldState>;
|
|
1752
|
+
} : never;
|
|
1753
|
+
type FieldTypeOverrides<Definition> = { readonly [Ns in DomainNamespaceIds<Definition>]: { readonly [ModelName in ModelsInNamespace<Definition, Ns>]: { readonly [FieldName in ModelFieldNames<Definition, ModelName>]: FieldTypeOverride<Definition, ModelName, FieldName>; }; }; };
|
|
1754
|
+
type ColumnTypeOverrides<Definition> = { readonly [Ns in StorageNamespaceIds<Definition>]: { readonly [ModelName in ModelsInNamespace<Definition, Ns> as BuiltModelTableName<Definition, ModelName>]: { readonly [FieldName in ModelFieldNames<Definition, ModelName> as BuiltModelColumnMappings<Definition, ModelName>[FieldName]['column']]: FieldTypeOverride<Definition, ModelName, FieldName>; }; }; };
|
|
1755
|
+
type ResolvedTypeMap<Map> = { readonly [Ns in keyof Map]: { readonly [Entity in keyof Map[Ns]]: string extends keyof Map[Ns][Entity] ? Map[Ns][Entity] : { readonly [Name in keyof Map[Ns][Entity]]: Map[Ns][Entity][Name]; }; }; };
|
|
1756
|
+
type BuiltDomainNamespaces<Definition> = { readonly [Ns in DomainNamespaceIds<Definition>]: BuiltDomainNamespace<Definition, Ns>; };
|
|
1757
|
+
type SqlContractResult<Definition> = ContractWithTypeMaps<Omit<Contract<BuiltStorage<Definition>>, 'domain' | 'execution'> & BuiltExecution<Definition> & {
|
|
1399
1758
|
readonly target: DefinitionTargetId<Definition>;
|
|
1400
1759
|
readonly targetFamily: 'sql';
|
|
1401
1760
|
} & {
|
|
1402
1761
|
readonly domain: {
|
|
1403
|
-
readonly namespaces:
|
|
1762
|
+
readonly namespaces: BuiltDomainNamespaces<Definition>;
|
|
1404
1763
|
} & BuiltDomain<Definition>;
|
|
1405
1764
|
} & {
|
|
1406
|
-
readonly extensions:
|
|
1765
|
+
readonly extensions: DefinitionExtensions<Definition>;
|
|
1407
1766
|
readonly capabilities: DerivedCapabilities<Definition>;
|
|
1408
|
-
|
|
1409
|
-
|
|
1767
|
+
}, {
|
|
1768
|
+
readonly codecTypes: CodecTypesFromDefinition<Definition>;
|
|
1769
|
+
readonly queryOperationTypes: QueryOperationTypesFromDefinition<Definition>;
|
|
1770
|
+
readonly fieldOutputTypes: ResolvedTypeMap<FieldTypesFromDomain<BuiltDomainNamespaces<Definition>, CodecTypesFromDefinition<Definition>, ParameterizedOutputTypesFromDefinition<Definition>, FieldTypeOverrides<Definition>, 'output'>>;
|
|
1771
|
+
readonly fieldInputTypes: ResolvedTypeMap<FieldTypesFromDomain<BuiltDomainNamespaces<Definition>, CodecTypesFromDefinition<Definition>, ParameterizedOutputTypesFromDefinition<Definition>, FieldTypeOverrides<Definition>, 'input'>>;
|
|
1772
|
+
readonly storageColumnTypes: ResolvedTypeMap<ColumnTypesFromStorage<BuiltStorage<Definition>, CodecTypesFromDefinition<Definition>, ParameterizedOutputTypesFromDefinition<Definition>, ColumnTypeOverrides<Definition>, 'output'>>;
|
|
1773
|
+
readonly storageColumnInputTypes: ResolvedTypeMap<ColumnTypesFromStorage<BuiltStorage<Definition>, CodecTypesFromDefinition<Definition>, ParameterizedOutputTypesFromDefinition<Definition>, ColumnTypeOverrides<Definition>, 'input'>>;
|
|
1774
|
+
readonly aggregateTypes: AggregateTypesFromDefinition<Definition>;
|
|
1775
|
+
}>;
|
|
1410
1776
|
//#endregion
|
|
1411
1777
|
//#region src/composed-authoring-helpers.d.ts
|
|
1412
1778
|
type ExtractTypeNamespaceFromPack<Pack> = ExtractAuthoringNamespaceFromPack<Pack, 'type', Record<never, never>>;
|
|
@@ -1463,9 +1829,6 @@ declare function createComposedAuthoringHelpers<Family extends FamilyPackRef<str
|
|
|
1463
1829
|
} & AuthoringTypeLookups): ComposedAuthoringHelpers<Family, Target, Extensions>;
|
|
1464
1830
|
//#endregion
|
|
1465
1831
|
//#region src/build-contract.d.ts
|
|
1466
|
-
/**
|
|
1467
|
-
* Builds the contract in two stages. First each model is converted on its own into the table it describes and its domain model, and each table node into the table it describes. Then the tables are merged, each is lowered, and the contract is assembled.
|
|
1468
|
-
*/
|
|
1469
1832
|
declare function buildSqlContractFromDefinition(definition: ContractDefinition, codecLookup: CodecLookupWithDescriptors, dataTypeLookup: DataTypeLookup): Contract<SqlStorage>;
|
|
1470
1833
|
//#endregion
|
|
1471
1834
|
//#region src/contract-builder.d.ts
|
|
@@ -1580,5 +1943,5 @@ declare function now(): ColumnDefault;
|
|
|
1580
1943
|
/** A database-assigned sequence value, the same default PSL writes as `@default(autoincrement())`. */
|
|
1581
1944
|
declare function autoincrement(): ColumnDefault;
|
|
1582
1945
|
//#endregion
|
|
1583
|
-
export {
|
|
1584
|
-
//# sourceMappingURL=contract-builder-
|
|
1946
|
+
export { extensionModel as $, MergeEnums as A, UniqueConstraintNode as B, ForeignKeyTableReference as C, IndexOptionsFunction as D, IndexNode as E, ScalarFieldBuilder as F, bindEnumType as G, ValueObjectMemberNode as H, ScalarMemberNode as I, buildSqlContractFromDefinition as J, buildBoundContract as K, TableNode as L, ModelNode as M, PrimaryKeyNode as N, IndexOptionsInput as O, RelationNode as P, enumType as Q, TableProperties as R, ForeignKeyNode as S, IndexExpressionInput as T, ValueObjectNode as U, ValueObjectFieldNode as V, autoincrement as W, createComposedAuthoringHelpers as X, check as Y, defineContract as Z, EnumMember as _, CheckNode as a, rel as at, FieldNode as b, ColumnNode as c, ContractDefinition as d, field as et, ContractInput as f, DeferredIndexOptions as g, DeferredIndexExpression as h, BoundEnumType as i, now as it, ModelLike as j, ManyOptions as k, ColumnRef as l, DeferredIndexColumn as m, AuthoredColumnDefault as n, member as nt, CodecInput$1 as o, storedAsListColumn as ot, ContractModelBuilder as p, buildContractDefinition as q, AuthoredColumnDefaultLiteralValue as r, model as rt, CodecTypeMap$1 as s, AttachedEntities as t, isValueObjectMember as tt, ComposedAuthoringHelpers as u, EnumTypeHandle as v, IndexConstraint as w, ForeignKeyModelReference as x, ExtractCodecTypesFromPack as y, TargetFieldRef as z };
|
|
1947
|
+
//# sourceMappingURL=contract-builder-ClsLO9DI.d.mts.map
|