move let bindings magic to bindings.ml
This commit is contained in:
parent
38a0717d54
commit
4b40395e08
5 changed files with 58 additions and 66 deletions
17
src/bindings.ml
Normal file
17
src/bindings.ml
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
(* 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 (Format.sprintf "%s" e)
|
||||
| Ok x -> f x
|
||||
Loading…
Add table
Add a link
Reference in a new issue