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.
@@ -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';