All files / option/operator foldBack.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  1x   2x 2x  
import {Folder} from 'fnxt/fnxt-types';
import {isSome, Option} from 'fnxt/option';
 
export const foldBack = <T, S>(predicate: Folder<T, S>) => (option: Option<T>) => (state: S): S =>
  isSome(option) ? predicate(state, option.value) : state;