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

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: 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