/** * A more powerful variant of `acquireReleaseInterruptible` that allows the * `release` effect to depend on the `Exit` value specified when the scope * is closed. * * @tsplus static effect/core/io/Effect.Ops acquireReleaseInterruptibleExit * @tsplus fluent effect/core/io/Effect acquireReleaseInterruptibleExit */ export function acquireReleaseInterruptibleExit( acquire: Effect, release: (exit: Exit) => Effect ): Effect { return Effect.suspendSucceed(acquire.ensuring(Effect.addFinalizerExit(release))) }