Module Lwt_result
module Lwt_result : sig..end
Explicit error handling
Since 2.6.0
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