catchError<C> method
{@category error_handling}
Implementation
Effect<E, C, R> catchError<C>(
Effect<E, C, R> Function(L error) 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),
Die() => Left(cause),
Interrupted() => Left(cause),
},
Right(value: final value) =>
Effect<E, Never, R>.succeed(value)._unsafeRun(context),
},
),
);