"use strict"
Object.defineProperty(exports, "__esModule", { value: true })
exports.toManagedRelease = exports.toManagedRelease_ = exports.toManaged = void 0
// tracing: off
const fromEffect_1 = require("../Managed/fromEffect")
const makeExit_1 = require("../Managed/makeExit")
/**
 * Converts this Effect to a Managed. This Effect and the provided release action
 * will be performed uninterruptibly.
 */
function toManaged(self) {
  return (0, fromEffect_1.fromEffect)(self)
}
exports.toManaged = toManaged
/**
 * Converts this Effect to a Managed. This Effect and the provided release action
 * will be performed uninterruptibly.
 */
function toManagedRelease_(self, release) {
  return (0, makeExit_1.makeExit_)(self, release)
}
exports.toManagedRelease_ = toManagedRelease_
/**
 * Converts this Effect to a Managed. This Effect and the provided release action
 * will be performed uninterruptibly.
 *
 * @dataFirst toManagedRelease_
 */
function toManagedRelease(release) {
  return (self) => (0, makeExit_1.makeExit_)(self, release)
}
exports.toManagedRelease = toManagedRelease
//# sourceMappingURL=toManaged.js.map
