package caqti
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Unified interface to relational database libraries
Install
dune-project
Dependency
Authors
Maintainers
Sources
caqti-v3.0.0.tbz
sha256=3ceea06ba0e8e8bcab0386b5817b68cb30fce457eaa25ada0182891d66f6a0b9
sha512=e01f546a45b04cafd5fa262e9228e5a1aabd5e0942059c073a4181c928450baf3d990cc59ffb1a33dff445b46a0e218224a23dca96e8d24cdd0ab793d08e4538
doc/src/caqti.classic/caqti_type.ml.html
Source file caqti_type.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63(* Copyright (C) 2024--2026 Petter A. Urkedal <paurkedal@gmail.com> * * This library is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or (at your * option) any later version, with the LGPL-3.0 Linking Exception. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public License * and the LGPL-3.0 Linking Exception along with this library. If not, see * <http://www.gnu.org/licenses/> and <https://spdx.org>, respectively. *) [@@@alert "-caqti_private"] open Caqti.Template type ('a, 'b) eq = ('a, 'b) Caqti.Shims.Type.eq = Equal : ('a, 'a) eq module Field = Caqti.Template.Field_type include Caqti.Template.Row_type let equal_value = Caqti.Template.Row.equal let pp_value ppf (t, v) = Caqti.Template.Row.pp t ppf v type (_, _) product = | Proj_end : ('a, 'a) product | Proj : 'b t * ('a -> 'b) * ('a, 'i) product -> ('a, 'b -> 'i) product let field ft = Private.Field ft module Std = struct include (Caqti.Template.Row_type : Caqti.Template.Row_type.STD) (* moved away from STD signature *) let enum = enum type (_, _) rewritten_product = | Rewritten_product : ('i -> 'j) * ('j, 'a) Row_type.product -> ('i, 'a) rewritten_product let rec rewrite_product : type i a. (a, i) product -> (i, a) rewritten_product = (function | Proj_end -> Rewritten_product (Result.ok, Row_type.Private.Proj_end) | Proj (t, p, tps) -> let Rewritten_product (conv, ts') = rewrite_product tps in let conv' f = fun x -> conv (f x) in Rewritten_product (conv', Row_type.Private.Proj (t, p, ts'))) let product intro tps = let Rewritten_product (conv, ts') = rewrite_product tps in product (conv intro) ts' let proj t p tps = Proj (t, p, tps) let proj_end = Proj_end let custom = custom end include Std
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>