UNPKG

@web-atoms/core

Version:
43 lines (42 loc) 1.18 kB
System.register([], function (_export, _context) { "use strict"; var Disposable; return { setters: [], execute: function () { Disposable = (target, key) => { const iVal = target[key]; const keyName = "_" + key; const disposableKey = "_$_disposable" + key; target[keyName] = iVal; if (iVal) { target[disposableKey] = target.registerDisposable(iVal); } const getter = function () { return this[keyName]; }; const setter = function (newVal) { const oldValue = this[keyName]; if (oldValue == newVal) { return; } const oldDisposable = this[disposableKey]; if (oldDisposable && oldDisposable.dispose) { oldDisposable.dispose(); } this[keyName] = newVal; }; if (delete target[key]) { Object.defineProperty(target, key, { get: getter, set: setter, enumerable: true, configurable: true }); } }; _export("default", Disposable); } }; }); //# sourceMappingURL=Disposable.js.map