All files / seq/operator head.ts

100% Statements 6/6
100% Branches 2/2
100% Functions 1/1
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    1x 4x 4x 2x   2x    
import {Seq} from 'fnxt/fnxt-types';
 
export const head = <E>(seq: Seq<E>): E => {
  const next = seq[Symbol.iterator]().next();
  if (next.done) {
    throw Error('sequence is empty');
  }
  return next.value as E;
};