fix(emqx_rule_validator): Dialyzer warning
This commit is contained in:
parent
4cfe4e9940
commit
6a1aae52eb
|
@ -31,25 +31,31 @@
|
||||||
%% APIs
|
%% APIs
|
||||||
%%------------------------------------------------------------------------------
|
%%------------------------------------------------------------------------------
|
||||||
|
|
||||||
%% Validate the params according the spec and return a new spec.
|
%% Validate the params according the spec.
|
||||||
%% Note that this function will throw out exceptions in case of
|
%% Note that this function throws exception in case of validation failure.
|
||||||
%% validation failure.
|
-spec(validate_params(params(), params_spec()) -> ok).
|
||||||
-spec(validate_params(params(), params_spec()) -> params()).
|
|
||||||
validate_params(Params, ParamsSepc) ->
|
validate_params(Params, ParamsSepc) ->
|
||||||
maps:map(fun(Name, Spec) ->
|
F = fun(Name, Spec) ->
|
||||||
do_validate_param(Name, Spec, Params)
|
do_validate_param(Name, Spec, Params)
|
||||||
end, ParamsSepc),
|
end,
|
||||||
ok.
|
map_foreach(F, ParamsSepc).
|
||||||
|
|
||||||
-spec(validate_spec(params_spec()) -> ok).
|
-spec(validate_spec(params_spec()) -> ok).
|
||||||
validate_spec(ParamsSepc) ->
|
validate_spec(ParamsSepc) -> map_foreach(fun do_validate_spec/2, ParamsSepc).
|
||||||
maps:map(fun do_validate_spec/2, ParamsSepc),
|
|
||||||
ok.
|
|
||||||
|
|
||||||
%%------------------------------------------------------------------------------
|
%%------------------------------------------------------------------------------
|
||||||
%% Internal Functions
|
%% Internal Functions
|
||||||
%%------------------------------------------------------------------------------
|
%%------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
map_foreach(Fun, Map) ->
|
||||||
|
Iterator = maps:iterator(Map),
|
||||||
|
map_foreach_loop(Fun, maps:next(Iterator)).
|
||||||
|
|
||||||
|
map_foreach_loop(_Fun, none) -> ok;
|
||||||
|
map_foreach_loop(Fun, {Key, Value, Iterator}) ->
|
||||||
|
_ = Fun(Key, Value),
|
||||||
|
map_foreach_loop(Fun, maps:next(Iterator)).
|
||||||
|
|
||||||
do_validate_param(Name, Spec = #{required := true}, Params) ->
|
do_validate_param(Name, Spec = #{required := true}, Params) ->
|
||||||
find_field(Name, Params,
|
find_field(Name, Params,
|
||||||
fun (not_found) -> error({required_field_missing, Name});
|
fun (not_found) -> error({required_field_missing, Name});
|
||||||
|
@ -171,5 +177,5 @@ do_find_field([F | Fields], Spec, Func) ->
|
||||||
end.
|
end.
|
||||||
|
|
||||||
bin(Atom) when is_atom(Atom) -> atom_to_binary(Atom, utf8);
|
bin(Atom) when is_atom(Atom) -> atom_to_binary(Atom, utf8);
|
||||||
bin(Str) when is_list(Str) -> atom_to_list(Str);
|
bin(Str) when is_list(Str) -> iolist_to_binary(Str);
|
||||||
bin(Bin) when is_binary(Bin) -> Bin.
|
bin(Bin) when is_binary(Bin) -> Bin.
|
||||||
|
|
Loading…
Reference in New Issue