1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
-module(priv@errors).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-export([map_messages/3, map_error/2, print_result/1, print_error/1, assert_ok/1]).
-spec map_messages({ok, any()} | {error, any()}, binary(), binary()) -> {ok,
binary()} |
{error, binary()}.
map_messages(Result, Success_message, Error_message) ->
_pipe = Result,
_pipe@1 = gleam@result:map_error(
_pipe,
fun(Error) ->
<<<<<<"Error - "/utf8, Error_message/binary>>/binary, ": "/utf8>>/binary,
(gleam@string:inspect(Error))/binary>>
end
),
gleam@result:replace(_pipe@1, Success_message).
-spec map_error({ok, NIB} | {error, any()}, binary()) -> {ok, NIB} |
{error, binary()}.
map_error(Result, Error_message) ->
_pipe = Result,
gleam@result:map_error(
_pipe,
fun(Error) ->
<<<<Error_message/binary, ": "/utf8>>/binary,
(gleam@string:inspect(Error))/binary>>
end
).
-spec print_result({ok, binary()} | {error, binary()}) -> {ok, binary()} |
{error, binary()}.
print_result(Result) ->
_pipe = Result,
_pipe@1 = gleam@result:unwrap_both(_pipe),
gleam@io:println(_pipe@1),
Result.
-spec print_error({ok, NIK} | {error, binary()}) -> {ok, NIK} |
{error, binary()}.
print_error(Result) ->
_pipe = Result,
gleam@result:map_error(
_pipe,
fun(Err) ->
gleam@io:println(Err),
Err
end
).
-spec assert_ok({ok, NIO} | {error, binary()}) -> NIO.
assert_ok(Result) ->
_assert_subject = begin
_pipe = Result,
gleam@result:map_error(
_pipe,
fun(Err) ->
erlang:halt(1),
Err
end
)
end,
{ok, Value} = case _assert_subject of
{ok, _} -> _assert_subject;
_assert_fail ->
erlang:error(#{gleam_error => let_assert,
message => <<"Assertion pattern match failed"/utf8>>,
value => _assert_fail,
module => <<"priv/errors"/utf8>>,
function => <<"assert_ok"/utf8>>,
line => 43})
end,
Value.
|