|
6 | 6 | * Portions Copyright 2008-2011 Apple Inc. All rights reserved. |
7 | 7 | * @license Licensed under MIT license |
8 | 8 | * See https://raw.github.com/emberjs/ember.js/master/LICENSE |
9 | | - * @version 2.9.0-beta.3 |
| 9 | + * @version 2.9.0-beta.4 |
10 | 10 | */ |
11 | 11 |
|
12 | 12 | var enifed, requireModule, require, Ember; |
@@ -2800,23 +2800,40 @@ enifed('ember-metal/alias', ['exports', 'ember-utils', 'ember-metal/debug', 'emb |
2800 | 2800 |
|
2801 | 2801 | AliasedProperty.prototype = Object.create(_emberMetalProperties.Descriptor.prototype); |
2802 | 2802 |
|
2803 | | - AliasedProperty.prototype.get = function AliasedProperty_get(obj, keyName) { |
2804 | | - return _emberMetalProperty_get.get(obj, this.altKey); |
| 2803 | + AliasedProperty.prototype.setup = function (obj, keyName) { |
| 2804 | + _emberMetalDebug.assert('Setting alias \'' + keyName + '\' on self', this.altKey !== keyName); |
| 2805 | + var meta = _emberMetalMeta.meta(obj); |
| 2806 | + if (meta.peekWatching(keyName)) { |
| 2807 | + _emberMetalDependent_keys.addDependentKeys(this, obj, keyName, meta); |
| 2808 | + } |
2805 | 2809 | }; |
2806 | 2810 |
|
2807 | | - AliasedProperty.prototype.set = function AliasedProperty_set(obj, keyName, value) { |
2808 | | - return _emberMetalProperty_set.set(obj, this.altKey, value); |
| 2811 | + AliasedProperty.prototype._addDependentKeyIfMissing = function (obj, keyName) { |
| 2812 | + var meta = _emberMetalMeta.meta(obj); |
| 2813 | + if (!meta.peekDeps(this.altKey, keyName)) { |
| 2814 | + _emberMetalDependent_keys.addDependentKeys(this, obj, keyName, meta); |
| 2815 | + } |
2809 | 2816 | }; |
2810 | 2817 |
|
2811 | | - AliasedProperty.prototype.setup = function (obj, keyName) { |
2812 | | - _emberMetalDebug.assert('Setting alias \'' + keyName + '\' on self', this.altKey !== keyName); |
2813 | | - var m = _emberMetalMeta.meta(obj); |
2814 | | - _emberMetalDependent_keys.addDependentKeys(this, obj, keyName, m); |
| 2818 | + AliasedProperty.prototype._removeDependentKeyIfAdded = function (obj, keyName) { |
| 2819 | + var meta = _emberMetalMeta.meta(obj); |
| 2820 | + if (meta.peekDeps(this.altKey, keyName)) { |
| 2821 | + _emberMetalDependent_keys.removeDependentKeys(this, obj, keyName, meta); |
| 2822 | + } |
2815 | 2823 | }; |
2816 | 2824 |
|
2817 | | - AliasedProperty.prototype.teardown = function (obj, keyName) { |
2818 | | - var m = _emberMetalMeta.meta(obj); |
2819 | | - _emberMetalDependent_keys.removeDependentKeys(this, obj, keyName, m); |
| 2825 | + AliasedProperty.prototype.willWatch = AliasedProperty.prototype._addDependentKeyIfMissing; |
| 2826 | + AliasedProperty.prototype.didUnwatch = AliasedProperty.prototype._removeDependentKeyIfAdded; |
| 2827 | + AliasedProperty.prototype.teardown = AliasedProperty.prototype._removeDependentKeyIfAdded; |
| 2828 | + |
| 2829 | + AliasedProperty.prototype.get = function AliasedProperty_get(obj, keyName) { |
| 2830 | + this._addDependentKeyIfMissing(obj, keyName); |
| 2831 | + |
| 2832 | + return _emberMetalProperty_get.get(obj, this.altKey); |
| 2833 | + }; |
| 2834 | + |
| 2835 | + AliasedProperty.prototype.set = function AliasedProperty_set(obj, keyName, value) { |
| 2836 | + return _emberMetalProperty_set.set(obj, this.altKey, value); |
2820 | 2837 | }; |
2821 | 2838 |
|
2822 | 2839 | AliasedProperty.prototype.readOnly = function () { |
@@ -8739,11 +8756,6 @@ enifed('ember-metal/property_get', ['exports', 'ember-metal/debug', 'ember-metal |
8739 | 8756 | _emberMetalDebug.assert('The key provided to get must be a string, you passed ' + keyName, typeof keyName === 'string'); |
8740 | 8757 | _emberMetalDebug.assert('\'this\' in paths is not supported', !_emberMetalPath_cache.hasThis(keyName)); |
8741 | 8758 |
|
8742 | | - // Helpers that operate with 'this' within an #each |
8743 | | - if (keyName === '') { |
8744 | | - return obj; |
8745 | | - } |
8746 | | - |
8747 | 8759 | var value = obj[keyName]; |
8748 | 8760 | var desc = value !== null && typeof value === 'object' && value.isDescriptor ? value : undefined; |
8749 | 8761 | var ret = undefined; |
@@ -19104,7 +19116,7 @@ enifed("ember/features", ["exports"], function (exports) { |
19104 | 19116 | enifed("ember/version", ["exports"], function (exports) { |
19105 | 19117 | "use strict"; |
19106 | 19118 |
|
19107 | | - exports.default = "2.9.0-beta.3"; |
| 19119 | + exports.default = "2.9.0-beta.4"; |
19108 | 19120 | }); |
19109 | 19121 | /*! |
19110 | 19122 | * @overview RSVP - a tiny implementation of Promises/A+. |
|
0 commit comments