ember-source 2.11.3 → 2.12.0.beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-runtime.js +1280 -957
- data/dist/ember-template-compiler.js +688 -578
- data/dist/ember-testing.js +7 -11
- data/dist/ember-tests.js +6584 -604
- data/dist/ember-tests.prod.js +6579 -599
- data/dist/ember.debug.js +2358 -1864
- data/dist/ember.js +2358 -1864
- data/dist/ember.min.js +1310 -1243
- data/dist/ember.prod.js +2078 -1725
- metadata +4 -4
@@ -6,11 +6,10 @@
|
|
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
|
+
* @version 2.12.0-beta.1
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, Ember;
|
13
|
-
var mainContext = this; // Used in ember-environment/lib/global.js
|
14
13
|
|
15
14
|
(function() {
|
16
15
|
var isNode = typeof window === 'undefined' &&
|
@@ -174,7 +173,7 @@ function defaults(obj, defaults) {
|
|
174
173
|
return obj;
|
175
174
|
}
|
176
175
|
|
177
|
-
|
176
|
+
babelHelpers = {
|
178
177
|
classCallCheck: classCallCheck,
|
179
178
|
inherits: inherits,
|
180
179
|
taggedTemplateLiteralLoose: taggedTemplateLiteralLoose,
|
@@ -1733,7 +1732,7 @@ enifed('ember-debug/index', ['exports', 'ember-metal', 'ember-environment', 'emb
|
|
1733
1732
|
if (typeof window !== 'undefined' && (isFirefox || isChrome) && window.addEventListener) {
|
1734
1733
|
window.addEventListener('load', function () {
|
1735
1734
|
if (document.documentElement && document.documentElement.dataset && !document.documentElement.dataset.emberExtension) {
|
1736
|
-
var downloadURL;
|
1735
|
+
var downloadURL = undefined;
|
1737
1736
|
|
1738
1737
|
if (isChrome) {
|
1739
1738
|
downloadURL = 'https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi';
|
@@ -2077,7 +2076,6 @@ enifed('ember-metal/alias', ['exports', 'ember-utils', 'ember-metal/debug', 'emb
|
|
2077
2076
|
'use strict';
|
2078
2077
|
|
2079
2078
|
exports.default = alias;
|
2080
|
-
exports.AliasedProperty = AliasedProperty;
|
2081
2079
|
|
2082
2080
|
var CONSUMED = {};
|
2083
2081
|
|
@@ -2085,66 +2083,75 @@ enifed('ember-metal/alias', ['exports', 'ember-utils', 'ember-metal/debug', 'emb
|
|
2085
2083
|
return new AliasedProperty(altKey);
|
2086
2084
|
}
|
2087
2085
|
|
2088
|
-
|
2089
|
-
|
2090
|
-
this.altKey = altKey;
|
2091
|
-
this._dependentKeys = [altKey];
|
2092
|
-
}
|
2086
|
+
var AliasedProperty = (function (_Descriptor) {
|
2087
|
+
babelHelpers.inherits(AliasedProperty, _Descriptor);
|
2093
2088
|
|
2094
|
-
|
2089
|
+
function AliasedProperty(altKey) {
|
2090
|
+
babelHelpers.classCallCheck(this, AliasedProperty);
|
2095
2091
|
|
2096
|
-
|
2097
|
-
|
2098
|
-
|
2099
|
-
|
2100
|
-
_emberMetalDependent_keys.addDependentKeys(this, obj, keyName, meta);
|
2092
|
+
_Descriptor.call(this);
|
2093
|
+
this.isDescriptor = true;
|
2094
|
+
this.altKey = altKey;
|
2095
|
+
this._dependentKeys = [altKey];
|
2101
2096
|
}
|
2102
|
-
};
|
2103
2097
|
|
2104
|
-
|
2105
|
-
|
2106
|
-
|
2107
|
-
|
2108
|
-
|
2109
|
-
|
2098
|
+
AliasedProperty.prototype.setup = function setup(obj, keyName) {
|
2099
|
+
_emberMetalDebug.assert('Setting alias \'' + keyName + '\' on self', this.altKey !== keyName);
|
2100
|
+
var meta = _emberMetalMeta.meta(obj);
|
2101
|
+
if (meta.peekWatching(keyName)) {
|
2102
|
+
_emberMetalDependent_keys.addDependentKeys(this, obj, keyName, meta);
|
2103
|
+
}
|
2104
|
+
};
|
2110
2105
|
|
2111
|
-
|
2112
|
-
|
2113
|
-
|
2106
|
+
AliasedProperty.prototype.teardown = function teardown(obj, keyName) {
|
2107
|
+
var meta = _emberMetalMeta.meta(obj);
|
2108
|
+
if (meta.peekWatching(keyName)) {
|
2109
|
+
_emberMetalDependent_keys.removeDependentKeys(this, obj, keyName, meta);
|
2110
|
+
}
|
2111
|
+
};
|
2114
2112
|
|
2115
|
-
|
2116
|
-
|
2117
|
-
|
2113
|
+
AliasedProperty.prototype.willWatch = function willWatch(obj, keyName) {
|
2114
|
+
_emberMetalDependent_keys.addDependentKeys(this, obj, keyName, _emberMetalMeta.meta(obj));
|
2115
|
+
};
|
2118
2116
|
|
2119
|
-
|
2120
|
-
|
2121
|
-
|
2122
|
-
var cache = meta.writableCache();
|
2123
|
-
if (cache[keyName] !== CONSUMED) {
|
2124
|
-
cache[keyName] = CONSUMED;
|
2125
|
-
_emberMetalDependent_keys.addDependentKeys(this, obj, keyName, meta);
|
2126
|
-
}
|
2127
|
-
return ret;
|
2128
|
-
};
|
2117
|
+
AliasedProperty.prototype.didUnwatch = function didUnwatch(obj, keyName) {
|
2118
|
+
_emberMetalDependent_keys.removeDependentKeys(this, obj, keyName, _emberMetalMeta.meta(obj));
|
2119
|
+
};
|
2129
2120
|
|
2130
|
-
|
2131
|
-
|
2132
|
-
|
2121
|
+
AliasedProperty.prototype.get = function get(obj, keyName) {
|
2122
|
+
var ret = _emberMetalProperty_get.get(obj, this.altKey);
|
2123
|
+
var meta = _emberMetalMeta.meta(obj);
|
2124
|
+
var cache = meta.writableCache();
|
2125
|
+
if (cache[keyName] !== CONSUMED) {
|
2126
|
+
cache[keyName] = CONSUMED;
|
2127
|
+
_emberMetalDependent_keys.addDependentKeys(this, obj, keyName, meta);
|
2128
|
+
}
|
2129
|
+
return ret;
|
2130
|
+
};
|
2133
2131
|
|
2134
|
-
|
2135
|
-
|
2136
|
-
|
2137
|
-
|
2132
|
+
AliasedProperty.prototype.set = function set(obj, keyName, value) {
|
2133
|
+
return _emberMetalProperty_set.set(obj, this.altKey, value);
|
2134
|
+
};
|
2135
|
+
|
2136
|
+
AliasedProperty.prototype.readOnly = function readOnly() {
|
2137
|
+
this.set = AliasedProperty_readOnlySet;
|
2138
|
+
return this;
|
2139
|
+
};
|
2140
|
+
|
2141
|
+
AliasedProperty.prototype.oneWay = function oneWay() {
|
2142
|
+
this.set = AliasedProperty_oneWaySet;
|
2143
|
+
return this;
|
2144
|
+
};
|
2145
|
+
|
2146
|
+
return AliasedProperty;
|
2147
|
+
})(_emberMetalProperties.Descriptor);
|
2148
|
+
|
2149
|
+
exports.AliasedProperty = AliasedProperty;
|
2138
2150
|
|
2139
2151
|
function AliasedProperty_readOnlySet(obj, keyName, value) {
|
2140
2152
|
throw new _emberMetalError.default('Cannot set read-only property \'' + keyName + '\' on object: ' + _emberUtils.inspect(obj));
|
2141
2153
|
}
|
2142
2154
|
|
2143
|
-
AliasedProperty.prototype.oneWay = function () {
|
2144
|
-
this.set = AliasedProperty_oneWaySet;
|
2145
|
-
return this;
|
2146
|
-
};
|
2147
|
-
|
2148
2155
|
function AliasedProperty_oneWaySet(obj, keyName, value) {
|
2149
2156
|
_emberMetalProperties.defineProperty(obj, keyName, null);
|
2150
2157
|
return _emberMetalProperty_set.set(obj, keyName, value);
|
@@ -2168,41 +2175,44 @@ enifed('ember-metal/binding', ['exports', 'ember-utils', 'ember-console', 'ember
|
|
2168
2175
|
// BINDING
|
2169
2176
|
//
|
2170
2177
|
|
2171
|
-
|
2172
|
-
|
2173
|
-
|
2174
|
-
this._to = toPath;
|
2175
|
-
this._oneWay = undefined;
|
2178
|
+
var Binding = (function () {
|
2179
|
+
function Binding(toPath, fromPath) {
|
2180
|
+
babelHelpers.classCallCheck(this, Binding);
|
2176
2181
|
|
2177
|
-
|
2178
|
-
|
2179
|
-
|
2180
|
-
|
2181
|
-
this._fromPath = undefined;
|
2182
|
-
this._toObj = undefined;
|
2183
|
-
}
|
2182
|
+
// Configuration
|
2183
|
+
this._from = fromPath;
|
2184
|
+
this._to = toPath;
|
2185
|
+
this._oneWay = undefined;
|
2184
2186
|
|
2185
|
-
|
2186
|
-
|
2187
|
-
|
2188
|
-
|
2189
|
-
|
2190
|
-
|
2187
|
+
// State
|
2188
|
+
this._direction = undefined;
|
2189
|
+
this._readyToSync = undefined;
|
2190
|
+
this._fromObj = undefined;
|
2191
|
+
this._fromPath = undefined;
|
2192
|
+
this._toObj = undefined;
|
2193
|
+
}
|
2194
|
+
|
2195
|
+
/**
|
2196
|
+
@class Binding
|
2197
|
+
@namespace Ember
|
2198
|
+
@deprecated See http://emberjs.com/deprecations/v2.x#toc_ember-binding
|
2199
|
+
@public
|
2200
|
+
*/
|
2191
2201
|
|
2192
|
-
Binding.prototype = {
|
2193
2202
|
/**
|
2194
2203
|
This copies the Binding so it can be connected to another object.
|
2195
2204
|
@method copy
|
2196
2205
|
@return {Ember.Binding} `this`
|
2197
2206
|
@public
|
2198
2207
|
*/
|
2199
|
-
|
2208
|
+
|
2209
|
+
Binding.prototype.copy = function copy() {
|
2200
2210
|
var copy = new Binding(this._to, this._from);
|
2201
2211
|
if (this._oneWay) {
|
2202
2212
|
copy._oneWay = true;
|
2203
2213
|
}
|
2204
2214
|
return copy;
|
2205
|
-
}
|
2215
|
+
};
|
2206
2216
|
|
2207
2217
|
// ..........................................................
|
2208
2218
|
// CONFIG
|
@@ -2220,10 +2230,11 @@ enifed('ember-metal/binding', ['exports', 'ember-utils', 'ember-console', 'ember
|
|
2220
2230
|
@return {Ember.Binding} `this`
|
2221
2231
|
@public
|
2222
2232
|
*/
|
2223
|
-
|
2233
|
+
|
2234
|
+
Binding.prototype.from = function from(path) {
|
2224
2235
|
this._from = path;
|
2225
2236
|
return this;
|
2226
|
-
}
|
2237
|
+
};
|
2227
2238
|
|
2228
2239
|
/**
|
2229
2240
|
This will set the `to` property path to the specified value. It will not
|
@@ -2237,10 +2248,11 @@ enifed('ember-metal/binding', ['exports', 'ember-utils', 'ember-console', 'ember
|
|
2237
2248
|
@return {Ember.Binding} `this`
|
2238
2249
|
@public
|
2239
2250
|
*/
|
2240
|
-
|
2251
|
+
|
2252
|
+
Binding.prototype.to = function to(path) {
|
2241
2253
|
this._to = path;
|
2242
2254
|
return this;
|
2243
|
-
}
|
2255
|
+
};
|
2244
2256
|
|
2245
2257
|
/**
|
2246
2258
|
Configures the binding as one way. A one-way binding will relay changes
|
@@ -2251,20 +2263,22 @@ enifed('ember-metal/binding', ['exports', 'ember-utils', 'ember-console', 'ember
|
|
2251
2263
|
@return {Ember.Binding} `this`
|
2252
2264
|
@public
|
2253
2265
|
*/
|
2254
|
-
|
2266
|
+
|
2267
|
+
Binding.prototype.oneWay = function oneWay() {
|
2255
2268
|
this._oneWay = true;
|
2256
2269
|
return this;
|
2257
|
-
}
|
2270
|
+
};
|
2258
2271
|
|
2259
2272
|
/**
|
2260
2273
|
@method toString
|
2261
2274
|
@return {String} string representation of binding
|
2262
2275
|
@public
|
2263
2276
|
*/
|
2264
|
-
|
2277
|
+
|
2278
|
+
Binding.prototype.toString = function toString() {
|
2265
2279
|
var oneWay = this._oneWay ? '[oneWay]' : '';
|
2266
2280
|
return 'Ember.Binding<' + _emberUtils.guidFor(this) + '>(' + this._from + ' -> ' + this._to + ')' + oneWay;
|
2267
|
-
}
|
2281
|
+
};
|
2268
2282
|
|
2269
2283
|
// ..........................................................
|
2270
2284
|
// CONNECT AND SYNC
|
@@ -2279,7 +2293,8 @@ enifed('ember-metal/binding', ['exports', 'ember-utils', 'ember-console', 'ember
|
|
2279
2293
|
@return {Ember.Binding} `this`
|
2280
2294
|
@public
|
2281
2295
|
*/
|
2282
|
-
|
2296
|
+
|
2297
|
+
Binding.prototype.connect = function connect(obj) {
|
2283
2298
|
_emberMetalDebug.assert('Must pass a valid object to Ember.Binding.connect()', !!obj);
|
2284
2299
|
|
2285
2300
|
var fromObj = undefined,
|
@@ -2323,7 +2338,7 @@ enifed('ember-metal/binding', ['exports', 'ember-utils', 'ember-console', 'ember
|
|
2323
2338
|
this._toObj = obj;
|
2324
2339
|
|
2325
2340
|
return this;
|
2326
|
-
}
|
2341
|
+
};
|
2327
2342
|
|
2328
2343
|
/**
|
2329
2344
|
Disconnects the binding instance. Changes will no longer be relayed. You
|
@@ -2332,7 +2347,8 @@ enifed('ember-metal/binding', ['exports', 'ember-utils', 'ember-console', 'ember
|
|
2332
2347
|
@return {Ember.Binding} `this`
|
2333
2348
|
@public
|
2334
2349
|
*/
|
2335
|
-
|
2350
|
+
|
2351
|
+
Binding.prototype.disconnect = function disconnect() {
|
2336
2352
|
_emberMetalDebug.assert('Must pass a valid object to Ember.Binding.disconnect()', !!this._toObj);
|
2337
2353
|
|
2338
2354
|
// Remove an observer on the object so we're no longer notified of
|
@@ -2346,23 +2362,25 @@ enifed('ember-metal/binding', ['exports', 'ember-utils', 'ember-console', 'ember
|
|
2346
2362
|
|
2347
2363
|
this._readyToSync = false; // Disable scheduled syncs...
|
2348
2364
|
return this;
|
2349
|
-
}
|
2365
|
+
};
|
2350
2366
|
|
2351
2367
|
// ..........................................................
|
2352
2368
|
// PRIVATE
|
2353
2369
|
//
|
2354
2370
|
|
2355
2371
|
/* Called when the from side changes. */
|
2356
|
-
|
2372
|
+
|
2373
|
+
Binding.prototype.fromDidChange = function fromDidChange(target) {
|
2357
2374
|
this._scheduleSync('fwd');
|
2358
|
-
}
|
2375
|
+
};
|
2359
2376
|
|
2360
2377
|
/* Called when the to side changes. */
|
2361
|
-
|
2378
|
+
|
2379
|
+
Binding.prototype.toDidChange = function toDidChange(target) {
|
2362
2380
|
this._scheduleSync('back');
|
2363
|
-
}
|
2381
|
+
};
|
2364
2382
|
|
2365
|
-
_scheduleSync
|
2383
|
+
Binding.prototype._scheduleSync = function _scheduleSync(dir) {
|
2366
2384
|
var existingDir = this._direction;
|
2367
2385
|
|
2368
2386
|
// If we haven't scheduled the binding yet, schedule it.
|
@@ -2376,9 +2394,11 @@ enifed('ember-metal/binding', ['exports', 'ember-utils', 'ember-console', 'ember
|
|
2376
2394
|
if (existingDir === 'back' && dir === 'fwd') {
|
2377
2395
|
this._direction = 'fwd';
|
2378
2396
|
}
|
2379
|
-
}
|
2397
|
+
};
|
2398
|
+
|
2399
|
+
Binding.prototype._sync = function _sync() {
|
2400
|
+
var _this = this;
|
2380
2401
|
|
2381
|
-
_sync: function () {
|
2382
2402
|
var log = _emberEnvironment.ENV.LOG_BINDINGS;
|
2383
2403
|
|
2384
2404
|
var toObj = this._toObj;
|
@@ -2399,30 +2419,35 @@ enifed('ember-metal/binding', ['exports', 'ember-utils', 'ember-console', 'ember
|
|
2399
2419
|
|
2400
2420
|
// If we're synchronizing from the remote object...
|
2401
2421
|
if (direction === 'fwd') {
|
2402
|
-
|
2403
|
-
|
2404
|
-
_emberConsole.default.log(' ', this.toString(), '->', fromValue, fromObj);
|
2405
|
-
}
|
2406
|
-
if (this._oneWay) {
|
2407
|
-
_emberMetalProperty_set.trySet(toObj, this._to, fromValue);
|
2408
|
-
} else {
|
2409
|
-
_emberMetalObserver._suspendObserver(toObj, this._to, this, 'toDidChange', function () {
|
2410
|
-
_emberMetalProperty_set.trySet(toObj, this._to, fromValue);
|
2411
|
-
});
|
2412
|
-
}
|
2413
|
-
// If we're synchronizing *to* the remote object.
|
2414
|
-
} else if (direction === 'back') {
|
2415
|
-
var toValue = _emberMetalProperty_get.get(toObj, this._to);
|
2422
|
+
(function () {
|
2423
|
+
var fromValue = _emberMetalProperty_get.get(fromObj, fromPath);
|
2416
2424
|
if (log) {
|
2417
|
-
_emberConsole.default.log(' ',
|
2425
|
+
_emberConsole.default.log(' ', _this.toString(), '->', fromValue, fromObj);
|
2418
2426
|
}
|
2419
|
-
|
2420
|
-
_emberMetalProperty_set.trySet(
|
2421
|
-
}
|
2427
|
+
if (_this._oneWay) {
|
2428
|
+
_emberMetalProperty_set.trySet(toObj, _this._to, fromValue);
|
2429
|
+
} else {
|
2430
|
+
_emberMetalObserver._suspendObserver(toObj, _this._to, _this, 'toDidChange', function () {
|
2431
|
+
_emberMetalProperty_set.trySet(toObj, this._to, fromValue);
|
2432
|
+
});
|
2433
|
+
}
|
2434
|
+
// If we're synchronizing *to* the remote object.
|
2435
|
+
})();
|
2436
|
+
} else if (direction === 'back') {
|
2437
|
+
(function () {
|
2438
|
+
var toValue = _emberMetalProperty_get.get(toObj, _this._to);
|
2439
|
+
if (log) {
|
2440
|
+
_emberConsole.default.log(' ', _this.toString(), '<-', toValue, toObj);
|
2441
|
+
}
|
2442
|
+
_emberMetalObserver._suspendObserver(fromObj, fromPath, _this, 'fromDidChange', function () {
|
2443
|
+
_emberMetalProperty_set.trySet(fromObj, fromPath, toValue);
|
2444
|
+
});
|
2445
|
+
})();
|
2422
2446
|
}
|
2423
|
-
}
|
2447
|
+
};
|
2424
2448
|
|
2425
|
-
|
2449
|
+
return Binding;
|
2450
|
+
})();
|
2426
2451
|
|
2427
2452
|
function fireDeprecations(obj, toPath, fromPath, deprecateGlobal, deprecateOneWay, deprecateAlias) {
|
2428
2453
|
var deprecateGlobalMessage = '`Ember.Binding` is deprecated. Since you' + ' are binding to a global consider using a service instead.';
|
@@ -2734,24 +2759,26 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
|
|
2734
2759
|
return !(isObject(obj) && obj.isDescriptor && obj._volatile === false);
|
2735
2760
|
}
|
2736
2761
|
|
2737
|
-
|
2738
|
-
|
2739
|
-
|
2740
|
-
|
2741
|
-
|
2742
|
-
|
2762
|
+
var ChainWatchers = (function () {
|
2763
|
+
function ChainWatchers() {
|
2764
|
+
babelHelpers.classCallCheck(this, ChainWatchers);
|
2765
|
+
|
2766
|
+
// chain nodes that reference a key in this obj by key
|
2767
|
+
// we only create ChainWatchers when we are going to add them
|
2768
|
+
// so create this upfront
|
2769
|
+
this.chains = new _emberUtils.EmptyObject();
|
2770
|
+
}
|
2743
2771
|
|
2744
|
-
|
2745
|
-
add: function (key, node) {
|
2772
|
+
ChainWatchers.prototype.add = function add(key, node) {
|
2746
2773
|
var nodes = this.chains[key];
|
2747
2774
|
if (nodes === undefined) {
|
2748
2775
|
this.chains[key] = [node];
|
2749
2776
|
} else {
|
2750
2777
|
nodes.push(node);
|
2751
2778
|
}
|
2752
|
-
}
|
2779
|
+
};
|
2753
2780
|
|
2754
|
-
remove
|
2781
|
+
ChainWatchers.prototype.remove = function remove(key, node) {
|
2755
2782
|
var nodes = this.chains[key];
|
2756
2783
|
if (nodes) {
|
2757
2784
|
for (var i = 0; i < nodes.length; i++) {
|
@@ -2761,9 +2788,9 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
|
|
2761
2788
|
}
|
2762
2789
|
}
|
2763
2790
|
}
|
2764
|
-
}
|
2791
|
+
};
|
2765
2792
|
|
2766
|
-
has
|
2793
|
+
ChainWatchers.prototype.has = function has(key, node) {
|
2767
2794
|
var nodes = this.chains[key];
|
2768
2795
|
if (nodes) {
|
2769
2796
|
for (var i = 0; i < nodes.length; i++) {
|
@@ -2773,24 +2800,25 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
|
|
2773
2800
|
}
|
2774
2801
|
}
|
2775
2802
|
return false;
|
2776
|
-
}
|
2803
|
+
};
|
2777
2804
|
|
2778
|
-
revalidateAll
|
2805
|
+
ChainWatchers.prototype.revalidateAll = function revalidateAll() {
|
2779
2806
|
for (var key in this.chains) {
|
2780
2807
|
this.notify(key, true, undefined);
|
2781
2808
|
}
|
2782
|
-
}
|
2809
|
+
};
|
2783
2810
|
|
2784
|
-
revalidate
|
2811
|
+
ChainWatchers.prototype.revalidate = function revalidate(key) {
|
2785
2812
|
this.notify(key, true, undefined);
|
2786
|
-
}
|
2813
|
+
};
|
2787
2814
|
|
2788
2815
|
// key: the string key that is part of a path changed
|
2789
2816
|
// revalidate: boolean; the chains that are watching this value should revalidate
|
2790
2817
|
// callback: function that will be called with the object and path that
|
2791
2818
|
// will be/are invalidated by this key change, depending on
|
2792
2819
|
// whether the revalidate flag is passed
|
2793
|
-
|
2820
|
+
|
2821
|
+
ChainWatchers.prototype.notify = function notify(key, revalidate, callback) {
|
2794
2822
|
var nodes = this.chains[key];
|
2795
2823
|
if (nodes === undefined || nodes.length === 0) {
|
2796
2824
|
return;
|
@@ -2816,8 +2844,10 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
|
|
2816
2844
|
var path = affected[i + 1];
|
2817
2845
|
callback(obj, path);
|
2818
2846
|
}
|
2819
|
-
}
|
2820
|
-
|
2847
|
+
};
|
2848
|
+
|
2849
|
+
return ChainWatchers;
|
2850
|
+
})();
|
2821
2851
|
|
2822
2852
|
function makeChainWatcher() {
|
2823
2853
|
return new ChainWatchers();
|
@@ -2851,71 +2881,50 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
|
|
2851
2881
|
// A ChainNode watches a single key on an object. If you provide a starting
|
2852
2882
|
// value for the key then the node won't actually watch it. For a root node
|
2853
2883
|
// pass null for parent and key and object for value.
|
2854
|
-
function ChainNode(parent, key, value) {
|
2855
|
-
this._parent = parent;
|
2856
|
-
this._key = key;
|
2857
2884
|
|
2858
|
-
|
2859
|
-
|
2860
|
-
|
2861
|
-
// It is false for the root of a chain (because we have no parent)
|
2862
|
-
// and for global paths (because the parent node is the object with
|
2863
|
-
// the observer on it)
|
2864
|
-
this._watching = value === undefined;
|
2885
|
+
var ChainNode = (function () {
|
2886
|
+
function ChainNode(parent, key, value) {
|
2887
|
+
babelHelpers.classCallCheck(this, ChainNode);
|
2865
2888
|
|
2866
|
-
|
2867
|
-
|
2868
|
-
this.count = 0;
|
2889
|
+
this._parent = parent;
|
2890
|
+
this._key = key;
|
2869
2891
|
|
2870
|
-
|
2871
|
-
|
2872
|
-
|
2873
|
-
|
2892
|
+
// _watching is true when calling get(this._parent, this._key) will
|
2893
|
+
// return the value of this node.
|
2894
|
+
//
|
2895
|
+
// It is false for the root of a chain (because we have no parent)
|
2896
|
+
// and for global paths (because the parent node is the object with
|
2897
|
+
// the observer on it)
|
2898
|
+
this._watching = value === undefined;
|
2874
2899
|
|
2875
|
-
|
2876
|
-
|
2877
|
-
|
2878
|
-
|
2879
|
-
this._object = obj;
|
2880
|
-
|
2881
|
-
addChainWatcher(this._object, this._key, this);
|
2882
|
-
}
|
2883
|
-
}
|
2900
|
+
this._chains = undefined;
|
2901
|
+
this._object = undefined;
|
2902
|
+
this.count = 0;
|
2884
2903
|
|
2885
|
-
|
2886
|
-
|
2887
|
-
|
2888
|
-
|
2904
|
+
this._value = value;
|
2905
|
+
this._paths = {};
|
2906
|
+
if (this._watching) {
|
2907
|
+
var obj = parent.value();
|
2889
2908
|
|
2890
|
-
|
2909
|
+
if (!isObject(obj)) {
|
2910
|
+
return;
|
2911
|
+
}
|
2891
2912
|
|
2892
|
-
|
2893
|
-
if (meta && meta.proto === obj) {
|
2894
|
-
return;
|
2895
|
-
}
|
2913
|
+
this._object = obj;
|
2896
2914
|
|
2897
|
-
|
2898
|
-
if (isVolatile(obj[key])) {
|
2899
|
-
return _emberMetalProperty_get.get(obj, key);
|
2900
|
-
// Otherwise attempt to get the cached value of the computed property
|
2901
|
-
} else {
|
2902
|
-
var cache = meta.readableCache();
|
2903
|
-
if (cache) {
|
2904
|
-
return _emberMetalComputed.cacheFor.get(cache, key);
|
2905
|
-
}
|
2915
|
+
addChainWatcher(this._object, this._key, this);
|
2906
2916
|
}
|
2907
|
-
|
2917
|
+
}
|
2908
2918
|
|
2909
|
-
|
2910
|
-
value: function () {
|
2919
|
+
ChainNode.prototype.value = function value() {
|
2911
2920
|
if (this._value === undefined && this._watching) {
|
2912
2921
|
var obj = this._parent.value();
|
2913
2922
|
this._value = lazyGet(obj, this._key);
|
2914
2923
|
}
|
2915
2924
|
return this._value;
|
2916
|
-
}
|
2925
|
+
};
|
2917
2926
|
|
2918
|
-
destroy
|
2927
|
+
ChainNode.prototype.destroy = function destroy() {
|
2919
2928
|
if (this._watching) {
|
2920
2929
|
var obj = this._object;
|
2921
2930
|
if (obj) {
|
@@ -2923,10 +2932,11 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
|
|
2923
2932
|
}
|
2924
2933
|
this._watching = false; // so future calls do nothing
|
2925
2934
|
}
|
2926
|
-
}
|
2935
|
+
};
|
2927
2936
|
|
2928
2937
|
// copies a top level object only
|
2929
|
-
|
2938
|
+
|
2939
|
+
ChainNode.prototype.copy = function copy(obj) {
|
2930
2940
|
var ret = new ChainNode(null, null, obj);
|
2931
2941
|
var paths = this._paths;
|
2932
2942
|
var path = undefined;
|
@@ -2939,11 +2949,12 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
|
|
2939
2949
|
ret.add(path);
|
2940
2950
|
}
|
2941
2951
|
return ret;
|
2942
|
-
}
|
2952
|
+
};
|
2943
2953
|
|
2944
2954
|
// called on the root node of a chain to setup watchers on the specified
|
2945
2955
|
// path.
|
2946
|
-
|
2956
|
+
|
2957
|
+
ChainNode.prototype.add = function add(path) {
|
2947
2958
|
var paths = this._paths;
|
2948
2959
|
paths[path] = (paths[path] || 0) + 1;
|
2949
2960
|
|
@@ -2951,11 +2962,12 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
|
|
2951
2962
|
var tail = path.slice(key.length + 1);
|
2952
2963
|
|
2953
2964
|
this.chain(key, tail);
|
2954
|
-
}
|
2965
|
+
};
|
2955
2966
|
|
2956
2967
|
// called on the root node of a chain to teardown watcher on the specified
|
2957
2968
|
// path
|
2958
|
-
|
2969
|
+
|
2970
|
+
ChainNode.prototype.remove = function remove(path) {
|
2959
2971
|
var paths = this._paths;
|
2960
2972
|
if (paths[path] > 0) {
|
2961
2973
|
paths[path]--;
|
@@ -2965,9 +2977,9 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
|
|
2965
2977
|
var tail = path.slice(key.length + 1);
|
2966
2978
|
|
2967
2979
|
this.unchain(key, tail);
|
2968
|
-
}
|
2980
|
+
};
|
2969
2981
|
|
2970
|
-
chain
|
2982
|
+
ChainNode.prototype.chain = function chain(key, path) {
|
2971
2983
|
var chains = this._chains;
|
2972
2984
|
var node = undefined;
|
2973
2985
|
if (chains === undefined) {
|
@@ -2988,9 +3000,9 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
|
|
2988
3000
|
path = path.slice(key.length + 1);
|
2989
3001
|
node.chain(key, path);
|
2990
3002
|
}
|
2991
|
-
}
|
3003
|
+
};
|
2992
3004
|
|
2993
|
-
unchain
|
3005
|
+
ChainNode.prototype.unchain = function unchain(key, path) {
|
2994
3006
|
var chains = this._chains;
|
2995
3007
|
var node = chains[key];
|
2996
3008
|
|
@@ -3007,9 +3019,9 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
|
|
3007
3019
|
chains[node._key] = undefined;
|
3008
3020
|
node.destroy();
|
3009
3021
|
}
|
3010
|
-
}
|
3022
|
+
};
|
3011
3023
|
|
3012
|
-
notify
|
3024
|
+
ChainNode.prototype.notify = function notify(revalidate, affected) {
|
3013
3025
|
if (revalidate && this._watching) {
|
3014
3026
|
var parentValue = this._parent.value();
|
3015
3027
|
|
@@ -3043,9 +3055,9 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
|
|
3043
3055
|
if (affected && this._parent) {
|
3044
3056
|
this._parent.populateAffected(this._key, 1, affected);
|
3045
3057
|
}
|
3046
|
-
}
|
3058
|
+
};
|
3047
3059
|
|
3048
|
-
populateAffected
|
3060
|
+
ChainNode.prototype.populateAffected = function populateAffected(path, depth, affected) {
|
3049
3061
|
if (this._key) {
|
3050
3062
|
path = this._key + '.' + path;
|
3051
3063
|
}
|
@@ -3057,8 +3069,34 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
|
|
3057
3069
|
affected.push(this.value(), path);
|
3058
3070
|
}
|
3059
3071
|
}
|
3072
|
+
};
|
3073
|
+
|
3074
|
+
return ChainNode;
|
3075
|
+
})();
|
3076
|
+
|
3077
|
+
function lazyGet(obj, key) {
|
3078
|
+
if (!isObject(obj)) {
|
3079
|
+
return;
|
3060
3080
|
}
|
3061
|
-
|
3081
|
+
|
3082
|
+
var meta = _emberMetalMeta.peekMeta(obj);
|
3083
|
+
|
3084
|
+
// check if object meant only to be a prototype
|
3085
|
+
if (meta && meta.proto === obj) {
|
3086
|
+
return;
|
3087
|
+
}
|
3088
|
+
|
3089
|
+
// Use `get` if the return value is an EachProxy or an uncacheable value.
|
3090
|
+
if (isVolatile(obj[key])) {
|
3091
|
+
return _emberMetalProperty_get.get(obj, key);
|
3092
|
+
// Otherwise attempt to get the cached value of the computed property
|
3093
|
+
} else {
|
3094
|
+
var cache = meta.readableCache();
|
3095
|
+
if (cache) {
|
3096
|
+
return _emberMetalComputed.cacheFor.get(cache, key);
|
3097
|
+
}
|
3098
|
+
}
|
3099
|
+
}
|
3062
3100
|
|
3063
3101
|
function finishChains(obj) {
|
3064
3102
|
// We only create meta if we really have to
|
@@ -3562,8 +3600,8 @@ enifed('ember-metal/computed', ['exports', 'ember-utils', 'ember-metal/debug', '
|
|
3562
3600
|
this.setProperties({ firstName, lastName });
|
3563
3601
|
return value;
|
3564
3602
|
}
|
3565
|
-
})
|
3566
|
-
})
|
3603
|
+
})
|
3604
|
+
});
|
3567
3605
|
|
3568
3606
|
let client = Person.create();
|
3569
3607
|
client.get('firstName'); // 'Betty'
|
@@ -3922,31 +3960,39 @@ enifed("ember-metal/error", ["exports"], function (exports) {
|
|
3922
3960
|
*/
|
3923
3961
|
"use strict";
|
3924
3962
|
|
3925
|
-
|
3963
|
+
var EmberError = (function (_Error) {
|
3964
|
+
babelHelpers.inherits(EmberError, _Error);
|
3926
3965
|
|
3927
|
-
|
3928
|
-
|
3929
|
-
return new EmberError(message);
|
3930
|
-
}
|
3966
|
+
function EmberError(message) {
|
3967
|
+
babelHelpers.classCallCheck(this, EmberError);
|
3931
3968
|
|
3932
|
-
|
3969
|
+
_Error.call(this);
|
3933
3970
|
|
3934
|
-
|
3935
|
-
|
3936
|
-
|
3937
|
-
|
3971
|
+
if (!(this instanceof EmberError)) {
|
3972
|
+
return new EmberError(message);
|
3973
|
+
}
|
3974
|
+
|
3975
|
+
var error = Error.call(this, message);
|
3976
|
+
|
3977
|
+
if (Error.captureStackTrace) {
|
3978
|
+
Error.captureStackTrace(this, EmberError);
|
3979
|
+
} else {
|
3980
|
+
this.stack = error.stack;
|
3981
|
+
}
|
3982
|
+
|
3983
|
+
this.description = error.description;
|
3984
|
+
this.fileName = error.fileName;
|
3985
|
+
this.lineNumber = error.lineNumber;
|
3986
|
+
this.message = error.message;
|
3987
|
+
this.name = error.name;
|
3988
|
+
this.number = error.number;
|
3989
|
+
this.code = error.code;
|
3938
3990
|
}
|
3939
3991
|
|
3940
|
-
|
3941
|
-
|
3942
|
-
this.lineNumber = error.lineNumber;
|
3943
|
-
this.message = error.message;
|
3944
|
-
this.name = error.name;
|
3945
|
-
this.number = error.number;
|
3946
|
-
this.code = error.code;
|
3947
|
-
}
|
3992
|
+
return EmberError;
|
3993
|
+
})(Error);
|
3948
3994
|
|
3949
|
-
|
3995
|
+
exports.default = EmberError;
|
3950
3996
|
});
|
3951
3997
|
enifed('ember-metal/error_handler', ['exports', 'ember-console', 'ember-metal/testing'], function (exports, _emberConsole, _emberMetalTesting) {
|
3952
3998
|
'use strict';
|
@@ -3954,7 +4000,6 @@ enifed('ember-metal/error_handler', ['exports', 'ember-console', 'ember-metal/te
|
|
3954
4000
|
exports.getOnerror = getOnerror;
|
3955
4001
|
exports.setOnerror = setOnerror;
|
3956
4002
|
exports.dispatchError = dispatchError;
|
3957
|
-
exports.getDispatchOverride = getDispatchOverride;
|
3958
4003
|
exports.setDispatchOverride = setDispatchOverride;
|
3959
4004
|
|
3960
4005
|
// To maintain stacktrace consistency across browsers
|
@@ -3962,7 +4007,7 @@ enifed('ember-metal/error_handler', ['exports', 'ember-console', 'ember-metal/te
|
|
3962
4007
|
var stack = error.stack;
|
3963
4008
|
var message = error.message;
|
3964
4009
|
|
3965
|
-
if (stack && stack.
|
4010
|
+
if (stack && !stack.includes(message)) {
|
3966
4011
|
stack = message + '\n' + stack;
|
3967
4012
|
}
|
3968
4013
|
|
@@ -3995,10 +4040,6 @@ enifed('ember-metal/error_handler', ['exports', 'ember-console', 'ember-metal/te
|
|
3995
4040
|
|
3996
4041
|
// allows testing adapter to override dispatch
|
3997
4042
|
|
3998
|
-
function getDispatchOverride() {
|
3999
|
-
return dispatchOverride;
|
4000
|
-
}
|
4001
|
-
|
4002
4043
|
function setDispatchOverride(handler) {
|
4003
4044
|
dispatchOverride = handler;
|
4004
4045
|
}
|
@@ -4729,6 +4770,9 @@ enifed('ember-metal/injected_property', ['exports', 'ember-utils', 'ember-metal/
|
|
4729
4770
|
InjectedPropertyPrototype.teardown = ComputedPropertyPrototype.teardown;
|
4730
4771
|
});
|
4731
4772
|
enifed('ember-metal/instrumentation', ['exports', 'ember-environment', 'ember-metal/features'], function (exports, _emberEnvironment, _emberMetalFeatures) {
|
4773
|
+
/* eslint no-console:off */
|
4774
|
+
/* global console */
|
4775
|
+
|
4732
4776
|
'use strict';
|
4733
4777
|
|
4734
4778
|
exports.instrument = instrument;
|
@@ -4865,8 +4909,8 @@ enifed('ember-metal/instrumentation', ['exports', 'ember-environment', 'ember-me
|
|
4865
4909
|
result = payload;
|
4866
4910
|
} finally {
|
4867
4911
|
finalizer();
|
4868
|
-
return result;
|
4869
4912
|
}
|
4913
|
+
return result;
|
4870
4914
|
}
|
4871
4915
|
|
4872
4916
|
function NOOP() {}
|
@@ -5186,8 +5230,6 @@ enifed('ember-metal/is_proxy', ['exports', 'ember-metal/meta'], function (export
|
|
5186
5230
|
enifed('ember-metal/libraries', ['exports', 'ember-metal/debug', 'ember-metal/features'], function (exports, _emberMetalDebug, _emberMetalFeatures) {
|
5187
5231
|
'use strict';
|
5188
5232
|
|
5189
|
-
exports.Libraries = Libraries;
|
5190
|
-
|
5191
5233
|
/**
|
5192
5234
|
Helper class that allows you to register your library with Ember.
|
5193
5235
|
|
@@ -5198,10 +5240,22 @@ enifed('ember-metal/libraries', ['exports', 'ember-metal/debug', 'ember-metal/fe
|
|
5198
5240
|
@private
|
5199
5241
|
*/
|
5200
5242
|
|
5201
|
-
|
5202
|
-
|
5203
|
-
|
5204
|
-
|
5243
|
+
var Libraries = (function () {
|
5244
|
+
function Libraries() {
|
5245
|
+
babelHelpers.classCallCheck(this, Libraries);
|
5246
|
+
|
5247
|
+
this._registry = [];
|
5248
|
+
this._coreLibIndex = 0;
|
5249
|
+
}
|
5250
|
+
|
5251
|
+
Libraries.prototype.isRegistered = function isRegistered(name) {
|
5252
|
+
return !!this._getLibraryByName(name);
|
5253
|
+
};
|
5254
|
+
|
5255
|
+
return Libraries;
|
5256
|
+
})();
|
5257
|
+
|
5258
|
+
exports.Libraries = Libraries;
|
5205
5259
|
|
5206
5260
|
Libraries.prototype = {
|
5207
5261
|
constructor: Libraries,
|
@@ -5788,7 +5842,6 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
|
|
5788
5842
|
// Remove "use strict"; from transpiled module until
|
5789
5843
|
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
5790
5844
|
|
5791
|
-
exports.Meta = Meta;
|
5792
5845
|
exports.deleteMeta = deleteMeta;
|
5793
5846
|
exports.meta = meta;
|
5794
5847
|
|
@@ -5858,144 +5911,282 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
|
|
5858
5911
|
var memberNames = Object.keys(members);
|
5859
5912
|
var META_FIELD = '__ember_meta__';
|
5860
5913
|
|
5861
|
-
|
5862
|
-
|
5863
|
-
|
5864
|
-
_emberMetalDebug.runInDebug(function () {
|
5865
|
-
return counters.metaInstantiated++;
|
5866
|
-
});
|
5914
|
+
var Meta = (function () {
|
5915
|
+
function Meta(obj, parentMeta) {
|
5916
|
+
var _this = this;
|
5867
5917
|
|
5868
|
-
|
5869
|
-
this._weak = undefined;
|
5870
|
-
this._watching = undefined;
|
5871
|
-
this._mixins = undefined;
|
5872
|
-
this._bindings = undefined;
|
5873
|
-
this._values = undefined;
|
5874
|
-
this._deps = undefined;
|
5875
|
-
this._chainWatchers = undefined;
|
5876
|
-
this._chains = undefined;
|
5877
|
-
this._tag = undefined;
|
5878
|
-
this._tags = undefined;
|
5879
|
-
|
5880
|
-
// initial value for all flags right now is false
|
5881
|
-
// see FLAGS const for detailed list of flags used
|
5882
|
-
this._flags = 0;
|
5883
|
-
|
5884
|
-
// used only internally
|
5885
|
-
this.source = obj;
|
5886
|
-
|
5887
|
-
// when meta(obj).proto === obj, the object is intended to be only a
|
5888
|
-
// prototype and doesn't need to actually be observable itself
|
5889
|
-
this.proto = undefined;
|
5890
|
-
|
5891
|
-
// The next meta in our inheritance chain. We (will) track this
|
5892
|
-
// explicitly instead of using prototypical inheritance because we
|
5893
|
-
// have detailed knowledge of how each property should really be
|
5894
|
-
// inherited, and we can optimize it much better than JS runtimes.
|
5895
|
-
this.parent = parentMeta;
|
5918
|
+
babelHelpers.classCallCheck(this, Meta);
|
5896
5919
|
|
5897
|
-
if (true || false) {
|
5898
|
-
this._lastRendered = undefined;
|
5899
5920
|
_emberMetalDebug.runInDebug(function () {
|
5900
|
-
|
5901
|
-
_this._lastRenderedTemplateMap = undefined;
|
5921
|
+
return counters.metaInstantiated++;
|
5902
5922
|
});
|
5923
|
+
|
5924
|
+
this._cache = undefined;
|
5925
|
+
this._weak = undefined;
|
5926
|
+
this._watching = undefined;
|
5927
|
+
this._mixins = undefined;
|
5928
|
+
this._bindings = undefined;
|
5929
|
+
this._values = undefined;
|
5930
|
+
this._deps = undefined;
|
5931
|
+
this._chainWatchers = undefined;
|
5932
|
+
this._chains = undefined;
|
5933
|
+
this._tag = undefined;
|
5934
|
+
this._tags = undefined;
|
5935
|
+
|
5936
|
+
// initial value for all flags right now is false
|
5937
|
+
// see FLAGS const for detailed list of flags used
|
5938
|
+
this._flags = 0;
|
5939
|
+
|
5940
|
+
// used only internally
|
5941
|
+
this.source = obj;
|
5942
|
+
|
5943
|
+
// when meta(obj).proto === obj, the object is intended to be only a
|
5944
|
+
// prototype and doesn't need to actually be observable itself
|
5945
|
+
this.proto = undefined;
|
5946
|
+
|
5947
|
+
// The next meta in our inheritance chain. We (will) track this
|
5948
|
+
// explicitly instead of using prototypical inheritance because we
|
5949
|
+
// have detailed knowledge of how each property should really be
|
5950
|
+
// inherited, and we can optimize it much better than JS runtimes.
|
5951
|
+
this.parent = parentMeta;
|
5952
|
+
|
5953
|
+
if (true || false) {
|
5954
|
+
this._lastRendered = undefined;
|
5955
|
+
_emberMetalDebug.runInDebug(function () {
|
5956
|
+
_this._lastRenderedReferenceMap = undefined;
|
5957
|
+
_this._lastRenderedTemplateMap = undefined;
|
5958
|
+
});
|
5959
|
+
}
|
5960
|
+
|
5961
|
+
this._initializeListeners();
|
5903
5962
|
}
|
5904
5963
|
|
5905
|
-
|
5906
|
-
|
5964
|
+
Meta.prototype.isInitialized = function isInitialized(obj) {
|
5965
|
+
return this.proto !== obj;
|
5966
|
+
};
|
5967
|
+
|
5968
|
+
Meta.prototype.destroy = function destroy() {
|
5969
|
+
if (this.isMetaDestroyed()) {
|
5970
|
+
return;
|
5971
|
+
}
|
5972
|
+
|
5973
|
+
// remove chainWatchers to remove circular references that would prevent GC
|
5974
|
+
var nodes = undefined,
|
5975
|
+
key = undefined,
|
5976
|
+
nodeObject = undefined;
|
5977
|
+
var node = this.readableChains();
|
5978
|
+
if (node) {
|
5979
|
+
NODE_STACK.push(node);
|
5980
|
+
// process tree
|
5981
|
+
while (NODE_STACK.length > 0) {
|
5982
|
+
node = NODE_STACK.pop();
|
5983
|
+
// push children
|
5984
|
+
nodes = node._chains;
|
5985
|
+
if (nodes) {
|
5986
|
+
for (key in nodes) {
|
5987
|
+
if (nodes[key] !== undefined) {
|
5988
|
+
NODE_STACK.push(nodes[key]);
|
5989
|
+
}
|
5990
|
+
}
|
5991
|
+
}
|
5992
|
+
|
5993
|
+
// remove chainWatcher in node object
|
5994
|
+
if (node._watching) {
|
5995
|
+
nodeObject = node._object;
|
5996
|
+
if (nodeObject) {
|
5997
|
+
var foreignMeta = peekMeta(nodeObject);
|
5998
|
+
// avoid cleaning up chain watchers when both current and
|
5999
|
+
// foreign objects are being destroyed
|
6000
|
+
// if both are being destroyed manual cleanup is not needed
|
6001
|
+
// as they will be GC'ed and no non-destroyed references will
|
6002
|
+
// be remaining
|
6003
|
+
if (foreignMeta && !foreignMeta.isSourceDestroying()) {
|
6004
|
+
_emberMetalChains.removeChainWatcher(nodeObject, node._key, node, foreignMeta);
|
6005
|
+
}
|
6006
|
+
}
|
6007
|
+
}
|
6008
|
+
}
|
6009
|
+
}
|
6010
|
+
|
6011
|
+
this.setMetaDestroyed();
|
6012
|
+
};
|
6013
|
+
|
6014
|
+
Meta.prototype.isSourceDestroying = function isSourceDestroying() {
|
6015
|
+
return (this._flags & SOURCE_DESTROYING) !== 0;
|
6016
|
+
};
|
6017
|
+
|
6018
|
+
Meta.prototype.setSourceDestroying = function setSourceDestroying() {
|
6019
|
+
this._flags |= SOURCE_DESTROYING;
|
6020
|
+
};
|
6021
|
+
|
6022
|
+
Meta.prototype.isSourceDestroyed = function isSourceDestroyed() {
|
6023
|
+
return (this._flags & SOURCE_DESTROYED) !== 0;
|
6024
|
+
};
|
6025
|
+
|
6026
|
+
Meta.prototype.setSourceDestroyed = function setSourceDestroyed() {
|
6027
|
+
this._flags |= SOURCE_DESTROYED;
|
6028
|
+
};
|
6029
|
+
|
6030
|
+
Meta.prototype.isMetaDestroyed = function isMetaDestroyed() {
|
6031
|
+
return (this._flags & META_DESTROYED) !== 0;
|
6032
|
+
};
|
6033
|
+
|
6034
|
+
Meta.prototype.setMetaDestroyed = function setMetaDestroyed() {
|
6035
|
+
this._flags |= META_DESTROYED;
|
6036
|
+
};
|
6037
|
+
|
6038
|
+
Meta.prototype.isProxy = function isProxy() {
|
6039
|
+
return (this._flags & IS_PROXY) !== 0;
|
6040
|
+
};
|
6041
|
+
|
6042
|
+
Meta.prototype.setProxy = function setProxy() {
|
6043
|
+
this._flags |= IS_PROXY;
|
6044
|
+
};
|
6045
|
+
|
6046
|
+
Meta.prototype._getOrCreateOwnMap = function _getOrCreateOwnMap(key) {
|
6047
|
+
return this[key] || (this[key] = new _emberUtils.EmptyObject());
|
6048
|
+
};
|
6049
|
+
|
6050
|
+
Meta.prototype._getInherited = function _getInherited(key) {
|
6051
|
+
var pointer = this;
|
6052
|
+
while (pointer !== undefined) {
|
6053
|
+
if (pointer[key]) {
|
6054
|
+
return pointer[key];
|
6055
|
+
}
|
6056
|
+
pointer = pointer.parent;
|
6057
|
+
}
|
6058
|
+
};
|
6059
|
+
|
6060
|
+
Meta.prototype._findInherited = function _findInherited(key, subkey) {
|
6061
|
+
var pointer = this;
|
6062
|
+
while (pointer !== undefined) {
|
6063
|
+
var map = pointer[key];
|
6064
|
+
if (map) {
|
6065
|
+
var value = map[subkey];
|
6066
|
+
if (value !== undefined) {
|
6067
|
+
return value;
|
6068
|
+
}
|
6069
|
+
}
|
6070
|
+
pointer = pointer.parent;
|
6071
|
+
}
|
6072
|
+
};
|
5907
6073
|
|
5908
|
-
|
5909
|
-
|
5910
|
-
};
|
6074
|
+
// Implements a member that provides a lazily created map of maps,
|
6075
|
+
// with inheritance at both levels.
|
5911
6076
|
|
5912
|
-
|
6077
|
+
Meta.prototype.writeDeps = function writeDeps(subkey, itemkey, value) {
|
6078
|
+
_emberMetalDebug.assert('Cannot call writeDeps after the object is destroyed.', !this.isMetaDestroyed());
|
5913
6079
|
|
5914
|
-
|
5915
|
-
|
5916
|
-
|
5917
|
-
|
6080
|
+
var outerMap = this._getOrCreateOwnMap('_deps');
|
6081
|
+
var innerMap = outerMap[subkey];
|
6082
|
+
if (!innerMap) {
|
6083
|
+
innerMap = outerMap[subkey] = new _emberUtils.EmptyObject();
|
6084
|
+
}
|
6085
|
+
innerMap[itemkey] = value;
|
6086
|
+
};
|
5918
6087
|
|
5919
|
-
|
5920
|
-
|
5921
|
-
|
5922
|
-
|
5923
|
-
|
5924
|
-
|
5925
|
-
|
5926
|
-
|
5927
|
-
|
5928
|
-
while (NODE_STACK.length > 0) {
|
5929
|
-
node = NODE_STACK.pop();
|
5930
|
-
// push children
|
5931
|
-
nodes = node._chains;
|
5932
|
-
if (nodes) {
|
5933
|
-
for (key in nodes) {
|
5934
|
-
if (nodes[key] !== undefined) {
|
5935
|
-
NODE_STACK.push(nodes[key]);
|
6088
|
+
Meta.prototype.peekDeps = function peekDeps(subkey, itemkey) {
|
6089
|
+
var pointer = this;
|
6090
|
+
while (pointer !== undefined) {
|
6091
|
+
var map = pointer._deps;
|
6092
|
+
if (map) {
|
6093
|
+
var value = map[subkey];
|
6094
|
+
if (value) {
|
6095
|
+
if (value[itemkey] !== undefined) {
|
6096
|
+
return value[itemkey];
|
5936
6097
|
}
|
5937
6098
|
}
|
5938
6099
|
}
|
6100
|
+
pointer = pointer.parent;
|
6101
|
+
}
|
6102
|
+
};
|
6103
|
+
|
6104
|
+
Meta.prototype.hasDeps = function hasDeps(subkey) {
|
6105
|
+
var pointer = this;
|
6106
|
+
while (pointer !== undefined) {
|
6107
|
+
if (pointer._deps && pointer._deps[subkey]) {
|
6108
|
+
return true;
|
6109
|
+
}
|
6110
|
+
pointer = pointer.parent;
|
6111
|
+
}
|
6112
|
+
return false;
|
6113
|
+
};
|
6114
|
+
|
6115
|
+
Meta.prototype.forEachInDeps = function forEachInDeps(subkey, fn) {
|
6116
|
+
return this._forEachIn('_deps', subkey, fn);
|
6117
|
+
};
|
5939
6118
|
|
5940
|
-
|
5941
|
-
|
5942
|
-
|
5943
|
-
|
5944
|
-
|
5945
|
-
|
5946
|
-
|
5947
|
-
|
5948
|
-
|
5949
|
-
|
5950
|
-
|
5951
|
-
|
6119
|
+
Meta.prototype._forEachIn = function _forEachIn(key, subkey, fn) {
|
6120
|
+
var pointer = this;
|
6121
|
+
var seen = new _emberUtils.EmptyObject();
|
6122
|
+
var calls = [];
|
6123
|
+
while (pointer !== undefined) {
|
6124
|
+
var map = pointer[key];
|
6125
|
+
if (map) {
|
6126
|
+
var innerMap = map[subkey];
|
6127
|
+
if (innerMap) {
|
6128
|
+
for (var innerKey in innerMap) {
|
6129
|
+
if (!seen[innerKey]) {
|
6130
|
+
seen[innerKey] = true;
|
6131
|
+
calls.push([innerKey, innerMap[innerKey]]);
|
6132
|
+
}
|
5952
6133
|
}
|
5953
6134
|
}
|
5954
6135
|
}
|
6136
|
+
pointer = pointer.parent;
|
5955
6137
|
}
|
5956
|
-
|
6138
|
+
for (var i = 0; i < calls.length; i++) {
|
6139
|
+
var _calls$i = calls[i];
|
6140
|
+
var innerKey = _calls$i[0];
|
6141
|
+
var value = _calls$i[1];
|
5957
6142
|
|
5958
|
-
|
5959
|
-
|
6143
|
+
fn(innerKey, value);
|
6144
|
+
}
|
6145
|
+
};
|
5960
6146
|
|
5961
|
-
|
5962
|
-
|
5963
|
-
}
|
5964
|
-
memberNames.forEach(function (name) {
|
5965
|
-
return members[name](name, Meta);
|
5966
|
-
});
|
6147
|
+
Meta.prototype.readInheritedValue = function readInheritedValue(key, subkey) {
|
6148
|
+
var internalKey = '_' + key;
|
5967
6149
|
|
5968
|
-
|
5969
|
-
return (this._flags & SOURCE_DESTROYING) !== 0;
|
5970
|
-
};
|
6150
|
+
var pointer = this;
|
5971
6151
|
|
5972
|
-
|
5973
|
-
|
5974
|
-
|
6152
|
+
while (pointer !== undefined) {
|
6153
|
+
var map = pointer[internalKey];
|
6154
|
+
if (map) {
|
6155
|
+
var value = map[subkey];
|
6156
|
+
if (value !== undefined || subkey in map) {
|
6157
|
+
return map[subkey];
|
6158
|
+
}
|
6159
|
+
}
|
6160
|
+
pointer = pointer.parent;
|
6161
|
+
}
|
5975
6162
|
|
5976
|
-
|
5977
|
-
|
5978
|
-
};
|
6163
|
+
return UNDEFINED;
|
6164
|
+
};
|
5979
6165
|
|
5980
|
-
|
5981
|
-
|
5982
|
-
|
6166
|
+
Meta.prototype.writeValue = function writeValue(obj, key, value) {
|
6167
|
+
var descriptor = _emberUtils.lookupDescriptor(obj, key);
|
6168
|
+
var isMandatorySetter = descriptor && descriptor.set && descriptor.set.isMandatorySetter;
|
5983
6169
|
|
5984
|
-
|
5985
|
-
|
5986
|
-
|
6170
|
+
if (isMandatorySetter) {
|
6171
|
+
this.writeValues(key, value);
|
6172
|
+
} else {
|
6173
|
+
obj[key] = value;
|
6174
|
+
}
|
6175
|
+
};
|
5987
6176
|
|
5988
|
-
|
5989
|
-
|
5990
|
-
};
|
6177
|
+
return Meta;
|
6178
|
+
})();
|
5991
6179
|
|
5992
|
-
Meta
|
5993
|
-
return (this._flags & IS_PROXY) !== 0;
|
5994
|
-
};
|
6180
|
+
exports.Meta = Meta;
|
5995
6181
|
|
5996
|
-
|
5997
|
-
|
5998
|
-
|
6182
|
+
var NODE_STACK = [];
|
6183
|
+
|
6184
|
+
for (var _name in _emberMetalMeta_listeners.protoMethods) {
|
6185
|
+
Meta.prototype[_name] = _emberMetalMeta_listeners.protoMethods[_name];
|
6186
|
+
}
|
6187
|
+
memberNames.forEach(function (name) {
|
6188
|
+
return members[name](name, Meta);
|
6189
|
+
});
|
5999
6190
|
|
6000
6191
|
// Implements a member that is a lazily created, non-inheritable
|
6001
6192
|
// POJO.
|
@@ -6010,14 +6201,6 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
|
|
6010
6201
|
};
|
6011
6202
|
}
|
6012
6203
|
|
6013
|
-
Meta.prototype._getOrCreateOwnMap = function (key) {
|
6014
|
-
var ret = this[key];
|
6015
|
-
if (!ret) {
|
6016
|
-
ret = this[key] = new _emberUtils.EmptyObject();
|
6017
|
-
}
|
6018
|
-
return ret;
|
6019
|
-
};
|
6020
|
-
|
6021
6204
|
// Implements a member that is a lazily created POJO with inheritable
|
6022
6205
|
// values.
|
6023
6206
|
function inheritedMap(name, Meta) {
|
@@ -6067,105 +6250,9 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
|
|
6067
6250
|
};
|
6068
6251
|
}
|
6069
6252
|
|
6070
|
-
Meta.prototype._getInherited = function (key) {
|
6071
|
-
var pointer = this;
|
6072
|
-
while (pointer !== undefined) {
|
6073
|
-
if (pointer[key]) {
|
6074
|
-
return pointer[key];
|
6075
|
-
}
|
6076
|
-
pointer = pointer.parent;
|
6077
|
-
}
|
6078
|
-
};
|
6079
|
-
|
6080
|
-
Meta.prototype._findInherited = function (key, subkey) {
|
6081
|
-
var pointer = this;
|
6082
|
-
while (pointer !== undefined) {
|
6083
|
-
var map = pointer[key];
|
6084
|
-
if (map) {
|
6085
|
-
var value = map[subkey];
|
6086
|
-
if (value !== undefined) {
|
6087
|
-
return value;
|
6088
|
-
}
|
6089
|
-
}
|
6090
|
-
pointer = pointer.parent;
|
6091
|
-
}
|
6092
|
-
};
|
6093
|
-
|
6094
6253
|
var UNDEFINED = _emberUtils.symbol('undefined');
|
6095
6254
|
|
6096
6255
|
exports.UNDEFINED = UNDEFINED;
|
6097
|
-
// Implements a member that provides a lazily created map of maps,
|
6098
|
-
// with inheritance at both levels.
|
6099
|
-
Meta.prototype.writeDeps = function writeDeps(subkey, itemkey, value) {
|
6100
|
-
_emberMetalDebug.assert('Cannot call writeDeps after the object is destroyed.', !this.isMetaDestroyed());
|
6101
|
-
|
6102
|
-
var outerMap = this._getOrCreateOwnMap('_deps');
|
6103
|
-
var innerMap = outerMap[subkey];
|
6104
|
-
if (!innerMap) {
|
6105
|
-
innerMap = outerMap[subkey] = new _emberUtils.EmptyObject();
|
6106
|
-
}
|
6107
|
-
innerMap[itemkey] = value;
|
6108
|
-
};
|
6109
|
-
|
6110
|
-
Meta.prototype.peekDeps = function peekDeps(subkey, itemkey) {
|
6111
|
-
var pointer = this;
|
6112
|
-
while (pointer !== undefined) {
|
6113
|
-
var map = pointer._deps;
|
6114
|
-
if (map) {
|
6115
|
-
var value = map[subkey];
|
6116
|
-
if (value) {
|
6117
|
-
if (value[itemkey] !== undefined) {
|
6118
|
-
return value[itemkey];
|
6119
|
-
}
|
6120
|
-
}
|
6121
|
-
}
|
6122
|
-
pointer = pointer.parent;
|
6123
|
-
}
|
6124
|
-
};
|
6125
|
-
|
6126
|
-
Meta.prototype.hasDeps = function hasDeps(subkey) {
|
6127
|
-
var pointer = this;
|
6128
|
-
while (pointer !== undefined) {
|
6129
|
-
if (pointer._deps && pointer._deps[subkey]) {
|
6130
|
-
return true;
|
6131
|
-
}
|
6132
|
-
pointer = pointer.parent;
|
6133
|
-
}
|
6134
|
-
return false;
|
6135
|
-
};
|
6136
|
-
|
6137
|
-
Meta.prototype.forEachInDeps = function forEachInDeps(subkey, fn) {
|
6138
|
-
return this._forEachIn('_deps', subkey, fn);
|
6139
|
-
};
|
6140
|
-
|
6141
|
-
Meta.prototype._forEachIn = function (key, subkey, fn) {
|
6142
|
-
var pointer = this;
|
6143
|
-
var seen = new _emberUtils.EmptyObject();
|
6144
|
-
var calls = [];
|
6145
|
-
while (pointer !== undefined) {
|
6146
|
-
var map = pointer[key];
|
6147
|
-
if (map) {
|
6148
|
-
var innerMap = map[subkey];
|
6149
|
-
if (innerMap) {
|
6150
|
-
for (var innerKey in innerMap) {
|
6151
|
-
if (!seen[innerKey]) {
|
6152
|
-
seen[innerKey] = true;
|
6153
|
-
calls.push([innerKey, innerMap[innerKey]]);
|
6154
|
-
}
|
6155
|
-
}
|
6156
|
-
}
|
6157
|
-
}
|
6158
|
-
pointer = pointer.parent;
|
6159
|
-
}
|
6160
|
-
for (var i = 0; i < calls.length; i++) {
|
6161
|
-
var _calls$i = calls[i];
|
6162
|
-
var innerKey = _calls$i[0];
|
6163
|
-
var value = _calls$i[1];
|
6164
|
-
|
6165
|
-
fn(innerKey, value);
|
6166
|
-
}
|
6167
|
-
};
|
6168
|
-
|
6169
6256
|
// Implements a member that provides a non-heritable, lazily-created
|
6170
6257
|
// object using the method you provide.
|
6171
6258
|
function ownCustomObject(name, Meta) {
|
@@ -6572,7 +6659,6 @@ enifed('ember-metal/mixin', ['exports', 'ember-utils', 'ember-metal/error', 'emb
|
|
6572
6659
|
*/
|
6573
6660
|
exports.detectBinding = detectBinding;
|
6574
6661
|
exports.mixin = mixin;
|
6575
|
-
exports.default = Mixin;
|
6576
6662
|
exports.hasUnprocessedMixins = hasUnprocessedMixins;
|
6577
6663
|
exports.clearUnprocessedMixins = clearUnprocessedMixins;
|
6578
6664
|
exports.required = required;
|
@@ -6584,7 +6670,9 @@ enifed('ember-metal/mixin', ['exports', 'ember-utils', 'ember-metal/error', 'emb
|
|
6584
6670
|
function ROOT() {}
|
6585
6671
|
ROOT.__hasSuper = false;
|
6586
6672
|
|
6587
|
-
var a_slice =
|
6673
|
+
var a_slice = Array.prototype.slice;
|
6674
|
+
var a_concat = Array.prototype.concat;
|
6675
|
+
var isArray = Array.isArray;
|
6588
6676
|
|
6589
6677
|
function isMethod(obj) {
|
6590
6678
|
return 'function' === typeof obj && obj.isMethod !== false && obj !== Boolean && obj !== Object && obj !== Number && obj !== Array && obj !== Date && obj !== String;
|
@@ -6608,14 +6696,11 @@ enifed('ember-metal/mixin', ['exports', 'ember-utils', 'ember-metal/error', 'emb
|
|
6608
6696
|
}
|
6609
6697
|
|
6610
6698
|
function concatenatedMixinProperties(concatProp, props, values, base) {
|
6611
|
-
var concats = undefined;
|
6612
|
-
|
6613
6699
|
// reset before adding each new mixin to pickup concats from previous
|
6614
|
-
concats = values[concatProp] || base[concatProp];
|
6700
|
+
var concats = values[concatProp] || base[concatProp];
|
6615
6701
|
if (props[concatProp]) {
|
6616
|
-
concats = concats ?
|
6702
|
+
concats = concats ? a_concat.call(concats, props[concatProp]) : props[concatProp];
|
6617
6703
|
}
|
6618
|
-
|
6619
6704
|
return concats;
|
6620
6705
|
}
|
6621
6706
|
|
@@ -6682,18 +6767,18 @@ enifed('ember-metal/mixin', ['exports', 'ember-utils', 'ember-metal/error', 'emb
|
|
6682
6767
|
var baseValue = values[key] || obj[key];
|
6683
6768
|
var ret = undefined;
|
6684
6769
|
|
6685
|
-
if (baseValue) {
|
6686
|
-
|
6770
|
+
if (baseValue === null || baseValue === undefined) {
|
6771
|
+
ret = _emberUtils.makeArray(value);
|
6772
|
+
} else {
|
6773
|
+
if (isArray(baseValue)) {
|
6687
6774
|
if (value === null || value === undefined) {
|
6688
6775
|
ret = baseValue;
|
6689
6776
|
} else {
|
6690
|
-
ret =
|
6777
|
+
ret = a_concat.call(baseValue, value);
|
6691
6778
|
}
|
6692
6779
|
} else {
|
6693
|
-
ret = _emberUtils.makeArray(baseValue)
|
6780
|
+
ret = a_concat.call(_emberUtils.makeArray(baseValue), value);
|
6694
6781
|
}
|
6695
|
-
} else {
|
6696
|
-
ret = _emberUtils.makeArray(value);
|
6697
6782
|
}
|
6698
6783
|
|
6699
6784
|
_emberMetalDebug.runInDebug(function () {
|
@@ -6712,7 +6797,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-utils', 'ember-metal/error', 'emb
|
|
6712
6797
|
var baseValue = values[key] || obj[key];
|
6713
6798
|
|
6714
6799
|
_emberMetalDebug.runInDebug(function () {
|
6715
|
-
if (
|
6800
|
+
if (isArray(value)) {
|
6716
6801
|
// use conditional to avoid stringifying every time
|
6717
6802
|
_emberMetalDebug.assert('You passed in `' + JSON.stringify(value) + '` as the value for `' + key + '` but `' + key + '` cannot be an Array', false);
|
6718
6803
|
}
|
@@ -7039,40 +7124,87 @@ enifed('ember-metal/mixin', ['exports', 'ember-utils', 'ember-metal/error', 'emb
|
|
7039
7124
|
@public
|
7040
7125
|
*/
|
7041
7126
|
|
7042
|
-
|
7043
|
-
|
7127
|
+
var Mixin = (function () {
|
7128
|
+
function Mixin(args, properties) {
|
7129
|
+
babelHelpers.classCallCheck(this, Mixin);
|
7044
7130
|
|
7045
|
-
|
7131
|
+
this.properties = properties;
|
7046
7132
|
|
7047
|
-
|
7048
|
-
var m = new Array(length);
|
7133
|
+
var length = args && args.length;
|
7049
7134
|
|
7050
|
-
|
7051
|
-
var
|
7052
|
-
|
7053
|
-
|
7054
|
-
|
7055
|
-
|
7135
|
+
if (length > 0) {
|
7136
|
+
var m = new Array(length);
|
7137
|
+
|
7138
|
+
for (var i = 0; i < length; i++) {
|
7139
|
+
var x = args[i];
|
7140
|
+
if (x instanceof Mixin) {
|
7141
|
+
m[i] = x;
|
7142
|
+
} else {
|
7143
|
+
m[i] = new Mixin(undefined, x);
|
7144
|
+
}
|
7056
7145
|
}
|
7057
|
-
}
|
7058
7146
|
|
7059
|
-
|
7060
|
-
|
7061
|
-
|
7147
|
+
this.mixins = m;
|
7148
|
+
} else {
|
7149
|
+
this.mixins = undefined;
|
7150
|
+
}
|
7151
|
+
this.ownerConstructor = undefined;
|
7152
|
+
this._without = undefined;
|
7153
|
+
this[_emberUtils.GUID_KEY] = null;
|
7154
|
+
this[_emberUtils.NAME_KEY] = null;
|
7155
|
+
_emberMetalDebug.debugSeal(this);
|
7062
7156
|
}
|
7063
|
-
this.ownerConstructor = undefined;
|
7064
|
-
this._without = undefined;
|
7065
|
-
this[_emberUtils.GUID_KEY] = null;
|
7066
|
-
this[_emberUtils.NAME_KEY] = null;
|
7067
|
-
_emberMetalDebug.debugSeal(this);
|
7068
|
-
}
|
7069
7157
|
|
7070
|
-
|
7158
|
+
Mixin.applyPartial = function applyPartial(obj) {
|
7159
|
+
var args = a_slice.call(arguments, 1);
|
7160
|
+
return applyMixin(obj, args, true);
|
7161
|
+
};
|
7071
7162
|
|
7072
|
-
|
7073
|
-
|
7074
|
-
|
7075
|
-
|
7163
|
+
/**
|
7164
|
+
@method create
|
7165
|
+
@static
|
7166
|
+
@param arguments*
|
7167
|
+
@public
|
7168
|
+
*/
|
7169
|
+
|
7170
|
+
Mixin.create = function create() {
|
7171
|
+
// ES6TODO: this relies on a global state?
|
7172
|
+
unprocessedFlag = true;
|
7173
|
+
var M = this;
|
7174
|
+
|
7175
|
+
for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
7176
|
+
args[_key2] = arguments[_key2];
|
7177
|
+
}
|
7178
|
+
|
7179
|
+
return new M(args, undefined);
|
7180
|
+
};
|
7181
|
+
|
7182
|
+
// returns the mixins currently applied to the specified object
|
7183
|
+
// TODO: Make Ember.mixin
|
7184
|
+
|
7185
|
+
Mixin.mixins = function mixins(obj) {
|
7186
|
+
var m = _emberMetalMeta.peekMeta(obj);
|
7187
|
+
var ret = [];
|
7188
|
+
if (!m) {
|
7189
|
+
return ret;
|
7190
|
+
}
|
7191
|
+
|
7192
|
+
m.forEachMixins(function (key, currentMixin) {
|
7193
|
+
// skip primitive mixins since these are always anonymous
|
7194
|
+
if (!currentMixin.properties) {
|
7195
|
+
ret.push(currentMixin);
|
7196
|
+
}
|
7197
|
+
});
|
7198
|
+
|
7199
|
+
return ret;
|
7200
|
+
};
|
7201
|
+
|
7202
|
+
return Mixin;
|
7203
|
+
})();
|
7204
|
+
|
7205
|
+
exports.default = Mixin;
|
7206
|
+
|
7207
|
+
Mixin._apply = applyMixin;
|
7076
7208
|
|
7077
7209
|
Mixin.finishPartial = finishPartial;
|
7078
7210
|
|
@@ -7086,24 +7218,6 @@ enifed('ember-metal/mixin', ['exports', 'ember-utils', 'ember-metal/error', 'emb
|
|
7086
7218
|
unprocessedFlag = false;
|
7087
7219
|
}
|
7088
7220
|
|
7089
|
-
/**
|
7090
|
-
@method create
|
7091
|
-
@static
|
7092
|
-
@param arguments*
|
7093
|
-
@public
|
7094
|
-
*/
|
7095
|
-
Mixin.create = function () {
|
7096
|
-
// ES6TODO: this relies on a global state?
|
7097
|
-
unprocessedFlag = true;
|
7098
|
-
var M = this;
|
7099
|
-
|
7100
|
-
for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
7101
|
-
args[_key2] = arguments[_key2];
|
7102
|
-
}
|
7103
|
-
|
7104
|
-
return new M(args, undefined);
|
7105
|
-
};
|
7106
|
-
|
7107
7221
|
var MixinPrototype = Mixin.prototype;
|
7108
7222
|
|
7109
7223
|
/**
|
@@ -7237,25 +7351,6 @@ enifed('ember-metal/mixin', ['exports', 'ember-utils', 'ember-metal/error', 'emb
|
|
7237
7351
|
|
7238
7352
|
_emberMetalDebug.debugSeal(MixinPrototype);
|
7239
7353
|
|
7240
|
-
// returns the mixins currently applied to the specified object
|
7241
|
-
// TODO: Make Ember.mixin
|
7242
|
-
Mixin.mixins = function (obj) {
|
7243
|
-
var m = _emberMetalMeta.peekMeta(obj);
|
7244
|
-
var ret = [];
|
7245
|
-
if (!m) {
|
7246
|
-
return ret;
|
7247
|
-
}
|
7248
|
-
|
7249
|
-
m.forEachMixins(function (key, currentMixin) {
|
7250
|
-
// skip primitive mixins since these are always anonymous
|
7251
|
-
if (!currentMixin.properties) {
|
7252
|
-
ret.push(currentMixin);
|
7253
|
-
}
|
7254
|
-
});
|
7255
|
-
|
7256
|
-
return ret;
|
7257
|
-
};
|
7258
|
-
|
7259
7354
|
var REQUIRED = new _emberMetalProperties.Descriptor();
|
7260
7355
|
REQUIRED.toString = function () {
|
7261
7356
|
return '(Required Property)';
|
@@ -7459,7 +7554,6 @@ enifed('ember-metal/mixin', ['exports', 'ember-utils', 'ember-metal/error', 'emb
|
|
7459
7554
|
}
|
7460
7555
|
|
7461
7556
|
exports.Mixin = Mixin;
|
7462
|
-
exports.required = required;
|
7463
7557
|
exports.REQUIRED = REQUIRED;
|
7464
7558
|
});
|
7465
7559
|
enifed('ember-metal/observer', ['exports', 'ember-metal/watching', 'ember-metal/events'], function (exports, _emberMetalWatching, _emberMetalEvents) {
|
@@ -7579,8 +7673,6 @@ enifed('ember-metal/observer', ['exports', 'ember-metal/watching', 'ember-metal/
|
|
7579
7673
|
enifed('ember-metal/observer_set', ['exports', 'ember-utils', 'ember-metal/events'], function (exports, _emberUtils, _emberMetalEvents) {
|
7580
7674
|
'use strict';
|
7581
7675
|
|
7582
|
-
exports.default = ObserverSet;
|
7583
|
-
|
7584
7676
|
/*
|
7585
7677
|
this.observerSet = {
|
7586
7678
|
[senderGuid]: { // variable name: `keySet`
|
@@ -7600,53 +7692,61 @@ enifed('ember-metal/observer_set', ['exports', 'ember-utils', 'ember-metal/event
|
|
7600
7692
|
]
|
7601
7693
|
*/
|
7602
7694
|
|
7603
|
-
|
7604
|
-
|
7605
|
-
|
7606
|
-
|
7607
|
-
ObserverSet.prototype.add = function (sender, keyName, eventName) {
|
7608
|
-
var observerSet = this.observerSet;
|
7609
|
-
var observers = this.observers;
|
7610
|
-
var senderGuid = _emberUtils.guidFor(sender);
|
7611
|
-
var keySet = observerSet[senderGuid];
|
7612
|
-
var index = undefined;
|
7695
|
+
var ObserverSet = (function () {
|
7696
|
+
function ObserverSet() {
|
7697
|
+
babelHelpers.classCallCheck(this, ObserverSet);
|
7613
7698
|
|
7614
|
-
|
7615
|
-
observerSet[senderGuid] = keySet = {};
|
7616
|
-
}
|
7617
|
-
index = keySet[keyName];
|
7618
|
-
if (index === undefined) {
|
7619
|
-
index = observers.push({
|
7620
|
-
sender: sender,
|
7621
|
-
keyName: keyName,
|
7622
|
-
eventName: eventName,
|
7623
|
-
listeners: []
|
7624
|
-
}) - 1;
|
7625
|
-
keySet[keyName] = index;
|
7699
|
+
this.clear();
|
7626
7700
|
}
|
7627
|
-
return observers[index].listeners;
|
7628
|
-
};
|
7629
7701
|
|
7630
|
-
|
7631
|
-
|
7632
|
-
|
7633
|
-
|
7634
|
-
|
7635
|
-
|
7636
|
-
|
7637
|
-
|
7638
|
-
|
7639
|
-
if (sender.isDestroying || sender.isDestroyed) {
|
7640
|
-
continue;
|
7702
|
+
ObserverSet.prototype.add = function add(sender, keyName, eventName) {
|
7703
|
+
var observerSet = this.observerSet;
|
7704
|
+
var observers = this.observers;
|
7705
|
+
var senderGuid = _emberUtils.guidFor(sender);
|
7706
|
+
var keySet = observerSet[senderGuid];
|
7707
|
+
var index = undefined;
|
7708
|
+
|
7709
|
+
if (!keySet) {
|
7710
|
+
observerSet[senderGuid] = keySet = {};
|
7641
7711
|
}
|
7642
|
-
|
7643
|
-
|
7644
|
-
|
7712
|
+
index = keySet[keyName];
|
7713
|
+
if (index === undefined) {
|
7714
|
+
index = observers.push({
|
7715
|
+
sender: sender,
|
7716
|
+
keyName: keyName,
|
7717
|
+
eventName: eventName,
|
7718
|
+
listeners: []
|
7719
|
+
}) - 1;
|
7720
|
+
keySet[keyName] = index;
|
7721
|
+
}
|
7722
|
+
return observers[index].listeners;
|
7723
|
+
};
|
7645
7724
|
|
7646
|
-
|
7647
|
-
|
7648
|
-
|
7649
|
-
|
7725
|
+
ObserverSet.prototype.flush = function flush() {
|
7726
|
+
var observers = this.observers;
|
7727
|
+
var i = undefined,
|
7728
|
+
observer = undefined,
|
7729
|
+
sender = undefined;
|
7730
|
+
this.clear();
|
7731
|
+
for (i = 0; i < observers.length; ++i) {
|
7732
|
+
observer = observers[i];
|
7733
|
+
sender = observer.sender;
|
7734
|
+
if (sender.isDestroying || sender.isDestroyed) {
|
7735
|
+
continue;
|
7736
|
+
}
|
7737
|
+
_emberMetalEvents.sendEvent(sender, observer.eventName, [sender, observer.keyName], observer.listeners);
|
7738
|
+
}
|
7739
|
+
};
|
7740
|
+
|
7741
|
+
ObserverSet.prototype.clear = function clear() {
|
7742
|
+
this.observerSet = {};
|
7743
|
+
this.observers = [];
|
7744
|
+
};
|
7745
|
+
|
7746
|
+
return ObserverSet;
|
7747
|
+
})();
|
7748
|
+
|
7749
|
+
exports.default = ObserverSet;
|
7650
7750
|
});
|
7651
7751
|
enifed('ember-metal/path_cache', ['exports', 'ember-metal/cache'], function (exports, _emberMetalCache) {
|
7652
7752
|
'use strict';
|
@@ -8569,7 +8669,7 @@ enifed('ember-metal/run_loop', ['exports', 'ember-utils', 'ember-metal/debug', '
|
|
8569
8669
|
|
8570
8670
|
var onErrorTarget = {
|
8571
8671
|
get onerror() {
|
8572
|
-
return _emberMetalError_handler.
|
8672
|
+
return _emberMetalError_handler.getOnerror();
|
8573
8673
|
},
|
8574
8674
|
set onerror(handler) {
|
8575
8675
|
return _emberMetalError_handler.setOnerror(handler);
|
@@ -10628,7 +10728,7 @@ enifed('ember-template-compiler/plugins/transform-input-type-syntax', ['exports'
|
|
10628
10728
|
}
|
10629
10729
|
}
|
10630
10730
|
if (pair && pair.value.type !== 'StringLiteral') {
|
10631
|
-
node.params.unshift(builders.sexpr('-input-type', [pair.value], null, pair.loc));
|
10731
|
+
node.params.unshift(builders.sexpr('-input-type', [builders.path(pair.value.original, pair.loc)], null, pair.loc));
|
10632
10732
|
}
|
10633
10733
|
}
|
10634
10734
|
});
|
@@ -11076,8 +11176,8 @@ enifed('ember-template-compiler/system/calculate-location-display', ['exports'],
|
|
11076
11176
|
|
11077
11177
|
exports.default = calculateLocationDisplay;
|
11078
11178
|
|
11079
|
-
function calculateLocationDisplay(moduleName
|
11080
|
-
var loc =
|
11179
|
+
function calculateLocationDisplay(moduleName) {
|
11180
|
+
var loc = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
|
11081
11181
|
|
11082
11182
|
var _ref = loc.start || {};
|
11083
11183
|
|
@@ -11548,7 +11648,7 @@ enifed('ember-utils/guid', ['exports', 'ember-utils/intern'], function (exports,
|
|
11548
11648
|
}
|
11549
11649
|
}
|
11550
11650
|
});
|
11551
|
-
enifed('ember-utils/index', ['exports', 'ember-utils/symbol', 'ember-utils/owner', 'ember-utils/assign', 'ember-utils/empty-object', 'ember-utils/dictionary', 'ember-utils/guid', 'ember-utils/intern', 'ember-utils/super', 'ember-utils/inspect', 'ember-utils/lookup-descriptor', 'ember-utils/invoke', 'ember-utils/make-array', 'ember-utils/apply-str', 'ember-utils/name', 'ember-utils/to-string', 'ember-utils/weak-map-utils'], function (exports, _emberUtilsSymbol, _emberUtilsOwner, _emberUtilsAssign, _emberUtilsEmptyObject, _emberUtilsDictionary, _emberUtilsGuid, _emberUtilsIntern, _emberUtilsSuper, _emberUtilsInspect, _emberUtilsLookupDescriptor, _emberUtilsInvoke, _emberUtilsMakeArray, _emberUtilsApplyStr, _emberUtilsName, _emberUtilsToString, _emberUtilsWeakMapUtils) {
|
11651
|
+
enifed('ember-utils/index', ['exports', 'ember-utils/symbol', 'ember-utils/owner', 'ember-utils/assign', 'ember-utils/empty-object', 'ember-utils/dictionary', 'ember-utils/guid', 'ember-utils/intern', 'ember-utils/super', 'ember-utils/inspect', 'ember-utils/lookup-descriptor', 'ember-utils/invoke', 'ember-utils/make-array', 'ember-utils/apply-str', 'ember-utils/name', 'ember-utils/to-string', 'ember-utils/weak-map-utils', 'ember-utils/proxy-utils'], function (exports, _emberUtilsSymbol, _emberUtilsOwner, _emberUtilsAssign, _emberUtilsEmptyObject, _emberUtilsDictionary, _emberUtilsGuid, _emberUtilsIntern, _emberUtilsSuper, _emberUtilsInspect, _emberUtilsLookupDescriptor, _emberUtilsInvoke, _emberUtilsMakeArray, _emberUtilsApplyStr, _emberUtilsName, _emberUtilsToString, _emberUtilsWeakMapUtils, _emberUtilsProxyUtils) {
|
11552
11652
|
/*
|
11553
11653
|
This package will be eagerly parsed and should have no dependencies on external
|
11554
11654
|
packages.
|
@@ -11587,6 +11687,7 @@ enifed('ember-utils/index', ['exports', 'ember-utils/symbol', 'ember-utils/owner
|
|
11587
11687
|
exports.NAME_KEY = _emberUtilsName.default;
|
11588
11688
|
exports.toString = _emberUtilsToString.default;
|
11589
11689
|
exports.HAS_NATIVE_WEAKMAP = _emberUtilsWeakMapUtils.HAS_NATIVE_WEAKMAP;
|
11690
|
+
exports.HAS_NATIVE_PROXY = _emberUtilsProxyUtils.HAS_NATIVE_PROXY;
|
11590
11691
|
});
|
11591
11692
|
enifed('ember-utils/inspect', ['exports'], function (exports) {
|
11592
11693
|
'use strict';
|
@@ -11784,6 +11885,11 @@ enifed("ember-utils/lookup-descriptor", ["exports"], function (exports) {
|
|
11784
11885
|
}
|
11785
11886
|
});
|
11786
11887
|
enifed("ember-utils/make-array", ["exports"], function (exports) {
|
11888
|
+
"use strict";
|
11889
|
+
|
11890
|
+
exports.default = makeArray;
|
11891
|
+
var isArray = Array.isArray;
|
11892
|
+
|
11787
11893
|
/**
|
11788
11894
|
Forces the passed object to be part of an array. If the object is already
|
11789
11895
|
an array, it will return the object. Otherwise, it will add the object to
|
@@ -11807,15 +11913,12 @@ enifed("ember-utils/make-array", ["exports"], function (exports) {
|
|
11807
11913
|
@return {Array}
|
11808
11914
|
@private
|
11809
11915
|
*/
|
11810
|
-
"use strict";
|
11811
|
-
|
11812
|
-
exports.default = makeArray;
|
11813
11916
|
|
11814
11917
|
function makeArray(obj) {
|
11815
11918
|
if (obj === null || obj === undefined) {
|
11816
11919
|
return [];
|
11817
11920
|
}
|
11818
|
-
return
|
11921
|
+
return isArray(obj) ? obj : [obj];
|
11819
11922
|
}
|
11820
11923
|
});
|
11821
11924
|
enifed('ember-utils/name', ['exports', 'ember-utils/symbol'], function (exports, _emberUtilsSymbol) {
|
@@ -11849,7 +11952,8 @@ enifed('ember-utils/owner', ['exports', 'ember-utils/symbol'], function (exports
|
|
11849
11952
|
For example, this component dynamically looks up a service based on the
|
11850
11953
|
`audioType` passed as an attribute:
|
11851
11954
|
|
11852
|
-
```
|
11955
|
+
```
|
11956
|
+
// app/components/play-audio.js
|
11853
11957
|
import Ember from 'ember';
|
11854
11958
|
|
11855
11959
|
// Usage:
|
@@ -11896,6 +12000,12 @@ enifed('ember-utils/owner', ['exports', 'ember-utils/symbol'], function (exports
|
|
11896
12000
|
object[OWNER] = owner;
|
11897
12001
|
}
|
11898
12002
|
});
|
12003
|
+
enifed('ember-utils/proxy-utils', ['exports'], function (exports) {
|
12004
|
+
'use strict';
|
12005
|
+
|
12006
|
+
var HAS_NATIVE_PROXY = typeof Proxy === 'function';
|
12007
|
+
exports.HAS_NATIVE_PROXY = HAS_NATIVE_PROXY;
|
12008
|
+
});
|
11899
12009
|
enifed('ember-utils/super', ['exports'], function (exports) {
|
11900
12010
|
'use strict';
|
11901
12011
|
|
@@ -12023,12 +12133,12 @@ enifed('ember-utils/weak-map-utils', ['exports'], function (exports) {
|
|
12023
12133
|
enifed("ember/features", ["exports"], function (exports) {
|
12024
12134
|
"use strict";
|
12025
12135
|
|
12026
|
-
exports.default = { "features-stripped-test": false, "ember-libraries-isregistered": false, "ember-
|
12136
|
+
exports.default = { "features-stripped-test": false, "ember-libraries-isregistered": false, "ember-improved-instrumentation": false, "ember-metal-weakmap": false, "ember-glimmer-allow-backtracking-rerender": false, "ember-testing-resume-test": false, "ember-factory-for": true, "ember-no-double-extend": false, "mandatory-setter": true, "ember-glimmer-detect-backtracking-rerender": true };
|
12027
12137
|
});
|
12028
12138
|
enifed("ember/version", ["exports"], function (exports) {
|
12029
12139
|
"use strict";
|
12030
12140
|
|
12031
|
-
exports.default = "2.
|
12141
|
+
exports.default = "2.12.0-beta.1";
|
12032
12142
|
});
|
12033
12143
|
enifed("glimmer-compiler/index", ["exports", "glimmer-compiler/lib/compiler", "glimmer-compiler/lib/template-visitor"], function (exports, _glimmerCompilerLibCompiler, _glimmerCompilerLibTemplateVisitor) {
|
12034
12144
|
"use strict";
|