UNPKG

@typed/fp

Version:

Data Structures and Resources for fp-ts

36 lines 1.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.dispose = exports.add = exports.remove = exports.get = exports.RefDisposable = void 0; const tslib_1 = require("tslib"); const function_1 = require("fp-ts/function"); const E = (0, tslib_1.__importStar)(require("./Env")); const KV = (0, tslib_1.__importStar)(require("./KV")); const Ref = (0, tslib_1.__importStar)(require("./Ref")); /** * A Ref for tracking resources that can be disposed of. * @since 0.11.0 * @category Ref */ exports.RefDisposable = Ref.fromKV(KV.Disposable); /** * @since 0.11.0 * @category Effect */ exports.get = exports.RefDisposable.get; /** * @since 0.11.0 * @category Effect */ exports.remove = exports.RefDisposable.remove; /** * @since 0.11.0 * @category Effect */ const add = (disposable) => (0, function_1.pipe)(exports.RefDisposable.get, E.map((s) => s.addDisposable(disposable))); exports.add = add; /** * @since 0.11.0 * @category Effect */ exports.dispose = (0, function_1.pipe)(exports.RefDisposable.get, E.map((d) => d.dispose()), E.chainFirstW(() => exports.RefDisposable.remove)); //# sourceMappingURL=RefDisposable.js.map