Skip to content

Commit

Permalink
Fix specs so that they correspond to the code
Browse files Browse the repository at this point in the history
  • Loading branch information
kostis committed Mar 18, 2012
1 parent caad1f8 commit e9c4d77
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions src/lager_trunc_io.erl
Expand Up @@ -41,6 +41,11 @@
-include_lib("eunit/include/eunit.hrl").
-endif.

-type option() :: {'depth', integer()}
| {'lists_as_strings', boolean()}
| {'force_strings', boolean()}.
-type options() :: [option()].

-record(print_options, {
%% negative depth means no depth limiting
depth = -1 :: integer(),
Expand Down Expand Up @@ -71,7 +76,7 @@ fprint(Term, Max) ->

%% @doc Returns an flattened list containing the ASCII representation of the given
%% term.
-spec fprint(term(), pos_integer(), #print_options{}) -> string().
-spec fprint(term(), pos_integer(), options()) -> string().
fprint(T, Max, Options) ->
{L, _} = print(T, Max, prepare_options(Options, #print_options{})),
lists:flatten(L).
Expand All @@ -98,7 +103,7 @@ print(Term, Max) ->
print(Term, Max, []).

%% @doc Returns {List, Length}
-spec print(term(), pos_integer(), #print_options{}) -> {iolist(), pos_integer()}.
-spec print(term(), pos_integer(), options() | #print_options{}) -> {iolist(), pos_integer()}.
print(Term, Max, Options) when is_list(Options) ->
%% need to convert the proplist to a record
print(Term, Max, prepare_options(Options, #print_options{}));
Expand Down Expand Up @@ -330,6 +335,7 @@ atom_needs_quoting([H|T]) when (H >= $a andalso H =< $z);
atom_needs_quoting(_) ->
true.

-spec prepare_options(options(), #print_options{}) -> #print_options{}.
prepare_options([], Options) ->
Options;
prepare_options([{depth, Depth}|T], Options) when is_integer(Depth) ->
Expand Down

0 comments on commit e9c4d77

Please sign in to comment.