minOf method

T minOf(
  1. Iterable<T> iterable, {
  2. T orElse()?,
})

Returns the minimum of the provided iterable.

Implementation

T minOf(Iterable<T> iterable, {T Function()? orElse}) {
  final iterator = iterable.iterator;
  if (iterator.moveNext()) {
    var value = iterator.current;
    while (iterator.moveNext()) {
      value = min(value, iterator.current);
    }
    return value;
  }
  if (orElse == null) {
    throw StateError('Unable to find minimum in $iterable.');
  }
  return orElse();
}