Skip to content

Commit

Permalink
Added moar awesome z_this_shit functions
Browse files Browse the repository at this point in the history
  • Loading branch information
superbobry committed Feb 2, 2012
1 parent f0a21a8 commit 578186f
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 44 deletions.
48 changes: 5 additions & 43 deletions include/z_validate.hrl
Original file line number Diff line number Diff line change
@@ -1,52 +1,14 @@
-define(Z_OK(VAR), throw:{z_validate, {ok, VAR}}).
-define(Z_ERROR(VAR), throw:{z_validate, {error, VAR}}).
-import(z_validate, [z_wrap/2, z_unwrap/1,
-import(z_validate, [z_wrap/1, z_wrap/2, z_unwrap/1,
z_in_list/2, z_in_list/3,
z_proplist_get/2, z_proplist_get/3,
z_int_in_range/2, z_int_in_range/3,
z_bin_to_int/1, z_bin_to_int/2,
z_bin_to_list/1, z_bin_to_list/2,
z_bin_to_bool/1, z_bin_to_bool/2,
z_bin_to_ex_atom/1, z_bin_to_ex_atom/2,
z_only_loweralpha/1, z_only_loweralpha/2,
z_verify/2, z_verify/3,
z_apply/2, z_apply/3,
z_return/1]).

%% z_wrap(Input, Error) ->
%% z_validate:wrap(Input, Error).

%% z_proplist_get(Input, Args) ->
%% z_validate:proplist_get(Input, Args).
%% z_proplist_get(Input, Args, Error) ->
%% z_validate:proplist_get(Input, Args, Error).

%% z_int_in_range(Input, Args) ->
%% z_validate:int_in_range(Input, Args).
%% z_int_in_range(Input, Args, Error) ->
%% z_validate:int_in_range(Input, Args, Error).

%% z_bin_to_int(Input) ->
%% z_validate:bin_to_int(Input).
%% z_bin_to_int(Input, Error) ->
%% z_validate:bin_to_int(Input, Error).

%% z_bin_to_list(Input) ->
%% z_validate:bin_to_list(Input).
%% z_bin_to_list(Input, Error) ->
%% z_validate:bin_to_list(Input, Error).

%% z_only_loweralpha(Input) ->
%% z_validate:z_only_loweralpha(Input).
%% z_only_loweralpha(Input, Error) ->
%% z_validate:z_only_loweralpha(Input, Error).

%% z_verify(Fun, Input) ->
%% z_validate:verify(Fun, Input).
%% z_verify(Fun, Input, Error) ->
%% z_validate:verify(Fun, Input, Error).

%% z_apply(Fun, Input) ->
%% z_validate:z_apply(Fun, Input).
%% z_apply(Fun, Input, Error) ->
%% z_validate:z_apply(Fun, Input, Error).

%% z_return(Input) ->
%% z_validate:return(Input).
z_return/1]).
40 changes: 39 additions & 1 deletion src/z_validate.erl
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
-module(z_validate).
-export([z_wrap/2, z_unwrap/1,
-export([z_wrap/1, z_wrap/2, z_unwrap/1,
z_in_list/2, z_in_list/3,
z_proplist_get/2, z_proplist_get/3,
z_int_in_range/2, z_int_in_range/3,
z_bin_to_int/1, z_bin_to_int/2,
z_bin_to_list/1, z_bin_to_list/2,
z_bin_to_bool/1, z_bin_to_bool/2,
z_bin_to_ex_atom/1, z_bin_to_ex_atom/2,
z_only_loweralpha/1, z_only_loweralpha/2,
z_verify/2, z_verify/3,
z_apply/2, z_apply/3,
Expand Down Expand Up @@ -86,6 +89,41 @@ z_bin_to_list({Val, _Error}, NewError) ->
_ -> ?THROW_Z_ERROR(NewError)
end.

-spec z_bin_to_bool(z_value(binary()), error_atom()) -> z_value(boolean()).
z_bin_to_bool({Val, _Error}, NewError) ->
case catch list_to_existing_atom(binary_to_list(Val)) of
X when is_boolean(X) -> {X, NewError};
_ -> ?THROW_Z_ERROR(NewError)
end.

-spec z_bin_to_bool(z_value(binary())) -> z_value(boolean()).
z_bin_to_bool({_Val, Error} = ZVal) -> z_bin_to_bool(ZVal, Error).

-spec z_in_list(z_value(A), {list(A)}) -> z_value(A).
z_in_list({_Val, Error} = ZVal, Args) ->
z_in_list(ZVal, Args, Error).

-spec z_in_list(z_value(A), {list(A)}, error_atom()) -> z_value(A).
z_in_list({Val, _Error}, {Lst}, NewError) ->
case catch lists:member(Val, Lst) of
true -> {Val, NewError};
_ -> ?THROW_Z_ERROR(NewError)
end.

-spec z_wrap(value(A)) -> z_value(A).
z_wrap(Input) -> {Input, undefined}.

-spec z_bin_to_ex_atom(z_value(binary())) -> z_value(atom()).
z_bin_to_ex_atom({_Val, Error} = ZVal) ->
z_bin_to_ex_atom(ZVal, Error).

-spec z_bin_to_ex_atom(z_value(binary()), error_atom()) -> z_value(atom()).
z_bin_to_ex_atom({Val, _Error}, NewError) ->
case catch list_to_existing_atom(binary_to_list(Val)) of
X when is_atom(X) -> {X, NewError};
_ -> ?THROW_Z_ERROR(NewError)
end.

-spec z_only_loweralpha(z_value(string())) -> z_value(string()).
z_only_loweralpha({Val, Error}=Input) ->
case catch test_only_loweralpha(Val) of
Expand Down

0 comments on commit 578186f

Please sign in to comment.