/** * A more powerful version of `fold` that allows recovering from any kind of * failure except interruptions. * * @tsplus static effect/core/io/Effect.Aspects foldCause * @tsplus pipeable effect/core/io/Effect foldCause */ export function foldCause( failure: (cause: Cause) => A2, success: (a: A) => A3 ) { return (self: Effect): Effect => self.foldCauseEffect( (c) => Effect.succeed(failure(c)), (a) => Effect.succeed(success(a)) ) }