checkIterableContains<T extends Iterable> static method
Throws if iterable
is null
, or if iterable
does not contain
every element of requiredElements
.
If name
is supplied, it is used as the parameter name
in the error message.
Returns the iterable
if it is not null and if it contains
all elements of requiredElements
.
Implementation
static T checkIterableContains<T extends Iterable<dynamic>>(
T? iterable,
T requiredElements, {
String? name,
}) {
final nonNullIterable = ArgumentError.checkNotNull(iterable);
if (nonNullIterable.containsAll(requiredElements)) return nonNullIterable;
throw ArgumentErrorUtils._value(
nonNullIterable,
name: name,
message:
"${name ?? "The iterable"} does not contain all required elements",
extraMessage: "\nrequired elements:\n${requiredElements.join("\n")}\n\n"
"${name ?? "iterable"}:\n${nonNullIterable.join("\n")}",
);
}