All files / pipe chain.ts

100% Statements 4/4
100% Branches 0/0
100% Functions 2/2
100% Lines 3/3

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          1x 8x 5x      
interface Chain<E> {
  value: E
  pipe: <F>(map: (e: E) => F) => Chain<F>;
}
 
export const chain = <E>(value: E): Chain<E> => {
  return {
    pipe: <F>(map: (e: E) => F) => chain(map(value)),
    value
  };
}