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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1ca5b378a24517b93863a063fac92b33b00a4244
4
- data.tar.gz: e5eb1b717dab1fe4c35aada75b7968566cb99dfc
3
+ metadata.gz: 90c21da72b97a73931be4e54c767065212ecdc48
4
+ data.tar.gz: 2728cf5afffd1abb96ab09c42cd32fb9d379078d
5
5
  SHA512:
6
- metadata.gz: 4256927d26106cf26b7ecf96064d9cb7c4c74c2599453bf59b431e617c618ee471cb91174674123f34e8ba9b56efd76cae28033adcea96f8a40045cb54cb1789
7
- data.tar.gz: 6c69a67cc3de7b22f83f0d672b5c884a4638858877bc50c512a91e27f2cadb15a465f84ec434e31bfcf87a74962798aeec22d610a13fb32b8acaf3b606de86d4
6
+ metadata.gz: afbaf14740b760d8db29367a709a72aad50f980e0ae5ea82a60d6c00a524d6cd9ab84ce53d6ad3c5b334b241f9e2c2d52bd9ca09e8a39982e29ddc915a4029ec
7
+ data.tar.gz: f4ee38ad6f0248a594b5b5a59f8a052e0b011ba5d98034ee1ee4e77986c17cb87e367eb45894acae4b54e1eb08ac25643af0d8f4fec15c07ef003364b609b0f8
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.7.0-beta.1
1
+ 2.7.0-beta.2
@@ -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;
@@ -2485,7 +2485,7 @@ enifed("ember/features", ["exports"], function (exports) {
2485
2485
  enifed("ember/version", ["exports"], function (exports) {
2486
2486
  "use strict";
2487
2487
 
2488
- exports.default = "2.7.0-beta.1";
2488
+ exports.default = "2.7.0-beta.2";
2489
2489
  });
2490
2490
  enifed('ember-console/index', ['exports', 'ember-environment'], function (exports, _emberEnvironment) {
2491
2491
  'use strict';
@@ -2615,10 +2615,12 @@ enifed('ember-console/index', ['exports', 'ember-environment'], function (export
2615
2615
  ```javascript
2616
2616
  Ember.Logger.assert(true); // undefined
2617
2617
  Ember.Logger.assert(true === false); // Throws an Assertion failed error.
2618
+ Ember.Logger.assert(true === false, 'Something invalid'); // Throws an Assertion failed error with message.
2618
2619
  ```
2619
2620
  @method assert
2620
2621
  @for Ember.Logger
2621
2622
  @param {Boolean} bool Value to test
2623
+ @param {String} message Assertion message on failed
2622
2624
  @public
2623
2625
  */
2624
2626
  assert: consoleMethod('assert') || assertPolyfill
@@ -4975,7 +4977,7 @@ enifed('ember-metal/events', ['exports', 'ember-metal/debug', 'ember-metal/utils
4975
4977
  }
4976
4978
  } else {
4977
4979
  if (params) {
4978
- _emberMetalUtils.apply(target, method, params);
4980
+ method.apply(target, params);
4979
4981
  } else {
4980
4982
  method.call(target);
4981
4983
  }
@@ -6345,13 +6347,13 @@ enifed('ember-metal/map', ['exports', 'ember-metal/utils', 'ember-metal/empty_ob
6345
6347
  @constructor
6346
6348
  */
6347
6349
  function Map() {
6348
- if (this instanceof this.constructor) {
6350
+ if (this instanceof Map) {
6349
6351
  this._keys = OrderedSet.create();
6350
6352
  this._keys._silenceRemoveDeprecation = true;
6351
6353
  this._values = new _emberMetalEmpty_object.default();
6352
6354
  this.size = 0;
6353
6355
  } else {
6354
- missingNew('OrderedSet');
6356
+ missingNew('Map');
6355
6357
  }
6356
6358
  }
6357
6359
 
@@ -9165,11 +9167,10 @@ enifed('ember-metal/property_set', ['exports', 'ember-metal/debug', 'ember-metal
9165
9167
  enifed("ember-metal/replace", ["exports"], function (exports) {
9166
9168
  "use strict";
9167
9169
 
9168
- exports._replace = _replace;
9169
9170
  exports.default = replace;
9170
9171
  var splice = Array.prototype.splice;
9171
9172
 
9172
- function _replace(array, idx, amt, objects) {
9173
+ function replace(array, idx, amt, objects) {
9173
9174
  var args = [].concat(objects);
9174
9175
  var ret = [];
9175
9176
  // https://code.google.com/p/chromium/issues/detail?id=56588
@@ -9194,42 +9195,6 @@ enifed("ember-metal/replace", ["exports"], function (exports) {
9194
9195
  }
9195
9196
  return ret;
9196
9197
  }
9197
-
9198
- /**
9199
- Replaces objects in an array with the passed objects.
9200
-
9201
- ```javascript
9202
- var array = [1,2,3];
9203
- Ember.EnumerableUtils.replace(array, 1, 2, [4, 5]); // [1, 4, 5]
9204
-
9205
- var array = [1,2,3];
9206
- Ember.EnumerableUtils.replace(array, 1, 1, [4, 5]); // [1, 4, 5, 3]
9207
-
9208
- var array = [1,2,3];
9209
- Ember.EnumerableUtils.replace(array, 10, 1, [4, 5]); // [1, 2, 3, 4, 5]
9210
- ```
9211
-
9212
- @method replace
9213
- @deprecated
9214
- @param {Array} array The array the objects should be inserted into.
9215
- @param {Number} idx Starting index in the array to replace. If *idx* >=
9216
- length, then append to the end of the array.
9217
- @param {Number} amt Number of elements that should be removed from the array,
9218
- starting at *idx*
9219
- @param {Array} objects An array of zero or more objects that should be
9220
- inserted into the array at *idx*
9221
-
9222
- @return {Array} The modified array.
9223
- @public
9224
- */
9225
-
9226
- function replace(array, idx, amt, objects) {
9227
- if (array.replace) {
9228
- return array.replace(idx, amt, objects);
9229
- } else {
9230
- return _replace(array, idx, amt, objects);
9231
- }
9232
- }
9233
9198
  });
9234
9199
  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) {
9235
9200
  'use strict';
@@ -10078,7 +10043,6 @@ enifed('ember-metal/utils', ['exports'], function (exports) {
10078
10043
  exports.tryInvoke = tryInvoke;
10079
10044
  exports.makeArray = makeArray;
10080
10045
  exports.inspect = inspect;
10081
- exports.apply = apply;
10082
10046
  exports.applyStr = applyStr;
10083
10047
  exports.lookupDescriptor = lookupDescriptor;
10084
10048
  exports.toString = toString;
@@ -10320,15 +10284,16 @@ enifed('ember-metal/utils', ['exports'], function (exports) {
10320
10284
  }
10321
10285
 
10322
10286
  var HAS_SUPER_PATTERN = /\.(_super|call\(this|apply\(this)/;
10287
+ var fnToString = Function.prototype.toString;
10323
10288
 
10324
10289
  var checkHasSuper = (function () {
10325
- var sourceAvailable = (function () {
10290
+ var sourceAvailable = fnToString.call(function () {
10326
10291
  return this;
10327
- }).toString().indexOf('return this') > -1;
10292
+ }).indexOf('return this') > -1;
10328
10293
 
10329
10294
  if (sourceAvailable) {
10330
10295
  return function checkHasSuper(func) {
10331
- return HAS_SUPER_PATTERN.test(func.toString());
10296
+ return HAS_SUPER_PATTERN.test(fnToString.call(func));
10332
10297
  };
10333
10298
  }
10334
10299
 
@@ -10375,31 +10340,8 @@ enifed('ember-metal/utils', ['exports'], function (exports) {
10375
10340
  function _wrap(func, superFunc) {
10376
10341
  function superWrapper() {
10377
10342
  var orig = this._super;
10378
- var ret = undefined;
10379
10343
  this._super = superFunc;
10380
- switch (arguments.length) {
10381
- case 0:
10382
- ret = func.call(this);break;
10383
- case 1:
10384
- ret = func.call(this, arguments[0]);break;
10385
- case 2:
10386
- ret = func.call(this, arguments[0], arguments[1]);break;
10387
- case 3:
10388
- ret = func.call(this, arguments[0], arguments[1], arguments[2]);break;
10389
- case 4:
10390
- ret = func.call(this, arguments[0], arguments[1], arguments[2], arguments[3]);break;
10391
- case 5:
10392
- ret = func.call(this, arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]);break;
10393
- default:
10394
- // v8 bug potentially incorrectly deopts this function: https://code.google.com/p/v8/issues/detail?id=3709
10395
- // we may want to keep this around till this ages out on mobile
10396
- var args = new Array(arguments.length);
10397
- for (var x = 0; x < arguments.length; x++) {
10398
- args[x] = arguments[x];
10399
- }
10400
- ret = func.apply(this, args);
10401
- break;
10402
- }
10344
+ var ret = func.apply(this, arguments);
10403
10345
  this._super = orig;
10404
10346
  return ret;
10405
10347
  }
@@ -10556,36 +10498,6 @@ enifed('ember-metal/utils', ['exports'], function (exports) {
10556
10498
  return '{' + ret.join(', ') + '}';
10557
10499
  }
10558
10500
 
10559
- // The following functions are intentionally minified to keep the functions
10560
- // below Chrome's function body size inlining limit of 600 chars.
10561
- /**
10562
- @param {Object} t target
10563
- @param {Function} m method
10564
- @param {Array} a args
10565
- @private
10566
- */
10567
-
10568
- function apply(t, m, a) {
10569
- var l = a && a.length;
10570
- if (!a || !l) {
10571
- return m.call(t);
10572
- }
10573
- switch (l) {
10574
- case 1:
10575
- return m.call(t, a[0]);
10576
- case 2:
10577
- return m.call(t, a[0], a[1]);
10578
- case 3:
10579
- return m.call(t, a[0], a[1], a[2]);
10580
- case 4:
10581
- return m.call(t, a[0], a[1], a[2], a[3]);
10582
- case 5:
10583
- return m.call(t, a[0], a[1], a[2], a[3], a[4]);
10584
- default:
10585
- return m.apply(t, a);
10586
- }
10587
- }
10588
-
10589
10501
  /**
10590
10502
  @param {Object} t target
10591
10503
  @param {String} m method
@@ -11044,7 +10956,7 @@ enifed('ember-runtime/compare', ['exports', 'ember-runtime/utils', 'ember-runtim
11044
10956
  // ,'________________ \`-._`-','
11045
10957
  // `._ ```````````------...___ '-.._'-:
11046
10958
  // ```--.._ ,. ````--...__\-.
11047
- // `.--. `-` "INFINTIY IS LESS ____ | |`
10959
+ // `.--. `-` "INFINITY IS LESS ____ | |`
11048
10960
  // `. `. THAN BEYOND" ,'`````. ; ;`
11049
10961
  // `._`. __________ `. \'__/`
11050
10962
  // `-:._____/______/___/____`. \ `
@@ -12791,13 +12703,6 @@ enifed('ember-runtime/copy', ['exports', 'ember-metal/debug', 'ember-runtime/sys
12791
12703
  return _copy(obj, deep, deep ? [] : null, deep ? [] : null);
12792
12704
  }
12793
12705
  });
12794
- enifed("ember-runtime/core", ["exports"], function (exports) {
12795
- "use strict";
12796
- });
12797
- /**
12798
- @module ember
12799
- @submodule ember-runtime
12800
- */
12801
12706
  enifed('ember-runtime/ext/function', ['exports', 'ember-environment', 'ember-metal/debug', 'ember-metal/computed', 'ember-metal/mixin'], function (exports, _emberEnvironment, _emberMetalDebug, _emberMetalComputed, _emberMetalMixin) {
12802
12707
  /**
12803
12708
  @module ember
@@ -12851,7 +12756,7 @@ enifed('ember-runtime/ext/function', ['exports', 'ember-environment', 'ember-met
12851
12756
  will not immediately trigger an update of the computed property, but
12852
12757
  will instead clear the cache so that it is updated when the next `get`
12853
12758
  is called on the property.
12854
- See [Ember.ComputedProperty](/api/classes/Ember.ComputedProperty.html), [Ember.computed](/api/#method_computed).
12759
+ See [Ember.ComputedProperty](/api/classes/Ember.ComputedProperty.html), [Ember.computed](/api/classes/Ember.computed.html).
12855
12760
  @method property
12856
12761
  @for Function
12857
12762
  @public
@@ -19115,7 +19020,7 @@ enifed('ember-runtime/system/native_array', ['exports', 'ember-metal/core', 'emb
19115
19020
  if (len === 0) {
19116
19021
  this.splice(idx, amt);
19117
19022
  } else {
19118
- _emberMetalReplace._replace(this, idx, amt, objects);
19023
+ _emberMetalReplace.default(this, idx, amt, objects);
19119
19024
  }
19120
19025
 
19121
19026
  this.arrayContentDidChange(idx, amt, len);
@@ -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;
@@ -1161,7 +1161,7 @@ enifed("ember/features", ["exports"], function (exports) {
1161
1161
  enifed("ember/version", ["exports"], function (exports) {
1162
1162
  "use strict";
1163
1163
 
1164
- exports.default = "2.7.0-beta.1";
1164
+ exports.default = "2.7.0-beta.2";
1165
1165
  });
1166
1166
  enifed('ember-console/index', ['exports', 'ember-environment'], function (exports, _emberEnvironment) {
1167
1167
  'use strict';
@@ -1291,10 +1291,12 @@ enifed('ember-console/index', ['exports', 'ember-environment'], function (export
1291
1291
  ```javascript
1292
1292
  Ember.Logger.assert(true); // undefined
1293
1293
  Ember.Logger.assert(true === false); // Throws an Assertion failed error.
1294
+ Ember.Logger.assert(true === false, 'Something invalid'); // Throws an Assertion failed error with message.
1294
1295
  ```
1295
1296
  @method assert
1296
1297
  @for Ember.Logger
1297
1298
  @param {Boolean} bool Value to test
1299
+ @param {String} message Assertion message on failed
1298
1300
  @public
1299
1301
  */
1300
1302
  assert: consoleMethod('assert') || assertPolyfill
@@ -1673,6 +1675,10 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-environment',
1673
1675
  _emberMetalFeatures.FEATURES['features-stripped-test'] = true;
1674
1676
  var featuresWereStripped = true;
1675
1677
 
1678
+ if (false) {
1679
+ exports.featuresWereStripped = featuresWereStripped = false;
1680
+ }
1681
+
1676
1682
  delete _emberMetalFeatures.FEATURES['features-stripped-test'];
1677
1683
  _warnIfUsingStrippedFeatureFlags(_emberEnvironment.ENV.FEATURES, _emberMetalFeatures.DEFAULT_FEATURES, featuresWereStripped);
1678
1684
 
@@ -4651,7 +4657,7 @@ enifed('ember-metal/events', ['exports', 'ember-metal/debug', 'ember-metal/utils
4651
4657
  }
4652
4658
  } else {
4653
4659
  if (params) {
4654
- _emberMetalUtils.apply(target, method, params);
4660
+ method.apply(target, params);
4655
4661
  } else {
4656
4662
  method.call(target);
4657
4663
  }
@@ -5391,10 +5397,13 @@ enifed('ember-metal/instrumentation', ['exports', 'ember-environment', 'ember-me
5391
5397
  }
5392
5398
 
5393
5399
  var flaggedInstrument;
5394
-
5395
- exports.flaggedInstrument = flaggedInstrument = function (name, payload, callback) {
5396
- return callback();
5397
- };
5400
+ if (false) {
5401
+ exports.flaggedInstrument = flaggedInstrument = instrument;
5402
+ } else {
5403
+ exports.flaggedInstrument = flaggedInstrument = function (name, payload, callback) {
5404
+ return callback();
5405
+ };
5406
+ }
5398
5407
  exports.flaggedInstrument = flaggedInstrument;
5399
5408
 
5400
5409
  function withFinalizer(callback, finalizer, payload, binding) {
@@ -5763,6 +5772,12 @@ enifed('ember-metal/libraries', ['exports', 'ember-metal/debug', 'ember-metal/fe
5763
5772
  }
5764
5773
  };
5765
5774
 
5775
+ if (false) {
5776
+ Libraries.prototype.isRegistered = function (name) {
5777
+ return !!this._getLibraryByName(name);
5778
+ };
5779
+ }
5780
+
5766
5781
  exports.default = new Libraries();
5767
5782
  });
5768
5783
  enifed('ember-metal/map', ['exports', 'ember-metal/utils', 'ember-metal/empty_object'], function (exports, _emberMetalUtils, _emberMetalEmpty_object) {
@@ -6012,13 +6027,13 @@ enifed('ember-metal/map', ['exports', 'ember-metal/utils', 'ember-metal/empty_ob
6012
6027
  @constructor
6013
6028
  */
6014
6029
  function Map() {
6015
- if (this instanceof this.constructor) {
6030
+ if (this instanceof Map) {
6016
6031
  this._keys = OrderedSet.create();
6017
6032
  this._keys._silenceRemoveDeprecation = true;
6018
6033
  this._values = new _emberMetalEmpty_object.default();
6019
6034
  this.size = 0;
6020
6035
  } else {
6021
- missingNew('OrderedSet');
6036
+ missingNew('Map');
6022
6037
  }
6023
6038
  }
6024
6039
 
@@ -6616,35 +6631,37 @@ enifed('ember-metal/meta', ['exports', 'ember-metal/features', 'ember-metal/meta
6616
6631
  descriptor: META_DESC
6617
6632
  };
6618
6633
 
6619
- Meta.prototype.readInheritedValue = function (key, subkey) {
6620
- var internalKey = '_' + key;
6634
+ if (true) {
6635
+ Meta.prototype.readInheritedValue = function (key, subkey) {
6636
+ var internalKey = '_' + key;
6621
6637
 
6622
- var pointer = this;
6638
+ var pointer = this;
6623
6639
 
6624
- while (pointer !== undefined) {
6625
- var map = pointer[internalKey];
6626
- if (map) {
6627
- var value = map[subkey];
6628
- if (value !== undefined || subkey in map) {
6629
- return map[subkey];
6640
+ while (pointer !== undefined) {
6641
+ var map = pointer[internalKey];
6642
+ if (map) {
6643
+ var value = map[subkey];
6644
+ if (value !== undefined || subkey in map) {
6645
+ return map[subkey];
6646
+ }
6630
6647
  }
6648
+ pointer = pointer.parent;
6631
6649
  }
6632
- pointer = pointer.parent;
6633
- }
6634
6650
 
6635
- return UNDEFINED;
6636
- };
6651
+ return UNDEFINED;
6652
+ };
6637
6653
 
6638
- Meta.prototype.writeValue = function (obj, key, value) {
6639
- var descriptor = _emberMetalUtils.lookupDescriptor(obj, key);
6640
- var isMandatorySetter = descriptor && descriptor.set && descriptor.set.isMandatorySetter;
6654
+ Meta.prototype.writeValue = function (obj, key, value) {
6655
+ var descriptor = _emberMetalUtils.lookupDescriptor(obj, key);
6656
+ var isMandatorySetter = descriptor && descriptor.set && descriptor.set.isMandatorySetter;
6641
6657
 
6642
- if (isMandatorySetter) {
6643
- this.writeValues(key, value);
6644
- } else {
6645
- obj[key] = value;
6646
- }
6647
- };
6658
+ if (isMandatorySetter) {
6659
+ this.writeValues(key, value);
6660
+ } else {
6661
+ obj[key] = value;
6662
+ }
6663
+ };
6664
+ }
6648
6665
 
6649
6666
  // choose the one appropriate for given platform
6650
6667
  var setMeta = function (obj, meta) {
@@ -8200,18 +8217,20 @@ enifed('ember-metal/properties', ['exports', 'ember-metal/debug', 'ember-metal/f
8200
8217
 
8201
8218
  if (desc instanceof Descriptor) {
8202
8219
  value = desc;
8203
-
8204
- if (watching) {
8205
- Object.defineProperty(obj, keyName, {
8206
- configurable: true,
8207
- enumerable: true,
8208
- writable: true,
8209
- value: value
8210
- });
8220
+ if (true) {
8221
+ if (watching) {
8222
+ Object.defineProperty(obj, keyName, {
8223
+ configurable: true,
8224
+ enumerable: true,
8225
+ writable: true,
8226
+ value: value
8227
+ });
8228
+ } else {
8229
+ obj[keyName] = value;
8230
+ }
8211
8231
  } else {
8212
8232
  obj[keyName] = value;
8213
8233
  }
8214
-
8215
8234
  if (desc.setup) {
8216
8235
  desc.setup(obj, keyName);
8217
8236
  }
@@ -8219,20 +8238,24 @@ enifed('ember-metal/properties', ['exports', 'ember-metal/debug', 'ember-metal/f
8219
8238
  if (desc == null) {
8220
8239
  value = data;
8221
8240
 
8222
- if (watching) {
8223
- meta.writeValues(keyName, data);
8241
+ if (true) {
8242
+ if (watching) {
8243
+ meta.writeValues(keyName, data);
8224
8244
 
8225
- var defaultDescriptor = {
8226
- configurable: true,
8227
- enumerable: true,
8228
- set: MANDATORY_SETTER_FUNCTION(keyName),
8229
- get: DEFAULT_GETTER_FUNCTION(keyName)
8230
- };
8245
+ var defaultDescriptor = {
8246
+ configurable: true,
8247
+ enumerable: true,
8248
+ set: MANDATORY_SETTER_FUNCTION(keyName),
8249
+ get: DEFAULT_GETTER_FUNCTION(keyName)
8250
+ };
8231
8251
 
8232
- if (REDEFINE_SUPPORTED) {
8233
- Object.defineProperty(obj, keyName, defaultDescriptor);
8252
+ if (REDEFINE_SUPPORTED) {
8253
+ Object.defineProperty(obj, keyName, defaultDescriptor);
8254
+ } else {
8255
+ handleBrokenPhantomDefineProperty(obj, keyName, defaultDescriptor);
8256
+ }
8234
8257
  } else {
8235
- handleBrokenPhantomDefineProperty(obj, keyName, defaultDescriptor);
8258
+ obj[keyName] = data;
8236
8259
  }
8237
8260
  } else {
8238
8261
  obj[keyName] = data;
@@ -8740,7 +8763,11 @@ enifed('ember-metal/property_set', ['exports', 'ember-metal/debug', 'ember-metal
8740
8763
  } else {
8741
8764
  _emberMetalProperty_events.propertyWillChange(obj, keyName);
8742
8765
 
8743
- setWithMandatorySetter(meta, obj, keyName, value);
8766
+ if (true) {
8767
+ setWithMandatorySetter(meta, obj, keyName, value);
8768
+ } else {
8769
+ obj[keyName] = value;
8770
+ }
8744
8771
 
8745
8772
  _emberMetalProperty_events.propertyDidChange(obj, keyName);
8746
8773
  }
@@ -8748,23 +8775,25 @@ enifed('ember-metal/property_set', ['exports', 'ember-metal/debug', 'ember-metal
8748
8775
  return value;
8749
8776
  }
8750
8777
 
8751
- var setWithMandatorySetter = function (meta, obj, keyName, value) {
8752
- if (meta && meta.peekWatching(keyName) > 0) {
8753
- makeEnumerable(obj, keyName);
8754
- meta.writeValue(obj, keyName, value);
8755
- } else {
8756
- obj[keyName] = value;
8757
- }
8758
- };
8778
+ if (true) {
8779
+ var setWithMandatorySetter = function (meta, obj, keyName, value) {
8780
+ if (meta && meta.peekWatching(keyName) > 0) {
8781
+ makeEnumerable(obj, keyName);
8782
+ meta.writeValue(obj, keyName, value);
8783
+ } else {
8784
+ obj[keyName] = value;
8785
+ }
8786
+ };
8759
8787
 
8760
- var makeEnumerable = function (obj, key) {
8761
- var desc = Object.getOwnPropertyDescriptor(obj, key);
8788
+ var makeEnumerable = function (obj, key) {
8789
+ var desc = Object.getOwnPropertyDescriptor(obj, key);
8762
8790
 
8763
- if (desc && desc.set && desc.set.isMandatorySetter) {
8764
- desc.enumerable = true;
8765
- Object.defineProperty(obj, key, desc);
8766
- }
8767
- };
8791
+ if (desc && desc.set && desc.set.isMandatorySetter) {
8792
+ desc.enumerable = true;
8793
+ Object.defineProperty(obj, key, desc);
8794
+ }
8795
+ };
8796
+ }
8768
8797
 
8769
8798
  function setPath(root, path, value, tolerant) {
8770
8799
  var keyName;
@@ -8818,11 +8847,10 @@ enifed('ember-metal/property_set', ['exports', 'ember-metal/debug', 'ember-metal
8818
8847
  enifed("ember-metal/replace", ["exports"], function (exports) {
8819
8848
  "use strict";
8820
8849
 
8821
- exports._replace = _replace;
8822
8850
  exports.default = replace;
8823
8851
  var splice = Array.prototype.splice;
8824
8852
 
8825
- function _replace(array, idx, amt, objects) {
8853
+ function replace(array, idx, amt, objects) {
8826
8854
  var args = [].concat(objects);
8827
8855
  var ret = [];
8828
8856
  // https://code.google.com/p/chromium/issues/detail?id=56588
@@ -8847,42 +8875,6 @@ enifed("ember-metal/replace", ["exports"], function (exports) {
8847
8875
  }
8848
8876
  return ret;
8849
8877
  }
8850
-
8851
- /**
8852
- Replaces objects in an array with the passed objects.
8853
-
8854
- ```javascript
8855
- var array = [1,2,3];
8856
- Ember.EnumerableUtils.replace(array, 1, 2, [4, 5]); // [1, 4, 5]
8857
-
8858
- var array = [1,2,3];
8859
- Ember.EnumerableUtils.replace(array, 1, 1, [4, 5]); // [1, 4, 5, 3]
8860
-
8861
- var array = [1,2,3];
8862
- Ember.EnumerableUtils.replace(array, 10, 1, [4, 5]); // [1, 2, 3, 4, 5]
8863
- ```
8864
-
8865
- @method replace
8866
- @deprecated
8867
- @param {Array} array The array the objects should be inserted into.
8868
- @param {Number} idx Starting index in the array to replace. If *idx* >=
8869
- length, then append to the end of the array.
8870
- @param {Number} amt Number of elements that should be removed from the array,
8871
- starting at *idx*
8872
- @param {Array} objects An array of zero or more objects that should be
8873
- inserted into the array at *idx*
8874
-
8875
- @return {Array} The modified array.
8876
- @public
8877
- */
8878
-
8879
- function replace(array, idx, amt, objects) {
8880
- if (array.replace) {
8881
- return array.replace(idx, amt, objects);
8882
- } else {
8883
- return _replace(array, idx, amt, objects);
8884
- }
8885
- }
8886
8878
  });
8887
8879
  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) {
8888
8880
  'use strict';
@@ -9731,7 +9723,6 @@ enifed('ember-metal/utils', ['exports'], function (exports) {
9731
9723
  exports.tryInvoke = tryInvoke;
9732
9724
  exports.makeArray = makeArray;
9733
9725
  exports.inspect = inspect;
9734
- exports.apply = apply;
9735
9726
  exports.applyStr = applyStr;
9736
9727
  exports.lookupDescriptor = lookupDescriptor;
9737
9728
  exports.toString = toString;
@@ -9973,15 +9964,16 @@ enifed('ember-metal/utils', ['exports'], function (exports) {
9973
9964
  }
9974
9965
 
9975
9966
  var HAS_SUPER_PATTERN = /\.(_super|call\(this|apply\(this)/;
9967
+ var fnToString = Function.prototype.toString;
9976
9968
 
9977
9969
  var checkHasSuper = (function () {
9978
- var sourceAvailable = (function () {
9970
+ var sourceAvailable = fnToString.call(function () {
9979
9971
  return this;
9980
- }).toString().indexOf('return this') > -1;
9972
+ }).indexOf('return this') > -1;
9981
9973
 
9982
9974
  if (sourceAvailable) {
9983
9975
  return function checkHasSuper(func) {
9984
- return HAS_SUPER_PATTERN.test(func.toString());
9976
+ return HAS_SUPER_PATTERN.test(fnToString.call(func));
9985
9977
  };
9986
9978
  }
9987
9979
 
@@ -10028,31 +10020,8 @@ enifed('ember-metal/utils', ['exports'], function (exports) {
10028
10020
  function _wrap(func, superFunc) {
10029
10021
  function superWrapper() {
10030
10022
  var orig = this._super;
10031
- var ret = undefined;
10032
10023
  this._super = superFunc;
10033
- switch (arguments.length) {
10034
- case 0:
10035
- ret = func.call(this);break;
10036
- case 1:
10037
- ret = func.call(this, arguments[0]);break;
10038
- case 2:
10039
- ret = func.call(this, arguments[0], arguments[1]);break;
10040
- case 3:
10041
- ret = func.call(this, arguments[0], arguments[1], arguments[2]);break;
10042
- case 4:
10043
- ret = func.call(this, arguments[0], arguments[1], arguments[2], arguments[3]);break;
10044
- case 5:
10045
- ret = func.call(this, arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]);break;
10046
- default:
10047
- // v8 bug potentially incorrectly deopts this function: https://code.google.com/p/v8/issues/detail?id=3709
10048
- // we may want to keep this around till this ages out on mobile
10049
- var args = new Array(arguments.length);
10050
- for (var x = 0; x < arguments.length; x++) {
10051
- args[x] = arguments[x];
10052
- }
10053
- ret = func.apply(this, args);
10054
- break;
10055
- }
10024
+ var ret = func.apply(this, arguments);
10056
10025
  this._super = orig;
10057
10026
  return ret;
10058
10027
  }
@@ -10209,36 +10178,6 @@ enifed('ember-metal/utils', ['exports'], function (exports) {
10209
10178
  return '{' + ret.join(', ') + '}';
10210
10179
  }
10211
10180
 
10212
- // The following functions are intentionally minified to keep the functions
10213
- // below Chrome's function body size inlining limit of 600 chars.
10214
- /**
10215
- @param {Object} t target
10216
- @param {Function} m method
10217
- @param {Array} a args
10218
- @private
10219
- */
10220
-
10221
- function apply(t, m, a) {
10222
- var l = a && a.length;
10223
- if (!a || !l) {
10224
- return m.call(t);
10225
- }
10226
- switch (l) {
10227
- case 1:
10228
- return m.call(t, a[0]);
10229
- case 2:
10230
- return m.call(t, a[0], a[1]);
10231
- case 3:
10232
- return m.call(t, a[0], a[1], a[2]);
10233
- case 4:
10234
- return m.call(t, a[0], a[1], a[2], a[3]);
10235
- case 5:
10236
- return m.call(t, a[0], a[1], a[2], a[3], a[4]);
10237
- default:
10238
- return m.apply(t, a);
10239
- }
10240
- }
10241
-
10242
10181
  /**
10243
10182
  @param {Object} t target
10244
10183
  @param {String} m method
@@ -10322,55 +10261,61 @@ enifed('ember-metal/watch_key', ['exports', 'ember-metal/features', 'ember-metal
10322
10261
  obj.willWatchProperty(keyName);
10323
10262
  }
10324
10263
 
10325
- // NOTE: this is dropped for prod + minified builds
10326
- handleMandatorySetter(m, obj, keyName);
10264
+ if (true) {
10265
+ // NOTE: this is dropped for prod + minified builds
10266
+ handleMandatorySetter(m, obj, keyName);
10267
+ }
10327
10268
  } else {
10328
10269
  m.writeWatching(keyName, (m.peekWatching(keyName) || 0) + 1);
10329
10270
  }
10330
10271
  }
10331
10272
 
10332
- var hasOwnProperty = function (obj, key) {
10333
- return Object.prototype.hasOwnProperty.call(obj, key);
10334
- };
10335
-
10336
- var propertyIsEnumerable = function (obj, key) {
10337
- return Object.prototype.propertyIsEnumerable.call(obj, key);
10338
- };
10273
+ if (true) {
10274
+ (function () {
10275
+ var hasOwnProperty = function (obj, key) {
10276
+ return Object.prototype.hasOwnProperty.call(obj, key);
10277
+ };
10339
10278
 
10340
- // Future traveler, although this code looks scary. It merely exists in
10341
- // development to aid in development asertions. Production builds of
10342
- // ember strip this entire block out
10343
- handleMandatorySetter = function handleMandatorySetter(m, obj, keyName) {
10344
- var descriptor = _emberMetalUtils.lookupDescriptor(obj, keyName);
10345
- var configurable = descriptor ? descriptor.configurable : true;
10346
- var isWritable = descriptor ? descriptor.writable : true;
10347
- var hasValue = descriptor ? 'value' in descriptor : true;
10348
- var possibleDesc = descriptor && descriptor.value;
10349
- var isDescriptor = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor;
10279
+ var propertyIsEnumerable = function (obj, key) {
10280
+ return Object.prototype.propertyIsEnumerable.call(obj, key);
10281
+ };
10350
10282
 
10351
- if (isDescriptor) {
10352
- return;
10353
- }
10283
+ // Future traveler, although this code looks scary. It merely exists in
10284
+ // development to aid in development asertions. Production builds of
10285
+ // ember strip this entire block out
10286
+ handleMandatorySetter = function handleMandatorySetter(m, obj, keyName) {
10287
+ var descriptor = _emberMetalUtils.lookupDescriptor(obj, keyName);
10288
+ var configurable = descriptor ? descriptor.configurable : true;
10289
+ var isWritable = descriptor ? descriptor.writable : true;
10290
+ var hasValue = descriptor ? 'value' in descriptor : true;
10291
+ var possibleDesc = descriptor && descriptor.value;
10292
+ var isDescriptor = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor;
10293
+
10294
+ if (isDescriptor) {
10295
+ return;
10296
+ }
10354
10297
 
10355
- // this x in Y deopts, so keeping it in this function is better;
10356
- if (configurable && isWritable && hasValue && keyName in obj) {
10357
- var desc = {
10358
- configurable: true,
10359
- set: _emberMetalProperties.MANDATORY_SETTER_FUNCTION(keyName),
10360
- enumerable: propertyIsEnumerable(obj, keyName),
10361
- get: undefined
10362
- };
10298
+ // this x in Y deopts, so keeping it in this function is better;
10299
+ if (configurable && isWritable && hasValue && keyName in obj) {
10300
+ var desc = {
10301
+ configurable: true,
10302
+ set: _emberMetalProperties.MANDATORY_SETTER_FUNCTION(keyName),
10303
+ enumerable: propertyIsEnumerable(obj, keyName),
10304
+ get: undefined
10305
+ };
10363
10306
 
10364
- if (hasOwnProperty(obj, keyName)) {
10365
- m.writeValues(keyName, obj[keyName]);
10366
- desc.get = _emberMetalProperties.DEFAULT_GETTER_FUNCTION(keyName);
10367
- } else {
10368
- desc.get = _emberMetalProperties.INHERITING_GETTER_FUNCTION(keyName);
10369
- }
10307
+ if (hasOwnProperty(obj, keyName)) {
10308
+ m.writeValues(keyName, obj[keyName]);
10309
+ desc.get = _emberMetalProperties.DEFAULT_GETTER_FUNCTION(keyName);
10310
+ } else {
10311
+ desc.get = _emberMetalProperties.INHERITING_GETTER_FUNCTION(keyName);
10312
+ }
10370
10313
 
10371
- Object.defineProperty(obj, keyName, desc);
10372
- }
10373
- };
10314
+ Object.defineProperty(obj, keyName, desc);
10315
+ }
10316
+ };
10317
+ })();
10318
+ }
10374
10319
 
10375
10320
  function unwatchKey(obj, keyName, meta) {
10376
10321
  var m = meta || _emberMetalMeta.meta(obj);
@@ -10389,33 +10334,35 @@ enifed('ember-metal/watch_key', ['exports', 'ember-metal/features', 'ember-metal
10389
10334
  obj.didUnwatchProperty(keyName);
10390
10335
  }
10391
10336
 
10392
- // It is true, the following code looks quite WAT. But have no fear, It
10393
- // exists purely to improve development ergonomics and is removed from
10394
- // ember.min.js and ember.prod.js builds.
10395
- //
10396
- // Some further context: Once a property is watched by ember, bypassing `set`
10397
- // for mutation, will bypass observation. This code exists to assert when
10398
- // that occurs, and attempt to provide more helpful feedback. The alternative
10399
- // is tricky to debug partially observable properties.
10400
- if (!desc && keyName in obj) {
10401
- var maybeMandatoryDescriptor = _emberMetalUtils.lookupDescriptor(obj, keyName);
10402
-
10403
- if (maybeMandatoryDescriptor.set && maybeMandatoryDescriptor.set.isMandatorySetter) {
10404
- if (maybeMandatoryDescriptor.get && maybeMandatoryDescriptor.get.isInheritingGetter) {
10405
- var possibleValue = m.readInheritedValue('values', keyName);
10406
- if (possibleValue === _emberMetalMeta.UNDEFINED) {
10407
- delete obj[keyName];
10408
- return;
10337
+ if (true) {
10338
+ // It is true, the following code looks quite WAT. But have no fear, It
10339
+ // exists purely to improve development ergonomics and is removed from
10340
+ // ember.min.js and ember.prod.js builds.
10341
+ //
10342
+ // Some further context: Once a property is watched by ember, bypassing `set`
10343
+ // for mutation, will bypass observation. This code exists to assert when
10344
+ // that occurs, and attempt to provide more helpful feedback. The alternative
10345
+ // is tricky to debug partially observable properties.
10346
+ if (!desc && keyName in obj) {
10347
+ var maybeMandatoryDescriptor = _emberMetalUtils.lookupDescriptor(obj, keyName);
10348
+
10349
+ if (maybeMandatoryDescriptor.set && maybeMandatoryDescriptor.set.isMandatorySetter) {
10350
+ if (maybeMandatoryDescriptor.get && maybeMandatoryDescriptor.get.isInheritingGetter) {
10351
+ var possibleValue = m.readInheritedValue('values', keyName);
10352
+ if (possibleValue === _emberMetalMeta.UNDEFINED) {
10353
+ delete obj[keyName];
10354
+ return;
10355
+ }
10409
10356
  }
10410
- }
10411
10357
 
10412
- Object.defineProperty(obj, keyName, {
10413
- configurable: true,
10414
- enumerable: Object.prototype.propertyIsEnumerable.call(obj, keyName),
10415
- writable: true,
10416
- value: m.peekValues(keyName)
10417
- });
10418
- m.deleteFromValues(keyName);
10358
+ Object.defineProperty(obj, keyName, {
10359
+ configurable: true,
10360
+ enumerable: Object.prototype.propertyIsEnumerable.call(obj, keyName),
10361
+ writable: true,
10362
+ value: m.peekValues(keyName)
10363
+ });
10364
+ m.deleteFromValues(keyName);
10365
+ }
10419
10366
  }
10420
10367
  }
10421
10368
  } else if (count > 1) {
@@ -10670,8 +10617,11 @@ enifed('ember-template-compiler/compat/precompile', ['exports', 'require', 'embe
10670
10617
  var compile, compileSpec, compileOptions;
10671
10618
 
10672
10619
  // Note we don't really want to expose this from main file
10673
-
10674
- compileOptions = _require.default('ember-htmlbars-template-compiler/system/compile-options').default;
10620
+ if (false) {
10621
+ compileOptions = _require.default('ember-glimmer-template-compiler/system/compile-options').default;
10622
+ } else {
10623
+ compileOptions = _require.default('ember-htmlbars-template-compiler/system/compile-options').default;
10624
+ }
10675
10625
 
10676
10626
  exports.default = function (string) {
10677
10627
  if ((!compile || !compileSpec) && _require.has('htmlbars-compiler/compiler')) {
@@ -10717,8 +10667,11 @@ enifed('ember-template-compiler/compiler', ['exports', 'ember-metal/features', '
10717
10667
 
10718
10668
  function pickCompiler() {
10719
10669
  var compiler = undefined;
10720
-
10721
- compiler = _require.default('ember-htmlbars-template-compiler');
10670
+ if (false) {
10671
+ compiler = _require.default('ember-glimmer-template-compiler');
10672
+ } else {
10673
+ compiler = _require.default('ember-htmlbars-template-compiler');
10674
+ }
10722
10675
 
10723
10676
  return compiler;
10724
10677
  }
@@ -11546,7 +11499,7 @@ enifed("htmlbars-compiler/fragment-opcode-compiler", ["exports", "htmlbars-compi
11546
11499
  this.opcode('setNamespace', [namespace]);
11547
11500
  };
11548
11501
  });
11549
- enifed("htmlbars-compiler/hydration-javascript-compiler", ["exports", "htmlbars-compiler/utils", "htmlbars-util/quoting"], function (exports, _htmlbarsCompilerUtils, _htmlbarsUtilQuoting) {
11502
+ enifed("htmlbars-compiler/hydration-javascript-compiler", ["exports", "htmlbars-compiler/utils", "htmlbars-util/quoting", "htmlbars-util/template-utils"], function (exports, _htmlbarsCompilerUtils, _htmlbarsUtilQuoting, _htmlbarsUtilTemplateUtils) {
11550
11503
  "use strict";
11551
11504
 
11552
11505
  function HydrationJavaScriptCompiler() {
@@ -11683,15 +11636,17 @@ enifed("htmlbars-compiler/hydration-javascript-compiler", ["exports", "htmlbars-
11683
11636
  };
11684
11637
 
11685
11638
  prototype.pushGetHook = function (path, meta) {
11686
- this.expressionStack.push(['get', path, meta]);
11639
+ this.expressionStack.push(_htmlbarsUtilTemplateUtils.buildStatement('get', path, meta));
11687
11640
  };
11688
11641
 
11689
11642
  prototype.pushSexprHook = function (meta) {
11690
- this.expressionStack.push(['subexpr', this.expressionStack.pop(), this.expressionStack.pop(), this.expressionStack.pop(), meta]);
11643
+ var statement = _htmlbarsUtilTemplateUtils.buildStatement('subexpr', this.expressionStack.pop(), this.expressionStack.pop(), this.expressionStack.pop(), meta);
11644
+
11645
+ this.expressionStack.push(statement);
11691
11646
  };
11692
11647
 
11693
11648
  prototype.pushConcatHook = function () {
11694
- this.expressionStack.push(['concat', this.expressionStack.pop()]);
11649
+ this.expressionStack.push(_htmlbarsUtilTemplateUtils.buildStatement('concat', this.expressionStack.pop()));
11695
11650
  };
11696
11651
 
11697
11652
  prototype.printSetHook = function (name) {
@@ -11699,10 +11654,10 @@ enifed("htmlbars-compiler/hydration-javascript-compiler", ["exports", "htmlbars-
11699
11654
  };
11700
11655
 
11701
11656
  prototype.printBlockHook = function (templateId, inverseId, meta) {
11702
- this.statements.push(['block', this.expressionStack.pop(), // path
11657
+ this.pushStatement('block', this.expressionStack.pop(), // path
11703
11658
  this.expressionStack.pop(), // params
11704
11659
  this.expressionStack.pop(), // hash
11705
- templateId, inverseId, meta]);
11660
+ templateId, inverseId, meta);
11706
11661
  };
11707
11662
 
11708
11663
  prototype.printInlineHook = function (meta) {
@@ -11710,30 +11665,30 @@ enifed("htmlbars-compiler/hydration-javascript-compiler", ["exports", "htmlbars-
11710
11665
  var params = this.expressionStack.pop();
11711
11666
  var hash = this.expressionStack.pop();
11712
11667
 
11713
- this.statements.push(['inline', path, params, hash, meta]);
11668
+ this.pushStatement('inline', path, params, hash, meta);
11714
11669
  };
11715
11670
 
11716
11671
  prototype.printContentHook = function (meta) {
11717
- this.statements.push(['content', this.expressionStack.pop(), meta]);
11672
+ this.pushStatement('content', this.expressionStack.pop(), meta);
11718
11673
  };
11719
11674
 
11720
11675
  prototype.printComponentHook = function (templateId) {
11721
- this.statements.push(['component', this.expressionStack.pop(), // path
11676
+ this.pushStatement('component', this.expressionStack.pop(), // path
11722
11677
  this.expressionStack.pop(), // attrs
11723
- templateId]);
11678
+ templateId);
11724
11679
  };
11725
11680
 
11726
11681
  prototype.printAttributeHook = function () {
11727
- this.statements.push(['attribute', this.expressionStack.pop(), // name
11682
+ this.pushStatement('attribute', this.expressionStack.pop(), // name
11728
11683
  this.expressionStack.pop() // value;
11729
- ]);
11684
+ );
11730
11685
  };
11731
11686
 
11732
11687
  prototype.printElementHook = function (meta) {
11733
- this.statements.push(['element', this.expressionStack.pop(), // path
11688
+ this.pushStatement('element', this.expressionStack.pop(), // path
11734
11689
  this.expressionStack.pop(), // params
11735
11690
  this.expressionStack.pop(), // hash
11736
- meta]);
11691
+ meta);
11737
11692
  };
11738
11693
 
11739
11694
  prototype.createMorph = function (morphNum, parentPath, startIndex, endIndex, escaped) {
@@ -11795,6 +11750,10 @@ enifed("htmlbars-compiler/hydration-javascript-compiler", ["exports", "htmlbars-
11795
11750
  prototype.lastParent = function () {
11796
11751
  return this.parents[this.parents.length - 1];
11797
11752
  };
11753
+
11754
+ prototype.pushStatement = function () {
11755
+ this.statements.push(_htmlbarsUtilTemplateUtils.buildStatement.apply(undefined, arguments));
11756
+ };
11798
11757
  });
11799
11758
  enifed("htmlbars-compiler/hydration-opcode-compiler", ["exports", "htmlbars-compiler/template-visitor", "htmlbars-compiler/utils", "htmlbars-util", "htmlbars-util/array-utils", "htmlbars-syntax/utils"], function (exports, _htmlbarsCompilerTemplateVisitor, _htmlbarsCompilerUtils, _htmlbarsUtil, _htmlbarsUtilArrayUtils, _htmlbarsSyntaxUtils) {
11800
11759
  "use strict";
@@ -12599,10 +12558,12 @@ enifed('htmlbars-runtime/expression-visitor', ['exports'], function (exports) {
12599
12558
 
12600
12559
  // Primitive literals are unambiguously non-array representations of
12601
12560
  // themselves.
12602
- if (typeof node !== 'object' || node === null) {
12603
- ret.value = node;
12604
- } else {
12561
+ if (Array.isArray(node)) {
12562
+ // if (node.length !== 7) { throw new Error('FIXME: Invalid statement length!'); }
12563
+
12605
12564
  ret.value = evaluateNode(node, env, scope);
12565
+ } else {
12566
+ ret.value = node;
12606
12567
  }
12607
12568
 
12608
12569
  return ret;
@@ -14152,13 +14113,14 @@ enifed("htmlbars-runtime/render", ["exports", "htmlbars-util/morph-utils", "html
14152
14113
  if (typeof attributes[key] === 'string') {
14153
14114
  continue;
14154
14115
  }
14155
- statements.push(["attribute", key, attributes[key]]);
14116
+
14117
+ statements.push(_htmlbarsUtilTemplateUtils.buildStatement("attribute", key, attributes[key]));
14156
14118
  }
14157
14119
 
14158
14120
  var isEmpty = _isEmpty || _htmlbarsUtilVoidTagNames.default[tagName];
14159
14121
 
14160
14122
  if (!isEmpty) {
14161
- statements.push(['content', 'yield']);
14123
+ statements.push(_htmlbarsUtilTemplateUtils.buildStatement('content', 'yield'));
14162
14124
  }
14163
14125
 
14164
14126
  var template = {
@@ -14220,7 +14182,7 @@ enifed("htmlbars-runtime/render", ["exports", "htmlbars-util/morph-utils", "html
14220
14182
  if (typeof attributes[key] === 'string') {
14221
14183
  continue;
14222
14184
  }
14223
- statements.push(["attribute", key, attributes[key]]);
14185
+ statements.push(_htmlbarsUtilTemplateUtils.buildStatement("attribute", key, attributes[key]));
14224
14186
  }
14225
14187
 
14226
14188
  var template = {
@@ -17854,11 +17816,13 @@ enifed('htmlbars-util/safe-string', ['exports', 'htmlbars-util/handlebars/safe-s
17854
17816
  enifed("htmlbars-util/template-utils", ["exports", "htmlbars-util/morph-utils", "htmlbars-runtime/render"], function (exports, _htmlbarsUtilMorphUtils, _htmlbarsRuntimeRender) {
17855
17817
  "use strict";
17856
17818
 
17819
+ var _slice = Array.prototype.slice;
17857
17820
  exports.RenderState = RenderState;
17858
17821
  exports.blockFor = blockFor;
17859
17822
  exports.renderAndCleanup = renderAndCleanup;
17860
17823
  exports.clearMorph = clearMorph;
17861
17824
  exports.clearMorphList = clearMorphList;
17825
+ exports.buildStatement = buildStatement;
17862
17826
 
17863
17827
  function RenderState(renderNode, morphList) {
17864
17828
  // The morph list that is no longer needed and can be
@@ -18052,6 +18016,17 @@ enifed("htmlbars-util/template-utils", ["exports", "htmlbars-util/morph-utils",
18052
18016
  morphList.clear();
18053
18017
  morph.morphList = null;
18054
18018
  }
18019
+
18020
+ function buildStatement() {
18021
+ var statement = [].concat(_slice.call(arguments));
18022
+
18023
+ // ensure array length is 7 by padding with 0
18024
+ for (var i = arguments.length; i < 7; i++) {
18025
+ statement[i] = 0;
18026
+ }
18027
+
18028
+ return statement;
18029
+ }
18055
18030
  });
18056
18031
  enifed("htmlbars-util/void-tag-names", ["exports", "htmlbars-util/array-utils"], function (exports, _htmlbarsUtilArrayUtils) {
18057
18032
  "use strict";