minMaxOf method
Returns a tuple with the minimum and maximum of the provided iterable
.
Implementation
({T min, T max}) minMaxOf(Iterable<T> iterable,
{({T min, T max}) Function()? orElse}) {
final iterator = iterable.iterator;
if (iterator.moveNext()) {
var minValue = iterator.current;
var maxValue = iterator.current;
while (iterator.moveNext()) {
minValue = min(minValue, iterator.current);
maxValue = max(maxValue, iterator.current);
}
return (min: minValue, max: maxValue);
}
if (orElse == null) throw StateError("No element");
return orElse();
}