ember-source 1.12.1 → 1.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-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();
|