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)
);