All files / option/operator bind.ts

100% Statements 5/5
100% Branches 2/2
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  1x   4x 6x    
import {UnaryFunction} from 'fnxt/fnxt-types';
import {isSome, None, Option} from '../option';
 
export const bind = <T, R>(fn: UnaryFunction<T, Option<R>>) => (option: Option<T>) =>
  isSome(option) ? fn(option.value) : None;