module Lwt_result: sig
.. end
Module Lwt_result
: explicit error handling
This module provides helpers for values of type ('a, 'b) result Lwt.t
.
The module is experimental and may change in the future.
type ('a, 'b)
t = ('a, 'b) Result.result Lwt.t
val return : 'a -> ('a, 'b) t
val fail : 'b -> ('a, 'b) t
val lift : ('a, 'b) Result.result -> ('a, 'b) t
val ok : 'a Lwt.t -> ('a, 'b) t
val catch : 'a Lwt.t -> ('a, exn) t
catch x
behaves like return y
if x
evaluates to y
,
and like fail e
if x
raises e
val get_exn : ('a, exn) t -> 'a Lwt.t
get_exn
is the opposite of
Lwt_result.catch
: it unwraps the result type,
returning the value in case of success, calls
Lwt.fail
in
case of error.
val map : ('a -> 'b) -> ('a, 'e) t -> ('b, 'e) t
val map_err : ('e1 -> 'e2) -> ('a, 'e1) t -> ('a, 'e2) t
val bind : ('a, 'e) t ->
('a -> ('b, 'e) t) -> ('b, 'e) t
val bind_lwt : ('a, 'e) t -> ('a -> 'b Lwt.t) -> ('b, 'e) t
val bind_lwt_err : ('a, 'e1) t -> ('e1 -> 'e2 Lwt.t) -> ('a, 'e2) t
val bind_result : ('a, 'e) t ->
('a -> ('b, 'e) Result.result) -> ('b, 'e) t
module Infix: sig
.. end
include Lwt_result.Infix