extent<T extends Comparable<Object> > function
Returns the minimum and maximum values as a tuple. Returns null if the iterable is empty.
Implementation
(T, T)? extent<T extends Comparable<Object>>(Iterable<T> iterable) {
final iterator = iterable.iterator;
if (!iterator.moveNext()) return null;
T minValue = iterator.current;
T maxValue = iterator.current;
while (iterator.moveNext()) {
final current = iterator.current;
if (current.compareTo(minValue) < 0) {
minValue = current;
}
if (current.compareTo(maxValue) > 0) {
maxValue = current;
}
}
return (minValue, maxValue);
}