X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=src%2Fhope_kv_list.erl;h=6e3442d94ef7703f8e947448883327dc658d41b2;hb=4744fed98ce752dde11c03aeaf8d90983efe5ea6;hp=cb1c4a401fe0bc0ac92a806ad2ee8076fff8b6b9;hpb=e0fbc1da088f6d4a87c06c80ad40e2d40339b12a;p=hope.git diff --git a/src/hope_kv_list.erl b/src/hope_kv_list.erl index cb1c4a4..6e3442d 100644 --- a/src/hope_kv_list.erl +++ b/src/hope_kv_list.erl @@ -25,6 +25,7 @@ , fold/3 , of_kv_list/1 , to_kv_list/1 + , has_key/2 , find_unique_presence_violations/2 % No optional keys , find_unique_presence_violations/3 % Specify optional keys , validate_unique_presence/2 % No optional keys @@ -104,11 +105,12 @@ pop(T1, K) -> ; false -> {none , T1} end. --spec iter(t(K, V), fun((K, V) -> ok)) -> - ok. +-spec iter(t(K, V), fun((K, V) -> any())) -> + {}. iter(T, F1) -> F2 = lift_map(F1), - lists:foreach(F2, T). + ok = lists:foreach(F2, T), + {}. -spec map(t(K, V), fun((K, V) -> V)) -> t(K, V). @@ -206,6 +208,10 @@ presence_violations_to_list(#hope_kv_list_presence_violations end, ErrorDups ++ ErrorMissing ++ ErrorUnsupported. +-spec has_key(t(K, _), K) -> + boolean(). +has_key(T, K1) -> + lists:any(fun ({K2, _}) -> K1 =:= K2 end, T). %% ============================================================================ %% Helpers