UNPKG

@web-atoms/core

Version:
41 lines (40 loc) 1.1 kB
System.register(["./AtomBinder"], function (_export, _context) { "use strict"; var AtomBinder; function BindableProperty(target, key) { const iVal = target[key]; const keyName = "_" + key; target[keyName] = iVal; const getter = function () { return this[keyName]; }; const setter = function (newVal) { const oldValue = this[keyName]; if (oldValue === undefined ? oldValue === newVal : oldValue == newVal) { return; } const ce = this; if (ce.onPropertyChanging) { ce.onPropertyChanging(key, oldValue, newVal); } this[keyName] = newVal; AtomBinder.refreshValue(this, key); }; if (delete target[key]) { Object.defineProperty(target, key, { get: getter, set: setter, enumerable: true, configurable: true }); } } _export("BindableProperty", BindableProperty); return { setters: [function (_AtomBinder) { AtomBinder = _AtomBinder.AtomBinder; }], execute: function () {} }; }); //# sourceMappingURL=BindableProperty.js.map