Hyperlinkv0.8.0-beta.28

Effect

Effect.mapErrorconsteffect/Effect.ts:3533
<E, E2>(f: (e: E) => E2): <A, R>(
  self: Effect<A, E, R>
) => Effect<A, E2, R>
<A, E, R, E2>(self: Effect<A, E, R>, f: (e: E) => E2): Effect<A, E2, R>

Transforms the failure value of an effect without changing its success value.

When to use

Use to translate an Effect's typed failures while leaving successful values unchanged.

Details

Only the failure channel is transformed. The success channel and requirements are preserved.

Example (Transforming the error channel)

import { Data, Effect } from "effect"

class TaskError extends Data.TaggedError("TaskError")<{ readonly message: string }> {}

//      ┌─── Effect<number, string, never>
//      ▼
const simulatedTask = Effect.fail("Oh no!").pipe(Effect.as(1))

//      ┌─── Effect<number, TaskError, never>
//      ▼
const mapped = Effect.mapError(
  simulatedTask,
  (message) => new TaskError({ message })
)
error handlingmapmapBoth
Source effect/Effect.ts:35334 lines
export const mapError: {
  <E, E2>(f: (e: E) => E2): <A, R>(self: Effect<A, E, R>) => Effect<A, E2, R>
  <A, E, R, E2>(self: Effect<A, E, R>, f: (e: E) => E2): Effect<A, E2, R>
} = internal.mapError
Referenced by 2 symbols