Function: mapOk()
Call Signature
mapOk<
R
,MapperReturn
>(result
,mapper
):Result
<InferValueAsOk
<MapperReturn
>,UnwrapErr
<R
|MapperReturn
>>
Defined in: index.ts:618
Transforms the data of an Ok result using a mapper function. If the result is Err, it passes through unchanged. The mapper can return a value, Result, or Promise.
Type Parameters
R
R
extends Result
<any
, any
>
The input Result type
MapperReturn
MapperReturn
The type returned by the mapper function
Parameters
result
NonPromise
<R
>
The Result to map over
mapper
(data
) => NonPromise
<MapperReturn
>
Function to transform the Ok data
Returns
Result
<InferValueAsOk
<MapperReturn
>, UnwrapErr
<R
| MapperReturn
>>
A new Result with transformed data, or the original Err result
Example
mapOk(ok(5), x => x * 2); // Result<number, never>
mapOk(err("error"), x => x * 2); // Result<number, "error">
mapOk(ok("123"), str => {
const num = parseInt(str);
return isNaN(num) ? err("Not a number") : ok(num);
}); // Result<number, "Not a number">
Call Signature
mapOk<
R
,MapperReturn
>(result
,mapper
):Promise
<Result
<InferValueAsOk
<MapperReturn
>,UnwrapErr
<R
|MapperReturn
>>>
Defined in: index.ts:622
Transforms the data of an Ok result using a mapper function. If the result is Err, it passes through unchanged. The mapper can return a value, Result, or Promise.
Type Parameters
R
R
extends Result
<any
, any
>
The input Result type
MapperReturn
MapperReturn
The type returned by the mapper function
Parameters
result
OrPromise
<R
>
The Result to map over
mapper
(data
) => OrPromise
<MapperReturn
>
Function to transform the Ok data
Returns
Promise
<Result
<InferValueAsOk
<MapperReturn
>, UnwrapErr
<R
| MapperReturn
>>>
A new Result with transformed data, or the original Err result
Example
mapOk(ok(5), x => x * 2); // Result<number, never>
mapOk(err("error"), x => x * 2); // Result<number, "error">
mapOk(ok("123"), str => {
const num = parseInt(str);
return isNaN(num) ? err("Not a number") : ok(num);
}); // Result<number, "Not a number">