Add specs.
[hope.git] / src / hope_result.erl
CommitLineData
6731749b
SK
1-module(hope_result).
2
2a40de4f 3
3b156801
SK
4-export_type(
5 [ t/2
6 ]).
6731749b 7
3b156801
SK
8-export(
9 [ pipe/2
10 ]).
6731749b
SK
11
12
3b156801
SK
13-type t(A, B) ::
14 {ok, A}
15 | {error, B}
16 .
6731749b
SK
17
18
ed9905af
SK
19-spec pipe([F], X) ->
20 t(Ok, Error)
21 when X :: any()
22 , Ok :: any()
23 , Error :: any()
24 , F :: fun((X) -> t(Ok, Error))
25 .
6731749b
SK
26pipe([] , X) -> X;
27pipe([F|Fs], X) ->
28 case F(X)
29 of {error, _}=E -> E
30 ; {ok, Y} -> pipe(Fs, Y)
31 end.
This page took 0.023588 seconds and 4 git commands to generate.