dist/ember.prod.js in ember-source-2.12.0.beta.3 vs dist/ember.prod.js in ember-source-2.12.0
- old
+ new
@@ -4,11 +4,11 @@
* @copyright Copyright 2011-2017 Tilde Inc. and contributors
* Portions Copyright 2006-2011 Strobe Inc.
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
* @license Licensed under MIT license
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
- * @version 2.12.0-beta.3
+ * @version 2.12.0
*/
var enifed, requireModule, Ember;
var mainContext = this; // Used in ember-environment/lib/global.js
@@ -1219,10 +1219,11 @@
function Container(registry, options) {
this.registry = registry;
this.owner = options && options.owner ? options.owner : null;
this.cache = _emberUtils.dictionary(options && options.cache ? options.cache : null);
this.factoryCache = _emberUtils.dictionary(options && options.factoryCache ? options.factoryCache : null);
+ this.factoryManagerCache = _emberUtils.dictionary(options && options.factoryManagerCache ? options.factoryManagerCache : null);
this.validationCache = _emberUtils.dictionary(options && options.validationCache ? options.validationCache : null);
this._fakeContainerToInject = buildFakeContainerWithDeprecations(this);
this[CONTAINER_OVERRIDE] = undefined;
this.isDestroyed = false;
}
@@ -1420,18 +1421,25 @@
if (!normalizedName) {
return;
}
}
+ var cached = this.factoryManagerCache[normalizedName];
+
+ if (cached) {
+ return cached;
+ }
+
var factory = this.registry.resolve(normalizedName);
if (factory === undefined) {
return;
}
var manager = new FactoryManager(this, factory, fullName, normalizedName);
+ this.factoryManagerCache[normalizedName] = manager;
return manager;
};
}
function isSingleton(container, fullName) {
@@ -1672,11 +1680,11 @@
// property that raises deprecations every time it is accessed.
injections.container = container._fakeContainerToInject;
obj = factory.create(_emberUtils.assign({}, injections, props));
// TODO - remove when Ember reaches v3.0.0
- if (!Object.isFrozen(obj) && 'container' in obj) {
+ if (!Object.isFrozen(obj)) {
injectDeprecatedContainer(obj, container);
}
}
return obj;
@@ -1694,10 +1702,13 @@
return factoryInjections;
}
// TODO - remove when Ember reaches v3.0.0
function injectDeprecatedContainer(object, container) {
+ if ('container' in object) {
+ return;
+ }
Object.defineProperty(object, 'container', {
configurable: true,
enumerable: false,
get: function () {
return this[CONTAINER_OVERRIDE] || container;
@@ -1790,26 +1801,28 @@
function FactoryManager(container, factory, fullName, normalizedName) {
this.container = container;
this.class = factory;
this.fullName = fullName;
this.normalizedName = normalizedName;
+ this.madeToString = undefined;
}
FactoryManager.prototype.create = function create() {
var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
var injections = injectionsFor(this.container, this.normalizedName);
var props = _emberUtils.assign({}, injections, options);
- props[_emberUtils.NAME_KEY] = this.container.registry.makeToString(this.class, this.fullName);
+ props[_emberUtils.NAME_KEY] = this.madeToString || (this.madeToString = this.container.registry.makeToString(this.class, this.fullName));
if (!this.class.create) {
throw new Error('Failed to create an instance of \'' + this.normalizedName + '\'. Most likely an improperly defined class or' + ' an invalid module export.');
}
- if (this.class.prototype) {
- injectDeprecatedContainer(this.class.prototype, this.container);
+ var prototype = this.class.prototype;
+ if (prototype) {
+ injectDeprecatedContainer(prototype, this.container);
}
return this.class.create(props);
};
@@ -1904,11 +1917,11 @@
this._typeInjections = _emberUtils.dictionary(null);
this._injections = _emberUtils.dictionary(null);
this._factoryTypeInjections = _emberUtils.dictionary(null);
this._factoryInjections = _emberUtils.dictionary(null);
- this._localLookupCache = new _emberUtils.EmptyObject();
+ this._localLookupCache = Object.create(null);
this._normalizeCache = _emberUtils.dictionary(null);
this._resolveCache = _emberUtils.dictionary(null);
this._failCache = _emberUtils.dictionary(null);
this._options = _emberUtils.dictionary(null);
@@ -2054,11 +2067,11 @@
*/
unregister: function (fullName) {
var normalizedName = this.normalize(fullName);
- this._localLookupCache = new _emberUtils.EmptyObject();
+ this._localLookupCache = Object.create(null);
delete this.registrations[normalizedName];
delete this._resolveCache[normalizedName];
delete this._failCache[normalizedName];
delete this._options[normalizedName];
@@ -2588,11 +2601,11 @@
function expandLocalLookup(registry, normalizedName, normalizedSource) {
var cache = registry._localLookupCache;
var normalizedNameCache = cache[normalizedName];
if (!normalizedNameCache) {
- normalizedNameCache = cache[normalizedName] = new _emberUtils.EmptyObject();
+ normalizedNameCache = cache[normalizedName] = Object.create(null);
}
var cached = normalizedNameCache[normalizedSource];
if (cached !== undefined) {
@@ -4733,12 +4746,12 @@
graph.topsort(cb);
}
});
Engine.reopenClass({
- initializers: new _emberUtils.EmptyObject(),
- instanceInitializers: new _emberUtils.EmptyObject(),
+ initializers: Object.create(null),
+ instanceInitializers: Object.create(null),
/**
The goal of initializers should be to register dependencies and injections.
This phase runs once. Because these initializers may load code, they are
allowed to defer application readiness and advance it. If you need to access
@@ -5800,11 +5813,11 @@
*/
/**
The `ContainerDebugAdapter` helps the container and resolver interface
with tools that debug Ember such as the
- [Ember Extension](https://github.com/tildeio/ember-extension)
+ [Ember Inspector](https://github.com/emberjs/ember-inspector)
for Chrome and Firefox.
This class can be extended by a custom resolver implementer
to override some of the methods with library-specific code.
@@ -8296,19 +8309,19 @@
attributeBindings: ['rows', 'cols', 'name', 'selectionEnd', 'selectionStart', 'wrap', 'lang', 'dir', 'value'],
rows: null,
cols: null
});
});
-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) {
+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) {
/**
@module ember
@submodule ember-views
*/
'use strict';
var inputTypeTestElement = undefined;
- var inputTypes = new _emberUtils.EmptyObject();
+ var inputTypes = Object.create(null);
function canSetTypeOfInput(type) {
if (type in inputTypes) {
return inputTypes[type];
}
@@ -13572,11 +13585,11 @@
function ArrayIterator(array, keyFor) {
this.array = array;
this.length = array.length;
this.keyFor = keyFor;
this.position = 0;
- this.seen = new _emberUtils.EmptyObject();
+ this.seen = Object.create(null);
}
ArrayIterator.prototype.isEmpty = function isEmpty() {
return false;
};
@@ -13608,11 +13621,11 @@
function EmberArrayIterator(array, keyFor) {
this.array = array;
this.length = _emberMetal.get(array, 'length');
this.keyFor = keyFor;
this.position = 0;
- this.seen = new _emberUtils.EmptyObject();
+ this.seen = Object.create(null);
}
EmberArrayIterator.prototype.isEmpty = function isEmpty() {
return this.length === 0;
};
@@ -13644,11 +13657,11 @@
function ObjectKeysIterator(keys, values, keyFor) {
this.keys = keys;
this.values = values;
this.keyFor = keyFor;
this.position = 0;
- this.seen = new _emberUtils.EmptyObject();
+ this.seen = Object.create(null);
}
ObjectKeysIterator.prototype.isEmpty = function isEmpty() {
return this.keys.length === 0;
};
@@ -13893,12 +13906,12 @@
ComponentArgs.prototype.value = function value() {
var namedArgs = this.namedArgs;
var keys = namedArgs.keys;
var attrs = namedArgs.value();
- var props = new _emberUtils.EmptyObject();
- var args = new _emberUtils.EmptyObject();
+ var props = Object.create(null);
+ var args = Object.create(null);
props[_emberGlimmerComponent.ARGS] = args;
for (var i = 0, l = keys.length; i < l; i++) {
var _name = keys[i];
@@ -14017,11 +14030,11 @@
var RootReference = (function (_ConstReference) {
babelHelpers.inherits(RootReference, _ConstReference);
function RootReference(value) {
_ConstReference.call(this, value);
- this.children = new _emberUtils.EmptyObject();
+ this.children = Object.create(null);
}
RootReference.prototype.get = function get(propertyKey) {
var ref = this.children[propertyKey];
@@ -14623,11 +14636,11 @@
if (!matched) {
return null;
}
- var state = new _emberUtils.EmptyObject();
+ var state = Object.create(null);
state[matched.render.outlet] = matched;
matched.wasUsed = true;
return { outlets: state };
};
@@ -15298,11 +15311,11 @@
return new Binding(to, from).connect(obj);
}
exports.Binding = Binding;
});
-enifed('ember-metal/cache', ['exports', 'ember-utils', 'ember-metal/meta'], function (exports, _emberUtils, _emberMetalMeta) {
+enifed('ember-metal/cache', ['exports', 'ember-metal/meta'], function (exports, _emberMetalMeta) {
'use strict';
var Cache = (function () {
function Cache(limit, func, key, store) {
this.size = 0;
@@ -15361,11 +15374,11 @@
exports.default = Cache;
var DefaultStore = (function () {
function DefaultStore() {
- this.data = new _emberUtils.EmptyObject();
+ this.data = Object.create(null);
}
DefaultStore.prototype.get = function get(key) {
return this.data[key];
};
@@ -15373,17 +15386,17 @@
DefaultStore.prototype.set = function set(key, value) {
this.data[key] = value;
};
DefaultStore.prototype.clear = function clear() {
- this.data = new _emberUtils.EmptyObject();
+ this.data = Object.create(null);
};
return DefaultStore;
})();
});
-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) {
+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) {
'use strict';
exports.finishChains = finishChains;
var FIRST_KEY = /^([^\.]+)/;
@@ -15403,11 +15416,11 @@
var ChainWatchers = (function () {
function ChainWatchers() {
// chain nodes that reference a key in this obj by key
// we only create ChainWatchers when we are going to add them
// so create this upfront
- this.chains = new _emberUtils.EmptyObject();
+ this.chains = Object.create(null);
}
ChainWatchers.prototype.add = function add(key, node) {
var nodes = this.chains[key];
if (nodes === undefined) {
@@ -15618,11 +15631,11 @@
ChainNode.prototype.chain = function chain(key, path) {
var chains = this._chains;
var node = undefined;
if (chains === undefined) {
- chains = this._chains = new _emberUtils.EmptyObject();
+ chains = this._chains = Object.create(null);
} else {
node = chains[key];
}
if (node === undefined) {
@@ -17928,14 +17941,14 @@
function missingNew(name) {
throw new TypeError('Constructor ' + name + ' requires \'new\'');
}
function copyNull(obj) {
- var output = new _emberUtils.EmptyObject();
+ var output = Object.create(null);
for (var prop in obj) {
- // hasOwnPropery is not needed because obj is new EmptyObject();
+ // hasOwnPropery is not needed because obj is Object.create(null);
output[prop] = obj[prop];
}
return output;
}
@@ -17987,11 +18000,11 @@
/**
@method clear
@private
*/
clear: function () {
- this.presenceSet = new _emberUtils.EmptyObject();
+ this.presenceSet = Object.create(null);
this.list = [];
this.size = 0;
},
/**
@@ -18143,11 +18156,11 @@
*/
function Map() {
if (this instanceof Map) {
this._keys = OrderedSet.create();
this._keys._silenceRemoveDeprecation = true;
- this._values = new _emberUtils.EmptyObject();
+ this._values = Object.create(null);
this.size = 0;
} else {
missingNew('Map');
}
}
@@ -18299,11 +18312,11 @@
@method clear
@private
*/
clear: function () {
this._keys.clear();
- this._values = new _emberUtils.EmptyObject();
+ this._values = Object.create(null);
this.size = 0;
},
/**
@method copy
@@ -18620,18 +18633,19 @@
Meta.prototype.setProxy = function setProxy() {
this._flags |= IS_PROXY;
};
Meta.prototype._getOrCreateOwnMap = function _getOrCreateOwnMap(key) {
- return this[key] || (this[key] = new _emberUtils.EmptyObject());
+ return this[key] || (this[key] = Object.create(null));
};
Meta.prototype._getInherited = function _getInherited(key) {
var pointer = this;
while (pointer !== undefined) {
- if (pointer[key]) {
- return pointer[key];
+ var map = pointer[key];
+ if (map) {
+ return map;
}
pointer = pointer.parent;
}
};
@@ -18655,11 +18669,11 @@
Meta.prototype.writeDeps = function writeDeps(subkey, itemkey, value) {
var outerMap = this._getOrCreateOwnMap('_deps');
var innerMap = outerMap[subkey];
if (!innerMap) {
- innerMap = outerMap[subkey] = new _emberUtils.EmptyObject();
+ innerMap = outerMap[subkey] = Object.create(null);
}
innerMap[itemkey] = value;
};
Meta.prototype.peekDeps = function peekDeps(subkey, itemkey) {
@@ -18667,12 +18681,13 @@
while (pointer !== undefined) {
var map = pointer._deps;
if (map) {
var value = map[subkey];
if (value) {
- if (value[itemkey] !== undefined) {
- return value[itemkey];
+ var itemvalue = value[itemkey];
+ if (itemvalue !== undefined) {
+ return itemvalue;
}
}
}
pointer = pointer.parent;
}
@@ -18693,33 +18708,37 @@
return this._forEachIn('_deps', subkey, fn);
};
Meta.prototype._forEachIn = function _forEachIn(key, subkey, fn) {
var pointer = this;
- var seen = new _emberUtils.EmptyObject();
- var calls = [];
+ var seen = undefined;
+ var calls = undefined;
while (pointer !== undefined) {
var map = pointer[key];
if (map) {
var innerMap = map[subkey];
if (innerMap) {
for (var innerKey in innerMap) {
+ seen = seen || Object.create(null);
if (!seen[innerKey]) {
seen[innerKey] = true;
+ calls = calls || [];
calls.push([innerKey, innerMap[innerKey]]);
}
}
}
}
pointer = pointer.parent;
}
- for (var i = 0; i < calls.length; i++) {
- var _calls$i = calls[i];
- var innerKey = _calls$i[0];
- var value = _calls$i[1];
+ if (calls) {
+ for (var i = 0; i < calls.length; i++) {
+ var _calls$i = calls[i];
+ var innerKey = _calls$i[0];
+ var value = _calls$i[1];
- fn(innerKey, value);
+ fn(innerKey, value);
+ }
}
};
Meta.prototype.readInheritedValue = function readInheritedValue(key, subkey) {
var internalKey = '_' + key;
@@ -18729,11 +18748,11 @@
while (pointer !== undefined) {
var map = pointer[internalKey];
if (map) {
var value = map[subkey];
if (value !== undefined || subkey in map) {
- return map[subkey];
+ return value;
}
}
pointer = pointer.parent;
}
@@ -18794,15 +18813,16 @@
return this._findInherited(key, subkey);
};
Meta.prototype['forEach' + capitalized] = function (fn) {
var pointer = this;
- var seen = new _emberUtils.EmptyObject();
+ var seen = undefined;
while (pointer !== undefined) {
var map = pointer[key];
if (map) {
for (var _key in map) {
+ seen = seen || Object.create(null);
if (!seen[_key]) {
seen[_key] = true;
fn(_key, map[_key]);
}
}
@@ -18903,11 +18923,11 @@
while (pointer !== undefined) {
var map = pointer[internalKey];
if (map) {
var value = map[subkey];
if (value !== undefined || subkey in map) {
- return map[subkey];
+ return value;
}
}
pointer = pointer.parent;
}
@@ -23900,11 +23920,11 @@
}
return req;
}
});
-enifed('ember-routing/system/cache', ['exports', 'ember-utils', 'ember-runtime'], function (exports, _emberUtils, _emberRuntime) {
+enifed('ember-routing/system/cache', ['exports', 'ember-runtime'], function (exports, _emberRuntime) {
'use strict';
/**
A two-tiered cache with support for fallback values when doing lookups.
Uses "buckets" and then "keys" to cache values.
@@ -23912,22 +23932,22 @@
@private
@class BucketCache
*/
exports.default = _emberRuntime.Object.extend({
init: function () {
- this.cache = new _emberUtils.EmptyObject();
+ this.cache = Object.create(null);
},
has: function (bucketKey) {
return !!this.cache[bucketKey];
},
stash: function (bucketKey, key, value) {
var bucket = this.cache[bucketKey];
if (!bucket) {
- bucket = this.cache[bucketKey] = new _emberUtils.EmptyObject();
+ bucket = this.cache[bucketKey] = Object.create(null);
}
bucket[key] = value;
},
@@ -25755,11 +25775,11 @@
If you implement the `setupController` hook in your Route, it will
prevent this default behavior. If you want to preserve that behavior
when implementing your `setupController` function, make sure to call
`_super`:
```app/routes/photos.js
- import Ember from 'ebmer';
+ import Ember from 'ember';
export default Ember.Route.extend({
model() {
return this.store.findAll('photo');
},
setupController(controller, model) {
@@ -26490,19 +26510,19 @@
},
init: function () {
this._super.apply(this, arguments);
- this._qpCache = new _emberUtils.EmptyObject();
+ this._qpCache = Object.create(null);
this._resetQueuedQueryParameterChanges();
this._handledErrors = _emberUtils.dictionary(null);
- this._engineInstances = new _emberUtils.EmptyObject();
- this._engineInfoByRoute = new _emberUtils.EmptyObject();
+ this._engineInstances = Object.create(null);
+ this._engineInfoByRoute = Object.create(null);
},
/*
- Resets all pending query paramter changes.
+ Resets all pending query parameter changes.
Called after transitioning to a new route
based on query parameter changes.
*/
_resetQueuedQueryParameterChanges: function () {
this._queuedQPChanges = {};
@@ -26913,11 +26933,11 @@
},
_getHandlerFunction: function () {
var _this2 = this;
- var seen = new _emberUtils.EmptyObject();
+ var seen = Object.create(null);
var owner = _emberUtils.getOwner(this);
return function (name) {
var routeName = name;
var routeOwner = owner;
@@ -27362,11 +27382,11 @@
var mountPoint = _ref.mountPoint;
var engineInstances = this._engineInstances;
if (!engineInstances[name]) {
- engineInstances[name] = new _emberUtils.EmptyObject();
+ engineInstances[name] = Object.create(null);
}
var engineInstance = engineInstances[name][instanceId];
if (!engineInstance) {
@@ -27822,11 +27842,11 @@
function appendLiveRoute(liveRoutes, defaultParentState, renderOptions) {
var target = undefined;
var myState = {
render: renderOptions,
- outlets: new _emberUtils.EmptyObject(),
+ outlets: Object.create(null),
wasUsed: false
};
if (renderOptions.into) {
target = findLiveRoute(liveRoutes, renderOptions.into);
} else {
@@ -27858,11 +27878,11 @@
if (!liveRoutes.outlets.__ember_orphans__) {
liveRoutes.outlets.__ember_orphans__ = {
render: {
name: '__ember_orphans__'
},
- outlets: new _emberUtils.EmptyObject()
+ outlets: Object.create(null)
};
}
liveRoutes.outlets.__ember_orphans__.outlets[into] = myState;
_emberMetal.run.schedule('afterRender', function () {});
}
@@ -29422,11 +29442,11 @@
*/
function uniqBy(dependentKey, propertyKey) {
return _emberMetal.computed(dependentKey + '.[]', function () {
var uniq = _emberRuntimeSystemNative_array.A();
- var seen = new _emberUtils.EmptyObject();
+ var seen = Object.create(null);
var list = _emberMetal.get(this, dependentKey);
if (_emberRuntimeUtils.isArray(list)) {
list.forEach(function (item) {
var guid = _emberUtils.guidFor(_emberMetal.get(item, propertyKey));
if (!(guid in seen)) {
@@ -31498,10 +31518,40 @@
_emberMetal.run(this.__container__, 'destroy');
}
}, _containerProxyMixin);
if (true) {
+ /**
+ Given a fullName return a factory manager.
+ This method returns a manager which can be used for introspection of the
+ factory's class or for the creation of factory instances with initial
+ properties. The manager is an object with the following properties:
+ * `class` - The registered or resolved class.
+ * `create` - A function that will create an instance of the class with
+ any dependencies injected.
+ For example:
+ ```javascript
+ let owner = Ember.getOwner(otherInstance);
+ // the owner is commonly the `applicationInstance`, and can be accessed via
+ // an instance initializer.
+ let factory = owner.factoryFor('service:bespoke');
+ factory.class;
+ // The registered or resolved class. For example when used with an Ember-CLI
+ // app, this would be the default export from `app/services/bespoke.js`.
+ let instance = factory.create({
+ someProperty: 'an initial property value'
+ });
+ // Create an instance with any injections and the passed options as
+ // initial properties.
+ ```
+ @public
+ @class ContainerProxyMixin
+ @method factoryFor
+ @param {String} fullName
+ @param {Object} options
+ @return {FactoryManager}
+ */
containerProxyMixin.factoryFor = function ContainerProxyMixin_factoryFor(fullName) {
var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
return this.__container__.factoryFor(fullName, options);
};
@@ -32661,11 +32711,11 @@
@public
*/
uniqBy: function (key) {
var ret = emberA();
- var seen = new _emberUtils.EmptyObject();
+ var seen = Object.create(null);
this.forEach(function (item) {
var guid = _emberUtils.guidFor(_emberMetal.get(item, key));
if (!(guid in seen)) {
seen[guid] = true;
@@ -35678,11 +35728,11 @@
/**
Provides lookup-time type validation for injected properties.
@private
@method _onLookup
*/
-enifed('ember-runtime/system/each_proxy', ['exports', 'ember-utils', 'ember-metal', 'ember-runtime/mixins/array'], function (exports, _emberUtils, _emberMetal, _emberRuntimeMixinsArray) {
+enifed('ember-runtime/system/each_proxy', ['exports', 'ember-metal', 'ember-runtime/mixins/array'], function (exports, _emberMetal, _emberRuntimeMixinsArray) {
'use strict';
exports.default = EachProxy;
/**
@@ -35747,11 +35797,11 @@
// Actual watch keys on the source content.
beginObservingContentKey: function (keyName) {
var keys = this._keys;
if (!keys) {
- keys = this._keys = new _emberUtils.EmptyObject();
+ keys = this._keys = Object.create(null);
}
if (!keys[keyName]) {
keys[keyName] = 1;
var content = this._content;
@@ -36944,56 +36994,27 @@
}
return original;
}
});
-enifed('ember-utils/dictionary', ['exports', 'ember-utils/empty-object'], function (exports, _emberUtilsEmptyObject) {
- 'use strict';
-
- exports.default = makeDictionary;
-
+enifed('ember-utils/dictionary', ['exports'], function (exports) {
// the delete is meant to hint at runtimes that this object should remain in
// dictionary mode. This is clearly a runtime specific hack, but currently it
// appears worthwhile in some usecases. Please note, these deletes do increase
// the cost of creation dramatically over a plain Object.create. And as this
// only makes sense for long-lived dictionaries that aren't instantiated often.
+ 'use strict';
+ exports.default = makeDictionary;
+
function makeDictionary(parent) {
- var dict = undefined;
- if (parent === null) {
- dict = new _emberUtilsEmptyObject.default();
- } else {
- dict = Object.create(parent);
- }
+ var dict = Object.create(parent);
dict['_dict'] = null;
delete dict['_dict'];
return dict;
}
});
-enifed("ember-utils/empty-object", ["exports"], function (exports) {
- // This exists because `Object.create(null)` is absurdly slow compared
- // to `new EmptyObject()`. In either case, you want a null prototype
- // when you're treating the object instances as arbitrary dictionaries
- // and don't want your keys colliding with build-in methods on the
- // default object prototype.
-
- "use strict";
-
- var proto = Object.create(null, {
- // without this, we will always still end up with (new
- // EmptyObject()).constructor === Object
- constructor: {
- value: undefined,
- enumerable: false,
- writable: true
- }
- });
-
- function EmptyObject() {}
- EmptyObject.prototype = proto;
- exports.default = EmptyObject;
-});
enifed('ember-utils/guid', ['exports', 'ember-utils/intern'], function (exports, _emberUtilsIntern) {
'use strict';
exports.uuid = uuid;
exports.generateGuid = generateGuid;
@@ -37194,11 +37215,11 @@
}
return ret;
}
}
});
-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) {
+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) {
/*
This package will be eagerly parsed and should have no dependencies on external
packages.
It is intended to be used to share utility methods that will be needed
@@ -37212,11 +37233,10 @@
exports.symbol = _emberUtilsSymbol.default;
exports.getOwner = _emberUtilsOwner.getOwner;
exports.setOwner = _emberUtilsOwner.setOwner;
exports.OWNER = _emberUtilsOwner.OWNER;
exports.assign = _emberUtilsAssign.default;
- exports.EmptyObject = _emberUtilsEmptyObject.default;
exports.dictionary = _emberUtilsDictionary.default;
exports.uuid = _emberUtilsGuid.uuid;
exports.GUID_KEY = _emberUtilsGuid.GUID_KEY;
exports.GUID_DESC = _emberUtilsGuid.GUID_DESC;
exports.GUID_KEY_PROPERTY = _emberUtilsGuid.GUID_KEY_PROPERTY;
@@ -40169,10 +40189,10 @@
// reduced computed macros
enifed("ember/version", ["exports"], function (exports) {
"use strict";
- exports.default = "2.12.0-beta.3";
+ exports.default = "2.12.0";
});
enifed('internal-test-helpers/apply-mixins', ['exports', 'ember-utils'], function (exports, _emberUtils) {
'use strict';
exports.default = applyMixins;