All files / seq/operator takeWhile.ts

100% Statements 9/9
100% Branches 2/2
100% Functions 3/3
100% Lines 7/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  1x   4x 8x 8x 106x 98x   8x          
import {Predicate, Seq} from 'fnxt/fnxt-types';
import {toSequence} from '../build';
 
export const takeWhile = <E>(predicate: Predicate<E>) => (seq: Seq<E>): Seq<E> =>
  toSequence(function* () {
    for (const e of seq) {
      if (predicate(e)) {
        yield e;
      } else {
        return;
      }
    }
  });