ligo/vendors/ligo-utils/tezos-utils/x_error_monad.ml
2019-05-27 11:08:26 +02:00

26 lines
601 B
OCaml

module Error_monad = Tezos_error_monad.Error_monad
let to_string err =
let json = Error_monad.json_of_error err in
Tezos_data_encoding.Json.to_string json
let print err =
Format.printf "%s\n" @@ to_string err
let force_ok ?(msg = "") = function
| Ok x -> x
| Error errs ->
Format.printf "Errors :\n";
List.iter print errs ;
raise @@ Failure ("force_ok : " ^ msg)
let is_ok = function
| Ok _ -> true
| Error _ -> false
let force_ok_str ?(msg = "") = function
| Ok x -> x
| Error err ->
Format.printf "Error : %s\n" err;
raise @@ Failure ("force_ok : " ^ msg)