All files / option/operator fold.ts

100% Statements 6/6
100% Branches 2/2
100% Functions 3/3
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  1x   2x 2x    
import {Folder} from 'fnxt/fnxt-types';
import {isSome, Option} from 'fnxt/option';
 
export const fold = <T, S>(folder: Folder<T, S>) => (state: S) => (option: Option<T>): S =>
  isSome(option) ? folder(state, option.value) : state;