import { IOnSuccessAndFailure } from "@effect/core/io/Effect/definition/primitives" /** * A more powerful version of `foldEffect` that allows recovering from any kind * of failure except interruptions. * * @tsplus static effect/core/io/Effect.Aspects foldCauseEffect * @tsplus pipeable effect/core/io/Effect foldCauseEffect */ export function foldCauseEffect( failure: (cause: Cause) => Effect, success: (a: A) => Effect ) { return (self: Effect): Effect => new IOnSuccessAndFailure(self, success, failure) }