dist/globals/ember-data.prod.js in ember-data-source-2.11.0 vs dist/globals/ember-data.prod.js in ember-data-source-2.11.1

- old
+ new

@@ -4,11 +4,11 @@ /*! * @overview Ember Data * @copyright Copyright 2011-2016 Tilde Inc. and contributors. * Portions Copyright 2011 LivingSocial Inc. * @license Licensed under MIT license (see license.js) - * @version 2.11.0 + * @version 2.11.1 */ var loader, define, requireModule, require, requirejs; (function(global) { @@ -1473,11 +1473,16 @@ }, flushCanonical: function () { var isInitialized = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0]; - var toSet = this.canonicalState; + // TODO make this smarter, currently its plenty stupid + // TODO this filtering was re-introduced as a bugfix, but seems unneeded in 2.13 + // with the changes to internalModel cleanup in that version. + var toSet = this.canonicalState.filter(function (internalModel) { + return internalModel.currentState.stateName !== 'root.deleted.saved'; + }); //a hack for not removing new records //TODO remove once we have proper diffing var newRecords = this.currentState.filter( // only add new records which are not yet in the canonical state of this @@ -10431,12 +10436,19 @@ var normalizedModelName = (0, _emberDataPrivateSystemNormalizeModelName.default)(modelName); // container.registry = 2.1 // container._registry = 1.11 - 2.0 // container = < 1.11 var owner = (0, _emberDataPrivateUtils.getOwner)(this); + var mixin = undefined; - var mixin = owner._lookupFactory('mixin:' + normalizedModelName); + if (owner.factoryFor) { + var MaybeMixin = owner.factoryFor('mixin:' + normalizedModelName); + mixin = MaybeMixin && MaybeMixin.class; + } else { + mixin = owner._lookupFactory('mixin:' + normalizedModelName); + } + if (mixin) { //Cache the class as a model owner.register('model:' + normalizedModelName, _emberDataModel.default.extend(mixin)); } var factory = this.modelFactoryFor(normalizedModelName); @@ -10476,11 +10488,18 @@ modelFactoryFor: function (modelName) { var normalizedKey = (0, _emberDataPrivateSystemNormalizeModelName.default)(modelName); var owner = (0, _emberDataPrivateUtils.getOwner)(this); - return owner._lookupFactory('model:' + normalizedKey); + if (owner.factoryFor) { + var MaybeModel = owner.factoryFor('model:' + normalizedKey); + var MaybeModelFactory = MaybeModel && MaybeModel.class; + + return MaybeModelFactory; + } else { + return owner._lookupFactory('model:' + normalizedKey); + } }, /** Push some data for a given type into the store. This method expects normalized [JSON API](http://jsonapi.org/) document. This means you have to follow [JSON API specification](http://jsonapi.org/format/) with few minor adjustments: @@ -10667,11 +10686,17 @@ return internalModel; }, _hasModelFor: function (modelName) { - return !!(0, _emberDataPrivateUtils.getOwner)(this)._lookupFactory('model:' + modelName); + var owner = (0, _emberDataPrivateUtils.getOwner)(this); + + if (owner.factoryFor) { + return !!owner.factoryFor('model:' + modelName); + } else { + return !!owner._lookupFactory('model:' + modelName); + } }, _pushInternalModel: function (data) { var _this2 = this; @@ -11687,19 +11712,17 @@ /* ember-container-inject-owner is a new feature in Ember 2.3 that finally provides a public API for looking items up. This function serves as a super simple polyfill to avoid triggering deprecations. - */ + */ function getOwner(context) { var owner; if (_ember.default.getOwner) { owner = _ember.default.getOwner(context); - } - - if (!owner && context.container) { + } else if (context.container) { owner = context.container; } if (owner && owner.lookupFactory && !owner._lookupFactory) { // `owner` is a container, we are just making this work @@ -18684,10 +18707,10 @@ */ deserialize: null }); }); define("ember-data/version", ["exports"], function (exports) { - exports.default = "2.11.0"; + exports.default = "2.11.1"; }); define("ember-inflector", ["exports", "ember", "ember-inflector/lib/system", "ember-inflector/lib/ext/string"], function (exports, _ember, _emberInflectorLibSystem, _emberInflectorLibExtString) { _emberInflectorLibSystem.Inflector.defaultRules = _emberInflectorLibSystem.defaultRules; _ember.default.Inflector = _emberInflectorLibSystem.Inflector;