/** * Sequentially zips the this result with the specified result or else returns * the failed `Cause`. * * @tsplus static effect/core/io/Exit.Aspects foldEffect * @tsplus pipeable effect/core/io/Exit foldEffect */ export function foldEffect( failed: (cause: Cause) => Effect, completed: (a: A) => Effect ) { return (self: Exit): Effect => { switch (self._tag) { case "Failure": return failed(self.cause) case "Success": return completed(self.value) } } }