All files / shared/utils result.ts

100% Statements 4/4
100% Branches 1/1
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 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24                        57x   49605x         57x        
interface SuccessResult<T> {
  ok: true;
  value: T;
}
 
interface ErrorResult<Err> {
  ok: false;
  error: Err;
}
 
export type Result<T, Err> = SuccessResult<T> | ErrorResult<Err>;
 
export const makeSuccessResult = <T>(
  value: T = undefined as T,
): SuccessResult<T> => ({
  ok: true,
  value,
});
 
export const makeErrorResult = <Err>(error: Err): ErrorResult<Err> => ({
  ok: false,
  error,
});