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")}",
);
}