tapError<C> method

Effect<E, L, R> tapError<C>(
  1. Effect<E, C, R> f(
    1. L l
    )
)

{@category sequencing}

Implementation

Effect<E, L, R> tapError<C>(Effect<E, C, R> Function(L l) f) => Effect.from(
      (context) => _unsafeRun(context).then(
        (exit) => switch (exit) {
          Left(value: final cause) => switch (cause) {
              Failure<L>(error: final error) =>
                f(error)._unsafeRun(context).then(
                      (_) => Left(Failure(error)),
                    ),
              Die() => Left(cause),
              Interrupted() => Left(cause),
            },
          Right(value: final value) => Right(value),
        },
      ),
    );