|
|
|
@ -868,17 +868,6 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function createWatcher(vm, keyOrFn, handler, options) { |
|
|
|
|
if (isPlainObject(handler)) { |
|
|
|
|
options = handler; |
|
|
|
|
handler = handler.handler; |
|
|
|
|
} |
|
|
|
|
if (typeof handler === 'string') { |
|
|
|
|
handler = vm[handler]; |
|
|
|
|
} |
|
|
|
|
return vm.$watch(keyOrFn, handler, options); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var falsy$1; |
|
|
|
|
var operators = { |
|
|
|
|
'||': falsy$1, |
|
|
|
@ -898,59 +887,13 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
|
|
|
} |
|
|
|
|
return new Function('return ' + expr)(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var VM = function () { |
|
|
|
|
function VM(model) { |
|
|
|
|
_classCallCheck(this, VM); |
|
|
|
|
|
|
|
|
|
var vm = this; |
|
|
|
|
if (model instanceof Observer || model instanceof VM) { |
|
|
|
|
model = model.model; |
|
|
|
|
} |
|
|
|
|
if (_.has(model, '__ob__')) { |
|
|
|
|
this.$$model = model; |
|
|
|
|
} else { |
|
|
|
|
this.options = model || {}; |
|
|
|
|
} |
|
|
|
|
var keys = _.keys(this.$$model).concat(_.keys(this.computed)); |
|
|
|
|
var props = {}; |
|
|
|
|
|
|
|
|
|
var _loop = function _loop(i, len) { |
|
|
|
|
var key = keys[i]; |
|
|
|
|
if (!(key in $$skipArray)) { |
|
|
|
|
props[key] = { |
|
|
|
|
enumerable: true, |
|
|
|
|
configurable: true, |
|
|
|
|
get: function get() { |
|
|
|
|
return key in vm.$$computed ? vm.$$computed[key] : vm.$$model[key]; |
|
|
|
|
}, |
|
|
|
|
set: function set(val) { |
|
|
|
|
if (!vm.$$model || !(key in vm.$$model)) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
return vm.$$model[key] = val; |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
for (var i = 0, len = keys.length; i < len; i++) { |
|
|
|
|
_loop(i, len); |
|
|
|
|
} |
|
|
|
|
this.model = createViewModel$1({}, props); |
|
|
|
|
this.$$model && (this.model.__ob__ = this.$$model.__ob__); |
|
|
|
|
initComputed(this, this.computed); |
|
|
|
|
initMethods(this, this.actions); |
|
|
|
|
this._init(); |
|
|
|
|
if (this.$$model) { |
|
|
|
|
return this.model; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
VM.prototype.$watch = function $watch(expOrFn, cb, options) { |
|
|
|
|
var vm = this; |
|
|
|
|
function watch(vm, expOrFn, cb, options) { |
|
|
|
|
if (isPlainObject(cb)) { |
|
|
|
|
return createWatcher(vm, expOrFn, cb, options); |
|
|
|
|
options = cb; |
|
|
|
|
cb = cb.handler; |
|
|
|
|
} |
|
|
|
|
if (typeof cb === 'string') { |
|
|
|
|
cb = vm[cb]; |
|
|
|
|
} |
|
|
|
|
options = options || {}; |
|
|
|
|
options.user = true; |
|
|
|
@ -1023,7 +966,55 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
return watchers; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var VM = function () { |
|
|
|
|
function VM(model) { |
|
|
|
|
_classCallCheck(this, VM); |
|
|
|
|
|
|
|
|
|
var vm = this; |
|
|
|
|
if (model instanceof Observer || model instanceof VM) { |
|
|
|
|
model = model.model; |
|
|
|
|
} |
|
|
|
|
if (_.has(model, '__ob__')) { |
|
|
|
|
this.$$model = model; |
|
|
|
|
} else { |
|
|
|
|
this.options = model || {}; |
|
|
|
|
} |
|
|
|
|
var keys = _.keys(this.$$model).concat(_.keys(this.computed)); |
|
|
|
|
var props = {}; |
|
|
|
|
|
|
|
|
|
var _loop = function _loop(i, len) { |
|
|
|
|
var key = keys[i]; |
|
|
|
|
if (!(key in $$skipArray)) { |
|
|
|
|
props[key] = { |
|
|
|
|
enumerable: true, |
|
|
|
|
configurable: true, |
|
|
|
|
get: function get() { |
|
|
|
|
return key in vm.$$computed ? vm.$$computed[key] : vm.$$model[key]; |
|
|
|
|
}, |
|
|
|
|
set: function set(val) { |
|
|
|
|
if (!vm.$$model || !(key in vm.$$model)) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
return vm.$$model[key] = val; |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
for (var i = 0, len = keys.length; i < len; i++) { |
|
|
|
|
_loop(i, len); |
|
|
|
|
} |
|
|
|
|
this.model = createViewModel$1({}, props); |
|
|
|
|
this.$$model && (this.model.__ob__ = this.$$model.__ob__); |
|
|
|
|
initComputed(this, this.computed); |
|
|
|
|
initMethods(this, this.actions); |
|
|
|
|
this._init(); |
|
|
|
|
if (this.$$model) { |
|
|
|
|
return this.model; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
VM.prototype._init = function _init() {}; |
|
|
|
|
|
|
|
|
@ -1044,6 +1035,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
|
|
|
exports.define = define; |
|
|
|
|
exports.version = version; |
|
|
|
|
exports.$$skipArray = $$skipArray; |
|
|
|
|
exports.watch = watch; |
|
|
|
|
exports.VM = VM; |
|
|
|
|
exports.observerState = observerState; |
|
|
|
|
exports.Observer = Observer; |
|
|
|
|