git.iko.soy/purescript-stream
on master help sign in
32 lines 549 B history raw
1exports.emptyDisposable = { dispose: function () { return {} } }
3exports.disposeAll = function (disposables) {
4 var disposed = false
6 function dispose () {
7 if (disposed) return
9 disposables.forEach(function (disposable) {
10 disposable.dispose()
11 })
13 disposed = true
14 }
16 return { dispose: dispose }
19exports.lazyDisposable = function (f) {
20 var disposed = false
22 function dispose () {
23 if (disposed) return
24 var disposable = f()
26 disposable.dispose()
28 disposed = true
29 }
31 return { dispose: dispose }