ember-source 2.12.0.beta.3 → 2.12.0

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.
@@ -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,12 @@ enifed('container/container', ['exports', 'ember-utils', 'ember-environment', 'e
1422
1423
  }
1423
1424
  }
1424
1425
 
1426
+ var cached = this.factoryManagerCache[normalizedName];
1427
+
1428
+ if (cached) {
1429
+ return cached;
1430
+ }
1431
+
1425
1432
  var factory = this.registry.resolve(normalizedName);
1426
1433
 
1427
1434
  if (factory === undefined) {
@@ -1430,6 +1437,7 @@ enifed('container/container', ['exports', 'ember-utils', 'ember-environment', 'e
1430
1437
 
1431
1438
  var manager = new FactoryManager(this, factory, fullName, normalizedName);
1432
1439
 
1440
+ this.factoryManagerCache[normalizedName] = manager;
1433
1441
  return manager;
1434
1442
  };
1435
1443
  }
@@ -1674,7 +1682,7 @@ enifed('container/container', ['exports', 'ember-utils', 'ember-environment', 'e
1674
1682
  obj = factory.create(_emberUtils.assign({}, injections, props));
1675
1683
 
1676
1684
  // TODO - remove when Ember reaches v3.0.0
1677
- if (!Object.isFrozen(obj) && 'container' in obj) {
1685
+ if (!Object.isFrozen(obj)) {
1678
1686
  injectDeprecatedContainer(obj, container);
1679
1687
  }
1680
1688
  }
@@ -1696,6 +1704,9 @@ enifed('container/container', ['exports', 'ember-utils', 'ember-environment', 'e
1696
1704
 
1697
1705
  // TODO - remove when Ember reaches v3.0.0
1698
1706
  function injectDeprecatedContainer(object, container) {
1707
+ if ('container' in object) {
1708
+ return;
1709
+ }
1699
1710
  Object.defineProperty(object, 'container', {
1700
1711
  configurable: true,
1701
1712
  enumerable: false,
@@ -1792,6 +1803,7 @@ enifed('container/container', ['exports', 'ember-utils', 'ember-environment', 'e
1792
1803
  this.class = factory;
1793
1804
  this.fullName = fullName;
1794
1805
  this.normalizedName = normalizedName;
1806
+ this.madeToString = undefined;
1795
1807
  }
1796
1808
 
1797
1809
  FactoryManager.prototype.create = function create() {
@@ -1800,14 +1812,15 @@ enifed('container/container', ['exports', 'ember-utils', 'ember-environment', 'e
1800
1812
  var injections = injectionsFor(this.container, this.normalizedName);
1801
1813
  var props = _emberUtils.assign({}, injections, options);
1802
1814
 
1803
- props[_emberUtils.NAME_KEY] = this.container.registry.makeToString(this.class, this.fullName);
1815
+ props[_emberUtils.NAME_KEY] = this.madeToString || (this.madeToString = this.container.registry.makeToString(this.class, this.fullName));
1804
1816
 
1805
1817
  if (!this.class.create) {
1806
1818
  throw new Error('Failed to create an instance of \'' + this.normalizedName + '\'. Most likely an improperly defined class or' + ' an invalid module export.');
1807
1819
  }
1808
1820
 
1809
- if (this.class.prototype) {
1810
- injectDeprecatedContainer(this.class.prototype, this.container);
1821
+ var prototype = this.class.prototype;
1822
+ if (prototype) {
1823
+ injectDeprecatedContainer(prototype, this.container);
1811
1824
  }
1812
1825
 
1813
1826
  return this.class.create(props);
@@ -1906,7 +1919,7 @@ enifed('container/registry', ['exports', 'ember-utils', 'ember-metal', 'containe
1906
1919
  this._factoryTypeInjections = _emberUtils.dictionary(null);
1907
1920
  this._factoryInjections = _emberUtils.dictionary(null);
1908
1921
 
1909
- this._localLookupCache = new _emberUtils.EmptyObject();
1922
+ this._localLookupCache = Object.create(null);
1910
1923
  this._normalizeCache = _emberUtils.dictionary(null);
1911
1924
  this._resolveCache = _emberUtils.dictionary(null);
1912
1925
  this._failCache = _emberUtils.dictionary(null);
@@ -2056,7 +2069,7 @@ enifed('container/registry', ['exports', 'ember-utils', 'ember-metal', 'containe
2056
2069
 
2057
2070
  var normalizedName = this.normalize(fullName);
2058
2071
 
2059
- this._localLookupCache = new _emberUtils.EmptyObject();
2072
+ this._localLookupCache = Object.create(null);
2060
2073
 
2061
2074
  delete this.registrations[normalizedName];
2062
2075
  delete this._resolveCache[normalizedName];
@@ -2590,7 +2603,7 @@ enifed('container/registry', ['exports', 'ember-utils', 'ember-metal', 'containe
2590
2603
  var normalizedNameCache = cache[normalizedName];
2591
2604
 
2592
2605
  if (!normalizedNameCache) {
2593
- normalizedNameCache = cache[normalizedName] = new _emberUtils.EmptyObject();
2606
+ normalizedNameCache = cache[normalizedName] = Object.create(null);
2594
2607
  }
2595
2608
 
2596
2609
  var cached = normalizedNameCache[normalizedSource];
@@ -4735,8 +4748,8 @@ enifed('ember-application/system/engine', ['exports', 'ember-utils', 'ember-runt
4735
4748
  });
4736
4749
 
4737
4750
  Engine.reopenClass({
4738
- initializers: new _emberUtils.EmptyObject(),
4739
- instanceInitializers: new _emberUtils.EmptyObject(),
4751
+ initializers: Object.create(null),
4752
+ instanceInitializers: Object.create(null),
4740
4753
 
4741
4754
  /**
4742
4755
  The goal of initializers should be to register dependencies and injections.
@@ -5802,7 +5815,7 @@ enifed('ember-extension-support/container_debug_adapter', ['exports', 'ember-met
5802
5815
  /**
5803
5816
  The `ContainerDebugAdapter` helps the container and resolver interface
5804
5817
  with tools that debug Ember such as the
5805
- [Ember Extension](https://github.com/tildeio/ember-extension)
5818
+ [Ember Inspector](https://github.com/emberjs/ember-inspector)
5806
5819
  for Chrome and Firefox.
5807
5820
 
5808
5821
  This class can be extended by a custom resolver implementer
@@ -8298,7 +8311,7 @@ enifed('ember-glimmer/components/text_area', ['exports', 'ember-glimmer/componen
8298
8311
  cols: null
8299
8312
  });
8300
8313
  });
8301
- enifed('ember-glimmer/components/text_field', ['exports', 'ember-utils', 'ember-metal', 'ember-environment', 'ember-glimmer/component', 'ember-glimmer/templates/empty', 'ember-views'], function (exports, _emberUtils, _emberMetal, _emberEnvironment, _emberGlimmerComponent, _emberGlimmerTemplatesEmpty, _emberViews) {
8314
+ enifed('ember-glimmer/components/text_field', ['exports', 'ember-metal', 'ember-environment', 'ember-glimmer/component', 'ember-glimmer/templates/empty', 'ember-views'], function (exports, _emberMetal, _emberEnvironment, _emberGlimmerComponent, _emberGlimmerTemplatesEmpty, _emberViews) {
8302
8315
  /**
8303
8316
  @module ember
8304
8317
  @submodule ember-views
@@ -8306,7 +8319,7 @@ enifed('ember-glimmer/components/text_field', ['exports', 'ember-utils', 'ember-
8306
8319
  'use strict';
8307
8320
 
8308
8321
  var inputTypeTestElement = undefined;
8309
- var inputTypes = new _emberUtils.EmptyObject();
8322
+ var inputTypes = Object.create(null);
8310
8323
  function canSetTypeOfInput(type) {
8311
8324
  if (type in inputTypes) {
8312
8325
  return inputTypes[type];
@@ -13574,7 +13587,7 @@ enifed('ember-glimmer/utils/iterable', ['exports', 'ember-utils', 'ember-metal',
13574
13587
  this.length = array.length;
13575
13588
  this.keyFor = keyFor;
13576
13589
  this.position = 0;
13577
- this.seen = new _emberUtils.EmptyObject();
13590
+ this.seen = Object.create(null);
13578
13591
  }
13579
13592
 
13580
13593
  ArrayIterator.prototype.isEmpty = function isEmpty() {
@@ -13610,7 +13623,7 @@ enifed('ember-glimmer/utils/iterable', ['exports', 'ember-utils', 'ember-metal',
13610
13623
  this.length = _emberMetal.get(array, 'length');
13611
13624
  this.keyFor = keyFor;
13612
13625
  this.position = 0;
13613
- this.seen = new _emberUtils.EmptyObject();
13626
+ this.seen = Object.create(null);
13614
13627
  }
13615
13628
 
13616
13629
  EmberArrayIterator.prototype.isEmpty = function isEmpty() {
@@ -13646,7 +13659,7 @@ enifed('ember-glimmer/utils/iterable', ['exports', 'ember-utils', 'ember-metal',
13646
13659
  this.values = values;
13647
13660
  this.keyFor = keyFor;
13648
13661
  this.position = 0;
13649
- this.seen = new _emberUtils.EmptyObject();
13662
+ this.seen = Object.create(null);
13650
13663
  }
13651
13664
 
13652
13665
  ObjectKeysIterator.prototype.isEmpty = function isEmpty() {
@@ -13895,8 +13908,8 @@ enifed('ember-glimmer/utils/process-args', ['exports', 'ember-utils', 'glimmer-r
13895
13908
 
13896
13909
  var keys = namedArgs.keys;
13897
13910
  var attrs = namedArgs.value();
13898
- var props = new _emberUtils.EmptyObject();
13899
- var args = new _emberUtils.EmptyObject();
13911
+ var props = Object.create(null);
13912
+ var args = Object.create(null);
13900
13913
 
13901
13914
  props[_emberGlimmerComponent.ARGS] = args;
13902
13915
 
@@ -14019,7 +14032,7 @@ enifed('ember-glimmer/utils/references', ['exports', 'ember-utils', 'ember-metal
14019
14032
 
14020
14033
  function RootReference(value) {
14021
14034
  _ConstReference.call(this, value);
14022
- this.children = new _emberUtils.EmptyObject();
14035
+ this.children = Object.create(null);
14023
14036
  }
14024
14037
 
14025
14038
  RootReference.prototype.get = function get(propertyKey) {
@@ -14625,7 +14638,7 @@ enifed('ember-glimmer/views/outlet', ['exports', 'ember-utils', 'glimmer-referen
14625
14638
  return null;
14626
14639
  }
14627
14640
 
14628
- var state = new _emberUtils.EmptyObject();
14641
+ var state = Object.create(null);
14629
14642
  state[matched.render.outlet] = matched;
14630
14643
  matched.wasUsed = true;
14631
14644
  return { outlets: state };
@@ -15300,7 +15313,7 @@ enifed('ember-metal/binding', ['exports', 'ember-utils', 'ember-console', 'ember
15300
15313
 
15301
15314
  exports.Binding = Binding;
15302
15315
  });
15303
- enifed('ember-metal/cache', ['exports', 'ember-utils', 'ember-metal/meta'], function (exports, _emberUtils, _emberMetalMeta) {
15316
+ enifed('ember-metal/cache', ['exports', 'ember-metal/meta'], function (exports, _emberMetalMeta) {
15304
15317
  'use strict';
15305
15318
 
15306
15319
  var Cache = (function () {
@@ -15363,7 +15376,7 @@ enifed('ember-metal/cache', ['exports', 'ember-utils', 'ember-metal/meta'], func
15363
15376
 
15364
15377
  var DefaultStore = (function () {
15365
15378
  function DefaultStore() {
15366
- this.data = new _emberUtils.EmptyObject();
15379
+ this.data = Object.create(null);
15367
15380
  }
15368
15381
 
15369
15382
  DefaultStore.prototype.get = function get(key) {
@@ -15375,13 +15388,13 @@ enifed('ember-metal/cache', ['exports', 'ember-utils', 'ember-metal/meta'], func
15375
15388
  };
15376
15389
 
15377
15390
  DefaultStore.prototype.clear = function clear() {
15378
- this.data = new _emberUtils.EmptyObject();
15391
+ this.data = Object.create(null);
15379
15392
  };
15380
15393
 
15381
15394
  return DefaultStore;
15382
15395
  })();
15383
15396
  });
15384
- 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) {
15397
+ 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) {
15385
15398
  'use strict';
15386
15399
 
15387
15400
  exports.finishChains = finishChains;
@@ -15405,7 +15418,7 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
15405
15418
  // chain nodes that reference a key in this obj by key
15406
15419
  // we only create ChainWatchers when we are going to add them
15407
15420
  // so create this upfront
15408
- this.chains = new _emberUtils.EmptyObject();
15421
+ this.chains = Object.create(null);
15409
15422
  }
15410
15423
 
15411
15424
  ChainWatchers.prototype.add = function add(key, node) {
@@ -15620,7 +15633,7 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
15620
15633
  var chains = this._chains;
15621
15634
  var node = undefined;
15622
15635
  if (chains === undefined) {
15623
- chains = this._chains = new _emberUtils.EmptyObject();
15636
+ chains = this._chains = Object.create(null);
15624
15637
  } else {
15625
15638
  node = chains[key];
15626
15639
  }
@@ -17930,10 +17943,10 @@ enifed('ember-metal/map', ['exports', 'ember-utils'], function (exports, _emberU
17930
17943
  }
17931
17944
 
17932
17945
  function copyNull(obj) {
17933
- var output = new _emberUtils.EmptyObject();
17946
+ var output = Object.create(null);
17934
17947
 
17935
17948
  for (var prop in obj) {
17936
- // hasOwnPropery is not needed because obj is new EmptyObject();
17949
+ // hasOwnPropery is not needed because obj is Object.create(null);
17937
17950
  output[prop] = obj[prop];
17938
17951
  }
17939
17952
 
@@ -17989,7 +18002,7 @@ enifed('ember-metal/map', ['exports', 'ember-utils'], function (exports, _emberU
17989
18002
  @private
17990
18003
  */
17991
18004
  clear: function () {
17992
- this.presenceSet = new _emberUtils.EmptyObject();
18005
+ this.presenceSet = Object.create(null);
17993
18006
  this.list = [];
17994
18007
  this.size = 0;
17995
18008
  },
@@ -18145,7 +18158,7 @@ enifed('ember-metal/map', ['exports', 'ember-utils'], function (exports, _emberU
18145
18158
  if (this instanceof Map) {
18146
18159
  this._keys = OrderedSet.create();
18147
18160
  this._keys._silenceRemoveDeprecation = true;
18148
- this._values = new _emberUtils.EmptyObject();
18161
+ this._values = Object.create(null);
18149
18162
  this.size = 0;
18150
18163
  } else {
18151
18164
  missingNew('Map');
@@ -18301,7 +18314,7 @@ enifed('ember-metal/map', ['exports', 'ember-utils'], function (exports, _emberU
18301
18314
  */
18302
18315
  clear: function () {
18303
18316
  this._keys.clear();
18304
- this._values = new _emberUtils.EmptyObject();
18317
+ this._values = Object.create(null);
18305
18318
  this.size = 0;
18306
18319
  },
18307
18320
 
@@ -18622,14 +18635,15 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
18622
18635
  };
18623
18636
 
18624
18637
  Meta.prototype._getOrCreateOwnMap = function _getOrCreateOwnMap(key) {
18625
- return this[key] || (this[key] = new _emberUtils.EmptyObject());
18638
+ return this[key] || (this[key] = Object.create(null));
18626
18639
  };
18627
18640
 
18628
18641
  Meta.prototype._getInherited = function _getInherited(key) {
18629
18642
  var pointer = this;
18630
18643
  while (pointer !== undefined) {
18631
- if (pointer[key]) {
18632
- return pointer[key];
18644
+ var map = pointer[key];
18645
+ if (map) {
18646
+ return map;
18633
18647
  }
18634
18648
  pointer = pointer.parent;
18635
18649
  }
@@ -18657,7 +18671,7 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
18657
18671
  var outerMap = this._getOrCreateOwnMap('_deps');
18658
18672
  var innerMap = outerMap[subkey];
18659
18673
  if (!innerMap) {
18660
- innerMap = outerMap[subkey] = new _emberUtils.EmptyObject();
18674
+ innerMap = outerMap[subkey] = Object.create(null);
18661
18675
  }
18662
18676
  innerMap[itemkey] = value;
18663
18677
  };
@@ -18669,8 +18683,9 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
18669
18683
  if (map) {
18670
18684
  var value = map[subkey];
18671
18685
  if (value) {
18672
- if (value[itemkey] !== undefined) {
18673
- return value[itemkey];
18686
+ var itemvalue = value[itemkey];
18687
+ if (itemvalue !== undefined) {
18688
+ return itemvalue;
18674
18689
  }
18675
18690
  }
18676
18691
  }
@@ -18695,16 +18710,18 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
18695
18710
 
18696
18711
  Meta.prototype._forEachIn = function _forEachIn(key, subkey, fn) {
18697
18712
  var pointer = this;
18698
- var seen = new _emberUtils.EmptyObject();
18699
- var calls = [];
18713
+ var seen = undefined;
18714
+ var calls = undefined;
18700
18715
  while (pointer !== undefined) {
18701
18716
  var map = pointer[key];
18702
18717
  if (map) {
18703
18718
  var innerMap = map[subkey];
18704
18719
  if (innerMap) {
18705
18720
  for (var innerKey in innerMap) {
18721
+ seen = seen || Object.create(null);
18706
18722
  if (!seen[innerKey]) {
18707
18723
  seen[innerKey] = true;
18724
+ calls = calls || [];
18708
18725
  calls.push([innerKey, innerMap[innerKey]]);
18709
18726
  }
18710
18727
  }
@@ -18712,12 +18729,14 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
18712
18729
  }
18713
18730
  pointer = pointer.parent;
18714
18731
  }
18715
- for (var i = 0; i < calls.length; i++) {
18716
- var _calls$i = calls[i];
18717
- var innerKey = _calls$i[0];
18718
- var value = _calls$i[1];
18732
+ if (calls) {
18733
+ for (var i = 0; i < calls.length; i++) {
18734
+ var _calls$i = calls[i];
18735
+ var innerKey = _calls$i[0];
18736
+ var value = _calls$i[1];
18719
18737
 
18720
- fn(innerKey, value);
18738
+ fn(innerKey, value);
18739
+ }
18721
18740
  }
18722
18741
  };
18723
18742
 
@@ -18731,7 +18750,7 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
18731
18750
  if (map) {
18732
18751
  var value = map[subkey];
18733
18752
  if (value !== undefined || subkey in map) {
18734
- return map[subkey];
18753
+ return value;
18735
18754
  }
18736
18755
  }
18737
18756
  pointer = pointer.parent;
@@ -18796,11 +18815,12 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
18796
18815
 
18797
18816
  Meta.prototype['forEach' + capitalized] = function (fn) {
18798
18817
  var pointer = this;
18799
- var seen = new _emberUtils.EmptyObject();
18818
+ var seen = undefined;
18800
18819
  while (pointer !== undefined) {
18801
18820
  var map = pointer[key];
18802
18821
  if (map) {
18803
18822
  for (var _key in map) {
18823
+ seen = seen || Object.create(null);
18804
18824
  if (!seen[_key]) {
18805
18825
  seen[_key] = true;
18806
18826
  fn(_key, map[_key]);
@@ -18905,7 +18925,7 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
18905
18925
  if (map) {
18906
18926
  var value = map[subkey];
18907
18927
  if (value !== undefined || subkey in map) {
18908
- return map[subkey];
18928
+ return value;
18909
18929
  }
18910
18930
  }
18911
18931
  pointer = pointer.parent;
@@ -23902,7 +23922,7 @@ enifed('ember-routing/services/routing', ['exports', 'ember-utils', 'ember-runti
23902
23922
  return req;
23903
23923
  }
23904
23924
  });
23905
- enifed('ember-routing/system/cache', ['exports', 'ember-utils', 'ember-runtime'], function (exports, _emberUtils, _emberRuntime) {
23925
+ enifed('ember-routing/system/cache', ['exports', 'ember-runtime'], function (exports, _emberRuntime) {
23906
23926
  'use strict';
23907
23927
 
23908
23928
  /**
@@ -23914,7 +23934,7 @@ enifed('ember-routing/system/cache', ['exports', 'ember-utils', 'ember-runtime']
23914
23934
  */
23915
23935
  exports.default = _emberRuntime.Object.extend({
23916
23936
  init: function () {
23917
- this.cache = new _emberUtils.EmptyObject();
23937
+ this.cache = Object.create(null);
23918
23938
  },
23919
23939
 
23920
23940
  has: function (bucketKey) {
@@ -23925,7 +23945,7 @@ enifed('ember-routing/system/cache', ['exports', 'ember-utils', 'ember-runtime']
23925
23945
  var bucket = this.cache[bucketKey];
23926
23946
 
23927
23947
  if (!bucket) {
23928
- bucket = this.cache[bucketKey] = new _emberUtils.EmptyObject();
23948
+ bucket = this.cache[bucketKey] = Object.create(null);
23929
23949
  }
23930
23950
 
23931
23951
  bucket[key] = value;
@@ -25757,7 +25777,7 @@ enifed('ember-routing/system/route', ['exports', 'ember-utils', 'ember-metal', '
25757
25777
  when implementing your `setupController` function, make sure to call
25758
25778
  `_super`:
25759
25779
  ```app/routes/photos.js
25760
- import Ember from 'ebmer';
25780
+ import Ember from 'ember';
25761
25781
  export default Ember.Route.extend({
25762
25782
  model() {
25763
25783
  return this.store.findAll('photo');
@@ -26492,15 +26512,15 @@ enifed('ember-routing/system/router', ['exports', 'ember-utils', 'ember-console'
26492
26512
  init: function () {
26493
26513
  this._super.apply(this, arguments);
26494
26514
 
26495
- this._qpCache = new _emberUtils.EmptyObject();
26515
+ this._qpCache = Object.create(null);
26496
26516
  this._resetQueuedQueryParameterChanges();
26497
26517
  this._handledErrors = _emberUtils.dictionary(null);
26498
- this._engineInstances = new _emberUtils.EmptyObject();
26499
- this._engineInfoByRoute = new _emberUtils.EmptyObject();
26518
+ this._engineInstances = Object.create(null);
26519
+ this._engineInfoByRoute = Object.create(null);
26500
26520
  },
26501
26521
 
26502
26522
  /*
26503
- Resets all pending query paramter changes.
26523
+ Resets all pending query parameter changes.
26504
26524
  Called after transitioning to a new route
26505
26525
  based on query parameter changes.
26506
26526
  */
@@ -26915,7 +26935,7 @@ enifed('ember-routing/system/router', ['exports', 'ember-utils', 'ember-console'
26915
26935
  _getHandlerFunction: function () {
26916
26936
  var _this2 = this;
26917
26937
 
26918
- var seen = new _emberUtils.EmptyObject();
26938
+ var seen = Object.create(null);
26919
26939
  var owner = _emberUtils.getOwner(this);
26920
26940
 
26921
26941
  return function (name) {
@@ -27364,7 +27384,7 @@ enifed('ember-routing/system/router', ['exports', 'ember-utils', 'ember-console'
27364
27384
  var engineInstances = this._engineInstances;
27365
27385
 
27366
27386
  if (!engineInstances[name]) {
27367
- engineInstances[name] = new _emberUtils.EmptyObject();
27387
+ engineInstances[name] = Object.create(null);
27368
27388
  }
27369
27389
 
27370
27390
  var engineInstance = engineInstances[name][instanceId];
@@ -27824,7 +27844,7 @@ enifed('ember-routing/system/router', ['exports', 'ember-utils', 'ember-console'
27824
27844
  var target = undefined;
27825
27845
  var myState = {
27826
27846
  render: renderOptions,
27827
- outlets: new _emberUtils.EmptyObject(),
27847
+ outlets: Object.create(null),
27828
27848
  wasUsed: false
27829
27849
  };
27830
27850
  if (renderOptions.into) {
@@ -27860,7 +27880,7 @@ enifed('ember-routing/system/router', ['exports', 'ember-utils', 'ember-console'
27860
27880
  render: {
27861
27881
  name: '__ember_orphans__'
27862
27882
  },
27863
- outlets: new _emberUtils.EmptyObject()
27883
+ outlets: Object.create(null)
27864
27884
  };
27865
27885
  }
27866
27886
  liveRoutes.outlets.__ember_orphans__.outlets[into] = myState;
@@ -29424,7 +29444,7 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-utils
29424
29444
  function uniqBy(dependentKey, propertyKey) {
29425
29445
  return _emberMetal.computed(dependentKey + '.[]', function () {
29426
29446
  var uniq = _emberRuntimeSystemNative_array.A();
29427
- var seen = new _emberUtils.EmptyObject();
29447
+ var seen = Object.create(null);
29428
29448
  var list = _emberMetal.get(this, dependentKey);
29429
29449
  if (_emberRuntimeUtils.isArray(list)) {
29430
29450
  list.forEach(function (item) {
@@ -31500,6 +31520,36 @@ enifed('ember-runtime/mixins/container_proxy', ['exports', 'ember-metal', 'conta
31500
31520
  }, _containerProxyMixin);
31501
31521
 
31502
31522
  if (true) {
31523
+ /**
31524
+ Given a fullName return a factory manager.
31525
+ This method returns a manager which can be used for introspection of the
31526
+ factory's class or for the creation of factory instances with initial
31527
+ properties. The manager is an object with the following properties:
31528
+ * `class` - The registered or resolved class.
31529
+ * `create` - A function that will create an instance of the class with
31530
+ any dependencies injected.
31531
+ For example:
31532
+ ```javascript
31533
+ let owner = Ember.getOwner(otherInstance);
31534
+ // the owner is commonly the `applicationInstance`, and can be accessed via
31535
+ // an instance initializer.
31536
+ let factory = owner.factoryFor('service:bespoke');
31537
+ factory.class;
31538
+ // The registered or resolved class. For example when used with an Ember-CLI
31539
+ // app, this would be the default export from `app/services/bespoke.js`.
31540
+ let instance = factory.create({
31541
+ someProperty: 'an initial property value'
31542
+ });
31543
+ // Create an instance with any injections and the passed options as
31544
+ // initial properties.
31545
+ ```
31546
+ @public
31547
+ @class ContainerProxyMixin
31548
+ @method factoryFor
31549
+ @param {String} fullName
31550
+ @param {Object} options
31551
+ @return {FactoryManager}
31552
+ */
31503
31553
  containerProxyMixin.factoryFor = function ContainerProxyMixin_factoryFor(fullName) {
31504
31554
  var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
31505
31555
 
@@ -32663,7 +32713,7 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
32663
32713
 
32664
32714
  uniqBy: function (key) {
32665
32715
  var ret = emberA();
32666
- var seen = new _emberUtils.EmptyObject();
32716
+ var seen = Object.create(null);
32667
32717
 
32668
32718
  this.forEach(function (item) {
32669
32719
  var guid = _emberUtils.guidFor(_emberMetal.get(item, key));
@@ -35680,7 +35730,7 @@ enifed('ember-runtime/system/core_object', ['exports', 'ember-utils', 'ember-met
35680
35730
  @private
35681
35731
  @method _onLookup
35682
35732
  */
35683
- enifed('ember-runtime/system/each_proxy', ['exports', 'ember-utils', 'ember-metal', 'ember-runtime/mixins/array'], function (exports, _emberUtils, _emberMetal, _emberRuntimeMixinsArray) {
35733
+ enifed('ember-runtime/system/each_proxy', ['exports', 'ember-metal', 'ember-runtime/mixins/array'], function (exports, _emberMetal, _emberRuntimeMixinsArray) {
35684
35734
  'use strict';
35685
35735
 
35686
35736
  exports.default = EachProxy;
@@ -35749,7 +35799,7 @@ enifed('ember-runtime/system/each_proxy', ['exports', 'ember-utils', 'ember-meta
35749
35799
  beginObservingContentKey: function (keyName) {
35750
35800
  var keys = this._keys;
35751
35801
  if (!keys) {
35752
- keys = this._keys = new _emberUtils.EmptyObject();
35802
+ keys = this._keys = Object.create(null);
35753
35803
  }
35754
35804
 
35755
35805
  if (!keys[keyName]) {
@@ -36946,52 +36996,23 @@ enifed("ember-utils/assign", ["exports"], function (exports) {
36946
36996
  return original;
36947
36997
  }
36948
36998
  });
36949
- enifed('ember-utils/dictionary', ['exports', 'ember-utils/empty-object'], function (exports, _emberUtilsEmptyObject) {
36950
- 'use strict';
36951
-
36952
- exports.default = makeDictionary;
36953
-
36999
+ enifed('ember-utils/dictionary', ['exports'], function (exports) {
36954
37000
  // the delete is meant to hint at runtimes that this object should remain in
36955
37001
  // dictionary mode. This is clearly a runtime specific hack, but currently it
36956
37002
  // appears worthwhile in some usecases. Please note, these deletes do increase
36957
37003
  // the cost of creation dramatically over a plain Object.create. And as this
36958
37004
  // only makes sense for long-lived dictionaries that aren't instantiated often.
37005
+ 'use strict';
37006
+
37007
+ exports.default = makeDictionary;
36959
37008
 
36960
37009
  function makeDictionary(parent) {
36961
- var dict = undefined;
36962
- if (parent === null) {
36963
- dict = new _emberUtilsEmptyObject.default();
36964
- } else {
36965
- dict = Object.create(parent);
36966
- }
37010
+ var dict = Object.create(parent);
36967
37011
  dict['_dict'] = null;
36968
37012
  delete dict['_dict'];
36969
37013
  return dict;
36970
37014
  }
36971
37015
  });
36972
- enifed("ember-utils/empty-object", ["exports"], function (exports) {
36973
- // This exists because `Object.create(null)` is absurdly slow compared
36974
- // to `new EmptyObject()`. In either case, you want a null prototype
36975
- // when you're treating the object instances as arbitrary dictionaries
36976
- // and don't want your keys colliding with build-in methods on the
36977
- // default object prototype.
36978
-
36979
- "use strict";
36980
-
36981
- var proto = Object.create(null, {
36982
- // without this, we will always still end up with (new
36983
- // EmptyObject()).constructor === Object
36984
- constructor: {
36985
- value: undefined,
36986
- enumerable: false,
36987
- writable: true
36988
- }
36989
- });
36990
-
36991
- function EmptyObject() {}
36992
- EmptyObject.prototype = proto;
36993
- exports.default = EmptyObject;
36994
- });
36995
37016
  enifed('ember-utils/guid', ['exports', 'ember-utils/intern'], function (exports, _emberUtilsIntern) {
36996
37017
  'use strict';
36997
37018
 
@@ -37196,7 +37217,7 @@ enifed('ember-utils/guid', ['exports', 'ember-utils/intern'], function (exports,
37196
37217
  }
37197
37218
  }
37198
37219
  });
37199
- 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) {
37220
+ 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) {
37200
37221
  /*
37201
37222
  This package will be eagerly parsed and should have no dependencies on external
37202
37223
  packages.
@@ -37214,7 +37235,6 @@ enifed('ember-utils/index', ['exports', 'ember-utils/symbol', 'ember-utils/owner
37214
37235
  exports.setOwner = _emberUtilsOwner.setOwner;
37215
37236
  exports.OWNER = _emberUtilsOwner.OWNER;
37216
37237
  exports.assign = _emberUtilsAssign.default;
37217
- exports.EmptyObject = _emberUtilsEmptyObject.default;
37218
37238
  exports.dictionary = _emberUtilsDictionary.default;
37219
37239
  exports.uuid = _emberUtilsGuid.uuid;
37220
37240
  exports.GUID_KEY = _emberUtilsGuid.GUID_KEY;
@@ -40171,7 +40191,7 @@ enifed('ember/index', ['exports', 'require', 'ember-environment', 'ember-utils',
40171
40191
  enifed("ember/version", ["exports"], function (exports) {
40172
40192
  "use strict";
40173
40193
 
40174
- exports.default = "2.12.0-beta.3";
40194
+ exports.default = "2.12.0";
40175
40195
  });
40176
40196
  enifed('internal-test-helpers/apply-mixins', ['exports', 'ember-utils'], function (exports, _emberUtils) {
40177
40197
  'use strict';