All files / result/operator map.ts

100% Statements 5/5
100% Branches 2/2
100% Functions 2/2
100% Lines 4/4

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 91x     1x 3x 3x      
import {Result, ResultType, Success} from '../result';
import {UnaryFunction} from '../../fnxt-types';
 
export const map = <T, R>(fn: UnaryFunction<T, R>) =>
  <Err>(result: Result<T, Err>): Result<R, Err> =>
    (result.type === ResultType.Failure) ? result : Success(fn(result.value));