ember-source 2.15.3 → 2.16.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 +478 -507
- data/dist/ember-template-compiler.js +378 -462
- data/dist/ember-testing.js +1 -1
- data/dist/ember-tests.js +151 -303
- data/dist/ember-tests.prod.js +141 -244
- data/dist/ember.debug.js +684 -847
- data/dist/ember.min.js +416 -438
- data/dist/ember.prod.js +688 -843
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d85b6e19b02f07d2dae48c38161c7ea10ecb2cc
|
4
|
+
data.tar.gz: 5abe67d6938b0132ef8ea2d1cfc1c7a3e46740d8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ad9804f06f9c92728ee2387041926e39447c5c00974e565e715f94f15ca304ee427d54bae6afce4e2b891808010db35ac81ead7986542c492729856cd7252da4
|
7
|
+
data.tar.gz: 7f633d6f52adc0b262969b47b8547d71f0a279e23e8497c2c5f20ba2d08c3bd252abdc19578626a5851f4c8ac64762b7dd9ac1c6c85955aca451f0fb9ec7a995
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.16.0.beta.1
|
data/dist/ember-runtime.js
CHANGED
@@ -6,7 +6,7 @@
|
|
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.16.0-beta.1
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, Ember;
|
@@ -185,19 +185,17 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
185
185
|
if (options.source) {
|
186
186
|
var expandedFullName = this.registry.expandLocalLookup(fullName, options);
|
187
187
|
// if expandLocalLookup returns falsey, we do not support local lookup
|
188
|
-
if (_features.EMBER_MODULE_UNIFICATION) {
|
189
|
-
if (expandedFullName) {
|
190
|
-
// with ember-module-unification, if expandLocalLookup returns something,
|
191
|
-
// pass it to the resolve without the source
|
192
|
-
normalizedName = expandedFullName;
|
193
|
-
options = {};
|
194
|
-
}
|
195
|
-
} else {
|
188
|
+
if (!_features.EMBER_MODULE_UNIFICATION) {
|
196
189
|
if (!expandedFullName) {
|
197
190
|
return;
|
198
191
|
}
|
199
192
|
|
200
193
|
normalizedName = expandedFullName;
|
194
|
+
} else if (expandedFullName) {
|
195
|
+
// with ember-module-unification, if expandLocalLookup returns something,
|
196
|
+
// pass it to the resolve without the source
|
197
|
+
normalizedName = expandedFullName;
|
198
|
+
options = {};
|
201
199
|
}
|
202
200
|
}
|
203
201
|
|
@@ -208,12 +206,7 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
208
206
|
return cached;
|
209
207
|
}
|
210
208
|
|
211
|
-
var factory =
|
212
|
-
if (_features.EMBER_MODULE_UNIFICATION) {
|
213
|
-
factory = this.registry.resolve(normalizedName, options);
|
214
|
-
} else {
|
215
|
-
factory = this.registry.resolve(normalizedName);
|
216
|
-
}
|
209
|
+
var factory = _features.EMBER_MODULE_UNIFICATION ? this.registry.resolve(normalizedName, options) : this.registry.resolve(normalizedName);
|
217
210
|
|
218
211
|
if (factory === undefined) {
|
219
212
|
return;
|
@@ -277,20 +270,18 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
277
270
|
if (options.source) {
|
278
271
|
var expandedFullName = container.registry.expandLocalLookup(fullName, options);
|
279
272
|
|
280
|
-
if (_features.EMBER_MODULE_UNIFICATION) {
|
281
|
-
if (expandedFullName) {
|
282
|
-
// with ember-module-unification, if expandLocalLookup returns something,
|
283
|
-
// pass it to the resolve without the source
|
284
|
-
fullName = expandedFullName;
|
285
|
-
options = {};
|
286
|
-
}
|
287
|
-
} else {
|
273
|
+
if (!_features.EMBER_MODULE_UNIFICATION) {
|
288
274
|
// if expandLocalLookup returns falsey, we do not support local lookup
|
289
275
|
if (!expandedFullName) {
|
290
276
|
return;
|
291
277
|
}
|
292
278
|
|
293
279
|
fullName = expandedFullName;
|
280
|
+
} else if (expandedFullName) {
|
281
|
+
// with ember-module-unification, if expandLocalLookup returns something,
|
282
|
+
// pass it to the resolve without the source
|
283
|
+
fullName = expandedFullName;
|
284
|
+
options = {};
|
294
285
|
}
|
295
286
|
}
|
296
287
|
|
@@ -332,17 +323,7 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
332
323
|
}
|
333
324
|
|
334
325
|
function instantiateFactory(container, fullName, options) {
|
335
|
-
|
336
|
-
var factoryManager = void 0;
|
337
|
-
if (_features.EMBER_MODULE_UNIFICATION) {
|
338
|
-
if (options && options.source) {
|
339
|
-
factoryManager = container.factoryFor(fullName, options);
|
340
|
-
} else {
|
341
|
-
factoryManager = container.factoryFor(fullName);
|
342
|
-
}
|
343
|
-
} else {
|
344
|
-
factoryManager = container.factoryFor(fullName);
|
345
|
-
}
|
326
|
+
var factoryManager = _features.EMBER_MODULE_UNIFICATION && options && options.source ? container.factoryFor(fullName, options) : container.factoryFor(fullName);
|
346
327
|
|
347
328
|
if (factoryManager === undefined) {
|
348
329
|
return;
|
@@ -862,11 +843,11 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
862
843
|
return injections;
|
863
844
|
},
|
864
845
|
resolverCacheKey: function (name, options) {
|
865
|
-
if (_features.EMBER_MODULE_UNIFICATION) {
|
866
|
-
return options && options.source ? options.source + ':' + name : name;
|
867
|
-
} else {
|
846
|
+
if (!_features.EMBER_MODULE_UNIFICATION) {
|
868
847
|
return name;
|
869
848
|
}
|
849
|
+
|
850
|
+
return options && options.source ? options.source + ':' + name : name;
|
870
851
|
}
|
871
852
|
};
|
872
853
|
|
@@ -955,20 +936,18 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
955
936
|
// and source into the full normalizedName
|
956
937
|
var expandedNormalizedName = registry.expandLocalLookup(normalizedName, options);
|
957
938
|
|
958
|
-
if
|
959
|
-
|
960
|
-
// with ember-module-unification, if expandLocalLookup returns something,
|
961
|
-
// pass it to the resolve without the source
|
962
|
-
normalizedName = expandedNormalizedName;
|
963
|
-
options = {};
|
964
|
-
}
|
965
|
-
} else {
|
966
|
-
// if expandLocalLookup returns falsey, we do not support local lookup
|
939
|
+
// if expandLocalLookup returns falsey, we do not support local lookup
|
940
|
+
if (!_features.EMBER_MODULE_UNIFICATION) {
|
967
941
|
if (!expandedNormalizedName) {
|
968
942
|
return;
|
969
943
|
}
|
970
944
|
|
971
945
|
normalizedName = expandedNormalizedName;
|
946
|
+
} else if (expandedNormalizedName) {
|
947
|
+
// with ember-module-unification, if expandLocalLookup returns something,
|
948
|
+
// pass it to the resolve without the source
|
949
|
+
normalizedName = expandedNormalizedName;
|
950
|
+
options = {};
|
972
951
|
}
|
973
952
|
}
|
974
953
|
|
@@ -1621,46 +1600,6 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
1621
1600
|
|
1622
1601
|
*/
|
1623
1602
|
|
1624
|
-
function indexOf(array, target, method) {
|
1625
|
-
var index = -1;
|
1626
|
-
// hashes are added to the end of the event array
|
1627
|
-
// so it makes sense to start searching at the end
|
1628
|
-
// of the array and search in reverse
|
1629
|
-
for (var i = array.length - 3; i >= 0; i -= 3) {
|
1630
|
-
if (target === array[i] && method === array[i + 1]) {
|
1631
|
-
index = i;
|
1632
|
-
break;
|
1633
|
-
}
|
1634
|
-
}
|
1635
|
-
return index;
|
1636
|
-
}
|
1637
|
-
|
1638
|
-
function accumulateListeners(obj, eventName, otherActions) {
|
1639
|
-
var meta$$1 = exports.peekMeta(obj);
|
1640
|
-
if (!meta$$1) {
|
1641
|
-
return;
|
1642
|
-
}
|
1643
|
-
var actions = meta$$1.matchingListeners(eventName);
|
1644
|
-
if (actions === undefined) {
|
1645
|
-
return;
|
1646
|
-
}
|
1647
|
-
var newActions = [];
|
1648
|
-
|
1649
|
-
for (var i = actions.length - 3; i >= 0; i -= 3) {
|
1650
|
-
var target = actions[i];
|
1651
|
-
var method = actions[i + 1];
|
1652
|
-
var flags = actions[i + 2];
|
1653
|
-
var actionIndex = indexOf(otherActions, target, method);
|
1654
|
-
|
1655
|
-
if (actionIndex === -1) {
|
1656
|
-
otherActions.push(target, method, flags);
|
1657
|
-
newActions.push(target, method, flags);
|
1658
|
-
}
|
1659
|
-
}
|
1660
|
-
|
1661
|
-
return newActions;
|
1662
|
-
}
|
1663
|
-
|
1664
1603
|
/**
|
1665
1604
|
Add an event listener
|
1666
1605
|
|
@@ -1971,7 +1910,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
1971
1910
|
}
|
1972
1911
|
|
1973
1912
|
if (propertyKey === 'content' && meta$$1.isProxy()) {
|
1974
|
-
|
1913
|
+
objectTag.contentDidChange();
|
1975
1914
|
}
|
1976
1915
|
|
1977
1916
|
if (objectTag !== undefined || propertyTag !== undefined) {
|
@@ -1979,14 +1918,14 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
1979
1918
|
}
|
1980
1919
|
}
|
1981
1920
|
|
1982
|
-
var
|
1921
|
+
var backburner = void 0;
|
1983
1922
|
function ensureRunloop() {
|
1984
|
-
if (
|
1985
|
-
|
1923
|
+
if (backburner === undefined) {
|
1924
|
+
backburner = require('ember-metal').run.backburner;
|
1986
1925
|
}
|
1987
1926
|
|
1988
1927
|
if (hasViews()) {
|
1989
|
-
|
1928
|
+
backburner.ensureInstance();
|
1990
1929
|
}
|
1991
1930
|
}
|
1992
1931
|
|
@@ -2021,12 +1960,12 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
2021
1960
|
var observers = this.observers;
|
2022
1961
|
var senderGuid = emberUtils.guidFor(sender);
|
2023
1962
|
var keySet = observerSet[senderGuid];
|
2024
|
-
var index = void 0;
|
2025
1963
|
|
2026
|
-
if (
|
1964
|
+
if (keySet === undefined) {
|
2027
1965
|
observerSet[senderGuid] = keySet = {};
|
2028
1966
|
}
|
2029
|
-
|
1967
|
+
|
1968
|
+
var index = keySet[keyName];
|
2030
1969
|
if (index === undefined) {
|
2031
1970
|
index = observers.push({
|
2032
1971
|
sender: sender,
|
@@ -2041,11 +1980,10 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
2041
1980
|
|
2042
1981
|
ObserverSet.prototype.flush = function flush() {
|
2043
1982
|
var observers = this.observers;
|
2044
|
-
var
|
2045
|
-
observer = void 0,
|
1983
|
+
var observer = void 0,
|
2046
1984
|
sender = void 0;
|
2047
1985
|
this.clear();
|
2048
|
-
for (i = 0; i < observers.length; ++i) {
|
1986
|
+
for (var i = 0; i < observers.length; ++i) {
|
2049
1987
|
observer = observers[i];
|
2050
1988
|
sender = observer.sender;
|
2051
1989
|
if (sender.isDestroying || sender.isDestroyed) {
|
@@ -2180,7 +2118,6 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
2180
2118
|
*/
|
2181
2119
|
function propertyWillChange(obj, keyName, _meta) {
|
2182
2120
|
var meta$$1 = _meta || exports.peekMeta(obj);
|
2183
|
-
|
2184
2121
|
if (meta$$1 && !meta$$1.isInitialized(obj)) {
|
2185
2122
|
return;
|
2186
2123
|
}
|
@@ -2234,11 +2171,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
2234
2171
|
}
|
2235
2172
|
|
2236
2173
|
if (hasMeta && meta$$1.peekWatching(keyName) > 0) {
|
2237
|
-
|
2238
|
-
|
2239
|
-
}
|
2240
|
-
|
2241
|
-
chainsDidChange(obj, keyName, meta$$1, false);
|
2174
|
+
dependentKeysDidChange(obj, keyName, meta$$1);
|
2175
|
+
chainsDidChange(obj, keyName, meta$$1);
|
2242
2176
|
notifyObservers(obj, keyName, meta$$1);
|
2243
2177
|
}
|
2244
2178
|
|
@@ -2262,27 +2196,28 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
2262
2196
|
var DID_SEEN = void 0;
|
2263
2197
|
// called whenever a property is about to change to clear the cache of any dependent keys (and notify those properties of changes, etc...)
|
2264
2198
|
function dependentKeysWillChange(obj, depKey, meta$$1) {
|
2265
|
-
if (meta$$1.isSourceDestroying()) {
|
2199
|
+
if (meta$$1.isSourceDestroying() || !meta$$1.hasDeps(depKey)) {
|
2266
2200
|
return;
|
2267
2201
|
}
|
2268
|
-
|
2269
|
-
|
2270
|
-
var top = !seen;
|
2202
|
+
var seen = WILL_SEEN;
|
2203
|
+
var top = !seen;
|
2271
2204
|
|
2272
|
-
|
2273
|
-
|
2274
|
-
|
2205
|
+
if (top) {
|
2206
|
+
seen = WILL_SEEN = {};
|
2207
|
+
}
|
2275
2208
|
|
2276
|
-
|
2209
|
+
iterDeps(propertyWillChange, obj, depKey, seen, meta$$1);
|
2277
2210
|
|
2278
|
-
|
2279
|
-
|
2280
|
-
}
|
2211
|
+
if (top) {
|
2212
|
+
WILL_SEEN = null;
|
2281
2213
|
}
|
2282
2214
|
}
|
2283
2215
|
|
2284
2216
|
// called whenever a property has just changed to update dependent keys
|
2285
2217
|
function dependentKeysDidChange(obj, depKey, meta$$1) {
|
2218
|
+
if (meta$$1.isSourceDestroying() || !meta$$1.hasDeps(depKey)) {
|
2219
|
+
return;
|
2220
|
+
}
|
2286
2221
|
var seen = DID_SEEN;
|
2287
2222
|
var top = !seen;
|
2288
2223
|
|
@@ -2331,21 +2266,21 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
2331
2266
|
|
2332
2267
|
function chainsWillChange(obj, keyName, meta$$1) {
|
2333
2268
|
var chainWatchers = meta$$1.readableChainWatchers();
|
2334
|
-
if (chainWatchers) {
|
2269
|
+
if (chainWatchers !== undefined) {
|
2335
2270
|
chainWatchers.notify(keyName, false, propertyWillChange);
|
2336
2271
|
}
|
2337
2272
|
}
|
2338
2273
|
|
2339
2274
|
function chainsDidChange(obj, keyName, meta$$1) {
|
2340
2275
|
var chainWatchers = meta$$1.readableChainWatchers();
|
2341
|
-
if (chainWatchers) {
|
2276
|
+
if (chainWatchers !== undefined) {
|
2342
2277
|
chainWatchers.notify(keyName, true, propertyDidChange);
|
2343
2278
|
}
|
2344
2279
|
}
|
2345
2280
|
|
2346
2281
|
function overrideChains(obj, keyName, meta$$1) {
|
2347
2282
|
var chainWatchers = meta$$1.readableChainWatchers();
|
2348
|
-
if (chainWatchers) {
|
2283
|
+
if (chainWatchers !== undefined) {
|
2349
2284
|
chainWatchers.revalidate(keyName);
|
2350
2285
|
}
|
2351
2286
|
}
|
@@ -2392,10 +2327,46 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
2392
2327
|
try {
|
2393
2328
|
callback.call(binding);
|
2394
2329
|
} finally {
|
2395
|
-
endPropertyChanges
|
2330
|
+
endPropertyChanges();
|
2396
2331
|
}
|
2397
2332
|
}
|
2398
2333
|
|
2334
|
+
function indexOf(array, target, method) {
|
2335
|
+
var index = -1;
|
2336
|
+
// hashes are added to the end of the event array
|
2337
|
+
// so it makes sense to start searching at the end
|
2338
|
+
// of the array and search in reverse
|
2339
|
+
for (var i = array.length - 3; i >= 0; i -= 3) {
|
2340
|
+
if (target === array[i] && method === array[i + 1]) {
|
2341
|
+
index = i;
|
2342
|
+
break;
|
2343
|
+
}
|
2344
|
+
}
|
2345
|
+
return index;
|
2346
|
+
}
|
2347
|
+
|
2348
|
+
function accumulateListeners(obj, eventName, otherActions, meta$$1) {
|
2349
|
+
var actions = meta$$1.matchingListeners(eventName);
|
2350
|
+
if (actions === undefined) {
|
2351
|
+
return;
|
2352
|
+
}
|
2353
|
+
var newActions = [];
|
2354
|
+
|
2355
|
+
for (var i = actions.length - 3; i >= 0; i -= 3) {
|
2356
|
+
var target = actions[i];
|
2357
|
+
var method = actions[i + 1];
|
2358
|
+
var flags = actions[i + 2];
|
2359
|
+
var actionIndex = indexOf(otherActions, target, method);
|
2360
|
+
|
2361
|
+
if (actionIndex === -1) {
|
2362
|
+
otherActions.push(target, method, flags);
|
2363
|
+
newActions.push(target, method, flags);
|
2364
|
+
}
|
2365
|
+
}
|
2366
|
+
|
2367
|
+
return newActions;
|
2368
|
+
}
|
2369
|
+
|
2399
2370
|
function notifyBeforeObservers(obj, keyName, meta$$1) {
|
2400
2371
|
if (meta$$1.isSourceDestroying()) {
|
2401
2372
|
return;
|
@@ -2404,13 +2375,11 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
2404
2375
|
var eventName = keyName + ':before';
|
2405
2376
|
var listeners = void 0,
|
2406
2377
|
added = void 0;
|
2407
|
-
if (deferred) {
|
2378
|
+
if (deferred > 0) {
|
2408
2379
|
listeners = beforeObserverSet.add(obj, keyName, eventName);
|
2409
|
-
added = accumulateListeners(obj, eventName, listeners);
|
2410
|
-
sendEvent(obj, eventName, [obj, keyName], added);
|
2411
|
-
} else {
|
2412
|
-
sendEvent(obj, eventName, [obj, keyName]);
|
2380
|
+
added = accumulateListeners(obj, eventName, listeners, meta$$1);
|
2413
2381
|
}
|
2382
|
+
sendEvent(obj, eventName, [obj, keyName], added);
|
2414
2383
|
}
|
2415
2384
|
|
2416
2385
|
function notifyObservers(obj, keyName, meta$$1) {
|
@@ -2420,9 +2389,9 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
2420
2389
|
|
2421
2390
|
var eventName = keyName + ':change';
|
2422
2391
|
var listeners = void 0;
|
2423
|
-
if (deferred) {
|
2392
|
+
if (deferred > 0) {
|
2424
2393
|
listeners = observerSet.add(obj, keyName, eventName);
|
2425
|
-
accumulateListeners(obj, eventName, listeners);
|
2394
|
+
accumulateListeners(obj, eventName, listeners, meta$$1);
|
2426
2395
|
} else {
|
2427
2396
|
sendEvent(obj, eventName, [obj, keyName]);
|
2428
2397
|
}
|
@@ -2484,14 +2453,19 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
2484
2453
|
function DEFAULT_GETTER_FUNCTION(name) {
|
2485
2454
|
return function GETTER_FUNCTION() {
|
2486
2455
|
var meta$$1 = exports.peekMeta(this);
|
2487
|
-
|
2456
|
+
if (meta$$1 !== null && meta$$1 !== undefined) {
|
2457
|
+
return meta$$1.peekValues(name);
|
2458
|
+
}
|
2488
2459
|
};
|
2489
2460
|
}
|
2490
2461
|
|
2491
2462
|
function INHERITING_GETTER_FUNCTION(name) {
|
2492
2463
|
function IGETTER_FUNCTION() {
|
2493
2464
|
var meta$$1 = exports.peekMeta(this);
|
2494
|
-
var val =
|
2465
|
+
var val = void 0;
|
2466
|
+
if (meta$$1 !== null && meta$$1 !== undefined) {
|
2467
|
+
val = meta$$1.readInheritedValue('values', name);
|
2468
|
+
}
|
2495
2469
|
|
2496
2470
|
if (val === UNDEFINED) {
|
2497
2471
|
var proto = Object.getPrototypeOf(this);
|
@@ -2551,7 +2525,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
2551
2525
|
become the explicit value of this property.
|
2552
2526
|
*/
|
2553
2527
|
function defineProperty(obj, keyName, desc, data, meta$$1) {
|
2554
|
-
if (
|
2528
|
+
if (meta$$1 === null || meta$$1 === undefined) {
|
2555
2529
|
meta$$1 = meta(obj);
|
2556
2530
|
}
|
2557
2531
|
|
@@ -2794,13 +2768,6 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
2794
2768
|
}
|
2795
2769
|
}
|
2796
2770
|
|
2797
|
-
// get the chains for the current object. If the current object has
|
2798
|
-
// chains inherited from the proto they will be cloned and reconfigured for
|
2799
|
-
// the current object.
|
2800
|
-
function chainsFor(obj, meta$$1) {
|
2801
|
-
return (meta$$1 || meta(obj)).writableChains(makeChainNode);
|
2802
|
-
}
|
2803
|
-
|
2804
2771
|
function makeChainNode(obj) {
|
2805
2772
|
return new ChainNode(null, null, obj);
|
2806
2773
|
}
|
@@ -2815,7 +2782,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
2815
2782
|
m.writeWatching(keyPath, counter + 1);
|
2816
2783
|
if (counter === 0) {
|
2817
2784
|
// activate watching first time
|
2818
|
-
|
2785
|
+
m.writableChains(makeChainNode).add(keyPath);
|
2819
2786
|
}
|
2820
2787
|
}
|
2821
2788
|
|
@@ -2831,7 +2798,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
2831
2798
|
|
2832
2799
|
if (counter === 1) {
|
2833
2800
|
m.writeWatching(keyPath, 0);
|
2834
|
-
|
2801
|
+
m.readableChains().remove(keyPath);
|
2835
2802
|
} else if (counter > 1) {
|
2836
2803
|
m.writeWatching(keyPath, counter - 1);
|
2837
2804
|
}
|
@@ -3030,14 +2997,12 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
3030
2997
|
ChainNode.prototype.copy = function copy(obj) {
|
3031
2998
|
var ret = new ChainNode(null, null, obj);
|
3032
2999
|
var paths = this._paths;
|
3033
|
-
var path = void 0;
|
3034
3000
|
if (paths !== undefined) {
|
3001
|
+
var path = void 0;
|
3035
3002
|
for (path in paths) {
|
3036
|
-
|
3037
|
-
|
3038
|
-
continue;
|
3003
|
+
if (paths[path] > 0) {
|
3004
|
+
ret.add(path);
|
3039
3005
|
}
|
3040
|
-
ret.add(path);
|
3041
3006
|
}
|
3042
3007
|
}
|
3043
3008
|
return ret;
|
@@ -3137,8 +3102,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
3137
3102
|
|
3138
3103
|
// then notify chains...
|
3139
3104
|
var chains = this._chains;
|
3140
|
-
var node = void 0;
|
3141
3105
|
if (chains !== undefined) {
|
3106
|
+
var node = void 0;
|
3142
3107
|
for (var key in chains) {
|
3143
3108
|
node = chains[key];
|
3144
3109
|
if (node !== undefined) {
|
@@ -3159,10 +3124,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
3159
3124
|
|
3160
3125
|
if (this._parent) {
|
3161
3126
|
this._parent.populateAffected(path, depth + 1, affected);
|
3162
|
-
} else {
|
3163
|
-
|
3164
|
-
affected.push(this.value(), path);
|
3165
|
-
}
|
3127
|
+
} else if (depth > 1) {
|
3128
|
+
affected.push(this.value(), path);
|
3166
3129
|
}
|
3167
3130
|
};
|
3168
3131
|
|
@@ -3289,14 +3252,6 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
3289
3252
|
return this.proto !== obj;
|
3290
3253
|
};
|
3291
3254
|
|
3292
|
-
Meta.prototype.setTag = function setTag(tag) {
|
3293
|
-
this._tag = tag;
|
3294
|
-
};
|
3295
|
-
|
3296
|
-
Meta.prototype.getTag = function getTag(tag) {
|
3297
|
-
return this._tag;
|
3298
|
-
};
|
3299
|
-
|
3300
3255
|
Meta.prototype.destroy = function destroy() {
|
3301
3256
|
if (this.isMetaDestroyed()) {
|
3302
3257
|
return;
|
@@ -3307,14 +3262,14 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
3307
3262
|
key = void 0,
|
3308
3263
|
nodeObject = void 0;
|
3309
3264
|
var node = this.readableChains();
|
3310
|
-
if (node) {
|
3265
|
+
if (node !== undefined) {
|
3311
3266
|
NODE_STACK.push(node);
|
3312
3267
|
// process tree
|
3313
3268
|
while (NODE_STACK.length > 0) {
|
3314
3269
|
node = NODE_STACK.pop();
|
3315
3270
|
// push children
|
3316
3271
|
nodes = node._chains;
|
3317
|
-
if (nodes) {
|
3272
|
+
if (nodes !== undefined) {
|
3318
3273
|
for (key in nodes) {
|
3319
3274
|
if (nodes[key] !== undefined) {
|
3320
3275
|
NODE_STACK.push(nodes[key]);
|
@@ -3325,7 +3280,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
3325
3280
|
// remove chainWatcher in node object
|
3326
3281
|
if (node._watching) {
|
3327
3282
|
nodeObject = node._object;
|
3328
|
-
if (nodeObject) {
|
3283
|
+
if (nodeObject !== undefined) {
|
3329
3284
|
var foreignMeta = exports.peekMeta(nodeObject);
|
3330
3285
|
// avoid cleaning up chain watchers when both current and
|
3331
3286
|
// foreign objects are being destroyed
|
@@ -3538,11 +3493,12 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
3538
3493
|
|
3539
3494
|
var ret = this._chains;
|
3540
3495
|
if (ret === undefined) {
|
3541
|
-
if (this.parent) {
|
3542
|
-
ret =
|
3496
|
+
if (this.parent === undefined) {
|
3497
|
+
ret = create(this.source);
|
3543
3498
|
} else {
|
3544
|
-
ret = this.
|
3499
|
+
ret = this.parent.writableChains(create).copy(this.source);
|
3545
3500
|
}
|
3501
|
+
this._chains = ret;
|
3546
3502
|
}
|
3547
3503
|
return ret;
|
3548
3504
|
};
|
@@ -3552,7 +3508,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
3552
3508
|
};
|
3553
3509
|
|
3554
3510
|
Meta.prototype.writeWatching = function writeWatching(subkey, value) {
|
3555
|
-
true && !!this.isMetaDestroyed() && emberDebug.assert('Cannot update watchers for `
|
3511
|
+
true && !!this.isMetaDestroyed() && emberDebug.assert('Cannot update watchers for `' + subkey + '` on `' + emberUtils.toString(this.source) + '` after it has been destroyed.', !this.isMetaDestroyed());
|
3556
3512
|
|
3557
3513
|
var map = this._getOrCreateOwnMap('_watching');
|
3558
3514
|
map[subkey] = value;
|
@@ -3755,7 +3711,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
3755
3711
|
|
3756
3712
|
pointer = getPrototypeOf(pointer);
|
3757
3713
|
{
|
3758
|
-
counters.
|
3714
|
+
counters.peekPrototypeWalks++;
|
3759
3715
|
}
|
3760
3716
|
}
|
3761
3717
|
};
|
@@ -3905,47 +3861,29 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
3905
3861
|
return DefaultStore;
|
3906
3862
|
}();
|
3907
3863
|
|
3908
|
-
var IS_GLOBAL = /^[A-Z$]/;
|
3909
3864
|
var IS_GLOBAL_PATH = /^[A-Z$].*[\.]/;
|
3910
|
-
var HAS_THIS = 'this.';
|
3911
3865
|
|
3912
|
-
var isGlobalCache = new Cache(1000, function (key) {
|
3913
|
-
return IS_GLOBAL.test(key);
|
3914
|
-
});
|
3915
3866
|
var isGlobalPathCache = new Cache(1000, function (key) {
|
3916
3867
|
return IS_GLOBAL_PATH.test(key);
|
3917
3868
|
});
|
3918
|
-
var hasThisCache = new Cache(1000, function (key) {
|
3919
|
-
return key.lastIndexOf(HAS_THIS, 0) === 0;
|
3920
|
-
});
|
3921
3869
|
var firstDotIndexCache = new Cache(1000, function (key) {
|
3922
3870
|
return key.indexOf('.');
|
3923
3871
|
});
|
3924
3872
|
|
3925
3873
|
var firstKeyCache = new Cache(1000, function (path) {
|
3926
3874
|
var index = firstDotIndexCache.get(path);
|
3927
|
-
|
3928
|
-
return path;
|
3929
|
-
} else {
|
3930
|
-
return path.slice(0, index);
|
3931
|
-
}
|
3875
|
+
return index === -1 ? path : path.slice(0, index);
|
3932
3876
|
});
|
3933
3877
|
|
3934
3878
|
var tailPathCache = new Cache(1000, function (path) {
|
3935
3879
|
var index = firstDotIndexCache.get(path);
|
3936
|
-
|
3937
|
-
return path.slice(index + 1);
|
3938
|
-
}
|
3880
|
+
return index === -1 ? undefined : path.slice(index + 1);
|
3939
3881
|
});
|
3940
3882
|
|
3941
3883
|
function isGlobalPath(path) {
|
3942
3884
|
return isGlobalPathCache.get(path);
|
3943
3885
|
}
|
3944
3886
|
|
3945
|
-
function hasThis(path) {
|
3946
|
-
return hasThisCache.get(path);
|
3947
|
-
}
|
3948
|
-
|
3949
3887
|
function isPath(path) {
|
3950
3888
|
return firstDotIndexCache.get(path) !== -1;
|
3951
3889
|
}
|
@@ -4008,7 +3946,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
4008
3946
|
true && !(arguments.length === 2) && emberDebug.assert('Get must be called with two arguments; an object and a property key', arguments.length === 2);
|
4009
3947
|
true && !(obj !== undefined && obj !== null) && emberDebug.assert('Cannot call get with \'' + keyName + '\' on an undefined object.', obj !== undefined && obj !== null);
|
4010
3948
|
true && !(typeof keyName === 'string') && emberDebug.assert('The key provided to get must be a string, you passed ' + keyName, typeof keyName === 'string');
|
4011
|
-
true &&
|
3949
|
+
true && !(keyName.lastIndexOf('this.', 0) !== 0) && emberDebug.assert('\'this\' in paths is not supported', keyName.lastIndexOf('this.', 0) !== 0);
|
4012
3950
|
true && !(keyName !== '') && emberDebug.assert('Cannot call `Ember.get` with an empty string', keyName !== '');
|
4013
3951
|
|
4014
3952
|
var value = obj[keyName];
|
@@ -4018,7 +3956,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
4018
3956
|
return value.get(obj, keyName);
|
4019
3957
|
} else if (isPath(keyName)) {
|
4020
3958
|
return _getPath(obj, keyName);
|
4021
|
-
} else if (value === undefined && 'object' === typeof obj && !(keyName in obj) &&
|
3959
|
+
} else if (value === undefined && 'object' === typeof obj && !(keyName in obj) && typeof obj.unknownProperty === 'function') {
|
4022
3960
|
return obj.unknownProperty(keyName);
|
4023
3961
|
} else {
|
4024
3962
|
return value;
|
@@ -4095,7 +4033,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
4095
4033
|
true && !(arguments.length === 3 || arguments.length === 4) && emberDebug.assert('Set must be called with three or four arguments; an object, a property key, a value and tolerant true/false', arguments.length === 3 || arguments.length === 4);
|
4096
4034
|
true && !(obj && typeof obj === 'object' || typeof obj === 'function') && emberDebug.assert('Cannot call set with \'' + keyName + '\' on an undefined object.', obj && typeof obj === 'object' || typeof obj === 'function');
|
4097
4035
|
true && !(typeof keyName === 'string') && emberDebug.assert('The key provided to set must be a string, you passed ' + keyName, typeof keyName === 'string');
|
4098
|
-
true &&
|
4036
|
+
true && !(keyName.lastIndexOf('this.', 0) !== 0) && emberDebug.assert('\'this\' in paths is not supported', keyName.lastIndexOf('this.', 0) !== 0);
|
4099
4037
|
true && !!obj.isDestroyed && emberDebug.assert('calling set on destroyed object: ' + emberUtils.toString(obj) + '.' + keyName + ' = ' + emberUtils.toString(value), !obj.isDestroyed);
|
4100
4038
|
|
4101
4039
|
if (isPath(keyName)) {
|
@@ -4108,10 +4046,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
4108
4046
|
if (isDescriptor) {
|
4109
4047
|
/* computed property */
|
4110
4048
|
currentValue.set(obj, keyName, value);
|
4111
|
-
} else if (
|
4049
|
+
} else if (currentValue === undefined && 'object' === typeof obj && !(keyName in obj) && typeof obj.setUnknownProperty === 'function') {
|
4112
4050
|
/* unknown property */
|
4113
|
-
true && !(typeof obj.setUnknownProperty === 'function') && emberDebug.assert('setUnknownProperty must be a function', typeof obj.setUnknownProperty === 'function');
|
4114
|
-
|
4115
4051
|
obj.setUnknownProperty(keyName, value);
|
4116
4052
|
} else if (currentValue === value) {/* no change */
|
4117
4053
|
} else {
|
@@ -4151,31 +4087,20 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
4151
4087
|
}
|
4152
4088
|
|
4153
4089
|
function setPath(root, path, value, tolerant) {
|
4154
|
-
|
4155
|
-
var keyName =
|
4090
|
+
var parts = path.split('.');
|
4091
|
+
var keyName = parts.pop();
|
4156
4092
|
|
4157
|
-
|
4158
|
-
path = path === keyName ? keyName : path.slice(0, path.length - (keyName.length + 1));
|
4093
|
+
true && !(keyName.trim().length > 0) && emberDebug.assert('Property set failed: You passed an empty path', keyName.trim().length > 0);
|
4159
4094
|
|
4160
|
-
|
4161
|
-
// get the root
|
4162
|
-
if (path !== 'this') {
|
4163
|
-
root = _getPath(root, path);
|
4164
|
-
}
|
4095
|
+
var newPath = parts.join('.');
|
4165
4096
|
|
4166
|
-
|
4167
|
-
throw new emberDebug.Error('Property set failed: You passed an empty path');
|
4168
|
-
}
|
4097
|
+
var newRoot = _getPath(root, newPath);
|
4169
4098
|
|
4170
|
-
if (
|
4171
|
-
|
4172
|
-
|
4173
|
-
|
4174
|
-
throw new emberDebug.Error('Property set failed: object in path "' + path + '" could not be found or was destroyed.');
|
4175
|
-
}
|
4099
|
+
if (newRoot) {
|
4100
|
+
return set(newRoot, keyName, value);
|
4101
|
+
} else if (!tolerant) {
|
4102
|
+
throw new emberDebug.Error('Property set failed: object in path "' + newPath + '" could not be found or was destroyed.');
|
4176
4103
|
}
|
4177
|
-
|
4178
|
-
return set(root, keyName, value);
|
4179
4104
|
}
|
4180
4105
|
|
4181
4106
|
/**
|
@@ -4225,7 +4150,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
4225
4150
|
|
4226
4151
|
@method expandProperties
|
4227
4152
|
@for Ember
|
4228
|
-
@
|
4153
|
+
@public
|
4229
4154
|
@param {String} pattern The property pattern to expand.
|
4230
4155
|
@param {Function} callback The callback to invoke. It is invoked once per
|
4231
4156
|
expansion, and is passed the expansion.
|
@@ -4268,7 +4193,6 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
4268
4193
|
/**
|
4269
4194
|
@module ember-metal
|
4270
4195
|
*/
|
4271
|
-
|
4272
4196
|
/**
|
4273
4197
|
Starts watching a property on an object. Whenever the property changes,
|
4274
4198
|
invokes `Ember.propertyWillChange` and `Ember.propertyDidChange`. This is the
|
@@ -4283,19 +4207,15 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
4283
4207
|
@param {String} _keyPath
|
4284
4208
|
*/
|
4285
4209
|
function watch(obj, _keyPath, m) {
|
4286
|
-
if (
|
4287
|
-
watchKey(obj, _keyPath, m);
|
4288
|
-
} else {
|
4210
|
+
if (isPath(_keyPath)) {
|
4289
4211
|
watchPath(obj, _keyPath, m);
|
4212
|
+
} else {
|
4213
|
+
watchKey(obj, _keyPath, m);
|
4290
4214
|
}
|
4291
4215
|
}
|
4292
4216
|
|
4293
4217
|
function isWatching(obj, key) {
|
4294
|
-
|
4295
|
-
return false;
|
4296
|
-
}
|
4297
|
-
var meta$$1 = exports.peekMeta(obj);
|
4298
|
-
return (meta$$1 && meta$$1.peekWatching(key)) > 0;
|
4218
|
+
return watcherCount(obj, key) > 0;
|
4299
4219
|
}
|
4300
4220
|
|
4301
4221
|
function watcherCount(obj, key) {
|
@@ -4304,27 +4224,13 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
4304
4224
|
}
|
4305
4225
|
|
4306
4226
|
function unwatch(obj, _keyPath, m) {
|
4307
|
-
if (
|
4308
|
-
unwatchKey(obj, _keyPath, m);
|
4309
|
-
} else {
|
4227
|
+
if (isPath(_keyPath)) {
|
4310
4228
|
unwatchPath(obj, _keyPath, m);
|
4229
|
+
} else {
|
4230
|
+
unwatchKey(obj, _keyPath, m);
|
4311
4231
|
}
|
4312
4232
|
}
|
4313
4233
|
|
4314
|
-
/**
|
4315
|
-
Tears down the meta on an object so that it can be garbage collected.
|
4316
|
-
Multiple calls will have no effect.
|
4317
|
-
|
4318
|
-
@method destroy
|
4319
|
-
@for Ember
|
4320
|
-
@param {Object} obj the object to destroy
|
4321
|
-
@return {void}
|
4322
|
-
@private
|
4323
|
-
*/
|
4324
|
-
function destroy(obj) {
|
4325
|
-
deleteMeta(obj);
|
4326
|
-
}
|
4327
|
-
|
4328
4234
|
/**
|
4329
4235
|
@module ember
|
4330
4236
|
@submodule ember-metal
|
@@ -4337,15 +4243,13 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
4337
4243
|
function addDependentKeys(desc, obj, keyName, meta) {
|
4338
4244
|
// the descriptor has a list of dependent keys, so
|
4339
4245
|
// add all of its dependent keys.
|
4340
|
-
var idx = void 0,
|
4341
|
-
depKey = void 0;
|
4342
4246
|
var depKeys = desc._dependentKeys;
|
4343
|
-
if (
|
4247
|
+
if (depKeys === null || depKeys === undefined) {
|
4344
4248
|
return;
|
4345
4249
|
}
|
4346
4250
|
|
4347
|
-
for (idx = 0; idx < depKeys.length; idx++) {
|
4348
|
-
depKey = depKeys[idx];
|
4251
|
+
for (var idx = 0; idx < depKeys.length; idx++) {
|
4252
|
+
var depKey = depKeys[idx];
|
4349
4253
|
// Increment the number of times depKey depends on keyName.
|
4350
4254
|
meta.writeDeps(depKey, keyName, (meta.peekDeps(depKey, keyName) || 0) + 1);
|
4351
4255
|
// Watch the depKey
|
@@ -4357,7 +4261,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
4357
4261
|
// the descriptor has a list of dependent keys, so
|
4358
4262
|
// remove all of its dependent keys.
|
4359
4263
|
var depKeys = desc._dependentKeys;
|
4360
|
-
if (
|
4264
|
+
if (depKeys === null || depKeys === undefined) {
|
4361
4265
|
return;
|
4362
4266
|
}
|
4363
4267
|
|
@@ -5361,12 +5265,6 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
5361
5265
|
};
|
5362
5266
|
|
5363
5267
|
var onerror = void 0;
|
5364
|
-
var onErrorTarget = {
|
5365
|
-
get onerror() {
|
5366
|
-
return dispatchOverride || onerror;
|
5367
|
-
}
|
5368
|
-
};
|
5369
|
-
|
5370
5268
|
// Ember.onerror getter
|
5371
5269
|
function getOnerror() {
|
5372
5270
|
return onerror;
|
@@ -5425,113 +5323,122 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
5425
5323
|
* practice, most use cases satisfy this limitation which is why it is included
|
5426
5324
|
* in ember-metal.
|
5427
5325
|
*/
|
5428
|
-
function
|
5429
|
-
|
5430
|
-
|
5431
|
-
}
|
5326
|
+
var WeakMapPolyfill = function () {
|
5327
|
+
function WeakMapPolyfill(iterable) {
|
5328
|
+
emberBabel.classCallCheck(this, WeakMapPolyfill);
|
5432
5329
|
|
5433
|
-
|
5330
|
+
this._id = emberUtils.GUID_KEY + id++;
|
5434
5331
|
|
5435
|
-
|
5436
|
-
|
5437
|
-
|
5438
|
-
|
5439
|
-
|
5440
|
-
|
5441
|
-
|
5332
|
+
if (iterable === null || iterable === undefined) {
|
5333
|
+
return;
|
5334
|
+
} else if (Array.isArray(iterable)) {
|
5335
|
+
for (var i = 0; i < iterable.length; i++) {
|
5336
|
+
var _iterable$i = iterable[i],
|
5337
|
+
key = _iterable$i[0],
|
5338
|
+
value = _iterable$i[1];
|
5442
5339
|
|
5443
|
-
|
5340
|
+
this.set(key, value);
|
5341
|
+
}
|
5342
|
+
} else {
|
5343
|
+
throw new TypeError('The weak map constructor polyfill only supports an array argument');
|
5444
5344
|
}
|
5445
|
-
} else {
|
5446
|
-
throw new TypeError('The weak map constructor polyfill only supports an array argument');
|
5447
5345
|
}
|
5448
|
-
}
|
5449
5346
|
|
5450
|
-
|
5451
|
-
|
5452
|
-
|
5453
|
-
|
5454
|
-
|
5455
|
-
WeakMap$1.prototype.get = function (obj) {
|
5456
|
-
if (!isObject$1(obj)) {
|
5457
|
-
return undefined;
|
5458
|
-
}
|
5347
|
+
/*
|
5348
|
+
* @method get
|
5349
|
+
* @param key {Object | Function}
|
5350
|
+
* @return {Any} stored value
|
5351
|
+
*/
|
5459
5352
|
|
5460
|
-
|
5461
|
-
|
5462
|
-
|
5463
|
-
|
5464
|
-
|
5465
|
-
|
5353
|
+
WeakMapPolyfill.prototype.get = function get(obj) {
|
5354
|
+
if (!isObject$1(obj)) {
|
5355
|
+
return undefined;
|
5356
|
+
}
|
5357
|
+
|
5358
|
+
var meta$$1 = exports.peekMeta(obj);
|
5359
|
+
if (meta$$1) {
|
5360
|
+
var map = meta$$1.readableWeak();
|
5361
|
+
if (map !== undefined) {
|
5362
|
+
var val = map[this._id];
|
5363
|
+
if (val === UNDEFINED) {
|
5364
|
+
return undefined;
|
5365
|
+
}
|
5366
|
+
return val;
|
5466
5367
|
}
|
5368
|
+
}
|
5369
|
+
};
|
5370
|
+
|
5371
|
+
/*
|
5372
|
+
* @method set
|
5373
|
+
* @param key {Object | Function}
|
5374
|
+
* @param value {Any}
|
5375
|
+
* @return {WeakMap} the weak map
|
5376
|
+
*/
|
5467
5377
|
|
5468
|
-
|
5378
|
+
WeakMapPolyfill.prototype.set = function set(obj, value) {
|
5379
|
+
if (!isObject$1(obj)) {
|
5380
|
+
throw new TypeError('Invalid value used as weak map key');
|
5469
5381
|
}
|
5470
|
-
}
|
5471
|
-
};
|
5472
5382
|
|
5473
|
-
|
5474
|
-
|
5475
|
-
|
5476
|
-
* @param value {Any}
|
5477
|
-
* @return {WeakMap} the weak map
|
5478
|
-
*/
|
5479
|
-
WeakMap$1.prototype.set = function (obj, value) {
|
5480
|
-
if (!isObject$1(obj)) {
|
5481
|
-
throw new TypeError('Invalid value used as weak map key');
|
5482
|
-
}
|
5383
|
+
if (value === undefined) {
|
5384
|
+
value = UNDEFINED;
|
5385
|
+
}
|
5483
5386
|
|
5484
|
-
|
5485
|
-
value = UNDEFINED;
|
5486
|
-
}
|
5387
|
+
meta(obj).writableWeak()[this._id] = value;
|
5487
5388
|
|
5488
|
-
|
5389
|
+
return this;
|
5390
|
+
};
|
5489
5391
|
|
5490
|
-
|
5491
|
-
|
5392
|
+
/*
|
5393
|
+
* @method has
|
5394
|
+
* @param key {Object | Function}
|
5395
|
+
* @return {boolean} if the key exists
|
5396
|
+
*/
|
5397
|
+
|
5398
|
+
WeakMapPolyfill.prototype.has = function has(obj) {
|
5399
|
+
if (!isObject$1(obj)) {
|
5400
|
+
return false;
|
5401
|
+
}
|
5402
|
+
|
5403
|
+
var meta$$1 = exports.peekMeta(obj);
|
5404
|
+
if (meta$$1) {
|
5405
|
+
var map = meta$$1.readableWeak();
|
5406
|
+
if (map !== undefined) {
|
5407
|
+
return map[this._id] !== undefined;
|
5408
|
+
}
|
5409
|
+
}
|
5492
5410
|
|
5493
|
-
/*
|
5494
|
-
* @method has
|
5495
|
-
* @param key {Object | Function}
|
5496
|
-
* @return {boolean} if the key exists
|
5497
|
-
*/
|
5498
|
-
WeakMap$1.prototype.has = function (obj) {
|
5499
|
-
if (!isObject$1(obj)) {
|
5500
5411
|
return false;
|
5501
|
-
}
|
5412
|
+
};
|
5502
5413
|
|
5503
|
-
|
5504
|
-
|
5505
|
-
|
5506
|
-
|
5507
|
-
|
5414
|
+
/*
|
5415
|
+
* @method delete
|
5416
|
+
* @param key {Object | Function}
|
5417
|
+
* @return {boolean} if the key was deleted
|
5418
|
+
*/
|
5419
|
+
|
5420
|
+
WeakMapPolyfill.prototype.delete = function _delete(obj) {
|
5421
|
+
if (this.has(obj)) {
|
5422
|
+
delete exports.peekMeta(obj).writableWeak()[this._id];
|
5423
|
+
return true;
|
5424
|
+
} else {
|
5425
|
+
return false;
|
5508
5426
|
}
|
5509
|
-
}
|
5427
|
+
};
|
5510
5428
|
|
5511
|
-
|
5512
|
-
|
5429
|
+
/*
|
5430
|
+
* @method toString
|
5431
|
+
* @return {String}
|
5432
|
+
*/
|
5513
5433
|
|
5514
|
-
|
5515
|
-
|
5516
|
-
|
5517
|
-
* @return {boolean} if the key was deleted
|
5518
|
-
*/
|
5519
|
-
WeakMap$1.prototype.delete = function (obj) {
|
5520
|
-
if (this.has(obj)) {
|
5521
|
-
delete meta(obj).writableWeak()[this._id];
|
5522
|
-
return true;
|
5523
|
-
} else {
|
5524
|
-
return false;
|
5525
|
-
}
|
5526
|
-
};
|
5434
|
+
WeakMapPolyfill.prototype.toString = function toString$$1() {
|
5435
|
+
return '[object WeakMap]';
|
5436
|
+
};
|
5527
5437
|
|
5528
|
-
|
5529
|
-
|
5530
|
-
|
5531
|
-
|
5532
|
-
WeakMap$1.prototype.toString = function () {
|
5533
|
-
return '[object WeakMap]';
|
5534
|
-
};
|
5438
|
+
return WeakMapPolyfill;
|
5439
|
+
}();
|
5440
|
+
|
5441
|
+
var weak_map = emberUtils.HAS_NATIVE_WEAKMAP ? WeakMap : WeakMapPolyfill;
|
5535
5442
|
|
5536
5443
|
/**
|
5537
5444
|
Returns true if the passed value is null or undefined. This avoids errors
|
@@ -5679,14 +5586,23 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
5679
5586
|
}
|
5680
5587
|
|
5681
5588
|
function onBegin(current) {
|
5682
|
-
run
|
5589
|
+
run.currentRunLoop = current;
|
5683
5590
|
}
|
5684
5591
|
|
5685
5592
|
function onEnd(current, next) {
|
5686
|
-
run
|
5593
|
+
run.currentRunLoop = next;
|
5687
5594
|
}
|
5688
5595
|
|
5689
|
-
var
|
5596
|
+
var onErrorTarget = {
|
5597
|
+
get onerror() {
|
5598
|
+
return dispatchError;
|
5599
|
+
},
|
5600
|
+
set onerror(handler) {
|
5601
|
+
return setOnerror(handler);
|
5602
|
+
}
|
5603
|
+
};
|
5604
|
+
|
5605
|
+
var backburner$1 = new Backburner(['sync', 'actions', 'destroy'], {
|
5690
5606
|
GUID_KEY: emberUtils.GUID_KEY,
|
5691
5607
|
sync: {
|
5692
5608
|
before: beginPropertyChanges,
|
@@ -5731,8 +5647,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
5731
5647
|
@return {Object} return value from invoking the passed function.
|
5732
5648
|
@public
|
5733
5649
|
*/
|
5734
|
-
function run
|
5735
|
-
return backburner.run.apply(backburner, arguments);
|
5650
|
+
function run() {
|
5651
|
+
return backburner$1.run.apply(backburner$1, arguments);
|
5736
5652
|
}
|
5737
5653
|
|
5738
5654
|
/**
|
@@ -5773,8 +5689,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
5773
5689
|
when called within an existing loop, no return value is possible.
|
5774
5690
|
@public
|
5775
5691
|
*/
|
5776
|
-
run
|
5777
|
-
return backburner.join.apply(backburner, arguments);
|
5692
|
+
run.join = function () {
|
5693
|
+
return backburner$1.join.apply(backburner$1, arguments);
|
5778
5694
|
};
|
5779
5695
|
|
5780
5696
|
/**
|
@@ -5827,7 +5743,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
5827
5743
|
@since 1.4.0
|
5828
5744
|
@public
|
5829
5745
|
*/
|
5830
|
-
run
|
5746
|
+
run.bind = function () {
|
5831
5747
|
for (var _len = arguments.length, curried = Array(_len), _key = 0; _key < _len; _key++) {
|
5832
5748
|
curried[_key] = arguments[_key];
|
5833
5749
|
}
|
@@ -5837,13 +5753,13 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
5837
5753
|
args[_key2] = arguments[_key2];
|
5838
5754
|
}
|
5839
5755
|
|
5840
|
-
return run
|
5756
|
+
return run.join.apply(run, curried.concat(args));
|
5841
5757
|
};
|
5842
5758
|
};
|
5843
5759
|
|
5844
|
-
run
|
5845
|
-
run
|
5846
|
-
run
|
5760
|
+
run.backburner = backburner$1;
|
5761
|
+
run.currentRunLoop = null;
|
5762
|
+
run.queues = backburner$1.queueNames;
|
5847
5763
|
|
5848
5764
|
/**
|
5849
5765
|
Begins a new RunLoop. Any deferred actions invoked after the begin will
|
@@ -5860,8 +5776,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
5860
5776
|
@return {void}
|
5861
5777
|
@public
|
5862
5778
|
*/
|
5863
|
-
run
|
5864
|
-
backburner.begin();
|
5779
|
+
run.begin = function () {
|
5780
|
+
backburner$1.begin();
|
5865
5781
|
};
|
5866
5782
|
|
5867
5783
|
/**
|
@@ -5879,8 +5795,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
5879
5795
|
@return {void}
|
5880
5796
|
@public
|
5881
5797
|
*/
|
5882
|
-
run
|
5883
|
-
backburner.end();
|
5798
|
+
run.end = function () {
|
5799
|
+
backburner$1.end();
|
5884
5800
|
};
|
5885
5801
|
|
5886
5802
|
/**
|
@@ -5933,20 +5849,20 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
5933
5849
|
@return {*} Timer information for use in canceling, see `run.cancel`.
|
5934
5850
|
@public
|
5935
5851
|
*/
|
5936
|
-
run
|
5937
|
-
true && !(run
|
5852
|
+
run.schedule = function () /* queue, target, method */{
|
5853
|
+
true && !(run.currentRunLoop || !emberDebug.isTesting()) && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run.currentRunLoop || !emberDebug.isTesting());
|
5938
5854
|
|
5939
|
-
return backburner.schedule.apply(backburner, arguments);
|
5855
|
+
return backburner$1.schedule.apply(backburner$1, arguments);
|
5940
5856
|
};
|
5941
5857
|
|
5942
5858
|
// Used by global test teardown
|
5943
|
-
run
|
5944
|
-
return backburner.hasTimers();
|
5859
|
+
run.hasScheduledTimers = function () {
|
5860
|
+
return backburner$1.hasTimers();
|
5945
5861
|
};
|
5946
5862
|
|
5947
5863
|
// Used by global test teardown
|
5948
|
-
run
|
5949
|
-
backburner.cancelTimers();
|
5864
|
+
run.cancelTimers = function () {
|
5865
|
+
backburner$1.cancelTimers();
|
5950
5866
|
};
|
5951
5867
|
|
5952
5868
|
/**
|
@@ -5966,9 +5882,9 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
5966
5882
|
@return {void}
|
5967
5883
|
@private
|
5968
5884
|
*/
|
5969
|
-
run
|
5970
|
-
if (backburner.currentInstance) {
|
5971
|
-
backburner.currentInstance.queues.sync.flush();
|
5885
|
+
run.sync = function () {
|
5886
|
+
if (backburner$1.currentInstance) {
|
5887
|
+
backburner$1.currentInstance.queues.sync.flush();
|
5972
5888
|
}
|
5973
5889
|
};
|
5974
5890
|
|
@@ -5998,8 +5914,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
5998
5914
|
@return {*} Timer information for use in canceling, see `run.cancel`.
|
5999
5915
|
@public
|
6000
5916
|
*/
|
6001
|
-
run
|
6002
|
-
return backburner.later.apply(backburner, arguments);
|
5917
|
+
run.later = function () /*target, method*/{
|
5918
|
+
return backburner$1.later.apply(backburner$1, arguments);
|
6003
5919
|
};
|
6004
5920
|
|
6005
5921
|
/**
|
@@ -6015,15 +5931,15 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
6015
5931
|
@return {Object} Timer information for use in canceling, see `run.cancel`.
|
6016
5932
|
@public
|
6017
5933
|
*/
|
6018
|
-
run
|
6019
|
-
true && !(run
|
5934
|
+
run.once = function () {
|
5935
|
+
true && !(run.currentRunLoop || !emberDebug.isTesting()) && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run.currentRunLoop || !emberDebug.isTesting());
|
6020
5936
|
|
6021
5937
|
for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
6022
5938
|
args[_key3] = arguments[_key3];
|
6023
5939
|
}
|
6024
5940
|
|
6025
5941
|
args.unshift('actions');
|
6026
|
-
return backburner.scheduleOnce.apply(backburner, args);
|
5942
|
+
return backburner$1.scheduleOnce.apply(backburner$1, args);
|
6027
5943
|
};
|
6028
5944
|
|
6029
5945
|
/**
|
@@ -6078,10 +5994,10 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
6078
5994
|
@return {Object} Timer information for use in canceling, see `run.cancel`.
|
6079
5995
|
@public
|
6080
5996
|
*/
|
6081
|
-
run
|
6082
|
-
true && !(run
|
5997
|
+
run.scheduleOnce = function () /*queue, target, method*/{
|
5998
|
+
true && !(run.currentRunLoop || !emberDebug.isTesting()) && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run.currentRunLoop || !emberDebug.isTesting());
|
6083
5999
|
|
6084
|
-
return backburner.scheduleOnce.apply(backburner, arguments);
|
6000
|
+
return backburner$1.scheduleOnce.apply(backburner$1, arguments);
|
6085
6001
|
};
|
6086
6002
|
|
6087
6003
|
/**
|
@@ -6147,13 +6063,13 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
6147
6063
|
@return {Object} Timer information for use in canceling, see `run.cancel`.
|
6148
6064
|
@public
|
6149
6065
|
*/
|
6150
|
-
run
|
6066
|
+
run.next = function () {
|
6151
6067
|
for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
6152
6068
|
args[_key4] = arguments[_key4];
|
6153
6069
|
}
|
6154
6070
|
|
6155
6071
|
args.push(1);
|
6156
|
-
return backburner.later.apply(backburner, args);
|
6072
|
+
return backburner$1.later.apply(backburner$1, args);
|
6157
6073
|
};
|
6158
6074
|
|
6159
6075
|
/**
|
@@ -6211,8 +6127,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
6211
6127
|
@return {Boolean} true if canceled or false/undefined if it wasn't found
|
6212
6128
|
@public
|
6213
6129
|
*/
|
6214
|
-
run
|
6215
|
-
return backburner.cancel(timer);
|
6130
|
+
run.cancel = function (timer) {
|
6131
|
+
return backburner$1.cancel(timer);
|
6216
6132
|
};
|
6217
6133
|
|
6218
6134
|
/**
|
@@ -6284,8 +6200,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
6284
6200
|
@return {Array} Timer information for use in canceling, see `run.cancel`.
|
6285
6201
|
@public
|
6286
6202
|
*/
|
6287
|
-
run
|
6288
|
-
return backburner.debounce.apply(backburner, arguments);
|
6203
|
+
run.debounce = function () {
|
6204
|
+
return backburner$1.debounce.apply(backburner$1, arguments);
|
6289
6205
|
};
|
6290
6206
|
|
6291
6207
|
/**
|
@@ -6327,8 +6243,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
6327
6243
|
@return {Array} Timer information for use in canceling, see `run.cancel`.
|
6328
6244
|
@public
|
6329
6245
|
*/
|
6330
|
-
run
|
6331
|
-
return backburner.throttle.apply(backburner, arguments);
|
6246
|
+
run.throttle = function () {
|
6247
|
+
return backburner$1.throttle.apply(backburner$1, arguments);
|
6332
6248
|
};
|
6333
6249
|
|
6334
6250
|
/**
|
@@ -6341,9 +6257,9 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
6341
6257
|
@param {String} after the name of the queue to add after.
|
6342
6258
|
@private
|
6343
6259
|
*/
|
6344
|
-
run
|
6345
|
-
if (run
|
6346
|
-
run
|
6260
|
+
run._addQueue = function (name, after) {
|
6261
|
+
if (run.queues.indexOf(name) === -1) {
|
6262
|
+
run.queues.splice(run.queues.indexOf(after) + 1, 0, name);
|
6347
6263
|
}
|
6348
6264
|
};
|
6349
6265
|
|
@@ -7293,7 +7209,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
7293
7209
|
|
7294
7210
|
// If we haven't scheduled the binding yet, schedule it.
|
7295
7211
|
if (existingDir === undefined) {
|
7296
|
-
run
|
7212
|
+
run.schedule('sync', this, '_sync');
|
7297
7213
|
this._direction = dir;
|
7298
7214
|
}
|
7299
7215
|
|
@@ -8587,8 +8503,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
8587
8503
|
exports.getWithDefault = getWithDefault;
|
8588
8504
|
exports.set = set;
|
8589
8505
|
exports.trySet = trySet;
|
8590
|
-
exports.WeakMap =
|
8591
|
-
exports.
|
8506
|
+
exports.WeakMap = weak_map;
|
8507
|
+
exports.WeakMapPolyfill = WeakMapPolyfill;
|
8592
8508
|
exports.addListener = addListener;
|
8593
8509
|
exports.hasListeners = hasListeners;
|
8594
8510
|
exports.listenersFor = listenersFor;
|
@@ -8602,7 +8518,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
8602
8518
|
exports.isEmpty = isEmpty;
|
8603
8519
|
exports.isBlank = isBlank;
|
8604
8520
|
exports.isPresent = isPresent;
|
8605
|
-
exports.run = run
|
8521
|
+
exports.run = run;
|
8606
8522
|
exports.ObserverSet = ObserverSet;
|
8607
8523
|
exports.beginPropertyChanges = beginPropertyChanges;
|
8608
8524
|
exports.changeProperties = changeProperties;
|
@@ -8621,7 +8537,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
8621
8537
|
exports.removeChainWatcher = removeChainWatcher;
|
8622
8538
|
exports.watchPath = watchPath;
|
8623
8539
|
exports.unwatchPath = unwatchPath;
|
8624
|
-
exports.destroy =
|
8540
|
+
exports.destroy = deleteMeta;
|
8625
8541
|
exports.isWatching = isWatching;
|
8626
8542
|
exports.unwatch = unwatch;
|
8627
8543
|
exports.watch = watch;
|
@@ -9164,106 +9080,100 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
|
|
9164
9080
|
return child;
|
9165
9081
|
}
|
9166
9082
|
|
9167
|
-
|
9168
|
-
|
9169
|
-
|
9170
|
-
|
9171
|
-
this._instanceConstructor = Constructor;
|
9172
|
-
this.promise = new Constructor(noop, label);
|
9173
|
-
this._abortOnReject = abortOnReject;
|
9083
|
+
function Enumerator(Constructor, input, abortOnReject, label) {
|
9084
|
+
this._instanceConstructor = Constructor;
|
9085
|
+
this.promise = new Constructor(noop, label);
|
9086
|
+
this._abortOnReject = abortOnReject;
|
9174
9087
|
|
9175
|
-
|
9176
|
-
|
9088
|
+
this._init.apply(this, arguments);
|
9089
|
+
}
|
9177
9090
|
|
9178
|
-
|
9179
|
-
|
9180
|
-
|
9181
|
-
|
9182
|
-
|
9091
|
+
Enumerator.prototype._init = function (Constructor, input) {
|
9092
|
+
var len = input.length || 0;
|
9093
|
+
this.length = len;
|
9094
|
+
this._remaining = len;
|
9095
|
+
this._result = new Array(len);
|
9183
9096
|
|
9184
|
-
|
9185
|
-
|
9186
|
-
|
9187
|
-
|
9188
|
-
|
9097
|
+
this._enumerate(input);
|
9098
|
+
if (this._remaining === 0) {
|
9099
|
+
fulfill(this.promise, this._result);
|
9100
|
+
}
|
9101
|
+
};
|
9189
9102
|
|
9190
|
-
|
9191
|
-
|
9192
|
-
|
9103
|
+
Enumerator.prototype._enumerate = function (input) {
|
9104
|
+
var length = this.length;
|
9105
|
+
var promise = this.promise;
|
9193
9106
|
|
9194
|
-
|
9195
|
-
|
9196
|
-
|
9197
|
-
|
9107
|
+
for (var i = 0; promise._state === PENDING && i < length; i++) {
|
9108
|
+
this._eachEntry(input[i], i);
|
9109
|
+
}
|
9110
|
+
};
|
9198
9111
|
|
9199
|
-
|
9200
|
-
|
9201
|
-
|
9112
|
+
Enumerator.prototype._settleMaybeThenable = function (entry, i) {
|
9113
|
+
var c = this._instanceConstructor;
|
9114
|
+
var resolve$$1 = c.resolve;
|
9202
9115
|
|
9203
|
-
|
9204
|
-
|
9116
|
+
if (resolve$$1 === resolve$1) {
|
9117
|
+
var then$$1 = getThen(entry);
|
9205
9118
|
|
9206
|
-
|
9207
|
-
|
9208
|
-
|
9209
|
-
|
9210
|
-
this._remaining--;
|
9211
|
-
this._result[i] = this._makeResult(FULFILLED, i, entry);
|
9212
|
-
} else if (c === Promise) {
|
9213
|
-
var promise = new c(noop);
|
9214
|
-
handleMaybeThenable(promise, entry, then$$1);
|
9215
|
-
this._willSettleAt(promise, i);
|
9216
|
-
} else {
|
9217
|
-
this._willSettleAt(new c(function (resolve$$1) {
|
9218
|
-
return resolve$$1(entry);
|
9219
|
-
}), i);
|
9220
|
-
}
|
9221
|
-
} else {
|
9222
|
-
this._willSettleAt(resolve$$1(entry), i);
|
9223
|
-
}
|
9224
|
-
};
|
9225
|
-
|
9226
|
-
Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {
|
9227
|
-
if (isMaybeThenable(entry)) {
|
9228
|
-
this._settleMaybeThenable(entry, i);
|
9229
|
-
} else {
|
9119
|
+
if (then$$1 === then && entry._state !== PENDING) {
|
9120
|
+
entry._onError = null;
|
9121
|
+
this._settledAt(entry._state, i, entry._result);
|
9122
|
+
} else if (typeof then$$1 !== 'function') {
|
9230
9123
|
this._remaining--;
|
9231
9124
|
this._result[i] = this._makeResult(FULFILLED, i, entry);
|
9125
|
+
} else if (c === Promise) {
|
9126
|
+
var promise = new c(noop);
|
9127
|
+
handleMaybeThenable(promise, entry, then$$1);
|
9128
|
+
this._willSettleAt(promise, i);
|
9129
|
+
} else {
|
9130
|
+
this._willSettleAt(new c(function (resolve$$1) {
|
9131
|
+
return resolve$$1(entry);
|
9132
|
+
}), i);
|
9232
9133
|
}
|
9233
|
-
}
|
9134
|
+
} else {
|
9135
|
+
this._willSettleAt(resolve$$1(entry), i);
|
9136
|
+
}
|
9137
|
+
};
|
9234
9138
|
|
9235
|
-
|
9236
|
-
|
9139
|
+
Enumerator.prototype._eachEntry = function (entry, i) {
|
9140
|
+
if (isMaybeThenable(entry)) {
|
9141
|
+
this._settleMaybeThenable(entry, i);
|
9142
|
+
} else {
|
9143
|
+
this._remaining--;
|
9144
|
+
this._result[i] = this._makeResult(FULFILLED, i, entry);
|
9145
|
+
}
|
9146
|
+
};
|
9237
9147
|
|
9238
|
-
|
9239
|
-
|
9240
|
-
|
9241
|
-
|
9242
|
-
|
9243
|
-
|
9244
|
-
|
9245
|
-
|
9246
|
-
|
9148
|
+
Enumerator.prototype._settledAt = function (state, i, value) {
|
9149
|
+
var promise = this.promise;
|
9150
|
+
|
9151
|
+
if (promise._state === PENDING) {
|
9152
|
+
if (this._abortOnReject && state === REJECTED) {
|
9153
|
+
reject(promise, value);
|
9154
|
+
} else {
|
9155
|
+
this._remaining--;
|
9156
|
+
this._result[i] = this._makeResult(state, i, value);
|
9157
|
+
if (this._remaining === 0) {
|
9158
|
+
fulfill(promise, this._result);
|
9247
9159
|
}
|
9248
9160
|
}
|
9249
|
-
}
|
9250
|
-
|
9251
|
-
Enumerator.prototype._makeResult = function _makeResult(state, i, value) {
|
9252
|
-
return value;
|
9253
|
-
};
|
9161
|
+
}
|
9162
|
+
};
|
9254
9163
|
|
9255
|
-
|
9256
|
-
|
9164
|
+
Enumerator.prototype._makeResult = function (state, i, value) {
|
9165
|
+
return value;
|
9166
|
+
};
|
9257
9167
|
|
9258
|
-
|
9259
|
-
|
9260
|
-
}, function (reason) {
|
9261
|
-
return enumerator._settledAt(REJECTED, i, reason);
|
9262
|
-
});
|
9263
|
-
};
|
9168
|
+
Enumerator.prototype._willSettleAt = function (promise, i) {
|
9169
|
+
var enumerator = this;
|
9264
9170
|
|
9265
|
-
|
9266
|
-
|
9171
|
+
subscribe(promise, undefined, function (value) {
|
9172
|
+
return enumerator._settledAt(FULFILLED, i, value);
|
9173
|
+
}, function (reason) {
|
9174
|
+
return enumerator._settledAt(REJECTED, i, reason);
|
9175
|
+
});
|
9176
|
+
};
|
9267
9177
|
|
9268
9178
|
function makeSettledResult(state, position, value) {
|
9269
9179
|
if (state === FULFILLED) {
|
@@ -9579,56 +9489,117 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
|
|
9579
9489
|
Useful for tooling.
|
9580
9490
|
@constructor
|
9581
9491
|
*/
|
9492
|
+
function Promise(resolver, label) {
|
9493
|
+
this._id = counter++;
|
9494
|
+
this._label = label;
|
9495
|
+
this._state = undefined;
|
9496
|
+
this._result = undefined;
|
9497
|
+
this._subscribers = [];
|
9582
9498
|
|
9583
|
-
|
9584
|
-
function Promise(resolver, label) {
|
9585
|
-
(0, _emberBabel.classCallCheck)(this, Promise);
|
9499
|
+
config.instrument && instrument('created', this);
|
9586
9500
|
|
9587
|
-
|
9588
|
-
|
9589
|
-
this
|
9590
|
-
|
9591
|
-
|
9501
|
+
if (noop !== resolver) {
|
9502
|
+
typeof resolver !== 'function' && needsResolver();
|
9503
|
+
this instanceof Promise ? initializePromise(this, resolver) : needsNew();
|
9504
|
+
}
|
9505
|
+
}
|
9592
9506
|
|
9593
|
-
|
9507
|
+
Promise.prototype._onError = function (reason) {
|
9508
|
+
var _this = this;
|
9594
9509
|
|
9595
|
-
|
9596
|
-
|
9597
|
-
|
9510
|
+
config.after(function () {
|
9511
|
+
if (_this._onError) {
|
9512
|
+
config.trigger('error', reason, _this._label);
|
9598
9513
|
}
|
9514
|
+
});
|
9515
|
+
};
|
9516
|
+
|
9517
|
+
/**
|
9518
|
+
`catch` is simply sugar for `then(undefined, onRejection)` which makes it the same
|
9519
|
+
as the catch block of a try/catch statement.
|
9520
|
+
|
9521
|
+
```js
|
9522
|
+
function findAuthor(){
|
9523
|
+
throw new Error('couldn\'t find that author');
|
9524
|
+
}
|
9525
|
+
|
9526
|
+
// synchronous
|
9527
|
+
try {
|
9528
|
+
findAuthor();
|
9529
|
+
} catch(reason) {
|
9530
|
+
// something went wrong
|
9599
9531
|
}
|
9532
|
+
|
9533
|
+
// async with promises
|
9534
|
+
findAuthor().catch(function(reason){
|
9535
|
+
// something went wrong
|
9536
|
+
});
|
9537
|
+
```
|
9538
|
+
|
9539
|
+
@method catch
|
9540
|
+
@param {Function} onRejection
|
9541
|
+
@param {String} label optional string for labeling the promise.
|
9542
|
+
Useful for tooling.
|
9543
|
+
@return {Promise}
|
9544
|
+
*/
|
9545
|
+
Promise.prototype.catch = function (onRejection, label) {
|
9546
|
+
return this.then(undefined, onRejection, label);
|
9547
|
+
};
|
9600
9548
|
|
9601
|
-
|
9602
|
-
|
9549
|
+
/**
|
9550
|
+
`finally` will be invoked regardless of the promise's fate just as native
|
9551
|
+
try/catch/finally behaves
|
9552
|
+
|
9553
|
+
Synchronous example:
|
9554
|
+
|
9555
|
+
```js
|
9556
|
+
findAuthor() {
|
9557
|
+
if (Math.random() > 0.5) {
|
9558
|
+
throw new Error();
|
9559
|
+
}
|
9560
|
+
return new Author();
|
9561
|
+
}
|
9562
|
+
|
9563
|
+
try {
|
9564
|
+
return findAuthor(); // succeed or fail
|
9565
|
+
} catch(error) {
|
9566
|
+
return findOtherAuthor();
|
9567
|
+
} finally {
|
9568
|
+
// always runs
|
9569
|
+
// doesn't affect the return value
|
9570
|
+
}
|
9571
|
+
```
|
9572
|
+
|
9573
|
+
Asynchronous example:
|
9574
|
+
|
9575
|
+
```js
|
9576
|
+
findAuthor().catch(function(reason){
|
9577
|
+
return findOtherAuthor();
|
9578
|
+
}).finally(function(){
|
9579
|
+
// author was either found, or not
|
9580
|
+
});
|
9581
|
+
```
|
9582
|
+
|
9583
|
+
@method finally
|
9584
|
+
@param {Function} callback
|
9585
|
+
@param {String} label optional string for labeling the promise.
|
9586
|
+
Useful for tooling.
|
9587
|
+
@return {Promise}
|
9588
|
+
*/
|
9589
|
+
Promise.prototype.finally = function (callback, label) {
|
9590
|
+
var promise = this;
|
9591
|
+
var constructor = promise.constructor;
|
9603
9592
|
|
9604
|
-
|
9605
|
-
|
9606
|
-
|
9607
|
-
}
|
9593
|
+
return promise.then(function (value) {
|
9594
|
+
return constructor.resolve(callback()).then(function () {
|
9595
|
+
return value;
|
9608
9596
|
});
|
9609
|
-
}
|
9610
|
-
|
9611
|
-
|
9612
|
-
|
9613
|
-
};
|
9614
|
-
|
9615
|
-
Promise.prototype.finally = function _finally(callback, label) {
|
9616
|
-
var promise = this;
|
9617
|
-
var constructor = promise.constructor;
|
9618
|
-
|
9619
|
-
return promise.then(function (value) {
|
9620
|
-
return constructor.resolve(callback()).then(function () {
|
9621
|
-
return value;
|
9622
|
-
});
|
9623
|
-
}, function (reason) {
|
9624
|
-
return constructor.resolve(callback()).then(function () {
|
9625
|
-
throw reason;
|
9626
|
-
});
|
9627
|
-
}, label);
|
9628
|
-
};
|
9629
|
-
|
9630
|
-
return Promise;
|
9631
|
-
}();
|
9597
|
+
}, function (reason) {
|
9598
|
+
return constructor.resolve(callback()).then(function () {
|
9599
|
+
throw reason;
|
9600
|
+
});
|
9601
|
+
}, label);
|
9602
|
+
};
|
9632
9603
|
|
9633
9604
|
Promise.cast = resolve$1; // deprecated
|
9634
9605
|
Promise.all = all;
|