UNPKG

saij

Version:
46 lines (38 loc) 2.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _functions = require("./utils/functions.js"); /** * @module saij/core/Disposable */ /** * @classdesc * Objects that need to clean up after themselves. */ class Disposable { /** * Clean up. */ dispose() { if (!this.disposed_) { this.disposed_ = true; this.disposeInternal(); } } } /** * The object has already been disposed. * @type {boolean} * @private */ Disposable.prototype.disposed_ = false; /** * Extension point for disposable objects. * @protected */ Disposable.prototype.disposeInternal = _functions.VOID; var _default = Disposable; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zYWlqL2NvcmUvRGlzcG9zYWJsZS5qcyJdLCJuYW1lcyI6WyJEaXNwb3NhYmxlIiwiZGlzcG9zZSIsImRpc3Bvc2VkXyIsImRpc3Bvc2VJbnRlcm5hbCIsInByb3RvdHlwZSIsIlZPSUQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQTs7QUFIQTs7OztBQU1BOzs7O0FBSUEsTUFBTUEsVUFBTixDQUFpQjtBQUNmOzs7QUFHQUMsRUFBQUEsT0FBTyxHQUFHO0FBQ1IsUUFBSSxDQUFDLEtBQUtDLFNBQVYsRUFBcUI7QUFDbkIsV0FBS0EsU0FBTCxHQUFpQixJQUFqQjtBQUNBLFdBQUtDLGVBQUw7QUFDRDtBQUNGOztBQVRjO0FBWWpCOzs7Ozs7O0FBS0FILFVBQVUsQ0FBQ0ksU0FBWCxDQUFxQkYsU0FBckIsR0FBaUMsS0FBakM7QUFFQTs7Ozs7QUFJQUYsVUFBVSxDQUFDSSxTQUFYLENBQXFCRCxlQUFyQixHQUF1Q0UsZUFBdkM7ZUFHZUwsVSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBzYWlqL2NvcmUvRGlzcG9zYWJsZVxuICovXG5pbXBvcnQge1ZPSUR9IGZyb20gJy4vdXRpbHMvZnVuY3Rpb25zLmpzJztcblxuXG4vKipcbiAqIEBjbGFzc2Rlc2NcbiAqIE9iamVjdHMgdGhhdCBuZWVkIHRvIGNsZWFuIHVwIGFmdGVyIHRoZW1zZWx2ZXMuXG4gKi9cbmNsYXNzIERpc3Bvc2FibGUge1xuICAvKipcbiAgICogQ2xlYW4gdXAuXG4gICAqL1xuICBkaXNwb3NlKCkge1xuICAgIGlmICghdGhpcy5kaXNwb3NlZF8pIHtcbiAgICAgIHRoaXMuZGlzcG9zZWRfID0gdHJ1ZTtcbiAgICAgIHRoaXMuZGlzcG9zZUludGVybmFsKCk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVGhlIG9iamVjdCBoYXMgYWxyZWFkeSBiZWVuIGRpc3Bvc2VkLlxuICogQHR5cGUge2Jvb2xlYW59XG4gKiBAcHJpdmF0ZVxuICovXG5EaXNwb3NhYmxlLnByb3RvdHlwZS5kaXNwb3NlZF8gPSBmYWxzZTtcblxuLyoqXG4gKiBFeHRlbnNpb24gcG9pbnQgZm9yIGRpc3Bvc2FibGUgb2JqZWN0cy5cbiAqIEBwcm90ZWN0ZWRcbiAqL1xuRGlzcG9zYWJsZS5wcm90b3R5cGUuZGlzcG9zZUludGVybmFsID0gVk9JRDtcblxuXG5leHBvcnQgZGVmYXVsdCBEaXNwb3NhYmxlO1xuIl19