ember-source 2.12.0.beta.3 → 2.12.0

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: 9aa0f3a49fd3afec1f4ec0971bfb36797ef66790
4
- data.tar.gz: 1b1a42475991461b5d4f37a023055dd7eba10f3b
3
+ metadata.gz: e20f63e7ae0e225765bcf45db4e30d2772a5da3d
4
+ data.tar.gz: 400bf98bd04c88a91896fc772294bae7858d6c3d
5
5
  SHA512:
6
- metadata.gz: d5c985994b4aa873f8e38e5891d160aa8cdce41b859920214cc777abe1efc230d1c2c3e4a213090ba28fddcb3e29eee7050e937319d7b744d1d91255192ad616
7
- data.tar.gz: c5d38b68cddeb55320c9fdcc9128c776737ebe7ace23831fbb7e543187c7e1c2898e75de0c9eee62f4af6574e637cfb1f3d6a2fa8db91b9125ee9b37d3ef033d
6
+ metadata.gz: 815d7664118ac234a0e4b5a77b3f0a91885a9f8b4c9c35e3101c956a79f02c6c5dce2543b46ff5b1b67d6ec8adbaa1b109ac908edee4ad91ab251fa3a6755069
7
+ data.tar.gz: cf34b721b9a0f0feee2baadc7e04af70e21b1cfaa6055fc01b7764b5f799fed8ec90c3a461dacf4b89748e573804814bb2713b91dccaf64d995d1bbd2ffb1ec1
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.12.0.beta.3
1
+ 2.12.0
@@ -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.12.0-beta.3
9
+ * @version 2.12.0
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -1221,6 +1221,7 @@ enifed('container/container', ['exports', 'ember-utils', 'ember-environment', 'e
1221
1221
  this.owner = options && options.owner ? options.owner : null;
1222
1222
  this.cache = _emberUtils.dictionary(options && options.cache ? options.cache : null);
1223
1223
  this.factoryCache = _emberUtils.dictionary(options && options.factoryCache ? options.factoryCache : null);
1224
+ this.factoryManagerCache = _emberUtils.dictionary(options && options.factoryManagerCache ? options.factoryManagerCache : null);
1224
1225
  this.validationCache = _emberUtils.dictionary(options && options.validationCache ? options.validationCache : null);
1225
1226
  this._fakeContainerToInject = buildFakeContainerWithDeprecations(this);
1226
1227
  this[CONTAINER_OVERRIDE] = undefined;
@@ -1422,6 +1423,7 @@ enifed('container/container', ['exports', 'ember-utils', 'ember-environment', 'e
1422
1423
  var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
1423
1424
 
1424
1425
  var normalizedName = this.registry.normalize(fullName);
1426
+
1425
1427
  _emberMetal.assert('fullName must be a proper full name', this.registry.validateFullName(normalizedName));
1426
1428
 
1427
1429
  if (options.source) {
@@ -1432,6 +1434,12 @@ enifed('container/container', ['exports', 'ember-utils', 'ember-environment', 'e
1432
1434
  }
1433
1435
  }
1434
1436
 
1437
+ var cached = this.factoryManagerCache[normalizedName];
1438
+
1439
+ if (cached) {
1440
+ return cached;
1441
+ }
1442
+
1435
1443
  var factory = this.registry.resolve(normalizedName);
1436
1444
 
1437
1445
  if (factory === undefined) {
@@ -1444,6 +1452,7 @@ enifed('container/container', ['exports', 'ember-utils', 'ember-environment', 'e
1444
1452
  manager = wrapManagerInDeprecationProxy(manager);
1445
1453
  });
1446
1454
 
1455
+ this.factoryManagerCache[normalizedName] = manager;
1447
1456
  return manager;
1448
1457
  };
1449
1458
  }
@@ -1698,7 +1707,7 @@ enifed('container/container', ['exports', 'ember-utils', 'ember-environment', 'e
1698
1707
  obj = factory.create(_emberUtils.assign({}, injections, props));
1699
1708
 
1700
1709
  // TODO - remove when Ember reaches v3.0.0
1701
- if (!Object.isFrozen(obj) && 'container' in obj) {
1710
+ if (!Object.isFrozen(obj)) {
1702
1711
  injectDeprecatedContainer(obj, container);
1703
1712
  }
1704
1713
  }
@@ -1720,6 +1729,9 @@ enifed('container/container', ['exports', 'ember-utils', 'ember-environment', 'e
1720
1729
 
1721
1730
  // TODO - remove when Ember reaches v3.0.0
1722
1731
  function injectDeprecatedContainer(object, container) {
1732
+ if ('container' in object) {
1733
+ return;
1734
+ }
1723
1735
  Object.defineProperty(object, 'container', {
1724
1736
  configurable: true,
1725
1737
  enumerable: false,
@@ -1823,6 +1835,7 @@ enifed('container/container', ['exports', 'ember-utils', 'ember-environment', 'e
1823
1835
  this.class = factory;
1824
1836
  this.fullName = fullName;
1825
1837
  this.normalizedName = normalizedName;
1838
+ this.madeToString = undefined;
1826
1839
  }
1827
1840
 
1828
1841
  FactoryManager.prototype.create = function create() {
@@ -1833,7 +1846,7 @@ enifed('container/container', ['exports', 'ember-utils', 'ember-environment', 'e
1833
1846
  var injections = injectionsFor(this.container, this.normalizedName);
1834
1847
  var props = _emberUtils.assign({}, injections, options);
1835
1848
 
1836
- props[_emberUtils.NAME_KEY] = this.container.registry.makeToString(this.class, this.fullName);
1849
+ props[_emberUtils.NAME_KEY] = this.madeToString || (this.madeToString = this.container.registry.makeToString(this.class, this.fullName));
1837
1850
 
1838
1851
  _emberMetal.runInDebug(function () {
1839
1852
  var lazyInjections = undefined;
@@ -1853,8 +1866,9 @@ enifed('container/container', ['exports', 'ember-utils', 'ember-environment', 'e
1853
1866
  throw new Error('Failed to create an instance of \'' + this.normalizedName + '\'. Most likely an improperly defined class or' + ' an invalid module export.');
1854
1867
  }
1855
1868
 
1856
- if (this.class.prototype) {
1857
- injectDeprecatedContainer(this.class.prototype, this.container);
1869
+ var prototype = this.class.prototype;
1870
+ if (prototype) {
1871
+ injectDeprecatedContainer(prototype, this.container);
1858
1872
  }
1859
1873
 
1860
1874
  return this.class.create(props);
@@ -1949,7 +1963,7 @@ enifed('container/registry', ['exports', 'ember-utils', 'ember-metal', 'containe
1949
1963
  this._factoryTypeInjections = _emberUtils.dictionary(null);
1950
1964
  this._factoryInjections = _emberUtils.dictionary(null);
1951
1965
 
1952
- this._localLookupCache = new _emberUtils.EmptyObject();
1966
+ this._localLookupCache = Object.create(null);
1953
1967
  this._normalizeCache = _emberUtils.dictionary(null);
1954
1968
  this._resolveCache = _emberUtils.dictionary(null);
1955
1969
  this._failCache = _emberUtils.dictionary(null);
@@ -2102,7 +2116,7 @@ enifed('container/registry', ['exports', 'ember-utils', 'ember-metal', 'containe
2102
2116
 
2103
2117
  var normalizedName = this.normalize(fullName);
2104
2118
 
2105
- this._localLookupCache = new _emberUtils.EmptyObject();
2119
+ this._localLookupCache = Object.create(null);
2106
2120
 
2107
2121
  delete this.registrations[normalizedName];
2108
2122
  delete this._resolveCache[normalizedName];
@@ -2644,7 +2658,7 @@ enifed('container/registry', ['exports', 'ember-utils', 'ember-metal', 'containe
2644
2658
  var normalizedNameCache = cache[normalizedName];
2645
2659
 
2646
2660
  if (!normalizedNameCache) {
2647
- normalizedNameCache = cache[normalizedName] = new _emberUtils.EmptyObject();
2661
+ normalizedNameCache = cache[normalizedName] = Object.create(null);
2648
2662
  }
2649
2663
 
2650
2664
  var cached = normalizedNameCache[normalizedSource];
@@ -3611,7 +3625,7 @@ enifed('ember-metal/binding', ['exports', 'ember-utils', 'ember-console', 'ember
3611
3625
 
3612
3626
  exports.Binding = Binding;
3613
3627
  });
3614
- enifed('ember-metal/cache', ['exports', 'ember-utils', 'ember-metal/meta'], function (exports, _emberUtils, _emberMetalMeta) {
3628
+ enifed('ember-metal/cache', ['exports', 'ember-metal/meta'], function (exports, _emberMetalMeta) {
3615
3629
  'use strict';
3616
3630
 
3617
3631
  var Cache = (function () {
@@ -3674,7 +3688,7 @@ enifed('ember-metal/cache', ['exports', 'ember-utils', 'ember-metal/meta'], func
3674
3688
 
3675
3689
  var DefaultStore = (function () {
3676
3690
  function DefaultStore() {
3677
- this.data = new _emberUtils.EmptyObject();
3691
+ this.data = Object.create(null);
3678
3692
  }
3679
3693
 
3680
3694
  DefaultStore.prototype.get = function get(key) {
@@ -3686,13 +3700,13 @@ enifed('ember-metal/cache', ['exports', 'ember-utils', 'ember-metal/meta'], func
3686
3700
  };
3687
3701
 
3688
3702
  DefaultStore.prototype.clear = function clear() {
3689
- this.data = new _emberUtils.EmptyObject();
3703
+ this.data = Object.create(null);
3690
3704
  };
3691
3705
 
3692
3706
  return DefaultStore;
3693
3707
  })();
3694
3708
  });
3695
- enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_get', 'ember-metal/meta', 'ember-metal/watch_key', 'ember-metal/computed', 'ember-metal/watch_path'], function (exports, _emberUtils, _emberMetalProperty_get, _emberMetalMeta, _emberMetalWatch_key, _emberMetalComputed, _emberMetalWatch_path) {
3709
+ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-metal/meta', 'ember-metal/watch_key', 'ember-metal/computed', 'ember-metal/watch_path'], function (exports, _emberMetalProperty_get, _emberMetalMeta, _emberMetalWatch_key, _emberMetalComputed, _emberMetalWatch_path) {
3696
3710
  'use strict';
3697
3711
 
3698
3712
  exports.finishChains = finishChains;
@@ -3716,7 +3730,7 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
3716
3730
  // chain nodes that reference a key in this obj by key
3717
3731
  // we only create ChainWatchers when we are going to add them
3718
3732
  // so create this upfront
3719
- this.chains = new _emberUtils.EmptyObject();
3733
+ this.chains = Object.create(null);
3720
3734
  }
3721
3735
 
3722
3736
  ChainWatchers.prototype.add = function add(key, node) {
@@ -3931,7 +3945,7 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
3931
3945
  var chains = this._chains;
3932
3946
  var node = undefined;
3933
3947
  if (chains === undefined) {
3934
- chains = this._chains = new _emberUtils.EmptyObject();
3948
+ chains = this._chains = Object.create(null);
3935
3949
  } else {
3936
3950
  node = chains[key];
3937
3951
  }
@@ -6288,10 +6302,10 @@ enifed('ember-metal/map', ['exports', 'ember-utils'], function (exports, _emberU
6288
6302
  }
6289
6303
 
6290
6304
  function copyNull(obj) {
6291
- var output = new _emberUtils.EmptyObject();
6305
+ var output = Object.create(null);
6292
6306
 
6293
6307
  for (var prop in obj) {
6294
- // hasOwnPropery is not needed because obj is new EmptyObject();
6308
+ // hasOwnPropery is not needed because obj is Object.create(null);
6295
6309
  output[prop] = obj[prop];
6296
6310
  }
6297
6311
 
@@ -6347,7 +6361,7 @@ enifed('ember-metal/map', ['exports', 'ember-utils'], function (exports, _emberU
6347
6361
  @private
6348
6362
  */
6349
6363
  clear: function () {
6350
- this.presenceSet = new _emberUtils.EmptyObject();
6364
+ this.presenceSet = Object.create(null);
6351
6365
  this.list = [];
6352
6366
  this.size = 0;
6353
6367
  },
@@ -6503,7 +6517,7 @@ enifed('ember-metal/map', ['exports', 'ember-utils'], function (exports, _emberU
6503
6517
  if (this instanceof Map) {
6504
6518
  this._keys = OrderedSet.create();
6505
6519
  this._keys._silenceRemoveDeprecation = true;
6506
- this._values = new _emberUtils.EmptyObject();
6520
+ this._values = Object.create(null);
6507
6521
  this.size = 0;
6508
6522
  } else {
6509
6523
  missingNew('Map');
@@ -6659,7 +6673,7 @@ enifed('ember-metal/map', ['exports', 'ember-utils'], function (exports, _emberU
6659
6673
  */
6660
6674
  clear: function () {
6661
6675
  this._keys.clear();
6662
- this._values = new _emberUtils.EmptyObject();
6676
+ this._values = Object.create(null);
6663
6677
  this.size = 0;
6664
6678
  },
6665
6679
 
@@ -6989,14 +7003,15 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
6989
7003
  };
6990
7004
 
6991
7005
  Meta.prototype._getOrCreateOwnMap = function _getOrCreateOwnMap(key) {
6992
- return this[key] || (this[key] = new _emberUtils.EmptyObject());
7006
+ return this[key] || (this[key] = Object.create(null));
6993
7007
  };
6994
7008
 
6995
7009
  Meta.prototype._getInherited = function _getInherited(key) {
6996
7010
  var pointer = this;
6997
7011
  while (pointer !== undefined) {
6998
- if (pointer[key]) {
6999
- return pointer[key];
7012
+ var map = pointer[key];
7013
+ if (map) {
7014
+ return map;
7000
7015
  }
7001
7016
  pointer = pointer.parent;
7002
7017
  }
@@ -7025,7 +7040,7 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
7025
7040
  var outerMap = this._getOrCreateOwnMap('_deps');
7026
7041
  var innerMap = outerMap[subkey];
7027
7042
  if (!innerMap) {
7028
- innerMap = outerMap[subkey] = new _emberUtils.EmptyObject();
7043
+ innerMap = outerMap[subkey] = Object.create(null);
7029
7044
  }
7030
7045
  innerMap[itemkey] = value;
7031
7046
  };
@@ -7037,8 +7052,9 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
7037
7052
  if (map) {
7038
7053
  var value = map[subkey];
7039
7054
  if (value) {
7040
- if (value[itemkey] !== undefined) {
7041
- return value[itemkey];
7055
+ var itemvalue = value[itemkey];
7056
+ if (itemvalue !== undefined) {
7057
+ return itemvalue;
7042
7058
  }
7043
7059
  }
7044
7060
  }
@@ -7063,16 +7079,18 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
7063
7079
 
7064
7080
  Meta.prototype._forEachIn = function _forEachIn(key, subkey, fn) {
7065
7081
  var pointer = this;
7066
- var seen = new _emberUtils.EmptyObject();
7067
- var calls = [];
7082
+ var seen = undefined;
7083
+ var calls = undefined;
7068
7084
  while (pointer !== undefined) {
7069
7085
  var map = pointer[key];
7070
7086
  if (map) {
7071
7087
  var innerMap = map[subkey];
7072
7088
  if (innerMap) {
7073
7089
  for (var innerKey in innerMap) {
7090
+ seen = seen || Object.create(null);
7074
7091
  if (!seen[innerKey]) {
7075
7092
  seen[innerKey] = true;
7093
+ calls = calls || [];
7076
7094
  calls.push([innerKey, innerMap[innerKey]]);
7077
7095
  }
7078
7096
  }
@@ -7080,12 +7098,14 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
7080
7098
  }
7081
7099
  pointer = pointer.parent;
7082
7100
  }
7083
- for (var i = 0; i < calls.length; i++) {
7084
- var _calls$i = calls[i];
7085
- var innerKey = _calls$i[0];
7086
- var value = _calls$i[1];
7101
+ if (calls) {
7102
+ for (var i = 0; i < calls.length; i++) {
7103
+ var _calls$i = calls[i];
7104
+ var innerKey = _calls$i[0];
7105
+ var value = _calls$i[1];
7087
7106
 
7088
- fn(innerKey, value);
7107
+ fn(innerKey, value);
7108
+ }
7089
7109
  }
7090
7110
  };
7091
7111
 
@@ -7099,7 +7119,7 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
7099
7119
  if (map) {
7100
7120
  var value = map[subkey];
7101
7121
  if (value !== undefined || subkey in map) {
7102
- return map[subkey];
7122
+ return value;
7103
7123
  }
7104
7124
  }
7105
7125
  pointer = pointer.parent;
@@ -7165,11 +7185,12 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
7165
7185
 
7166
7186
  Meta.prototype['forEach' + capitalized] = function (fn) {
7167
7187
  var pointer = this;
7168
- var seen = new _emberUtils.EmptyObject();
7188
+ var seen = undefined;
7169
7189
  while (pointer !== undefined) {
7170
7190
  var map = pointer[key];
7171
7191
  if (map) {
7172
7192
  for (var _key in map) {
7193
+ seen = seen || Object.create(null);
7173
7194
  if (!seen[_key]) {
7174
7195
  seen[_key] = true;
7175
7196
  fn(_key, map[_key]);
@@ -7277,7 +7298,7 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
7277
7298
  if (map) {
7278
7299
  var value = map[subkey];
7279
7300
  if (value !== undefined || subkey in map) {
7280
- return map[subkey];
7301
+ return value;
7281
7302
  }
7282
7303
  }
7283
7304
  pointer = pointer.parent;
@@ -12208,7 +12229,7 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-utils
12208
12229
  function uniqBy(dependentKey, propertyKey) {
12209
12230
  return _emberMetal.computed(dependentKey + '.[]', function () {
12210
12231
  var uniq = _emberRuntimeSystemNative_array.A();
12211
- var seen = new _emberUtils.EmptyObject();
12232
+ var seen = Object.create(null);
12212
12233
  var list = _emberMetal.get(this, dependentKey);
12213
12234
  if (_emberRuntimeUtils.isArray(list)) {
12214
12235
  list.forEach(function (item) {
@@ -14315,6 +14336,36 @@ enifed('ember-runtime/mixins/container_proxy', ['exports', 'ember-metal', 'conta
14315
14336
  }, _containerProxyMixin);
14316
14337
 
14317
14338
  if (_emberMetal.isFeatureEnabled('ember-factory-for')) {
14339
+ /**
14340
+ Given a fullName return a factory manager.
14341
+ This method returns a manager which can be used for introspection of the
14342
+ factory's class or for the creation of factory instances with initial
14343
+ properties. The manager is an object with the following properties:
14344
+ * `class` - The registered or resolved class.
14345
+ * `create` - A function that will create an instance of the class with
14346
+ any dependencies injected.
14347
+ For example:
14348
+ ```javascript
14349
+ let owner = Ember.getOwner(otherInstance);
14350
+ // the owner is commonly the `applicationInstance`, and can be accessed via
14351
+ // an instance initializer.
14352
+ let factory = owner.factoryFor('service:bespoke');
14353
+ factory.class;
14354
+ // The registered or resolved class. For example when used with an Ember-CLI
14355
+ // app, this would be the default export from `app/services/bespoke.js`.
14356
+ let instance = factory.create({
14357
+ someProperty: 'an initial property value'
14358
+ });
14359
+ // Create an instance with any injections and the passed options as
14360
+ // initial properties.
14361
+ ```
14362
+ @public
14363
+ @class ContainerProxyMixin
14364
+ @method factoryFor
14365
+ @param {String} fullName
14366
+ @param {Object} options
14367
+ @return {FactoryManager}
14368
+ */
14318
14369
  containerProxyMixin.factoryFor = function ContainerProxyMixin_factoryFor(fullName) {
14319
14370
  var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
14320
14371
 
@@ -15482,7 +15533,7 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
15482
15533
 
15483
15534
  uniqBy: function (key) {
15484
15535
  var ret = emberA();
15485
- var seen = new _emberUtils.EmptyObject();
15536
+ var seen = Object.create(null);
15486
15537
 
15487
15538
  this.forEach(function (item) {
15488
15539
  var guid = _emberUtils.guidFor(_emberMetal.get(item, key));
@@ -18530,7 +18581,7 @@ enifed('ember-runtime/system/core_object', ['exports', 'ember-utils', 'ember-met
18530
18581
  @param {Object} binding
18531
18582
  @private
18532
18583
  */
18533
- enifed('ember-runtime/system/each_proxy', ['exports', 'ember-utils', 'ember-metal', 'ember-runtime/mixins/array'], function (exports, _emberUtils, _emberMetal, _emberRuntimeMixinsArray) {
18584
+ enifed('ember-runtime/system/each_proxy', ['exports', 'ember-metal', 'ember-runtime/mixins/array'], function (exports, _emberMetal, _emberRuntimeMixinsArray) {
18534
18585
  'use strict';
18535
18586
 
18536
18587
  exports.default = EachProxy;
@@ -18599,7 +18650,7 @@ enifed('ember-runtime/system/each_proxy', ['exports', 'ember-utils', 'ember-meta
18599
18650
  beginObservingContentKey: function (keyName) {
18600
18651
  var keys = this._keys;
18601
18652
  if (!keys) {
18602
- keys = this._keys = new _emberUtils.EmptyObject();
18653
+ keys = this._keys = Object.create(null);
18603
18654
  }
18604
18655
 
18605
18656
  if (!keys[keyName]) {
@@ -19751,7 +19802,7 @@ enifed("ember/features", ["exports"], function (exports) {
19751
19802
  enifed("ember/version", ["exports"], function (exports) {
19752
19803
  "use strict";
19753
19804
 
19754
- exports.default = "2.12.0-beta.3";
19805
+ exports.default = "2.12.0";
19755
19806
  });
19756
19807
  enifed('rsvp', ['exports'], function (exports) {
19757
19808
  'use strict';
@@ -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.12.0-beta.3
9
+ * @version 2.12.0
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -2656,7 +2656,7 @@ enifed('ember-metal/binding', ['exports', 'ember-utils', 'ember-console', 'ember
2656
2656
 
2657
2657
  exports.Binding = Binding;
2658
2658
  });
2659
- enifed('ember-metal/cache', ['exports', 'ember-utils', 'ember-metal/meta'], function (exports, _emberUtils, _emberMetalMeta) {
2659
+ enifed('ember-metal/cache', ['exports', 'ember-metal/meta'], function (exports, _emberMetalMeta) {
2660
2660
  'use strict';
2661
2661
 
2662
2662
  var Cache = (function () {
@@ -2723,7 +2723,7 @@ enifed('ember-metal/cache', ['exports', 'ember-utils', 'ember-metal/meta'], func
2723
2723
  function DefaultStore() {
2724
2724
  babelHelpers.classCallCheck(this, DefaultStore);
2725
2725
 
2726
- this.data = new _emberUtils.EmptyObject();
2726
+ this.data = Object.create(null);
2727
2727
  }
2728
2728
 
2729
2729
  DefaultStore.prototype.get = function get(key) {
@@ -2735,13 +2735,13 @@ enifed('ember-metal/cache', ['exports', 'ember-utils', 'ember-metal/meta'], func
2735
2735
  };
2736
2736
 
2737
2737
  DefaultStore.prototype.clear = function clear() {
2738
- this.data = new _emberUtils.EmptyObject();
2738
+ this.data = Object.create(null);
2739
2739
  };
2740
2740
 
2741
2741
  return DefaultStore;
2742
2742
  })();
2743
2743
  });
2744
- enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_get', 'ember-metal/meta', 'ember-metal/watch_key', 'ember-metal/computed', 'ember-metal/watch_path'], function (exports, _emberUtils, _emberMetalProperty_get, _emberMetalMeta, _emberMetalWatch_key, _emberMetalComputed, _emberMetalWatch_path) {
2744
+ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-metal/meta', 'ember-metal/watch_key', 'ember-metal/computed', 'ember-metal/watch_path'], function (exports, _emberMetalProperty_get, _emberMetalMeta, _emberMetalWatch_key, _emberMetalComputed, _emberMetalWatch_path) {
2745
2745
  'use strict';
2746
2746
 
2747
2747
  exports.finishChains = finishChains;
@@ -2767,7 +2767,7 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
2767
2767
  // chain nodes that reference a key in this obj by key
2768
2768
  // we only create ChainWatchers when we are going to add them
2769
2769
  // so create this upfront
2770
- this.chains = new _emberUtils.EmptyObject();
2770
+ this.chains = Object.create(null);
2771
2771
  }
2772
2772
 
2773
2773
  ChainWatchers.prototype.add = function add(key, node) {
@@ -2984,7 +2984,7 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
2984
2984
  var chains = this._chains;
2985
2985
  var node = undefined;
2986
2986
  if (chains === undefined) {
2987
- chains = this._chains = new _emberUtils.EmptyObject();
2987
+ chains = this._chains = Object.create(null);
2988
2988
  } else {
2989
2989
  node = chains[key];
2990
2990
  }
@@ -5347,10 +5347,10 @@ enifed('ember-metal/map', ['exports', 'ember-utils'], function (exports, _emberU
5347
5347
  }
5348
5348
 
5349
5349
  function copyNull(obj) {
5350
- var output = new _emberUtils.EmptyObject();
5350
+ var output = Object.create(null);
5351
5351
 
5352
5352
  for (var prop in obj) {
5353
- // hasOwnPropery is not needed because obj is new EmptyObject();
5353
+ // hasOwnPropery is not needed because obj is Object.create(null);
5354
5354
  output[prop] = obj[prop];
5355
5355
  }
5356
5356
 
@@ -5406,7 +5406,7 @@ enifed('ember-metal/map', ['exports', 'ember-utils'], function (exports, _emberU
5406
5406
  @private
5407
5407
  */
5408
5408
  clear: function () {
5409
- this.presenceSet = new _emberUtils.EmptyObject();
5409
+ this.presenceSet = Object.create(null);
5410
5410
  this.list = [];
5411
5411
  this.size = 0;
5412
5412
  },
@@ -5562,7 +5562,7 @@ enifed('ember-metal/map', ['exports', 'ember-utils'], function (exports, _emberU
5562
5562
  if (this instanceof Map) {
5563
5563
  this._keys = OrderedSet.create();
5564
5564
  this._keys._silenceRemoveDeprecation = true;
5565
- this._values = new _emberUtils.EmptyObject();
5565
+ this._values = Object.create(null);
5566
5566
  this.size = 0;
5567
5567
  } else {
5568
5568
  missingNew('Map');
@@ -5718,7 +5718,7 @@ enifed('ember-metal/map', ['exports', 'ember-utils'], function (exports, _emberU
5718
5718
  */
5719
5719
  clear: function () {
5720
5720
  this._keys.clear();
5721
- this._values = new _emberUtils.EmptyObject();
5721
+ this._values = Object.create(null);
5722
5722
  this.size = 0;
5723
5723
  },
5724
5724
 
@@ -6050,14 +6050,15 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
6050
6050
  };
6051
6051
 
6052
6052
  Meta.prototype._getOrCreateOwnMap = function _getOrCreateOwnMap(key) {
6053
- return this[key] || (this[key] = new _emberUtils.EmptyObject());
6053
+ return this[key] || (this[key] = Object.create(null));
6054
6054
  };
6055
6055
 
6056
6056
  Meta.prototype._getInherited = function _getInherited(key) {
6057
6057
  var pointer = this;
6058
6058
  while (pointer !== undefined) {
6059
- if (pointer[key]) {
6060
- return pointer[key];
6059
+ var map = pointer[key];
6060
+ if (map) {
6061
+ return map;
6061
6062
  }
6062
6063
  pointer = pointer.parent;
6063
6064
  }
@@ -6086,7 +6087,7 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
6086
6087
  var outerMap = this._getOrCreateOwnMap('_deps');
6087
6088
  var innerMap = outerMap[subkey];
6088
6089
  if (!innerMap) {
6089
- innerMap = outerMap[subkey] = new _emberUtils.EmptyObject();
6090
+ innerMap = outerMap[subkey] = Object.create(null);
6090
6091
  }
6091
6092
  innerMap[itemkey] = value;
6092
6093
  };
@@ -6098,8 +6099,9 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
6098
6099
  if (map) {
6099
6100
  var value = map[subkey];
6100
6101
  if (value) {
6101
- if (value[itemkey] !== undefined) {
6102
- return value[itemkey];
6102
+ var itemvalue = value[itemkey];
6103
+ if (itemvalue !== undefined) {
6104
+ return itemvalue;
6103
6105
  }
6104
6106
  }
6105
6107
  }
@@ -6124,16 +6126,18 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
6124
6126
 
6125
6127
  Meta.prototype._forEachIn = function _forEachIn(key, subkey, fn) {
6126
6128
  var pointer = this;
6127
- var seen = new _emberUtils.EmptyObject();
6128
- var calls = [];
6129
+ var seen = undefined;
6130
+ var calls = undefined;
6129
6131
  while (pointer !== undefined) {
6130
6132
  var map = pointer[key];
6131
6133
  if (map) {
6132
6134
  var innerMap = map[subkey];
6133
6135
  if (innerMap) {
6134
6136
  for (var innerKey in innerMap) {
6137
+ seen = seen || Object.create(null);
6135
6138
  if (!seen[innerKey]) {
6136
6139
  seen[innerKey] = true;
6140
+ calls = calls || [];
6137
6141
  calls.push([innerKey, innerMap[innerKey]]);
6138
6142
  }
6139
6143
  }
@@ -6141,12 +6145,14 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
6141
6145
  }
6142
6146
  pointer = pointer.parent;
6143
6147
  }
6144
- for (var i = 0; i < calls.length; i++) {
6145
- var _calls$i = calls[i];
6146
- var innerKey = _calls$i[0];
6147
- var value = _calls$i[1];
6148
+ if (calls) {
6149
+ for (var i = 0; i < calls.length; i++) {
6150
+ var _calls$i = calls[i];
6151
+ var innerKey = _calls$i[0];
6152
+ var value = _calls$i[1];
6148
6153
 
6149
- fn(innerKey, value);
6154
+ fn(innerKey, value);
6155
+ }
6150
6156
  }
6151
6157
  };
6152
6158
 
@@ -6160,7 +6166,7 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
6160
6166
  if (map) {
6161
6167
  var value = map[subkey];
6162
6168
  if (value !== undefined || subkey in map) {
6163
- return map[subkey];
6169
+ return value;
6164
6170
  }
6165
6171
  }
6166
6172
  pointer = pointer.parent;
@@ -6226,11 +6232,12 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
6226
6232
 
6227
6233
  Meta.prototype['forEach' + capitalized] = function (fn) {
6228
6234
  var pointer = this;
6229
- var seen = new _emberUtils.EmptyObject();
6235
+ var seen = undefined;
6230
6236
  while (pointer !== undefined) {
6231
6237
  var map = pointer[key];
6232
6238
  if (map) {
6233
6239
  for (var _key in map) {
6240
+ seen = seen || Object.create(null);
6234
6241
  if (!seen[_key]) {
6235
6242
  seen[_key] = true;
6236
6243
  fn(_key, map[_key]);
@@ -6338,7 +6345,7 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
6338
6345
  if (map) {
6339
6346
  var value = map[subkey];
6340
6347
  if (value !== undefined || subkey in map) {
6341
- return map[subkey];
6348
+ return value;
6342
6349
  }
6343
6350
  }
6344
6351
  pointer = pointer.parent;
@@ -11407,52 +11414,23 @@ enifed("ember-utils/assign", ["exports"], function (exports) {
11407
11414
  return original;
11408
11415
  }
11409
11416
  });
11410
- enifed('ember-utils/dictionary', ['exports', 'ember-utils/empty-object'], function (exports, _emberUtilsEmptyObject) {
11411
- 'use strict';
11412
-
11413
- exports.default = makeDictionary;
11414
-
11417
+ enifed('ember-utils/dictionary', ['exports'], function (exports) {
11415
11418
  // the delete is meant to hint at runtimes that this object should remain in
11416
11419
  // dictionary mode. This is clearly a runtime specific hack, but currently it
11417
11420
  // appears worthwhile in some usecases. Please note, these deletes do increase
11418
11421
  // the cost of creation dramatically over a plain Object.create. And as this
11419
11422
  // only makes sense for long-lived dictionaries that aren't instantiated often.
11423
+ 'use strict';
11424
+
11425
+ exports.default = makeDictionary;
11420
11426
 
11421
11427
  function makeDictionary(parent) {
11422
- var dict = undefined;
11423
- if (parent === null) {
11424
- dict = new _emberUtilsEmptyObject.default();
11425
- } else {
11426
- dict = Object.create(parent);
11427
- }
11428
+ var dict = Object.create(parent);
11428
11429
  dict['_dict'] = null;
11429
11430
  delete dict['_dict'];
11430
11431
  return dict;
11431
11432
  }
11432
11433
  });
11433
- enifed("ember-utils/empty-object", ["exports"], function (exports) {
11434
- // This exists because `Object.create(null)` is absurdly slow compared
11435
- // to `new EmptyObject()`. In either case, you want a null prototype
11436
- // when you're treating the object instances as arbitrary dictionaries
11437
- // and don't want your keys colliding with build-in methods on the
11438
- // default object prototype.
11439
-
11440
- "use strict";
11441
-
11442
- var proto = Object.create(null, {
11443
- // without this, we will always still end up with (new
11444
- // EmptyObject()).constructor === Object
11445
- constructor: {
11446
- value: undefined,
11447
- enumerable: false,
11448
- writable: true
11449
- }
11450
- });
11451
-
11452
- function EmptyObject() {}
11453
- EmptyObject.prototype = proto;
11454
- exports.default = EmptyObject;
11455
- });
11456
11434
  enifed('ember-utils/guid', ['exports', 'ember-utils/intern'], function (exports, _emberUtilsIntern) {
11457
11435
  'use strict';
11458
11436
 
@@ -11657,7 +11635,7 @@ enifed('ember-utils/guid', ['exports', 'ember-utils/intern'], function (exports,
11657
11635
  }
11658
11636
  }
11659
11637
  });
11660
- enifed('ember-utils/index', ['exports', 'ember-utils/symbol', 'ember-utils/owner', 'ember-utils/assign', 'ember-utils/empty-object', 'ember-utils/dictionary', 'ember-utils/guid', 'ember-utils/intern', 'ember-utils/super', 'ember-utils/inspect', 'ember-utils/lookup-descriptor', 'ember-utils/invoke', 'ember-utils/make-array', 'ember-utils/apply-str', 'ember-utils/name', 'ember-utils/to-string', 'ember-utils/weak-map-utils', 'ember-utils/proxy-utils'], function (exports, _emberUtilsSymbol, _emberUtilsOwner, _emberUtilsAssign, _emberUtilsEmptyObject, _emberUtilsDictionary, _emberUtilsGuid, _emberUtilsIntern, _emberUtilsSuper, _emberUtilsInspect, _emberUtilsLookupDescriptor, _emberUtilsInvoke, _emberUtilsMakeArray, _emberUtilsApplyStr, _emberUtilsName, _emberUtilsToString, _emberUtilsWeakMapUtils, _emberUtilsProxyUtils) {
11638
+ enifed('ember-utils/index', ['exports', 'ember-utils/symbol', 'ember-utils/owner', 'ember-utils/assign', 'ember-utils/dictionary', 'ember-utils/guid', 'ember-utils/intern', 'ember-utils/super', 'ember-utils/inspect', 'ember-utils/lookup-descriptor', 'ember-utils/invoke', 'ember-utils/make-array', 'ember-utils/apply-str', 'ember-utils/name', 'ember-utils/to-string', 'ember-utils/weak-map-utils', 'ember-utils/proxy-utils'], function (exports, _emberUtilsSymbol, _emberUtilsOwner, _emberUtilsAssign, _emberUtilsDictionary, _emberUtilsGuid, _emberUtilsIntern, _emberUtilsSuper, _emberUtilsInspect, _emberUtilsLookupDescriptor, _emberUtilsInvoke, _emberUtilsMakeArray, _emberUtilsApplyStr, _emberUtilsName, _emberUtilsToString, _emberUtilsWeakMapUtils, _emberUtilsProxyUtils) {
11661
11639
  /*
11662
11640
  This package will be eagerly parsed and should have no dependencies on external
11663
11641
  packages.
@@ -11675,7 +11653,6 @@ enifed('ember-utils/index', ['exports', 'ember-utils/symbol', 'ember-utils/owner
11675
11653
  exports.setOwner = _emberUtilsOwner.setOwner;
11676
11654
  exports.OWNER = _emberUtilsOwner.OWNER;
11677
11655
  exports.assign = _emberUtilsAssign.default;
11678
- exports.EmptyObject = _emberUtilsEmptyObject.default;
11679
11656
  exports.dictionary = _emberUtilsDictionary.default;
11680
11657
  exports.uuid = _emberUtilsGuid.uuid;
11681
11658
  exports.GUID_KEY = _emberUtilsGuid.GUID_KEY;
@@ -12146,7 +12123,7 @@ enifed("ember/features", ["exports"], function (exports) {
12146
12123
  enifed("ember/version", ["exports"], function (exports) {
12147
12124
  "use strict";
12148
12125
 
12149
- exports.default = "2.12.0-beta.3";
12126
+ exports.default = "2.12.0";
12150
12127
  });
12151
12128
  enifed("glimmer-compiler/index", ["exports", "glimmer-compiler/lib/compiler", "glimmer-compiler/lib/template-visitor"], function (exports, _glimmerCompilerLibCompiler, _glimmerCompilerLibTemplateVisitor) {
12152
12129
  "use strict";