Function: orElse()
Chains the next computation using the error value of a Result or ResultAsync. If the original result is a Success, it is returned unchanged. Otherwise, the provided function is called, and its result is returned as-is.
Type Param
The input Result or ResultAsync.
Type Param
The result type returned by fn.
Examples
See
pipe - It is recommended to use this function with the pipe function for better readability and composability.
Call Signature
orElse<
R1,R2>(fn): (result) =>ResultFor<R1|R2,InferSuccess<R1> |InferSuccess<R2>,InferFailure<R2>>
Type Parameters
R1
R1 extends ResultMaybeAsync<any, any>
R2
R2 extends ResultMaybeAsync<any, any>
Parameters
fn
(a) => R2
Returns
(
result):ResultFor<R1|R2,InferSuccess<R1> |InferSuccess<R2>,InferFailure<R2>>
Parameters
result
R1
Returns
ResultFor<R1 | R2, InferSuccess<R1> | InferSuccess<R2>, InferFailure<R2>>
Call Signature
orElse<
F>(fn): <R1>(result) =>ResultFor<R1|ReturnType<F>,InferSuccess<R1> |InferSuccess<F>,InferFailure<F>>
Type Parameters
F
F extends (a) => ResultMaybeAsync<any, any>
Parameters
fn
F
Returns
<
R1>(result):ResultFor<R1|ReturnType<F>,InferSuccess<R1> |InferSuccess<F>,InferFailure<F>>
Type Parameters
R1
R1 extends ResultMaybeAsync<any, Parameters<F>[0]>
Parameters
result
R1
Returns
ResultFor<R1 | ReturnType<F>, InferSuccess<R1> | InferSuccess<F>, InferFailure<F>>
