ember-source 2.7.0.beta.1 → 2.7.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.7.0-beta.1
9
+ * @version 2.7.0-beta.2
10
10
  */
11
11
 
12
12
  var enifed, requireModule, require, Ember;
@@ -485,6 +485,10 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-environment',
485
485
  _emberMetalFeatures.FEATURES['features-stripped-test'] = true;
486
486
  var featuresWereStripped = true;
487
487
 
488
+ if (false) {
489
+ exports.featuresWereStripped = featuresWereStripped = false;
490
+ }
491
+
488
492
  delete _emberMetalFeatures.FEATURES['features-stripped-test'];
489
493
  _warnIfUsingStrippedFeatureFlags(_emberEnvironment.ENV.FEATURES, _emberMetalFeatures.DEFAULT_FEATURES, featuresWereStripped);
490
494
 
@@ -1175,13 +1179,12 @@ enifed('ember-testing/helpers/key_event', ['exports'], function (exports) {
1175
1179
  return app.testHelpers.triggerEvent(selector, context, type, { keyCode: keyCode, which: keyCode });
1176
1180
  }
1177
1181
  });
1178
- enifed('ember-testing/helpers/pause_test', ['exports', 'ember-runtime/ext/rsvp', 'ember-testing/test'], function (exports, _emberRuntimeExtRsvp, _emberTestingTest) {
1182
+ enifed('ember-testing/helpers/pause_test', ['exports', 'ember-runtime/ext/rsvp'], function (exports, _emberRuntimeExtRsvp) {
1179
1183
  'use strict';
1180
1184
 
1181
1185
  exports.default = pauseTest;
1182
1186
 
1183
1187
  function pauseTest() {
1184
- _emberTestingTest.default.adapter.asyncStart();
1185
1188
  return new _emberRuntimeExtRsvp.default.Promise(function () {}, 'TestAdapter paused promise');
1186
1189
  }
1187
1190
  });
@@ -1525,7 +1528,7 @@ enifed('ember-testing/helpers', ['exports', 'ember-testing/test/helpers', 'ember
1525
1528
  @return {Object} A promise that will never resolve
1526
1529
  @public
1527
1530
  */
1528
- _emberTestingTestHelpers.registerHelper('pauseTest', _emberTestingHelpersPause_test.default);
1531
+ _emberTestingTestHelpers.registerAsyncHelper('pauseTest', _emberTestingHelpersPause_test.default);
1529
1532
 
1530
1533
  /**
1531
1534
  Triggers the given DOM event on the element identified by the provided selector.
@@ -2045,12 +2048,14 @@ enifed('ember-testing/test/run', ['exports', 'ember-metal/run_loop'], function (
2045
2048
  }
2046
2049
  }
2047
2050
  });
2048
- enifed("ember-testing/test/waiters", ["exports"], function (exports) {
2049
- "use strict";
2051
+ enifed('ember-testing/test/waiters', ['exports', 'ember-metal/features', 'ember-metal/debug'], function (exports, _emberMetalFeatures, _emberMetalDebug) {
2052
+ 'use strict';
2050
2053
 
2051
2054
  exports.registerWaiter = registerWaiter;
2052
2055
  exports.unregisterWaiter = unregisterWaiter;
2053
2056
  exports.checkWaiters = checkWaiters;
2057
+ exports.generateDeprecatedWaitersArray = generateDeprecatedWaitersArray;
2058
+
2054
2059
  var contexts = [];
2055
2060
  var callbacks = [];
2056
2061
 
@@ -2123,6 +2128,20 @@ enifed("ember-testing/test/waiters", ["exports"], function (exports) {
2123
2128
  callbacks.splice(i, 1);
2124
2129
  }
2125
2130
 
2131
+ /**
2132
+ Iterates through each registered test waiter, and invokes
2133
+ its callback. If any waiter returns false, this method will return
2134
+ true indicating that the waiters have not settled yet.
2135
+
2136
+ This is generally used internally from the acceptance/integration test
2137
+ infrastructure.
2138
+
2139
+ @public
2140
+ @for Ember.Test
2141
+ @static
2142
+ @method checkWaiters
2143
+ */
2144
+
2126
2145
  function checkWaiters() {
2127
2146
  if (!callbacks.length) {
2128
2147
  return false;
@@ -2145,8 +2164,22 @@ enifed("ember-testing/test/waiters", ["exports"], function (exports) {
2145
2164
  }
2146
2165
  return -1;
2147
2166
  }
2167
+
2168
+ function generateDeprecatedWaitersArray() {
2169
+ _emberMetalDebug.deprecate('Usage of `Ember.Test.waiters` is deprecated. Please refactor to `Ember.Test.checkWaiters`.', !false, { until: '2.8.0', id: 'ember-testing.test-waiters' });
2170
+
2171
+ var array = new Array(callbacks.length);
2172
+ for (var i = 0; i < callbacks.length; i++) {
2173
+ var context = contexts[i];
2174
+ var callback = callbacks[i];
2175
+
2176
+ array[i] = [context, callback];
2177
+ }
2178
+
2179
+ return array;
2180
+ }
2148
2181
  });
2149
- enifed('ember-testing/test', ['exports', 'ember-testing/test/helpers', 'ember-testing/test/on_inject_helpers', 'ember-testing/test/promise', 'ember-testing/test/waiters', 'ember-testing/test/adapter'], function (exports, _emberTestingTestHelpers, _emberTestingTestOn_inject_helpers, _emberTestingTestPromise, _emberTestingTestWaiters, _emberTestingTestAdapter) {
2182
+ enifed('ember-testing/test', ['exports', 'ember-testing/test/helpers', 'ember-testing/test/on_inject_helpers', 'ember-testing/test/promise', 'ember-testing/test/waiters', 'ember-testing/test/adapter', 'ember-metal/features'], function (exports, _emberTestingTestHelpers, _emberTestingTestOn_inject_helpers, _emberTestingTestPromise, _emberTestingTestWaiters, _emberTestingTestAdapter, _emberMetalFeatures) {
2150
2183
  /**
2151
2184
  @module ember
2152
2185
  @submodule ember-testing
@@ -2185,6 +2218,10 @@ enifed('ember-testing/test', ['exports', 'ember-testing/test/helpers', 'ember-te
2185
2218
  unregisterWaiter: _emberTestingTestWaiters.unregisterWaiter
2186
2219
  };
2187
2220
 
2221
+ if (false) {
2222
+ Test.checkWaiters = _emberTestingTestWaiters.checkWaiters;
2223
+ }
2224
+
2188
2225
  /**
2189
2226
  Used to allow ember-testing to communicate with a specific testing
2190
2227
  framework.
@@ -2210,6 +2247,10 @@ enifed('ember-testing/test', ['exports', 'ember-testing/test/helpers', 'ember-te
2210
2247
  set: _emberTestingTestAdapter.setAdapter
2211
2248
  });
2212
2249
 
2250
+ Object.defineProperty(Test, 'waiters', {
2251
+ get: _emberTestingTestWaiters.generateDeprecatedWaitersArray
2252
+ });
2253
+
2213
2254
  exports.default = Test;
2214
2255
  });
2215
2256
  requireModule("ember-testing");
@@ -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.7.0-beta.1
9
+ * @version 2.7.0-beta.2
10
10
  */
11
11
 
12
12
  var enifed, requireModule, require, Ember;
@@ -3751,7 +3751,7 @@ enifed('ember/index', ['exports', 'ember-metal', 'ember-runtime', 'ember-views',
3751
3751
  enifed("ember/version", ["exports"], function (exports) {
3752
3752
  "use strict";
3753
3753
 
3754
- exports.default = "2.7.0-beta.1";
3754
+ exports.default = "2.7.0-beta.2";
3755
3755
  });
3756
3756
  enifed('ember-application/index', ['exports', 'ember-metal/core', 'ember-metal/features', 'ember-runtime/system/lazy_load', 'ember-application/system/resolver', 'ember-application/system/application', 'ember-application/system/application-instance', 'ember-application/system/engine', 'ember-application/system/engine-instance'], function (exports, _emberMetalCore, _emberMetalFeatures, _emberRuntimeSystemLazy_load, _emberApplicationSystemResolver, _emberApplicationSystemApplication, _emberApplicationSystemApplicationInstance, _emberApplicationSystemEngine, _emberApplicationSystemEngineInstance) {
3757
3757
  'use strict';
@@ -3760,6 +3760,15 @@ enifed('ember-application/index', ['exports', 'ember-metal/core', 'ember-metal/f
3760
3760
  _emberMetalCore.default.Resolver = _emberApplicationSystemResolver.Resolver;
3761
3761
  _emberMetalCore.default.DefaultResolver = _emberApplicationSystemResolver.default;
3762
3762
 
3763
+ if (false) {
3764
+ _emberMetalCore.default.Engine = _emberApplicationSystemEngine.default;
3765
+
3766
+ // Expose `EngineInstance` and `ApplicationInstance` for easy overriding.
3767
+ // Reanalyze whether to continue exposing these after feature flag is removed.
3768
+ _emberMetalCore.default.EngineInstance = _emberApplicationSystemEngineInstance.default;
3769
+ _emberMetalCore.default.ApplicationInstance = _emberApplicationSystemApplicationInstance.default;
3770
+ }
3771
+
3763
3772
  _emberRuntimeSystemLazy_load.runLoadHooks('Ember.Application', _emberApplicationSystemApplication.default);
3764
3773
  });
3765
3774
  // reexports
@@ -3768,9 +3777,6 @@ enifed('ember-application/index', ['exports', 'ember-metal/core', 'ember-metal/f
3768
3777
  @module ember
3769
3778
  @submodule ember-application
3770
3779
  */
3771
-
3772
- // Expose `EngineInstance` and `ApplicationInstance` for easy overriding.
3773
- // Reanalyze whether to continue exposing these after feature flag is removed.
3774
3780
  enifed('ember-application/system/application-instance', ['exports', 'ember-metal/debug', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/run_loop', 'ember-metal/computed', 'ember-runtime/mixins/registry_proxy', 'ember-metal/assign', 'ember-environment', 'ember-runtime/ext/rsvp', 'ember-views/system/jquery', 'ember-application/system/engine-instance'], function (exports, _emberMetalDebug, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalRun_loop, _emberMetalComputed, _emberRuntimeMixinsRegistry_proxy, _emberMetalAssign, _emberEnvironment, _emberRuntimeExtRsvp, _emberViewsSystemJquery, _emberApplicationSystemEngineInstance) {
3775
3781
  /**
3776
3782
  @module ember
@@ -4372,9 +4378,8 @@ enifed('ember-application/system/application', ['exports', 'ember-environment',
4372
4378
  not receive events.* If you specify a custom root element, make sure you only
4373
4379
  append views inside it!
4374
4380
 
4375
- To learn more about the advantages of event delegation and the Ember view
4376
- layer, and a list of the event listeners that are setup by default, visit the
4377
- [Ember View Layer guide](http://emberjs.com/guides/understanding-ember/the-view-layer/#toc_event-delegation).
4381
+ To learn more about the events Ember components use, see
4382
+ [components/handling-events](https://guides.emberjs.com/v2.6.0/components/handling-events/#toc_event-names).
4378
4383
 
4379
4384
  ### Initializers
4380
4385
 
@@ -5144,13 +5149,12 @@ enifed('ember-application/system/application', ['exports', 'ember-environment',
5144
5149
  `controller` property
5145
5150
  * the application view receives the application template as its
5146
5151
  `defaultTemplate` property
5147
- @private
5148
- @method buildRegistry
5152
+ @method buildRegistry
5149
5153
  @static
5150
5154
  @param {Ember.Application} namespace the application for which to
5151
5155
  build the registry
5152
5156
  @return {Ember.Registry} the built registry
5153
- @public
5157
+ @private
5154
5158
  */
5155
5159
  buildRegistry: function (application) {
5156
5160
  var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
@@ -5231,6 +5235,10 @@ enifed('ember-application/system/engine-instance', ['exports', 'ember-runtime/sy
5231
5235
 
5232
5236
  'use strict';
5233
5237
 
5238
+ var _templateObject = _taggedTemplateLiteralLoose(['-bucket-cache:main'], ['-bucket-cache:main']);
5239
+
5240
+ function _taggedTemplateLiteralLoose(strings, raw) { strings.raw = raw; return strings; }
5241
+
5234
5242
  /**
5235
5243
  The `EngineInstance` encapsulates all of the stateful aspects of a
5236
5244
  running `Engine`.
@@ -5318,6 +5326,10 @@ enifed('ember-application/system/engine-instance', ['exports', 'ember-runtime/sy
5318
5326
 
5319
5327
  _emberMetalDebug.assert('An engine instance\'s parent must be set via `setEngineParent(engine, parent)` prior to calling `engine.boot()`.', _emberApplicationSystemEngineParent.getEngineParent(this));
5320
5328
 
5329
+ if (false) {
5330
+ this.cloneParentDependencies();
5331
+ }
5332
+
5321
5333
  this.base.runInstanceInitializers(this);
5322
5334
 
5323
5335
  this._booted = true;
@@ -5347,25 +5359,57 @@ enifed('ember-application/system/engine-instance', ['exports', 'ember-runtime/sy
5347
5359
  }
5348
5360
  });
5349
5361
 
5350
- exports.default = EngineInstance;
5351
- });
5362
+ if (false) {
5363
+ EngineInstance.reopen({
5364
+ /**
5365
+ Build a new `Ember.EngineInstance` that's a child of this instance.
5366
+ Engines must be registered by name with their parent engine
5367
+ (or application).
5368
+ @private
5369
+ @method buildChildEngineInstance
5370
+ @param name {String} the registered name of the engine.
5371
+ @param options {Object} options provided to the engine instance.
5372
+ @return {Ember.EngineInstance,Error}
5373
+ */
5374
+ buildChildEngineInstance: function (name) {
5375
+ var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
5352
5376
 
5353
- /**
5354
- Build a new `Ember.EngineInstance` that's a child of this instance.
5355
- Engines must be registered by name with their parent engine
5356
- (or application).
5357
- @private
5358
- @method buildChildEngineInstance
5359
- @param name {String} the registered name of the engine.
5360
- @param options {Object} options provided to the engine instance.
5361
- @return {Ember.EngineInstance,Error}
5362
- */
5377
+ var Engine = this.lookup('engine:' + name);
5363
5378
 
5364
- /**
5365
- Clone dependencies shared between an engine instance and its parent.
5366
- @private
5367
- @method cloneParentDependencies
5368
- */
5379
+ if (!Engine) {
5380
+ throw new _emberMetalError.default('You attempted to mount the engine \'' + name + '\', but it is not registered with its parent.');
5381
+ }
5382
+
5383
+ var engineInstance = Engine.buildInstance(options);
5384
+
5385
+ _emberApplicationSystemEngineParent.setEngineParent(engineInstance, this);
5386
+
5387
+ return engineInstance;
5388
+ },
5389
+
5390
+ /**
5391
+ Clone dependencies shared between an engine instance and its parent.
5392
+ @private
5393
+ @method cloneParentDependencies
5394
+ */
5395
+ cloneParentDependencies: function () {
5396
+ var _this2 = this;
5397
+
5398
+ var parent = _emberApplicationSystemEngineParent.getEngineParent(this);
5399
+
5400
+ ['route:basic', 'event_dispatcher:main', _containerRegistry.privatize(_templateObject), 'service:-routing'].forEach(function (key) {
5401
+ _this2.register(key, parent.resolveRegistration(key));
5402
+ });
5403
+
5404
+ ['router:main', '-view-registry:main'].forEach(function (key) {
5405
+ _this2.register(key, parent.lookup(key), { instantiate: false });
5406
+ });
5407
+ }
5408
+ });
5409
+ }
5410
+
5411
+ exports.default = EngineInstance;
5412
+ });
5369
5413
  enifed('ember-application/system/engine-parent', ['exports', 'ember-metal/symbol'], function (exports, _emberMetalSymbol) {
5370
5414
  /**
5371
5415
  @module ember
@@ -5453,7 +5497,7 @@ enifed('ember-application/system/engine', ['exports', 'ember-runtime/system/name
5453
5497
  this._super.apply(this, arguments);
5454
5498
 
5455
5499
  if (this[GLIMMER] === undefined) {
5456
- this[GLIMMER] = _emberMetalFeatures.default('ember-glimmer');
5500
+ this[GLIMMER] = false;
5457
5501
  }
5458
5502
 
5459
5503
  this.buildRegistry();
@@ -5742,13 +5786,12 @@ enifed('ember-application/system/engine', ['exports', 'ember-runtime/system/name
5742
5786
  `controller` property
5743
5787
  * the application view receives the application template as its
5744
5788
  `defaultTemplate` property
5745
- @private
5746
- @method buildRegistry
5789
+ @method buildRegistry
5747
5790
  @static
5748
5791
  @param {Ember.Application} namespace the application for which to
5749
5792
  build the registry
5750
5793
  @return {Ember.Registry} the built registry
5751
- @public
5794
+ @private
5752
5795
  */
5753
5796
  buildRegistry: function (namespace) {
5754
5797
  var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
@@ -6053,10 +6096,9 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em
6053
6096
  Convert the string name of the form 'type:name' to
6054
6097
  a Javascript object with the parsed aspects of the name
6055
6098
  broken out.
6056
- @protected
6057
- @param {String} fullName the lookup string
6099
+ @param {String} fullName the lookup string
6058
6100
  @method parseName
6059
- @public
6101
+ @protected
6060
6102
  */
6061
6103
 
6062
6104
  parseName: function (fullName) {
@@ -6106,10 +6148,9 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em
6106
6148
  Application namespace in assertions to describe the
6107
6149
  precise name of the class that Ember is looking for, rather than
6108
6150
  container keys.
6109
- @protected
6110
- @param {String} fullName the lookup string
6151
+ @param {String} fullName the lookup string
6111
6152
  @method lookupDescription
6112
- @public
6153
+ @protected
6113
6154
  */
6114
6155
  lookupDescription: function (fullName) {
6115
6156
  var parsedName = this.parseName(fullName);
@@ -6135,11 +6176,10 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em
6135
6176
  /**
6136
6177
  Given a parseName object (output from `parseName`), apply
6137
6178
  the conventions expected by `Ember.Router`
6138
- @protected
6139
- @param {Object} parsedName a parseName object with the parsed
6179
+ @param {Object} parsedName a parseName object with the parsed
6140
6180
  fullName lookup string
6141
6181
  @method useRouterNaming
6142
- @public
6182
+ @protected
6143
6183
  */
6144
6184
  useRouterNaming: function (parsedName) {
6145
6185
  parsedName.name = parsedName.name.replace(/\./g, '_');
@@ -6149,11 +6189,10 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em
6149
6189
  },
6150
6190
  /**
6151
6191
  Look up the template in Ember.TEMPLATES
6152
- @protected
6153
- @param {Object} parsedName a parseName object with the parsed
6192
+ @param {Object} parsedName a parseName object with the parsed
6154
6193
  fullName lookup string
6155
6194
  @method resolveTemplate
6156
- @public
6195
+ @protected
6157
6196
  */
6158
6197
  resolveTemplate: function (parsedName) {
6159
6198
  var templateName = parsedName.fullNameWithoutType.replace(/\./g, '/');
@@ -6163,11 +6202,10 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em
6163
6202
 
6164
6203
  /**
6165
6204
  Lookup the view using `resolveOther`
6166
- @protected
6167
- @param {Object} parsedName a parseName object with the parsed
6205
+ @param {Object} parsedName a parseName object with the parsed
6168
6206
  fullName lookup string
6169
6207
  @method resolveView
6170
- @public
6208
+ @protected
6171
6209
  */
6172
6210
  resolveView: function (parsedName) {
6173
6211
  this.useRouterNaming(parsedName);
@@ -6176,11 +6214,10 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em
6176
6214
 
6177
6215
  /**
6178
6216
  Lookup the controller using `resolveOther`
6179
- @protected
6180
- @param {Object} parsedName a parseName object with the parsed
6217
+ @param {Object} parsedName a parseName object with the parsed
6181
6218
  fullName lookup string
6182
6219
  @method resolveController
6183
- @public
6220
+ @protected
6184
6221
  */
6185
6222
  resolveController: function (parsedName) {
6186
6223
  this.useRouterNaming(parsedName);
@@ -6188,11 +6225,10 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em
6188
6225
  },
6189
6226
  /**
6190
6227
  Lookup the route using `resolveOther`
6191
- @protected
6192
- @param {Object} parsedName a parseName object with the parsed
6228
+ @param {Object} parsedName a parseName object with the parsed
6193
6229
  fullName lookup string
6194
6230
  @method resolveRoute
6195
- @public
6231
+ @protected
6196
6232
  */
6197
6233
  resolveRoute: function (parsedName) {
6198
6234
  this.useRouterNaming(parsedName);
@@ -6201,11 +6237,10 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em
6201
6237
 
6202
6238
  /**
6203
6239
  Lookup the model on the Application namespace
6204
- @protected
6205
- @param {Object} parsedName a parseName object with the parsed
6240
+ @param {Object} parsedName a parseName object with the parsed
6206
6241
  fullName lookup string
6207
6242
  @method resolveModel
6208
- @public
6243
+ @protected
6209
6244
  */
6210
6245
  resolveModel: function (parsedName) {
6211
6246
  var className = _emberRuntimeSystemString.classify(parsedName.name);
@@ -6218,11 +6253,10 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em
6218
6253
  /**
6219
6254
  Look up the specified object (from parsedName) on the appropriate
6220
6255
  namespace (usually on the Application)
6221
- @protected
6222
- @param {Object} parsedName a parseName object with the parsed
6256
+ @param {Object} parsedName a parseName object with the parsed
6223
6257
  fullName lookup string
6224
6258
  @method resolveHelper
6225
- @public
6259
+ @protected
6226
6260
  */
6227
6261
  resolveHelper: function (parsedName) {
6228
6262
  return this.resolveOther(parsedName);
@@ -6230,11 +6264,10 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em
6230
6264
  /**
6231
6265
  Look up the specified object (from parsedName) on the appropriate
6232
6266
  namespace (usually on the Application)
6233
- @protected
6234
- @param {Object} parsedName a parseName object with the parsed
6267
+ @param {Object} parsedName a parseName object with the parsed
6235
6268
  fullName lookup string
6236
6269
  @method resolveOther
6237
- @public
6270
+ @protected
6238
6271
  */
6239
6272
  resolveOther: function (parsedName) {
6240
6273
  var className = _emberRuntimeSystemString.classify(parsedName.name) + _emberRuntimeSystemString.classify(parsedName.type);
@@ -6482,10 +6515,12 @@ enifed('ember-console/index', ['exports', 'ember-environment'], function (export
6482
6515
  ```javascript
6483
6516
  Ember.Logger.assert(true); // undefined
6484
6517
  Ember.Logger.assert(true === false); // Throws an Assertion failed error.
6518
+ Ember.Logger.assert(true === false, 'Something invalid'); // Throws an Assertion failed error with message.
6485
6519
  ```
6486
6520
  @method assert
6487
6521
  @for Ember.Logger
6488
6522
  @param {Boolean} bool Value to test
6523
+ @param {String} message Assertion message on failed
6489
6524
  @public
6490
6525
  */
6491
6526
  assert: consoleMethod('assert') || assertPolyfill
@@ -6864,6 +6899,10 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-environment',
6864
6899
  _emberMetalFeatures.FEATURES['features-stripped-test'] = true;
6865
6900
  var featuresWereStripped = true;
6866
6901
 
6902
+ if (false) {
6903
+ exports.featuresWereStripped = featuresWereStripped = false;
6904
+ }
6905
+
6867
6906
  delete _emberMetalFeatures.FEATURES['features-stripped-test'];
6868
6907
  _warnIfUsingStrippedFeatureFlags(_emberEnvironment.ENV.FEATURES, _emberMetalFeatures.DEFAULT_FEATURES, featuresWereStripped);
6869
6908
 
@@ -8008,7 +8047,7 @@ enifed('ember-htmlbars/component', ['exports', 'ember-metal/debug', 'ember-metal
8008
8047
  }),
8009
8048
 
8010
8049
  /**
8011
- Calls a action passed to a component.
8050
+ Calls an action passed to a component.
8012
8051
  For example a component for playing or pausing music may translate click events
8013
8052
  into action notifications of "play" or "stop" depending on some internal state
8014
8053
  of the component:
@@ -9010,8 +9049,7 @@ enifed('ember-htmlbars/components/link-to', ['exports', 'ember-console', 'ember-
9010
9049
 
9011
9050
  /**
9012
9051
  Event handler that invokes the link, activating the associated route.
9013
- @private
9014
- @method _invoke
9052
+ @method _invoke
9015
9053
  @param {Event} event
9016
9054
  @private
9017
9055
  */
@@ -10405,9 +10443,15 @@ enifed('ember-htmlbars/hooks/component', ['exports', 'ember-metal/debug', 'ember
10405
10443
 
10406
10444
  // Determine if this is an initial render or a re-render.
10407
10445
  if (state.manager) {
10408
- var templateMeta = state.manager.block.template.meta;
10446
+ var sm = state.manager;
10447
+ var templateMeta = null;
10448
+ if (sm.block) {
10449
+ templateMeta = sm.block.template.meta;
10450
+ } else if (sm.scope && sm.scope._view) {
10451
+ templateMeta = sm.scope._view.template.meta;
10452
+ }
10409
10453
  env.meta.moduleName = templateMeta && templateMeta.moduleName || env.meta && env.meta.moduleName;
10410
- _emberHtmlbarsUtilsExtractPositionalParams.default(renderNode, state.manager.component.constructor, params, attrs, false);
10454
+ _emberHtmlbarsUtilsExtractPositionalParams.default(renderNode, sm.component.constructor, params, attrs, false);
10411
10455
  state.manager.rerender(env, attrs, visitor);
10412
10456
  return;
10413
10457
  }
@@ -12669,7 +12713,6 @@ enifed('ember-htmlbars/keywords/mut', ['exports', 'ember-metal/debug', 'ember-me
12669
12713
  See a [2.0 blog post](http://emberjs.com/blog/2015/05/10/run-up-to-two-oh.html#toc_the-code-mut-code-helper) for
12670
12714
  additional information on using `{{mut}}`.
12671
12715
 
12672
- @public
12673
12716
  @method mut
12674
12717
  @param {Object} [attr] the "two-way" attribute that can be modified.
12675
12718
  @for Ember.Templates.helpers
@@ -12737,7 +12780,9 @@ enifed('ember-htmlbars/keywords/outlet', ['exports', 'ember-metal/debug', 'ember
12737
12780
 
12738
12781
  'use strict';
12739
12782
 
12740
- _emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@' + _emberVersion.default;
12783
+ if (!false) {
12784
+ _emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@' + _emberVersion.default;
12785
+ }
12741
12786
 
12742
12787
  /**
12743
12788
  The `{{outlet}}` helper lets you specify where a child route will render in
@@ -12789,7 +12834,6 @@ enifed('ember-htmlbars/keywords/outlet', ['exports', 'ember-metal/debug', 'ember
12789
12834
 
12790
12835
  Note: Your content __will not render__ if there isn't an `{{outlet}}` for it.
12791
12836
 
12792
- @public
12793
12837
  @method outlet
12794
12838
  @param {String} [name]
12795
12839
  @for Ember.Templates.helpers
@@ -16204,7 +16248,7 @@ enifed('ember-htmlbars/system/append-templated-view', ['exports', 'ember-metal/d
16204
16248
  return parentView.appendChild(viewClassOrInstance, props);
16205
16249
  }
16206
16250
  });
16207
- enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-metal/debug', 'ember-metal/property_get', 'htmlbars-runtime', 'ember-htmlbars/hooks/get-value', 'ember-htmlbars/streams/utils'], function (exports, _emberMetalDebug, _emberMetalProperty_get, _htmlbarsRuntime, _emberHtmlbarsHooksGetValue, _emberHtmlbarsStreamsUtils) {
16251
+ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-metal/debug', 'ember-metal/property_get', 'htmlbars-runtime', 'htmlbars-util/template-utils', 'ember-htmlbars/hooks/get-value', 'ember-htmlbars/streams/utils'], function (exports, _emberMetalDebug, _emberMetalProperty_get, _htmlbarsRuntime, _htmlbarsUtilTemplateUtils, _emberHtmlbarsHooksGetValue, _emberHtmlbarsStreamsUtils) {
16208
16252
  'use strict';
16209
16253
 
16210
16254
  exports.default = buildComponentTemplate;
@@ -16264,7 +16308,7 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta
16264
16308
  if (typeof val === 'string') {
16265
16309
  attrs[prop] = val;
16266
16310
  } else {
16267
- attrs[prop] = ['value', val];
16311
+ attrs[prop] = _htmlbarsUtilTemplateUtils.buildStatement('value', val);
16268
16312
  }
16269
16313
  }
16270
16314
 
@@ -16371,17 +16415,17 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta
16371
16415
  if (colonIndex !== -1) {
16372
16416
  var attrProperty = attr.substring(0, colonIndex);
16373
16417
  attrName = attr.substring(colonIndex + 1);
16374
- expression = ['get', '' + streamBasePath + attrProperty];
16418
+ expression = _htmlbarsUtilTemplateUtils.buildStatement('get', '' + streamBasePath + attrProperty);
16375
16419
  } else if (attrs[attr]) {
16376
16420
  // TODO: For compatibility with 1.x, we probably need to `set`
16377
16421
  // the component's attribute here if it is a CP, but we also
16378
16422
  // probably want to suspend observers and allow the
16379
16423
  // willUpdateAttrs logic to trigger observers at the correct time.
16380
16424
  attrName = attr;
16381
- expression = ['value', attrs[attr]];
16425
+ expression = _htmlbarsUtilTemplateUtils.buildStatement('value', attrs[attr]);
16382
16426
  } else {
16383
16427
  attrName = attr;
16384
- expression = ['get', '' + streamBasePath + attr];
16428
+ expression = _htmlbarsUtilTemplateUtils.buildStatement('get', '' + streamBasePath + attr);
16385
16429
  }
16386
16430
 
16387
16431
  _emberMetalDebug.assert('You cannot use class as an attributeBinding, use classNameBindings instead.', attrName !== 'class');
@@ -16399,11 +16443,11 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta
16399
16443
  }
16400
16444
 
16401
16445
  if (_emberMetalProperty_get.get(component, 'isVisible') === false) {
16402
- var hiddenStyle = ['subexpr', '-html-safe', ['display: none;'], []];
16446
+ var hiddenStyle = _htmlbarsUtilTemplateUtils.buildStatement('subexpr', '-html-safe', ['display: none;'], []);
16403
16447
  var existingStyle = normalized.style;
16404
16448
 
16405
16449
  if (existingStyle) {
16406
- normalized.style = ['subexpr', 'concat', [existingStyle, ' ', hiddenStyle], []];
16450
+ normalized.style = _htmlbarsUtilTemplateUtils.buildStatement('subexpr', 'concat', [existingStyle, ' ', hiddenStyle], []);
16407
16451
  } else {
16408
16452
  normalized.style = hiddenStyle;
16409
16453
  }
@@ -16420,7 +16464,7 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta
16420
16464
 
16421
16465
  if (attrs.class) {
16422
16466
  if (_emberHtmlbarsStreamsUtils.isStream(attrs.class)) {
16423
- normalizedClass.push(['subexpr', '-normalize-class', [['value', attrs.class.path], ['value', attrs.class]], []]);
16467
+ normalizedClass.push(_htmlbarsUtilTemplateUtils.buildStatement('subexpr', '-normalize-class', [_htmlbarsUtilTemplateUtils.buildStatement('value', attrs.class.path), _htmlbarsUtilTemplateUtils.buildStatement('value', attrs.class)], []));
16424
16468
  } else {
16425
16469
  normalizedClass.push(attrs.class);
16426
16470
  }
@@ -16441,7 +16485,7 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta
16441
16485
  }
16442
16486
 
16443
16487
  if (normalizeClass.length) {
16444
- return ['subexpr', '-join-classes', normalizedClass, []];
16488
+ return _htmlbarsUtilTemplateUtils.buildStatement('subexpr', '-join-classes', normalizedClass, []);
16445
16489
  }
16446
16490
  }
16447
16491
 
@@ -16466,11 +16510,11 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta
16466
16510
 
16467
16511
  var prop = '' + streamBasePath + propName;
16468
16512
 
16469
- output.push(['subexpr', '-normalize-class', [
16513
+ output.push(_htmlbarsUtilTemplateUtils.buildStatement('subexpr', '-normalize-class', [
16470
16514
  // params
16471
- ['value', propName], ['get', prop]], [
16515
+ _htmlbarsUtilTemplateUtils.buildStatement('value', propName), _htmlbarsUtilTemplateUtils.buildStatement('get', prop)], [
16472
16516
  // hash
16473
- 'activeClass', activeClass, 'inactiveClass', inactiveClass]]);
16517
+ 'activeClass', activeClass, 'inactiveClass', inactiveClass]));
16474
16518
  }
16475
16519
  }
16476
16520
 
@@ -16828,7 +16872,7 @@ enifed("ember-htmlbars/templates/component", ["exports", "ember-htmlbars-templat
16828
16872
  dom.insertBoundary(fragment, null);
16829
16873
  return morphs;
16830
16874
  },
16831
- statements: [["content", "yield", ["loc", [null, [1, 0], [1, 9]]]]],
16875
+ statements: [["content", "yield", ["loc", [null, [1, 0], [1, 9]]], 0, 0, 0, 0]],
16832
16876
  locals: [],
16833
16877
  templates: []
16834
16878
  };
@@ -16881,7 +16925,7 @@ enifed("ember-htmlbars/templates/link-to", ["exports", "ember-htmlbars-template-
16881
16925
  dom.insertBoundary(fragment, null);
16882
16926
  return morphs;
16883
16927
  },
16884
- statements: [["content", "linkTitle", ["loc", [null, [1, 17], [1, 30]]]]],
16928
+ statements: [["content", "linkTitle", ["loc", [null, [1, 17], [1, 30]]], 0, 0, 0, 0]],
16885
16929
  locals: [],
16886
16930
  templates: []
16887
16931
  };
@@ -16906,7 +16950,7 @@ enifed("ember-htmlbars/templates/link-to", ["exports", "ember-htmlbars-template-
16906
16950
  dom.insertBoundary(fragment, null);
16907
16951
  return morphs;
16908
16952
  },
16909
- statements: [["content", "yield", ["loc", [null, [1, 38], [1, 47]]]]],
16953
+ statements: [["content", "yield", ["loc", [null, [1, 38], [1, 47]]], 0, 0, 0, 0]],
16910
16954
  locals: [],
16911
16955
  templates: []
16912
16956
  };
@@ -16930,7 +16974,7 @@ enifed("ember-htmlbars/templates/link-to", ["exports", "ember-htmlbars-template-
16930
16974
  dom.insertBoundary(fragment, null);
16931
16975
  return morphs;
16932
16976
  },
16933
- statements: [["block", "if", [["get", "linkTitle", ["loc", [null, [1, 6], [1, 15]]]]], [], 0, 1, ["loc", [null, [1, 0], [1, 54]]]]],
16977
+ statements: [["block", "if", [["get", "linkTitle", ["loc", [null, [1, 6], [1, 15]]], 0, 0, 0, 0]], [], 0, 1, ["loc", [null, [1, 0], [1, 54]]]]],
16934
16978
  locals: [],
16935
16979
  templates: [child0, child1]
16936
16980
  };
@@ -16959,7 +17003,7 @@ enifed("ember-htmlbars/templates/top-level-view", ["exports", "ember-htmlbars-te
16959
17003
  dom.insertBoundary(fragment, null);
16960
17004
  return morphs;
16961
17005
  },
16962
- statements: [["content", "outlet", ["loc", [null, [1, 0], [1, 10]]]]],
17006
+ statements: [["content", "outlet", ["loc", [null, [1, 0], [1, 10]]], 0, 0, 0, 0]],
16963
17007
  locals: [],
16964
17008
  templates: []
16965
17009
  };
@@ -19945,7 +19989,7 @@ enifed('ember-metal/events', ['exports', 'ember-metal/debug', 'ember-metal/utils
19945
19989
  }
19946
19990
  } else {
19947
19991
  if (params) {
19948
- _emberMetalUtils.apply(target, method, params);
19992
+ method.apply(target, params);
19949
19993
  } else {
19950
19994
  method.call(target);
19951
19995
  }
@@ -20685,10 +20729,13 @@ enifed('ember-metal/instrumentation', ['exports', 'ember-environment', 'ember-me
20685
20729
  }
20686
20730
 
20687
20731
  var flaggedInstrument;
20688
-
20689
- exports.flaggedInstrument = flaggedInstrument = function (name, payload, callback) {
20690
- return callback();
20691
- };
20732
+ if (false) {
20733
+ exports.flaggedInstrument = flaggedInstrument = instrument;
20734
+ } else {
20735
+ exports.flaggedInstrument = flaggedInstrument = function (name, payload, callback) {
20736
+ return callback();
20737
+ };
20738
+ }
20692
20739
  exports.flaggedInstrument = flaggedInstrument;
20693
20740
 
20694
20741
  function withFinalizer(callback, finalizer, payload, binding) {
@@ -21057,6 +21104,12 @@ enifed('ember-metal/libraries', ['exports', 'ember-metal/debug', 'ember-metal/fe
21057
21104
  }
21058
21105
  };
21059
21106
 
21107
+ if (false) {
21108
+ Libraries.prototype.isRegistered = function (name) {
21109
+ return !!this._getLibraryByName(name);
21110
+ };
21111
+ }
21112
+
21060
21113
  exports.default = new Libraries();
21061
21114
  });
21062
21115
  enifed('ember-metal/map', ['exports', 'ember-metal/utils', 'ember-metal/empty_object'], function (exports, _emberMetalUtils, _emberMetalEmpty_object) {
@@ -21306,13 +21359,13 @@ enifed('ember-metal/map', ['exports', 'ember-metal/utils', 'ember-metal/empty_ob
21306
21359
  @constructor
21307
21360
  */
21308
21361
  function Map() {
21309
- if (this instanceof this.constructor) {
21362
+ if (this instanceof Map) {
21310
21363
  this._keys = OrderedSet.create();
21311
21364
  this._keys._silenceRemoveDeprecation = true;
21312
21365
  this._values = new _emberMetalEmpty_object.default();
21313
21366
  this.size = 0;
21314
21367
  } else {
21315
- missingNew('OrderedSet');
21368
+ missingNew('Map');
21316
21369
  }
21317
21370
  }
21318
21371
 
@@ -21910,35 +21963,37 @@ enifed('ember-metal/meta', ['exports', 'ember-metal/features', 'ember-metal/meta
21910
21963
  descriptor: META_DESC
21911
21964
  };
21912
21965
 
21913
- Meta.prototype.readInheritedValue = function (key, subkey) {
21914
- var internalKey = '_' + key;
21966
+ if (true) {
21967
+ Meta.prototype.readInheritedValue = function (key, subkey) {
21968
+ var internalKey = '_' + key;
21915
21969
 
21916
- var pointer = this;
21970
+ var pointer = this;
21917
21971
 
21918
- while (pointer !== undefined) {
21919
- var map = pointer[internalKey];
21920
- if (map) {
21921
- var value = map[subkey];
21922
- if (value !== undefined || subkey in map) {
21923
- return map[subkey];
21972
+ while (pointer !== undefined) {
21973
+ var map = pointer[internalKey];
21974
+ if (map) {
21975
+ var value = map[subkey];
21976
+ if (value !== undefined || subkey in map) {
21977
+ return map[subkey];
21978
+ }
21924
21979
  }
21980
+ pointer = pointer.parent;
21925
21981
  }
21926
- pointer = pointer.parent;
21927
- }
21928
21982
 
21929
- return UNDEFINED;
21930
- };
21983
+ return UNDEFINED;
21984
+ };
21931
21985
 
21932
- Meta.prototype.writeValue = function (obj, key, value) {
21933
- var descriptor = _emberMetalUtils.lookupDescriptor(obj, key);
21934
- var isMandatorySetter = descriptor && descriptor.set && descriptor.set.isMandatorySetter;
21986
+ Meta.prototype.writeValue = function (obj, key, value) {
21987
+ var descriptor = _emberMetalUtils.lookupDescriptor(obj, key);
21988
+ var isMandatorySetter = descriptor && descriptor.set && descriptor.set.isMandatorySetter;
21935
21989
 
21936
- if (isMandatorySetter) {
21937
- this.writeValues(key, value);
21938
- } else {
21939
- obj[key] = value;
21940
- }
21941
- };
21990
+ if (isMandatorySetter) {
21991
+ this.writeValues(key, value);
21992
+ } else {
21993
+ obj[key] = value;
21994
+ }
21995
+ };
21996
+ }
21942
21997
 
21943
21998
  // choose the one appropriate for given platform
21944
21999
  var setMeta = function (obj, meta) {
@@ -23494,18 +23549,20 @@ enifed('ember-metal/properties', ['exports', 'ember-metal/debug', 'ember-metal/f
23494
23549
 
23495
23550
  if (desc instanceof Descriptor) {
23496
23551
  value = desc;
23497
-
23498
- if (watching) {
23499
- Object.defineProperty(obj, keyName, {
23500
- configurable: true,
23501
- enumerable: true,
23502
- writable: true,
23503
- value: value
23504
- });
23552
+ if (true) {
23553
+ if (watching) {
23554
+ Object.defineProperty(obj, keyName, {
23555
+ configurable: true,
23556
+ enumerable: true,
23557
+ writable: true,
23558
+ value: value
23559
+ });
23560
+ } else {
23561
+ obj[keyName] = value;
23562
+ }
23505
23563
  } else {
23506
23564
  obj[keyName] = value;
23507
23565
  }
23508
-
23509
23566
  if (desc.setup) {
23510
23567
  desc.setup(obj, keyName);
23511
23568
  }
@@ -23513,20 +23570,24 @@ enifed('ember-metal/properties', ['exports', 'ember-metal/debug', 'ember-metal/f
23513
23570
  if (desc == null) {
23514
23571
  value = data;
23515
23572
 
23516
- if (watching) {
23517
- meta.writeValues(keyName, data);
23573
+ if (true) {
23574
+ if (watching) {
23575
+ meta.writeValues(keyName, data);
23518
23576
 
23519
- var defaultDescriptor = {
23520
- configurable: true,
23521
- enumerable: true,
23522
- set: MANDATORY_SETTER_FUNCTION(keyName),
23523
- get: DEFAULT_GETTER_FUNCTION(keyName)
23524
- };
23577
+ var defaultDescriptor = {
23578
+ configurable: true,
23579
+ enumerable: true,
23580
+ set: MANDATORY_SETTER_FUNCTION(keyName),
23581
+ get: DEFAULT_GETTER_FUNCTION(keyName)
23582
+ };
23525
23583
 
23526
- if (REDEFINE_SUPPORTED) {
23527
- Object.defineProperty(obj, keyName, defaultDescriptor);
23584
+ if (REDEFINE_SUPPORTED) {
23585
+ Object.defineProperty(obj, keyName, defaultDescriptor);
23586
+ } else {
23587
+ handleBrokenPhantomDefineProperty(obj, keyName, defaultDescriptor);
23588
+ }
23528
23589
  } else {
23529
- handleBrokenPhantomDefineProperty(obj, keyName, defaultDescriptor);
23590
+ obj[keyName] = data;
23530
23591
  }
23531
23592
  } else {
23532
23593
  obj[keyName] = data;
@@ -24034,7 +24095,11 @@ enifed('ember-metal/property_set', ['exports', 'ember-metal/debug', 'ember-metal
24034
24095
  } else {
24035
24096
  _emberMetalProperty_events.propertyWillChange(obj, keyName);
24036
24097
 
24037
- setWithMandatorySetter(meta, obj, keyName, value);
24098
+ if (true) {
24099
+ setWithMandatorySetter(meta, obj, keyName, value);
24100
+ } else {
24101
+ obj[keyName] = value;
24102
+ }
24038
24103
 
24039
24104
  _emberMetalProperty_events.propertyDidChange(obj, keyName);
24040
24105
  }
@@ -24042,23 +24107,25 @@ enifed('ember-metal/property_set', ['exports', 'ember-metal/debug', 'ember-metal
24042
24107
  return value;
24043
24108
  }
24044
24109
 
24045
- var setWithMandatorySetter = function (meta, obj, keyName, value) {
24046
- if (meta && meta.peekWatching(keyName) > 0) {
24047
- makeEnumerable(obj, keyName);
24048
- meta.writeValue(obj, keyName, value);
24049
- } else {
24050
- obj[keyName] = value;
24051
- }
24052
- };
24110
+ if (true) {
24111
+ var setWithMandatorySetter = function (meta, obj, keyName, value) {
24112
+ if (meta && meta.peekWatching(keyName) > 0) {
24113
+ makeEnumerable(obj, keyName);
24114
+ meta.writeValue(obj, keyName, value);
24115
+ } else {
24116
+ obj[keyName] = value;
24117
+ }
24118
+ };
24053
24119
 
24054
- var makeEnumerable = function (obj, key) {
24055
- var desc = Object.getOwnPropertyDescriptor(obj, key);
24120
+ var makeEnumerable = function (obj, key) {
24121
+ var desc = Object.getOwnPropertyDescriptor(obj, key);
24056
24122
 
24057
- if (desc && desc.set && desc.set.isMandatorySetter) {
24058
- desc.enumerable = true;
24059
- Object.defineProperty(obj, key, desc);
24060
- }
24061
- };
24123
+ if (desc && desc.set && desc.set.isMandatorySetter) {
24124
+ desc.enumerable = true;
24125
+ Object.defineProperty(obj, key, desc);
24126
+ }
24127
+ };
24128
+ }
24062
24129
 
24063
24130
  function setPath(root, path, value, tolerant) {
24064
24131
  var keyName;
@@ -24112,11 +24179,10 @@ enifed('ember-metal/property_set', ['exports', 'ember-metal/debug', 'ember-metal
24112
24179
  enifed("ember-metal/replace", ["exports"], function (exports) {
24113
24180
  "use strict";
24114
24181
 
24115
- exports._replace = _replace;
24116
24182
  exports.default = replace;
24117
24183
  var splice = Array.prototype.splice;
24118
24184
 
24119
- function _replace(array, idx, amt, objects) {
24185
+ function replace(array, idx, amt, objects) {
24120
24186
  var args = [].concat(objects);
24121
24187
  var ret = [];
24122
24188
  // https://code.google.com/p/chromium/issues/detail?id=56588
@@ -24141,42 +24207,6 @@ enifed("ember-metal/replace", ["exports"], function (exports) {
24141
24207
  }
24142
24208
  return ret;
24143
24209
  }
24144
-
24145
- /**
24146
- Replaces objects in an array with the passed objects.
24147
-
24148
- ```javascript
24149
- var array = [1,2,3];
24150
- Ember.EnumerableUtils.replace(array, 1, 2, [4, 5]); // [1, 4, 5]
24151
-
24152
- var array = [1,2,3];
24153
- Ember.EnumerableUtils.replace(array, 1, 1, [4, 5]); // [1, 4, 5, 3]
24154
-
24155
- var array = [1,2,3];
24156
- Ember.EnumerableUtils.replace(array, 10, 1, [4, 5]); // [1, 2, 3, 4, 5]
24157
- ```
24158
-
24159
- @method replace
24160
- @deprecated
24161
- @param {Array} array The array the objects should be inserted into.
24162
- @param {Number} idx Starting index in the array to replace. If *idx* >=
24163
- length, then append to the end of the array.
24164
- @param {Number} amt Number of elements that should be removed from the array,
24165
- starting at *idx*
24166
- @param {Array} objects An array of zero or more objects that should be
24167
- inserted into the array at *idx*
24168
-
24169
- @return {Array} The modified array.
24170
- @public
24171
- */
24172
-
24173
- function replace(array, idx, amt, objects) {
24174
- if (array.replace) {
24175
- return array.replace(idx, amt, objects);
24176
- } else {
24177
- return _replace(array, idx, amt, objects);
24178
- }
24179
- }
24180
24210
  });
24181
24211
  enifed('ember-metal/run_loop', ['exports', 'ember-metal/debug', 'ember-metal/testing', 'ember-metal/error_handler', 'ember-metal/utils', 'ember-metal/property_events', 'backburner'], function (exports, _emberMetalDebug, _emberMetalTesting, _emberMetalError_handler, _emberMetalUtils, _emberMetalProperty_events, _backburner) {
24182
24212
  'use strict';
@@ -25025,7 +25055,6 @@ enifed('ember-metal/utils', ['exports'], function (exports) {
25025
25055
  exports.tryInvoke = tryInvoke;
25026
25056
  exports.makeArray = makeArray;
25027
25057
  exports.inspect = inspect;
25028
- exports.apply = apply;
25029
25058
  exports.applyStr = applyStr;
25030
25059
  exports.lookupDescriptor = lookupDescriptor;
25031
25060
  exports.toString = toString;
@@ -25267,15 +25296,16 @@ enifed('ember-metal/utils', ['exports'], function (exports) {
25267
25296
  }
25268
25297
 
25269
25298
  var HAS_SUPER_PATTERN = /\.(_super|call\(this|apply\(this)/;
25299
+ var fnToString = Function.prototype.toString;
25270
25300
 
25271
25301
  var checkHasSuper = (function () {
25272
- var sourceAvailable = (function () {
25302
+ var sourceAvailable = fnToString.call(function () {
25273
25303
  return this;
25274
- }).toString().indexOf('return this') > -1;
25304
+ }).indexOf('return this') > -1;
25275
25305
 
25276
25306
  if (sourceAvailable) {
25277
25307
  return function checkHasSuper(func) {
25278
- return HAS_SUPER_PATTERN.test(func.toString());
25308
+ return HAS_SUPER_PATTERN.test(fnToString.call(func));
25279
25309
  };
25280
25310
  }
25281
25311
 
@@ -25322,31 +25352,8 @@ enifed('ember-metal/utils', ['exports'], function (exports) {
25322
25352
  function _wrap(func, superFunc) {
25323
25353
  function superWrapper() {
25324
25354
  var orig = this._super;
25325
- var ret = undefined;
25326
25355
  this._super = superFunc;
25327
- switch (arguments.length) {
25328
- case 0:
25329
- ret = func.call(this);break;
25330
- case 1:
25331
- ret = func.call(this, arguments[0]);break;
25332
- case 2:
25333
- ret = func.call(this, arguments[0], arguments[1]);break;
25334
- case 3:
25335
- ret = func.call(this, arguments[0], arguments[1], arguments[2]);break;
25336
- case 4:
25337
- ret = func.call(this, arguments[0], arguments[1], arguments[2], arguments[3]);break;
25338
- case 5:
25339
- ret = func.call(this, arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]);break;
25340
- default:
25341
- // v8 bug potentially incorrectly deopts this function: https://code.google.com/p/v8/issues/detail?id=3709
25342
- // we may want to keep this around till this ages out on mobile
25343
- var args = new Array(arguments.length);
25344
- for (var x = 0; x < arguments.length; x++) {
25345
- args[x] = arguments[x];
25346
- }
25347
- ret = func.apply(this, args);
25348
- break;
25349
- }
25356
+ var ret = func.apply(this, arguments);
25350
25357
  this._super = orig;
25351
25358
  return ret;
25352
25359
  }
@@ -25503,36 +25510,6 @@ enifed('ember-metal/utils', ['exports'], function (exports) {
25503
25510
  return '{' + ret.join(', ') + '}';
25504
25511
  }
25505
25512
 
25506
- // The following functions are intentionally minified to keep the functions
25507
- // below Chrome's function body size inlining limit of 600 chars.
25508
- /**
25509
- @param {Object} t target
25510
- @param {Function} m method
25511
- @param {Array} a args
25512
- @private
25513
- */
25514
-
25515
- function apply(t, m, a) {
25516
- var l = a && a.length;
25517
- if (!a || !l) {
25518
- return m.call(t);
25519
- }
25520
- switch (l) {
25521
- case 1:
25522
- return m.call(t, a[0]);
25523
- case 2:
25524
- return m.call(t, a[0], a[1]);
25525
- case 3:
25526
- return m.call(t, a[0], a[1], a[2]);
25527
- case 4:
25528
- return m.call(t, a[0], a[1], a[2], a[3]);
25529
- case 5:
25530
- return m.call(t, a[0], a[1], a[2], a[3], a[4]);
25531
- default:
25532
- return m.apply(t, a);
25533
- }
25534
- }
25535
-
25536
25513
  /**
25537
25514
  @param {Object} t target
25538
25515
  @param {String} m method
@@ -25616,55 +25593,61 @@ enifed('ember-metal/watch_key', ['exports', 'ember-metal/features', 'ember-metal
25616
25593
  obj.willWatchProperty(keyName);
25617
25594
  }
25618
25595
 
25619
- // NOTE: this is dropped for prod + minified builds
25620
- handleMandatorySetter(m, obj, keyName);
25596
+ if (true) {
25597
+ // NOTE: this is dropped for prod + minified builds
25598
+ handleMandatorySetter(m, obj, keyName);
25599
+ }
25621
25600
  } else {
25622
25601
  m.writeWatching(keyName, (m.peekWatching(keyName) || 0) + 1);
25623
25602
  }
25624
25603
  }
25625
25604
 
25626
- var hasOwnProperty = function (obj, key) {
25627
- return Object.prototype.hasOwnProperty.call(obj, key);
25628
- };
25629
-
25630
- var propertyIsEnumerable = function (obj, key) {
25631
- return Object.prototype.propertyIsEnumerable.call(obj, key);
25632
- };
25605
+ if (true) {
25606
+ (function () {
25607
+ var hasOwnProperty = function (obj, key) {
25608
+ return Object.prototype.hasOwnProperty.call(obj, key);
25609
+ };
25633
25610
 
25634
- // Future traveler, although this code looks scary. It merely exists in
25635
- // development to aid in development asertions. Production builds of
25636
- // ember strip this entire block out
25637
- handleMandatorySetter = function handleMandatorySetter(m, obj, keyName) {
25638
- var descriptor = _emberMetalUtils.lookupDescriptor(obj, keyName);
25639
- var configurable = descriptor ? descriptor.configurable : true;
25640
- var isWritable = descriptor ? descriptor.writable : true;
25641
- var hasValue = descriptor ? 'value' in descriptor : true;
25642
- var possibleDesc = descriptor && descriptor.value;
25643
- var isDescriptor = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor;
25611
+ var propertyIsEnumerable = function (obj, key) {
25612
+ return Object.prototype.propertyIsEnumerable.call(obj, key);
25613
+ };
25644
25614
 
25645
- if (isDescriptor) {
25646
- return;
25647
- }
25615
+ // Future traveler, although this code looks scary. It merely exists in
25616
+ // development to aid in development asertions. Production builds of
25617
+ // ember strip this entire block out
25618
+ handleMandatorySetter = function handleMandatorySetter(m, obj, keyName) {
25619
+ var descriptor = _emberMetalUtils.lookupDescriptor(obj, keyName);
25620
+ var configurable = descriptor ? descriptor.configurable : true;
25621
+ var isWritable = descriptor ? descriptor.writable : true;
25622
+ var hasValue = descriptor ? 'value' in descriptor : true;
25623
+ var possibleDesc = descriptor && descriptor.value;
25624
+ var isDescriptor = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor;
25625
+
25626
+ if (isDescriptor) {
25627
+ return;
25628
+ }
25648
25629
 
25649
- // this x in Y deopts, so keeping it in this function is better;
25650
- if (configurable && isWritable && hasValue && keyName in obj) {
25651
- var desc = {
25652
- configurable: true,
25653
- set: _emberMetalProperties.MANDATORY_SETTER_FUNCTION(keyName),
25654
- enumerable: propertyIsEnumerable(obj, keyName),
25655
- get: undefined
25656
- };
25630
+ // this x in Y deopts, so keeping it in this function is better;
25631
+ if (configurable && isWritable && hasValue && keyName in obj) {
25632
+ var desc = {
25633
+ configurable: true,
25634
+ set: _emberMetalProperties.MANDATORY_SETTER_FUNCTION(keyName),
25635
+ enumerable: propertyIsEnumerable(obj, keyName),
25636
+ get: undefined
25637
+ };
25657
25638
 
25658
- if (hasOwnProperty(obj, keyName)) {
25659
- m.writeValues(keyName, obj[keyName]);
25660
- desc.get = _emberMetalProperties.DEFAULT_GETTER_FUNCTION(keyName);
25661
- } else {
25662
- desc.get = _emberMetalProperties.INHERITING_GETTER_FUNCTION(keyName);
25663
- }
25639
+ if (hasOwnProperty(obj, keyName)) {
25640
+ m.writeValues(keyName, obj[keyName]);
25641
+ desc.get = _emberMetalProperties.DEFAULT_GETTER_FUNCTION(keyName);
25642
+ } else {
25643
+ desc.get = _emberMetalProperties.INHERITING_GETTER_FUNCTION(keyName);
25644
+ }
25664
25645
 
25665
- Object.defineProperty(obj, keyName, desc);
25666
- }
25667
- };
25646
+ Object.defineProperty(obj, keyName, desc);
25647
+ }
25648
+ };
25649
+ })();
25650
+ }
25668
25651
 
25669
25652
  function unwatchKey(obj, keyName, meta) {
25670
25653
  var m = meta || _emberMetalMeta.meta(obj);
@@ -25683,33 +25666,35 @@ enifed('ember-metal/watch_key', ['exports', 'ember-metal/features', 'ember-metal
25683
25666
  obj.didUnwatchProperty(keyName);
25684
25667
  }
25685
25668
 
25686
- // It is true, the following code looks quite WAT. But have no fear, It
25687
- // exists purely to improve development ergonomics and is removed from
25688
- // ember.min.js and ember.prod.js builds.
25689
- //
25690
- // Some further context: Once a property is watched by ember, bypassing `set`
25691
- // for mutation, will bypass observation. This code exists to assert when
25692
- // that occurs, and attempt to provide more helpful feedback. The alternative
25693
- // is tricky to debug partially observable properties.
25694
- if (!desc && keyName in obj) {
25695
- var maybeMandatoryDescriptor = _emberMetalUtils.lookupDescriptor(obj, keyName);
25696
-
25697
- if (maybeMandatoryDescriptor.set && maybeMandatoryDescriptor.set.isMandatorySetter) {
25698
- if (maybeMandatoryDescriptor.get && maybeMandatoryDescriptor.get.isInheritingGetter) {
25699
- var possibleValue = m.readInheritedValue('values', keyName);
25700
- if (possibleValue === _emberMetalMeta.UNDEFINED) {
25701
- delete obj[keyName];
25702
- return;
25669
+ if (true) {
25670
+ // It is true, the following code looks quite WAT. But have no fear, It
25671
+ // exists purely to improve development ergonomics and is removed from
25672
+ // ember.min.js and ember.prod.js builds.
25673
+ //
25674
+ // Some further context: Once a property is watched by ember, bypassing `set`
25675
+ // for mutation, will bypass observation. This code exists to assert when
25676
+ // that occurs, and attempt to provide more helpful feedback. The alternative
25677
+ // is tricky to debug partially observable properties.
25678
+ if (!desc && keyName in obj) {
25679
+ var maybeMandatoryDescriptor = _emberMetalUtils.lookupDescriptor(obj, keyName);
25680
+
25681
+ if (maybeMandatoryDescriptor.set && maybeMandatoryDescriptor.set.isMandatorySetter) {
25682
+ if (maybeMandatoryDescriptor.get && maybeMandatoryDescriptor.get.isInheritingGetter) {
25683
+ var possibleValue = m.readInheritedValue('values', keyName);
25684
+ if (possibleValue === _emberMetalMeta.UNDEFINED) {
25685
+ delete obj[keyName];
25686
+ return;
25687
+ }
25703
25688
  }
25704
- }
25705
25689
 
25706
- Object.defineProperty(obj, keyName, {
25707
- configurable: true,
25708
- enumerable: Object.prototype.propertyIsEnumerable.call(obj, keyName),
25709
- writable: true,
25710
- value: m.peekValues(keyName)
25711
- });
25712
- m.deleteFromValues(keyName);
25690
+ Object.defineProperty(obj, keyName, {
25691
+ configurable: true,
25692
+ enumerable: Object.prototype.propertyIsEnumerable.call(obj, keyName),
25693
+ writable: true,
25694
+ value: m.peekValues(keyName)
25695
+ });
25696
+ m.deleteFromValues(keyName);
25697
+ }
25713
25698
  }
25714
25699
  }
25715
25700
  } else if (count > 1) {
@@ -27392,6 +27377,10 @@ enifed('ember-routing/system/dsl', ['exports', 'ember-metal/debug', 'ember-metal
27392
27377
  this.matches = [];
27393
27378
  this.explicitIndex = undefined;
27394
27379
  this.options = options;
27380
+
27381
+ if (false) {
27382
+ this.router = options && options.router;
27383
+ }
27395
27384
  }
27396
27385
 
27397
27386
  exports.default = DSL;
@@ -27421,7 +27410,7 @@ enifed('ember-routing/system/dsl', ['exports', 'ember-metal/debug', 'ember-metal
27421
27410
  createRoute(this, name + '_error', { path: dummyErrorRoute });
27422
27411
  }
27423
27412
 
27424
- if (_emberMetalFeatures.default('ember-route-serializers') && options.serialize && this.router) {
27413
+ if (false && options.serialize && this.router) {
27425
27414
  this.router._serializeMethods[name] = options.serialize;
27426
27415
  }
27427
27416
 
@@ -27618,6 +27607,10 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/debug', 'ember-met
27618
27607
 
27619
27608
  var DEFAULT_SERIALIZE = _emberMetalSymbol.default('DEFAULT_SERIALIZE');
27620
27609
 
27610
+ if (false) {
27611
+ defaultSerialize[DEFAULT_SERIALIZE] = true;
27612
+ }
27613
+
27621
27614
  function hasDefaultSerialize(route) {
27622
27615
  return !!route.serialize[DEFAULT_SERIALIZE];
27623
27616
  }
@@ -27714,6 +27707,12 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/debug', 'ember-met
27714
27707
  var controllerDefinedQueryParameterConfiguration = _emberMetalProperty_get.get(controllerProto, 'queryParams');
27715
27708
  var normalizedControllerQueryParameterConfiguration = _emberRoutingUtils.normalizeControllerQueryParams(controllerDefinedQueryParameterConfiguration);
27716
27709
  combinedQueryParameterConfiguration = mergeEachQueryParams(normalizedControllerQueryParameterConfiguration, queryParameterConfiguraton);
27710
+
27711
+ if (false) {
27712
+ if (controllerDefinedQueryParameterConfiguration.length) {
27713
+ _emberMetalDebug.deprecate('Configuring query parameters on a controller is deprecated. Migrate the query parameters configuration from the \'' + controllerName + '\' controller to the \'' + this.routeName + '\' route: ' + combinedQueryParameterConfiguration, false, { id: 'ember-routing.controller-configured-query-params', until: '3.0.0' });
27714
+ }
27715
+ }
27717
27716
  } else if (hasRouterDefinedQueryParams) {
27718
27717
  // the developer has not defined a controller but *has* supplied route query params.
27719
27718
  // Generate a class for them so we can later insert default values
@@ -27740,6 +27739,19 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/debug', 'ember-met
27740
27739
 
27741
27740
  var desc = combinedQueryParameterConfiguration[propName];
27742
27741
 
27742
+ if (false) {
27743
+ // apply default values to controllers
27744
+ // detect that default value defined on router config
27745
+ if (desc.hasOwnProperty('defaultValue')) {
27746
+ // detect that property was not defined on controller
27747
+ if (controllerProto[propName] === undefined) {
27748
+ controllerProto[propName] = desc.defaultValue;
27749
+ } else {
27750
+ deprecateQueryParamDefaultValuesSetOnController(controllerName, this.routeName, propName);
27751
+ }
27752
+ }
27753
+ }
27754
+
27743
27755
  var scope = desc.scope || 'model';
27744
27756
  var parts;
27745
27757
 
@@ -29416,9 +29428,13 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/debug', 'ember-met
29416
29428
  // into its outlets, which won't render anywhere. All of this
29417
29429
  // statefulness should get the machete in 2.0.
29418
29430
  this.connections[i] = {
29431
+ owner: connection.owner,
29419
29432
  into: connection.into,
29420
29433
  outlet: connection.outlet,
29421
- name: connection.name
29434
+ name: connection.name,
29435
+ controller: undefined,
29436
+ template: undefined,
29437
+ ViewClass: undefined
29422
29438
  };
29423
29439
  _emberMetalRun_loop.default.once(this.router, '_setOutlets');
29424
29440
  }
@@ -29591,12 +29607,16 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/debug', 'ember-met
29591
29607
  var keysAlreadyMergedOrSkippable;
29592
29608
  var qps = {};
29593
29609
 
29594
- keysAlreadyMergedOrSkippable = {
29595
- defaultValue: true,
29596
- type: true,
29597
- scope: true,
29598
- as: true
29599
- };
29610
+ if (false) {
29611
+ keysAlreadyMergedOrSkippable = {};
29612
+ } else {
29613
+ keysAlreadyMergedOrSkippable = {
29614
+ defaultValue: true,
29615
+ type: true,
29616
+ scope: true,
29617
+ as: true
29618
+ };
29619
+ }
29600
29620
 
29601
29621
  // first loop over all controller qps, merging them with any matching route qps
29602
29622
  // into a new empty object to avoid mutating.
@@ -29642,11 +29662,6 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/debug', 'ember-met
29642
29662
 
29643
29663
  exports.default = Route;
29644
29664
  });
29645
-
29646
- // apply default values to controllers
29647
- // detect that default value defined on router config
29648
-
29649
- // detect that property was not defined on controller
29650
29665
  enifed('ember-routing/system/router', ['exports', 'ember-console', 'ember-metal/debug', 'ember-metal/error', 'ember-metal/features', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/properties', 'ember-metal/empty_object', 'ember-metal/computed', 'ember-metal/assign', 'ember-metal/run_loop', 'ember-runtime/system/object', 'ember-runtime/mixins/evented', 'ember-routing/system/route', 'ember-routing/system/dsl', 'ember-routing/location/api', 'ember-routing/utils', 'ember-metal/utils', 'ember-routing/system/router_state', 'container/owner', 'ember-metal/dictionary', 'router', 'router/transition'], function (exports, _emberConsole, _emberMetalDebug, _emberMetalError, _emberMetalFeatures, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalProperties, _emberMetalEmpty_object, _emberMetalComputed, _emberMetalAssign, _emberMetalRun_loop, _emberRuntimeSystemObject, _emberRuntimeMixinsEvented, _emberRoutingSystemRoute, _emberRoutingSystemDsl, _emberRoutingLocationApi, _emberRoutingUtils, _emberMetalUtils, _emberRoutingSystemRouter_state, _containerOwner, _emberMetalDictionary, _router4, _routerTransition) {
29651
29666
  'use strict';
29652
29667
 
@@ -29723,6 +29738,10 @@ enifed('ember-routing/system/router', ['exports', 'ember-console', 'ember-metal/
29723
29738
  enableLoadingSubstates: !!moduleBasedResolver
29724
29739
  };
29725
29740
 
29741
+ if (false) {
29742
+ options.router = this;
29743
+ }
29744
+
29726
29745
  return new _emberRoutingSystemDsl.default(null, options);
29727
29746
  },
29728
29747
 
@@ -29733,6 +29752,10 @@ enifed('ember-routing/system/router', ['exports', 'ember-console', 'ember-metal/
29733
29752
  this._qpCache = new _emberMetalEmpty_object.default();
29734
29753
  this._resetQueuedQueryParameterChanges();
29735
29754
  this._handledErrors = _emberMetalDictionary.default(null);
29755
+
29756
+ if (false) {
29757
+ this._serializeMethods = new _emberMetalEmpty_object.default();
29758
+ }
29736
29759
  },
29737
29760
 
29738
29761
  /*
@@ -30193,6 +30216,10 @@ enifed('ember-routing/system/router', ['exports', 'ember-console', 'ember-metal/
30193
30216
 
30194
30217
  router.getHandler = this._getHandlerFunction();
30195
30218
 
30219
+ if (false) {
30220
+ router.getSerializer = this._getSerializerFunction();
30221
+ }
30222
+
30196
30223
  var doUpdateURL = function () {
30197
30224
  location.setURL(lastURL);
30198
30225
  };
@@ -30267,11 +30294,8 @@ enifed('ember-routing/system/router', ['exports', 'ember-console', 'ember-metal/
30267
30294
  _emberMetalDebug.assert('The route ' + targetRouteName + ' was not found', targetRouteName && this.router.hasRoute(targetRouteName));
30268
30295
 
30269
30296
  var queryParams = {};
30270
- // merge in any queryParams from the active transition which could include
30271
- // queryparams from the url on initial load.
30272
- if (this.router.activeTransition) {
30273
- _emberMetalAssign.default(queryParams, this.router.activeTransition.queryParams);
30274
- }
30297
+
30298
+ this._processActiveTransitionQueryParams(targetRouteName, models, queryParams, _queryParams);
30275
30299
 
30276
30300
  _emberMetalAssign.default(queryParams, _queryParams);
30277
30301
  this._prepareQueryParams(targetRouteName, models, queryParams);
@@ -30284,6 +30308,29 @@ enifed('ember-routing/system/router', ['exports', 'ember-console', 'ember-metal/
30284
30308
  return transition;
30285
30309
  },
30286
30310
 
30311
+ _processActiveTransitionQueryParams: function (targetRouteName, models, queryParams, _queryParams) {
30312
+ // merge in any queryParams from the active transition which could include
30313
+ // queryParams from the url on initial load.
30314
+ if (!this.router.activeTransition) {
30315
+ return;
30316
+ }
30317
+
30318
+ var unchangedQPs = {};
30319
+ var qpUpdates = this._qpUpdates || {};
30320
+ for (var key in this.router.activeTransition.queryParams) {
30321
+ if (!qpUpdates[key]) {
30322
+ unchangedQPs[key] = this.router.activeTransition.queryParams[key];
30323
+ }
30324
+ }
30325
+
30326
+ // We need to fully scope queryParams so that we can create one object
30327
+ // that represents both pased in queryParams and ones that aren't changed
30328
+ // from the active transition.
30329
+ this._fullyScopeQueryParams(targetRouteName, models, _queryParams);
30330
+ this._fullyScopeQueryParams(targetRouteName, models, unchangedQPs);
30331
+ _emberMetalAssign.default(queryParams, unchangedQPs);
30332
+ },
30333
+
30287
30334
  _prepareQueryParams: function (targetRouteName, models, queryParams) {
30288
30335
  this._hydrateUnsuppliedQueryParams(targetRouteName, models, queryParams);
30289
30336
  this._serializeQueryParams(targetRouteName, queryParams);
@@ -30329,6 +30376,30 @@ enifed('ember-routing/system/router', ['exports', 'ember-console', 'ember-metal/
30329
30376
  };
30330
30377
  },
30331
30378
 
30379
+ _fullyScopeQueryParams: function (leafRouteName, contexts, queryParams) {
30380
+ var state = calculatePostTransitionState(this, leafRouteName, contexts);
30381
+ var handlerInfos = state.handlerInfos;
30382
+ _emberRoutingUtils.stashParamNames(this, handlerInfos);
30383
+
30384
+ for (var i = 0, len = handlerInfos.length; i < len; ++i) {
30385
+ var route = handlerInfos[i].handler;
30386
+ var qpMeta = _emberMetalProperty_get.get(route, '_qp');
30387
+
30388
+ for (var j = 0, qpLen = qpMeta.qps.length; j < qpLen; ++j) {
30389
+ var qp = qpMeta.qps[j];
30390
+
30391
+ var presentProp = qp.prop in queryParams && qp.prop || qp.scopedPropertyName in queryParams && qp.scopedPropertyName || qp.urlKey in queryParams && qp.urlKey;
30392
+
30393
+ if (presentProp) {
30394
+ if (presentProp !== qp.scopedPropertyName) {
30395
+ queryParams[qp.scopedPropertyName] = queryParams[presentProp];
30396
+ delete queryParams[presentProp];
30397
+ }
30398
+ }
30399
+ }
30400
+ }
30401
+ },
30402
+
30332
30403
  _hydrateUnsuppliedQueryParams: function (leafRouteName, contexts, queryParams) {
30333
30404
  var state = calculatePostTransitionState(this, leafRouteName, contexts);
30334
30405
  var handlerInfos = state.handlerInfos;
@@ -30342,7 +30413,7 @@ enifed('ember-routing/system/router', ['exports', 'ember-console', 'ember-metal/
30342
30413
  for (var j = 0, qpLen = qpMeta.qps.length; j < qpLen; ++j) {
30343
30414
  var qp = qpMeta.qps[j];
30344
30415
 
30345
- var presentProp = qp.prop in queryParams && qp.prop || qp.scopedPropertyName in queryParams && qp.scopedPropertyName;
30416
+ var presentProp = qp.prop in queryParams && qp.prop || qp.scopedPropertyName in queryParams && qp.scopedPropertyName || qp.urlKey in queryParams && qp.urlKey;
30346
30417
 
30347
30418
  if (presentProp) {
30348
30419
  if (presentProp !== qp.scopedPropertyName) {
@@ -30607,6 +30678,10 @@ enifed('ember-routing/system/router', ['exports', 'ember-console', 'ember-metal/
30607
30678
 
30608
30679
  function updatePaths(router) {
30609
30680
  var infos = router.router.currentHandlerInfos;
30681
+ if (infos.length === 0) {
30682
+ return;
30683
+ }
30684
+
30610
30685
  var path = EmberRouter._routePath(infos);
30611
30686
  var currentRouteName = infos[infos.length - 1].name;
30612
30687
 
@@ -31111,7 +31186,7 @@ enifed('ember-runtime/compare', ['exports', 'ember-runtime/utils', 'ember-runtim
31111
31186
  // ,'________________ \`-._`-','
31112
31187
  // `._ ```````````------...___ '-.._'-:
31113
31188
  // ```--.._ ,. ````--...__\-.
31114
- // `.--. `-` "INFINTIY IS LESS ____ | |`
31189
+ // `.--. `-` "INFINITY IS LESS ____ | |`
31115
31190
  // `. `. THAN BEYOND" ,'`````. ; ;`
31116
31191
  // `._`. __________ `. \'__/`
31117
31192
  // `-:._____/______/___/____`. \ `
@@ -32858,13 +32933,6 @@ enifed('ember-runtime/copy', ['exports', 'ember-metal/debug', 'ember-runtime/sys
32858
32933
  return _copy(obj, deep, deep ? [] : null, deep ? [] : null);
32859
32934
  }
32860
32935
  });
32861
- enifed("ember-runtime/core", ["exports"], function (exports) {
32862
- "use strict";
32863
- });
32864
- /**
32865
- @module ember
32866
- @submodule ember-runtime
32867
- */
32868
32936
  enifed('ember-runtime/ext/function', ['exports', 'ember-environment', 'ember-metal/debug', 'ember-metal/computed', 'ember-metal/mixin'], function (exports, _emberEnvironment, _emberMetalDebug, _emberMetalComputed, _emberMetalMixin) {
32869
32937
  /**
32870
32938
  @module ember
@@ -32918,7 +32986,7 @@ enifed('ember-runtime/ext/function', ['exports', 'ember-environment', 'ember-met
32918
32986
  will not immediately trigger an update of the computed property, but
32919
32987
  will instead clear the cache so that it is updated when the next `get`
32920
32988
  is called on the property.
32921
- See [Ember.ComputedProperty](/api/classes/Ember.ComputedProperty.html), [Ember.computed](/api/#method_computed).
32989
+ See [Ember.ComputedProperty](/api/classes/Ember.ComputedProperty.html), [Ember.computed](/api/classes/Ember.computed.html).
32922
32990
  @method property
32923
32991
  @for Function
32924
32992
  @public
@@ -33264,7 +33332,9 @@ enifed('ember-runtime/index', ['exports', 'ember-metal', 'ember-runtime/is-equal
33264
33332
  EmComputed.filterBy = _emberRuntimeComputedReduce_computed_macros.filterBy;
33265
33333
  EmComputed.uniq = _emberRuntimeComputedReduce_computed_macros.uniq;
33266
33334
 
33267
- EmComputed.uniqBy = _emberRuntimeComputedReduce_computed_macros.uniqBy;
33335
+ if (true) {
33336
+ EmComputed.uniqBy = _emberRuntimeComputedReduce_computed_macros.uniqBy;
33337
+ }
33268
33338
 
33269
33339
  EmComputed.union = _emberRuntimeComputedReduce_computed_macros.union;
33270
33340
  EmComputed.intersect = _emberRuntimeComputedReduce_computed_macros.intersect;
@@ -33890,6 +33960,9 @@ enifed('ember-runtime/mixins/array', ['exports', 'ember-metal/core', 'ember-meta
33890
33960
  }).readOnly(), _Mixin$create.lastObject = _emberMetalComputed.computed(function () {
33891
33961
  return objectAt(this, _emberMetalProperty_get.get(this, 'length') - 1);
33892
33962
  }).readOnly(), _Mixin$create.contains = function (obj) {
33963
+ if (false) {
33964
+ _emberMetalDebug.deprecate('`Enumerable#contains` is deprecated, use `Enumerable#includes` instead.', false, { id: 'ember-runtime.enumerable-contains', until: '3.0.0', url: 'http://emberjs.com/deprecations/v2.x#toc_enumerable-contains' });
33965
+ }
33893
33966
 
33894
33967
  return this.indexOf(obj) >= 0;
33895
33968
  }, _Mixin$create.slice = function (beginIndex, endIndex) {
@@ -34060,6 +34133,56 @@ enifed('ember-runtime/mixins/array', ['exports', 'ember-metal/core', 'ember-meta
34060
34133
  return this.__each;
34061
34134
  }).volatile(), _Mixin$create));
34062
34135
 
34136
+ if (false) {
34137
+ ArrayMixin.reopen({
34138
+ /**
34139
+ Returns `true` if the passed object can be found in the array.
34140
+ This method is a Polyfill for ES 2016 Array.includes.
34141
+ If no `startAt` argument is given, the starting location to
34142
+ search is 0. If it's negative, searches from the index of
34143
+ `this.length + startAt` by asc.
34144
+ ```javascript
34145
+ [1, 2, 3].includes(2); // true
34146
+ [1, 2, 3].includes(4); // false
34147
+ [1, 2, 3].includes(3, 2); // true
34148
+ [1, 2, 3].includes(3, 3); // false
34149
+ [1, 2, 3].includes(3, -1); // true
34150
+ [1, 2, 3].includes(1, -1); // false
34151
+ [1, 2, 3].includes(1, -4); // true
34152
+ [1, 2, NaN].includes(NaN); // true
34153
+ ```
34154
+ @method includes
34155
+ @param {Object} obj The object to search for.
34156
+ @param {Number} startAt optional starting location to search, default 0
34157
+ @return {Boolean} `true` if object is found in the array.
34158
+ @public
34159
+ */
34160
+ includes: function (obj, startAt) {
34161
+ var len = _emberMetalProperty_get.get(this, 'length');
34162
+ var idx, currentObj;
34163
+
34164
+ if (startAt === undefined) {
34165
+ startAt = 0;
34166
+ }
34167
+
34168
+ if (startAt < 0) {
34169
+ startAt += len;
34170
+ }
34171
+
34172
+ for (idx = startAt; idx < len; idx++) {
34173
+ currentObj = objectAt(this, idx);
34174
+
34175
+ // SameValueZero comparison (NaN !== NaN)
34176
+ if (obj === currentObj || obj !== obj && currentObj !== currentObj) {
34177
+ return true;
34178
+ }
34179
+ }
34180
+
34181
+ return false;
34182
+ }
34183
+ });
34184
+ }
34185
+
34063
34186
  exports.default = ArrayMixin;
34064
34187
  });
34065
34188
  // ES6TODO: Ember.A
@@ -34276,31 +34399,6 @@ enifed('ember-runtime/mixins/array', ['exports', 'ember-metal/core', 'ember-meta
34276
34399
  @property @each
34277
34400
  @public
34278
34401
  */
34279
-
34280
- /**
34281
- Returns `true` if the passed object can be found in the array.
34282
- This method is a Polyfill for ES 2016 Array.includes.
34283
- If no `startAt` argument is given, the starting location to
34284
- search is 0. If it's negative, searches from the index of
34285
- `this.length + startAt` by asc.
34286
- ```javascript
34287
- [1, 2, 3].includes(2); // true
34288
- [1, 2, 3].includes(4); // false
34289
- [1, 2, 3].includes(3, 2); // true
34290
- [1, 2, 3].includes(3, 3); // false
34291
- [1, 2, 3].includes(3, -1); // true
34292
- [1, 2, 3].includes(1, -1); // false
34293
- [1, 2, 3].includes(1, -4); // true
34294
- [1, 2, NaN].includes(NaN); // true
34295
- ```
34296
- @method includes
34297
- @param {Object} obj The object to search for.
34298
- @param {Number} startAt optional starting location to search, default 0
34299
- @return {Boolean} `true` if object is found in the array.
34300
- @public
34301
- */
34302
-
34303
- // SameValueZero comparison (NaN !== NaN)
34304
34402
  enifed('ember-runtime/mixins/comparable', ['exports', 'ember-metal/mixin'], function (exports, _emberMetalMixin) {
34305
34403
  'use strict';
34306
34404
 
@@ -34810,6 +34908,9 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-metal/property_get'
34810
34908
  @public
34811
34909
  */
34812
34910
  contains: function (obj) {
34911
+ if (false) {
34912
+ _emberMetalDebug.deprecate('`Enumerable#contains` is deprecated, use `Enumerable#includes` instead.', false, { id: 'ember-runtime.enumerable-contains', until: '3.0.0', url: 'http://emberjs.com/deprecations/v2.x#toc_enumerable-contains' });
34913
+ }
34813
34914
 
34814
34915
  var found = this.find(function (item) {
34815
34916
  return item === obj;
@@ -35592,54 +35693,98 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-metal/property_get'
35592
35693
  }
35593
35694
  });
35594
35695
 
35595
- Enumerable.reopen({
35596
- /**
35597
- Returns a new enumerable that contains only items containing a unique property value.
35598
- The default implementation returns an array regardless of the receiver type.
35599
- ```javascript
35600
- var arr = [{ value: 'a' }, { value: 'a' }, { value: 'b' }, { value: 'b' }];
35601
- arr.uniqBy('value'); // [{ value: 'a' }, { value: 'b' }]
35602
- ```
35603
- @method uniqBy
35604
- @return {Ember.Enumerable}
35605
- @public
35606
- */
35696
+ if (true) {
35697
+ Enumerable.reopen({
35698
+ /**
35699
+ Returns a new enumerable that contains only items containing a unique property value.
35700
+ The default implementation returns an array regardless of the receiver type.
35701
+ ```javascript
35702
+ var arr = [{ value: 'a' }, { value: 'a' }, { value: 'b' }, { value: 'b' }];
35703
+ arr.uniqBy('value'); // [{ value: 'a' }, { value: 'b' }]
35704
+ ```
35705
+ @method uniqBy
35706
+ @return {Ember.Enumerable}
35707
+ @public
35708
+ */
35607
35709
 
35608
- uniqBy: function (key) {
35609
- var ret = emberA();
35610
- var seen = new _emberMetalEmpty_object.default();
35710
+ uniqBy: function (key) {
35711
+ var ret = emberA();
35712
+ var seen = new _emberMetalEmpty_object.default();
35611
35713
 
35612
- this.forEach(function (item) {
35613
- var guid = _emberMetalUtils.guidFor(_emberMetalProperty_get.get(item, key));
35614
- if (!(guid in seen)) {
35615
- seen[guid] = true;
35616
- ret.push(item);
35714
+ this.forEach(function (item) {
35715
+ var guid = _emberMetalUtils.guidFor(_emberMetalProperty_get.get(item, key));
35716
+ if (!(guid in seen)) {
35717
+ seen[guid] = true;
35718
+ ret.push(item);
35719
+ }
35720
+ });
35721
+
35722
+ return ret;
35723
+ }
35724
+ });
35725
+ }
35726
+
35727
+ if (false) {
35728
+ Enumerable.reopen({
35729
+ /**
35730
+ Returns `true` if the passed object can be found in the enumerable.
35731
+ ```javascript
35732
+ [1, 2, 3].includes(2); // true
35733
+ [1, 2, 3].includes(4); // false
35734
+ [1, 2, undefined].includes(undefined); // true
35735
+ [1, 2, null].includes(null); // true
35736
+ [1, 2, NaN].includes(NaN); // true
35737
+ ```
35738
+ @method includes
35739
+ @param {Object} obj The object to search for.
35740
+ @return {Boolean} `true` if object is found in the enumerable.
35741
+ @public
35742
+ */
35743
+ includes: function (obj) {
35744
+ _emberMetalDebug.assert('Enumerable#includes cannot accept a second argument "startAt" as enumerable items are unordered.', arguments.length === 1);
35745
+
35746
+ var len = _emberMetalProperty_get.get(this, 'length');
35747
+ var idx, next;
35748
+ var last = null;
35749
+ var found = false;
35750
+
35751
+ var context = popCtx();
35752
+
35753
+ for (idx = 0; idx < len && !found; idx++) {
35754
+ next = this.nextObject(idx, last, context);
35755
+
35756
+ found = obj === next || obj !== obj && next !== next;
35757
+
35758
+ last = next;
35617
35759
  }
35618
- });
35619
35760
 
35620
- return ret;
35621
- }
35622
- });
35623
- exports.default = Enumerable;
35624
- });
35761
+ next = last = null;
35762
+ context = pushCtx(context);
35625
35763
 
35626
- /**
35627
- Returns `true` if the passed object can be found in the enumerable.
35628
- ```javascript
35629
- [1, 2, 3].includes(2); // true
35630
- [1, 2, 3].includes(4); // false
35631
- [1, 2, undefined].includes(undefined); // true
35632
- [1, 2, null].includes(null); // true
35633
- [1, 2, NaN].includes(NaN); // true
35634
- ```
35635
- @method includes
35636
- @param {Object} obj The object to search for.
35637
- @return {Boolean} `true` if object is found in the enumerable.
35638
- @public
35639
- */
35640
- // nothing to do
35764
+ return found;
35765
+ },
35766
+
35767
+ without: function (value) {
35768
+ if (!this.includes(value)) {
35769
+ return this; // nothing to do
35770
+ }
35641
35771
 
35642
- // SameValueZero comparison (NaN !== NaN)
35772
+ var ret = emberA();
35773
+
35774
+ this.forEach(function (k) {
35775
+ // SameValueZero comparison (NaN !== NaN)
35776
+ if (!(k === value || k !== k && value !== value)) {
35777
+ ret[ret.length] = k;
35778
+ }
35779
+ });
35780
+
35781
+ return ret;
35782
+ }
35783
+ });
35784
+ }
35785
+
35786
+ exports.default = Enumerable;
35787
+ });
35643
35788
  enifed('ember-runtime/mixins/evented', ['exports', 'ember-metal/mixin', 'ember-metal/events'], function (exports, _emberMetalMixin, _emberMetalEvents) {
35644
35789
  'use strict';
35645
35790
 
@@ -36234,7 +36379,11 @@ enifed('ember-runtime/mixins/mutable_array', ['exports', 'ember-metal/property_g
36234
36379
  addObject: function (obj) {
36235
36380
  var included;
36236
36381
 
36237
- included = this.contains(obj);
36382
+ if (false) {
36383
+ included = this.includes(obj);
36384
+ } else {
36385
+ included = this.contains(obj);
36386
+ }
36238
36387
 
36239
36388
  if (!included) {
36240
36389
  this.pushObject(obj);
@@ -37902,7 +38051,11 @@ enifed('ember-runtime/system/core_object', ['exports', 'ember-metal/debug', 'emb
37902
38051
  if (typeof this.setUnknownProperty === 'function' && !(keyName in this)) {
37903
38052
  this.setUnknownProperty(keyName, value);
37904
38053
  } else {
37905
- _emberMetalProperties.defineProperty(this, keyName, null, value); // setup mandatory setter
38054
+ if (true) {
38055
+ _emberMetalProperties.defineProperty(this, keyName, null, value); // setup mandatory setter
38056
+ } else {
38057
+ this[keyName] = value;
38058
+ }
37906
38059
  }
37907
38060
  }
37908
38061
  }
@@ -39097,7 +39250,7 @@ enifed('ember-runtime/system/native_array', ['exports', 'ember-metal/core', 'emb
39097
39250
  if (len === 0) {
39098
39251
  this.splice(idx, amt);
39099
39252
  } else {
39100
- _emberMetalReplace._replace(this, idx, amt, objects);
39253
+ _emberMetalReplace.default(this, idx, amt, objects);
39101
39254
  }
39102
39255
 
39103
39256
  this.arrayContentDidChange(idx, amt, len);
@@ -39806,8 +39959,11 @@ enifed('ember-template-compiler/compat/precompile', ['exports', 'require', 'embe
39806
39959
  var compile, compileSpec, compileOptions;
39807
39960
 
39808
39961
  // Note we don't really want to expose this from main file
39809
-
39810
- compileOptions = _require.default('ember-htmlbars-template-compiler/system/compile-options').default;
39962
+ if (false) {
39963
+ compileOptions = _require.default('ember-glimmer-template-compiler/system/compile-options').default;
39964
+ } else {
39965
+ compileOptions = _require.default('ember-htmlbars-template-compiler/system/compile-options').default;
39966
+ }
39811
39967
 
39812
39968
  exports.default = function (string) {
39813
39969
  if ((!compile || !compileSpec) && _require.has('htmlbars-compiler/compiler')) {
@@ -39853,8 +40009,11 @@ enifed('ember-template-compiler/compiler', ['exports', 'ember-metal/features', '
39853
40009
 
39854
40010
  function pickCompiler() {
39855
40011
  var compiler = undefined;
39856
-
39857
- compiler = _require.default('ember-htmlbars-template-compiler');
40012
+ if (false) {
40013
+ compiler = _require.default('ember-glimmer-template-compiler');
40014
+ } else {
40015
+ compiler = _require.default('ember-htmlbars-template-compiler');
40016
+ }
39858
40017
 
39859
40018
  return compiler;
39860
40019
  }
@@ -40531,46 +40690,74 @@ enifed('ember-templates/component', ['exports', 'ember-metal/features', 'require
40531
40690
  'use strict';
40532
40691
 
40533
40692
  exports.default = (function () {
40534
- return _require.default('ember-htmlbars/component').default;
40693
+ if (false) {
40694
+ return _require.default('ember-glimmer/component').default;
40695
+ } else {
40696
+ return _require.default('ember-htmlbars/component').default;
40697
+ }
40535
40698
  })();
40536
40699
  });
40537
40700
  enifed('ember-templates/components/checkbox', ['exports', 'ember-metal/features', 'require'], function (exports, _emberMetalFeatures, _require) {
40538
40701
  'use strict';
40539
40702
 
40540
40703
  exports.default = (function () {
40541
- return _require.default('ember-htmlbars/components/checkbox').default;
40704
+ if (false) {
40705
+ return _require.default('ember-glimmer/components/checkbox').default;
40706
+ } else {
40707
+ return _require.default('ember-htmlbars/components/checkbox').default;
40708
+ }
40542
40709
  })();
40543
40710
  });
40544
40711
  enifed('ember-templates/components/link-to', ['exports', 'ember-metal/features', 'require'], function (exports, _emberMetalFeatures, _require) {
40545
40712
  'use strict';
40546
40713
 
40547
40714
  exports.default = (function () {
40548
- return _require.default('ember-htmlbars/components/link-to').default;
40715
+ if (false) {
40716
+ return _require.default('ember-glimmer/components/link-to').default;
40717
+ } else {
40718
+ return _require.default('ember-htmlbars/components/link-to').default;
40719
+ }
40549
40720
  })();
40550
40721
  });
40551
40722
  enifed('ember-templates/components/text_area', ['exports', 'ember-metal/features', 'require'], function (exports, _emberMetalFeatures, _require) {
40552
40723
  'use strict';
40553
40724
 
40554
40725
  exports.default = (function () {
40555
- return _require.default('ember-htmlbars/components/text_area').default;
40726
+ if (false) {
40727
+ return _require.default('ember-glimmer/components/text_area').default;
40728
+ } else {
40729
+ return _require.default('ember-htmlbars/components/text_area').default;
40730
+ }
40556
40731
  })();
40557
40732
  });
40558
40733
  enifed('ember-templates/components/text_field', ['exports', 'ember-metal/features', 'require'], function (exports, _emberMetalFeatures, _require) {
40559
40734
  'use strict';
40560
40735
 
40561
40736
  exports.default = (function () {
40562
- return _require.default('ember-htmlbars/components/text_field').default;
40737
+ if (false) {
40738
+ return _require.default('ember-glimmer/components/text_field').default;
40739
+ } else {
40740
+ return _require.default('ember-htmlbars/components/text_field').default;
40741
+ }
40563
40742
  })();
40564
40743
  });
40565
40744
  enifed('ember-templates/helper', ['exports', 'ember-metal/features', 'require'], function (exports, _emberMetalFeatures, _require) {
40566
40745
  'use strict';
40567
40746
 
40568
40747
  exports.default = (function () {
40569
- return _require.default('ember-htmlbars/helper').default;
40748
+ if (false) {
40749
+ return _require.default('ember-glimmer/helper').default;
40750
+ } else {
40751
+ return _require.default('ember-htmlbars/helper').default;
40752
+ }
40570
40753
  })();
40571
40754
 
40572
40755
  var helper = (function () {
40573
- return _require.default('ember-htmlbars/helper').helper;
40756
+ if (false) {
40757
+ return _require.default('ember-glimmer/helper').helper;
40758
+ } else {
40759
+ return _require.default('ember-htmlbars/helper').helper;
40760
+ }
40574
40761
  })();
40575
40762
  exports.helper = helper;
40576
40763
  });
@@ -40610,17 +40797,29 @@ enifed('ember-templates/renderer', ['exports', 'ember-metal/features', 'require'
40610
40797
  'use strict';
40611
40798
 
40612
40799
  var InteractiveRenderer = (function () {
40613
- return _require.default('ember-htmlbars/renderer').InteractiveRenderer;
40800
+ if (false) {
40801
+ return _require.default('ember-glimmer/renderer').InteractiveRenderer;
40802
+ } else {
40803
+ return _require.default('ember-htmlbars/renderer').InteractiveRenderer;
40804
+ }
40614
40805
  })();
40615
40806
 
40616
40807
  exports.InteractiveRenderer = InteractiveRenderer;
40617
40808
  var InertRenderer = (function () {
40618
- return _require.default('ember-htmlbars/renderer').InertRenderer;
40809
+ if (false) {
40810
+ return _require.default('ember-glimmer/renderer').InertRenderer;
40811
+ } else {
40812
+ return _require.default('ember-htmlbars/renderer').InertRenderer;
40813
+ }
40619
40814
  })();
40620
40815
 
40621
40816
  exports.InertRenderer = InertRenderer;
40622
40817
  var Renderer = (function () {
40623
- return _require.default('ember-htmlbars/renderer').Renderer;
40818
+ if (false) {
40819
+ return _require.default('ember-glimmer/renderer').Renderer;
40820
+ } else {
40821
+ return _require.default('ember-htmlbars/renderer').Renderer;
40822
+ }
40624
40823
  })();
40625
40824
  exports.Renderer = Renderer;
40626
40825
  });
@@ -41173,13 +41372,12 @@ enifed('ember-testing/helpers/key_event', ['exports'], function (exports) {
41173
41372
  return app.testHelpers.triggerEvent(selector, context, type, { keyCode: keyCode, which: keyCode });
41174
41373
  }
41175
41374
  });
41176
- enifed('ember-testing/helpers/pause_test', ['exports', 'ember-runtime/ext/rsvp', 'ember-testing/test'], function (exports, _emberRuntimeExtRsvp, _emberTestingTest) {
41375
+ enifed('ember-testing/helpers/pause_test', ['exports', 'ember-runtime/ext/rsvp'], function (exports, _emberRuntimeExtRsvp) {
41177
41376
  'use strict';
41178
41377
 
41179
41378
  exports.default = pauseTest;
41180
41379
 
41181
41380
  function pauseTest() {
41182
- _emberTestingTest.default.adapter.asyncStart();
41183
41381
  return new _emberRuntimeExtRsvp.default.Promise(function () {}, 'TestAdapter paused promise');
41184
41382
  }
41185
41383
  });
@@ -41523,7 +41721,7 @@ enifed('ember-testing/helpers', ['exports', 'ember-testing/test/helpers', 'ember
41523
41721
  @return {Object} A promise that will never resolve
41524
41722
  @public
41525
41723
  */
41526
- _emberTestingTestHelpers.registerHelper('pauseTest', _emberTestingHelpersPause_test.default);
41724
+ _emberTestingTestHelpers.registerAsyncHelper('pauseTest', _emberTestingHelpersPause_test.default);
41527
41725
 
41528
41726
  /**
41529
41727
  Triggers the given DOM event on the element identified by the provided selector.
@@ -42043,12 +42241,14 @@ enifed('ember-testing/test/run', ['exports', 'ember-metal/run_loop'], function (
42043
42241
  }
42044
42242
  }
42045
42243
  });
42046
- enifed("ember-testing/test/waiters", ["exports"], function (exports) {
42047
- "use strict";
42244
+ enifed('ember-testing/test/waiters', ['exports', 'ember-metal/features', 'ember-metal/debug'], function (exports, _emberMetalFeatures, _emberMetalDebug) {
42245
+ 'use strict';
42048
42246
 
42049
42247
  exports.registerWaiter = registerWaiter;
42050
42248
  exports.unregisterWaiter = unregisterWaiter;
42051
42249
  exports.checkWaiters = checkWaiters;
42250
+ exports.generateDeprecatedWaitersArray = generateDeprecatedWaitersArray;
42251
+
42052
42252
  var contexts = [];
42053
42253
  var callbacks = [];
42054
42254
 
@@ -42121,6 +42321,20 @@ enifed("ember-testing/test/waiters", ["exports"], function (exports) {
42121
42321
  callbacks.splice(i, 1);
42122
42322
  }
42123
42323
 
42324
+ /**
42325
+ Iterates through each registered test waiter, and invokes
42326
+ its callback. If any waiter returns false, this method will return
42327
+ true indicating that the waiters have not settled yet.
42328
+
42329
+ This is generally used internally from the acceptance/integration test
42330
+ infrastructure.
42331
+
42332
+ @public
42333
+ @for Ember.Test
42334
+ @static
42335
+ @method checkWaiters
42336
+ */
42337
+
42124
42338
  function checkWaiters() {
42125
42339
  if (!callbacks.length) {
42126
42340
  return false;
@@ -42143,8 +42357,22 @@ enifed("ember-testing/test/waiters", ["exports"], function (exports) {
42143
42357
  }
42144
42358
  return -1;
42145
42359
  }
42360
+
42361
+ function generateDeprecatedWaitersArray() {
42362
+ _emberMetalDebug.deprecate('Usage of `Ember.Test.waiters` is deprecated. Please refactor to `Ember.Test.checkWaiters`.', !false, { until: '2.8.0', id: 'ember-testing.test-waiters' });
42363
+
42364
+ var array = new Array(callbacks.length);
42365
+ for (var i = 0; i < callbacks.length; i++) {
42366
+ var context = contexts[i];
42367
+ var callback = callbacks[i];
42368
+
42369
+ array[i] = [context, callback];
42370
+ }
42371
+
42372
+ return array;
42373
+ }
42146
42374
  });
42147
- enifed('ember-testing/test', ['exports', 'ember-testing/test/helpers', 'ember-testing/test/on_inject_helpers', 'ember-testing/test/promise', 'ember-testing/test/waiters', 'ember-testing/test/adapter'], function (exports, _emberTestingTestHelpers, _emberTestingTestOn_inject_helpers, _emberTestingTestPromise, _emberTestingTestWaiters, _emberTestingTestAdapter) {
42375
+ enifed('ember-testing/test', ['exports', 'ember-testing/test/helpers', 'ember-testing/test/on_inject_helpers', 'ember-testing/test/promise', 'ember-testing/test/waiters', 'ember-testing/test/adapter', 'ember-metal/features'], function (exports, _emberTestingTestHelpers, _emberTestingTestOn_inject_helpers, _emberTestingTestPromise, _emberTestingTestWaiters, _emberTestingTestAdapter, _emberMetalFeatures) {
42148
42376
  /**
42149
42377
  @module ember
42150
42378
  @submodule ember-testing
@@ -42183,6 +42411,10 @@ enifed('ember-testing/test', ['exports', 'ember-testing/test/helpers', 'ember-te
42183
42411
  unregisterWaiter: _emberTestingTestWaiters.unregisterWaiter
42184
42412
  };
42185
42413
 
42414
+ if (false) {
42415
+ Test.checkWaiters = _emberTestingTestWaiters.checkWaiters;
42416
+ }
42417
+
42186
42418
  /**
42187
42419
  Used to allow ember-testing to communicate with a specific testing
42188
42420
  framework.
@@ -42208,6 +42440,10 @@ enifed('ember-testing/test', ['exports', 'ember-testing/test/helpers', 'ember-te
42208
42440
  set: _emberTestingTestAdapter.setAdapter
42209
42441
  });
42210
42442
 
42443
+ Object.defineProperty(Test, 'waiters', {
42444
+ get: _emberTestingTestWaiters.generateDeprecatedWaitersArray
42445
+ });
42446
+
42211
42447
  exports.default = Test;
42212
42448
  });
42213
42449
  enifed('ember-views/compat/attrs-proxy', ['exports', 'ember-metal/mixin', 'ember-metal/symbol', 'ember-metal/property_events'], function (exports, _emberMetalMixin, _emberMetalSymbol, _emberMetalProperty_events) {
@@ -43397,8 +43633,7 @@ enifed('ember-views/mixins/view_support', ['exports', 'ember-metal/debug', 'embe
43397
43633
  },
43398
43634
 
43399
43635
  /**
43400
- @private
43401
- Creates a new DOM element, renders the view into it, then returns the
43636
+ Creates a new DOM element, renders the view into it, then returns the
43402
43637
  element.
43403
43638
  By default, the element created and rendered into will be a `BODY` element,
43404
43639
  since this is the default context that views are rendered into when being
@@ -45571,10 +45806,12 @@ enifed('htmlbars-runtime/expression-visitor', ['exports'], function (exports) {
45571
45806
 
45572
45807
  // Primitive literals are unambiguously non-array representations of
45573
45808
  // themselves.
45574
- if (typeof node !== 'object' || node === null) {
45575
- ret.value = node;
45576
- } else {
45809
+ if (Array.isArray(node)) {
45810
+ // if (node.length !== 7) { throw new Error('FIXME: Invalid statement length!'); }
45811
+
45577
45812
  ret.value = evaluateNode(node, env, scope);
45813
+ } else {
45814
+ ret.value = node;
45578
45815
  }
45579
45816
 
45580
45817
  return ret;
@@ -47124,13 +47361,14 @@ enifed("htmlbars-runtime/render", ["exports", "htmlbars-util/morph-utils", "html
47124
47361
  if (typeof attributes[key] === 'string') {
47125
47362
  continue;
47126
47363
  }
47127
- statements.push(["attribute", key, attributes[key]]);
47364
+
47365
+ statements.push(_htmlbarsUtilTemplateUtils.buildStatement("attribute", key, attributes[key]));
47128
47366
  }
47129
47367
 
47130
47368
  var isEmpty = _isEmpty || _htmlbarsUtilVoidTagNames.default[tagName];
47131
47369
 
47132
47370
  if (!isEmpty) {
47133
- statements.push(['content', 'yield']);
47371
+ statements.push(_htmlbarsUtilTemplateUtils.buildStatement('content', 'yield'));
47134
47372
  }
47135
47373
 
47136
47374
  var template = {
@@ -47192,7 +47430,7 @@ enifed("htmlbars-runtime/render", ["exports", "htmlbars-util/morph-utils", "html
47192
47430
  if (typeof attributes[key] === 'string') {
47193
47431
  continue;
47194
47432
  }
47195
- statements.push(["attribute", key, attributes[key]]);
47433
+ statements.push(_htmlbarsUtilTemplateUtils.buildStatement("attribute", key, attributes[key]));
47196
47434
  }
47197
47435
 
47198
47436
  var template = {
@@ -47816,11 +48054,13 @@ enifed('htmlbars-util/safe-string', ['exports', 'htmlbars-util/handlebars/safe-s
47816
48054
  enifed("htmlbars-util/template-utils", ["exports", "htmlbars-util/morph-utils", "htmlbars-runtime/render"], function (exports, _htmlbarsUtilMorphUtils, _htmlbarsRuntimeRender) {
47817
48055
  "use strict";
47818
48056
 
48057
+ var _slice = Array.prototype.slice;
47819
48058
  exports.RenderState = RenderState;
47820
48059
  exports.blockFor = blockFor;
47821
48060
  exports.renderAndCleanup = renderAndCleanup;
47822
48061
  exports.clearMorph = clearMorph;
47823
48062
  exports.clearMorphList = clearMorphList;
48063
+ exports.buildStatement = buildStatement;
47824
48064
 
47825
48065
  function RenderState(renderNode, morphList) {
47826
48066
  // The morph list that is no longer needed and can be
@@ -48014,6 +48254,17 @@ enifed("htmlbars-util/template-utils", ["exports", "htmlbars-util/morph-utils",
48014
48254
  morphList.clear();
48015
48255
  morph.morphList = null;
48016
48256
  }
48257
+
48258
+ function buildStatement() {
48259
+ var statement = [].concat(_slice.call(arguments));
48260
+
48261
+ // ensure array length is 7 by padding with 0
48262
+ for (var i = arguments.length; i < 7; i++) {
48263
+ statement[i] = 0;
48264
+ }
48265
+
48266
+ return statement;
48267
+ }
48017
48268
  });
48018
48269
  enifed("htmlbars-util/void-tag-names", ["exports", "htmlbars-util/array-utils"], function (exports, _htmlbarsUtilArrayUtils) {
48019
48270
  "use strict";