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.
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";