ember-source 1.12.1 → 1.12.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-template-compiler.js +370 -343
- data/dist/ember-testing.js +73 -72
- data/dist/ember.debug.js +1657 -1622
- data/dist/ember.js +1657 -1622
- data/dist/ember.min.js +9 -9
- data/dist/ember.prod.js +1467 -1433
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1a5bce6a8a2adeeaa35748e7d5e2c409b5d6bfd
|
4
|
+
data.tar.gz: fa34f6ff3263361e98d39b8fcfec11711d31e48d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 781f968b7b92dcc039a16303b333b523592d03b5a511a3f47433f6e68c4320056f989e09259f8cb1a6e515982be8af7da9218d7790349034642798a9e55b6171
|
7
|
+
data.tar.gz: e1e6b89d953ba43930f926f23fc77ff6d0cb1ce86f249c4934193481a13baa86b2db21d89f33976fefa23c9d115319d3e0406e1f230de66708c14ac08db4a619
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.12.
|
1
|
+
1.12.2
|
@@ -5,7 +5,7 @@
|
|
5
5
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
6
6
|
* @license Licensed under MIT license
|
7
7
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
8
|
-
* @version 1.12.
|
8
|
+
* @version 1.12.2
|
9
9
|
*/
|
10
10
|
|
11
11
|
(function() {
|
@@ -119,7 +119,7 @@ enifed('ember-debug', ['exports', 'ember-metal/core', 'ember-metal/utils', 'embe
|
|
119
119
|
Ember['default'].assert = function (desc, test) {
|
120
120
|
var throwAssertion;
|
121
121
|
|
122
|
-
if (utils.typeOf(test) ===
|
122
|
+
if (utils.typeOf(test) === 'function') {
|
123
123
|
throwAssertion = !test();
|
124
124
|
} else {
|
125
125
|
throwAssertion = !test;
|
@@ -142,7 +142,7 @@ enifed('ember-debug', ['exports', 'ember-metal/core', 'ember-metal/utils', 'embe
|
|
142
142
|
Ember['default'].warn = function (message, test) {
|
143
143
|
if (!test) {
|
144
144
|
Logger['default'].warn("WARNING: " + message);
|
145
|
-
if (
|
145
|
+
if ('trace' in Logger['default']) {
|
146
146
|
Logger['default'].trace();
|
147
147
|
}
|
148
148
|
}
|
@@ -179,7 +179,7 @@ enifed('ember-debug', ['exports', 'ember-metal/core', 'ember-metal/utils', 'embe
|
|
179
179
|
Ember['default'].deprecate = function (message, test, options) {
|
180
180
|
var noDeprecation;
|
181
181
|
|
182
|
-
if (typeof test ===
|
182
|
+
if (typeof test === 'function') {
|
183
183
|
noDeprecation = test();
|
184
184
|
} else {
|
185
185
|
noDeprecation = test;
|
@@ -203,23 +203,23 @@ enifed('ember-debug', ['exports', 'ember-metal/core', 'ember-metal/utils', 'embe
|
|
203
203
|
}
|
204
204
|
|
205
205
|
if (arguments.length === 3) {
|
206
|
-
Ember['default'].assert(
|
206
|
+
Ember['default'].assert('options argument to Ember.deprecate should be an object', options && typeof options === 'object');
|
207
207
|
if (options.url) {
|
208
|
-
message +=
|
208
|
+
message += ' See ' + options.url + ' for more details.';
|
209
209
|
}
|
210
210
|
}
|
211
211
|
|
212
212
|
if (Ember['default'].LOG_STACKTRACE_ON_DEPRECATION && error.stack) {
|
213
213
|
var stack;
|
214
|
-
var stackStr =
|
214
|
+
var stackStr = '';
|
215
215
|
|
216
|
-
if (error[
|
216
|
+
if (error['arguments']) {
|
217
217
|
// Chrome
|
218
|
-
stack = error.stack.replace(/^\s+at\s+/gm,
|
218
|
+
stack = error.stack.replace(/^\s+at\s+/gm, '').replace(/^([^\(]+?)([\n$])/gm, '{anonymous}($1)$2').replace(/^Object.<anonymous>\s*\(([^\)]+)\)/gm, '{anonymous}($1)').split('\n');
|
219
219
|
stack.shift();
|
220
220
|
} else {
|
221
221
|
// Firefox
|
222
|
-
stack = error.stack.replace(/(?:\n@:0)?\s+$/m,
|
222
|
+
stack = error.stack.replace(/(?:\n@:0)?\s+$/m, '').replace(/^\(/gm, '{anonymous}(').split('\n');
|
223
223
|
}
|
224
224
|
|
225
225
|
stackStr = "\n " + stack.slice(2).join("\n ");
|
@@ -286,14 +286,15 @@ enifed('ember-debug', ['exports', 'ember-metal/core', 'ember-metal/utils', 'embe
|
|
286
286
|
@method _warnIfUsingStrippedFeatureFlags
|
287
287
|
@return {void}
|
288
288
|
*/
|
289
|
+
|
289
290
|
function _warnIfUsingStrippedFeatureFlags(FEATURES, featuresWereStripped) {
|
290
291
|
if (featuresWereStripped) {
|
291
|
-
Ember['default'].warn(
|
292
|
-
Ember['default'].warn(
|
292
|
+
Ember['default'].warn('Ember.ENV.ENABLE_ALL_FEATURES is only available in canary builds.', !Ember['default'].ENV.ENABLE_ALL_FEATURES);
|
293
|
+
Ember['default'].warn('Ember.ENV.ENABLE_OPTIONAL_FEATURES is only available in canary builds.', !Ember['default'].ENV.ENABLE_OPTIONAL_FEATURES);
|
293
294
|
|
294
295
|
for (var key in FEATURES) {
|
295
|
-
if (FEATURES.hasOwnProperty(key) && key !==
|
296
|
-
Ember['default'].warn(
|
296
|
+
if (FEATURES.hasOwnProperty(key) && key !== 'isEnabled') {
|
297
|
+
Ember['default'].warn('FEATURE["' + key + '"] is set as enabled, but FEATURE flags are only available in canary builds.', !FEATURES[key]);
|
297
298
|
}
|
298
299
|
}
|
299
300
|
}
|
@@ -301,29 +302,29 @@ enifed('ember-debug', ['exports', 'ember-metal/core', 'ember-metal/utils', 'embe
|
|
301
302
|
|
302
303
|
if (!Ember['default'].testing) {
|
303
304
|
// Complain if they're using FEATURE flags in builds other than canary
|
304
|
-
Ember['default'].FEATURES[
|
305
|
+
Ember['default'].FEATURES['features-stripped-test'] = true;
|
305
306
|
var featuresWereStripped = true;
|
306
307
|
|
307
308
|
|
308
|
-
delete Ember['default'].FEATURES[
|
309
|
+
delete Ember['default'].FEATURES['features-stripped-test'];
|
309
310
|
_warnIfUsingStrippedFeatureFlags(Ember['default'].ENV.FEATURES, featuresWereStripped);
|
310
311
|
|
311
312
|
// Inform the developer about the Ember Inspector if not installed.
|
312
|
-
var isFirefox = typeof InstallTrigger !==
|
313
|
+
var isFirefox = typeof InstallTrigger !== 'undefined';
|
313
314
|
var isChrome = environment['default'].isChrome;
|
314
315
|
|
315
|
-
if (typeof window !==
|
316
|
+
if (typeof window !== 'undefined' && (isFirefox || isChrome) && window.addEventListener) {
|
316
317
|
window.addEventListener("load", function () {
|
317
318
|
if (document.documentElement && document.documentElement.dataset && !document.documentElement.dataset.emberExtension) {
|
318
319
|
var downloadURL;
|
319
320
|
|
320
321
|
if (isChrome) {
|
321
|
-
downloadURL =
|
322
|
+
downloadURL = 'https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi';
|
322
323
|
} else if (isFirefox) {
|
323
|
-
downloadURL =
|
324
|
+
downloadURL = 'https://addons.mozilla.org/en-US/firefox/addon/ember-inspector/';
|
324
325
|
}
|
325
326
|
|
326
|
-
Ember['default'].debug(
|
327
|
+
Ember['default'].debug('For more advanced debugging, install the Ember Inspector from ' + downloadURL);
|
327
328
|
}
|
328
329
|
}, false);
|
329
330
|
}
|
@@ -339,7 +340,7 @@ enifed('ember-debug', ['exports', 'ember-metal/core', 'ember-metal/utils', 'embe
|
|
339
340
|
*/
|
340
341
|
var runningNonEmberDebugJS = false;
|
341
342
|
if (runningNonEmberDebugJS) {
|
342
|
-
Ember['default'].warn(
|
343
|
+
Ember['default'].warn('Please use `ember.debug.js` instead of `ember.js` for development and debugging.');
|
343
344
|
}
|
344
345
|
|
345
346
|
exports.runningNonEmberDebugJS = runningNonEmberDebugJS;
|
@@ -377,10 +378,7 @@ enifed('ember-metal', ['exports', 'ember-metal/core', 'ember-metal/merge', 'embe
|
|
377
378
|
computed.computed.and = computed_macros.and;
|
378
379
|
computed.computed.or = computed_macros.or;
|
379
380
|
computed.computed.any = computed_macros.any;
|
380
|
-
computed.computed.collect = computed_macros.collect;
|
381
|
-
|
382
|
-
// BEGIN EXPORTS
|
383
|
-
var EmberInstrumentation = Ember['default'].Instrumentation = {};
|
381
|
+
computed.computed.collect = computed_macros.collect;var EmberInstrumentation = Ember['default'].Instrumentation = {};
|
384
382
|
EmberInstrumentation.instrument = instrumentation.instrument;
|
385
383
|
EmberInstrumentation.subscribe = instrumentation.subscribe;
|
386
384
|
EmberInstrumentation.unsubscribe = instrumentation.unsubscribe;
|
@@ -527,7 +525,7 @@ enifed('ember-metal', ['exports', 'ember-metal/core', 'ember-metal/merge', 'embe
|
|
527
525
|
Ember['default'].Backburner = Backburner['default'];
|
528
526
|
|
529
527
|
Ember['default'].libraries = new Libraries['default']();
|
530
|
-
Ember['default'].libraries.registerCoreLibrary(
|
528
|
+
Ember['default'].libraries.registerCoreLibrary('Ember', Ember['default'].VERSION);
|
531
529
|
|
532
530
|
Ember['default'].isNone = isNone['default'];
|
533
531
|
Ember['default'].isEmpty = isEmpty['default'];
|
@@ -562,8 +560,8 @@ enifed('ember-metal', ['exports', 'ember-metal/core', 'ember-metal/merge', 'embe
|
|
562
560
|
|
563
561
|
// do this for side-effects of updating Ember.assert, warn, etc when
|
564
562
|
// ember-debug is present
|
565
|
-
if (Ember['default'].__loader.registry[
|
566
|
-
requireModule(
|
563
|
+
if (Ember['default'].__loader.registry['ember-debug']) {
|
564
|
+
requireModule('ember-debug');
|
567
565
|
}
|
568
566
|
|
569
567
|
exports['default'] = Ember['default'];
|
@@ -658,7 +656,7 @@ enifed('ember-metal/array', ['exports'], function (exports) {
|
|
658
656
|
// if available, but not to use versions created by libraries like Prototype
|
659
657
|
var isNativeFunc = function (func) {
|
660
658
|
// This should probably work in all browsers likely to have ES5 array methods
|
661
|
-
return func && Function.prototype.toString.call(func).indexOf(
|
659
|
+
return func && Function.prototype.toString.call(func).indexOf('[native code]') > -1;
|
662
660
|
};
|
663
661
|
|
664
662
|
var defineNativeShim = function (nativeFunc, shim) {
|
@@ -892,7 +890,7 @@ enifed('ember-metal/binding', ['exports', 'ember-metal/core', 'ember-metal/prope
|
|
892
890
|
@return {String} string representation of binding
|
893
891
|
*/
|
894
892
|
toString: function () {
|
895
|
-
var oneWay = this._oneWay ?
|
893
|
+
var oneWay = this._oneWay ? '[oneWay]' : '';
|
896
894
|
return "Ember.Binding<" + utils.guidFor(this) + ">(" + this._from + " -> " + this._to + ")" + oneWay;
|
897
895
|
},
|
898
896
|
|
@@ -909,7 +907,7 @@ enifed('ember-metal/binding', ['exports', 'ember-metal/core', 'ember-metal/prope
|
|
909
907
|
@return {Ember.Binding} `this`
|
910
908
|
*/
|
911
909
|
connect: function (obj) {
|
912
|
-
Ember['default'].assert(
|
910
|
+
Ember['default'].assert('Must pass a valid object to Ember.Binding.connect()', !!obj);
|
913
911
|
|
914
912
|
var fromPath = this._from;
|
915
913
|
var toPath = this._to;
|
@@ -936,7 +934,7 @@ enifed('ember-metal/binding', ['exports', 'ember-metal/core', 'ember-metal/prope
|
|
936
934
|
@return {Ember.Binding} `this`
|
937
935
|
*/
|
938
936
|
disconnect: function (obj) {
|
939
|
-
Ember['default'].assert(
|
937
|
+
Ember['default'].assert('Must pass a valid object to Ember.Binding.disconnect()', !!obj);
|
940
938
|
|
941
939
|
var twoWay = !this._oneWay;
|
942
940
|
|
@@ -959,12 +957,12 @@ enifed('ember-metal/binding', ['exports', 'ember-metal/core', 'ember-metal/prope
|
|
959
957
|
|
960
958
|
/* called when the from side changes */
|
961
959
|
fromDidChange: function (target) {
|
962
|
-
this._scheduleSync(target,
|
960
|
+
this._scheduleSync(target, 'fwd');
|
963
961
|
},
|
964
962
|
|
965
963
|
/* called when the to side changes */
|
966
964
|
toDidChange: function (target) {
|
967
|
-
this._scheduleSync(target,
|
965
|
+
this._scheduleSync(target, 'back');
|
968
966
|
},
|
969
967
|
|
970
968
|
_scheduleSync: function (obj, dir) {
|
@@ -972,14 +970,14 @@ enifed('ember-metal/binding', ['exports', 'ember-metal/core', 'ember-metal/prope
|
|
972
970
|
|
973
971
|
// if we haven't scheduled the binding yet, schedule it
|
974
972
|
if (existingDir === undefined) {
|
975
|
-
run['default'].schedule(
|
973
|
+
run['default'].schedule('sync', this, this._sync, obj);
|
976
974
|
this._direction = dir;
|
977
975
|
}
|
978
976
|
|
979
977
|
// If both a 'back' and 'fwd' sync have been scheduled on the same object,
|
980
978
|
// default to a 'fwd' sync so that it remains deterministic.
|
981
|
-
if (existingDir ===
|
982
|
-
this._direction =
|
979
|
+
if (existingDir === 'back' && dir === 'fwd') {
|
980
|
+
this._direction = 'fwd';
|
983
981
|
}
|
984
982
|
},
|
985
983
|
|
@@ -1001,10 +999,10 @@ enifed('ember-metal/binding', ['exports', 'ember-metal/core', 'ember-metal/prope
|
|
1001
999
|
this._direction = undefined;
|
1002
1000
|
|
1003
1001
|
// if we're synchronizing from the remote object...
|
1004
|
-
if (direction ===
|
1002
|
+
if (direction === 'fwd') {
|
1005
1003
|
var fromValue = getWithGlobals(obj, this._from);
|
1006
1004
|
if (log) {
|
1007
|
-
Ember['default'].Logger.log(
|
1005
|
+
Ember['default'].Logger.log(' ', this.toString(), '->', fromValue, obj);
|
1008
1006
|
}
|
1009
1007
|
if (this._oneWay) {
|
1010
1008
|
property_set.trySet(obj, toPath, fromValue);
|
@@ -1014,15 +1012,15 @@ enifed('ember-metal/binding', ['exports', 'ember-metal/core', 'ember-metal/prope
|
|
1014
1012
|
});
|
1015
1013
|
}
|
1016
1014
|
// if we're synchronizing *to* the remote object
|
1017
|
-
} else if (direction ===
|
1018
|
-
|
1019
|
-
|
1020
|
-
|
1015
|
+
} else if (direction === 'back') {
|
1016
|
+
var toValue = property_get.get(obj, this._to);
|
1017
|
+
if (log) {
|
1018
|
+
Ember['default'].Logger.log(' ', this.toString(), '<-', toValue, obj);
|
1019
|
+
}
|
1020
|
+
observer._suspendObserver(obj, fromPath, this, this.fromDidChange, function () {
|
1021
|
+
property_set.trySet(path_cache.isGlobal(fromPath) ? Ember['default'].lookup : obj, fromPath, toValue);
|
1022
|
+
});
|
1021
1023
|
}
|
1022
|
-
observer._suspendObserver(obj, fromPath, this, this.fromDidChange, function () {
|
1023
|
-
property_set.trySet(path_cache.isGlobal(fromPath) ? Ember['default'].lookup : obj, fromPath, toValue);
|
1024
|
-
});
|
1025
|
-
}
|
1026
1024
|
}
|
1027
1025
|
|
1028
1026
|
};
|
@@ -1221,6 +1219,7 @@ enifed('ember-metal/binding', ['exports', 'ember-metal/core', 'ember-metal/prope
|
|
1221
1219
|
Must be relative to obj or a global path.
|
1222
1220
|
@return {Ember.Binding} binding instance
|
1223
1221
|
*/
|
1222
|
+
|
1224
1223
|
function bind(obj, to, from) {
|
1225
1224
|
return new Binding(to, from).connect(obj);
|
1226
1225
|
}
|
@@ -1235,6 +1234,7 @@ enifed('ember-metal/binding', ['exports', 'ember-metal/core', 'ember-metal/prope
|
|
1235
1234
|
Must be relative to obj or a global path.
|
1236
1235
|
@return {Ember.Binding} binding instance
|
1237
1236
|
*/
|
1237
|
+
|
1238
1238
|
function oneWay(obj, to, from) {
|
1239
1239
|
return new Binding(to, from).oneWay().connect(obj);
|
1240
1240
|
}
|
@@ -1316,7 +1316,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/core', 'ember-metal/proper
|
|
1316
1316
|
}
|
1317
1317
|
|
1318
1318
|
function isObject(obj) {
|
1319
|
-
return obj && typeof obj ===
|
1319
|
+
return obj && typeof obj === 'object';
|
1320
1320
|
}
|
1321
1321
|
|
1322
1322
|
var pendingQueue = [];
|
@@ -1337,7 +1337,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/core', 'ember-metal/proper
|
|
1337
1337
|
q[0].add(q[1]);
|
1338
1338
|
});
|
1339
1339
|
|
1340
|
-
warn(
|
1340
|
+
warn('Watching an undefined global, Ember expects watched globals to be' + ' setup by the time the run loop is flushed, check for typos', pendingQueue.length === 0);
|
1341
1341
|
}
|
1342
1342
|
|
1343
1343
|
function addChainWatcher(obj, keyName, node) {
|
@@ -1348,7 +1348,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/core', 'ember-metal/proper
|
|
1348
1348
|
var m = utils.meta(obj);
|
1349
1349
|
var nodes = m.chainWatchers;
|
1350
1350
|
|
1351
|
-
if (!m.hasOwnProperty(
|
1351
|
+
if (!m.hasOwnProperty('chainWatchers')) {
|
1352
1352
|
// FIXME?!
|
1353
1353
|
nodes = m.chainWatchers = {};
|
1354
1354
|
}
|
@@ -1365,8 +1365,8 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/core', 'ember-metal/proper
|
|
1365
1365
|
return;
|
1366
1366
|
}
|
1367
1367
|
|
1368
|
-
var m = obj[
|
1369
|
-
if (m && !m.hasOwnProperty(
|
1368
|
+
var m = obj['__ember_meta__'];
|
1369
|
+
if (m && !m.hasOwnProperty('chainWatchers')) {
|
1370
1370
|
return;
|
1371
1371
|
}
|
1372
1372
|
|
@@ -1413,7 +1413,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/core', 'ember-metal/proper
|
|
1413
1413
|
//
|
1414
1414
|
// TODO: Replace this with an efficient callback that the EachProxy
|
1415
1415
|
// can implement.
|
1416
|
-
if (this._parent && this._parent._key ===
|
1416
|
+
if (this._parent && this._parent._key === '@each') {
|
1417
1417
|
this.value();
|
1418
1418
|
}
|
1419
1419
|
}
|
@@ -1423,7 +1423,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/core', 'ember-metal/proper
|
|
1423
1423
|
return;
|
1424
1424
|
}
|
1425
1425
|
|
1426
|
-
var meta = obj[
|
1426
|
+
var meta = obj['__ember_meta__'];
|
1427
1427
|
// check if object meant only to be a prototype
|
1428
1428
|
if (meta && meta.proto === obj) {
|
1429
1429
|
return;
|
@@ -1435,7 +1435,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/core', 'ember-metal/proper
|
|
1435
1435
|
|
1436
1436
|
// if a CP only return cached value
|
1437
1437
|
var possibleDesc = obj[key];
|
1438
|
-
var desc = possibleDesc !== null && typeof possibleDesc ===
|
1438
|
+
var desc = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor ? possibleDesc : undefined;
|
1439
1439
|
if (desc && desc._cacheable) {
|
1440
1440
|
if (meta.cache && key in meta.cache) {
|
1441
1441
|
return meta.cache[key];
|
@@ -1502,16 +1502,16 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/core', 'ember-metal/proper
|
|
1502
1502
|
// global path, but object does not exist yet.
|
1503
1503
|
// put into a queue and try to connect later.
|
1504
1504
|
} else if (!tuple[0]) {
|
1505
|
-
|
1506
|
-
|
1507
|
-
|
1505
|
+
pendingQueue.push([this, path]);
|
1506
|
+
tuple.length = 0;
|
1507
|
+
return;
|
1508
1508
|
|
1509
|
-
|
1510
|
-
|
1511
|
-
|
1512
|
-
|
1513
|
-
|
1514
|
-
|
1509
|
+
// global path, and object already exists
|
1510
|
+
} else {
|
1511
|
+
src = tuple[0];
|
1512
|
+
key = path.slice(0, 0 - (tuple[1].length + 1));
|
1513
|
+
path = tuple[1];
|
1514
|
+
}
|
1515
1515
|
|
1516
1516
|
tuple.length = 0;
|
1517
1517
|
this.chain(key, path, src);
|
@@ -1603,7 +1603,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/core', 'ember-metal/proper
|
|
1603
1603
|
|
1604
1604
|
chainWillChange: function (chain, path, depth, events) {
|
1605
1605
|
if (this._key) {
|
1606
|
-
path = this._key +
|
1606
|
+
path = this._key + '.' + path;
|
1607
1607
|
}
|
1608
1608
|
|
1609
1609
|
if (this._parent) {
|
@@ -1612,7 +1612,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/core', 'ember-metal/proper
|
|
1612
1612
|
if (depth > 1) {
|
1613
1613
|
events.push(this.value(), path);
|
1614
1614
|
}
|
1615
|
-
path =
|
1615
|
+
path = 'this.' + path;
|
1616
1616
|
if (this._paths[path] > 0) {
|
1617
1617
|
events.push(this.value(), path);
|
1618
1618
|
}
|
@@ -1621,7 +1621,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/core', 'ember-metal/proper
|
|
1621
1621
|
|
1622
1622
|
chainDidChange: function (chain, path, depth, events) {
|
1623
1623
|
if (this._key) {
|
1624
|
-
path = this._key +
|
1624
|
+
path = this._key + '.' + path;
|
1625
1625
|
}
|
1626
1626
|
|
1627
1627
|
if (this._parent) {
|
@@ -1630,7 +1630,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/core', 'ember-metal/proper
|
|
1630
1630
|
if (depth > 1) {
|
1631
1631
|
events.push(this.value(), path);
|
1632
1632
|
}
|
1633
|
-
path =
|
1633
|
+
path = 'this.' + path;
|
1634
1634
|
if (this._paths[path] > 0) {
|
1635
1635
|
events.push(this.value(), path);
|
1636
1636
|
}
|
@@ -1650,7 +1650,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/core', 'ember-metal/proper
|
|
1650
1650
|
|
1651
1651
|
// Special-case: the EachProxy relies on immediate evaluation to
|
1652
1652
|
// establish its observers.
|
1653
|
-
if (this._parent && this._parent._key ===
|
1653
|
+
if (this._parent && this._parent._key === '@each') {
|
1654
1654
|
this.value();
|
1655
1655
|
}
|
1656
1656
|
}
|
@@ -1677,9 +1677,10 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/core', 'ember-metal/proper
|
|
1677
1677
|
}
|
1678
1678
|
}
|
1679
1679
|
};
|
1680
|
+
|
1680
1681
|
function finishChains(obj) {
|
1681
1682
|
// We only create meta if we really have to
|
1682
|
-
var m = obj[
|
1683
|
+
var m = obj['__ember_meta__'];
|
1683
1684
|
var chains, chainWatchers, chainNodes;
|
1684
1685
|
|
1685
1686
|
if (m) {
|
@@ -1828,10 +1829,10 @@ enifed('ember-metal/computed', ['exports', 'ember-metal/property_set', 'ember-me
|
|
1828
1829
|
this._suspended = undefined;
|
1829
1830
|
this._meta = undefined;
|
1830
1831
|
|
1831
|
-
Ember.deprecate("Passing opts.cacheable to the CP constructor is deprecated. Invoke `volatile()` on the CP instead.", !opts || !opts.hasOwnProperty(
|
1832
|
+
Ember.deprecate("Passing opts.cacheable to the CP constructor is deprecated. Invoke `volatile()` on the CP instead.", !opts || !opts.hasOwnProperty('cacheable'));
|
1832
1833
|
this._cacheable = opts && opts.cacheable !== undefined ? opts.cacheable : true; // TODO: Set always to `true` once this deprecation is gone.
|
1833
1834
|
this._dependentKeys = opts && opts.dependentKeys;
|
1834
|
-
Ember.deprecate("Passing opts.readOnly to the CP constructor is deprecated. All CPs are writable by default. You can invoke `readOnly()` on the CP to change this.", !opts || !opts.hasOwnProperty(
|
1835
|
+
Ember.deprecate("Passing opts.readOnly to the CP constructor is deprecated. All CPs are writable by default. You can invoke `readOnly()` on the CP to change this.", !opts || !opts.hasOwnProperty('readOnly'));
|
1835
1836
|
this._readOnly = opts && (opts.readOnly !== undefined || !!opts.readOnly) || false; // TODO: Set always to `false` once this deprecation is gone.
|
1836
1837
|
}
|
1837
1838
|
|
@@ -1856,7 +1857,7 @@ enifed('ember-metal/computed', ['exports', 'ember-metal/property_set', 'ember-me
|
|
1856
1857
|
@deprecated All computed properties are cacheble by default. Use `volatile()` instead to opt-out to caching.
|
1857
1858
|
*/
|
1858
1859
|
ComputedPropertyPrototype.cacheable = function (aFlag) {
|
1859
|
-
Ember.deprecate(
|
1860
|
+
Ember.deprecate('ComputedProperty.cacheable() is deprecated. All computed properties are cacheable by default.');
|
1860
1861
|
this._cacheable = aFlag !== false;
|
1861
1862
|
return this;
|
1862
1863
|
};
|
@@ -1903,7 +1904,7 @@ enifed('ember-metal/computed', ['exports', 'ember-metal/property_set', 'ember-me
|
|
1903
1904
|
@chainable
|
1904
1905
|
*/
|
1905
1906
|
ComputedPropertyPrototype.readOnly = function (readOnly) {
|
1906
|
-
Ember.deprecate(
|
1907
|
+
Ember.deprecate('Passing arguments to ComputedProperty.readOnly() is deprecated.', arguments.length === 0);
|
1907
1908
|
this._readOnly = readOnly === undefined || !!readOnly; // Force to true once this deprecation is gone
|
1908
1909
|
Ember.assert("Computed properties that define a setter using the new syntax cannot be read-only", !(this._readOnly && this._setter && this._setter !== this._getter));
|
1909
1910
|
|
@@ -2276,6 +2277,8 @@ enifed('ember-metal/computed', ['exports', 'ember-metal/property_set', 'ember-me
|
|
2276
2277
|
var cp = new ComputedProperty(func);
|
2277
2278
|
// jscs:disable
|
2278
2279
|
|
2280
|
+
// Empty block on purpose
|
2281
|
+
|
2279
2282
|
if (args) {
|
2280
2283
|
cp.property.apply(cp, args);
|
2281
2284
|
}
|
@@ -2297,7 +2300,7 @@ enifed('ember-metal/computed', ['exports', 'ember-metal/property_set', 'ember-me
|
|
2297
2300
|
@return {Object} the cached value
|
2298
2301
|
*/
|
2299
2302
|
function cacheFor(obj, key) {
|
2300
|
-
var meta = obj[
|
2303
|
+
var meta = obj['__ember_meta__'];
|
2301
2304
|
var cache = meta && meta.cache;
|
2302
2305
|
var ret = cache && cache[key];
|
2303
2306
|
|
@@ -2397,8 +2400,9 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/core', 'ember-met
|
|
2397
2400
|
@return {Ember.ComputedProperty} computed property which negate
|
2398
2401
|
the original value for property
|
2399
2402
|
*/
|
2403
|
+
|
2400
2404
|
function empty(dependentKey) {
|
2401
|
-
return computed.computed(dependentKey +
|
2405
|
+
return computed.computed(dependentKey + '.length', function () {
|
2402
2406
|
return isEmpty['default'](property_get.get(this, dependentKey));
|
2403
2407
|
});
|
2404
2408
|
}
|
@@ -2427,8 +2431,9 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/core', 'ember-met
|
|
2427
2431
|
@return {Ember.ComputedProperty} computed property which returns true if
|
2428
2432
|
original value for property is not empty.
|
2429
2433
|
*/
|
2434
|
+
|
2430
2435
|
function notEmpty(dependentKey) {
|
2431
|
-
return computed.computed(dependentKey +
|
2436
|
+
return computed.computed(dependentKey + '.length', function () {
|
2432
2437
|
return !isEmpty['default'](property_get.get(this, dependentKey));
|
2433
2438
|
});
|
2434
2439
|
}
|
@@ -2460,6 +2465,7 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/core', 'ember-met
|
|
2460
2465
|
@return {Ember.ComputedProperty} computed property which
|
2461
2466
|
returns true if original value for property is null or undefined.
|
2462
2467
|
*/
|
2468
|
+
|
2463
2469
|
function none(dependentKey) {
|
2464
2470
|
return computed.computed(dependentKey, function () {
|
2465
2471
|
return isNone['default'](property_get.get(this, dependentKey));
|
@@ -2490,6 +2496,7 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/core', 'ember-met
|
|
2490
2496
|
@return {Ember.ComputedProperty} computed property which returns
|
2491
2497
|
inverse of the original value for property
|
2492
2498
|
*/
|
2499
|
+
|
2493
2500
|
function not(dependentKey) {
|
2494
2501
|
return computed.computed(dependentKey, function () {
|
2495
2502
|
return !property_get.get(this, dependentKey);
|
@@ -2522,6 +2529,7 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/core', 'ember-met
|
|
2522
2529
|
@return {Ember.ComputedProperty} computed property which converts
|
2523
2530
|
to boolean the original value for property
|
2524
2531
|
*/
|
2532
|
+
|
2525
2533
|
function bool(dependentKey) {
|
2526
2534
|
return computed.computed(dependentKey, function () {
|
2527
2535
|
return !!property_get.get(this, dependentKey);
|
@@ -2556,11 +2564,12 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/core', 'ember-met
|
|
2556
2564
|
@return {Ember.ComputedProperty} computed property which match
|
2557
2565
|
the original value for property against a given RegExp
|
2558
2566
|
*/
|
2567
|
+
|
2559
2568
|
function match(dependentKey, regexp) {
|
2560
2569
|
return computed.computed(dependentKey, function () {
|
2561
2570
|
var value = property_get.get(this, dependentKey);
|
2562
2571
|
|
2563
|
-
return typeof value ===
|
2572
|
+
return typeof value === 'string' ? regexp.test(value) : false;
|
2564
2573
|
});
|
2565
2574
|
}
|
2566
2575
|
|
@@ -2591,6 +2600,7 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/core', 'ember-met
|
|
2591
2600
|
@return {Ember.ComputedProperty} computed property which returns true if
|
2592
2601
|
the original value for property is equal to the given value.
|
2593
2602
|
*/
|
2603
|
+
|
2594
2604
|
function equal(dependentKey, value) {
|
2595
2605
|
return computed.computed(dependentKey, function () {
|
2596
2606
|
return property_get.get(this, dependentKey) === value;
|
@@ -2624,6 +2634,7 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/core', 'ember-met
|
|
2624
2634
|
@return {Ember.ComputedProperty} computed property which returns true if
|
2625
2635
|
the original value for property is greater than given value.
|
2626
2636
|
*/
|
2637
|
+
|
2627
2638
|
function gt(dependentKey, value) {
|
2628
2639
|
return computed.computed(dependentKey, function () {
|
2629
2640
|
return property_get.get(this, dependentKey) > value;
|
@@ -2657,6 +2668,7 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/core', 'ember-met
|
|
2657
2668
|
@return {Ember.ComputedProperty} computed property which returns true if
|
2658
2669
|
the original value for property is greater or equal then given value.
|
2659
2670
|
*/
|
2671
|
+
|
2660
2672
|
function gte(dependentKey, value) {
|
2661
2673
|
return computed.computed(dependentKey, function () {
|
2662
2674
|
return property_get.get(this, dependentKey) >= value;
|
@@ -2690,6 +2702,7 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/core', 'ember-met
|
|
2690
2702
|
@return {Ember.ComputedProperty} computed property which returns true if
|
2691
2703
|
the original value for property is less then given value.
|
2692
2704
|
*/
|
2705
|
+
|
2693
2706
|
function lt(dependentKey, value) {
|
2694
2707
|
return computed.computed(dependentKey, function () {
|
2695
2708
|
return property_get.get(this, dependentKey) < value;
|
@@ -2723,6 +2736,7 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/core', 'ember-met
|
|
2723
2736
|
@return {Ember.ComputedProperty} computed property which returns true if
|
2724
2737
|
the original value for property is less or equal than given value.
|
2725
2738
|
*/
|
2739
|
+
|
2726
2740
|
function lte(dependentKey, value) {
|
2727
2741
|
return computed.computed(dependentKey, function () {
|
2728
2742
|
return property_get.get(this, dependentKey) <= value;
|
@@ -2849,6 +2863,7 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/core', 'ember-met
|
|
2849
2863
|
one way computed property to the original value for property.
|
2850
2864
|
@since 1.5.0
|
2851
2865
|
*/
|
2866
|
+
|
2852
2867
|
function readOnly(dependentKey) {
|
2853
2868
|
return alias['default'](dependentKey).readOnly();
|
2854
2869
|
}
|
@@ -2880,15 +2895,16 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/core', 'ember-met
|
|
2880
2895
|
a standard getter and setter, but defaults to the value from `defaultPath`.
|
2881
2896
|
@deprecated Use `Ember.computed.oneWay` or custom CP with default instead.
|
2882
2897
|
*/
|
2898
|
+
|
2883
2899
|
function defaultTo(defaultPath) {
|
2884
2900
|
return computed.computed({
|
2885
2901
|
get: function (key) {
|
2886
|
-
Ember['default'].deprecate(
|
2902
|
+
Ember['default'].deprecate('Usage of Ember.computed.defaultTo is deprecated, use `Ember.computed.oneWay` instead.');
|
2887
2903
|
return property_get.get(this, defaultPath);
|
2888
2904
|
},
|
2889
2905
|
|
2890
2906
|
set: function (key, newValue, cachedValue) {
|
2891
|
-
Ember['default'].deprecate(
|
2907
|
+
Ember['default'].deprecate('Usage of Ember.computed.defaultTo is deprecated, use `Ember.computed.oneWay` instead.');
|
2892
2908
|
return newValue != null ? newValue : property_get.get(this, defaultPath);
|
2893
2909
|
}
|
2894
2910
|
});
|
@@ -2907,6 +2923,7 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/core', 'ember-met
|
|
2907
2923
|
alias with a deprecation to the original value for property.
|
2908
2924
|
@since 1.7.0
|
2909
2925
|
*/
|
2926
|
+
|
2910
2927
|
function deprecatingAlias(dependentKey) {
|
2911
2928
|
return computed.computed(dependentKey, {
|
2912
2929
|
get: function (key) {
|
@@ -2957,7 +2974,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
|
|
2957
2974
|
|
2958
2975
|
@class Ember
|
2959
2976
|
@static
|
2960
|
-
@version 1.12.
|
2977
|
+
@version 1.12.2
|
2961
2978
|
*/
|
2962
2979
|
|
2963
2980
|
if ('undefined' === typeof Ember) {
|
@@ -2986,10 +3003,10 @@ enifed('ember-metal/core', ['exports'], function (exports) {
|
|
2986
3003
|
/**
|
2987
3004
|
@property VERSION
|
2988
3005
|
@type String
|
2989
|
-
@default '1.12.
|
3006
|
+
@default '1.12.2'
|
2990
3007
|
@static
|
2991
3008
|
*/
|
2992
|
-
Ember.VERSION = '1.12.
|
3009
|
+
Ember.VERSION = '1.12.2';
|
2993
3010
|
|
2994
3011
|
/**
|
2995
3012
|
Standard environmental variables. You can define these in a global `EmberENV`
|
@@ -3030,7 +3047,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
|
|
3030
3047
|
@static
|
3031
3048
|
@since 1.1.0
|
3032
3049
|
*/
|
3033
|
-
Ember.FEATURES = {
|
3050
|
+
Ember.FEATURES = { "features-stripped-test": false, "ember-routing-named-substates": true, "mandatory-setter": true, "ember-htmlbars-component-generation": false, "ember-htmlbars-component-helper": true, "ember-htmlbars-inline-if-helper": true, "ember-htmlbars-attribute-syntax": true, "ember-routing-transitioning-classes": true, "new-computed-syntax": true, "ember-testing-checkbox-helpers": false, "ember-metal-stream": false, "ember-application-instance-initializers": true, "ember-application-initializer-context": true, "ember-router-willtransition": true, "ember-application-visit": false, "ember-views-component-block-info": false, "ember-routing-core-outlet": false, "ember-libraries-isregistered": false }; //jshint ignore:line
|
3034
3051
|
|
3035
3052
|
if (Ember.ENV.FEATURES) {
|
3036
3053
|
for (var feature in Ember.ENV.FEATURES) {
|
@@ -3168,26 +3185,7 @@ enifed('ember-metal/dependent_keys', ['exports', 'ember-metal/platform/create',
|
|
3168
3185
|
exports.addDependentKeys = addDependentKeys;
|
3169
3186
|
exports.removeDependentKeys = removeDependentKeys;
|
3170
3187
|
|
3171
|
-
"REMOVE_USE_STRICT: true";
|
3172
|
-
@module ember-metal
|
3173
|
-
*/
|
3174
|
-
|
3175
|
-
// ..........................................................
|
3176
|
-
// DEPENDENT KEYS
|
3177
|
-
//
|
3178
|
-
|
3179
|
-
// data structure:
|
3180
|
-
// meta.deps = {
|
3181
|
-
// 'depKey': {
|
3182
|
-
// 'keyName': count,
|
3183
|
-
// }
|
3184
|
-
// }
|
3185
|
-
|
3186
|
-
/*
|
3187
|
-
This function returns a map of unique dependencies for a
|
3188
|
-
given object and key.
|
3189
|
-
*/
|
3190
|
-
function keysForDep(depsMeta, depKey) {
|
3188
|
+
"REMOVE_USE_STRICT: true";function keysForDep(depsMeta, depKey) {
|
3191
3189
|
var keys = depsMeta[depKey];
|
3192
3190
|
if (!keys) {
|
3193
3191
|
// if there are no dependencies yet for a the given key
|
@@ -3202,8 +3200,9 @@ enifed('ember-metal/dependent_keys', ['exports', 'ember-metal/platform/create',
|
|
3202
3200
|
}
|
3203
3201
|
|
3204
3202
|
function metaForDeps(meta) {
|
3205
|
-
return keysForDep(meta,
|
3203
|
+
return keysForDep(meta, 'deps');
|
3206
3204
|
}
|
3205
|
+
|
3207
3206
|
function addDependentKeys(desc, obj, keyName, meta) {
|
3208
3207
|
// the descriptor has a list of dependent keys, so
|
3209
3208
|
// add all of its dependent keys.
|
@@ -3328,6 +3327,7 @@ enifed('ember-metal/enumerable_utils', ['exports', 'ember-metal/array'], functio
|
|
3328
3327
|
*
|
3329
3328
|
* @return {Array} An array of mapped values.
|
3330
3329
|
*/
|
3330
|
+
|
3331
3331
|
function map(obj, callback, thisArg) {
|
3332
3332
|
return obj.map ? obj.map(callback, thisArg) : ember_metal__array.map.call(obj, callback, thisArg);
|
3333
3333
|
}
|
@@ -3342,6 +3342,7 @@ enifed('ember-metal/enumerable_utils', ['exports', 'ember-metal/array'], functio
|
|
3342
3342
|
* @param {Object} thisArg Value to use as this when executing *callback*
|
3343
3343
|
*
|
3344
3344
|
*/
|
3345
|
+
|
3345
3346
|
function forEach(obj, callback, thisArg) {
|
3346
3347
|
return obj.forEach ? obj.forEach(callback, thisArg) : ember_metal__array.forEach.call(obj, callback, thisArg);
|
3347
3348
|
}
|
@@ -3358,6 +3359,7 @@ enifed('ember-metal/enumerable_utils', ['exports', 'ember-metal/array'], functio
|
|
3358
3359
|
* @return {Array} An array containing the filtered values
|
3359
3360
|
* @since 1.4.0
|
3360
3361
|
*/
|
3362
|
+
|
3361
3363
|
function filter(obj, callback, thisArg) {
|
3362
3364
|
return obj.filter ? obj.filter(callback, thisArg) : ember_metal__array.filter.call(obj, callback, thisArg);
|
3363
3365
|
}
|
@@ -3372,6 +3374,7 @@ enifed('ember-metal/enumerable_utils', ['exports', 'ember-metal/array'], functio
|
|
3372
3374
|
* @param {Object} index The index to start searching from
|
3373
3375
|
*
|
3374
3376
|
*/
|
3377
|
+
|
3375
3378
|
function indexOf(obj, element, index) {
|
3376
3379
|
return obj.indexOf ? obj.indexOf(element, index) : ember_metal__array.indexOf.call(obj, element, index);
|
3377
3380
|
}
|
@@ -3395,6 +3398,7 @@ enifed('ember-metal/enumerable_utils', ['exports', 'ember-metal/array'], functio
|
|
3395
3398
|
* @return {Array} An array of indexes.
|
3396
3399
|
*
|
3397
3400
|
*/
|
3401
|
+
|
3398
3402
|
function indexesOf(obj, elements) {
|
3399
3403
|
return elements === undefined ? [] : map(elements, function (item) {
|
3400
3404
|
return indexOf(obj, item);
|
@@ -3411,6 +3415,7 @@ enifed('ember-metal/enumerable_utils', ['exports', 'ember-metal/array'], functio
|
|
3411
3415
|
*
|
3412
3416
|
* @return 'undefined'
|
3413
3417
|
*/
|
3418
|
+
|
3414
3419
|
function addObject(array, item) {
|
3415
3420
|
var index = indexOf(array, item);
|
3416
3421
|
if (index === -1) {
|
@@ -3428,6 +3433,7 @@ enifed('ember-metal/enumerable_utils', ['exports', 'ember-metal/array'], functio
|
|
3428
3433
|
*
|
3429
3434
|
* @return 'undefined'
|
3430
3435
|
*/
|
3436
|
+
|
3431
3437
|
function removeObject(array, item) {
|
3432
3438
|
var index = indexOf(array, item);
|
3433
3439
|
if (index !== -1) {
|
@@ -3486,6 +3492,7 @@ enifed('ember-metal/enumerable_utils', ['exports', 'ember-metal/array'], functio
|
|
3486
3492
|
*
|
3487
3493
|
* @return {Array} The modified array.
|
3488
3494
|
*/
|
3495
|
+
|
3489
3496
|
function replace(array, idx, amt, objects) {
|
3490
3497
|
if (array.replace) {
|
3491
3498
|
return array.replace(idx, amt, objects);
|
@@ -3517,6 +3524,7 @@ enifed('ember-metal/enumerable_utils', ['exports', 'ember-metal/array'], functio
|
|
3517
3524
|
*
|
3518
3525
|
* @return {Array} The intersection of the two passed arrays.
|
3519
3526
|
*/
|
3527
|
+
|
3520
3528
|
function intersection(array1, array2) {
|
3521
3529
|
var result = [];
|
3522
3530
|
forEach(array1, function (element) {
|
@@ -3571,7 +3579,7 @@ enifed('ember-metal/environment', ['exports', 'ember-metal/core'], function (exp
|
|
3571
3579
|
isChrome: false,
|
3572
3580
|
location: null,
|
3573
3581
|
history: null,
|
3574
|
-
userAgent:
|
3582
|
+
userAgent: "Lynx (textmode)",
|
3575
3583
|
global: null
|
3576
3584
|
};
|
3577
3585
|
}
|
@@ -3631,8 +3639,7 @@ enifed('ember-metal/events', ['exports', 'ember-metal/core', 'ember-metal/utils'
|
|
3631
3639
|
exports.on = on;
|
3632
3640
|
exports.removeListener = removeListener;
|
3633
3641
|
|
3634
|
-
"REMOVE_USE_STRICT: true";
|
3635
|
-
var ONCE = 1;
|
3642
|
+
"REMOVE_USE_STRICT: true";var ONCE = 1;
|
3636
3643
|
var SUSPENDED = 2;
|
3637
3644
|
|
3638
3645
|
/*
|
@@ -3694,8 +3701,9 @@ enifed('ember-metal/events', ['exports', 'ember-metal/core', 'ember-metal/utils'
|
|
3694
3701
|
|
3695
3702
|
return actions;
|
3696
3703
|
}
|
3704
|
+
|
3697
3705
|
function accumulateListeners(obj, eventName, otherActions) {
|
3698
|
-
var meta = obj[
|
3706
|
+
var meta = obj['__ember_meta__'];
|
3699
3707
|
var actions = meta && meta.listeners && meta.listeners[eventName];
|
3700
3708
|
|
3701
3709
|
if (!actions) {
|
@@ -3730,10 +3738,11 @@ enifed('ember-metal/events', ['exports', 'ember-metal/core', 'ember-metal/utils'
|
|
3730
3738
|
@param {Function|String} method A function or the name of a function to be called on `target`
|
3731
3739
|
@param {Boolean} once A flag whether a function should only be called once
|
3732
3740
|
*/
|
3741
|
+
|
3733
3742
|
function addListener(obj, eventName, target, method, once) {
|
3734
3743
|
Ember['default'].assert("You must pass at least an object and event name to Ember.addListener", !!obj && !!eventName);
|
3735
3744
|
|
3736
|
-
if (!method &&
|
3745
|
+
if (!method && 'function' === typeof target) {
|
3737
3746
|
method = target;
|
3738
3747
|
target = null;
|
3739
3748
|
}
|
@@ -3752,7 +3761,7 @@ enifed('ember-metal/events', ['exports', 'ember-metal/core', 'ember-metal/utils'
|
|
3752
3761
|
|
3753
3762
|
actions.push(target, method, flags);
|
3754
3763
|
|
3755
|
-
if (
|
3764
|
+
if ('function' === typeof obj.didAddListener) {
|
3756
3765
|
obj.didAddListener(eventName, target, method);
|
3757
3766
|
}
|
3758
3767
|
}
|
@@ -3772,7 +3781,7 @@ enifed('ember-metal/events', ['exports', 'ember-metal/core', 'ember-metal/utils'
|
|
3772
3781
|
function removeListener(obj, eventName, target, method) {
|
3773
3782
|
Ember['default'].assert("You must pass at least an object and event name to Ember.removeListener", !!obj && !!eventName);
|
3774
3783
|
|
3775
|
-
if (!method &&
|
3784
|
+
if (!method && 'function' === typeof target) {
|
3776
3785
|
method = target;
|
3777
3786
|
target = null;
|
3778
3787
|
}
|
@@ -3788,7 +3797,7 @@ enifed('ember-metal/events', ['exports', 'ember-metal/core', 'ember-metal/utils'
|
|
3788
3797
|
|
3789
3798
|
actions.splice(actionIndex, 3);
|
3790
3799
|
|
3791
|
-
if (
|
3800
|
+
if ('function' === typeof obj.didRemoveListener) {
|
3792
3801
|
obj.didRemoveListener(eventName, target, method);
|
3793
3802
|
}
|
3794
3803
|
}
|
@@ -3796,7 +3805,7 @@ enifed('ember-metal/events', ['exports', 'ember-metal/core', 'ember-metal/utils'
|
|
3796
3805
|
if (method) {
|
3797
3806
|
_removeListener(target, method);
|
3798
3807
|
} else {
|
3799
|
-
var meta = obj[
|
3808
|
+
var meta = obj['__ember_meta__'];
|
3800
3809
|
var actions = meta && meta.listeners && meta.listeners[eventName];
|
3801
3810
|
|
3802
3811
|
if (!actions) {
|
@@ -3826,8 +3835,9 @@ enifed('ember-metal/events', ['exports', 'ember-metal/core', 'ember-metal/utils'
|
|
3826
3835
|
@param {Function|String} method A function or the name of a function to be called on `target`
|
3827
3836
|
@param {Function} callback
|
3828
3837
|
*/
|
3838
|
+
|
3829
3839
|
function suspendListener(obj, eventName, target, method, callback) {
|
3830
|
-
if (!method &&
|
3840
|
+
if (!method && 'function' === typeof target) {
|
3831
3841
|
method = target;
|
3832
3842
|
target = null;
|
3833
3843
|
}
|
@@ -3864,8 +3874,9 @@ enifed('ember-metal/events', ['exports', 'ember-metal/core', 'ember-metal/utils'
|
|
3864
3874
|
@param {Function|String} method A function or the name of a function to be called on `target`
|
3865
3875
|
@param {Function} callback
|
3866
3876
|
*/
|
3877
|
+
|
3867
3878
|
function suspendListeners(obj, eventNames, target, method, callback) {
|
3868
|
-
if (!method &&
|
3879
|
+
if (!method && 'function' === typeof target) {
|
3869
3880
|
method = target;
|
3870
3881
|
target = null;
|
3871
3882
|
}
|
@@ -3908,13 +3919,14 @@ enifed('ember-metal/events', ['exports', 'ember-metal/core', 'ember-metal/utils'
|
|
3908
3919
|
@for Ember
|
3909
3920
|
@param obj
|
3910
3921
|
*/
|
3922
|
+
|
3911
3923
|
function watchedEvents(obj) {
|
3912
|
-
var listeners = obj[
|
3924
|
+
var listeners = obj['__ember_meta__'].listeners;
|
3913
3925
|
var ret = [];
|
3914
3926
|
|
3915
3927
|
if (listeners) {
|
3916
3928
|
for (var eventName in listeners) {
|
3917
|
-
if (eventName !==
|
3929
|
+
if (eventName !== '__source__' && listeners[eventName]) {
|
3918
3930
|
ret.push(eventName);
|
3919
3931
|
}
|
3920
3932
|
}
|
@@ -3936,14 +3948,15 @@ enifed('ember-metal/events', ['exports', 'ember-metal/core', 'ember-metal/utils'
|
|
3936
3948
|
@param {Array} actions Optional array of actions (listeners).
|
3937
3949
|
@return true
|
3938
3950
|
*/
|
3951
|
+
|
3939
3952
|
function sendEvent(obj, eventName, params, actions) {
|
3940
3953
|
// first give object a chance to handle it
|
3941
|
-
if (obj !== Ember['default'] &&
|
3954
|
+
if (obj !== Ember['default'] && 'function' === typeof obj.sendEvent) {
|
3942
3955
|
obj.sendEvent(eventName, params);
|
3943
3956
|
}
|
3944
3957
|
|
3945
3958
|
if (!actions) {
|
3946
|
-
var meta = obj[
|
3959
|
+
var meta = obj['__ember_meta__'];
|
3947
3960
|
actions = meta && meta.listeners && meta.listeners[eventName];
|
3948
3961
|
}
|
3949
3962
|
|
@@ -3969,7 +3982,7 @@ enifed('ember-metal/events', ['exports', 'ember-metal/core', 'ember-metal/utils'
|
|
3969
3982
|
if (!target) {
|
3970
3983
|
target = obj;
|
3971
3984
|
}
|
3972
|
-
if (
|
3985
|
+
if ('string' === typeof method) {
|
3973
3986
|
if (params) {
|
3974
3987
|
utils.applyStr(target, method, params);
|
3975
3988
|
} else {
|
@@ -3993,8 +4006,9 @@ enifed('ember-metal/events', ['exports', 'ember-metal/core', 'ember-metal/utils'
|
|
3993
4006
|
@param obj
|
3994
4007
|
@param {String} eventName
|
3995
4008
|
*/
|
4009
|
+
|
3996
4010
|
function hasListeners(obj, eventName) {
|
3997
|
-
var meta = obj[
|
4011
|
+
var meta = obj['__ember_meta__'];
|
3998
4012
|
var actions = meta && meta.listeners && meta.listeners[eventName];
|
3999
4013
|
|
4000
4014
|
return !!(actions && actions.length);
|
@@ -4007,9 +4021,10 @@ enifed('ember-metal/events', ['exports', 'ember-metal/core', 'ember-metal/utils'
|
|
4007
4021
|
@param obj
|
4008
4022
|
@param {String} eventName
|
4009
4023
|
*/
|
4024
|
+
|
4010
4025
|
function listenersFor(obj, eventName) {
|
4011
4026
|
var ret = [];
|
4012
|
-
var meta = obj[
|
4027
|
+
var meta = obj['__ember_meta__'];
|
4013
4028
|
var actions = meta && meta.listeners && meta.listeners[eventName];
|
4014
4029
|
|
4015
4030
|
if (!actions) {
|
@@ -4048,6 +4063,7 @@ enifed('ember-metal/events', ['exports', 'ember-metal/core', 'ember-metal/utils'
|
|
4048
4063
|
@param {Function} func
|
4049
4064
|
@return func
|
4050
4065
|
*/
|
4066
|
+
|
4051
4067
|
function on() {
|
4052
4068
|
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
4053
4069
|
args[_key] = arguments[_key];
|
@@ -4144,7 +4160,7 @@ enifed('ember-metal/get_properties', ['exports', 'ember-metal/property_get', 'em
|
|
4144
4160
|
var propertyNames = arguments;
|
4145
4161
|
var i = 1;
|
4146
4162
|
|
4147
|
-
if (arguments.length === 2 && utils.typeOf(arguments[1]) ===
|
4163
|
+
if (arguments.length === 2 && utils.typeOf(arguments[1]) === 'array') {
|
4148
4164
|
i = 0;
|
4149
4165
|
propertyNames = arguments[1];
|
4150
4166
|
}
|
@@ -4169,11 +4185,11 @@ enifed('ember-metal/injected_property', ['exports', 'ember-metal/core', 'ember-m
|
|
4169
4185
|
|
4170
4186
|
function injectedPropertyGet(keyName) {
|
4171
4187
|
var possibleDesc = this[keyName];
|
4172
|
-
var desc = possibleDesc !== null && typeof possibleDesc ===
|
4188
|
+
var desc = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor ? possibleDesc : undefined;
|
4173
4189
|
|
4174
4190
|
Ember['default'].assert("Attempting to lookup an injected property on an object without a container, ensure that the object was instantiated via a container.", this.container);
|
4175
4191
|
|
4176
|
-
return this.container.lookup(desc.type +
|
4192
|
+
return this.container.lookup(desc.type + ':' + (desc.name || keyName));
|
4177
4193
|
}
|
4178
4194
|
|
4179
4195
|
InjectedProperty.prototype = create['default'](properties.Descriptor.prototype);
|
@@ -4221,7 +4237,7 @@ enifed('ember-metal/instrumentation', ['exports', 'ember-metal/core', 'ember-met
|
|
4221
4237
|
};
|
4222
4238
|
|
4223
4239
|
var time = (function () {
|
4224
|
-
var perf =
|
4240
|
+
var perf = 'undefined' !== typeof window ? window.performance || {} : {};
|
4225
4241
|
var fn = perf.now || perf.mozNow || perf.webkitNow || perf.msNow || perf.oNow;
|
4226
4242
|
// fn.bind will be available in all the browsers that support the advanced window.performance... ;-)
|
4227
4243
|
return fn ? fn.bind(perf) : function () {
|
@@ -4240,8 +4256,9 @@ enifed('ember-metal/instrumentation', ['exports', 'ember-metal/core', 'ember-met
|
|
4240
4256
|
@param {Function} callback Function that you're instrumenting.
|
4241
4257
|
@param {Object} binding Context that instrument function is called with.
|
4242
4258
|
*/
|
4259
|
+
|
4243
4260
|
function instrument(name, _payload, callback, binding) {
|
4244
|
-
if (arguments.length <= 3 && typeof _payload ===
|
4261
|
+
if (arguments.length <= 3 && typeof _payload === 'function') {
|
4245
4262
|
binding = callback;
|
4246
4263
|
callback = _payload;
|
4247
4264
|
_payload = undefined;
|
@@ -4322,6 +4339,7 @@ enifed('ember-metal/instrumentation', ['exports', 'ember-metal/core', 'ember-met
|
|
4322
4339
|
|
4323
4340
|
@return {Subscriber}
|
4324
4341
|
*/
|
4342
|
+
|
4325
4343
|
function subscribe(pattern, object) {
|
4326
4344
|
var paths = pattern.split(".");
|
4327
4345
|
var path;
|
@@ -4359,6 +4377,7 @@ enifed('ember-metal/instrumentation', ['exports', 'ember-metal/core', 'ember-met
|
|
4359
4377
|
|
4360
4378
|
@param {Object} [subscriber]
|
4361
4379
|
*/
|
4380
|
+
|
4362
4381
|
function unsubscribe(subscriber) {
|
4363
4382
|
var index;
|
4364
4383
|
|
@@ -4378,6 +4397,7 @@ enifed('ember-metal/instrumentation', ['exports', 'ember-metal/core', 'ember-met
|
|
4378
4397
|
@method reset
|
4379
4398
|
@namespace Ember.Instrumentation
|
4380
4399
|
*/
|
4400
|
+
|
4381
4401
|
function reset() {
|
4382
4402
|
subscribers.length = 0;
|
4383
4403
|
cache = {};
|
@@ -4573,7 +4593,7 @@ enifed('ember-metal/libraries', ['exports', 'ember-metal/core', 'ember-metal/enu
|
|
4573
4593
|
},
|
4574
4594
|
|
4575
4595
|
each: function (callback) {
|
4576
|
-
Ember['default'].deprecate(
|
4596
|
+
Ember['default'].deprecate('Using Ember.libraries.each() is deprecated. Access to a list of registered libraries is currently a private API. If you are not knowingly accessing this method, your out-of-date Ember Inspector may be doing so.');
|
4577
4597
|
enumerable_utils.forEach(this._registry, function (lib) {
|
4578
4598
|
callback(lib.name, lib.version);
|
4579
4599
|
});
|
@@ -4596,27 +4616,27 @@ enifed('ember-metal/logger', ['exports', 'ember-metal/core', 'ember-metal/error'
|
|
4596
4616
|
var consoleObj, logToConsole;
|
4597
4617
|
if (Ember['default'].imports.console) {
|
4598
4618
|
consoleObj = Ember['default'].imports.console;
|
4599
|
-
} else if (typeof console !==
|
4619
|
+
} else if (typeof console !== 'undefined') {
|
4600
4620
|
consoleObj = console;
|
4601
4621
|
}
|
4602
4622
|
|
4603
|
-
var method = typeof consoleObj ===
|
4623
|
+
var method = typeof consoleObj === 'object' ? consoleObj[name] : null;
|
4604
4624
|
|
4605
4625
|
if (method) {
|
4606
4626
|
// Older IE doesn't support bind, but Chrome needs it
|
4607
|
-
if (typeof method.bind ===
|
4627
|
+
if (typeof method.bind === 'function') {
|
4608
4628
|
logToConsole = method.bind(consoleObj);
|
4609
|
-
logToConsole.displayName =
|
4629
|
+
logToConsole.displayName = 'console.' + name;
|
4610
4630
|
return logToConsole;
|
4611
|
-
} else if (typeof method.apply ===
|
4631
|
+
} else if (typeof method.apply === 'function') {
|
4612
4632
|
logToConsole = function () {
|
4613
4633
|
method.apply(consoleObj, arguments);
|
4614
4634
|
};
|
4615
|
-
logToConsole.displayName =
|
4635
|
+
logToConsole.displayName = 'console.' + name;
|
4616
4636
|
return logToConsole;
|
4617
4637
|
} else {
|
4618
4638
|
return function () {
|
4619
|
-
var message = Array.prototype.join.call(arguments,
|
4639
|
+
var message = Array.prototype.join.call(arguments, ', ');
|
4620
4640
|
method(message);
|
4621
4641
|
};
|
4622
4642
|
}
|
@@ -4656,7 +4676,7 @@ enifed('ember-metal/logger', ['exports', 'ember-metal/core', 'ember-metal/error'
|
|
4656
4676
|
@for Ember.Logger
|
4657
4677
|
@param {*} arguments
|
4658
4678
|
*/
|
4659
|
-
log: consoleMethod(
|
4679
|
+
log: consoleMethod('log') || K,
|
4660
4680
|
|
4661
4681
|
/**
|
4662
4682
|
Prints the arguments to the console with a warning icon.
|
@@ -4669,7 +4689,7 @@ enifed('ember-metal/logger', ['exports', 'ember-metal/core', 'ember-metal/error'
|
|
4669
4689
|
@for Ember.Logger
|
4670
4690
|
@param {*} arguments
|
4671
4691
|
*/
|
4672
|
-
warn: consoleMethod(
|
4692
|
+
warn: consoleMethod('warn') || K,
|
4673
4693
|
|
4674
4694
|
/**
|
4675
4695
|
Prints the arguments to the console with an error icon, red text and a stack trace.
|
@@ -4682,7 +4702,7 @@ enifed('ember-metal/logger', ['exports', 'ember-metal/core', 'ember-metal/error'
|
|
4682
4702
|
@for Ember.Logger
|
4683
4703
|
@param {*} arguments
|
4684
4704
|
*/
|
4685
|
-
error: consoleMethod(
|
4705
|
+
error: consoleMethod('error') || K,
|
4686
4706
|
|
4687
4707
|
/**
|
4688
4708
|
Logs the arguments to the console.
|
@@ -4696,7 +4716,7 @@ enifed('ember-metal/logger', ['exports', 'ember-metal/core', 'ember-metal/error'
|
|
4696
4716
|
@for Ember.Logger
|
4697
4717
|
@param {*} arguments
|
4698
4718
|
*/
|
4699
|
-
info: consoleMethod(
|
4719
|
+
info: consoleMethod('info') || K,
|
4700
4720
|
|
4701
4721
|
/**
|
4702
4722
|
Logs the arguments to the console in blue text.
|
@@ -4710,7 +4730,7 @@ enifed('ember-metal/logger', ['exports', 'ember-metal/core', 'ember-metal/error'
|
|
4710
4730
|
@for Ember.Logger
|
4711
4731
|
@param {*} arguments
|
4712
4732
|
*/
|
4713
|
-
debug: consoleMethod(
|
4733
|
+
debug: consoleMethod('debug') || consoleMethod('info') || K,
|
4714
4734
|
|
4715
4735
|
/**
|
4716
4736
|
If the value passed into `Ember.Logger.assert` is not truthy it will throw an error with a stack trace.
|
@@ -4722,7 +4742,7 @@ enifed('ember-metal/logger', ['exports', 'ember-metal/core', 'ember-metal/error'
|
|
4722
4742
|
@for Ember.Logger
|
4723
4743
|
@param {Boolean} bool Value to test
|
4724
4744
|
*/
|
4725
|
-
assert: consoleMethod(
|
4745
|
+
assert: consoleMethod('assert') || assertPolyfill
|
4726
4746
|
};
|
4727
4747
|
|
4728
4748
|
});
|
@@ -4757,7 +4777,7 @@ enifed('ember-metal/map', ['exports', 'ember-metal/utils', 'ember-metal/array',
|
|
4757
4777
|
*/
|
4758
4778
|
|
4759
4779
|
function missingFunction(fn) {
|
4760
|
-
throw new TypeError(
|
4780
|
+
throw new TypeError(Object.prototype.toString.call(fn) + " is not a function");
|
4761
4781
|
}
|
4762
4782
|
|
4763
4783
|
function missingNew(name) {
|
@@ -4855,7 +4875,7 @@ enifed('ember-metal/map', ['exports', 'ember-metal/utils', 'ember-metal/array',
|
|
4855
4875
|
@return {Boolean}
|
4856
4876
|
*/
|
4857
4877
|
remove: function (obj, _guid) {
|
4858
|
-
Ember.deprecate(
|
4878
|
+
Ember.deprecate('Calling `OrderedSet.prototype.remove` has been deprecated, please use `OrderedSet.prototype.delete` instead.', this._silenceRemoveDeprecation);
|
4859
4879
|
|
4860
4880
|
return this["delete"](obj, _guid);
|
4861
4881
|
},
|
@@ -4915,7 +4935,7 @@ enifed('ember-metal/map', ['exports', 'ember-metal/utils', 'ember-metal/array',
|
|
4915
4935
|
@param self
|
4916
4936
|
*/
|
4917
4937
|
forEach: function (fn /*, ...thisArg*/) {
|
4918
|
-
if (typeof fn !==
|
4938
|
+
if (typeof fn !== 'function') {
|
4919
4939
|
missingFunction(fn);
|
4920
4940
|
}
|
4921
4941
|
|
@@ -4963,7 +4983,7 @@ enifed('ember-metal/map', ['exports', 'ember-metal/utils', 'ember-metal/array',
|
|
4963
4983
|
}
|
4964
4984
|
};
|
4965
4985
|
|
4966
|
-
deprecate_property.deprecateProperty(OrderedSet.prototype,
|
4986
|
+
deprecate_property.deprecateProperty(OrderedSet.prototype, 'length', 'size');
|
4967
4987
|
|
4968
4988
|
/**
|
4969
4989
|
A Map stores values indexed by keys. Unlike JavaScript's
|
@@ -5069,7 +5089,7 @@ enifed('ember-metal/map', ['exports', 'ember-metal/utils', 'ember-metal/array',
|
|
5069
5089
|
@return {Boolean} true if an item was removed, false otherwise
|
5070
5090
|
*/
|
5071
5091
|
remove: function (key) {
|
5072
|
-
Ember.deprecate(
|
5092
|
+
Ember.deprecate('Calling `Map.prototype.remove` has been deprecated, please use `Map.prototype.delete` instead.');
|
5073
5093
|
|
5074
5094
|
return this["delete"](key);
|
5075
5095
|
},
|
@@ -5121,7 +5141,7 @@ enifed('ember-metal/map', ['exports', 'ember-metal/utils', 'ember-metal/array',
|
|
5121
5141
|
callback. By default, `this` is the map.
|
5122
5142
|
*/
|
5123
5143
|
forEach: function (callback /*, ...thisArg*/) {
|
5124
|
-
if (typeof callback !==
|
5144
|
+
if (typeof callback !== 'function') {
|
5125
5145
|
missingFunction(callback);
|
5126
5146
|
}
|
5127
5147
|
|
@@ -5165,7 +5185,7 @@ enifed('ember-metal/map', ['exports', 'ember-metal/utils', 'ember-metal/array',
|
|
5165
5185
|
}
|
5166
5186
|
};
|
5167
5187
|
|
5168
|
-
deprecate_property.deprecateProperty(Map.prototype,
|
5188
|
+
deprecate_property.deprecateProperty(Map.prototype, 'length', 'size');
|
5169
5189
|
|
5170
5190
|
/**
|
5171
5191
|
@class MapWithDefault
|
@@ -5310,14 +5330,14 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5310
5330
|
var ret = m.mixins;
|
5311
5331
|
if (!ret) {
|
5312
5332
|
ret = m.mixins = {};
|
5313
|
-
} else if (!m.hasOwnProperty(
|
5333
|
+
} else if (!m.hasOwnProperty('mixins')) {
|
5314
5334
|
ret = m.mixins = o_create['default'](ret);
|
5315
5335
|
}
|
5316
5336
|
return ret;
|
5317
5337
|
}
|
5318
5338
|
|
5319
5339
|
function isMethod(obj) {
|
5320
|
-
return
|
5340
|
+
return 'function' === typeof obj && obj.isMethod !== false && obj !== Boolean && obj !== Object && obj !== Number && obj !== Array && obj !== Date && obj !== String;
|
5321
5341
|
}
|
5322
5342
|
|
5323
5343
|
var CONTINUE = {};
|
@@ -5362,7 +5382,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5362
5382
|
// it on the original object.
|
5363
5383
|
if (!superProperty) {
|
5364
5384
|
var possibleDesc = base[key];
|
5365
|
-
var superDesc = possibleDesc !== null && typeof possibleDesc ===
|
5385
|
+
var superDesc = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor ? possibleDesc : undefined;
|
5366
5386
|
|
5367
5387
|
superProperty = superDesc;
|
5368
5388
|
}
|
@@ -5389,7 +5409,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5389
5409
|
|
5390
5410
|
var sourceAvailable = (function () {
|
5391
5411
|
return this;
|
5392
|
-
}).toString().indexOf(
|
5412
|
+
}).toString().indexOf('return this;') > -1;
|
5393
5413
|
|
5394
5414
|
function giveMethodSuper(obj, key, method, values, descs) {
|
5395
5415
|
var superMethod;
|
@@ -5405,7 +5425,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5405
5425
|
superMethod = superMethod || obj[key];
|
5406
5426
|
|
5407
5427
|
// Only wrap the new method if the original method was a function
|
5408
|
-
if (superMethod === undefined ||
|
5428
|
+
if (superMethod === undefined || 'function' !== typeof superMethod) {
|
5409
5429
|
return method;
|
5410
5430
|
}
|
5411
5431
|
|
@@ -5414,7 +5434,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5414
5434
|
hasSuper = method.__hasSuper;
|
5415
5435
|
|
5416
5436
|
if (hasSuper === undefined) {
|
5417
|
-
hasSuper = method.toString().indexOf(
|
5437
|
+
hasSuper = method.toString().indexOf('_super') > -1;
|
5418
5438
|
method.__hasSuper = hasSuper;
|
5419
5439
|
}
|
5420
5440
|
}
|
@@ -5430,7 +5450,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5430
5450
|
var baseValue = values[key] || obj[key];
|
5431
5451
|
|
5432
5452
|
if (baseValue) {
|
5433
|
-
if (
|
5453
|
+
if ('function' === typeof baseValue.concat) {
|
5434
5454
|
if (value === null || value === undefined) {
|
5435
5455
|
return baseValue;
|
5436
5456
|
} else {
|
@@ -5493,7 +5513,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5493
5513
|
descs[key] = value;
|
5494
5514
|
values[key] = undefined;
|
5495
5515
|
} else {
|
5496
|
-
if (concats && array.indexOf.call(concats, key) >= 0 || key ===
|
5516
|
+
if (concats && array.indexOf.call(concats, key) >= 0 || key === 'concatenatedProperties' || key === 'mergedProperties') {
|
5497
5517
|
value = applyConcatenatedProperties(base, key, value, values);
|
5498
5518
|
} else if (mergings && array.indexOf.call(mergings, key) >= 0) {
|
5499
5519
|
value = applyMergedProperties(base, key, value, values);
|
@@ -5516,7 +5536,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5516
5536
|
|
5517
5537
|
for (var i = 0, l = mixins.length; i < l; i++) {
|
5518
5538
|
currentMixin = mixins[i];
|
5519
|
-
Ember['default'].assert("Expected hash or Mixin instance, got " + Object.prototype.toString.call(currentMixin), typeof currentMixin ===
|
5539
|
+
Ember['default'].assert("Expected hash or Mixin instance, got " + Object.prototype.toString.call(currentMixin), typeof currentMixin === 'object' && currentMixin !== null && Object.prototype.toString.call(currentMixin) !== '[object Array]');
|
5520
5540
|
|
5521
5541
|
props = mixinProperties(m, currentMixin);
|
5522
5542
|
if (props === CONTINUE) {
|
@@ -5528,8 +5548,8 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5528
5548
|
if (base.willMergeMixin) {
|
5529
5549
|
base.willMergeMixin(props);
|
5530
5550
|
}
|
5531
|
-
concats = concatenatedMixinProperties(
|
5532
|
-
mergings = concatenatedMixinProperties(
|
5551
|
+
concats = concatenatedMixinProperties('concatenatedProperties', props, values, base);
|
5552
|
+
mergings = concatenatedMixinProperties('mergedProperties', props, values, base);
|
5533
5553
|
|
5534
5554
|
for (key in props) {
|
5535
5555
|
if (!props.hasOwnProperty(key)) {
|
@@ -5540,7 +5560,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5540
5560
|
}
|
5541
5561
|
|
5542
5562
|
// manually copy toString() because some JS engines do not enumerate it
|
5543
|
-
if (props.hasOwnProperty(
|
5563
|
+
if (props.hasOwnProperty('toString')) {
|
5544
5564
|
base.toString = props.toString;
|
5545
5565
|
}
|
5546
5566
|
} else if (currentMixin.mixins) {
|
@@ -5559,7 +5579,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5559
5579
|
var bindings = m.bindings;
|
5560
5580
|
if (!bindings) {
|
5561
5581
|
bindings = m.bindings = {};
|
5562
|
-
} else if (!m.hasOwnProperty(
|
5582
|
+
} else if (!m.hasOwnProperty('bindings')) {
|
5563
5583
|
bindings = m.bindings = o_create['default'](m.bindings);
|
5564
5584
|
}
|
5565
5585
|
bindings[key] = value;
|
@@ -5631,7 +5651,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5631
5651
|
if (descs[altKey] || values[altKey]) {
|
5632
5652
|
value = values[altKey];
|
5633
5653
|
desc = descs[altKey];
|
5634
|
-
} else if ((possibleDesc = obj[altKey]) && possibleDesc !== null && typeof possibleDesc ===
|
5654
|
+
} else if ((possibleDesc = obj[altKey]) && possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor) {
|
5635
5655
|
desc = possibleDesc;
|
5636
5656
|
value = undefined;
|
5637
5657
|
} else {
|
@@ -5655,16 +5675,16 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5655
5675
|
function replaceObserversAndListeners(obj, key, observerOrListener) {
|
5656
5676
|
var prev = obj[key];
|
5657
5677
|
|
5658
|
-
if (
|
5659
|
-
updateObserversAndListeners(obj, key, prev,
|
5660
|
-
updateObserversAndListeners(obj, key, prev,
|
5661
|
-
updateObserversAndListeners(obj, key, prev,
|
5678
|
+
if ('function' === typeof prev) {
|
5679
|
+
updateObserversAndListeners(obj, key, prev, '__ember_observesBefore__', ember_metal__observer.removeBeforeObserver);
|
5680
|
+
updateObserversAndListeners(obj, key, prev, '__ember_observes__', ember_metal__observer.removeObserver);
|
5681
|
+
updateObserversAndListeners(obj, key, prev, '__ember_listens__', events.removeListener);
|
5662
5682
|
}
|
5663
5683
|
|
5664
|
-
if (
|
5665
|
-
updateObserversAndListeners(obj, key, observerOrListener,
|
5666
|
-
updateObserversAndListeners(obj, key, observerOrListener,
|
5667
|
-
updateObserversAndListeners(obj, key, observerOrListener,
|
5684
|
+
if ('function' === typeof observerOrListener) {
|
5685
|
+
updateObserversAndListeners(obj, key, observerOrListener, '__ember_observesBefore__', ember_metal__observer.addBeforeObserver);
|
5686
|
+
updateObserversAndListeners(obj, key, observerOrListener, '__ember_observes__', ember_metal__observer.addObserver);
|
5687
|
+
updateObserversAndListeners(obj, key, observerOrListener, '__ember_listens__', events.addListener);
|
5668
5688
|
}
|
5669
5689
|
}
|
5670
5690
|
|
@@ -5688,7 +5708,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5688
5708
|
|
5689
5709
|
for (var i = 0, l = keys.length; i < l; i++) {
|
5690
5710
|
key = keys[i];
|
5691
|
-
if (key ===
|
5711
|
+
if (key === 'constructor' || !values.hasOwnProperty(key)) {
|
5692
5712
|
continue;
|
5693
5713
|
}
|
5694
5714
|
|
@@ -5729,6 +5749,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5729
5749
|
@param mixins*
|
5730
5750
|
@return obj
|
5731
5751
|
*/
|
5752
|
+
|
5732
5753
|
function mixin(obj) {
|
5733
5754
|
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
5734
5755
|
args[_key - 1] = arguments[_key];
|
@@ -5835,13 +5856,14 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5835
5856
|
@param arguments*
|
5836
5857
|
*/
|
5837
5858
|
Mixin.create = function () {
|
5859
|
+
// ES6TODO: this relies on a global state?
|
5860
|
+
Ember['default'].anyUnprocessedMixins = true;
|
5861
|
+
var M = this;
|
5862
|
+
|
5838
5863
|
for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
5839
5864
|
args[_key2] = arguments[_key2];
|
5840
5865
|
}
|
5841
5866
|
|
5842
|
-
// ES6TODO: this relies on a global state?
|
5843
|
-
Ember['default'].anyUnprocessedMixins = true;
|
5844
|
-
var M = this;
|
5845
5867
|
return new M(args, undefined);
|
5846
5868
|
};
|
5847
5869
|
|
@@ -5868,7 +5890,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5868
5890
|
|
5869
5891
|
for (idx = 0; idx < len; idx++) {
|
5870
5892
|
currentMixin = arguments[idx];
|
5871
|
-
Ember['default'].assert("Expected hash or Mixin instance, got " + Object.prototype.toString.call(currentMixin), typeof currentMixin ===
|
5893
|
+
Ember['default'].assert("Expected hash or Mixin instance, got " + Object.prototype.toString.call(currentMixin), typeof currentMixin === 'object' && currentMixin !== null && Object.prototype.toString.call(currentMixin) !== '[object Array]');
|
5872
5894
|
|
5873
5895
|
if (currentMixin instanceof Mixin) {
|
5874
5896
|
mixins.push(currentMixin);
|
@@ -5926,7 +5948,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5926
5948
|
if (obj instanceof Mixin) {
|
5927
5949
|
return _detect(obj, this, {});
|
5928
5950
|
}
|
5929
|
-
var m = obj[
|
5951
|
+
var m = obj['__ember_meta__'];
|
5930
5952
|
var mixins = m && m.mixins;
|
5931
5953
|
if (mixins) {
|
5932
5954
|
return !!mixins[utils.guidFor(this)];
|
@@ -5935,11 +5957,12 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5935
5957
|
};
|
5936
5958
|
|
5937
5959
|
MixinPrototype.without = function () {
|
5960
|
+
var ret = new Mixin([this]);
|
5961
|
+
|
5938
5962
|
for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
5939
5963
|
args[_key3] = arguments[_key3];
|
5940
5964
|
}
|
5941
5965
|
|
5942
|
-
var ret = new Mixin([this]);
|
5943
5966
|
ret._without = args;
|
5944
5967
|
return ret;
|
5945
5968
|
};
|
@@ -5980,7 +6003,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
5980
6003
|
// returns the mixins currently applied to the specified object
|
5981
6004
|
// TODO: Make Ember.mixin
|
5982
6005
|
Mixin.mixins = function (obj) {
|
5983
|
-
var m = obj[
|
6006
|
+
var m = obj['__ember_meta__'];
|
5984
6007
|
var mixins = m && m.mixins;
|
5985
6008
|
var ret = [];
|
5986
6009
|
|
@@ -6002,7 +6025,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
6002
6025
|
|
6003
6026
|
REQUIRED = new ember_metal__properties.Descriptor();
|
6004
6027
|
REQUIRED.toString = function () {
|
6005
|
-
return
|
6028
|
+
return '(Required Property)';
|
6006
6029
|
};
|
6007
6030
|
|
6008
6031
|
/**
|
@@ -6011,8 +6034,9 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
6011
6034
|
@method required
|
6012
6035
|
@for Ember
|
6013
6036
|
*/
|
6037
|
+
|
6014
6038
|
function required() {
|
6015
|
-
Ember['default'].deprecate(
|
6039
|
+
Ember['default'].deprecate('Ember.required is deprecated as its behavior is inconsistent and unreliable.', false);
|
6016
6040
|
return REQUIRED;
|
6017
6041
|
}
|
6018
6042
|
|
@@ -6044,6 +6068,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
6044
6068
|
@for Ember
|
6045
6069
|
@param {String} methodName name of the method to alias
|
6046
6070
|
*/
|
6071
|
+
|
6047
6072
|
function aliasMethod(methodName) {
|
6048
6073
|
return new Alias(methodName);
|
6049
6074
|
}
|
@@ -6075,6 +6100,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
6075
6100
|
@param {Function} func
|
6076
6101
|
@return func
|
6077
6102
|
*/
|
6103
|
+
|
6078
6104
|
function observer() {
|
6079
6105
|
for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
6080
6106
|
args[_key4] = arguments[_key4];
|
@@ -6132,10 +6158,11 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
6132
6158
|
@param {Function} func
|
6133
6159
|
@return func
|
6134
6160
|
*/
|
6161
|
+
|
6135
6162
|
function immediateObserver() {
|
6136
6163
|
for (var i = 0, l = arguments.length; i < l; i++) {
|
6137
6164
|
var arg = arguments[i];
|
6138
|
-
Ember['default'].assert("Immediate observers must observe internal properties only, not properties on other objects.", typeof arg !== "string" || arg.indexOf(
|
6165
|
+
Ember['default'].assert("Immediate observers must observe internal properties only, not properties on other objects.", typeof arg !== "string" || arg.indexOf('.') === -1);
|
6139
6166
|
}
|
6140
6167
|
|
6141
6168
|
return observer.apply(this, arguments);
|
@@ -6183,6 +6210,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
6183
6210
|
@param {Function} func
|
6184
6211
|
@return func
|
6185
6212
|
*/
|
6213
|
+
|
6186
6214
|
function beforeObserver() {
|
6187
6215
|
for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
6188
6216
|
args[_key5] = arguments[_key5];
|
@@ -6237,8 +6265,8 @@ enifed('ember-metal/observer', ['exports', 'ember-metal/watching', 'ember-metal/
|
|
6237
6265
|
exports.beforeObserversFor = beforeObserversFor;
|
6238
6266
|
exports.removeBeforeObserver = removeBeforeObserver;
|
6239
6267
|
|
6240
|
-
var AFTER_OBSERVERS =
|
6241
|
-
var BEFORE_OBSERVERS =
|
6268
|
+
var AFTER_OBSERVERS = ':change';
|
6269
|
+
var BEFORE_OBSERVERS = ':before';
|
6242
6270
|
|
6243
6271
|
function changeEvent(keyName) {
|
6244
6272
|
return keyName + AFTER_OBSERVERS;
|
@@ -6256,6 +6284,7 @@ enifed('ember-metal/observer', ['exports', 'ember-metal/watching', 'ember-metal/
|
|
6256
6284
|
@param {Object|Function} targetOrMethod
|
6257
6285
|
@param {Function|String} [method]
|
6258
6286
|
*/
|
6287
|
+
|
6259
6288
|
function addObserver(obj, _path, target, method) {
|
6260
6289
|
ember_metal__events.addListener(obj, changeEvent(_path), target, method);
|
6261
6290
|
watching.watch(obj, _path);
|
@@ -6275,6 +6304,7 @@ enifed('ember-metal/observer', ['exports', 'ember-metal/watching', 'ember-metal/
|
|
6275
6304
|
@param {Object|Function} target
|
6276
6305
|
@param {Function|String} [method]
|
6277
6306
|
*/
|
6307
|
+
|
6278
6308
|
function removeObserver(obj, path, target, method) {
|
6279
6309
|
watching.unwatch(obj, path);
|
6280
6310
|
ember_metal__events.removeListener(obj, changeEvent(path), target, method);
|
@@ -6290,6 +6320,7 @@ enifed('ember-metal/observer', ['exports', 'ember-metal/watching', 'ember-metal/
|
|
6290
6320
|
@param {Object|Function} target
|
6291
6321
|
@param {Function|String} [method]
|
6292
6322
|
*/
|
6323
|
+
|
6293
6324
|
function addBeforeObserver(obj, path, target, method) {
|
6294
6325
|
ember_metal__events.addListener(obj, beforeEvent(path), target, method);
|
6295
6326
|
watching.watch(obj, path);
|
@@ -6332,6 +6363,7 @@ enifed('ember-metal/observer', ['exports', 'ember-metal/watching', 'ember-metal/
|
|
6332
6363
|
@param {Object|Function} target
|
6333
6364
|
@param {Function|String} [method]
|
6334
6365
|
*/
|
6366
|
+
|
6335
6367
|
function removeBeforeObserver(obj, path, target, method) {
|
6336
6368
|
watching.unwatch(obj, path);
|
6337
6369
|
ember_metal__events.removeListener(obj, beforeEvent(path), target, method);
|
@@ -6446,7 +6478,9 @@ enifed('ember-metal/path_cache', ['exports', 'ember-metal/cache'], function (exp
|
|
6446
6478
|
firstDotIndexCache: firstDotIndexCache,
|
6447
6479
|
firstKeyCache: firstKeyCache,
|
6448
6480
|
tailPathCache: tailPathCache
|
6449
|
-
};
|
6481
|
+
};
|
6482
|
+
|
6483
|
+
function isGlobal(path) {
|
6450
6484
|
return isGlobalCache.get(path);
|
6451
6485
|
}
|
6452
6486
|
|
@@ -6478,20 +6512,7 @@ enifed('ember-metal/platform/create', ['exports', 'ember-metal/platform/define_p
|
|
6478
6512
|
|
6479
6513
|
|
6480
6514
|
|
6481
|
-
|
6482
|
-
@class platform
|
6483
|
-
@namespace Ember
|
6484
|
-
@static
|
6485
|
-
*/
|
6486
|
-
|
6487
|
-
/**
|
6488
|
-
Identical to `Object.create()`. Implements if not available natively.
|
6489
|
-
|
6490
|
-
@since 1.8.0
|
6491
|
-
@method create
|
6492
|
-
@for Ember
|
6493
|
-
*/
|
6494
|
-
var create;
|
6515
|
+
"REMOVE_USE_STRICT: true";var create;
|
6495
6516
|
// ES5 15.2.3.5
|
6496
6517
|
// http://es5.github.com/#x15.2.3.5
|
6497
6518
|
if (!(Object.create && !Object.create(null).hasOwnProperty)) {
|
@@ -6504,7 +6525,7 @@ enifed('ember-metal/platform/create', ['exports', 'ember-metal/platform/define_p
|
|
6504
6525
|
// Object.prototype.__proto__ === null
|
6505
6526
|
if (supportsProto || typeof document === 'undefined') {
|
6506
6527
|
createEmpty = function () {
|
6507
|
-
return {
|
6528
|
+
return { "__proto__": null };
|
6508
6529
|
};
|
6509
6530
|
} else {
|
6510
6531
|
// In old IE __proto__ can't be used to manually set `null`, nor does
|
@@ -6547,13 +6568,13 @@ enifed('ember-metal/platform/create', ['exports', 'ember-metal/platform/define_p
|
|
6547
6568
|
if (prototype === null) {
|
6548
6569
|
object = createEmpty();
|
6549
6570
|
} else {
|
6550
|
-
if (typeof prototype !==
|
6571
|
+
if (typeof prototype !== "object" && typeof prototype !== "function") {
|
6551
6572
|
// In the native implementation `parent` can be `null`
|
6552
6573
|
// OR *any* `instanceof Object` (Object|Function|Array|RegExp|etc)
|
6553
6574
|
// Use `typeof` tho, b/c in old IE, DOM elements are not `instanceof Object`
|
6554
6575
|
// like they are in modern browsers. Using `Object.create` on DOM elements
|
6555
6576
|
// is...err...probably inappropriate, but the native version allows for it.
|
6556
|
-
throw new TypeError(
|
6577
|
+
throw new TypeError("Object prototype may only be an Object or null"); // same msg as Chrome
|
6557
6578
|
}
|
6558
6579
|
|
6559
6580
|
Type.prototype = prototype;
|
@@ -6708,10 +6729,10 @@ enifed('ember-metal/platform/define_property', ['exports'], function (exports) {
|
|
6708
6729
|
defineProperty = function (obj, keyName, desc) {
|
6709
6730
|
var isNode;
|
6710
6731
|
|
6711
|
-
if (typeof Node ===
|
6732
|
+
if (typeof Node === "object") {
|
6712
6733
|
isNode = obj instanceof Node;
|
6713
6734
|
} else {
|
6714
|
-
isNode = typeof obj ===
|
6735
|
+
isNode = typeof obj === "object" && typeof obj.nodeType === "number" && typeof obj.nodeName === "string";
|
6715
6736
|
}
|
6716
6737
|
|
6717
6738
|
if (isNode) {
|
@@ -6766,7 +6787,7 @@ enifed('ember-metal/properties', ['exports', 'ember-metal/core', 'ember-metal/ut
|
|
6766
6787
|
|
6767
6788
|
function DEFAULT_GETTER_FUNCTION(name) {
|
6768
6789
|
return function GETTER_FUNCTION() {
|
6769
|
-
var meta = this[
|
6790
|
+
var meta = this['__ember_meta__'];
|
6770
6791
|
return meta && meta.values[name];
|
6771
6792
|
};
|
6772
6793
|
}
|
@@ -6816,6 +6837,7 @@ enifed('ember-metal/properties', ['exports', 'ember-metal/core', 'ember-metal/ut
|
|
6816
6837
|
@param {*} [data] something other than a descriptor, that will
|
6817
6838
|
become the explicit value of this property.
|
6818
6839
|
*/
|
6840
|
+
|
6819
6841
|
function defineProperty(obj, keyName, desc, data, meta) {
|
6820
6842
|
var possibleDesc, existingDesc, watching, value;
|
6821
6843
|
|
@@ -6824,7 +6846,7 @@ enifed('ember-metal/properties', ['exports', 'ember-metal/core', 'ember-metal/ut
|
|
6824
6846
|
}
|
6825
6847
|
var watchEntry = meta.watching[keyName];
|
6826
6848
|
possibleDesc = obj[keyName];
|
6827
|
-
existingDesc = possibleDesc !== null && typeof possibleDesc ===
|
6849
|
+
existingDesc = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor ? possibleDesc : undefined;
|
6828
6850
|
|
6829
6851
|
watching = watchEntry !== undefined && watchEntry > 0;
|
6830
6852
|
|
@@ -6924,11 +6946,11 @@ enifed('ember-metal/property_events', ['exports', 'ember-metal/utils', 'ember-me
|
|
6924
6946
|
@return {void}
|
6925
6947
|
*/
|
6926
6948
|
function propertyWillChange(obj, keyName) {
|
6927
|
-
var m = obj[
|
6928
|
-
var watching = m && m.watching[keyName] > 0 || keyName ===
|
6949
|
+
var m = obj['__ember_meta__'];
|
6950
|
+
var watching = m && m.watching[keyName] > 0 || keyName === 'length';
|
6929
6951
|
var proto = m && m.proto;
|
6930
6952
|
var possibleDesc = obj[keyName];
|
6931
|
-
var desc = possibleDesc !== null && typeof possibleDesc ===
|
6953
|
+
var desc = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor ? possibleDesc : undefined;
|
6932
6954
|
|
6933
6955
|
if (!watching) {
|
6934
6956
|
return;
|
@@ -6963,11 +6985,11 @@ enifed('ember-metal/property_events', ['exports', 'ember-metal/utils', 'ember-me
|
|
6963
6985
|
@return {void}
|
6964
6986
|
*/
|
6965
6987
|
function propertyDidChange(obj, keyName) {
|
6966
|
-
var m = obj[
|
6967
|
-
var watching = m && m.watching[keyName] > 0 || keyName ===
|
6988
|
+
var m = obj['__ember_meta__'];
|
6989
|
+
var watching = m && m.watching[keyName] > 0 || keyName === 'length';
|
6968
6990
|
var proto = m && m.proto;
|
6969
6991
|
var possibleDesc = obj[keyName];
|
6970
|
-
var desc = possibleDesc !== null && typeof possibleDesc ===
|
6992
|
+
var desc = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor ? possibleDesc : undefined;
|
6971
6993
|
|
6972
6994
|
if (proto === obj) {
|
6973
6995
|
return;
|
@@ -6978,7 +7000,7 @@ enifed('ember-metal/property_events', ['exports', 'ember-metal/utils', 'ember-me
|
|
6978
7000
|
desc.didChange(obj, keyName);
|
6979
7001
|
}
|
6980
7002
|
|
6981
|
-
if (!watching && keyName !==
|
7003
|
+
if (!watching && keyName !== 'length') {
|
6982
7004
|
return;
|
6983
7005
|
}
|
6984
7006
|
|
@@ -7067,7 +7089,7 @@ enifed('ember-metal/property_events', ['exports', 'ember-metal/utils', 'ember-me
|
|
7067
7089
|
for (i = 0; i < keys.length; i++) {
|
7068
7090
|
key = keys[i];
|
7069
7091
|
possibleDesc = obj[key];
|
7070
|
-
desc = possibleDesc !== null && typeof possibleDesc ===
|
7092
|
+
desc = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor ? possibleDesc : undefined;
|
7071
7093
|
|
7072
7094
|
if (desc && desc._suspended === obj) {
|
7073
7095
|
continue;
|
@@ -7079,7 +7101,7 @@ enifed('ember-metal/property_events', ['exports', 'ember-metal/utils', 'ember-me
|
|
7079
7101
|
}
|
7080
7102
|
|
7081
7103
|
function chainsWillChange(obj, keyName, m) {
|
7082
|
-
if (!(m.hasOwnProperty(
|
7104
|
+
if (!(m.hasOwnProperty('chainWatchers') && m.chainWatchers[keyName])) {
|
7083
7105
|
return;
|
7084
7106
|
}
|
7085
7107
|
|
@@ -7097,7 +7119,7 @@ enifed('ember-metal/property_events', ['exports', 'ember-metal/utils', 'ember-me
|
|
7097
7119
|
}
|
7098
7120
|
|
7099
7121
|
function chainsDidChange(obj, keyName, m, suppressEvents) {
|
7100
|
-
if (!(m && m.hasOwnProperty(
|
7122
|
+
if (!(m && m.hasOwnProperty('chainWatchers') && m.chainWatchers[keyName])) {
|
7101
7123
|
return;
|
7102
7124
|
}
|
7103
7125
|
|
@@ -7168,7 +7190,7 @@ enifed('ember-metal/property_events', ['exports', 'ember-metal/utils', 'ember-me
|
|
7168
7190
|
return;
|
7169
7191
|
}
|
7170
7192
|
|
7171
|
-
var eventName = keyName +
|
7193
|
+
var eventName = keyName + ':before';
|
7172
7194
|
var listeners, added;
|
7173
7195
|
if (deferred) {
|
7174
7196
|
listeners = beforeObserverSet.add(obj, keyName, eventName);
|
@@ -7184,7 +7206,7 @@ enifed('ember-metal/property_events', ['exports', 'ember-metal/utils', 'ember-me
|
|
7184
7206
|
return;
|
7185
7207
|
}
|
7186
7208
|
|
7187
|
-
var eventName = keyName +
|
7209
|
+
var eventName = keyName + ':change';
|
7188
7210
|
var listeners;
|
7189
7211
|
if (deferred) {
|
7190
7212
|
listeners = observerSet.add(obj, keyName, eventName);
|
@@ -7237,13 +7259,14 @@ enifed('ember-metal/property_get', ['exports', 'ember-metal/core', 'ember-metal/
|
|
7237
7259
|
@param {String} keyName The property key to retrieve
|
7238
7260
|
@return {Object} the property value or `null`.
|
7239
7261
|
*/
|
7262
|
+
|
7240
7263
|
function get(obj, keyName) {
|
7241
7264
|
// Helpers that operate with 'this' within an #each
|
7242
|
-
if (keyName ===
|
7265
|
+
if (keyName === '') {
|
7243
7266
|
return obj;
|
7244
7267
|
}
|
7245
7268
|
|
7246
|
-
if (!keyName &&
|
7269
|
+
if (!keyName && 'string' === typeof obj) {
|
7247
7270
|
keyName = obj;
|
7248
7271
|
obj = Ember['default'].lookup;
|
7249
7272
|
}
|
@@ -7255,9 +7278,9 @@ enifed('ember-metal/property_get', ['exports', 'ember-metal/core', 'ember-metal/
|
|
7255
7278
|
return _getPath(obj, keyName);
|
7256
7279
|
}
|
7257
7280
|
|
7258
|
-
var meta = obj[
|
7281
|
+
var meta = obj['__ember_meta__'];
|
7259
7282
|
var possibleDesc = obj[keyName];
|
7260
|
-
var desc = possibleDesc !== null && typeof possibleDesc ===
|
7283
|
+
var desc = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor ? possibleDesc : undefined;
|
7261
7284
|
var ret;
|
7262
7285
|
|
7263
7286
|
if (desc === undefined && path_cache.isPath(keyName)) {
|
@@ -7274,7 +7297,7 @@ enifed('ember-metal/property_get', ['exports', 'ember-metal/core', 'ember-metal/
|
|
7274
7297
|
ret = obj[keyName];
|
7275
7298
|
}
|
7276
7299
|
|
7277
|
-
if (ret === undefined &&
|
7300
|
+
if (ret === undefined && 'object' === typeof obj && !(keyName in obj) && 'function' === typeof obj.unknownProperty) {
|
7278
7301
|
return obj.unknownProperty(keyName);
|
7279
7302
|
}
|
7280
7303
|
|
@@ -7295,13 +7318,14 @@ enifed('ember-metal/property_get', ['exports', 'ember-metal/core', 'ember-metal/
|
|
7295
7318
|
@param {String} path A path on the target or a global property path.
|
7296
7319
|
@return {Array} a temporary array with the normalized target/path pair.
|
7297
7320
|
*/
|
7321
|
+
|
7298
7322
|
function normalizeTuple(target, path) {
|
7299
7323
|
var hasThis = path_cache.hasThis(path);
|
7300
7324
|
var isGlobal = !hasThis && path_cache.isGlobal(path);
|
7301
7325
|
var key;
|
7302
7326
|
|
7303
7327
|
if (!target && !isGlobal) {
|
7304
|
-
return [undefined,
|
7328
|
+
return [undefined, ''];
|
7305
7329
|
}
|
7306
7330
|
|
7307
7331
|
if (hasThis) {
|
@@ -7329,6 +7353,7 @@ enifed('ember-metal/property_get', ['exports', 'ember-metal/core', 'ember-metal/
|
|
7329
7353
|
throw new EmberError['default']("Object in path " + path + " could not be found or was destroyed.");
|
7330
7354
|
}
|
7331
7355
|
}
|
7356
|
+
|
7332
7357
|
function _getPath(root, path) {
|
7333
7358
|
var hasThis, parts, tuple, idx, len;
|
7334
7359
|
|
@@ -7373,7 +7398,7 @@ enifed('ember-metal/property_set', ['exports', 'ember-metal/core', 'ember-metal/
|
|
7373
7398
|
exports.trySet = trySet;
|
7374
7399
|
|
7375
7400
|
function set(obj, keyName, value, tolerant) {
|
7376
|
-
if (typeof obj ===
|
7401
|
+
if (typeof obj === 'string') {
|
7377
7402
|
Ember['default'].assert("Path '" + obj + "' must be global if no obj is given.", path_cache.isGlobalPath(obj));
|
7378
7403
|
value = keyName;
|
7379
7404
|
keyName = obj;
|
@@ -7388,9 +7413,9 @@ enifed('ember-metal/property_set', ['exports', 'ember-metal/core', 'ember-metal/
|
|
7388
7413
|
|
7389
7414
|
var meta, possibleDesc, desc;
|
7390
7415
|
if (obj) {
|
7391
|
-
meta = obj[
|
7416
|
+
meta = obj['__ember_meta__'];
|
7392
7417
|
possibleDesc = obj[keyName];
|
7393
|
-
desc = possibleDesc !== null && typeof possibleDesc ===
|
7418
|
+
desc = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor ? possibleDesc : undefined;
|
7394
7419
|
}
|
7395
7420
|
|
7396
7421
|
var isUnknown, currentValue;
|
@@ -7399,22 +7424,22 @@ enifed('ember-metal/property_set', ['exports', 'ember-metal/core', 'ember-metal/
|
|
7399
7424
|
}
|
7400
7425
|
|
7401
7426
|
Ember['default'].assert("You need to provide an object and key to `set`.", !!obj && keyName !== undefined);
|
7402
|
-
Ember['default'].assert(
|
7427
|
+
Ember['default'].assert('calling set on destroyed object', !obj.isDestroyed);
|
7403
7428
|
|
7404
7429
|
if (desc) {
|
7405
7430
|
desc.set(obj, keyName, value);
|
7406
7431
|
} else {
|
7407
7432
|
|
7408
|
-
if (obj !== null && value !== undefined && typeof obj ===
|
7433
|
+
if (obj !== null && value !== undefined && typeof obj === 'object' && obj[keyName] === value) {
|
7409
7434
|
return value;
|
7410
7435
|
}
|
7411
7436
|
|
7412
|
-
isUnknown =
|
7437
|
+
isUnknown = 'object' === typeof obj && !(keyName in obj);
|
7413
7438
|
|
7414
7439
|
// setUnknownProperty is called if `obj` is an object,
|
7415
7440
|
// the property does not already exist, and the
|
7416
7441
|
// `setUnknownProperty` method exists on the object
|
7417
|
-
if (isUnknown &&
|
7442
|
+
if (isUnknown && 'function' === typeof obj.setUnknownProperty) {
|
7418
7443
|
obj.setUnknownProperty(keyName, value);
|
7419
7444
|
} else if (meta && meta.watching[keyName] > 0) {
|
7420
7445
|
if (meta.proto !== obj) {
|
@@ -7433,8 +7458,8 @@ enifed('ember-metal/property_set', ['exports', 'ember-metal/core', 'ember-metal/
|
|
7433
7458
|
if (currentValue === undefined && !(keyName in obj) || !Object.prototype.propertyIsEnumerable.call(obj, keyName)) {
|
7434
7459
|
properties.defineProperty(obj, keyName, null, value); // setup mandatory setter
|
7435
7460
|
} else {
|
7436
|
-
|
7437
|
-
|
7461
|
+
meta.values[keyName] = value;
|
7462
|
+
}
|
7438
7463
|
} else {
|
7439
7464
|
obj[keyName] = value;
|
7440
7465
|
}
|
@@ -7451,26 +7476,26 @@ enifed('ember-metal/property_set', ['exports', 'ember-metal/core', 'ember-metal/
|
|
7451
7476
|
var keyName;
|
7452
7477
|
|
7453
7478
|
// get the last part of the path
|
7454
|
-
keyName = path.slice(path.lastIndexOf(
|
7479
|
+
keyName = path.slice(path.lastIndexOf('.') + 1);
|
7455
7480
|
|
7456
7481
|
// get the first part of the part
|
7457
7482
|
path = path === keyName ? keyName : path.slice(0, path.length - (keyName.length + 1));
|
7458
7483
|
|
7459
7484
|
// unless the path is this, look up the first part to
|
7460
7485
|
// get the root
|
7461
|
-
if (path !==
|
7486
|
+
if (path !== 'this') {
|
7462
7487
|
root = property_get._getPath(root, path);
|
7463
7488
|
}
|
7464
7489
|
|
7465
7490
|
if (!keyName || keyName.length === 0) {
|
7466
|
-
throw new EmberError['default'](
|
7491
|
+
throw new EmberError['default']('Property set failed: You passed an empty path');
|
7467
7492
|
}
|
7468
7493
|
|
7469
7494
|
if (!root) {
|
7470
7495
|
if (tolerant) {
|
7471
7496
|
return;
|
7472
7497
|
} else {
|
7473
|
-
throw new EmberError['default'](
|
7498
|
+
throw new EmberError['default']('Property set failed: object in path "' + path + '" could not be found or was destroyed.');
|
7474
7499
|
}
|
7475
7500
|
}
|
7476
7501
|
|
@@ -7490,6 +7515,7 @@ enifed('ember-metal/property_set', ['exports', 'ember-metal/core', 'ember-metal/
|
|
7490
7515
|
@param {String} path The property path to set
|
7491
7516
|
@param {Object} value The value to set
|
7492
7517
|
*/
|
7518
|
+
|
7493
7519
|
function trySet(root, path, value) {
|
7494
7520
|
return set(root, path, value, true);
|
7495
7521
|
}
|
@@ -7749,7 +7775,7 @@ enifed('ember-metal/run_loop', ['exports', 'ember-metal/core', 'ember-metal/util
|
|
7749
7775
|
@param {Object} [arguments*] Optional arguments to be passed to the queued method.
|
7750
7776
|
@return {void}
|
7751
7777
|
*/
|
7752
|
-
run.schedule = function () {
|
7778
|
+
run.schedule = function () /* queue, target, method */{
|
7753
7779
|
checkAutoRun();
|
7754
7780
|
backburner.schedule.apply(backburner, arguments);
|
7755
7781
|
};
|
@@ -7811,7 +7837,7 @@ enifed('ember-metal/run_loop', ['exports', 'ember-metal/core', 'ember-metal/util
|
|
7811
7837
|
@param {Number} wait Number of milliseconds to wait.
|
7812
7838
|
@return {*} Timer information for use in cancelling, see `run.cancel`.
|
7813
7839
|
*/
|
7814
|
-
run.later = function () {
|
7840
|
+
run.later = function () /*target, method*/{
|
7815
7841
|
return backburner.later.apply(backburner, arguments);
|
7816
7842
|
};
|
7817
7843
|
|
@@ -7828,11 +7854,12 @@ enifed('ember-metal/run_loop', ['exports', 'ember-metal/core', 'ember-metal/util
|
|
7828
7854
|
@return {Object} Timer information for use in cancelling, see `run.cancel`.
|
7829
7855
|
*/
|
7830
7856
|
run.once = function () {
|
7857
|
+
checkAutoRun();
|
7858
|
+
|
7831
7859
|
for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
7832
7860
|
args[_key3] = arguments[_key3];
|
7833
7861
|
}
|
7834
7862
|
|
7835
|
-
checkAutoRun();
|
7836
7863
|
args.unshift('actions');
|
7837
7864
|
return backburner.scheduleOnce.apply(backburner, args);
|
7838
7865
|
};
|
@@ -7888,7 +7915,7 @@ enifed('ember-metal/run_loop', ['exports', 'ember-metal/core', 'ember-metal/util
|
|
7888
7915
|
@param {Object} [args*] Optional arguments to pass to the timeout.
|
7889
7916
|
@return {Object} Timer information for use in cancelling, see `run.cancel`.
|
7890
7917
|
*/
|
7891
|
-
run.scheduleOnce = function () {
|
7918
|
+
run.scheduleOnce = function () /*queue, target, method*/{
|
7892
7919
|
checkAutoRun();
|
7893
7920
|
return backburner.scheduleOnce.apply(backburner, arguments);
|
7894
7921
|
};
|
@@ -8148,7 +8175,6 @@ enifed('ember-metal/run_loop', ['exports', 'ember-metal/core', 'ember-metal/util
|
|
8148
8175
|
run.queues.splice(array.indexOf.call(run.queues, after) + 1, 0, name);
|
8149
8176
|
}
|
8150
8177
|
};
|
8151
|
-
/* queue, target, method */ /*target, method*/ /*queue, target, method*/
|
8152
8178
|
|
8153
8179
|
});
|
8154
8180
|
enifed('ember-metal/set_properties', ['exports', 'ember-metal/property_events', 'ember-metal/property_set', 'ember-metal/keys'], function (exports, property_events, property_set, keys) {
|
@@ -8341,7 +8367,7 @@ enifed('ember-metal/streams/stream', ['exports', 'ember-metal/platform/create',
|
|
8341
8367
|
isStream: true,
|
8342
8368
|
|
8343
8369
|
init: function () {
|
8344
|
-
this.state =
|
8370
|
+
this.state = 'dirty';
|
8345
8371
|
this.cache = undefined;
|
8346
8372
|
this.subscriberHead = null;
|
8347
8373
|
this.subscriberTail = null;
|
@@ -8372,10 +8398,10 @@ enifed('ember-metal/streams/stream', ['exports', 'ember-metal/platform/create',
|
|
8372
8398
|
},
|
8373
8399
|
|
8374
8400
|
value: function () {
|
8375
|
-
if (this.state ===
|
8401
|
+
if (this.state === 'clean') {
|
8376
8402
|
return this.cache;
|
8377
|
-
} else if (this.state ===
|
8378
|
-
this.state =
|
8403
|
+
} else if (this.state === 'dirty') {
|
8404
|
+
this.state = 'clean';
|
8379
8405
|
return this.cache = this.valueFn();
|
8380
8406
|
}
|
8381
8407
|
// TODO: Ensure value is never called on a destroyed stream
|
@@ -8397,8 +8423,8 @@ enifed('ember-metal/streams/stream', ['exports', 'ember-metal/platform/create',
|
|
8397
8423
|
},
|
8398
8424
|
|
8399
8425
|
notifyExcept: function (callbackToSkip, contextToSkip) {
|
8400
|
-
if (this.state ===
|
8401
|
-
this.state =
|
8426
|
+
if (this.state === 'clean') {
|
8427
|
+
this.state = 'dirty';
|
8402
8428
|
this._notifySubscribers(callbackToSkip, contextToSkip);
|
8403
8429
|
}
|
8404
8430
|
},
|
@@ -8456,8 +8482,8 @@ enifed('ember-metal/streams/stream', ['exports', 'ember-metal/platform/create',
|
|
8456
8482
|
},
|
8457
8483
|
|
8458
8484
|
destroy: function () {
|
8459
|
-
if (this.state !==
|
8460
|
-
this.state =
|
8485
|
+
if (this.state !== 'destroyed') {
|
8486
|
+
this.state = 'destroyed';
|
8461
8487
|
|
8462
8488
|
var children = this.children;
|
8463
8489
|
for (var key in children) {
|
@@ -8520,7 +8546,7 @@ enifed('ember-metal/streams/stream_binding', ['exports', 'ember-metal/platform/c
|
|
8520
8546
|
this.senderCallback = callback;
|
8521
8547
|
this.senderContext = context;
|
8522
8548
|
this.senderValue = value;
|
8523
|
-
run['default'].schedule(
|
8549
|
+
run['default'].schedule('sync', this, this._sync);
|
8524
8550
|
} else if (this.senderContext !== this) {
|
8525
8551
|
this.senderCallback = callback;
|
8526
8552
|
this.senderContext = context;
|
@@ -8529,7 +8555,7 @@ enifed('ember-metal/streams/stream_binding', ['exports', 'ember-metal/platform/c
|
|
8529
8555
|
},
|
8530
8556
|
|
8531
8557
|
_sync: function () {
|
8532
|
-
if (this.state ===
|
8558
|
+
if (this.state === 'destroyed') {
|
8533
8559
|
return;
|
8534
8560
|
}
|
8535
8561
|
|
@@ -8544,7 +8570,7 @@ enifed('ember-metal/streams/stream_binding', ['exports', 'ember-metal/platform/c
|
|
8544
8570
|
this.senderValue = undefined;
|
8545
8571
|
|
8546
8572
|
// Force StreamBindings to always notify
|
8547
|
-
this.state =
|
8573
|
+
this.state = 'clean';
|
8548
8574
|
|
8549
8575
|
this.notifyExcept(senderCallback, senderContext);
|
8550
8576
|
},
|
@@ -8593,6 +8619,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
|
|
8593
8619
|
@param {Object} [context] the callback will be executed with this context if it
|
8594
8620
|
is provided
|
8595
8621
|
*/
|
8622
|
+
|
8596
8623
|
function subscribe(object, callback, context) {
|
8597
8624
|
if (object && object.isStream) {
|
8598
8625
|
object.subscribe(callback, context);
|
@@ -8610,6 +8637,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
|
|
8610
8637
|
@param {Function} callback function originally passed to `subscribe()`
|
8611
8638
|
@param {Object} [context] object originally passed to `subscribe()`
|
8612
8639
|
*/
|
8640
|
+
|
8613
8641
|
function unsubscribe(object, callback, context) {
|
8614
8642
|
if (object && object.isStream) {
|
8615
8643
|
object.unsubscribe(callback, context);
|
@@ -8626,6 +8654,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
|
|
8626
8654
|
@param {Object|Stream} object object to return the value of
|
8627
8655
|
@return the stream's current value, or the non-stream object itself
|
8628
8656
|
*/
|
8657
|
+
|
8629
8658
|
function read(object) {
|
8630
8659
|
if (object && object.isStream) {
|
8631
8660
|
return object.value();
|
@@ -8646,6 +8675,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
|
|
8646
8675
|
the values of stream objects retaining their original position
|
8647
8676
|
and replaced with the stream's current value.
|
8648
8677
|
*/
|
8678
|
+
|
8649
8679
|
function readArray(array) {
|
8650
8680
|
var length = array.length;
|
8651
8681
|
var ret = new Array(length);
|
@@ -8668,6 +8698,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
|
|
8668
8698
|
the case of non-stream objects, and the streams' current
|
8669
8699
|
values in the case of stream objects.
|
8670
8700
|
*/
|
8701
|
+
|
8671
8702
|
function readHash(object) {
|
8672
8703
|
var ret = {};
|
8673
8704
|
for (var key in object) {
|
@@ -8686,6 +8717,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
|
|
8686
8717
|
@return {Boolean} `true` if the array contains a stream/bound value, `false`
|
8687
8718
|
otherwise
|
8688
8719
|
*/
|
8720
|
+
|
8689
8721
|
function scanArray(array) {
|
8690
8722
|
var length = array.length;
|
8691
8723
|
var containsStream = false;
|
@@ -8710,6 +8742,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
|
|
8710
8742
|
@return {Boolean} `true` if the object contains a stream/bound value, `false`
|
8711
8743
|
otherwise
|
8712
8744
|
*/
|
8745
|
+
|
8713
8746
|
function scanHash(hash) {
|
8714
8747
|
var containsStream = false;
|
8715
8748
|
|
@@ -8736,6 +8769,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
|
|
8736
8769
|
provided separator, and any stream array members having been
|
8737
8770
|
replaced by the current value of the stream
|
8738
8771
|
*/
|
8772
|
+
|
8739
8773
|
function concat(array, separator) {
|
8740
8774
|
// TODO: Create subclass ConcatStream < Stream. Defer
|
8741
8775
|
// subscribing to streams until the value() is called.
|
@@ -8788,6 +8822,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
|
|
8788
8822
|
non-stream object, the return value of the provided
|
8789
8823
|
function `fn`.
|
8790
8824
|
*/
|
8825
|
+
|
8791
8826
|
function chain(value, fn) {
|
8792
8827
|
if (isStream(value)) {
|
8793
8828
|
var stream = new Stream['default'](fn);
|
@@ -8819,18 +8854,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
8819
8854
|
exports.isArray = isArray;
|
8820
8855
|
exports.canInvoke = canInvoke;
|
8821
8856
|
|
8822
|
-
"REMOVE_USE_STRICT: true";
|
8823
|
-
@module ember-metal
|
8824
|
-
*/
|
8825
|
-
|
8826
|
-
/**
|
8827
|
-
Previously we used `Ember.$.uuid`, however `$.uuid` has been removed from
|
8828
|
-
jQuery master. We'll just bootstrap our own uuid now.
|
8829
|
-
|
8830
|
-
@private
|
8831
|
-
@return {Number} the uuid
|
8832
|
-
*/
|
8833
|
-
var _uuid = 0;
|
8857
|
+
"REMOVE_USE_STRICT: true";var _uuid = 0;
|
8834
8858
|
|
8835
8859
|
/**
|
8836
8860
|
Generates a universally unique identifier. This method
|
@@ -8841,6 +8865,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
8841
8865
|
@public
|
8842
8866
|
@return {Number} [description]
|
8843
8867
|
*/
|
8868
|
+
|
8844
8869
|
function uuid() {
|
8845
8870
|
return ++_uuid;
|
8846
8871
|
}
|
@@ -8853,7 +8878,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
8853
8878
|
@type String
|
8854
8879
|
@final
|
8855
8880
|
*/
|
8856
|
-
var GUID_PREFIX =
|
8881
|
+
var GUID_PREFIX = 'ember';
|
8857
8882
|
|
8858
8883
|
// Used for guid generation...
|
8859
8884
|
var numberCache = [];
|
@@ -8923,7 +8948,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
8923
8948
|
@type String
|
8924
8949
|
@final
|
8925
8950
|
*/
|
8926
|
-
var GUID_KEY = intern(
|
8951
|
+
var GUID_KEY = intern('__ember' + +new Date());
|
8927
8952
|
|
8928
8953
|
var GUID_DESC = {
|
8929
8954
|
writable: true,
|
@@ -8954,7 +8979,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
8954
8979
|
};
|
8955
8980
|
|
8956
8981
|
var EMBER_META_PROPERTY = {
|
8957
|
-
name:
|
8982
|
+
name: '__ember_meta__',
|
8958
8983
|
descriptor: META_DESC
|
8959
8984
|
};
|
8960
8985
|
|
@@ -8964,7 +8989,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
8964
8989
|
};
|
8965
8990
|
|
8966
8991
|
var NEXT_SUPER_PROPERTY = {
|
8967
|
-
name:
|
8992
|
+
name: '__nextSuper',
|
8968
8993
|
descriptor: undefinedDescriptor
|
8969
8994
|
};
|
8970
8995
|
|
@@ -9003,6 +9028,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9003
9028
|
@param {Object} obj any object, string, number, Element, or primitive
|
9004
9029
|
@return {String} the unique guid for this instance.
|
9005
9030
|
*/
|
9031
|
+
|
9006
9032
|
function guidFor(obj) {
|
9007
9033
|
|
9008
9034
|
// special cases where we don't want to add a key to object
|
@@ -9019,26 +9045,26 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9019
9045
|
|
9020
9046
|
// Don't allow prototype changes to String etc. to change the guidFor
|
9021
9047
|
switch (type) {
|
9022
|
-
case
|
9048
|
+
case 'number':
|
9023
9049
|
ret = numberCache[obj];
|
9024
9050
|
|
9025
9051
|
if (!ret) {
|
9026
|
-
ret = numberCache[obj] =
|
9052
|
+
ret = numberCache[obj] = 'nu' + obj;
|
9027
9053
|
}
|
9028
9054
|
|
9029
9055
|
return ret;
|
9030
9056
|
|
9031
|
-
case
|
9057
|
+
case 'string':
|
9032
9058
|
ret = stringCache[obj];
|
9033
9059
|
|
9034
9060
|
if (!ret) {
|
9035
|
-
ret = stringCache[obj] =
|
9061
|
+
ret = stringCache[obj] = 'st' + uuid();
|
9036
9062
|
}
|
9037
9063
|
|
9038
9064
|
return ret;
|
9039
9065
|
|
9040
|
-
case
|
9041
|
-
return obj ?
|
9066
|
+
case 'boolean':
|
9067
|
+
return obj ? '(true)' : '(false)';
|
9042
9068
|
|
9043
9069
|
default:
|
9044
9070
|
if (obj[GUID_KEY]) {
|
@@ -9046,11 +9072,11 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9046
9072
|
}
|
9047
9073
|
|
9048
9074
|
if (obj === Object) {
|
9049
|
-
return
|
9075
|
+
return '(Object)';
|
9050
9076
|
}
|
9051
9077
|
|
9052
9078
|
if (obj === Array) {
|
9053
|
-
return
|
9079
|
+
return '(Array)';
|
9054
9080
|
}
|
9055
9081
|
|
9056
9082
|
ret = GUID_PREFIX + uuid();
|
@@ -9141,7 +9167,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9141
9167
|
if (obj.__defineNonEnumerable) {
|
9142
9168
|
obj.__defineNonEnumerable(EMBER_META_PROPERTY);
|
9143
9169
|
} else {
|
9144
|
-
define_property.defineProperty(obj,
|
9170
|
+
define_property.defineProperty(obj, '__ember_meta__', META_DESC);
|
9145
9171
|
}
|
9146
9172
|
}
|
9147
9173
|
|
@@ -9158,7 +9184,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9158
9184
|
if (obj.__defineNonEnumerable) {
|
9159
9185
|
obj.__defineNonEnumerable(EMBER_META_PROPERTY);
|
9160
9186
|
} else {
|
9161
|
-
define_property.defineProperty(obj,
|
9187
|
+
define_property.defineProperty(obj, '__ember_meta__', META_DESC);
|
9162
9188
|
}
|
9163
9189
|
|
9164
9190
|
ret = o_create['default'](ret);
|
@@ -9173,10 +9199,11 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9173
9199
|
}
|
9174
9200
|
|
9175
9201
|
|
9176
|
-
obj[
|
9202
|
+
obj['__ember_meta__'] = ret;
|
9177
9203
|
}
|
9178
9204
|
return ret;
|
9179
9205
|
}
|
9206
|
+
|
9180
9207
|
function getMeta(obj, property) {
|
9181
9208
|
var _meta = meta(obj, false);
|
9182
9209
|
return _meta[property];
|
@@ -9221,6 +9248,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9221
9248
|
(or meta property) if one does not already exist or if it's
|
9222
9249
|
shared with its constructor
|
9223
9250
|
*/
|
9251
|
+
|
9224
9252
|
function metaPath(obj, path, writable) {
|
9225
9253
|
Ember['default'].deprecate("Ember.metaPath is deprecated and will be removed from future releases.");
|
9226
9254
|
var _meta = meta(obj, writable);
|
@@ -9261,6 +9289,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9261
9289
|
@param {Function} superFunc The super function.
|
9262
9290
|
@return {Function} wrapped function.
|
9263
9291
|
*/
|
9292
|
+
|
9264
9293
|
function wrap(func, superFunc) {
|
9265
9294
|
function superWrapper() {
|
9266
9295
|
var ret;
|
@@ -9330,9 +9359,9 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9330
9359
|
var modulePath, type;
|
9331
9360
|
|
9332
9361
|
if (typeof EmberArray === "undefined") {
|
9333
|
-
modulePath =
|
9362
|
+
modulePath = 'ember-runtime/mixins/array';
|
9334
9363
|
if (Ember['default'].__loader.registry[modulePath]) {
|
9335
|
-
EmberArray = Ember['default'].__loader.require(modulePath)[
|
9364
|
+
EmberArray = Ember['default'].__loader.require(modulePath)['default'];
|
9336
9365
|
}
|
9337
9366
|
}
|
9338
9367
|
|
@@ -9347,10 +9376,10 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9347
9376
|
}
|
9348
9377
|
|
9349
9378
|
type = typeOf(obj);
|
9350
|
-
if (
|
9379
|
+
if ('array' === type) {
|
9351
9380
|
return true;
|
9352
9381
|
}
|
9353
|
-
if (obj.length !== undefined &&
|
9382
|
+
if (obj.length !== undefined && 'object' === type) {
|
9354
9383
|
return true;
|
9355
9384
|
}
|
9356
9385
|
return false;
|
@@ -9378,6 +9407,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9378
9407
|
@param {Object} obj the object
|
9379
9408
|
@return {Array}
|
9380
9409
|
*/
|
9410
|
+
|
9381
9411
|
function makeArray(obj) {
|
9382
9412
|
if (obj === null || obj === undefined) {
|
9383
9413
|
return [];
|
@@ -9403,7 +9433,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9403
9433
|
@return {Boolean}
|
9404
9434
|
*/
|
9405
9435
|
function canInvoke(obj, methodName) {
|
9406
|
-
return !!(obj && typeof obj[methodName] ===
|
9436
|
+
return !!(obj && typeof obj[methodName] === 'function');
|
9407
9437
|
}
|
9408
9438
|
|
9409
9439
|
/**
|
@@ -9425,6 +9455,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9425
9455
|
@param {Array} [args] The arguments to pass to the method
|
9426
9456
|
@return {*} the return value of the invoked method or undefined if it cannot be invoked
|
9427
9457
|
*/
|
9458
|
+
|
9428
9459
|
function tryInvoke(obj, methodName, args) {
|
9429
9460
|
if (canInvoke(obj, methodName)) {
|
9430
9461
|
return args ? applyStr(obj, methodName, args) : applyStr(obj, methodName);
|
@@ -9438,7 +9469,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9438
9469
|
// jscs:disable
|
9439
9470
|
try {} finally {
|
9440
9471
|
count++;
|
9441
|
-
throw new Error(
|
9472
|
+
throw new Error('needsFinallyFixTest');
|
9442
9473
|
}
|
9443
9474
|
// jscs:enable
|
9444
9475
|
} catch (e) {}
|
@@ -9677,25 +9708,25 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9677
9708
|
|
9678
9709
|
// ES6TODO: Depends on Ember.Object which is defined in runtime.
|
9679
9710
|
if (typeof EmberObject === "undefined") {
|
9680
|
-
modulePath =
|
9711
|
+
modulePath = 'ember-runtime/system/object';
|
9681
9712
|
if (Ember['default'].__loader.registry[modulePath]) {
|
9682
|
-
EmberObject = Ember['default'].__loader.require(modulePath)[
|
9713
|
+
EmberObject = Ember['default'].__loader.require(modulePath)['default'];
|
9683
9714
|
}
|
9684
9715
|
}
|
9685
9716
|
|
9686
|
-
ret = item === null || item === undefined ? String(item) : TYPE_MAP[toString.call(item)] ||
|
9717
|
+
ret = item === null || item === undefined ? String(item) : TYPE_MAP[toString.call(item)] || 'object';
|
9687
9718
|
|
9688
|
-
if (ret ===
|
9719
|
+
if (ret === 'function') {
|
9689
9720
|
if (EmberObject && EmberObject.detect(item)) {
|
9690
|
-
ret =
|
9721
|
+
ret = 'class';
|
9691
9722
|
}
|
9692
|
-
} else if (ret ===
|
9723
|
+
} else if (ret === 'object') {
|
9693
9724
|
if (item instanceof Error) {
|
9694
|
-
ret =
|
9725
|
+
ret = 'error';
|
9695
9726
|
} else if (EmberObject && item instanceof EmberObject) {
|
9696
|
-
ret =
|
9727
|
+
ret = 'instance';
|
9697
9728
|
} else if (item instanceof Date) {
|
9698
|
-
ret =
|
9729
|
+
ret = 'date';
|
9699
9730
|
}
|
9700
9731
|
}
|
9701
9732
|
|
@@ -9715,13 +9746,14 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9715
9746
|
@return {String} A description of the object
|
9716
9747
|
@since 1.4.0
|
9717
9748
|
*/
|
9749
|
+
|
9718
9750
|
function inspect(obj) {
|
9719
9751
|
var type = typeOf(obj);
|
9720
|
-
if (type ===
|
9721
|
-
return
|
9752
|
+
if (type === 'array') {
|
9753
|
+
return '[' + obj + ']';
|
9722
9754
|
}
|
9723
|
-
if (type !==
|
9724
|
-
return obj +
|
9755
|
+
if (type !== 'object') {
|
9756
|
+
return obj + '';
|
9725
9757
|
}
|
9726
9758
|
|
9727
9759
|
var v;
|
@@ -9729,14 +9761,14 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9729
9761
|
for (var key in obj) {
|
9730
9762
|
if (obj.hasOwnProperty(key)) {
|
9731
9763
|
v = obj[key];
|
9732
|
-
if (v ===
|
9764
|
+
if (v === 'toString') {
|
9733
9765
|
continue;
|
9734
9766
|
} // ignore useless items
|
9735
|
-
if (typeOf(v) ===
|
9767
|
+
if (typeOf(v) === 'function') {
|
9736
9768
|
v = "function() { ... }";
|
9737
9769
|
}
|
9738
9770
|
|
9739
|
-
if (v && typeof v.toString !==
|
9771
|
+
if (v && typeof v.toString !== 'function') {
|
9740
9772
|
ret.push(key + ": " + toString.call(v));
|
9741
9773
|
} else {
|
9742
9774
|
ret.push(key + ": " + v);
|
@@ -9753,6 +9785,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9753
9785
|
@param {Function} method
|
9754
9786
|
@param {Array} args
|
9755
9787
|
*/
|
9788
|
+
|
9756
9789
|
function apply(t, m, a) {
|
9757
9790
|
var l = a && a.length;
|
9758
9791
|
if (!a || !l) {
|
@@ -9779,6 +9812,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
9779
9812
|
@param {String} method
|
9780
9813
|
@param {Array} args
|
9781
9814
|
*/
|
9815
|
+
|
9782
9816
|
function applyStr(t, m, a) {
|
9783
9817
|
var l = a && a.length;
|
9784
9818
|
if (!a || !l) {
|
@@ -9822,7 +9856,7 @@ enifed('ember-metal/watch_key', ['exports', 'ember-metal/core', 'ember-metal/uti
|
|
9822
9856
|
|
9823
9857
|
function watchKey(obj, keyName, meta) {
|
9824
9858
|
// can't watch length on Array - it is special...
|
9825
|
-
if (keyName ===
|
9859
|
+
if (keyName === 'length' && utils.typeOf(obj) === 'array') {
|
9826
9860
|
return;
|
9827
9861
|
}
|
9828
9862
|
|
@@ -9834,12 +9868,12 @@ enifed('ember-metal/watch_key', ['exports', 'ember-metal/core', 'ember-metal/uti
|
|
9834
9868
|
watching[keyName] = 1;
|
9835
9869
|
|
9836
9870
|
var possibleDesc = obj[keyName];
|
9837
|
-
var desc = possibleDesc !== null && typeof possibleDesc ===
|
9871
|
+
var desc = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor ? possibleDesc : undefined;
|
9838
9872
|
if (desc && desc.willWatch) {
|
9839
9873
|
desc.willWatch(obj, keyName);
|
9840
9874
|
}
|
9841
9875
|
|
9842
|
-
if (
|
9876
|
+
if ('function' === typeof obj.willWatchProperty) {
|
9843
9877
|
obj.willWatchProperty(keyName);
|
9844
9878
|
}
|
9845
9879
|
|
@@ -9858,9 +9892,9 @@ enifed('ember-metal/watch_key', ['exports', 'ember-metal/core', 'ember-metal/uti
|
|
9858
9892
|
var descriptor = Object.getOwnPropertyDescriptor && Object.getOwnPropertyDescriptor(obj, keyName);
|
9859
9893
|
var configurable = descriptor ? descriptor.configurable : true;
|
9860
9894
|
var isWritable = descriptor ? descriptor.writable : true;
|
9861
|
-
var hasValue = descriptor ?
|
9895
|
+
var hasValue = descriptor ? 'value' in descriptor : true;
|
9862
9896
|
var possibleDesc = descriptor && descriptor.value;
|
9863
|
-
var isDescriptor = possibleDesc !== null && typeof possibleDesc ===
|
9897
|
+
var isDescriptor = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor;
|
9864
9898
|
|
9865
9899
|
if (isDescriptor) {
|
9866
9900
|
return;
|
@@ -9891,12 +9925,12 @@ enifed('ember-metal/watch_key', ['exports', 'ember-metal/core', 'ember-metal/uti
|
|
9891
9925
|
watching[keyName] = 0;
|
9892
9926
|
|
9893
9927
|
var possibleDesc = obj[keyName];
|
9894
|
-
var desc = possibleDesc !== null && typeof possibleDesc ===
|
9928
|
+
var desc = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor ? possibleDesc : undefined;
|
9895
9929
|
if (desc && desc.didUnwatch) {
|
9896
9930
|
desc.didUnwatch(obj, keyName);
|
9897
9931
|
}
|
9898
9932
|
|
9899
|
-
if (
|
9933
|
+
if ('function' === typeof obj.didUnwatchProperty) {
|
9900
9934
|
obj.didUnwatchProperty(keyName);
|
9901
9935
|
}
|
9902
9936
|
|
@@ -9942,9 +9976,10 @@ enifed('ember-metal/watch_path', ['exports', 'ember-metal/utils', 'ember-metal/c
|
|
9942
9976
|
}
|
9943
9977
|
return ret;
|
9944
9978
|
}
|
9979
|
+
|
9945
9980
|
function watchPath(obj, keyPath, meta) {
|
9946
9981
|
// can't watch length on Array - it is special...
|
9947
|
-
if (keyPath ===
|
9982
|
+
if (keyPath === 'length' && utils.typeOf(obj) === 'array') {
|
9948
9983
|
return;
|
9949
9984
|
}
|
9950
9985
|
|
@@ -9984,7 +10019,7 @@ enifed('ember-metal/watching', ['exports', 'ember-metal/utils', 'ember-metal/cha
|
|
9984
10019
|
|
9985
10020
|
function watch(obj, _keyPath, m) {
|
9986
10021
|
// can't watch length on Array - it is special...
|
9987
|
-
if (_keyPath ===
|
10022
|
+
if (_keyPath === 'length' && utils.typeOf(obj) === 'array') {
|
9988
10023
|
return;
|
9989
10024
|
}
|
9990
10025
|
|
@@ -9996,14 +10031,15 @@ enifed('ember-metal/watching', ['exports', 'ember-metal/utils', 'ember-metal/cha
|
|
9996
10031
|
}
|
9997
10032
|
|
9998
10033
|
function isWatching(obj, key) {
|
9999
|
-
var meta = obj[
|
10034
|
+
var meta = obj['__ember_meta__'];
|
10000
10035
|
return (meta && meta.watching[key]) > 0;
|
10001
10036
|
}
|
10002
10037
|
|
10003
10038
|
watch.flushPending = chains.flushPendingChains;
|
10039
|
+
|
10004
10040
|
function unwatch(obj, _keyPath, m) {
|
10005
10041
|
// can't watch length on Array - it is special...
|
10006
|
-
if (_keyPath ===
|
10042
|
+
if (_keyPath === 'length' && utils.typeOf(obj) === 'array') {
|
10007
10043
|
return;
|
10008
10044
|
}
|
10009
10045
|
|
@@ -10025,12 +10061,13 @@ enifed('ember-metal/watching', ['exports', 'ember-metal/utils', 'ember-metal/cha
|
|
10025
10061
|
@param {Object} obj the object to destroy
|
10026
10062
|
@return {void}
|
10027
10063
|
*/
|
10064
|
+
|
10028
10065
|
function destroy(obj) {
|
10029
|
-
var meta = obj[
|
10066
|
+
var meta = obj['__ember_meta__'];
|
10030
10067
|
var node, nodes, key, nodeObject;
|
10031
10068
|
|
10032
10069
|
if (meta) {
|
10033
|
-
obj[
|
10070
|
+
obj['__ember_meta__'] = null;
|
10034
10071
|
// remove chainWatchers to remove circular references that would prevent GC
|
10035
10072
|
node = meta.chains;
|
10036
10073
|
if (node) {
|
@@ -10064,8 +10101,8 @@ enifed('ember-template-compiler', ['exports', 'ember-metal/core', 'ember-templat
|
|
10064
10101
|
|
10065
10102
|
'use strict';
|
10066
10103
|
|
10067
|
-
plugins.registerPlugin(
|
10068
|
-
plugins.registerPlugin(
|
10104
|
+
plugins.registerPlugin('ast', TransformWithAsToHash['default']);
|
10105
|
+
plugins.registerPlugin('ast', TransformEachInToHash['default']);
|
10069
10106
|
|
10070
10107
|
exports._Ember = _Ember['default'];
|
10071
10108
|
exports.precompile = precompile['default'];
|
@@ -10130,6 +10167,7 @@ enifed('ember-template-compiler/plugins', ['exports'], function (exports) {
|
|
10130
10167
|
@private
|
10131
10168
|
@method registerASTPlugin
|
10132
10169
|
*/
|
10170
|
+
|
10133
10171
|
function registerPlugin(type, Plugin) {
|
10134
10172
|
if (!plugins[type]) {
|
10135
10173
|
throw new Error('Attempting to register "' + Plugin + '" as "' + type + '" which is not a valid HTMLBars plugin type.');
|
@@ -10260,7 +10298,7 @@ enifed('ember-template-compiler/plugins/transform-with-as-to-hash', ['exports'],
|
|
10260
10298
|
if (pluginContext.validate(node)) {
|
10261
10299
|
|
10262
10300
|
if (node.program && node.program.blockParams.length) {
|
10263
|
-
throw new Error(
|
10301
|
+
throw new Error('You cannot use keyword (`{{with foo as bar}}`) and block params (`{{with foo as |bar|}}`) at the same time.');
|
10264
10302
|
}
|
10265
10303
|
|
10266
10304
|
Ember.deprecate("Using {{with}} without block syntax is deprecated. " + "Please use standard block form (`{{#with foo as |bar|}}`) " + (moduleName ? " in `" + moduleName + "` " : "") + "instead.", false, { url: "http://emberjs.com/deprecations/v1.x/#toc_code-as-code-sytnax-for-code-with-code" });
|
@@ -10275,7 +10313,7 @@ enifed('ember-template-compiler/plugins/transform-with-as-to-hash', ['exports'],
|
|
10275
10313
|
};
|
10276
10314
|
|
10277
10315
|
TransformWithAsToHash.prototype.validate = function TransformWithAsToHash_validate(node) {
|
10278
|
-
return node.type ===
|
10316
|
+
return node.type === 'BlockStatement' && node.sexpr.path.original === 'with' && node.sexpr.params.length === 3 && node.sexpr.params[1].type === 'PathExpression' && node.sexpr.params[1].original === 'as';
|
10279
10317
|
};
|
10280
10318
|
|
10281
10319
|
exports['default'] = TransformWithAsToHash;
|
@@ -10286,23 +10324,13 @@ enifed('ember-template-compiler/system/compile', ['exports', 'ember-template-com
|
|
10286
10324
|
'use strict';
|
10287
10325
|
|
10288
10326
|
|
10289
|
-
var compile;
|
10290
|
-
|
10291
|
-
|
10292
|
-
This is not present in production builds.
|
10293
|
-
|
10294
|
-
@private
|
10295
|
-
@method compile
|
10296
|
-
@param {String} templateString This is the string to be compiled by HTMLBars.
|
10297
|
-
@param {Object} options This is an options hash to augment the compiler options.
|
10298
|
-
*/
|
10299
|
-
exports['default'] = function (templateString, options) {
|
10300
|
-
if (!compile && Ember.__loader.registry["htmlbars-compiler/compiler"]) {
|
10301
|
-
compile = requireModule("htmlbars-compiler/compiler").compile;
|
10327
|
+
var compile;exports['default'] = function (templateString, options) {
|
10328
|
+
if (!compile && Ember.__loader.registry['htmlbars-compiler/compiler']) {
|
10329
|
+
compile = requireModule('htmlbars-compiler/compiler').compile;
|
10302
10330
|
}
|
10303
10331
|
|
10304
10332
|
if (!compile) {
|
10305
|
-
throw new Error(
|
10333
|
+
throw new Error('Cannot call `compile` without the template compiler loaded. Please load `ember-template-compiler.js` prior to calling `compile`.');
|
10306
10334
|
}
|
10307
10335
|
|
10308
10336
|
var templateSpec = compile(templateString, compileOptions['default'](options));
|
@@ -10331,7 +10359,7 @@ enifed('ember-template-compiler/system/compile_options', ['exports', 'ember-meta
|
|
10331
10359
|
options = {};
|
10332
10360
|
}
|
10333
10361
|
|
10334
|
-
options.revision =
|
10362
|
+
options.revision = 'Ember@1.12.2';
|
10335
10363
|
options.disableComponentGeneration = disableComponentGeneration;
|
10336
10364
|
options.plugins = plugins['default'];
|
10337
10365
|
|
@@ -10382,6 +10410,12 @@ enifed('ember-template-compiler/system/template', ['exports'], function (exports
|
|
10382
10410
|
@submodule ember-template-compiler
|
10383
10411
|
*/
|
10384
10412
|
|
10413
|
+
exports['default'] = function (templateSpec) {
|
10414
|
+
templateSpec.isTop = true;
|
10415
|
+
templateSpec.isMethod = false;
|
10416
|
+
|
10417
|
+
return templateSpec;
|
10418
|
+
}
|
10385
10419
|
/**
|
10386
10420
|
Augments the default precompiled output of an HTMLBars template with
|
10387
10421
|
additional information needed by Ember.
|
@@ -10391,13 +10425,6 @@ enifed('ember-template-compiler/system/template', ['exports'], function (exports
|
|
10391
10425
|
@param {Function} templateSpec This is the compiled HTMLBars template spec.
|
10392
10426
|
*/
|
10393
10427
|
|
10394
|
-
exports['default'] = function (templateSpec) {
|
10395
|
-
templateSpec.isTop = true;
|
10396
|
-
templateSpec.isMethod = false;
|
10397
|
-
|
10398
|
-
return templateSpec;
|
10399
|
-
}
|
10400
|
-
|
10401
10428
|
});
|
10402
10429
|
enifed("htmlbars-compiler",
|
10403
10430
|
["./htmlbars-compiler/compiler","exports"],
|
@@ -11290,7 +11317,7 @@ enifed("htmlbars-compiler/template-compiler",
|
|
11290
11317
|
|
11291
11318
|
function TemplateCompiler(options) {
|
11292
11319
|
this.options = options || {};
|
11293
|
-
this.revision = this.options.revision || "HTMLBars@
|
11320
|
+
this.revision = this.options.revision || "HTMLBars@0.11.4.d11ed3e4";
|
11294
11321
|
this.fragmentOpcodeCompiler = new FragmentOpcodeCompiler();
|
11295
11322
|
this.fragmentCompiler = new FragmentJavaScriptCompiler();
|
11296
11323
|
this.hydrationOpcodeCompiler = new HydrationOpcodeCompiler();
|