Current section

Files

Jump to
gextra src gextra@result.erl
Raw

src/gextra@result.erl

-module(gextra@result).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([lazy_map_both/3, lazy_try_both/3, use_lazy_map_both/2, try_lazy_map_both/2, map_both/3, try_both/3, use_map_both/2, try_map_both/2, use_try/1, use_map/1]).
-file("/home/joe/Projects/gleam/utils/src/gextra/result.gleam", 23).
-spec lazy_map_both(
{ok, HJG} | {error, HJH},
fun((HJH) -> HJK),
fun((HJG) -> HJL)
) -> {ok, HJL} | {error, HJK}.
lazy_map_both(R, Err, Val) ->
case R of
{ok, V} ->
_pipe = Val(V),
{ok, _pipe};
{error, E} ->
_pipe@1 = Err(E),
{error, _pipe@1}
end.
-file("/home/joe/Projects/gleam/utils/src/gextra/result.gleam", 54).
-spec lazy_try_both(
{ok, HJO} | {error, HJP},
fun((HJP) -> HJS),
fun((HJO) -> {ok, HJT} | {error, HJS})
) -> {ok, HJT} | {error, HJS}.
lazy_try_both(R, Err, Val) ->
case R of
{ok, V} ->
Val(V);
{error, E} ->
_pipe = Err(E),
{error, _pipe}
end.
-file("/home/joe/Projects/gleam/utils/src/gextra/result.gleam", 65).
-spec use_lazy_map_both({ok, HJY} | {error, HJZ}, fun((HJZ) -> HKC)) -> fun((fun((HJY) -> HMS)) -> {ok,
HMS} |
{error, HKC}).
use_lazy_map_both(R, Err) ->
gextra@function:pipe2(fun lazy_map_both/3, R, Err).
-file("/home/joe/Projects/gleam/utils/src/gextra/result.gleam", 69).
-spec try_lazy_map_both({ok, HKE} | {error, HKF}, fun((HKF) -> HKI)) -> fun((fun((HKE) -> {ok,
HNA} |
{error, HKI})) -> {ok, HNA} | {error, HKI}).
try_lazy_map_both(R, Err) ->
gextra@function:pipe2(fun lazy_try_both/3, R, Err).
-file("/home/joe/Projects/gleam/utils/src/gextra/result.gleam", 83).
-spec map_both({ok, HKK} | {error, any()}, HKO, fun((HKK) -> HKP)) -> {ok, HKP} |
{error, HKO}.
map_both(R, Err, Val) ->
case R of
{ok, V} ->
_pipe = Val(V),
{ok, _pipe};
{error, _} ->
_pipe@1 = Err,
{error, _pipe@1}
end.
-file("/home/joe/Projects/gleam/utils/src/gextra/result.gleam", 104).
-spec try_both(
{ok, HKS} | {error, any()},
HKW,
fun((HKS) -> {ok, HKX} | {error, HKW})
) -> {ok, HKX} | {error, HKW}.
try_both(R, Err, Val) ->
case R of
{ok, V} ->
Val(V);
{error, _} ->
_pipe = Err,
{error, _pipe}
end.
-file("/home/joe/Projects/gleam/utils/src/gextra/result.gleam", 115).
-spec use_map_both({ok, HLC} | {error, any()}, HLG) -> fun((fun((HLC) -> HOB)) -> {ok,
HOB} |
{error, HLG}).
use_map_both(R, Err) ->
gextra@function:pipe2(fun map_both/3, R, Err).
-file("/home/joe/Projects/gleam/utils/src/gextra/result.gleam", 119).
-spec try_map_both({ok, HLI} | {error, any()}, HLM) -> fun((fun((HLI) -> {ok,
HOJ} |
{error, HLM})) -> {ok, HOJ} | {error, HLM}).
try_map_both(R, Err) ->
gextra@function:pipe2(fun try_both/3, R, Err).
-file("/home/joe/Projects/gleam/utils/src/gextra/result.gleam", 123).
-spec use_try({ok, HON} | {error, HOO}) -> fun((fun((HON) -> {ok, HOP} |
{error, HOO})) -> {ok, HOP} | {error, HOO}).
use_try(A) ->
gextra@function:pipe1(fun gleam@result:'try'/2, A).
-file("/home/joe/Projects/gleam/utils/src/gextra/result.gleam", 127).
-spec use_map({ok, HOT} | {error, HOU}) -> fun((fun((HOT) -> HOV)) -> {ok, HOV} |
{error, HOU}).
use_map(A) ->
gextra@function:pipe1(fun gleam@result:map/2, A).