All files / array/operator takeWhile.ts

100% Statements 8/8
100% Branches 2/2
100% Functions 2/2
100% Lines 5/5

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    4x 14x 13x 4x     6x        
import {Predicate} from 'fnxt/fnxt-types';
 
export const takeWhile = <T>(predicate: Predicate<T>) => (array: T[]): T[] => {
  for (let i = 0; i < array.length; i++) {
    if (!predicate(array[i])) {
      return array.slice(0, i);
    }
  }
  return array;
};