takeWhile method Null safety

Iterable<E> takeWhile (
  1. bool test(
    1. E value

Returns a lazy iterable of the leading elements satisfying test.

The filtering happens lazily. Every new iterator of the returned iterable starts iterating over the elements of this.

The elements can be computed by stepping through iterator until an element is found where test(element) is false. At that point, the returned iterable stops (its moveNext() returns false).


Iterable<E> takeWhile(bool test(E value)) {
  return TakeWhileIterable<E>(this, test);