All files / seq/operator last.ts

100% Statements 7/7
100% Branches 2/2
100% Functions 1/1
100% Lines 6/6

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    1x   3x 6x   3x 1x   2x      
import {Seq} from 'fnxt/fnxt-types';
 
export const last = <E>(seq: Seq<E>): E => {
  let e: E | undefined;
  for (const i of seq) {
    e = i;
  }
  if (e === undefined) {
    throw new Error('empty sequence has no last element');
  }
  return e;
};