Sha256: 693f0322e9f1034a4a311a4f3956e7589796a89866614f35e3446d74ff6f75f3
Contents?: true
Size: 1.34 KB
Versions: 3
Compression:
Stored size: 1.34 KB
Contents
var _ = require('../util') var objProto = Object.prototype /** * Add a new property to an observed object * and emits corresponding event * * @param {String} key * @param {*} val * @public */ _.define( objProto, '$add', function $add (key, val) { if (this.hasOwnProperty(key)) return var ob = this.__ob__ if (!ob || _.isReserved(key)) { this[key] = val return } ob.convert(key, val) ob.notify() if (ob.vms) { var i = ob.vms.length while (i--) { var vm = ob.vms[i] vm._proxy(key) vm._digest() } } } ) /** * Set a property on an observed object, calling add to * ensure the property is observed. * * @param {String} key * @param {*} val * @public */ _.define( objProto, '$set', function $set (key, val) { this.$add(key, val) this[key] = val } ) /** * Deletes a property from an observed object * and emits corresponding event * * @param {String} key * @public */ _.define( objProto, '$delete', function $delete (key) { if (!this.hasOwnProperty(key)) return delete this[key] var ob = this.__ob__ if (!ob || _.isReserved(key)) { return } ob.notify() if (ob.vms) { var i = ob.vms.length while (i--) { var vm = ob.vms[i] vm._unproxy(key) vm._digest() } } } )
Version data entries
3 entries across 3 versions & 1 rubygems