ember-source 2.14.0.beta.2 → 2.14.0.beta.3

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.
@@ -6,7 +6,7 @@
6
6
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
7
7
  * @license Licensed under MIT license
8
8
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
9
- * @version 2.14.0-beta.2
9
+ * @version 2.14.0-beta.3
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -4770,12 +4770,12 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember-environment
4770
4770
 
4771
4771
  Container.prototype = {
4772
4772
  lookup: function (fullName, options) {
4773
- true && (0, _emberDebug.assert)('fullName must be a proper full name', this.registry.validateFullName(fullName));
4773
+ true && !this.registry.validateFullName(fullName) && (0, _emberDebug.assert)('fullName must be a proper full name', this.registry.validateFullName(fullName));
4774
4774
 
4775
4775
  return lookup(this, this.registry.normalize(fullName), options);
4776
4776
  },
4777
4777
  lookupFactory: function (fullName, options) {
4778
- true && (0, _emberDebug.assert)('fullName must be a proper full name', this.registry.validateFullName(fullName));
4778
+ true && !this.registry.validateFullName(fullName) && (0, _emberDebug.assert)('fullName must be a proper full name', this.registry.validateFullName(fullName));
4779
4779
  true && !false && (0, _emberDebug.deprecate)('Using "_lookupFactory" is deprecated. Please use container.factoryFor instead.', false, { id: 'container-lookupFactory', until: '2.13.0', url: 'http://emberjs.com/deprecations/v2.x/#toc_migrating-from-_lookupfactory-to-factoryfor' });
4780
4780
 
4781
4781
  return deprecatedFactoryFor(this, this.registry.normalize(fullName), options);
@@ -4801,7 +4801,7 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember-environment
4801
4801
 
4802
4802
  var normalizedName = this.registry.normalize(fullName);
4803
4803
 
4804
- true && (0, _emberDebug.assert)('fullName must be a proper full name', this.registry.validateFullName(normalizedName));
4804
+ true && !this.registry.validateFullName(normalizedName) && (0, _emberDebug.assert)('fullName must be a proper full name', this.registry.validateFullName(normalizedName));
4805
4805
 
4806
4806
  if (options.source) {
4807
4807
  normalizedName = this.registry.expandLocalLookup(fullName, options);
@@ -5382,7 +5382,7 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember-environment
5382
5382
  },
5383
5383
  register: function (fullName, factory) {
5384
5384
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
5385
- true && (0, _emberDebug.assert)('fullName must be a proper full name', this.validateFullName(fullName));
5385
+ true && !this.validateFullName(fullName) && (0, _emberDebug.assert)('fullName must be a proper full name', this.validateFullName(fullName));
5386
5386
 
5387
5387
  if (factory === undefined) {
5388
5388
  throw new TypeError('Attempting to register an unknown factory: \'' + fullName + '\'');
@@ -5399,7 +5399,7 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember-environment
5399
5399
  this._options[normalizedName] = options;
5400
5400
  },
5401
5401
  unregister: function (fullName) {
5402
- true && (0, _emberDebug.assert)('fullName must be a proper full name', this.validateFullName(fullName));
5402
+ true && !this.validateFullName(fullName) && (0, _emberDebug.assert)('fullName must be a proper full name', this.validateFullName(fullName));
5403
5403
 
5404
5404
  var normalizedName = this.normalize(fullName);
5405
5405
 
@@ -5411,7 +5411,7 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember-environment
5411
5411
  delete this._options[normalizedName];
5412
5412
  },
5413
5413
  resolve: function (fullName, options) {
5414
- true && (0, _emberDebug.assert)('fullName must be a proper full name', this.validateFullName(fullName));
5414
+ true && !this.validateFullName(fullName) && (0, _emberDebug.assert)('fullName must be a proper full name', this.validateFullName(fullName));
5415
5415
 
5416
5416
  var factory = resolve(this, this.normalize(fullName), options),
5417
5417
  _fallback;
@@ -5502,7 +5502,7 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember-environment
5502
5502
  }
5503
5503
  },
5504
5504
  typeInjection: function (type, property, fullName) {
5505
- true && (0, _emberDebug.assert)('fullName must be a proper full name', this.validateFullName(fullName));
5505
+ true && !this.validateFullName(fullName) && (0, _emberDebug.assert)('fullName must be a proper full name', this.validateFullName(fullName));
5506
5506
 
5507
5507
  var fullNameType = fullName.split(':')[0];
5508
5508
  if (fullNameType === type) {
@@ -5524,7 +5524,7 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember-environment
5524
5524
  return this.typeInjection(fullName, property, normalizedInjectionName);
5525
5525
  }
5526
5526
 
5527
- true && (0, _emberDebug.assert)('fullName must be a proper full name', this.validateFullName(fullName));
5527
+ true && !this.validateFullName(fullName) && (0, _emberDebug.assert)('fullName must be a proper full name', this.validateFullName(fullName));
5528
5528
 
5529
5529
  var normalizedName = this.normalize(fullName);
5530
5530
 
@@ -5610,7 +5610,7 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember-environment
5610
5610
  for (i = 0; i < injections.length; i++) {
5611
5611
  fullName = injections[i].fullName;
5612
5612
 
5613
- true && (0, _emberDebug.assert)('Attempting to inject an unknown injection: \'' + fullName + '\'', this.has(fullName));
5613
+ true && !this.has(fullName) && (0, _emberDebug.assert)('Attempting to inject an unknown injection: \'' + fullName + '\'', this.has(fullName));
5614
5614
  }
5615
5615
  },
5616
5616
  normalizeInjectionsHash: function (hash) {
@@ -5618,7 +5618,7 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember-environment
5618
5618
 
5619
5619
  for (var key in hash) {
5620
5620
  if (hash.hasOwnProperty(key)) {
5621
- true && (0, _emberDebug.assert)('Expected a proper full name, given \'' + hash[key] + '\'', this.validateFullName(hash[key]));
5621
+ true && !this.validateFullName(hash[key]) && (0, _emberDebug.assert)('Expected a proper full name, given \'' + hash[key] + '\'', this.validateFullName(hash[key]));
5622
5622
 
5623
5623
  injections.push({
5624
5624
  property: key,
@@ -5689,9 +5689,9 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember-environment
5689
5689
  var normalizedFullName, normalizedSource;
5690
5690
 
5691
5691
  if (this.resolver && this.resolver.expandLocalLookup) {
5692
- true && (0, _emberDebug.assert)('fullName must be a proper full name', this.validateFullName(fullName));
5693
- true && (0, _emberDebug.assert)('options.source must be provided to expandLocalLookup', options && options.source);
5694
- true && (0, _emberDebug.assert)('options.source must be a proper full name', this.validateFullName(options.source));
5692
+ true && !this.validateFullName(fullName) && (0, _emberDebug.assert)('fullName must be a proper full name', this.validateFullName(fullName));
5693
+ true && !(options && options.source) && (0, _emberDebug.assert)('options.source must be provided to expandLocalLookup', options && options.source);
5694
+ true && !this.validateFullName(options.source) && (0, _emberDebug.assert)('options.source must be a proper full name', this.validateFullName(options.source));
5695
5695
 
5696
5696
  normalizedFullName = this.normalize(fullName);
5697
5697
  normalizedSource = this.normalize(options.source);
@@ -6000,9 +6000,12 @@ enifed('ember-console', ['exports', 'ember-environment'], function (exports, _em
6000
6000
  enifed('ember-debug/deprecate', ['exports', 'ember-debug/error', 'ember-console', 'ember-environment', 'ember-debug/handlers'], function (exports, _error, _emberConsole, _emberEnvironment, _handlers) {
6001
6001
  'use strict';
6002
6002
 
6003
- exports.missingOptionsUntilDeprecation = exports.missingOptionsIdDeprecation = exports.missingOptionsDeprecation = undefined;
6004
- exports.registerHandler = registerHandler;
6005
- exports.default = deprecate;
6003
+ exports.missingOptionsUntilDeprecation = exports.missingOptionsIdDeprecation = exports.missingOptionsDeprecation = exports.registerHandler = undefined;
6004
+
6005
+ /**
6006
+ @module ember
6007
+ @submodule ember-debug
6008
+ */
6006
6009
 
6007
6010
  /**
6008
6011
  Allows for runtime registration of handler functions that override the default deprecation behavior.
@@ -6039,13 +6042,18 @@ enifed('ember-debug/deprecate', ['exports', 'ember-debug/error', 'ember-console'
6039
6042
  @param handler {Function} A function to handle deprecation calls.
6040
6043
  @since 2.1.0
6041
6044
  */
6042
- /*global __fail__*/
6045
+ var registerHandler = function () {}; /*global __fail__*/
6043
6046
 
6044
- function registerHandler(handler) {
6047
+ var missingOptionsDeprecation = void 0,
6048
+ missingOptionsIdDeprecation = void 0,
6049
+ missingOptionsUntilDeprecation = void 0,
6050
+ deprecate = void 0;
6051
+
6052
+ exports.registerHandler = registerHandler = function (handler) {
6045
6053
  (0, _handlers.registerHandler)('deprecate', handler);
6046
- }
6054
+ };
6047
6055
 
6048
- function formatMessage(_message, options) {
6056
+ var formatMessage = function (_message, options) {
6049
6057
  var message = _message;
6050
6058
 
6051
6059
  if (options && options.id) {
@@ -6057,7 +6065,7 @@ enifed('ember-debug/deprecate', ['exports', 'ember-debug/error', 'ember-console'
6057
6065
  }
6058
6066
 
6059
6067
  return message;
6060
- }
6068
+ };
6061
6069
 
6062
6070
  registerHandler(function (message, options) {
6063
6071
  var updatedMessage = formatMessage(message, options);
@@ -6125,23 +6133,16 @@ enifed('ember-debug/deprecate', ['exports', 'ember-debug/error', 'ember-console'
6125
6133
  }
6126
6134
  });
6127
6135
 
6128
- var missingOptionsDeprecation = exports.missingOptionsDeprecation = 'When calling `Ember.deprecate` you ' + 'must provide an `options` hash as the third parameter. ' + '`options` should include `id` and `until` properties.';
6129
- var missingOptionsIdDeprecation = exports.missingOptionsIdDeprecation = 'When calling `Ember.deprecate` you must provide `id` in options.';
6130
- var missingOptionsUntilDeprecation = exports.missingOptionsUntilDeprecation = 'When calling `Ember.deprecate` you must provide `until` in options.';
6131
-
6132
- /**
6133
- @module ember
6134
- @submodule ember-debug
6135
- */
6136
+ exports.missingOptionsDeprecation = missingOptionsDeprecation = 'When calling `Ember.deprecate` you ' + 'must provide an `options` hash as the third parameter. ' + '`options` should include `id` and `until` properties.';
6137
+ exports.missingOptionsIdDeprecation = missingOptionsIdDeprecation = 'When calling `Ember.deprecate` you must provide `id` in options.';
6138
+ exports.missingOptionsUntilDeprecation = missingOptionsUntilDeprecation = 'When calling `Ember.deprecate` you must provide `until` in options.';
6136
6139
 
6137
6140
  /**
6138
6141
  Display a deprecation warning with the provided message and a stack trace
6139
6142
  (Chrome and Firefox only).
6140
-
6141
- * In a production build, this method is defined as an empty function (NOP).
6143
+ * In a production build, this method is defined as an empty function (NOP).
6142
6144
  Uses of this method in Ember itself are stripped from the ember.prod.js build.
6143
-
6144
- @method deprecate
6145
+ @method deprecate
6145
6146
  @param {String} message A description of the deprecation.
6146
6147
  @param {Boolean} test A boolean. If falsy, the deprecation will be displayed.
6147
6148
  @param {Object} options
@@ -6157,7 +6158,7 @@ enifed('ember-debug/deprecate', ['exports', 'ember-debug/error', 'ember-console'
6157
6158
  @public
6158
6159
  @since 1.0.0
6159
6160
  */
6160
- function deprecate(message, test, options) {
6161
+ deprecate = function deprecate(message, test, options) {
6161
6162
  if (!options || !options.id && !options.until) {
6162
6163
  deprecate(missingOptionsDeprecation, false, {
6163
6164
  id: 'ember-debug.deprecate-options-missing',
@@ -6183,7 +6184,14 @@ enifed('ember-debug/deprecate', ['exports', 'ember-debug/error', 'ember-console'
6183
6184
  }
6184
6185
 
6185
6186
  _handlers.invoke.apply(undefined, ['deprecate'].concat(Array.prototype.slice.call(arguments)));
6186
- }
6187
+ };
6188
+
6189
+
6190
+ exports.default = deprecate;
6191
+ exports.registerHandler = registerHandler;
6192
+ exports.missingOptionsDeprecation = missingOptionsDeprecation;
6193
+ exports.missingOptionsIdDeprecation = missingOptionsIdDeprecation;
6194
+ exports.missingOptionsUntilDeprecation = missingOptionsUntilDeprecation;
6187
6195
  });
6188
6196
  enifed("ember-debug/error", ["exports", "ember-babel"], function (exports, _emberBabel) {
6189
6197
  "use strict";
@@ -6292,17 +6300,23 @@ enifed('ember-debug/features', ['exports', 'ember-environment', 'ember/features'
6292
6300
  };
6293
6301
  var FEATURES = _features.FEATURES;
6294
6302
  });
6295
- enifed("ember-debug/handlers", ["exports"], function (exports) {
6296
- "use strict";
6303
+ enifed('ember-debug/handlers', ['exports'], function (exports) {
6304
+ 'use strict';
6297
6305
 
6298
- exports.registerHandler = function (type, callback) {
6306
+ var HANDLERS = exports.HANDLERS = {};
6307
+
6308
+ var registerHandler = function () {};
6309
+ var invoke = function () {};
6310
+
6311
+ exports.registerHandler = registerHandler = function (type, callback) {
6299
6312
  var nextHandler = HANDLERS[type] || function () {};
6300
6313
 
6301
6314
  HANDLERS[type] = function (message, options) {
6302
6315
  callback(message, options, nextHandler);
6303
6316
  };
6304
6317
  };
6305
- exports.invoke = function (type, message, test, options) {
6318
+
6319
+ exports.invoke = invoke = function (type, message, test, options) {
6306
6320
  if (test) {
6307
6321
  return;
6308
6322
  }
@@ -6313,12 +6327,15 @@ enifed("ember-debug/handlers", ["exports"], function (exports) {
6313
6327
  handlerForType(message, options);
6314
6328
  }
6315
6329
  };
6316
- var HANDLERS = exports.HANDLERS = {};
6330
+
6331
+
6332
+ exports.registerHandler = registerHandler;
6333
+ exports.invoke = invoke;
6317
6334
  });
6318
6335
  enifed('ember-debug/index', ['exports', 'ember-debug/warn', 'ember-debug/deprecate', 'ember-debug/features', 'ember-debug/error', 'ember-debug/testing', 'ember-environment', 'ember-console', 'ember/features'], function (exports, _warn2, _deprecate2, _features, _error, _testing, _emberEnvironment, _emberConsole, _features2) {
6319
6336
  'use strict';
6320
6337
 
6321
- exports.runningNonEmberDebugJS = exports.debugFunctions = exports.setTesting = exports.isTesting = exports.Error = exports.isFeatureEnabled = exports.registerDeprecationHandler = exports.registerWarnHandler = undefined;
6338
+ exports._warnIfUsingStrippedFeatureFlags = exports.getDebugFunction = exports.setDebugFunction = exports.deprecateFunc = exports.runInDebug = exports.debugFreeze = exports.debugSeal = exports.deprecate = exports.debug = exports.warn = exports.info = exports.assert = exports.setTesting = exports.isTesting = exports.Error = exports.isFeatureEnabled = exports.registerDeprecationHandler = exports.registerWarnHandler = undefined;
6322
6339
  Object.defineProperty(exports, 'registerWarnHandler', {
6323
6340
  enumerable: true,
6324
6341
  get: function () {
@@ -6355,50 +6372,73 @@ enifed('ember-debug/index', ['exports', 'ember-debug/warn', 'ember-debug/depreca
6355
6372
  return _testing.setTesting;
6356
6373
  }
6357
6374
  });
6358
- exports._warnIfUsingStrippedFeatureFlags = _warnIfUsingStrippedFeatureFlags;
6359
- exports.getDebugFunction = function (name) {
6360
- return debugFunctions[name];
6361
- };
6362
- exports.setDebugFunction = setDebugFunction;
6363
- exports.assert = function () {
6364
- return debugFunctions.assert.apply(undefined, arguments);
6365
- };
6366
- exports.info = function () {
6367
- return debugFunctions.info.apply(undefined, arguments);
6368
- };
6369
- exports.warn = warn;
6370
- exports.debug = debug;
6371
- exports.deprecate = deprecate;
6372
- exports.deprecateFunc = function () {
6373
- return debugFunctions.deprecateFunc.apply(undefined, arguments);
6374
- };
6375
- exports.runInDebug = function () {
6376
- return debugFunctions.runInDebug.apply(undefined, arguments);
6377
- };
6378
- exports.debugSeal = function () {
6379
- return debugFunctions.debugSeal.apply(undefined, arguments);
6380
- };
6381
- exports.debugFreeze = function () {
6382
- return debugFunctions.debugFreeze.apply(undefined, arguments);
6383
- };
6384
6375
  var DEFAULT_FEATURES = _features2.DEFAULT_FEATURES,
6385
6376
  FEATURES = _features2.FEATURES,
6386
6377
  featuresWereStripped,
6387
6378
  isFirefox,
6388
6379
  isChrome;
6389
- var debugFunctions = exports.debugFunctions = {
6390
- assert: function () {},
6391
- info: function () {},
6392
- warn: function () {},
6393
- debug: function () {},
6394
- deprecate: function () {},
6395
- deprecateFunc: function () {
6396
- var _ref;
6397
6380
 
6398
- return _ref = arguments.length - 1, arguments.length <= _ref ? undefined : arguments[_ref];
6399
- },
6400
- debugSeal: function () {},
6401
- debugFreeze: function () {}
6381
+ // These are the default production build versions:
6382
+ var assert = function () {};
6383
+ var info = function () {};
6384
+ var warn = function () {};
6385
+ var debug = function () {};
6386
+ var deprecate = function () {};
6387
+ var debugSeal = function () {};
6388
+ var debugFreeze = function () {};
6389
+ var runInDebug = function () {};
6390
+
6391
+ var deprecateFunc = function () {
6392
+ return arguments[arguments.length - 1];
6393
+ };
6394
+
6395
+ var setDebugFunction = function () {};
6396
+ var getDebugFunction = function () {};
6397
+
6398
+ exports.setDebugFunction = setDebugFunction = function (type, callback) {
6399
+ switch (type) {
6400
+ case 'assert':
6401
+ return exports.assert = assert = callback;
6402
+ case 'info':
6403
+ return exports.info = info = callback;
6404
+ case 'warn':
6405
+ return exports.warn = warn = callback;
6406
+ case 'debug':
6407
+ return exports.debug = debug = callback;
6408
+ case 'deprecate':
6409
+ return exports.deprecate = deprecate = callback;
6410
+ case 'debugSeal':
6411
+ return exports.debugSeal = debugSeal = callback;
6412
+ case 'debugFreeze':
6413
+ return exports.debugFreeze = debugFreeze = callback;
6414
+ case 'runInDebug':
6415
+ return exports.runInDebug = runInDebug = callback;
6416
+ case 'deprecateFunc':
6417
+ return exports.deprecateFunc = deprecateFunc = callback;
6418
+ }
6419
+ };
6420
+
6421
+ exports.getDebugFunction = getDebugFunction = function (type) {
6422
+ switch (type) {
6423
+ case 'assert':
6424
+ return assert;
6425
+ case 'info':
6426
+ return info;
6427
+ case 'warn':
6428
+ return warn;
6429
+ case 'debug':
6430
+ return debug;
6431
+ case 'deprecate':
6432
+ return deprecate;
6433
+ case 'debugSeal':
6434
+ return debugSeal;
6435
+ case 'debugFreeze':
6436
+ return debugFreeze;
6437
+ case 'runInDebug':
6438
+ return runInDebug;
6439
+ case 'deprecateFunc':
6440
+ return deprecateFunc;
6441
+ }
6402
6442
  };
6403
6443
 
6404
6444
  /**
@@ -6413,19 +6453,15 @@ enifed('ember-debug/index', ['exports', 'ember-debug/warn', 'ember-debug/depreca
6413
6453
 
6414
6454
  /**
6415
6455
  Define an assertion that will throw an exception if the condition is not met.
6416
-
6417
- * In a production build, this method is defined as an empty function (NOP).
6456
+ * In a production build, this method is defined as an empty function (NOP).
6418
6457
  Uses of this method in Ember itself are stripped from the ember.prod.js build.
6419
-
6420
- ```javascript
6458
+ ```javascript
6421
6459
  // Test for truthiness
6422
6460
  Ember.assert('Must pass a valid object', obj);
6423
-
6424
- // Fail unconditionally
6461
+ // Fail unconditionally
6425
6462
  Ember.assert('This code path should never be run');
6426
6463
  ```
6427
-
6428
- @method assert
6464
+ @method assert
6429
6465
  @param {String} desc A description of the assertion. This will become
6430
6466
  the text of the Error thrown if the assertion fails.
6431
6467
  @param {Boolean} test Must be truthy for the assertion to pass. If
@@ -6441,15 +6477,12 @@ enifed('ember-debug/index', ['exports', 'ember-debug/warn', 'ember-debug/depreca
6441
6477
 
6442
6478
  /**
6443
6479
  Display a debug notice.
6444
-
6445
- * In a production build, this method is defined as an empty function (NOP).
6480
+ * In a production build, this method is defined as an empty function (NOP).
6446
6481
  Uses of this method in Ember itself are stripped from the ember.prod.js build.
6447
-
6448
- ```javascript
6482
+ ```javascript
6449
6483
  Ember.debug('I\'m a debug notice!');
6450
6484
  ```
6451
-
6452
- @method debug
6485
+ @method debug
6453
6486
  @param {String} message A debug message to display.
6454
6487
  @public
6455
6488
  */
@@ -6459,11 +6492,9 @@ enifed('ember-debug/index', ['exports', 'ember-debug/warn', 'ember-debug/depreca
6459
6492
 
6460
6493
  /**
6461
6494
  Display an info notice.
6462
-
6463
- * In a production build, this method is defined as an empty function (NOP).
6495
+ * In a production build, this method is defined as an empty function (NOP).
6464
6496
  Uses of this method in Ember itself are stripped from the ember.prod.js build.
6465
-
6466
- @method info
6497
+ @method info
6467
6498
  @private
6468
6499
  */
6469
6500
  setDebugFunction('info', function () {
@@ -6472,17 +6503,13 @@ enifed('ember-debug/index', ['exports', 'ember-debug/warn', 'ember-debug/depreca
6472
6503
 
6473
6504
  /**
6474
6505
  Alias an old, deprecated method with its new counterpart.
6475
-
6476
- Display a deprecation warning with the provided message and a stack trace
6506
+ Display a deprecation warning with the provided message and a stack trace
6477
6507
  (Chrome and Firefox only) when the assigned method is called.
6478
-
6479
- * In a production build, this method is defined as an empty function (NOP).
6480
-
6481
- ```javascript
6508
+ * In a production build, this method is defined as an empty function (NOP).
6509
+ ```javascript
6482
6510
  Ember.oldMethod = Ember.deprecateFunc('Please use the new, updated method', Ember.newMethod);
6483
6511
  ```
6484
-
6485
- @method deprecateFunc
6512
+ @method deprecateFunc
6486
6513
  @param {String} message A description of the deprecation.
6487
6514
  @param {Object} [options] The options object for Ember.deprecate.
6488
6515
  @param {Function} func The new function called to replace its deprecated counterpart.
@@ -6517,11 +6544,9 @@ enifed('ember-debug/index', ['exports', 'ember-debug/warn', 'ember-debug/depreca
6517
6544
 
6518
6545
  /**
6519
6546
  Run a function meant for debugging.
6520
-
6521
- * In a production build, this method is defined as an empty function (NOP).
6547
+ * In a production build, this method is defined as an empty function (NOP).
6522
6548
  Uses of this method in Ember itself are stripped from the ember.prod.js build.
6523
-
6524
- ```javascript
6549
+ ```javascript
6525
6550
  Ember.runInDebug(() => {
6526
6551
  Ember.Component.reopen({
6527
6552
  didInsertElement() {
@@ -6530,8 +6555,7 @@ enifed('ember-debug/index', ['exports', 'ember-debug/warn', 'ember-debug/depreca
6530
6555
  });
6531
6556
  });
6532
6557
  ```
6533
-
6534
- @method runInDebug
6558
+ @method runInDebug
6535
6559
  @param {Function} func The function to be executed.
6536
6560
  @since 1.5.0
6537
6561
  @public
@@ -6552,37 +6576,38 @@ enifed('ember-debug/index', ['exports', 'ember-debug/warn', 'ember-debug/depreca
6552
6576
 
6553
6577
  setDebugFunction('warn', _warn2.default);
6554
6578
 
6555
- /**
6556
- Will call `Ember.warn()` if ENABLE_OPTIONAL_FEATURES or
6557
- any specific FEATURES flag is truthy.
6558
-
6559
- This method is called automatically in debug canary builds.
6560
-
6561
- @private
6562
- @method _warnIfUsingStrippedFeatureFlags
6563
- @return {void}
6564
- */
6565
- function _warnIfUsingStrippedFeatureFlags(FEATURES, knownFeatures, featuresWereStripped) {
6566
- var keys, i, key;
6567
6579
 
6568
- if (featuresWereStripped) {
6569
- warn('Ember.ENV.ENABLE_OPTIONAL_FEATURES is only available in canary builds.', !_emberEnvironment.ENV.ENABLE_OPTIONAL_FEATURES, { id: 'ember-debug.feature-flag-with-features-stripped' });
6580
+ var _warnIfUsingStrippedFeatureFlags = void 0;
6570
6581
 
6571
- keys = Object.keys(FEATURES || {});
6582
+ if (true && !(0, _testing.isTesting)()) {
6583
+ /**
6584
+ Will call `Ember.warn()` if ENABLE_OPTIONAL_FEATURES or
6585
+ any specific FEATURES flag is truthy.
6586
+ This method is called automatically in debug canary builds.
6587
+ @private
6588
+ @method _warnIfUsingStrippedFeatureFlags
6589
+ @return {void}
6590
+ */
6591
+ exports._warnIfUsingStrippedFeatureFlags = _warnIfUsingStrippedFeatureFlags = function (FEATURES, knownFeatures, featuresWereStripped) {
6592
+ var keys, i, key;
6572
6593
 
6573
- for (i = 0; i < keys.length; i++) {
6574
- key = keys[i];
6594
+ if (featuresWereStripped) {
6595
+ warn('Ember.ENV.ENABLE_OPTIONAL_FEATURES is only available in canary builds.', !_emberEnvironment.ENV.ENABLE_OPTIONAL_FEATURES, { id: 'ember-debug.feature-flag-with-features-stripped' });
6575
6596
 
6576
- if (key === 'isEnabled' || !(key in knownFeatures)) {
6577
- continue;
6578
- }
6597
+ keys = Object.keys(FEATURES || {});
6598
+
6599
+ for (i = 0; i < keys.length; i++) {
6600
+ key = keys[i];
6579
6601
 
6580
- warn('FEATURE["' + key + '"] is set as enabled, but FEATURE flags are only available in canary builds.', !FEATURES[key], { id: 'ember-debug.feature-flag-with-features-stripped' });
6602
+ if (key === 'isEnabled' || !(key in knownFeatures)) {
6603
+ continue;
6604
+ }
6605
+
6606
+ warn('FEATURE["' + key + '"] is set as enabled, but FEATURE flags are only available in canary builds.', !FEATURES[key], { id: 'ember-debug.feature-flag-with-features-stripped' });
6607
+ }
6581
6608
  }
6582
- }
6583
- }
6609
+ };
6584
6610
 
6585
- if (!(0, _testing.isTesting)()) {
6586
6611
  // Complain if they're using FEATURE flags in builds other than canary
6587
6612
  FEATURES['features-stripped-test'] = true;
6588
6613
  featuresWereStripped = true;
@@ -6620,37 +6645,18 @@ enifed('ember-debug/index', ['exports', 'ember-debug/warn', 'ember-debug/depreca
6620
6645
  }
6621
6646
  }
6622
6647
 
6623
- /*
6624
- We are transitioning away from `ember.js` to `ember.debug.js` to make
6625
- it much clearer that it is only for local development purposes.
6626
-
6627
- This flag value is changed by the tooling (by a simple string replacement)
6628
- so that if `ember.js` (which must be output for backwards compat reasons) is
6629
- used a nice helpful warning message will be printed out.
6630
- */
6631
- var runningNonEmberDebugJS = exports.runningNonEmberDebugJS = false;
6632
- if (runningNonEmberDebugJS) {
6633
- warn('Please use `ember.debug.js` instead of `ember.js` for development and debugging.');
6634
- }
6635
-
6636
- function setDebugFunction(name, fn) {
6637
- debugFunctions[name] = fn;
6638
- }
6639
-
6640
- function warn() {
6641
- return debugFunctions.warn.apply(undefined, arguments);
6642
- }
6643
-
6644
- function debug() {
6645
- return debugFunctions.debug.apply(undefined, arguments);
6646
- }
6647
-
6648
- function deprecate() {
6649
- return debugFunctions.deprecate.apply(undefined, arguments);
6650
- }
6651
- });
6652
- enifed("ember-debug/run-in-debug", [], function () {
6653
- "use strict";
6648
+ exports.assert = assert;
6649
+ exports.info = info;
6650
+ exports.warn = warn;
6651
+ exports.debug = debug;
6652
+ exports.deprecate = deprecate;
6653
+ exports.debugSeal = debugSeal;
6654
+ exports.debugFreeze = debugFreeze;
6655
+ exports.runInDebug = runInDebug;
6656
+ exports.deprecateFunc = deprecateFunc;
6657
+ exports.setDebugFunction = setDebugFunction;
6658
+ exports.getDebugFunction = getDebugFunction;
6659
+ exports._warnIfUsingStrippedFeatureFlags = _warnIfUsingStrippedFeatureFlags;
6654
6660
  });
6655
6661
  enifed("ember-debug/testing", ["exports"], function (exports) {
6656
6662
  "use strict";
@@ -6666,22 +6672,61 @@ enifed("ember-debug/testing", ["exports"], function (exports) {
6666
6672
  enifed('ember-debug/warn', ['exports', 'ember-console', 'ember-debug/deprecate', 'ember-debug/handlers'], function (exports, _emberConsole, _deprecate, _handlers) {
6667
6673
  'use strict';
6668
6674
 
6669
- exports.missingOptionsIdDeprecation = exports.missingOptionsDeprecation = undefined;
6670
- exports.registerHandler = registerHandler;
6671
- exports.default =
6675
+ exports.missingOptionsDeprecation = exports.missingOptionsIdDeprecation = exports.registerHandler = undefined;
6676
+
6677
+ var registerHandler = function () {};
6678
+ var warn = function () {};
6679
+ var missingOptionsDeprecation = void 0,
6680
+ missingOptionsIdDeprecation = void 0;
6672
6681
 
6673
6682
  /**
6674
6683
  @module ember
6675
6684
  @submodule ember-debug
6676
6685
  */
6677
6686
 
6687
+ /**
6688
+ Allows for runtime registration of handler functions that override the default warning behavior.
6689
+ Warnings are invoked by calls made to [Ember.warn](http://emberjs.com/api/classes/Ember.html#method_warn).
6690
+ The following example demonstrates its usage by registering a handler that does nothing overriding Ember's
6691
+ default warning behavior.
6692
+ ```javascript
6693
+ // next is not called, so no warnings get the default behavior
6694
+ Ember.Debug.registerWarnHandler(() => {});
6695
+ ```
6696
+ The handler function takes the following arguments:
6697
+ <ul>
6698
+ <li> <code>message</code> - The message received from the warn call. </li>
6699
+ <li> <code>options</code> - An object passed in with the warn call containing additional information including:</li>
6700
+ <ul>
6701
+ <li> <code>id</code> - An id of the warning in the form of <code>package-name.specific-warning</code>.</li>
6702
+ </ul>
6703
+ <li> <code>next</code> - A function that calls into the previously registered handler.</li>
6704
+ </ul>
6705
+ @public
6706
+ @static
6707
+ @method registerWarnHandler
6708
+ @param handler {Function} A function to handle warnings.
6709
+ @since 2.1.0
6710
+ */
6711
+ exports.registerHandler = registerHandler = function (handler) {
6712
+ (0, _handlers.registerHandler)('warn', handler);
6713
+ };
6714
+
6715
+ registerHandler(function (message) {
6716
+ _emberConsole.default.warn('WARNING: ' + message);
6717
+ if ('trace' in _emberConsole.default) {
6718
+ _emberConsole.default.trace();
6719
+ }
6720
+ });
6721
+
6722
+ exports.missingOptionsDeprecation = missingOptionsDeprecation = 'When calling `Ember.warn` you ' + 'must provide an `options` hash as the third parameter. ' + '`options` should include an `id` property.';
6723
+ exports.missingOptionsIdDeprecation = missingOptionsIdDeprecation = 'When calling `Ember.warn` you must provide `id` in options.';
6724
+
6678
6725
  /**
6679
6726
  Display a warning with the provided message.
6680
-
6681
- * In a production build, this method is defined as an empty function (NOP).
6727
+ * In a production build, this method is defined as an empty function (NOP).
6682
6728
  Uses of this method in Ember itself are stripped from the ember.prod.js build.
6683
-
6684
- @method warn
6729
+ @method warn
6685
6730
  @param {String} message A warning to display.
6686
6731
  @param {Boolean} test An optional boolean. If falsy, the warning
6687
6732
  will be displayed.
@@ -6693,7 +6738,7 @@ enifed('ember-debug/warn', ['exports', 'ember-console', 'ember-debug/deprecate',
6693
6738
  @public
6694
6739
  @since 1.0.0
6695
6740
  */
6696
- function (message, test, options) {
6741
+ warn = function (message, test, options) {
6697
6742
  if (arguments.length === 2 && typeof test === 'object') {
6698
6743
  options = test;
6699
6744
  test = false;
@@ -6717,47 +6762,11 @@ enifed('ember-debug/warn', ['exports', 'ember-console', 'ember-debug/deprecate',
6717
6762
  (0, _handlers.invoke)('warn', message, test, options);
6718
6763
  };
6719
6764
 
6720
- /**
6721
- Allows for runtime registration of handler functions that override the default warning behavior.
6722
- Warnings are invoked by calls made to [Ember.warn](http://emberjs.com/api/classes/Ember.html#method_warn).
6723
- The following example demonstrates its usage by registering a handler that does nothing overriding Ember's
6724
- default warning behavior.
6725
-
6726
- ```javascript
6727
- // next is not called, so no warnings get the default behavior
6728
- Ember.Debug.registerWarnHandler(() => {});
6729
- ```
6730
-
6731
- The handler function takes the following arguments:
6732
-
6733
- <ul>
6734
- <li> <code>message</code> - The message received from the warn call. </li>
6735
- <li> <code>options</code> - An object passed in with the warn call containing additional information including:</li>
6736
- <ul>
6737
- <li> <code>id</code> - An id of the warning in the form of <code>package-name.specific-warning</code>.</li>
6738
- </ul>
6739
- <li> <code>next</code> - A function that calls into the previously registered handler.</li>
6740
- </ul>
6741
-
6742
- @public
6743
- @static
6744
- @method registerWarnHandler
6745
- @param handler {Function} A function to handle warnings.
6746
- @since 2.1.0
6747
- */
6748
- function registerHandler(handler) {
6749
- (0, _handlers.registerHandler)('warn', handler);
6750
- }
6751
6765
 
6752
- registerHandler(function (message) {
6753
- _emberConsole.default.warn('WARNING: ' + message);
6754
- if ('trace' in _emberConsole.default) {
6755
- _emberConsole.default.trace();
6756
- }
6757
- });
6758
-
6759
- var missingOptionsDeprecation = exports.missingOptionsDeprecation = 'When calling `Ember.warn` you ' + 'must provide an `options` hash as the third parameter. ' + '`options` should include an `id` property.';
6760
- var missingOptionsIdDeprecation = exports.missingOptionsIdDeprecation = 'When calling `Ember.warn` you must provide `id` in options.';
6766
+ exports.default = warn;
6767
+ exports.registerHandler = registerHandler;
6768
+ exports.missingOptionsIdDeprecation = missingOptionsIdDeprecation;
6769
+ exports.missingOptionsDeprecation = missingOptionsDeprecation;
6761
6770
  });
6762
6771
  enifed('ember-environment', ['exports'], function (exports) {
6763
6772
  'use strict';
@@ -6863,9 +6872,6 @@ enifed('ember-environment', ['exports'], function (exports) {
6863
6872
  */
6864
6873
  ENV.LOG_VERSION = defaultTrue(ENV.LOG_VERSION);
6865
6874
 
6866
- // default false
6867
- ENV.MODEL_FACTORY_INJECTIONS = defaultFalse(ENV.MODEL_FACTORY_INJECTIONS);
6868
-
6869
6875
  /**
6870
6876
  Debug parameter you can turn on. This will log all bindings that fire to
6871
6877
  the console. This should be disabled in production code. Note that you
@@ -7225,7 +7231,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
7225
7231
  @public
7226
7232
  */
7227
7233
  function addListener(obj, eventName, target, method, once) {
7228
- true && emberDebug.assert('You must pass at least an object and event name to Ember.addListener', !!obj && !!eventName);
7234
+ true && !(!!obj && !!eventName) && emberDebug.assert('You must pass at least an object and event name to Ember.addListener', !!obj && !!eventName);
7229
7235
  true && !(eventName !== 'didInitAttrs') && emberDebug.deprecate('didInitAttrs called in ' + (obj && obj.toString && obj.toString()) + '.', eventName !== 'didInitAttrs', {
7230
7236
  id: 'ember-views.did-init-attrs',
7231
7237
  until: '3.0.0',
@@ -7263,7 +7269,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
7263
7269
  @public
7264
7270
  */
7265
7271
  function removeListener(obj, eventName, target, method) {
7266
- true && emberDebug.assert('You must pass at least an object and event name to Ember.removeListener', !!obj && !!eventName);
7272
+ true && !(!!obj && !!eventName) && emberDebug.assert('You must pass at least an object and event name to Ember.removeListener', !!obj && !!eventName);
7267
7273
 
7268
7274
  if (!method && 'function' === typeof target) {
7269
7275
  method = target;
@@ -7676,7 +7682,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
7676
7682
  if (ember_features.EMBER_GLIMMER_ALLOW_BACKTRACKING_RERENDER) {
7677
7683
  true && !false && emberDebug.deprecate(message + ' will be removed in Ember 3.0.', false, { id: 'ember-views.render-double-modify', until: '3.0.0' });
7678
7684
  } else {
7679
- true && emberDebug.assert(message + ' is no longer supported. See https://github.com/emberjs/ember.js/issues/13948 for more details.', false);
7685
+ true && !false && emberDebug.assert(message + ' is no longer supported. See https://github.com/emberjs/ember.js/issues/13948 for more details.', false);
7680
7686
  }
7681
7687
  }
7682
7688
 
@@ -8015,7 +8021,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
8015
8021
  if (!m.isInitialized(this)) {
8016
8022
  m.writeValues(name, value);
8017
8023
  } else {
8018
- true && emberDebug.assert('You must use Ember.set() to set the `' + name + '` property (of ' + this + ') to `' + value + '`.', false);
8024
+ true && !false && emberDebug.assert('You must use Ember.set() to set the `' + name + '` property (of ' + this + ') to `' + value + '`.', false);
8019
8025
  }
8020
8026
  }
8021
8027
 
@@ -8826,7 +8832,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
8826
8832
  var key = memberProperty(name);
8827
8833
  var capitalized = capitalize(name);
8828
8834
  Meta.prototype['writable' + capitalized] = function (create) {
8829
- true && emberDebug.assert('Cannot call writable' + capitalized + ' after the object is destroyed.', !this.isMetaDestroyed());
8835
+ true && !!this.isMetaDestroyed() && emberDebug.assert('Cannot call writable' + capitalized + ' after the object is destroyed.', !this.isMetaDestroyed());
8830
8836
 
8831
8837
  var ret = this[key];
8832
8838
  if (ret === undefined) {
@@ -9044,7 +9050,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
9044
9050
 
9045
9051
 
9046
9052
  Meta.prototype.writeDeps = function (subkey, itemkey, value) {
9047
- true && emberDebug.assert('Cannot call writeDeps after the object is destroyed.', !this.isMetaDestroyed());
9053
+ true && !!this.isMetaDestroyed() && emberDebug.assert('Cannot call writeDeps after the object is destroyed.', !this.isMetaDestroyed());
9048
9054
 
9049
9055
  var outerMap = this._getOrCreateOwnMap('_deps');
9050
9056
  var innerMap = outerMap[subkey];
@@ -9209,7 +9215,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
9209
9215
  var capitalized = capitalize(name);
9210
9216
 
9211
9217
  Meta.prototype['write' + capitalized] = function (subkey, value) {
9212
- true && emberDebug.assert('Cannot call write' + capitalized + ' after the object is destroyed.', !this.isMetaDestroyed());
9218
+ true && !!this.isMetaDestroyed() && emberDebug.assert('Cannot call write' + capitalized + ' after the object is destroyed.', !this.isMetaDestroyed());
9213
9219
 
9214
9220
  var map = this._getOrCreateOwnMap(key);
9215
9221
  map[subkey] = value;
@@ -9240,7 +9246,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
9240
9246
  };
9241
9247
 
9242
9248
  Meta.prototype['clear' + capitalized] = function () {
9243
- true && emberDebug.assert('Cannot call clear' + capitalized + ' after the object is destroyed.', !this.isMetaDestroyed());
9249
+ true && !!this.isMetaDestroyed() && emberDebug.assert('Cannot call clear' + capitalized + ' after the object is destroyed.', !this.isMetaDestroyed());
9244
9250
 
9245
9251
  this[key] = undefined;
9246
9252
  };
@@ -9262,7 +9268,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
9262
9268
  var key = memberProperty(name);
9263
9269
  var capitalized = capitalize(name);
9264
9270
  Meta.prototype['writable' + capitalized] = function (create) {
9265
- true && emberDebug.assert('Cannot call writable' + capitalized + ' after the object is destroyed.', !this.isMetaDestroyed());
9271
+ true && !!this.isMetaDestroyed() && emberDebug.assert('Cannot call writable' + capitalized + ' after the object is destroyed.', !this.isMetaDestroyed());
9266
9272
 
9267
9273
  var ret = this[key];
9268
9274
  if (ret === undefined) {
@@ -9627,11 +9633,11 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
9627
9633
  @public
9628
9634
  */
9629
9635
  function get(obj, keyName) {
9630
- true && emberDebug.assert('Get must be called with two arguments; an object and a property key', arguments.length === 2);
9631
- true && emberDebug.assert('Cannot call get with \'' + keyName + '\' on an undefined object.', obj !== undefined && obj !== null);
9632
- true && emberDebug.assert('The key provided to get must be a string, you passed ' + keyName, typeof keyName === 'string');
9633
- true && emberDebug.assert('\'this\' in paths is not supported', !hasThis(keyName));
9634
- true && emberDebug.assert('Cannot call `Ember.get` with an empty string', keyName !== '');
9636
+ true && !(arguments.length === 2) && emberDebug.assert('Get must be called with two arguments; an object and a property key', arguments.length === 2);
9637
+ true && !(obj !== undefined && obj !== null) && emberDebug.assert('Cannot call get with \'' + keyName + '\' on an undefined object.', obj !== undefined && obj !== null);
9638
+ true && !(typeof keyName === 'string') && emberDebug.assert('The key provided to get must be a string, you passed ' + keyName, typeof keyName === 'string');
9639
+ true && !!hasThis(keyName) && emberDebug.assert('\'this\' in paths is not supported', !hasThis(keyName));
9640
+ true && !(keyName !== '') && emberDebug.assert('Cannot call `Ember.get` with an empty string', keyName !== '');
9635
9641
 
9636
9642
  var value = obj[keyName];
9637
9643
  var desc = value !== null && typeof value === 'object' && value.isDescriptor ? value : undefined;
@@ -9719,11 +9725,11 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
9719
9725
  @public
9720
9726
  */
9721
9727
  function set(obj, keyName, value, tolerant) {
9722
- true && emberDebug.assert('Set must be called with three or four arguments; an object, a property key, a value and tolerant true/false', arguments.length === 3 || arguments.length === 4);
9723
- true && emberDebug.assert('Cannot call set with \'' + keyName + '\' on an undefined object.', obj && typeof obj === 'object' || typeof obj === 'function');
9724
- true && emberDebug.assert('The key provided to set must be a string, you passed ' + keyName, typeof keyName === 'string');
9725
- true && emberDebug.assert('\'this\' in paths is not supported', !hasThis(keyName));
9726
- true && emberDebug.assert('calling set on destroyed object: ' + emberUtils.toString(obj) + '.' + keyName + ' = ' + emberUtils.toString(value), !obj.isDestroyed);
9728
+ true && !(arguments.length === 3 || arguments.length === 4) && emberDebug.assert('Set must be called with three or four arguments; an object, a property key, a value and tolerant true/false', arguments.length === 3 || arguments.length === 4);
9729
+ true && !(obj && typeof obj === 'object' || typeof obj === 'function') && emberDebug.assert('Cannot call set with \'' + keyName + '\' on an undefined object.', obj && typeof obj === 'object' || typeof obj === 'function');
9730
+ true && !(typeof keyName === 'string') && emberDebug.assert('The key provided to set must be a string, you passed ' + keyName, typeof keyName === 'string');
9731
+ true && !!hasThis(keyName) && emberDebug.assert('\'this\' in paths is not supported', !hasThis(keyName));
9732
+ true && !!obj.isDestroyed && emberDebug.assert('calling set on destroyed object: ' + emberUtils.toString(obj) + '.' + keyName + ' = ' + emberUtils.toString(value), !obj.isDestroyed);
9727
9733
 
9728
9734
  if (isPath(keyName)) {
9729
9735
  return setPath(obj, keyName, value, tolerant);
@@ -9745,7 +9751,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
9745
9751
  desc.set(obj, keyName, value);
9746
9752
  } else if (obj.setUnknownProperty && currentValue === undefined && !(keyName in obj)) {
9747
9753
  /* unknown property */
9748
- true && emberDebug.assert('setUnknownProperty must be a function', typeof obj.setUnknownProperty === 'function');
9754
+ true && !(typeof obj.setUnknownProperty === 'function') && emberDebug.assert('setUnknownProperty must be a function', typeof obj.setUnknownProperty === 'function');
9749
9755
 
9750
9756
  obj.setUnknownProperty(keyName, value);
9751
9757
  } else if (currentValue === value) {
@@ -9866,66 +9872,37 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
9866
9872
  expansion, and is passed the expansion.
9867
9873
  */
9868
9874
  function expandProperties(pattern, callback) {
9869
- true && emberDebug.assert('A computed property key must be a string, you passed ' + typeof pattern + ' ' + pattern, typeof pattern === 'string');
9870
- true && emberDebug.assert('Brace expanded properties cannot contain spaces, e.g. "user.{firstName, lastName}" should be "user.{firstName,lastName}"', pattern.indexOf(' ') === -1);
9875
+ true && !(typeof pattern === 'string') && emberDebug.assert('A computed property key must be a string, you passed ' + typeof pattern + ' ' + pattern, typeof pattern === 'string');
9876
+ true && !(pattern.indexOf(' ') === -1) && emberDebug.assert('Brace expanded properties cannot contain spaces, e.g. "user.{firstName, lastName}" should be "user.{firstName,lastName}"', pattern.indexOf(' ') === -1);
9877
+ // regex to look for double open, double close, or unclosed braces
9871
9878
 
9872
- var unbalancedNestedError = 'Brace expanded properties have to be balanced and cannot be nested, pattern: ' + pattern,
9873
- i,
9874
- current,
9875
- expansion,
9876
- j,
9877
- property,
9878
- k,
9879
- _i;
9880
- var properties = [pattern];
9881
-
9882
- // Iterating backward over the pattern makes dealing with indices easier.
9883
- var bookmark = void 0;
9884
- var inside = false;
9885
- for (i = pattern.length; i > 0; --i) {
9886
- current = pattern[i - 1];
9887
-
9888
-
9889
- switch (current) {
9890
- // Closing curly brace will be the first character of the brace expansion we encounter.
9891
- // Bookmark its index so long as we're not already inside a brace expansion.
9892
- case '}':
9893
- if (!inside) {
9894
- bookmark = i - 1;
9895
- inside = true;
9896
- } else {
9897
- true && emberDebug.assert(unbalancedNestedError, false);
9898
- }
9899
- break;
9900
- // Opening curly brace will be the last character of the brace expansion we encounter.
9901
- // Apply the brace expansion so long as we've already seen a closing curly brace.
9902
- case '{':
9903
- if (inside) {
9904
- expansion = pattern.slice(i, bookmark).split(',');
9905
- // Iterating backward allows us to push new properties w/out affecting our "cursor".
9906
-
9907
- for (j = properties.length; j > 0; --j) {
9908
- // Extract the unexpanded property from the array.
9909
- property = properties.splice(j - 1, 1)[0];
9910
- // Iterate over the expansion, pushing the newly formed properties onto the array.
9911
-
9912
- for (k = 0; k < expansion.length; ++k) {
9913
- properties.push(property.slice(0, i - 1) + expansion[k] + property.slice(bookmark + 1));
9914
- }
9915
- }
9916
- inside = false;
9917
- } else {
9918
- true && emberDebug.assert(unbalancedNestedError, false);
9919
- }
9920
- break;
9921
- }
9922
- }
9923
- if (inside) {
9924
- true && emberDebug.assert(unbalancedNestedError, false);
9879
+ true && !(pattern.match(/\{[^}{]*\{|\}[^}{]*\}|\{[^}]*$/g) === null) && emberDebug.assert('Brace expanded properties have to be balanced and cannot be nested, pattern: ' + pattern, pattern.match(/\{[^}{]*\{|\}[^}{]*\}|\{[^}]*$/g) === null);
9880
+
9881
+ var start = pattern.indexOf('{');
9882
+ if (start < 0) {
9883
+ callback(pattern.replace(END_WITH_EACH_REGEX, '.[]'));
9884
+ } else {
9885
+ dive('', pattern, start, callback);
9925
9886
  }
9887
+ }
9926
9888
 
9927
- for (_i = 0; _i < properties.length; _i++) {
9928
- callback(properties[_i].replace(END_WITH_EACH_REGEX, '.[]'));
9889
+ function dive(prefix, pattern, start, callback) {
9890
+ var end = pattern.indexOf('}'),
9891
+ i = 0,
9892
+ newStart = void 0,
9893
+ arrayLength = void 0;
9894
+ var tempArr = pattern.substring(start + 1, end).split(',');
9895
+ var after = pattern.substring(end + 1);
9896
+ prefix = prefix + pattern.substring(0, start);
9897
+
9898
+ arrayLength = tempArr.length;
9899
+ while (i < arrayLength) {
9900
+ newStart = after.indexOf('{');
9901
+ if (newStart < 0) {
9902
+ callback((prefix + tempArr[i++] + after).replace(END_WITH_EACH_REGEX, '.[]'));
9903
+ } else {
9904
+ dive(prefix + tempArr[i++], after, newStart, callback);
9905
+ }
9929
9906
  }
9930
9907
  }
9931
9908
 
@@ -10138,8 +10115,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
10138
10115
  if (typeof config === 'function') {
10139
10116
  this._getter = config;
10140
10117
  } else {
10141
- true && emberDebug.assert('Ember.computed expects a function or an object as last argument.', typeof config === 'object' && !Array.isArray(config));
10142
- true && emberDebug.assert('Config object passed to an Ember.computed can only contain `get` or `set` keys.', function () {
10118
+ true && !(typeof config === 'object' && !Array.isArray(config)) && emberDebug.assert('Ember.computed expects a function or an object as last argument.', typeof config === 'object' && !Array.isArray(config));
10119
+ true && !function () {
10143
10120
  var keys = Object.keys(config),
10144
10121
  i;
10145
10122
  for (i = 0; i < keys.length; i++) {
@@ -10148,12 +10125,19 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
10148
10125
  }
10149
10126
  }
10150
10127
  return true;
10128
+ }() && emberDebug.assert('Config object passed to an Ember.computed can only contain `get` or `set` keys.', function () {
10129
+ var keys = Object.keys(config),
10130
+ i;for (i = 0; i < keys.length; i++) {
10131
+ if (keys[i] !== 'get' && keys[i] !== 'set') {
10132
+ return false;
10133
+ }
10134
+ }return true;
10151
10135
  }());
10152
10136
 
10153
10137
  this._getter = config.get;
10154
10138
  this._setter = config.set;
10155
10139
  }
10156
- true && emberDebug.assert('Computed properties must receive a getter or a setter, you passed none.', !!this._getter || !!this._setter);
10140
+ true && !(!!this._getter || !!this._setter) && emberDebug.assert('Computed properties must receive a getter or a setter, you passed none.', !!this._getter || !!this._setter);
10157
10141
 
10158
10142
  this._dependentKeys = undefined;
10159
10143
  this._suspended = undefined;
@@ -10219,7 +10203,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
10219
10203
  */
10220
10204
  ComputedPropertyPrototype.readOnly = function () {
10221
10205
  this._readOnly = true;
10222
- true && emberDebug.assert('Computed properties that define a setter using the new syntax cannot be read-only', !(this._readOnly && this._setter && this._setter !== this._getter));
10206
+ true && !!(this._readOnly && this._setter && this._setter !== this._getter) && emberDebug.assert('Computed properties that define a setter using the new syntax cannot be read-only', !(this._readOnly && this._setter && this._setter !== this._getter));
10223
10207
 
10224
10208
  return this;
10225
10209
  };
@@ -10600,7 +10584,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
10600
10584
  }
10601
10585
 
10602
10586
  AliasedProperty.prototype.setup = function (obj, keyName) {
10603
- true && emberDebug.assert('Setting alias \'' + keyName + '\' on self', this.altKey !== keyName);
10587
+ true && !(this.altKey !== keyName) && emberDebug.assert('Setting alias \'' + keyName + '\' on self', this.altKey !== keyName);
10604
10588
 
10605
10589
  var meta$$1 = meta(obj);
10606
10590
  if (meta$$1.peekWatching(keyName)) {
@@ -11506,7 +11490,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
11506
11490
  @public
11507
11491
  */
11508
11492
  run$1.schedule = function () /* queue, target, method */{
11509
- true && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run$1.currentRunLoop || !emberDebug.isTesting());
11493
+ true && !(run$1.currentRunLoop || !emberDebug.isTesting()) && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run$1.currentRunLoop || !emberDebug.isTesting());
11510
11494
 
11511
11495
  return backburner.schedule.apply(backburner, arguments);
11512
11496
  };
@@ -11590,7 +11574,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
11590
11574
  run$1.once = function () {
11591
11575
  var _len3, args, _key3;
11592
11576
 
11593
- true && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run$1.currentRunLoop || !emberDebug.isTesting());
11577
+ true && !(run$1.currentRunLoop || !emberDebug.isTesting()) && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run$1.currentRunLoop || !emberDebug.isTesting());
11594
11578
 
11595
11579
  for (_len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
11596
11580
  args[_key3] = arguments[_key3];
@@ -11653,7 +11637,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
11653
11637
  @public
11654
11638
  */
11655
11639
  run$1.scheduleOnce = function () /*queue, target, method*/{
11656
- true && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run$1.currentRunLoop || !emberDebug.isTesting());
11640
+ true && !(run$1.currentRunLoop || !emberDebug.isTesting()) && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run$1.currentRunLoop || !emberDebug.isTesting());
11657
11641
 
11658
11642
  return backburner.scheduleOnce.apply(backburner, arguments);
11659
11643
  };
@@ -12743,7 +12727,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
12743
12727
  */
12744
12728
 
12745
12729
  Binding.prototype.connect = function (obj) {
12746
- true && emberDebug.assert('Must pass a valid object to Ember.Binding.connect()', !!obj);
12730
+ true && !!!obj && emberDebug.assert('Must pass a valid object to Ember.Binding.connect()', !!obj);
12747
12731
 
12748
12732
  var fromObj = void 0,
12749
12733
  fromPath = void 0,
@@ -12799,7 +12783,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
12799
12783
  */
12800
12784
 
12801
12785
  Binding.prototype.disconnect = function () {
12802
- true && emberDebug.assert('Must pass a valid object to Ember.Binding.disconnect()', !!this._toObj);
12786
+ true && !!!this._toObj && emberDebug.assert('Must pass a valid object to Ember.Binding.disconnect()', !!this._toObj);
12803
12787
 
12804
12788
  // Remove an observer on the object so we're no longer notified of
12805
12789
  // changes that should update bindings.
@@ -13231,7 +13215,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
13231
13215
  {
13232
13216
  if (isArray(value)) {
13233
13217
  // use conditional to avoid stringifying every time
13234
- true && emberDebug.assert('You passed in `' + JSON.stringify(value) + '` as the value for `' + key + '` but `' + key + '` cannot be an Array', false);
13218
+ true && !false && emberDebug.assert('You passed in `' + JSON.stringify(value) + '` as the value for `' + key + '` but `' + key + '` cannot be an Array', false);
13235
13219
  }
13236
13220
  }
13237
13221
 
@@ -13308,7 +13292,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
13308
13292
 
13309
13293
  for (i = 0; i < mixins.length; i++) {
13310
13294
  currentMixin = mixins[i];
13311
- true && emberDebug.assert('Expected hash or Mixin instance, got ' + Object.prototype.toString.call(currentMixin), typeof currentMixin === 'object' && currentMixin !== null && Object.prototype.toString.call(currentMixin) !== '[object Array]');
13295
+ true && !(typeof currentMixin === 'object' && currentMixin !== null && Object.prototype.toString.call(currentMixin) !== '[object Array]') && emberDebug.assert('Expected hash or Mixin instance, got ' + Object.prototype.toString.call(currentMixin), typeof currentMixin === 'object' && currentMixin !== null && Object.prototype.toString.call(currentMixin) !== '[object Array]');
13312
13296
 
13313
13297
  props = mixinProperties(meta$$1, currentMixin);
13314
13298
  if (props === CONTINUE) {
@@ -13679,7 +13663,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
13679
13663
 
13680
13664
  for (idx = 0; idx < arguments.length; idx++) {
13681
13665
  currentMixin = arguments[idx];
13682
- true && emberDebug.assert('Expected hash or Mixin instance, got ' + Object.prototype.toString.call(currentMixin), typeof currentMixin === 'object' && currentMixin !== null && Object.prototype.toString.call(currentMixin) !== '[object Array]');
13666
+ true && !(typeof currentMixin === 'object' && currentMixin !== null && Object.prototype.toString.call(currentMixin) !== '[object Array]') && emberDebug.assert('Expected hash or Mixin instance, got ' + Object.prototype.toString.call(currentMixin), typeof currentMixin === 'object' && currentMixin !== null && Object.prototype.toString.call(currentMixin) !== '[object Array]');
13683
13667
 
13684
13668
  if (currentMixin instanceof Mixin) {
13685
13669
  mixins.push(currentMixin);
@@ -13973,8 +13957,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
13973
13957
  var desc = this[keyName];
13974
13958
  var owner = emberUtils.getOwner(this) || this.container; // fallback to `container` for backwards compat
13975
13959
 
13976
- true && emberDebug.assert('InjectedProperties should be defined with the Ember.inject computed property macros.', desc && desc.isDescriptor && desc.type);
13977
- true && emberDebug.assert('Attempting to lookup an injected property on an object without a container, ensure that the object was instantiated via a container.', owner);
13960
+ true && !(desc && desc.isDescriptor && desc.type) && emberDebug.assert('InjectedProperties should be defined with the Ember.inject computed property macros.', desc && desc.isDescriptor && desc.type);
13961
+ true && !owner && emberDebug.assert('Attempting to lookup an injected property on an object without a container, ensure that the object was instantiated via a container.', owner);
13978
13962
 
13979
13963
  return owner.lookup(desc.type + ':' + (desc.name || keyName));
13980
13964
  }
@@ -14304,7 +14288,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
14304
14288
  for (i = 0; i < arguments.length; i++) {
14305
14289
  arg = arguments[i];
14306
14290
 
14307
- true && emberDebug.assert('Immediate observers must observe internal properties only, not properties on other objects.', typeof arg !== 'string' || arg.indexOf('.') === -1);
14291
+ true && !(typeof arg !== 'string' || arg.indexOf('.') === -1) && emberDebug.assert('Immediate observers must observe internal properties only, not properties on other objects.', typeof arg !== 'string' || arg.indexOf('.') === -1);
14308
14292
  }
14309
14293
 
14310
14294
  return observer.apply(this, arguments);
@@ -14517,7 +14501,7 @@ enifed('ember-template-compiler/plugins/assert-reserved-named-arguments', ['expo
14517
14501
  this.syntax.traverse(ast, {
14518
14502
  PathExpression: function (node) {
14519
14503
  if (node.original[0] === '@') {
14520
- true && (0, _emberDebug.assert)(assertMessage(moduleName, node));
14504
+ true && !false && (0, _emberDebug.assert)(assertMessage(moduleName, node));
14521
14505
  }
14522
14506
  }
14523
14507
  });
@@ -15410,7 +15394,7 @@ enifed('ember-template-compiler/plugins/transform-old-binding-syntax', ['exports
15410
15394
  return;
15411
15395
  }
15412
15396
 
15413
- true && (0, _emberDebug.assert)('Setting \'attributeBindings\' via template helpers is not allowed ' + sourceInformation, key !== 'attributeBindings');
15397
+ true && !(key !== 'attributeBindings') && (0, _emberDebug.assert)('Setting \'attributeBindings\' via template helpers is not allowed ' + sourceInformation, key !== 'attributeBindings');
15414
15398
 
15415
15399
  if (key.substr(-7) === 'Binding') {
15416
15400
  newKey = key.slice(0, -7);
@@ -16662,7 +16646,7 @@ enifed('ember/features', ['exports', 'ember-environment', 'ember-utils'], functi
16662
16646
  enifed("ember/version", ["exports"], function (exports) {
16663
16647
  "use strict";
16664
16648
 
16665
- exports.default = "2.14.0-beta.2";
16649
+ exports.default = "2.14.0-beta.3";
16666
16650
  });
16667
16651
  enifed("handlebars", ["exports"], function (exports) {
16668
16652
  "use strict";