/** * @tsplus static effect/core/io/Effect.Aspects onDoneCause * @tsplus pipeable effect/core/io/Effect onDoneCause */ export function onDoneCause( error: (e: Cause) => Effect, success: (a: A) => Effect ) { return (self: Effect): Effect => Effect.uninterruptibleMask(({ restore }) => restore(self) .foldCauseEffect( (e) => restore(error(e)), (s) => restore(success(s)) ) .forkDaemon .unit ) }