"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function observeProps(props) { if (!props) { return; } Object.keys(props).forEach(function (key) { var prop = props[key]; if (prop === null || !('type' in prop)) { prop = { type: prop }; } var observer = prop.observer; prop.observer = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (observer) { if (typeof observer === 'string') { observer = this[observer]; } observer.apply(this, args); } this.set(); }; props[key] = prop; }); } exports.observeProps = observeProps; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb3BzLmpzIl0sIm5hbWVzIjpbIk9iamVjdCIsInZhbHVlIiwicHJvcCIsInByb3BzIiwidHlwZSIsIm9ic2VydmVyIiwiYXJncyIsIl9pIiwiYXJndW1lbnRzIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7QUFDQUEsT0FBQUEsY0FBQUEsQ0FBQUEsT0FBQUEsRUFBQUEsWUFBQUEsRUFBNkMsRUFBRUMsT0FBL0NELElBQTZDLEVBQTdDQTtBQUNBLFNBQUEsWUFBQSxDQUFBLEtBQUEsRUFBNkI7QUFDekIsUUFBSSxDQUFKLEtBQUEsRUFBWTtBQUNSO0FBQ0g7QUFDREEsV0FBQUEsSUFBQUEsQ0FBQUEsS0FBQUEsRUFBQUEsT0FBQUEsQ0FBMkIsVUFBQSxHQUFBLEVBQWU7QUFDdEMsWUFBSUUsT0FBT0MsTUFBWCxHQUFXQSxDQUFYO0FBQ0EsWUFBSUQsU0FBQUEsSUFBQUEsSUFBaUIsRUFBRSxVQUF2QixJQUFxQixDQUFyQixFQUF3QztBQUNwQ0EsbUJBQU8sRUFBRUUsTUFBVEYsSUFBTyxFQUFQQTtBQUNIO0FBQ0QsWUFBSUcsV0FBV0gsS0FBZixRQUFBO0FBQ0FBLGFBQUFBLFFBQUFBLEdBQWdCLFlBQVk7QUFDeEIsZ0JBQUlJLE9BQUosRUFBQTtBQUNBLGlCQUFLLElBQUlDLEtBQVQsQ0FBQSxFQUFpQkEsS0FBS0MsVUFBdEIsTUFBQSxFQUFBLElBQUEsRUFBOEM7QUFDMUNGLHFCQUFBQSxFQUFBQSxJQUFXRSxVQUFYRixFQUFXRSxDQUFYRjtBQUNIO0FBQ0QsZ0JBQUEsUUFBQSxFQUFjO0FBQ1Ysb0JBQUksT0FBQSxRQUFBLEtBQUosUUFBQSxFQUFrQztBQUM5QkQsK0JBQVcsS0FBWEEsUUFBVyxDQUFYQTtBQUNIO0FBQ0RBLHlCQUFBQSxLQUFBQSxDQUFBQSxJQUFBQSxFQUFBQSxJQUFBQTtBQUNIO0FBQ0QsaUJBQUEsR0FBQTtBQVhKSCxTQUFBQTtBQWFBQyxjQUFBQSxHQUFBQSxJQUFBQSxJQUFBQTtBQW5CSkgsS0FBQUE7QUFxQkg7QUFDRFMsUUFBQUEsWUFBQUEsR0FBQUEsWUFBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmZ1bmN0aW9uIG9ic2VydmVQcm9wcyhwcm9wcykge1xuICAgIGlmICghcHJvcHMpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBPYmplY3Qua2V5cyhwcm9wcykuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIHZhciBwcm9wID0gcHJvcHNba2V5XTtcbiAgICAgICAgaWYgKHByb3AgPT09IG51bGwgfHwgISgndHlwZScgaW4gcHJvcCkpIHtcbiAgICAgICAgICAgIHByb3AgPSB7IHR5cGU6IHByb3AgfTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgb2JzZXJ2ZXIgPSBwcm9wLm9ic2VydmVyO1xuICAgICAgICBwcm9wLm9ic2VydmVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGFyZ3MgPSBbXTtcbiAgICAgICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgICAgICAgICAgYXJnc1tfaV0gPSBhcmd1bWVudHNbX2ldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9ic2VydmVyKSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBvYnNlcnZlciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIgPSB0aGlzW29ic2VydmVyXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNldCgpO1xuICAgICAgICB9O1xuICAgICAgICBwcm9wc1trZXldID0gcHJvcDtcbiAgICB9KTtcbn1cbmV4cG9ydHMub2JzZXJ2ZVByb3BzID0gb2JzZXJ2ZVByb3BzO1xuIl0sImZpbGUiOiJwcm9wcy5qcyJ9