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