minMax static method
Gets both min and max from a list.
Throws StateError if the list is empty.
Implementation
static MinMaxResult minMax(Iterable<Hora> dates) {
if (dates.isEmpty) {
throw StateError('Cannot find min/max of empty collection');
}
final iterator = dates.iterator..moveNext();
var minVal = iterator.current;
var maxVal = iterator.current;
while (iterator.moveNext()) {
final current = iterator.current;
if (current.isBefore(minVal)) minVal = current;
if (current.isAfter(maxVal)) maxVal = current;
}
return MinMaxResult(min: minVal, max: maxVal);
}