addIterable<T> method
void
addIterable<T>(})
As Map.fromIterable but adds.
Additionally, you may specify values
instead of value
. This new
parameter allows you to supply a function that returns an Iterable
of values.
key
and value
default to the identity function. values
is ignored
if not specified.
Implementation
void addIterable<T>(Iterable<T> iterable,
{K Function(T)? key,
V Function(T)? value,
Iterable<V> Function(T)? values}) {
if (value != null && values != null) {
throw ArgumentError('expected value or values to be set, got both');
}
key ??= (T x) => x as K;
if (values != null) {
for (var element in iterable) {
addValues(key(element), values(element));
}
} else {
value ??= (T x) => x as V;
for (var element in iterable) {
add(key(element), value(element));
}
}
}