Current section
Files
Jump to
Current section
Files
src/elli_proplists.erl
%%
%% Case insensitive value retrieval from a proplist
%%
-module(elli_proplists).
-export([get_value_ci/2,
get_all_values_ci/2]).
%%
get_value_ci(_Key, []) ->
undefined;
get_value_ci(Key, [{K, Value}|Rest]) ->
case elli_bstr:is_equal_ci(Key, K) of
true ->
Value;
false ->
get_value_ci(Key, Rest)
end.
%%
get_all_values_ci(Key, Proplist) ->
get_all_values_ci1(Key, Proplist, []).
get_all_values_ci1(_Key, [], Acc) ->
lists:reverse(Acc);
get_all_values_ci1(Key, [{K, Value}|Rest], Acc) ->
case elli_bstr:is_equal_ci(Key, K) of
true ->
get_all_values_ci1(Key, Rest, [Value|Acc]);
false ->
get_all_values_ci1(Key, Rest, Acc)
end.