effect-io-ai

Package: effect
Module: Effect

Effect.mapError

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

See

Signature

declare 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>; }

Source

Since v2.0.0