This commit is contained in:
swrup 2026-02-23 11:45:27 +01:00
parent c8863e1a95
commit a31b3071fd

View file

@ -7,8 +7,6 @@ let unwrap_err_msg o = match o with Error (`Msg e) -> Error e | Ok v -> Ok v
let unwrap_err_caqti o = let unwrap_err_caqti o =
match o with Error err -> Fmt.error "%a" Caqti_error.pp err | Ok v -> Ok v match o with Error err -> Fmt.error "%a" Caqti_error.pp err | Ok v -> Ok v
(* TODO list_filter_map *)
let list_iter f l = let list_iter f l =
let err = ref None in let err = ref None in
try try
@ -37,6 +35,20 @@ let list_map f l =
l) l)
with Exit -> ( match !err with None -> assert false | Some v -> v) with Exit -> ( match !err with None -> assert false | Some v -> v)
let list_filter_map f l =
let err = ref None in
try
Ok
(List.filter_map
(fun v ->
match f v with
| Error _e as e ->
err := Some e;
raise Exit
| Ok v -> v)
l)
with Exit -> ( match !err with None -> assert false | Some v -> v)
let list_fold_left f acc l = let list_fold_left f acc l =
List.fold_left List.fold_left
(fun acc v -> (fun acc v ->