aboutsummaryrefslogtreecommitdiff
path: root/gen/result.erl
diff options
context:
space:
mode:
Diffstat (limited to 'gen/result.erl')
-rw-r--r--gen/result.erl116
1 files changed, 0 insertions, 116 deletions
diff --git a/gen/result.erl b/gen/result.erl
deleted file mode 100644
index e793c6b..0000000
--- a/gen/result.erl
+++ /dev/null
@@ -1,116 +0,0 @@
--module(result).
--compile(no_auto_import).
--include_lib("eunit/include/eunit.hrl").
-
--export([is_ok/1, is_error/1, map/2, map_error/2, flatten/1, then/2, unwrap/2]).
-
-is_ok(Result) ->
- case Result of
- {error, _} ->
- false;
-
- {ok, _} ->
- true
- end.
-
--ifdef(TEST).
-is_ok_test() ->
- expect:true(is_ok({ok, 1})),
- expect:false(is_ok({error, 1})).
--endif.
-
-is_error(Result) ->
- case Result of
- {ok, _} ->
- false;
-
- {error, _} ->
- true
- end.
-
--ifdef(TEST).
-is_error_test() ->
- expect:false(is_error({ok, 1})),
- expect:true(is_error({error, 1})).
--endif.
-
-map(Result, Fun) ->
- case Result of
- {ok, X} ->
- {ok, Fun(X)};
-
- {error, E} ->
- {error, E}
- end.
-
--ifdef(TEST).
-map_test() ->
- expect:equal(map({ok, 1}, fun(X) -> X + 1 end), {ok, 2}),
- expect:equal(map({ok, 1}, fun(_) -> <<"2">> end), {ok, <<"2">>}),
- expect:equal(map({error, 1}, fun(X) -> X + 1 end), {error, 1}).
--endif.
-
-map_error(Result, Fun) ->
- case Result of
- {ok, _} ->
- Result;
-
- {error, Error} ->
- {error, Fun(Error)}
- end.
-
--ifdef(TEST).
-map_error_test() ->
- expect:equal(map_error({ok, 1}, fun(X) -> X + 1 end), {ok, 1}),
- expect:equal(map_error({error, 1}, fun(X) -> X + 1 end), {error, 2}).
--endif.
-
-flatten(Result) ->
- case Result of
- {ok, X} ->
- X;
-
- {error, Error} ->
- {error, Error}
- end.
-
--ifdef(TEST).
-flatten_test() ->
- expect:equal(flatten({ok, {ok, 1}}), {ok, 1}),
- expect:equal(flatten({ok, {error, 1}}), {error, 1}),
- expect:equal(flatten({error, 1}), {error, 1}),
- expect:equal(flatten({error, {error, 1}}), {error, {error, 1}}).
--endif.
-
-then(Result, Fun) ->
- case Result of
- {ok, X} ->
- Fun(X);
-
- {error, E} ->
- {error, E}
- end.
-
--ifdef(TEST).
-then_test() ->
- expect:equal(then({error, 1}, fun(X) -> {ok, X + 1} end), {error, 1}),
- expect:equal(then({ok, 1}, fun(X) -> {ok, X + 1} end), {ok, 2}),
- expect:equal(then({ok, 1}, fun(_) -> {ok, <<"type change">>} end),
- {ok, <<"type change">>}),
- expect:equal(then({ok, 1}, fun(_) -> {error, 1} end), {error, 1}).
--endif.
-
-unwrap(Result, Default) ->
- case Result of
- {ok, V} ->
- V;
-
- {error, _} ->
- Default
- end.
-
--ifdef(TEST).
-unwrap_test() ->
- expect:equal(unwrap({ok, 1}, 50), 1),
- expect:equal(unwrap({error, <<"nope">>}, 50), 50).
--endif.