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">