Function: mapOk()
Call Signature
mapOk<
R,MapperReturn>(fn): (result) =>Result<InferValueAsOk<MapperReturn>,UnwrapErr<R|MapperReturn>>
Defined in: fp.ts:60
Takes a mapper function and returns a function that accepts a Result. The returned function transforms the data for Ok results using the mapper, while passing Err results unchanged.
Type Parameters
R
R extends Result
The input Result type
MapperReturn
MapperReturn
The type returned by the mapper function
Parameters
fn
(data) => NonPromise<MapperReturn>
Function to transform the Ok data
Returns
A function that takes a Result and returns a new Result with transformed data
(
result):Result<InferValueAsOk<MapperReturn>,UnwrapErr<R|MapperReturn>>
Parameters
result
NonPromise<R>
Returns
Result<InferValueAsOk<MapperReturn>, UnwrapErr<R | MapperReturn>>
Example
const result = pipe(
ok(42),
mapOk((x) => x * 2), // Ok<84>
mapOk((x) => x.toString()), // Ok<"84">
);
const errorResult = pipe(
err("network error"),
mapOk((x) => x * 2), // Err<"network error"> (unchanged)
mapOk((x) => x.toString()) // Err<"network error"> (unchanged)
);Call Signature
mapOk<
R,MapperReturn>(fn): (result) =>Promise<Result<InferValueAsOk<MapperReturn>,UnwrapErr<R|MapperReturn>>>
Defined in: fp.ts:63
Takes a mapper function and returns a function that accepts a Result. The returned function transforms the data for Ok results using the mapper, while passing Err results unchanged.
Type Parameters
R
R extends Result
The input Result type
MapperReturn
MapperReturn
The type returned by the mapper function
Parameters
fn
(data) => OrPromise<MapperReturn>
Function to transform the Ok data
Returns
A function that takes a Result and returns a new Result with transformed data
(
result):Promise<Result<InferValueAsOk<MapperReturn>,UnwrapErr<R|MapperReturn>>>
Parameters
result
OrPromise<R>
Returns
Promise<Result<InferValueAsOk<MapperReturn>, UnwrapErr<R | MapperReturn>>>
Example
const result = pipe(
ok(42),
mapOk((x) => x * 2), // Ok<84>
mapOk((x) => x.toString()), // Ok<"84">
);
const errorResult = pipe(
err("network error"),
mapOk((x) => x * 2), // Err<"network error"> (unchanged)
mapOk((x) => x.toString()) // Err<"network error"> (unchanged)
);