ember-source 2.3.0.beta.1 → 2.3.0.beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 987389815feafd5a73278765ff968fd8250abc47
4
- data.tar.gz: 9c4b5d1a0ec33c1b22607385985ea620861984e0
3
+ metadata.gz: a4eaf095356390c8bd141ec6e9331c9c25f5d8bd
4
+ data.tar.gz: ba3d74ada79a7c033a5f2c9f6724038c8ecf87e4
5
5
  SHA512:
6
- metadata.gz: 30e7b90369fbc10bcf604ca63bc53fa592d35b4aeddef818ee949bd96ad5cc2fa12b298876f98dce876082042219f4c66706ed9ed91d7934220c20d01c8914b0
7
- data.tar.gz: 3bb440e2c99aeeccdda293655439e8d8b33596801e677edb25b6a7318c5f413eb41272c6364143b6b7910b5fc70a28448f03a6e2e82a67a07775ccbad6dff5f2
6
+ metadata.gz: 2619c2d86fb36c57e19ffee245f9de5e1ff49064c22517584920deb9a75f796cb2f8525780767f46845424332af4328181c20e6cfceb9c890d53dba5bc8f5174
7
+ data.tar.gz: 210d0bc0e5a2cc759d905bcfd8cd22c306584a97b5de332b21300b7483600f681c6494e153556e931ac7e7b65f6a1572fdc33ca337d54f034a8a8a48f0a8ded8
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.3.0-beta.1
1
+ 2.3.0-beta.3
@@ -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.3.0-beta.1
9
+ * @version 2.3.0-beta.3
10
10
  */
11
11
 
12
12
  var enifed, requireModule, require, requirejs, Ember;
@@ -1189,9 +1189,11 @@ enifed('backburner', ['exports', 'backburner/utils', 'backburner/platform', 'bac
1189
1189
  clearTimeout(item[2]);
1190
1190
  }
1191
1191
  });
1192
- enifed('container/container', ['exports', 'ember-metal/core', 'ember-metal/debug', 'ember-metal/dictionary', 'ember-metal/features', 'container/owner', 'ember-runtime/mixins/container_proxy'], function (exports, _emberMetalCore, _emberMetalDebug, _emberMetalDictionary, _emberMetalFeatures, _containerOwner, _emberRuntimeMixinsContainer_proxy) {
1192
+ enifed('container/container', ['exports', 'ember-metal/core', 'ember-metal/debug', 'ember-metal/dictionary', 'ember-metal/features', 'container/owner', 'ember-runtime/mixins/container_proxy', 'ember-metal/symbol'], function (exports, _emberMetalCore, _emberMetalDebug, _emberMetalDictionary, _emberMetalFeatures, _containerOwner, _emberRuntimeMixinsContainer_proxy, _emberMetalSymbol) {
1193
1193
  'use strict';
1194
1194
 
1195
+ var CONTAINER_OVERRIDE = _emberMetalSymbol.default('CONTAINER_OVERRIDE');
1196
+
1195
1197
  /**
1196
1198
  A container used to instantiate and cache objects.
1197
1199
 
@@ -1214,6 +1216,7 @@ enifed('container/container', ['exports', 'ember-metal/core', 'ember-metal/debug
1214
1216
 
1215
1217
  if (_emberMetalFeatures.default('ember-container-inject-owner')) {
1216
1218
  this._fakeContainerToInject = _emberRuntimeMixinsContainer_proxy.buildFakeContainerWithDeprecations(this);
1219
+ this[CONTAINER_OVERRIDE] = undefined;
1217
1220
  }
1218
1221
  }
1219
1222
 
@@ -1330,6 +1333,19 @@ enifed('container/container', ['exports', 'ember-metal/core', 'ember-metal/debug
1330
1333
  } else {
1331
1334
  resetCache(this);
1332
1335
  }
1336
+ },
1337
+
1338
+ /**
1339
+ Returns an object that can be used to provide an owner to a
1340
+ manually created instance.
1341
+ @private
1342
+ @method ownerInjection
1343
+ @returns { Object }
1344
+ */
1345
+ ownerInjection: function () {
1346
+ var _ref;
1347
+
1348
+ return _ref = {}, _ref[_containerOwner.OWNER] = this.owner, _ref;
1333
1349
  }
1334
1350
  };
1335
1351
 
@@ -1518,7 +1534,9 @@ enifed('container/container', ['exports', 'ember-metal/core', 'ember-metal/debug
1518
1534
 
1519
1535
  // TODO - remove when Ember reaches v3.0.0
1520
1536
  if (_emberMetalFeatures.default('ember-container-inject-owner')) {
1521
- injectDeprecatedContainer(obj, container);
1537
+ if (!Object.isFrozen(obj) && 'container' in obj) {
1538
+ injectDeprecatedContainer(obj, container);
1539
+ }
1522
1540
  }
1523
1541
  }
1524
1542
 
@@ -1533,7 +1551,15 @@ enifed('container/container', ['exports', 'ember-metal/core', 'ember-metal/debug
1533
1551
  enumerable: false,
1534
1552
  get: function () {
1535
1553
  _emberMetalDebug.deprecate('Using the injected `container` is deprecated. Please use the `getOwner` helper instead to access the owner of this object.', false, { id: 'ember-application.injected-container', until: '3.0.0', url: 'http://emberjs.com/deprecations/v2.x#toc_injected-container-access' });
1536
- return container;
1554
+ return this[CONTAINER_OVERRIDE] || container;
1555
+ },
1556
+
1557
+ set: function (value) {
1558
+ _emberMetalDebug.deprecate('Providing the `container` property to ' + this + ' is deprecated. Please use `Ember.setOwner` or `owner.ownerInjection()` instead to provide an owner to the instance being created.', false, { id: 'ember-application.injected-container', until: '3.0.0', url: 'http://emberjs.com/deprecations/v2.x#toc_injected-container-access' });
1559
+
1560
+ this[CONTAINER_OVERRIDE] = value;
1561
+
1562
+ return value;
1537
1563
  }
1538
1564
  });
1539
1565
  }
@@ -1672,7 +1698,13 @@ enifed('container/registry', ['exports', 'ember-metal/debug', 'ember-metal/dicti
1672
1698
  function Registry(options) {
1673
1699
  this.fallback = options && options.fallback ? options.fallback : null;
1674
1700
 
1675
- this.resolver = options && options.resolver ? options.resolver : function () {};
1701
+ if (options && options.resolver) {
1702
+ this.resolver = options.resolver;
1703
+
1704
+ if (typeof this.resolver === 'function') {
1705
+ deprecateResolverFunction(this);
1706
+ }
1707
+ }
1676
1708
 
1677
1709
  this.registrations = _emberMetalDictionary.default(options && options.registrations ? options.registrations : null);
1678
1710
 
@@ -1699,9 +1731,10 @@ enifed('container/registry', ['exports', 'ember-metal/debug', 'ember-metal/dicti
1699
1731
  fallback: null,
1700
1732
 
1701
1733
  /**
1702
- @private
1734
+ An object that has a `resolve` method that resolves a name.
1735
+ @private
1703
1736
  @property resolver
1704
- @type function
1737
+ @type Resolver
1705
1738
  */
1706
1739
  resolver: null,
1707
1740
 
@@ -1883,7 +1916,13 @@ enifed('container/registry', ['exports', 'ember-metal/debug', 'ember-metal/dicti
1883
1916
  @return {string} described fullName
1884
1917
  */
1885
1918
  describe: function (fullName) {
1886
- return fullName;
1919
+ if (this.resolver && this.resolver.lookupDescription) {
1920
+ return this.resolver.lookupDescription(fullName);
1921
+ } else if (this.fallback) {
1922
+ return this.fallback.describe(fullName);
1923
+ } else {
1924
+ return fullName;
1925
+ }
1887
1926
  },
1888
1927
 
1889
1928
  /**
@@ -1894,7 +1933,13 @@ enifed('container/registry', ['exports', 'ember-metal/debug', 'ember-metal/dicti
1894
1933
  @return {string} normalized fullName
1895
1934
  */
1896
1935
  normalizeFullName: function (fullName) {
1897
- return fullName;
1936
+ if (this.resolver && this.resolver.normalize) {
1937
+ return this.resolver.normalize(fullName);
1938
+ } else if (this.fallback) {
1939
+ return this.fallback.normalizeFullName(fullName);
1940
+ } else {
1941
+ return fullName;
1942
+ }
1898
1943
  },
1899
1944
 
1900
1945
  /**
@@ -1916,7 +1961,13 @@ enifed('container/registry', ['exports', 'ember-metal/debug', 'ember-metal/dicti
1916
1961
  @return {function} toString function
1917
1962
  */
1918
1963
  makeToString: function (factory, fullName) {
1919
- return factory.toString();
1964
+ if (this.resolver && this.resolver.makeToString) {
1965
+ return this.resolver.makeToString(factory, fullName);
1966
+ } else if (this.fallback) {
1967
+ return this.fallback.makeToString(factory, fullName);
1968
+ } else {
1969
+ return factory.toString();
1970
+ }
1920
1971
  },
1921
1972
 
1922
1973
  /**
@@ -2207,7 +2258,7 @@ enifed('container/registry', ['exports', 'ember-metal/debug', 'ember-metal/dicti
2207
2258
  fallbackKnown = this.fallback.knownForType(type);
2208
2259
  }
2209
2260
 
2210
- if (this.resolver.knownForType) {
2261
+ if (this.resolver && this.resolver.knownForType) {
2211
2262
  resolverKnown = this.resolver.knownForType(type);
2212
2263
  }
2213
2264
 
@@ -2287,6 +2338,13 @@ enifed('container/registry', ['exports', 'ember-metal/debug', 'ember-metal/dicti
2287
2338
  }
2288
2339
  };
2289
2340
 
2341
+ function deprecateResolverFunction(registry) {
2342
+ _emberMetalDebug.deprecate('Passing a `resolver` function into a Registry is deprecated. Please pass in a Resolver object with a `resolve` method.', false, { id: 'ember-application.registry-resolver-as-function', until: '3.0.0', url: 'http://emberjs.com/deprecations/v2.x#toc_registry-resolver-as-function' });
2343
+ registry.resolver = {
2344
+ resolve: registry.resolver
2345
+ };
2346
+ }
2347
+
2290
2348
  function resolve(registry, normalizedName) {
2291
2349
  var cached = registry._resolveCache[normalizedName];
2292
2350
  if (cached) {
@@ -2296,7 +2354,13 @@ enifed('container/registry', ['exports', 'ember-metal/debug', 'ember-metal/dicti
2296
2354
  return;
2297
2355
  }
2298
2356
 
2299
- var resolved = registry.resolver(normalizedName) || registry.registrations[normalizedName];
2357
+ var resolved = undefined;
2358
+
2359
+ if (registry.resolver) {
2360
+ resolved = registry.resolver.resolve(normalizedName);
2361
+ }
2362
+
2363
+ resolved = resolved || registry.registrations[normalizedName];
2300
2364
 
2301
2365
  if (resolved) {
2302
2366
  registry._resolveCache[normalizedName] = resolved;
@@ -4730,7 +4794,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
4730
4794
 
4731
4795
  @class Ember
4732
4796
  @static
4733
- @version 2.3.0-beta.1
4797
+ @version 2.3.0-beta.3
4734
4798
  @public
4735
4799
  */
4736
4800
 
@@ -4774,11 +4838,11 @@ enifed('ember-metal/core', ['exports'], function (exports) {
4774
4838
 
4775
4839
  @property VERSION
4776
4840
  @type String
4777
- @default '2.3.0-beta.1'
4841
+ @default '2.3.0-beta.3'
4778
4842
  @static
4779
4843
  @public
4780
4844
  */
4781
- Ember.VERSION = '2.3.0-beta.1';
4845
+ Ember.VERSION = '2.3.0-beta.3';
4782
4846
 
4783
4847
  /**
4784
4848
  The hash of environment variables used to control various configuration
@@ -4803,13 +4867,13 @@ enifed('ember-metal/core', ['exports'], function (exports) {
4803
4867
  Ember.ENV = {};
4804
4868
  }
4805
4869
 
4806
- Ember.config = Ember.config || {};
4807
-
4808
- // We disable the RANGE API by default for performance reasons
4809
- if ('undefined' === typeof Ember.ENV.DISABLE_RANGE_API) {
4810
- Ember.ENV.DISABLE_RANGE_API = true;
4870
+ // ENABLE_ALL_FEATURES was documented, but you can't actually enable non optional features.
4871
+ if (Ember.ENV.ENABLE_ALL_FEATURES) {
4872
+ Ember.ENV.ENABLE_OPTIONAL_FEATURES = Ember.ENV.ENABLE_ALL_FEATURES;
4811
4873
  }
4812
4874
 
4875
+ Ember.config = Ember.config || {};
4876
+
4813
4877
  // ..........................................................
4814
4878
  // BOOTSTRAP
4815
4879
  //
@@ -4850,17 +4914,6 @@ enifed('ember-metal/core', ['exports'], function (exports) {
4850
4914
  */
4851
4915
  Ember.LOG_STACKTRACE_ON_DEPRECATION = Ember.ENV.LOG_STACKTRACE_ON_DEPRECATION !== false;
4852
4916
 
4853
- /**
4854
- The `SHIM_ES5` property, when true, tells Ember to add ECMAScript 5 Array
4855
- shims to older browsers.
4856
-
4857
- @property SHIM_ES5
4858
- @type Boolean
4859
- @default Ember.EXTEND_PROTOTYPES
4860
- @public
4861
- */
4862
- Ember.SHIM_ES5 = Ember.ENV.SHIM_ES5 === false ? false : Ember.EXTEND_PROTOTYPES;
4863
-
4864
4917
  /**
4865
4918
  The `LOG_VERSION` property, when true, tells Ember to log versions of all
4866
4919
  dependent libraries in use.
@@ -5618,7 +5671,6 @@ enifed('ember-metal/features', ['exports', 'ember-metal/core', 'ember-metal/assi
5618
5671
 
5619
5672
  You can define the following configuration options:
5620
5673
 
5621
- * `EmberENV.ENABLE_ALL_FEATURES` - force all features to be enabled.
5622
5674
  * `EmberENV.ENABLE_OPTIONAL_FEATURES` - enable any features that have not been explicitly
5623
5675
  enabled/disabled.
5624
5676
 
@@ -5633,9 +5685,7 @@ enifed('ember-metal/features', ['exports', 'ember-metal/core', 'ember-metal/assi
5633
5685
  function isEnabled(feature) {
5634
5686
  var featureValue = FEATURES[feature];
5635
5687
 
5636
- if (_emberMetalCore.default.ENV.ENABLE_ALL_FEATURES) {
5637
- return true;
5638
- } else if (featureValue === true || featureValue === false || featureValue === undefined) {
5688
+ if (featureValue === true || featureValue === false || featureValue === undefined) {
5639
5689
  return featureValue;
5640
5690
  } else if (_emberMetalCore.default.ENV.ENABLE_OPTIONAL_FEATURES) {
5641
5691
  return true;
@@ -8033,6 +8083,10 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/error',
8033
8083
  return applyMixin(obj, [this], true);
8034
8084
  };
8035
8085
 
8086
+ MixinPrototype.toString = function Mixin_toString() {
8087
+ return '(unknown mixin)';
8088
+ };
8089
+
8036
8090
  function _detect(curMixin, targetMixin, seen) {
8037
8091
  var guid = _emberMetalUtils.guidFor(curMixin);
8038
8092
 
@@ -11966,7 +12020,6 @@ enifed('ember-metal', ['exports', 'ember-metal/core', 'ember-metal/debug', 'embe
11966
12020
  _emberMetalComputed.computed.and = _emberMetalComputed_macros.and;
11967
12021
  _emberMetalComputed.computed.or = _emberMetalComputed_macros.or;
11968
12022
  _emberMetalComputed.computed.any = _emberMetalComputed_macros.any;
11969
- _emberMetalComputed.computed.collect = _emberMetalComputed_macros.collect;
11970
12023
 
11971
12024
  // END IMPORTS
11972
12025
 
@@ -14471,6 +14524,23 @@ enifed('ember-runtime/mixins/container_proxy', ['exports', 'ember-metal/run_loop
14471
14524
  */
14472
14525
  __container__: null,
14473
14526
 
14527
+ /**
14528
+ Returns an object that can be used to provide an owner to a
14529
+ manually created instance.
14530
+ Example:
14531
+ ```
14532
+ let owner = Ember.getOwner(this);
14533
+ User.create(
14534
+ owner.ownerInjection(),
14535
+ { username: 'rwjblue' }
14536
+ )
14537
+ ```
14538
+ @public
14539
+ @method ownerInjection
14540
+ @return {Object}
14541
+ */
14542
+ ownerInjection: containerAlias('ownerInjection'),
14543
+
14474
14544
  /**
14475
14545
  Given a fullName return a corresponding instance.
14476
14546
  The default behaviour is for lookup to return a singleton instance.
@@ -18397,14 +18467,13 @@ enifed('ember-runtime/system/core_object', ['exports', 'ember-metal/debug', 'emb
18397
18467
  @private
18398
18468
  */
18399
18469
  eachComputedProperty: function (callback, binding) {
18400
- var property, name;
18470
+ var property;
18401
18471
  var empty = {};
18402
18472
 
18403
18473
  var properties = _emberMetalProperty_get.get(this, '_computedProperties');
18404
18474
 
18405
18475
  for (var i = 0, length = properties.length; i < length; i++) {
18406
18476
  property = properties[i];
18407
- name = property.name;
18408
18477
  callback.call(binding || this, property.name, property.meta || empty);
18409
18478
  }
18410
18479
  }
@@ -19316,7 +19385,7 @@ enifed('ember-runtime/system/object_proxy', ['exports', 'ember-runtime/system/ob
19316
19385
 
19317
19386
  ```javascript
19318
19387
  ProxyWithComputedProperty = Ember.ObjectProxy.extend({
19319
- fullName: function () {
19388
+ fullName: function() {
19320
19389
  var firstName = this.get('firstName'),
19321
19390
  lastName = this.get('lastName');
19322
19391
  if (firstName && lastName) {
@@ -19479,7 +19548,7 @@ enifed('ember-runtime/system/string', ['exports', 'ember-metal/debug', 'ember-me
19479
19548
  }
19480
19549
 
19481
19550
  function fmt(str, formats) {
19482
- _emberMetalDebug.deprecate('Ember.String.fmt is deprecated, use ES6 template strings instead.', false, { id: 'ember-string-utils.fmt', until: '3.0.0', url: 'https://babeljs.io/docs/learn-es6/#template-strings' });
19551
+ _emberMetalDebug.deprecate('Ember.String.fmt is deprecated, use ES6 template strings instead.', false, { id: 'ember-string-utils.fmt', until: '3.0.0', url: 'http://babeljs.io/docs/learn-es2015/#template-strings' });
19483
19552
  return _fmt.apply(undefined, arguments);
19484
19553
  }
19485
19554
 
@@ -19548,7 +19617,7 @@ enifed('ember-runtime/system/string', ['exports', 'ember-metal/debug', 'ember-me
19548
19617
  @param {Array} formats An array of parameters to interpolate into string.
19549
19618
  @return {String} formatted string
19550
19619
  @public
19551
- @deprecated Use ES6 template strings instead: https://babeljs.io/docs/learn-es6/#template-strings');
19620
+ @deprecated Use ES6 template strings instead: http://babeljs.io/docs/learn-es2015/#template-strings
19552
19621
  */
19553
19622
  fmt: fmt,
19554
19623
 
@@ -19682,7 +19751,7 @@ enifed('ember-runtime/system/string', ['exports', 'ember-metal/debug', 'ember-me
19682
19751
  'action_name'.capitalize() // 'Action_name'
19683
19752
  'css-class-name'.capitalize() // 'Css-class-name'
19684
19753
  'my favorite items'.capitalize() // 'My favorite items'
19685
- 'privateDocs/ownerInvoice'.capitalize(); // 'PrivateDocs/OwnerInvoice'
19754
+ 'privateDocs/ownerInvoice'.capitalize(); // 'PrivateDocs/ownerInvoice'
19686
19755
  ```
19687
19756
  @method capitalize
19688
19757
  @param {String} str The string to capitalize.
@@ -19903,6 +19972,7 @@ enifed('ember-runtime', ['exports', 'ember-metal', 'ember-runtime/is-equal', 'em
19903
19972
  EmComputed.uniq = _emberRuntimeComputedReduce_computed_macros.uniq;
19904
19973
  EmComputed.union = _emberRuntimeComputedReduce_computed_macros.union;
19905
19974
  EmComputed.intersect = _emberRuntimeComputedReduce_computed_macros.intersect;
19975
+ EmComputed.collect = _emberRuntimeComputedReduce_computed_macros.collect;
19906
19976
 
19907
19977
  _emberMetal.default.String = _emberRuntimeSystemString.default;
19908
19978
  _emberMetal.default.Object = _emberRuntimeSystemObject.default;
@@ -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.3.0-beta.1
9
+ * @version 2.3.0-beta.3
10
10
  */
11
11
 
12
12
  var enifed, requireModule, require, requirejs, Ember;
@@ -1611,7 +1611,7 @@ enifed('ember-debug', ['exports', 'ember-metal/core', 'ember-metal/debug', 'embe
1611
1611
  _emberMetalDebug.setDebugFunction('warn', _emberDebugWarn.default);
1612
1612
 
1613
1613
  /**
1614
- Will call `Ember.warn()` if ENABLE_ALL_FEATURES, ENABLE_OPTIONAL_FEATURES, or
1614
+ Will call `Ember.warn()` if ENABLE_OPTIONAL_FEATURES or
1615
1615
  any specific FEATURES flag is truthy.
1616
1616
 
1617
1617
  This method is called automatically in debug canary builds.
@@ -1623,7 +1623,6 @@ enifed('ember-debug', ['exports', 'ember-metal/core', 'ember-metal/debug', 'embe
1623
1623
 
1624
1624
  function _warnIfUsingStrippedFeatureFlags(FEATURES, featuresWereStripped) {
1625
1625
  if (featuresWereStripped) {
1626
- _emberMetalDebug.warn('Ember.ENV.ENABLE_ALL_FEATURES is only available in canary builds.', !_emberMetalCore.default.ENV.ENABLE_ALL_FEATURES, { id: 'ember-debug.feature-flag-with-features-stripped' });
1627
1626
  _emberMetalDebug.warn('Ember.ENV.ENABLE_OPTIONAL_FEATURES is only available in canary builds.', !_emberMetalCore.default.ENV.ENABLE_OPTIONAL_FEATURES, { id: 'ember-debug.feature-flag-with-features-stripped' });
1628
1627
 
1629
1628
  for (var key in FEATURES) {
@@ -1639,10 +1638,6 @@ enifed('ember-debug', ['exports', 'ember-metal/core', 'ember-metal/debug', 'embe
1639
1638
  _emberMetalFeatures.FEATURES['features-stripped-test'] = true;
1640
1639
  var featuresWereStripped = true;
1641
1640
 
1642
- if (_emberMetalFeatures.default('features-stripped-test')) {
1643
- exports.featuresWereStripped = featuresWereStripped = false;
1644
- }
1645
-
1646
1641
  delete _emberMetalFeatures.FEATURES['features-stripped-test'];
1647
1642
  _warnIfUsingStrippedFeatureFlags(_emberMetalCore.default.ENV.FEATURES, featuresWereStripped);
1648
1643
 
@@ -4135,7 +4130,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
4135
4130
 
4136
4131
  @class Ember
4137
4132
  @static
4138
- @version 2.3.0-beta.1
4133
+ @version 2.3.0-beta.3
4139
4134
  @public
4140
4135
  */
4141
4136
 
@@ -4179,11 +4174,11 @@ enifed('ember-metal/core', ['exports'], function (exports) {
4179
4174
 
4180
4175
  @property VERSION
4181
4176
  @type String
4182
- @default '2.3.0-beta.1'
4177
+ @default '2.3.0-beta.3'
4183
4178
  @static
4184
4179
  @public
4185
4180
  */
4186
- Ember.VERSION = '2.3.0-beta.1';
4181
+ Ember.VERSION = '2.3.0-beta.3';
4187
4182
 
4188
4183
  /**
4189
4184
  The hash of environment variables used to control various configuration
@@ -4208,13 +4203,13 @@ enifed('ember-metal/core', ['exports'], function (exports) {
4208
4203
  Ember.ENV = {};
4209
4204
  }
4210
4205
 
4211
- Ember.config = Ember.config || {};
4212
-
4213
- // We disable the RANGE API by default for performance reasons
4214
- if ('undefined' === typeof Ember.ENV.DISABLE_RANGE_API) {
4215
- Ember.ENV.DISABLE_RANGE_API = true;
4206
+ // ENABLE_ALL_FEATURES was documented, but you can't actually enable non optional features.
4207
+ if (Ember.ENV.ENABLE_ALL_FEATURES) {
4208
+ Ember.ENV.ENABLE_OPTIONAL_FEATURES = Ember.ENV.ENABLE_ALL_FEATURES;
4216
4209
  }
4217
4210
 
4211
+ Ember.config = Ember.config || {};
4212
+
4218
4213
  // ..........................................................
4219
4214
  // BOOTSTRAP
4220
4215
  //
@@ -4255,17 +4250,6 @@ enifed('ember-metal/core', ['exports'], function (exports) {
4255
4250
  */
4256
4251
  Ember.LOG_STACKTRACE_ON_DEPRECATION = Ember.ENV.LOG_STACKTRACE_ON_DEPRECATION !== false;
4257
4252
 
4258
- /**
4259
- The `SHIM_ES5` property, when true, tells Ember to add ECMAScript 5 Array
4260
- shims to older browsers.
4261
-
4262
- @property SHIM_ES5
4263
- @type Boolean
4264
- @default Ember.EXTEND_PROTOTYPES
4265
- @public
4266
- */
4267
- Ember.SHIM_ES5 = Ember.ENV.SHIM_ES5 === false ? false : Ember.EXTEND_PROTOTYPES;
4268
-
4269
4253
  /**
4270
4254
  The `LOG_VERSION` property, when true, tells Ember to log versions of all
4271
4255
  dependent libraries in use.
@@ -5023,7 +5007,6 @@ enifed('ember-metal/features', ['exports', 'ember-metal/core', 'ember-metal/assi
5023
5007
 
5024
5008
  You can define the following configuration options:
5025
5009
 
5026
- * `EmberENV.ENABLE_ALL_FEATURES` - force all features to be enabled.
5027
5010
  * `EmberENV.ENABLE_OPTIONAL_FEATURES` - enable any features that have not been explicitly
5028
5011
  enabled/disabled.
5029
5012
 
@@ -5038,9 +5021,7 @@ enifed('ember-metal/features', ['exports', 'ember-metal/core', 'ember-metal/assi
5038
5021
  function isEnabled(feature) {
5039
5022
  var featureValue = FEATURES[feature];
5040
5023
 
5041
- if (_emberMetalCore.default.ENV.ENABLE_ALL_FEATURES) {
5042
- return true;
5043
- } else if (featureValue === true || featureValue === false || featureValue === undefined) {
5024
+ if (featureValue === true || featureValue === false || featureValue === undefined) {
5044
5025
  return featureValue;
5045
5026
  } else if (_emberMetalCore.default.ENV.ENABLE_OPTIONAL_FEATURES) {
5046
5027
  return true;
@@ -7438,6 +7419,10 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/error',
7438
7419
  return applyMixin(obj, [this], true);
7439
7420
  };
7440
7421
 
7422
+ MixinPrototype.toString = function Mixin_toString() {
7423
+ return '(unknown mixin)';
7424
+ };
7425
+
7441
7426
  function _detect(curMixin, targetMixin, seen) {
7442
7427
  var guid = _emberMetalUtils.guidFor(curMixin);
7443
7428
 
@@ -11349,7 +11334,6 @@ enifed('ember-metal', ['exports', 'ember-metal/core', 'ember-metal/debug', 'embe
11349
11334
  _emberMetalComputed.computed.and = _emberMetalComputed_macros.and;
11350
11335
  _emberMetalComputed.computed.or = _emberMetalComputed_macros.or;
11351
11336
  _emberMetalComputed.computed.any = _emberMetalComputed_macros.any;
11352
- _emberMetalComputed.computed.collect = _emberMetalComputed_macros.collect;
11353
11337
 
11354
11338
  // END IMPORTS
11355
11339
 
@@ -11487,12 +11471,7 @@ enifed('ember-metal', ['exports', 'ember-metal/core', 'ember-metal/debug', 'embe
11487
11471
  _emberMetalCore.default.isBlank = _emberMetalIs_blank.default;
11488
11472
  _emberMetalCore.default.isPresent = _emberMetalIs_present.default;
11489
11473
 
11490
- if (_emberMetalFeatures.default('ember-metal-ember-assign')) {
11491
- _emberMetalCore.default.assign = Object.assign || _emberMetalAssign.default;
11492
- _emberMetalCore.default.merge = _emberMetalMerge.default;
11493
- } else {
11494
- _emberMetalCore.default.merge = _emberMetalMerge.default;
11495
- }
11474
+ _emberMetalCore.default.merge = _emberMetalMerge.default;
11496
11475
 
11497
11476
  _emberMetalCore.default.FEATURES = _emberMetalFeatures.FEATURES;
11498
11477
  _emberMetalCore.default.FEATURES.isEnabled = _emberMetalFeatures.default;
@@ -12598,7 +12577,7 @@ enifed('ember-template-compiler/system/compile_options', ['exports', 'ember-meta
12598
12577
  options.buildMeta = function buildMeta(program) {
12599
12578
  return {
12600
12579
  fragmentReason: fragmentReason(program),
12601
- revision: 'Ember@2.3.0-beta.1',
12580
+ revision: 'Ember@2.3.0-beta.3',
12602
12581
  loc: program.loc,
12603
12582
  moduleName: options.moduleName
12604
12583
  };
@@ -14251,7 +14230,7 @@ enifed("htmlbars-runtime/hooks", ["exports", "htmlbars-runtime/render", "morph-r
14251
14230
  return {
14252
14231
  meta: template.meta,
14253
14232
  arity: template.arity,
14254
- yield: yieldArgs,
14233
+ 'yield': yieldArgs, // quoted since it's a reserved word, see issue #420
14255
14234
  yieldItem: yieldItem(template, env, scope, morph, renderState, visitor),
14256
14235
  raw: template,
14257
14236
 
@@ -14438,7 +14417,7 @@ enifed("htmlbars-runtime/hooks", ["exports", "htmlbars-runtime/render", "morph-r
14438
14417
  function thisFor(options) {
14439
14418
  return {
14440
14419
  arity: options.template.arity,
14441
- yield: options.template.yield,
14420
+ 'yield': options.template.yield, // quoted since it's a reserved word, see issue #420
14442
14421
  yieldItem: options.template.yieldItem,
14443
14422
  yieldIn: options.template.yieldIn
14444
14423
  };
@@ -14927,7 +14906,8 @@ enifed("htmlbars-runtime/hooks", ["exports", "htmlbars-runtime/render", "morph-r
14927
14906
  return true;
14928
14907
  },
14929
14908
 
14930
- yield: function (morph, env, scope, params, hash, template, inverse, visitor) {
14909
+ // quoted since it's a reserved word, see issue #420
14910
+ 'yield': function (morph, env, scope, params, hash, template, inverse, visitor) {
14931
14911
  // the current scope is provided purely for the creation of shadow
14932
14912
  // scopes; it should not be provided to user code.
14933
14913
 
@@ -18133,6 +18113,8 @@ enifed("htmlbars-syntax/parser/tokenizer-event-handlers", ["exports", "htmlbars-
18133
18113
  var attributes = _currentNode.attributes;
18134
18114
  var modifiers = _currentNode.modifiers;
18135
18115
 
18116
+ validateStartTag(this.currentNode, this.tokenizer);
18117
+
18136
18118
  var loc = _htmlbarsSyntaxBuilders.default.loc(this.tokenizer.tagLine, this.tokenizer.tagColumn);
18137
18119
  var element = _htmlbarsSyntaxBuilders.default.element(name, attributes, modifiers, [], loc);
18138
18120
  this.elementStack.push(element);
@@ -18251,22 +18233,23 @@ enifed("htmlbars-syntax/parser/tokenizer-event-handlers", ["exports", "htmlbars-
18251
18233
  return _htmlbarsSyntaxBuilders.default.concat(parts);
18252
18234
  }
18253
18235
 
18254
- function validateEndTag(tag, element, selfClosing) {
18255
- var error;
18236
+ function validateStartTag(tag, tokenizer) {
18237
+ // No support for <script> tags
18238
+ if (tag.name === "script") {
18239
+ throw new Error("`SCRIPT` tags are not allowed in HTMLBars templates (on line " + tokenizer.tagLine + ")");
18240
+ }
18241
+ }
18256
18242
 
18243
+ function validateEndTag(tag, element, selfClosing) {
18257
18244
  if (_htmlbarsUtilVoidTagNames.default[tag.name] && !selfClosing) {
18258
18245
  // EngTag is also called by StartTag for void and self-closing tags (i.e.
18259
18246
  // <input> or <br />, so we need to check for that here. Otherwise, we would
18260
18247
  // throw an error for those cases.
18261
- error = "Invalid end tag " + formatEndTagInfo(tag) + " (void elements cannot have end tags).";
18248
+ throw new Error("Invalid end tag " + formatEndTagInfo(tag) + " (void elements cannot have end tags).");
18262
18249
  } else if (element.tag === undefined) {
18263
- error = "Closing tag " + formatEndTagInfo(tag) + " without an open tag.";
18250
+ throw new Error("Closing tag " + formatEndTagInfo(tag) + " without an open tag.");
18264
18251
  } else if (element.tag !== tag.name) {
18265
- error = "Closing tag " + formatEndTagInfo(tag) + " did not match last open tag `" + element.tag + "` (on line " + element.loc.start.line + ").";
18266
- }
18267
-
18268
- if (error) {
18269
- throw new Error(error);
18252
+ throw new Error("Closing tag " + formatEndTagInfo(tag) + " did not match last open tag `" + element.tag + "` (on line " + element.loc.start.line + ").");
18270
18253
  }
18271
18254
  }
18272
18255
 
@@ -19377,7 +19360,7 @@ enifed("htmlbars-util/template-utils", ["exports", "htmlbars-util/morph-utils",
19377
19360
  // If we don't see the key in handledMorphs, it wasn't
19378
19361
  // yielded in and we can safely remove it from DOM.
19379
19362
  if (!(item.key in handledMorphs)) {
19380
- delete morphMap[item.key];
19363
+ morphMap[item.key] = undefined;
19381
19364
  clearMorph(item, env, true);
19382
19365
  item.destroy();
19383
19366
  }
@@ -19440,7 +19423,7 @@ enifed("htmlbars-util/template-utils", ["exports", "htmlbars-util/morph-utils",
19440
19423
 
19441
19424
  while (item) {
19442
19425
  var next = item.nextMorph;
19443
- delete morph.morphMap[item.key];
19426
+ morph.morphMap[item.key] = undefined;
19444
19427
  clearMorph(item, env, true);
19445
19428
  item.destroy();
19446
19429