UNPKG

@typed/fp

Version:

Data Structures and Resources for fp-ts

31 lines 804 B
import { pipe } from 'fp-ts/function'; import * as E from './Env'; import * as KV from './KV'; import * as Ref from './Ref'; /** * A Ref for tracking resources that can be disposed of. * @since 0.11.0 * @category Ref */ export const RefDisposable = Ref.fromKV(KV.Disposable); /** * @since 0.11.0 * @category Effect */ export const get = RefDisposable.get; /** * @since 0.11.0 * @category Effect */ export const remove = RefDisposable.remove; /** * @since 0.11.0 * @category Effect */ export const add = (disposable) => pipe(RefDisposable.get, E.map((s) => s.addDisposable(disposable))); /** * @since 0.11.0 * @category Effect */ export const dispose = pipe(RefDisposable.get, E.map((d) => d.dispose()), E.chainFirstW(() => RefDisposable.remove)); //# sourceMappingURL=RefDisposable.js.map