"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var behavior_1 = require("./behavior"); var props_1 = require("./props"); 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;