"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var behavior_1 = require('./behavior.js'); var props_1 = require('./props.js'); function observe(vantOptions, options) { var watch = vantOptions.watch, computed = vantOptions.computed; options.behaviors.push(behavior_1.behavior); if (watch) { var props_2 = options.properties || {}; Object.keys(watch).forEach(function (key) { if (key in props_2) { var prop = props_2[key]; if (prop === null || !('type' in prop)) { prop = { type: prop }; } prop.observer = watch[key]; props_2[key] = prop; } }); options.properties = props_2; } if (computed) { options.methods = options.methods || {}; options.methods.$options = function () { return vantOptions; }; if (options.properties) { props_1.observeProps(options.properties); } } } exports.observe = observe; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIk9iamVjdCIsInZhbHVlIiwiYmVoYXZpb3JfMSIsInJlcXVpcmUiLCJwcm9wc18xIiwid2F0Y2giLCJ2YW50T3B0aW9ucyIsImNvbXB1dGVkIiwib3B0aW9ucyIsInByb3BzXzIiLCJrZXkiLCJwcm9wIiwidHlwZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7O0FBQ0FBLE9BQUFBLGNBQUFBLENBQUFBLE9BQUFBLEVBQUFBLFlBQUFBLEVBQTZDLEVBQUVDLE9BQS9DRCxJQUE2QyxFQUE3Q0E7QUFDQSxJQUFJRSxhQUFhQyxRQUFqQixlQUFpQkEsQ0FBakI7QUFDQSxJQUFJQyxVQUFVRCxRQUFkLFlBQWNBLENBQWQ7QUFDQSxTQUFBLE9BQUEsQ0FBQSxXQUFBLEVBQUEsT0FBQSxFQUF1QztBQUNuQyxRQUFJRSxRQUFRQyxZQUFaLEtBQUE7QUFBQSxRQUErQkMsV0FBV0QsWUFBMUMsUUFBQTtBQUNBRSxZQUFBQSxTQUFBQSxDQUFBQSxJQUFBQSxDQUF1Qk4sV0FBdkJNLFFBQUFBO0FBQ0EsUUFBQSxLQUFBLEVBQVc7QUFDUCxZQUFJQyxVQUFVRCxRQUFBQSxVQUFBQSxJQUFkLEVBQUE7QUFDQVIsZUFBQUEsSUFBQUEsQ0FBQUEsS0FBQUEsRUFBQUEsT0FBQUEsQ0FBMkIsVUFBQSxHQUFBLEVBQWU7QUFDdEMsZ0JBQUlVLE9BQUosT0FBQSxFQUFvQjtBQUNoQixvQkFBSUMsT0FBT0YsUUFBWCxHQUFXQSxDQUFYO0FBQ0Esb0JBQUlFLFNBQUFBLElBQUFBLElBQWlCLEVBQUUsVUFBdkIsSUFBcUIsQ0FBckIsRUFBd0M7QUFDcENBLDJCQUFPLEVBQUVDLE1BQVRELElBQU8sRUFBUEE7QUFDSDtBQUNEQSxxQkFBQUEsUUFBQUEsR0FBZ0JOLE1BQWhCTSxHQUFnQk4sQ0FBaEJNO0FBQ0FGLHdCQUFBQSxHQUFBQSxJQUFBQSxJQUFBQTtBQUNIO0FBUkxULFNBQUFBO0FBVUFRLGdCQUFBQSxVQUFBQSxHQUFBQSxPQUFBQTtBQUNIO0FBQ0QsUUFBQSxRQUFBLEVBQWM7QUFDVkEsZ0JBQUFBLE9BQUFBLEdBQWtCQSxRQUFBQSxPQUFBQSxJQUFsQkEsRUFBQUE7QUFDQUEsZ0JBQUFBLE9BQUFBLENBQUFBLFFBQUFBLEdBQTJCLFlBQVk7QUFBRSxtQkFBQSxXQUFBO0FBQXpDQSxTQUFBQTtBQUNBLFlBQUlBLFFBQUosVUFBQSxFQUF3QjtBQUNwQkosb0JBQUFBLFlBQUFBLENBQXFCSSxRQUFyQkosVUFBQUE7QUFDSDtBQUNKO0FBQ0o7QUFDRFMsUUFBQUEsT0FBQUEsR0FBQUEsT0FBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbnZhciBiZWhhdmlvcl8xID0gcmVxdWlyZShcIi4vYmVoYXZpb3JcIik7XG52YXIgcHJvcHNfMSA9IHJlcXVpcmUoXCIuL3Byb3BzXCIpO1xuZnVuY3Rpb24gb2JzZXJ2ZSh2YW50T3B0aW9ucywgb3B0aW9ucykge1xuICAgIHZhciB3YXRjaCA9IHZhbnRPcHRpb25zLndhdGNoLCBjb21wdXRlZCA9IHZhbnRPcHRpb25zLmNvbXB1dGVkO1xuICAgIG9wdGlvbnMuYmVoYXZpb3JzLnB1c2goYmVoYXZpb3JfMS5iZWhhdmlvcik7XG4gICAgaWYgKHdhdGNoKSB7XG4gICAgICAgIHZhciBwcm9wc18yID0gb3B0aW9ucy5wcm9wZXJ0aWVzIHx8IHt9O1xuICAgICAgICBPYmplY3Qua2V5cyh3YXRjaCkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgICBpZiAoa2V5IGluIHByb3BzXzIpIHtcbiAgICAgICAgICAgICAgICB2YXIgcHJvcCA9IHByb3BzXzJba2V5XTtcbiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gbnVsbCB8fCAhKCd0eXBlJyBpbiBwcm9wKSkge1xuICAgICAgICAgICAgICAgICAgICBwcm9wID0geyB0eXBlOiBwcm9wIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHByb3Aub2JzZXJ2ZXIgPSB3YXRjaFtrZXldO1xuICAgICAgICAgICAgICAgIHByb3BzXzJba2V5XSA9IHByb3A7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBvcHRpb25zLnByb3BlcnRpZXMgPSBwcm9wc18yO1xuICAgIH1cbiAgICBpZiAoY29tcHV0ZWQpIHtcbiAgICAgICAgb3B0aW9ucy5tZXRob2RzID0gb3B0aW9ucy5tZXRob2RzIHx8IHt9O1xuICAgICAgICBvcHRpb25zLm1ldGhvZHMuJG9wdGlvbnMgPSBmdW5jdGlvbiAoKSB7IHJldHVybiB2YW50T3B0aW9uczsgfTtcbiAgICAgICAgaWYgKG9wdGlvbnMucHJvcGVydGllcykge1xuICAgICAgICAgICAgcHJvcHNfMS5vYnNlcnZlUHJvcHMob3B0aW9ucy5wcm9wZXJ0aWVzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmV4cG9ydHMub2JzZXJ2ZSA9IG9ic2VydmU7XG4iXSwiZmlsZSI6ImluZGV4LmpzIn0=