geochan/src/bindings.ml

18 lines
492 B
OCaml
Raw Normal View History

2022-02-02 19:16:53 +01:00
(* let bindings for early return when encountering an error *)
(* see https://ocaml.org/releases/4.13/htmlman/bindingops.html *)
let ( let^? ) o f =
match o with
| Error e -> Error (Format.sprintf "db error: %s" (Caqti_error.show e))
| Ok None -> Error "db error"
| Ok (Some x) -> f x
let ( let^ ) o f =
match o with
| Error e -> Error (Format.sprintf "db error: %s" (Caqti_error.show e))
| Ok x -> f x
let ( let* ) o f =
match o with
| Error e -> Error e
2022-02-02 19:16:53 +01:00
| Ok x -> f x