monex v0.1.5 MonEx.Result

Result module provides Result type with utility functions.

Summary

Types

t()

Result type. ok(x) or error(err) unwraps into {:ok, x} or {:error, err}

Functions

Filters collection or results so that only errors left

Filters collection or results so that only oks left

Returns value if it is ok, or evaluates supplied lambda that expected to return another result

Returns true if argument is error(), false if ok()

Returns true if argument is ok(), false if error()

Returns value x if argument is ok(x), raises err if error(err)

Types

t()
t() :: {:ok, term} | {:error, term}

Result type. ok(x) or error(err) unwraps into {:ok, x} or {:error, err}

Functions

collect_error(results)
collect_error([t]) :: [term]

Filters collection or results so that only errors left

collect_ok(results)
collect_ok([t]) :: [term]

Filters collection or results so that only oks left

fallback(arg, f)
fallback(t, (term -> t)) :: t

Returns value if it is ok, or evaluates supplied lambda that expected to return another result.

is_error(x)
is_error(t) :: boolean

Returns true if argument is error(), false if ok()

is_ok(arg)
is_ok(t) :: boolean

Returns true if argument is ok(), false if error()

retry_rec(n, delay, lambda)
unwrap(arg)
unwrap(t) :: term

Returns value x if argument is ok(x), raises err if error(err)

Macros

error(err)
ok(res)
retry(opts \\ [], list)