Skip to content

Function: mapErr() ​

Call Signature ​

mapErr<R, MapperReturn>(fn): (result) => Result<UnwrapOk<R | MapperReturn>, InferValueAsErr<MapperReturn>>

Defined in: fp.ts:96

Takes a mapper function and returns a function that accepts a Result. The returned function transforms the error of Err results using the mapper, while passing Ok 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 Err data

Returns ​

A function that takes a Result and returns a new Result with transformed error

(result): Result<UnwrapOk<R | MapperReturn>, InferValueAsErr<MapperReturn>>

Parameters ​

result ​

NonPromise<R>

Returns ​

Result<UnwrapOk<R | MapperReturn>, InferValueAsErr<MapperReturn>>

Example ​

typescript
const result = pipe(
  err("network error"),
  mapErr((error) => String(error)), // Err<string>
  mapErr((error) => ({ error })),   // Err<{ error: string }>
);

const okResult = pipe(
  ok("success"),
  mapErr((error) => String(error)), // Ok<"success"> (unchanged)
  mapErr((error) => ({ error })),   // Ok<"success"> (unchanged)
);

Call Signature ​

mapErr<R, MapperReturn>(fn): (result) => Promise<Result<UnwrapOk<R | MapperReturn>, InferValueAsErr<MapperReturn>>>

Defined in: fp.ts:99

Takes a mapper function and returns a function that accepts a Result. The returned function transforms the error of Err results using the mapper, while passing Ok 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 Err data

Returns ​

A function that takes a Result and returns a new Result with transformed error

(result): Promise<Result<UnwrapOk<R | MapperReturn>, InferValueAsErr<MapperReturn>>>

Parameters ​

result ​

OrPromise<R>

Returns ​

Promise<Result<UnwrapOk<R | MapperReturn>, InferValueAsErr<MapperReturn>>>

Example ​

typescript
const result = pipe(
  err("network error"),
  mapErr((error) => String(error)), // Err<string>
  mapErr((error) => ({ error })),   // Err<{ error: string }>
);

const okResult = pipe(
  ok("success"),
  mapErr((error) => String(error)), // Ok<"success"> (unchanged)
  mapErr((error) => ({ error })),   // Ok<"success"> (unchanged)
);