"use strict";
var _classCallCheck = function (instance, Constructor) { Iif (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } };
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; Eif ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { Iif (protoProps) defineProperties(Constructor.prototype, protoProps); Eif (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
exports.__esModule = true;
var noop = function noop() {};
/**
* The basic disposable.
*/
var Disposable = (function () {
function Disposable(action) {
_classCallCheck(this, Disposable);
this.isDisposed = false;
this.action = action || noop;
}
Disposable.prototype.dispose = function dispose() {
if (!this.isDisposed) {
this.action.call(null);
this.isDisposed = true;
}
};
_createClass(Disposable, null, [{
key: "empty",
enumerable: true,
value: { dispose: noop }
}]);
return Disposable;
})();
exports["default"] = Disposable;
module.exports = exports["default"];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9kYW4vRG9jdW1lbnRzL1Byb2plY3RzL2Rpc3Bvc2FibGVzL21vZHVsZXMvRGlzcG9zYWJsZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBTSxJQUFJLEdBQUcsZ0JBQU0sRUFBRSxDQUFDOzs7Ozs7SUFLRCxVQUFVO0FBR2xCLFdBSFEsVUFBVSxDQUdqQixNQUFNLEVBQUU7MEJBSEQsVUFBVTs7QUFJM0IsUUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7QUFDeEIsUUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLElBQUksSUFBSSxDQUFDO0dBQzlCOztBQU5rQixZQUFVLFdBUTdCLE9BQU8sR0FBQSxtQkFBRztBQUNSLFFBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO0FBQ3BCLFVBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3ZCLFVBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0tBQ3hCO0dBQ0Y7O2VBYmtCLFVBQVU7OztXQUNkLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTs7O1NBRGIsVUFBVTs7O3FCQUFWLFVBQVUiLCJmaWxlIjoiL1VzZXJzL2Rhbi9Eb2N1bWVudHMvUHJvamVjdHMvZGlzcG9zYWJsZXMvbW9kdWxlcy9EaXNwb3NhYmxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3Qgbm9vcCA9ICgpID0+IHt9O1xuXG4vKipcbiAqIFRoZSBiYXNpYyBkaXNwb3NhYmxlLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEaXNwb3NhYmxlIHtcbiAgc3RhdGljIGVtcHR5ID0geyBkaXNwb3NlOiBub29wIH07XG5cbiAgY29uc3RydWN0b3IoYWN0aW9uKSB7XG4gICAgdGhpcy5pc0Rpc3Bvc2VkID0gZmFsc2U7XG4gICAgdGhpcy5hY3Rpb24gPSBhY3Rpb24gfHwgbm9vcDtcbiAgfVxuXG4gIGRpc3Bvc2UoKSB7XG4gICAgaWYgKCF0aGlzLmlzRGlzcG9zZWQpIHtcbiAgICAgIHRoaXMuYWN0aW9uLmNhbGwobnVsbCk7XG4gICAgICB0aGlzLmlzRGlzcG9zZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxufSJdfQ== |