, 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
; 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).
end,
ErrorDups ++ ErrorMissing ++ ErrorUnsupported.
+-spec has_key(t(K, _), K) ->
+ boolean().
+has_key(T, K1) ->
+ lists:any(fun ({K2, _}) -> K1 =:= K2 end, T).
%% ============================================================================
%% Helpers