UNPKG

falcor

Version:

A JavaScript library for efficient data fetching.

39 lines (31 loc) 952 B
/** * Will allow for state tracking of the current disposable. Also fulfills the * disposable interface. * @private */ var AssignableDisposable = function AssignableDisposable(disosableCallback) { this.disposed = false; this.currentDisposable = disosableCallback; }; AssignableDisposable.prototype = { /** * Disposes of the current disposable. This would be the getRequestCycle * disposable. */ dispose: function dispose() { if (this.disposed || !this.currentDisposable) { return; } this.disposed = true; // If the current disposable fulfills the disposable interface or just // a disposable function. var currentDisposable = this.currentDisposable; if (currentDisposable.dispose) { currentDisposable.dispose(); } else { currentDisposable(); } } }; module.exports = AssignableDisposable;