All files / option/operator filter.ts

100% Statements 5/5
100% Branches 4/4
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 61x     1x 3x  
import {isSome, None, Option} from '../option';
import {Predicate} from 'fnxt/fnxt-types';
 
export const filter = <T>(predicate: Predicate<T>) => (option: Option<T>): Option<T> =>
  isSome(option) && predicate(option.value) ? option : None;