singleWhereOption method

Option<T> singleWhereOption(
  1. bool test(
    1. T element
    )
)

Optional version of singleWhereOrNull.

Implementation

Option<T> singleWhereOption(bool Function(T element) test) {
  T? result;
  var found = false;

  for (final element in this) {
    if (test(element)) {
      if (found) return const Option.none();
      result = element;
      found = true;
    }
  }

  return Option.fromNullable(result);
}