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