You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

40 line
1.3 KiB

  1. "use strict";
  2. exports.__esModule = true;
  3. 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; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
  4. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  5. var noop = function noop() {};
  6. /**
  7. * The basic disposable.
  8. */
  9. var Disposable = (function () {
  10. _createClass(Disposable, null, [{
  11. key: "empty",
  12. value: { dispose: noop },
  13. enumerable: true
  14. }]);
  15. function Disposable(action) {
  16. _classCallCheck(this, Disposable);
  17. this.isDisposed = false;
  18. this.action = action || noop;
  19. }
  20. Disposable.prototype.dispose = function dispose() {
  21. if (!this.isDisposed) {
  22. this.action.call(null);
  23. this.isDisposed = true;
  24. }
  25. };
  26. return Disposable;
  27. })();
  28. exports["default"] = Disposable;
  29. module.exports = exports["default"];