orElse<C> method
{@category alternatives}
Implementation
Effect<E, C, R> orElse<C>(
Effect<E, C, R> Function(L l) orElse,
) =>
Effect.from(
(context) => _unsafeRun(context).then(
(exit) => switch (exit) {
Left(value: final cause) => switch (cause) {
Failure<L>(error: final error) =>
orElse(error)._unsafeRun(context),
Die() => Left(cause),
Interrupted() => Left(cause),
},
Right(value: final value) =>
Effect<E, C, R>.succeed(value)._unsafeRun(context),
},
),
);