ember-data-source 2.18.3 → 3.0.0.beta.1
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.
- checksums.yaml +4 -4
- data/dist/globals/ember-data.js +276 -793
- data/dist/globals/ember-data.min.js +6 -6
- data/dist/globals/ember-data.prod.js +275 -788
- data/package.json +2 -2
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3b39a85eecd96cc962a815fba3e24a1b0da2bfe
|
4
|
+
data.tar.gz: 835bc6f1e348d3b46a3565e5783c003550c03ebb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b97a394a8c8e7b8dc94a5f6a1e1c28870a4883ab9be3e1c266bd9368160da43546122774556978e34099c86d5f2933853a37bca5a19aa0884b3c592f0d96bc49
|
7
|
+
data.tar.gz: b59b72f42b907cbfacbf9bbd8751f16822e62b13b8c3056a8d11b4f052055e682b18911b84a11951928a1574496249338f9d33bb98b765ea5c352c7759d190bf
|
data/dist/globals/ember-data.js
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
* @copyright Copyright 2011-2017 Tilde Inc. and contributors.
|
7
7
|
* Portions Copyright 2011 LivingSocial Inc.
|
8
8
|
* @license Licensed under MIT license (see license.js)
|
9
|
-
* @version
|
9
|
+
* @version 3.0.0-beta.1
|
10
10
|
*/
|
11
11
|
|
12
12
|
var loader, define, requireModule, require, requirejs;
|
@@ -1328,7 +1328,7 @@ define('ember-data/-private/global', ['exports'], function (exports) {
|
|
1328
1328
|
// export real global
|
1329
1329
|
exports.default = checkGlobal(checkElementIdShadowing(typeof global === 'object' && global)) || checkGlobal(typeof self === 'object' && self) || checkGlobal(typeof window === 'object' && window) || new Function('return this')();
|
1330
1330
|
});
|
1331
|
-
define('ember-data/-private', ['exports', 'ember-data/-private/system/model/model', 'ember-data/-private/system/model/errors', 'ember-data/-private/system/store', 'ember-data/-private/core', 'ember-data/-private/system/relationships/belongs-to', 'ember-data/-private/system/relationships/has-many', 'ember-data/-private/adapters/build-url-mixin', 'ember-data/-private/system/snapshot', 'ember-data/-private/adapters/errors', 'ember-data/-private/system/normalize-model-name', 'ember-data/-private/utils', 'ember-data/-private/system/coerce-id', 'ember-data/-private/utils/parse-response-headers', 'ember-data/-private/global', 'ember-data/-private/features', 'ember-data/-private/system/model/states', 'ember-data/-private/system/model/internal-model', 'ember-data/-private/system/
|
1331
|
+
define('ember-data/-private', ['exports', 'ember-data/-private/system/model/model', 'ember-data/-private/system/model/errors', 'ember-data/-private/system/store', 'ember-data/-private/core', 'ember-data/-private/system/relationships/belongs-to', 'ember-data/-private/system/relationships/has-many', 'ember-data/-private/adapters/build-url-mixin', 'ember-data/-private/system/snapshot', 'ember-data/-private/adapters/errors', 'ember-data/-private/system/normalize-model-name', 'ember-data/-private/utils', 'ember-data/-private/system/coerce-id', 'ember-data/-private/utils/parse-response-headers', 'ember-data/-private/global', 'ember-data/-private/features', 'ember-data/-private/system/model/states', 'ember-data/-private/system/model/internal-model', 'ember-data/-private/system/promise-proxies', 'ember-data/-private/system/record-arrays', 'ember-data/-private/system/many-array', 'ember-data/-private/system/record-array-manager', 'ember-data/-private/system/relationships/state/relationship', 'ember-data/-private/system/debug/debug-adapter', 'ember-data/-private/system/diff-array', 'ember-data/-private/system/relationships/relationship-payloads-manager', 'ember-data/-private/system/relationships/relationship-payloads', 'ember-data/-private/system/snapshot-record-array'], function (exports, _model, _errors, _store, _core, _belongsTo, _hasMany, _buildUrlMixin, _snapshot, _errors2, _normalizeModelName, _utils, _coerceId, _parseResponseHeaders, _global, _features, _states, _internalModel, _promiseProxies, _recordArrays, _manyArray, _recordArrayManager, _relationship, _debugAdapter, _diffArray, _relationshipPayloadsManager, _relationshipPayloads, _snapshotRecordArray) {
|
1332
1332
|
'use strict';
|
1333
1333
|
|
1334
1334
|
exports.__esModule = true;
|
@@ -1500,12 +1500,6 @@ define('ember-data/-private', ['exports', 'ember-data/-private/system/model/mode
|
|
1500
1500
|
return _internalModel.default;
|
1501
1501
|
}
|
1502
1502
|
});
|
1503
|
-
Object.defineProperty(exports, 'ContainerInstanceCache', {
|
1504
|
-
enumerable: true,
|
1505
|
-
get: function () {
|
1506
|
-
return _containerInstanceCache.default;
|
1507
|
-
}
|
1508
|
-
});
|
1509
1503
|
Object.defineProperty(exports, 'PromiseArray', {
|
1510
1504
|
enumerable: true,
|
1511
1505
|
get: function () {
|
@@ -2693,24 +2687,12 @@ define('ember-data/-private/system/model/internal-model', ['exports', 'ember-dat
|
|
2693
2687
|
return true;
|
2694
2688
|
}
|
2695
2689
|
|
2696
|
-
// Handle dematerialization for relationship `rel`. In all cases, notify the
|
2697
|
-
// relatinoship of the dematerialization: this is done so the relationship can
|
2698
|
-
// notify its inverse which needs to update state
|
2699
|
-
//
|
2700
|
-
// If the inverse is sync, unloading this record is treated as a client-side
|
2701
|
-
// delete, so we remove the inverse records from this relationship to
|
2702
|
-
// disconnect the graph. Because it's not async, we don't need to keep around
|
2703
|
-
// the internalModel as an id-wrapper for references and because the graph is
|
2704
|
-
// disconnected we can actually destroy the internalModel when checking for
|
2705
|
-
// orphaned models.
|
2706
2690
|
function destroyRelationship(rel) {
|
2707
|
-
rel.
|
2708
|
-
|
2709
|
-
|
2710
|
-
|
2711
|
-
|
2712
|
-
rel.removeAllInternalModelsFromOwn();
|
2713
|
-
rel.removeAllCanonicalInternalModelsFromOwn();
|
2691
|
+
if (rel._inverseIsAsync()) {
|
2692
|
+
rel.removeInternalModelFromInverse(rel.inverseInternalModel);
|
2693
|
+
rel.removeInverseRelationships();
|
2694
|
+
} else {
|
2695
|
+
rel.removeCompletelyFromInverse();
|
2714
2696
|
}
|
2715
2697
|
}
|
2716
2698
|
// this (and all heimdall instrumentation) will be stripped by a babel transform
|
@@ -2929,7 +2911,6 @@ define('ember-data/-private/system/model/internal-model', ['exports', 'ember-dat
|
|
2929
2911
|
|
2930
2912
|
InternalModel.prototype._directlyRelatedInternalModels = function _directlyRelatedInternalModels() {
|
2931
2913
|
var array = [];
|
2932
|
-
|
2933
2914
|
this._relationships.forEach(function (name, rel) {
|
2934
2915
|
array = array.concat(rel.members.list, rel.canonicalMembers.list);
|
2935
2916
|
});
|
@@ -3178,7 +3159,7 @@ define('ember-data/-private/system/model/internal-model', ['exports', 'ember-dat
|
|
3178
3159
|
}
|
3179
3160
|
|
3180
3161
|
if (this.isNew()) {
|
3181
|
-
this.removeFromInverseRelationships(
|
3162
|
+
this.removeFromInverseRelationships();
|
3182
3163
|
}
|
3183
3164
|
|
3184
3165
|
if (this.isValid()) {
|
@@ -3295,13 +3276,9 @@ define('ember-data/-private/system/model/internal-model', ['exports', 'ember-dat
|
|
3295
3276
|
};
|
3296
3277
|
|
3297
3278
|
InternalModel.prototype.removeFromInverseRelationships = function removeFromInverseRelationships() {
|
3298
|
-
var isNew = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
3299
|
-
|
3300
3279
|
this._relationships.forEach(function (name, rel) {
|
3301
3280
|
rel.removeCompletelyFromInverse();
|
3302
|
-
|
3303
|
-
rel.clear();
|
3304
|
-
}
|
3281
|
+
rel.clear();
|
3305
3282
|
});
|
3306
3283
|
|
3307
3284
|
var implicitRelationships = this._implicitRelationships;
|
@@ -3311,9 +3288,7 @@ define('ember-data/-private/system/model/internal-model', ['exports', 'ember-dat
|
|
3311
3288
|
var rel = implicitRelationships[key];
|
3312
3289
|
|
3313
3290
|
rel.removeCompletelyFromInverse();
|
3314
|
-
|
3315
|
-
rel.clear();
|
3316
|
-
}
|
3291
|
+
rel.clear();
|
3317
3292
|
});
|
3318
3293
|
};
|
3319
3294
|
|
@@ -3327,7 +3302,10 @@ define('ember-data/-private/system/model/internal-model', ['exports', 'ember-dat
|
|
3327
3302
|
this.__implicitRelationships = null;
|
3328
3303
|
Object.keys(implicitRelationships).forEach(function (key) {
|
3329
3304
|
var rel = implicitRelationships[key];
|
3305
|
+
|
3330
3306
|
destroyRelationship(rel);
|
3307
|
+
|
3308
|
+
rel.destroy();
|
3331
3309
|
});
|
3332
3310
|
};
|
3333
3311
|
|
@@ -3732,7 +3710,7 @@ define('ember-data/-private/system/model/model', ['exports', 'ember-data/-privat
|
|
3732
3710
|
var relationships = relationshipMap.get(type.modelName).filter(function (relationship) {
|
3733
3711
|
var optionsForRelationship = inverseType.metaForProperty(relationship.name).options;
|
3734
3712
|
|
3735
|
-
if (!optionsForRelationship.inverse) {
|
3713
|
+
if (!optionsForRelationship.inverse && optionsForRelationship.inverse !== null) {
|
3736
3714
|
return true;
|
3737
3715
|
}
|
3738
3716
|
|
@@ -4812,10 +4790,6 @@ define('ember-data/-private/system/model/model', ['exports', 'ember-data/-privat
|
|
4812
4790
|
// the computed property.
|
4813
4791
|
var meta = value.meta();
|
4814
4792
|
|
4815
|
-
/*
|
4816
|
-
This is buggy because if the parent has never been looked up
|
4817
|
-
via `modelFor` it will not have `modelName` set.
|
4818
|
-
*/
|
4819
4793
|
meta.parentType = proto.constructor;
|
4820
4794
|
}
|
4821
4795
|
}
|
@@ -6213,7 +6187,7 @@ define('ember-data/-private/system/record-arrays/adapter-populated-record-array'
|
|
6213
6187
|
|
6214
6188
|
this._super.apply(this, arguments);
|
6215
6189
|
this.query = this.query || null;
|
6216
|
-
this.links = null;
|
6190
|
+
this.links = this.links || null;
|
6217
6191
|
},
|
6218
6192
|
replace: function () {
|
6219
6193
|
throw new Error('The result of a server query (on ' + this.modelName + ') is immutable.');
|
@@ -6811,7 +6785,7 @@ define('ember-data/-private/system/references/belongs-to', ['exports', 'ember-da
|
|
6811
6785
|
if ((0, _features.default)('ds-overhaul-references')) {
|
6812
6786
|
(false && !(false) && Ember.deprecate("BelongsToReference#push(DS.Model) is deprecated. Update relationship via `model.set('relationshipName', value)` instead.", false, {
|
6813
6787
|
id: 'ds.references.belongs-to.push-record',
|
6814
|
-
until: '
|
6788
|
+
until: '4.0.0'
|
6815
6789
|
}));
|
6816
6790
|
}
|
6817
6791
|
record = data;
|
@@ -7228,7 +7202,7 @@ define('ember-data/-private/system/references/has-many', ['exports', 'ember-data
|
|
7228
7202
|
if ((0, _features.default)("ds-overhaul-references")) {
|
7229
7203
|
(false && !(!Array.isArray(payload)) && Ember.deprecate("HasManyReference#push(array) is deprecated. Push a JSON-API document instead.", !Array.isArray(payload), {
|
7230
7204
|
id: 'ds.references.has-many.push-array',
|
7231
|
-
until: '
|
7205
|
+
until: '4.0.0'
|
7232
7206
|
}));
|
7233
7207
|
}
|
7234
7208
|
|
@@ -7240,7 +7214,7 @@ define('ember-data/-private/system/references/has-many', ['exports', 'ember-data
|
|
7240
7214
|
if ((0, _features.default)('ds-overhaul-references')) {
|
7241
7215
|
(false && !(!useLegacyArrayPush) && Ember.deprecate("HasManyReference#push() expects a valid JSON-API document.", !useLegacyArrayPush, {
|
7242
7216
|
id: 'ds.references.has-many.push-invalid-json-api',
|
7243
|
-
until: '
|
7217
|
+
until: '4.0.0'
|
7244
7218
|
}));
|
7245
7219
|
}
|
7246
7220
|
}
|
@@ -7628,7 +7602,7 @@ define('ember-data/-private/system/relationship-meta', ['exports', 'ember-inflec
|
|
7628
7602
|
}
|
7629
7603
|
|
7630
7604
|
function relationshipFromMeta(meta) {
|
7631
|
-
|
7605
|
+
var result = {
|
7632
7606
|
key: meta.key,
|
7633
7607
|
kind: meta.kind,
|
7634
7608
|
type: typeForRelationshipMeta(meta),
|
@@ -7637,6 +7611,12 @@ define('ember-data/-private/system/relationship-meta', ['exports', 'ember-inflec
|
|
7637
7611
|
parentType: meta.parentType,
|
7638
7612
|
isRelationship: true
|
7639
7613
|
};
|
7614
|
+
|
7615
|
+
if (false) {
|
7616
|
+
result.parentType = meta.parentType;
|
7617
|
+
}
|
7618
|
+
|
7619
|
+
return result;
|
7640
7620
|
}
|
7641
7621
|
});
|
7642
7622
|
define('ember-data/-private/system/relationships/belongs-to', ['exports', 'ember-data/-private/system/normalize-model-name'], function (exports, _normalizeModelName) {
|
@@ -8046,7 +8026,7 @@ define('ember-data/-private/system/relationships/relationship-payloads-manager',
|
|
8046
8026
|
}
|
8047
8027
|
}
|
8048
8028
|
|
8049
|
-
var
|
8029
|
+
var _get = Ember.get;
|
8050
8030
|
|
8051
8031
|
var RelationshipPayloadsManager = function () {
|
8052
8032
|
function RelationshipPayloadsManager(store) {
|
@@ -8055,7 +8035,6 @@ define('ember-data/-private/system/relationships/relationship-payloads-manager',
|
|
8055
8035
|
this._store = store;
|
8056
8036
|
// cache of `RelationshipPayload`s
|
8057
8037
|
this._cache = Object.create(null);
|
8058
|
-
this._inverseLookupCache = new _relationshipPayloads.TypeCache();
|
8059
8038
|
}
|
8060
8039
|
|
8061
8040
|
/**
|
@@ -8076,7 +8055,9 @@ define('ember-data/-private/system/relationships/relationship-payloads-manager',
|
|
8076
8055
|
|
8077
8056
|
|
8078
8057
|
RelationshipPayloadsManager.prototype.get = function get(modelName, id, relationshipName) {
|
8079
|
-
var
|
8058
|
+
var modelClass = this._store._modelFor(modelName);
|
8059
|
+
var relationshipsByName = _get(modelClass, 'relationshipsByName');
|
8060
|
+
var relationshipPayloads = this._getRelationshipPayloads(modelName, relationshipName, modelClass, relationshipsByName, false);
|
8080
8061
|
return relationshipPayloads && relationshipPayloads.get(modelName, id, relationshipName);
|
8081
8062
|
};
|
8082
8063
|
|
@@ -8087,8 +8068,10 @@ define('ember-data/-private/system/relationships/relationship-payloads-manager',
|
|
8087
8068
|
return;
|
8088
8069
|
}
|
8089
8070
|
|
8071
|
+
var modelClass = this._store._modelFor(modelName);
|
8072
|
+
var relationshipsByName = _get(modelClass, 'relationshipsByName');
|
8090
8073
|
Object.keys(relationshipsData).forEach(function (key) {
|
8091
|
-
var relationshipPayloads = _this._getRelationshipPayloads(modelName, key, true);
|
8074
|
+
var relationshipPayloads = _this._getRelationshipPayloads(modelName, key, modelClass, relationshipsByName, true);
|
8092
8075
|
if (relationshipPayloads) {
|
8093
8076
|
relationshipPayloads.push(modelName, id, key, relationshipsData[key]);
|
8094
8077
|
}
|
@@ -8099,153 +8082,51 @@ define('ember-data/-private/system/relationships/relationship-payloads-manager',
|
|
8099
8082
|
var _this2 = this;
|
8100
8083
|
|
8101
8084
|
var modelClass = this._store._modelFor(modelName);
|
8102
|
-
var relationshipsByName =
|
8085
|
+
var relationshipsByName = _get(modelClass, 'relationshipsByName');
|
8103
8086
|
relationshipsByName.forEach(function (_, relationshipName) {
|
8104
|
-
var relationshipPayloads = _this2._getRelationshipPayloads(modelName, relationshipName, false);
|
8087
|
+
var relationshipPayloads = _this2._getRelationshipPayloads(modelName, relationshipName, modelClass, relationshipsByName, false);
|
8105
8088
|
if (relationshipPayloads) {
|
8106
8089
|
relationshipPayloads.unload(modelName, id, relationshipName);
|
8107
8090
|
}
|
8108
8091
|
});
|
8109
8092
|
};
|
8110
8093
|
|
8111
|
-
RelationshipPayloadsManager.prototype._getRelationshipPayloads = function _getRelationshipPayloads(modelName, relationshipName, init) {
|
8112
|
-
|
8113
|
-
|
8114
|
-
if (relInfo === null) {
|
8094
|
+
RelationshipPayloadsManager.prototype._getRelationshipPayloads = function _getRelationshipPayloads(modelName, relationshipName, modelClass, relationshipsByName, init) {
|
8095
|
+
if (!relationshipsByName.has(relationshipName)) {
|
8115
8096
|
return;
|
8116
8097
|
}
|
8117
8098
|
|
8118
|
-
var
|
8119
|
-
|
8120
|
-
|
8121
|
-
return this._initializeRelationshipPayloads(relInfo);
|
8099
|
+
var key = modelName + ':' + relationshipName;
|
8100
|
+
if (!this._cache[key] && init) {
|
8101
|
+
return this._initializeRelationshipPayloads(modelName, relationshipName, modelClass, relationshipsByName);
|
8122
8102
|
}
|
8123
8103
|
|
8124
|
-
return
|
8104
|
+
return this._cache[key];
|
8125
8105
|
};
|
8126
8106
|
|
8127
|
-
RelationshipPayloadsManager.prototype.
|
8128
|
-
var inverseCache = this._inverseLookupCache;
|
8129
|
-
var store = this._store;
|
8130
|
-
var cached = inverseCache.get(modelName, relationshipName);
|
8131
|
-
|
8132
|
-
// CASE: We have a cached resolution (null if no relationship exists)
|
8133
|
-
if (cached !== undefined) {
|
8134
|
-
return cached;
|
8135
|
-
}
|
8136
|
-
|
8137
|
-
var modelClass = store._modelFor(modelName);
|
8138
|
-
var relationshipsByName = get(modelClass, 'relationshipsByName');
|
8139
|
-
|
8140
|
-
// CASE: We don't have a relationship at all
|
8141
|
-
if (!relationshipsByName.has(relationshipName)) {
|
8142
|
-
inverseCache.set(modelName, relationshipName, null);
|
8143
|
-
return null;
|
8144
|
-
}
|
8145
|
-
|
8146
|
-
var inverseMeta = modelClass.inverseFor(relationshipName, store);
|
8107
|
+
RelationshipPayloadsManager.prototype._initializeRelationshipPayloads = function _initializeRelationshipPayloads(modelName, relationshipName, modelClass, relationshipsByName) {
|
8147
8108
|
var relationshipMeta = relationshipsByName.get(relationshipName);
|
8148
|
-
var
|
8149
|
-
|
8150
|
-
|
8151
|
-
|
8152
|
-
|
8153
|
-
|
8154
|
-
|
8155
|
-
|
8156
|
-
|
8157
|
-
|
8158
|
-
|
8159
|
-
|
8160
|
-
|
8161
|
-
|
8162
|
-
|
8163
|
-
|
8164
|
-
|
8165
|
-
rhs_isPolymorphic: false,
|
8166
|
-
hasInverse: false,
|
8167
|
-
isSelfReferential: false, // modelName === inverseBaseModelName,
|
8168
|
-
isReflexive: false
|
8169
|
-
};
|
8170
|
-
|
8171
|
-
inverseCache.set(modelName, relationshipName, _info);
|
8172
|
-
|
8173
|
-
return _info;
|
8109
|
+
var inverseMeta = modelClass.inverseFor(relationshipName, this._store);
|
8110
|
+
|
8111
|
+
var inverseModelName = void 0;
|
8112
|
+
var inverseRelationshipName = void 0;
|
8113
|
+
var inverseRelationshipMeta = void 0;
|
8114
|
+
|
8115
|
+
// figure out the inverse relationship; we need two things
|
8116
|
+
// a) the inverse model name
|
8117
|
+
//- b) the name of the inverse relationship
|
8118
|
+
if (inverseMeta) {
|
8119
|
+
inverseRelationshipName = inverseMeta.name;
|
8120
|
+
inverseModelName = relationshipMeta.type;
|
8121
|
+
inverseRelationshipMeta = _get(inverseMeta.type, 'relationshipsByName').get(inverseRelationshipName);
|
8122
|
+
} else {
|
8123
|
+
// relationship has no inverse
|
8124
|
+
inverseModelName = inverseRelationshipName = '';
|
8125
|
+
inverseRelationshipMeta = null;
|
8174
8126
|
}
|
8175
8127
|
|
8176
|
-
|
8177
|
-
|
8178
|
-
var inverseRelationshipName = inverseMeta.name;
|
8179
|
-
var inverseRelationshipMeta = get(inverseMeta.type, 'relationshipsByName').get(inverseRelationshipName);
|
8180
|
-
var baseModelName = inverseRelationshipMeta.type;
|
8181
|
-
var isSelfReferential = baseModelName === inverseBaseModelName;
|
8182
|
-
|
8183
|
-
// TODO we want to assert this but this breaks all of our shoddily written tests
|
8184
|
-
/*
|
8185
|
-
if (DEBUG) {
|
8186
|
-
let inverseDoubleCheck = inverseMeta.type.inverseFor(inverseRelationshipName, store);
|
8187
|
-
assert(`The ${inverseBaseModelName}:${inverseRelationshipName} relationship declares 'inverse: null', but it was resolved as the inverse for ${baseModelName}:${relationshipName}.`, inverseDoubleCheck);
|
8188
|
-
}
|
8189
|
-
*/
|
8190
|
-
|
8191
|
-
// CASE: We may have already discovered the inverse for the baseModelName
|
8192
|
-
// CASE: We have already discovered the inverse
|
8193
|
-
cached = inverseCache.get(baseModelName, relationshipName) || inverseCache.get(inverseBaseModelName, inverseRelationshipName);
|
8194
|
-
if (cached) {
|
8195
|
-
(false && Ember.assert('The ' + inverseBaseModelName + ':' + inverseRelationshipName + ' relationship declares \'inverse: null\', but it was resolved as the inverse for ' + baseModelName + ':' + relationshipName + '.', cached.hasInverse !== false));
|
8196
|
-
|
8197
|
-
|
8198
|
-
var isLHS = cached.lhs_baseModelName === baseModelName;
|
8199
|
-
var modelNames = isLHS ? cached.lhs_modelNames : cached.rhs_modelNames;
|
8200
|
-
// make this lookup easier in the future by caching the key
|
8201
|
-
modelNames.push(modelName);
|
8202
|
-
inverseCache.set(modelName, relationshipName, cached);
|
8203
|
-
|
8204
|
-
return cached;
|
8205
|
-
}
|
8206
|
-
|
8207
|
-
var info = {
|
8208
|
-
lhs_key: baseModelName + ':' + relationshipName,
|
8209
|
-
lhs_modelNames: [modelName],
|
8210
|
-
lhs_baseModelName: baseModelName,
|
8211
|
-
lhs_relationshipName: relationshipName,
|
8212
|
-
lhs_relationshipMeta: relationshipMeta,
|
8213
|
-
lhs_isPolymorphic: selfIsPolymorphic,
|
8214
|
-
rhs_key: inverseBaseModelName + ':' + inverseRelationshipName,
|
8215
|
-
rhs_modelNames: [],
|
8216
|
-
rhs_baseModelName: inverseBaseModelName,
|
8217
|
-
rhs_relationshipName: inverseRelationshipName,
|
8218
|
-
rhs_relationshipMeta: inverseRelationshipMeta,
|
8219
|
-
rhs_isPolymorphic: inverseRelationshipMeta.options !== undefined && inverseRelationshipMeta.options.polymorphic === true,
|
8220
|
-
hasInverse: true,
|
8221
|
-
isSelfReferential: isSelfReferential,
|
8222
|
-
isReflexive: isSelfReferential && relationshipName === inverseRelationshipName
|
8223
|
-
};
|
8224
|
-
|
8225
|
-
// Create entries for the baseModelName as well as modelName to speed up
|
8226
|
-
// inverse lookups
|
8227
|
-
inverseCache.set(baseModelName, relationshipName, info);
|
8228
|
-
inverseCache.set(modelName, relationshipName, info);
|
8229
|
-
|
8230
|
-
// Greedily populate the inverse
|
8231
|
-
inverseCache.set(inverseBaseModelName, inverseRelationshipName, info);
|
8232
|
-
|
8233
|
-
return info;
|
8234
|
-
};
|
8235
|
-
|
8236
|
-
RelationshipPayloadsManager.prototype._initializeRelationshipPayloads = function _initializeRelationshipPayloads(relInfo) {
|
8237
|
-
var lhsKey = relInfo.lhs_key;
|
8238
|
-
var rhsKey = relInfo.rhs_key;
|
8239
|
-
var existingPayloads = this._cache[lhsKey];
|
8240
|
-
|
8241
|
-
if (relInfo.hasInverse === true && relInfo.rhs_isPolymorphic === true) {
|
8242
|
-
existingPayloads = this._cache[rhsKey];
|
8243
|
-
|
8244
|
-
if (existingPayloads !== undefined) {
|
8245
|
-
this._cache[lhsKey] = existingPayloads;
|
8246
|
-
return existingPayloads;
|
8247
|
-
}
|
8248
|
-
}
|
8128
|
+
var lhsKey = modelName + ':' + relationshipName;
|
8129
|
+
var rhsKey = inverseModelName + ':' + inverseRelationshipName;
|
8249
8130
|
|
8250
8131
|
// populate the cache for both sides of the relationship, as they both use
|
8251
8132
|
// the same `RelationshipPayloads`.
|
@@ -8253,13 +8134,7 @@ define('ember-data/-private/system/relationships/relationship-payloads-manager',
|
|
8253
8134
|
// This works out better than creating a single common key, because to
|
8254
8135
|
// compute that key we would need to do work to look up the inverse
|
8255
8136
|
//
|
8256
|
-
|
8257
|
-
|
8258
|
-
if (relInfo.hasInverse === true) {
|
8259
|
-
this._cache[rhsKey] = cache;
|
8260
|
-
}
|
8261
|
-
|
8262
|
-
return cache;
|
8137
|
+
return this._cache[lhsKey] = this._cache[rhsKey] = new _relationshipPayloads.default(this._store, modelName, relationshipName, relationshipMeta, inverseModelName, inverseRelationshipName, inverseRelationshipMeta);
|
8263
8138
|
};
|
8264
8139
|
|
8265
8140
|
return RelationshipPayloadsManager;
|
@@ -8272,6 +8147,12 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8272
8147
|
|
8273
8148
|
exports.__esModule = true;
|
8274
8149
|
|
8150
|
+
function _classCallCheck(instance, Constructor) {
|
8151
|
+
if (!(instance instanceof Constructor)) {
|
8152
|
+
throw new TypeError("Cannot call a class as a function");
|
8153
|
+
}
|
8154
|
+
}
|
8155
|
+
|
8275
8156
|
var _createClass = function () {
|
8276
8157
|
function defineProperties(target, props) {
|
8277
8158
|
for (var i = 0; i < props.length; i++) {
|
@@ -8290,61 +8171,37 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8290
8171
|
};
|
8291
8172
|
}();
|
8292
8173
|
|
8293
|
-
function _classCallCheck(instance, Constructor) {
|
8294
|
-
if (!(instance instanceof Constructor)) {
|
8295
|
-
throw new TypeError("Cannot call a class as a function");
|
8296
|
-
}
|
8297
|
-
}
|
8298
|
-
|
8299
|
-
var TypeCache = exports.TypeCache = function () {
|
8300
|
-
function TypeCache() {
|
8301
|
-
_classCallCheck(this, TypeCache);
|
8302
|
-
|
8303
|
-
this.types = Object.create(null);
|
8304
|
-
}
|
8305
|
-
|
8306
|
-
TypeCache.prototype.get = function get(modelName, id) {
|
8307
|
-
var types = this.types;
|
8308
|
-
|
8309
|
-
|
8310
|
-
if (types[modelName] !== undefined) {
|
8311
|
-
return types[modelName][id];
|
8312
|
-
}
|
8313
|
-
};
|
8314
|
-
|
8315
|
-
TypeCache.prototype.set = function set(modelName, id, payload) {
|
8316
|
-
var types = this.types;
|
8317
|
-
|
8318
|
-
var typeMap = types[modelName];
|
8319
|
-
|
8320
|
-
if (typeMap === undefined) {
|
8321
|
-
typeMap = types[modelName] = Object.create(null);
|
8322
|
-
}
|
8323
|
-
|
8324
|
-
typeMap[id] = payload;
|
8325
|
-
};
|
8326
|
-
|
8327
|
-
TypeCache.prototype.delete = function _delete(modelName, id) {
|
8328
|
-
var types = this.types;
|
8329
|
-
|
8330
|
-
|
8331
|
-
if (types[modelName] !== undefined) {
|
8332
|
-
delete types[modelName][id];
|
8333
|
-
}
|
8334
|
-
};
|
8335
|
-
|
8336
|
-
return TypeCache;
|
8337
|
-
}();
|
8338
|
-
|
8339
8174
|
var RelationshipPayloads = function () {
|
8340
|
-
function RelationshipPayloads(
|
8175
|
+
function RelationshipPayloads(store, modelName, relationshipName, relationshipMeta, inverseModelName, inverseRelationshipName, inverseRelationshipMeta) {
|
8341
8176
|
_classCallCheck(this, RelationshipPayloads);
|
8342
8177
|
|
8343
|
-
this.
|
8178
|
+
this._store = store;
|
8179
|
+
|
8180
|
+
this._lhsModelName = modelName;
|
8181
|
+
this._lhsRelationshipName = relationshipName;
|
8182
|
+
this._lhsRelationshipMeta = relationshipMeta;
|
8183
|
+
|
8184
|
+
this._rhsModelName = inverseModelName;
|
8185
|
+
this._rhsRelationshipName = inverseRelationshipName;
|
8186
|
+
this._rhsRelationshipMeta = inverseRelationshipMeta;
|
8344
8187
|
|
8345
8188
|
// a map of id -> payloads for the left hand side of the relationship.
|
8346
|
-
this.
|
8347
|
-
|
8189
|
+
this._lhsPayloads = Object.create(null);
|
8190
|
+
if (modelName !== inverseModelName || relationshipName !== inverseRelationshipName) {
|
8191
|
+
// The common case of a non-reflexive relationship, or a reflexive
|
8192
|
+
// relationship whose inverse is not itself
|
8193
|
+
this._rhsPayloads = Object.create(null);
|
8194
|
+
this._isReflexive = false;
|
8195
|
+
} else {
|
8196
|
+
// Edge case when we have a reflexive relationship to itself
|
8197
|
+
// eg user hasMany friends inverse friends
|
8198
|
+
//
|
8199
|
+
// In this case there aren't really two sides to the relationship, but
|
8200
|
+
// we set `_rhsPayloads = _lhsPayloads` to make things easier to reason
|
8201
|
+
// about
|
8202
|
+
this._rhsPayloads = this._lhsPayloads;
|
8203
|
+
this._isReflexive = true;
|
8204
|
+
}
|
8348
8205
|
|
8349
8206
|
// When we push relationship payloads, just stash them in a queue until
|
8350
8207
|
// somebody actually asks for one of them.
|
@@ -8355,22 +8212,22 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8355
8212
|
}
|
8356
8213
|
|
8357
8214
|
/**
|
8358
|
-
|
8359
|
-
|
8360
|
-
|
8361
|
-
|
8362
|
-
|
8215
|
+
Get the payload for the relationship of an individual record.
|
8216
|
+
This might return the raw payload as pushed into the store, or one computed
|
8217
|
+
from the payload of the inverse relationship.
|
8218
|
+
@method
|
8219
|
+
*/
|
8363
8220
|
|
8364
8221
|
|
8365
8222
|
RelationshipPayloads.prototype.get = function get(modelName, id, relationshipName) {
|
8366
8223
|
this._flushPending();
|
8367
8224
|
|
8368
8225
|
if (this._isLHS(modelName, relationshipName)) {
|
8369
|
-
return this.
|
8226
|
+
return this._lhsPayloads[id];
|
8370
8227
|
} else {
|
8371
|
-
(false && Ember.assert(modelName + ':' + relationshipName + ' is not either side of this relationship, ' + this.
|
8228
|
+
(false && Ember.assert(modelName + ':' + relationshipName + ' is not either side of this relationship, ' + this._lhsModelName + ':' + this._lhsRelationshipName + '<->' + this._rhsModelName + ':' + this._rhsRelationshipName, this._isRHS(modelName, relationshipName)));
|
8372
8229
|
|
8373
|
-
return this.
|
8230
|
+
return this._rhsPayloads[id];
|
8374
8231
|
}
|
8375
8232
|
};
|
8376
8233
|
|
@@ -8382,40 +8239,20 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8382
8239
|
this._flushPending();
|
8383
8240
|
|
8384
8241
|
if (this._isLHS(modelName, relationshipName)) {
|
8385
|
-
delete this.
|
8242
|
+
delete this._lhsPayloads[id];
|
8386
8243
|
} else {
|
8387
|
-
(false && Ember.assert(modelName + ':' + relationshipName + ' is not either side of this relationship, ' + this.
|
8244
|
+
(false && Ember.assert(modelName + ':' + relationshipName + ' is not either side of this relationship, ' + this._lhsModelName + ':' + this._lhsRelationshipName + '<->' + this._rhsModelName + ':' + this._rhsRelationshipName, this._isRHS(modelName, relationshipName)));
|
8388
8245
|
|
8389
|
-
delete this.
|
8246
|
+
delete this._rhsPayloads[id];
|
8390
8247
|
}
|
8391
8248
|
};
|
8392
8249
|
|
8393
8250
|
RelationshipPayloads.prototype._isLHS = function _isLHS(modelName, relationshipName) {
|
8394
|
-
|
8395
|
-
var isSelfReferential = relInfo.isSelfReferential;
|
8396
|
-
var isRelationship = relationshipName === relInfo.lhs_relationshipName;
|
8397
|
-
|
8398
|
-
if (isRelationship === true) {
|
8399
|
-
return isSelfReferential === true || // itself
|
8400
|
-
modelName === relInfo.lhs_baseModelName || // base or non-polymorphic
|
8401
|
-
relInfo.lhs_modelNames.indexOf(modelName) !== -1; // polymorphic
|
8402
|
-
}
|
8403
|
-
|
8404
|
-
return false;
|
8251
|
+
return modelName === this._lhsModelName && relationshipName === this._lhsRelationshipName;
|
8405
8252
|
};
|
8406
8253
|
|
8407
8254
|
RelationshipPayloads.prototype._isRHS = function _isRHS(modelName, relationshipName) {
|
8408
|
-
|
8409
|
-
var isSelfReferential = relInfo.isSelfReferential;
|
8410
|
-
var isRelationship = relationshipName === relInfo.rhs_relationshipName;
|
8411
|
-
|
8412
|
-
if (isRelationship === true) {
|
8413
|
-
return isSelfReferential === true || // itself
|
8414
|
-
modelName === relInfo.rhs_baseModelName || // base or non-polymorphic
|
8415
|
-
relInfo.rhs_modelNames.indexOf(modelName) !== -1; // polymorphic
|
8416
|
-
}
|
8417
|
-
|
8418
|
-
return false;
|
8255
|
+
return modelName === this._rhsModelName && relationshipName === this._rhsRelationshipName;
|
8419
8256
|
};
|
8420
8257
|
|
8421
8258
|
RelationshipPayloads.prototype._flushPending = function _flushPending() {
|
@@ -8436,28 +8273,26 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8436
8273
|
id: id,
|
8437
8274
|
type: modelName
|
8438
8275
|
}
|
8439
|
-
};
|
8440
8276
|
|
8441
|
-
|
8442
|
-
|
8443
|
-
|
8444
|
-
|
8445
|
-
var previousPayload = void 0;
|
8446
|
-
var
|
8447
|
-
var
|
8277
|
+
// start flushing this individual payload. The logic is the same whether
|
8278
|
+
// it's for the left hand side of the relationship or the right hand side,
|
8279
|
+
// except the role of primary and inverse idToPayloads is reversed
|
8280
|
+
//
|
8281
|
+
};var previousPayload = void 0;
|
8282
|
+
var idToPayloads = void 0;
|
8283
|
+
var inverseIdToPayloads = void 0;
|
8448
8284
|
var inverseIsMany = void 0;
|
8449
|
-
|
8450
8285
|
if (this._isLHS(modelName, relationshipName)) {
|
8451
|
-
previousPayload = this.
|
8452
|
-
|
8453
|
-
|
8286
|
+
previousPayload = this._lhsPayloads[id];
|
8287
|
+
idToPayloads = this._lhsPayloads;
|
8288
|
+
inverseIdToPayloads = this._rhsPayloads;
|
8454
8289
|
inverseIsMany = this._rhsRelationshipIsMany;
|
8455
8290
|
} else {
|
8456
|
-
(false && Ember.assert(modelName + ':' + relationshipName + ' is not either side of this relationship, ' + this.
|
8291
|
+
(false && Ember.assert(modelName + ':' + relationshipName + ' is not either side of this relationship, ' + this._lhsModelName + ':' + this._lhsRelationshipName + '<->' + this._rhsModelName + ':' + this._rhsRelationshipName, this._isRHS(modelName, relationshipName)));
|
8457
8292
|
|
8458
|
-
previousPayload = this.
|
8459
|
-
|
8460
|
-
|
8293
|
+
previousPayload = this._rhsPayloads[id];
|
8294
|
+
idToPayloads = this._rhsPayloads;
|
8295
|
+
inverseIdToPayloads = this._lhsPayloads;
|
8461
8296
|
inverseIsMany = this._lhsRelationshipIsMany;
|
8462
8297
|
}
|
8463
8298
|
|
@@ -8501,14 +8336,14 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8501
8336
|
// * undefined is NOT considered new information, we should keep original state
|
8502
8337
|
// * anything else is considered new information, and it should win
|
8503
8338
|
if (relationshipData.data !== undefined) {
|
8504
|
-
this._removeInverse(id, previousPayload,
|
8339
|
+
this._removeInverse(id, previousPayload, inverseIdToPayloads);
|
8505
8340
|
}
|
8506
|
-
|
8507
|
-
this._populateInverse(relationshipData, inverseRelationshipData,
|
8341
|
+
idToPayloads[id] = relationshipData;
|
8342
|
+
this._populateInverse(relationshipData, inverseRelationshipData, inverseIdToPayloads, inverseIsMany);
|
8508
8343
|
}
|
8509
8344
|
};
|
8510
8345
|
|
8511
|
-
RelationshipPayloads.prototype._populateInverse = function _populateInverse(relationshipData, inversePayload,
|
8346
|
+
RelationshipPayloads.prototype._populateInverse = function _populateInverse(relationshipData, inversePayload, inverseIdToPayloads, inverseIsMany) {
|
8512
8347
|
if (!relationshipData.data) {
|
8513
8348
|
// This id doesn't have an inverse, eg a belongsTo with a payload
|
8514
8349
|
// { data: null }, so there's nothing to populate
|
@@ -8517,24 +8352,22 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8517
8352
|
|
8518
8353
|
if (Array.isArray(relationshipData.data)) {
|
8519
8354
|
for (var i = 0; i < relationshipData.data.length; ++i) {
|
8520
|
-
var
|
8521
|
-
this._addToInverse(inversePayload,
|
8355
|
+
var inverseId = relationshipData.data[i].id;
|
8356
|
+
this._addToInverse(inversePayload, inverseId, inverseIdToPayloads, inverseIsMany);
|
8522
8357
|
}
|
8523
8358
|
} else {
|
8524
|
-
var
|
8525
|
-
this._addToInverse(inversePayload,
|
8359
|
+
var _inverseId = relationshipData.data.id;
|
8360
|
+
this._addToInverse(inversePayload, _inverseId, inverseIdToPayloads, inverseIsMany);
|
8526
8361
|
}
|
8527
8362
|
};
|
8528
8363
|
|
8529
|
-
RelationshipPayloads.prototype._addToInverse = function _addToInverse(inversePayload,
|
8530
|
-
|
8531
|
-
|
8532
|
-
if (relInfo.isReflexive && inversePayload.data.id === resourceIdentifier.id) {
|
8364
|
+
RelationshipPayloads.prototype._addToInverse = function _addToInverse(inversePayload, inverseId, inverseIdToPayloads, inverseIsMany) {
|
8365
|
+
if (this._isReflexive && inversePayload.data.id === inverseId) {
|
8533
8366
|
// eg <user:1>.friends = [{ id: 1, type: 'user' }]
|
8534
8367
|
return;
|
8535
8368
|
}
|
8536
8369
|
|
8537
|
-
var existingPayload =
|
8370
|
+
var existingPayload = inverseIdToPayloads[inverseId];
|
8538
8371
|
var existingData = existingPayload && existingPayload.data;
|
8539
8372
|
|
8540
8373
|
if (existingData) {
|
@@ -8544,22 +8377,22 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8544
8377
|
if (Array.isArray(existingData)) {
|
8545
8378
|
existingData.push(inversePayload.data);
|
8546
8379
|
} else {
|
8547
|
-
|
8380
|
+
inverseIdToPayloads[inverseId] = inversePayload;
|
8548
8381
|
}
|
8549
8382
|
} else {
|
8550
8383
|
// first time we're populating the inverse side
|
8551
8384
|
//
|
8552
8385
|
if (inverseIsMany) {
|
8553
|
-
|
8386
|
+
inverseIdToPayloads[inverseId] = {
|
8554
8387
|
data: [inversePayload.data]
|
8555
|
-
}
|
8388
|
+
};
|
8556
8389
|
} else {
|
8557
|
-
|
8390
|
+
inverseIdToPayloads[inverseId] = inversePayload;
|
8558
8391
|
}
|
8559
8392
|
}
|
8560
8393
|
};
|
8561
8394
|
|
8562
|
-
RelationshipPayloads.prototype._removeInverse = function _removeInverse(id, previousPayload,
|
8395
|
+
RelationshipPayloads.prototype._removeInverse = function _removeInverse(id, previousPayload, inverseIdToPayloads) {
|
8563
8396
|
var data = previousPayload && previousPayload.data;
|
8564
8397
|
if (!data) {
|
8565
8398
|
// either this is the first time we've seen a payload for this id, or its
|
@@ -8574,16 +8407,15 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8574
8407
|
if (Array.isArray(data)) {
|
8575
8408
|
// TODO: diff rather than removeall addall?
|
8576
8409
|
for (var i = 0; i < data.length; ++i) {
|
8577
|
-
|
8578
|
-
this._removeFromInverse(id, resourceIdentifier, inversePayloadMap);
|
8410
|
+
this._removeFromInverse(id, data[i].id, inverseIdToPayloads);
|
8579
8411
|
}
|
8580
8412
|
} else {
|
8581
|
-
this._removeFromInverse(id, data,
|
8413
|
+
this._removeFromInverse(id, data.id, inverseIdToPayloads);
|
8582
8414
|
}
|
8583
8415
|
};
|
8584
8416
|
|
8585
|
-
RelationshipPayloads.prototype._removeFromInverse = function _removeFromInverse(id,
|
8586
|
-
var inversePayload = inversePayloads
|
8417
|
+
RelationshipPayloads.prototype._removeFromInverse = function _removeFromInverse(id, inverseId, inversePayloads) {
|
8418
|
+
var inversePayload = inversePayloads[inverseId];
|
8587
8419
|
var data = inversePayload && inversePayload.data;
|
8588
8420
|
|
8589
8421
|
if (!data) {
|
@@ -8595,23 +8427,21 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8595
8427
|
return x.id !== id;
|
8596
8428
|
});
|
8597
8429
|
} else {
|
8598
|
-
inversePayloads
|
8430
|
+
inversePayloads[inverseId] = {
|
8599
8431
|
data: null
|
8600
|
-
}
|
8432
|
+
};
|
8601
8433
|
}
|
8602
8434
|
};
|
8603
8435
|
|
8604
8436
|
_createClass(RelationshipPayloads, [{
|
8605
8437
|
key: '_lhsRelationshipIsMany',
|
8606
8438
|
get: function () {
|
8607
|
-
|
8608
|
-
return meta !== null && meta.kind === 'hasMany';
|
8439
|
+
return this._lhsRelationshipMeta && this._lhsRelationshipMeta.kind === 'hasMany';
|
8609
8440
|
}
|
8610
8441
|
}, {
|
8611
8442
|
key: '_rhsRelationshipIsMany',
|
8612
8443
|
get: function () {
|
8613
|
-
|
8614
|
-
return meta !== null && meta.kind === 'hasMany';
|
8444
|
+
return this._rhsRelationshipMeta && this._rhsRelationshipMeta.kind === 'hasMany';
|
8615
8445
|
}
|
8616
8446
|
}]);
|
8617
8447
|
|
@@ -8720,7 +8550,6 @@ define('ember-data/-private/system/relationships/state/belongs-to', ['exports',
|
|
8720
8550
|
};
|
8721
8551
|
|
8722
8552
|
BelongsToRelationship.prototype.inverseDidDematerialize = function inverseDidDematerialize() {
|
8723
|
-
_Relationship.prototype.inverseDidDematerialize.call(this, this.inverseInternalModel);
|
8724
8553
|
this.notifyBelongsToChanged();
|
8725
8554
|
};
|
8726
8555
|
|
@@ -8737,12 +8566,6 @@ define('ember-data/-private/system/relationships/state/belongs-to', ['exports',
|
|
8737
8566
|
}
|
8738
8567
|
};
|
8739
8568
|
|
8740
|
-
BelongsToRelationship.prototype.removeCompletelyFromInverse = function removeCompletelyFromInverse() {
|
8741
|
-
_Relationship.prototype.removeCompletelyFromInverse.call(this);
|
8742
|
-
|
8743
|
-
this.inverseInternalModel = null;
|
8744
|
-
};
|
8745
|
-
|
8746
8569
|
BelongsToRelationship.prototype.flushCanonical = function flushCanonical() {
|
8747
8570
|
//temporary fix to not remove newly created records if server returned null.
|
8748
8571
|
//TODO remove once we have proper diffing
|
@@ -8789,12 +8612,6 @@ define('ember-data/-private/system/relationships/state/belongs-to', ['exports',
|
|
8789
8612
|
this.notifyBelongsToChanged();
|
8790
8613
|
};
|
8791
8614
|
|
8792
|
-
BelongsToRelationship.prototype.removeAllInternalModelsFromOwn = function removeAllInternalModelsFromOwn() {
|
8793
|
-
_Relationship.prototype.removeAllInternalModelsFromOwn.call(this);
|
8794
|
-
this.inverseInternalModel = null;
|
8795
|
-
this.notifyBelongsToChanged();
|
8796
|
-
};
|
8797
|
-
|
8798
8615
|
BelongsToRelationship.prototype.notifyBelongsToChanged = function notifyBelongsToChanged() {
|
8799
8616
|
this.internalModel.notifyBelongsToChanged(this.key);
|
8800
8617
|
};
|
@@ -8807,11 +8624,6 @@ define('ember-data/-private/system/relationships/state/belongs-to', ['exports',
|
|
8807
8624
|
_Relationship.prototype.removeCanonicalInternalModelFromOwn.call(this, internalModel);
|
8808
8625
|
};
|
8809
8626
|
|
8810
|
-
BelongsToRelationship.prototype.removeAllCanonicalInternalModelsFromOwn = function removeAllCanonicalInternalModelsFromOwn() {
|
8811
|
-
_Relationship.prototype.removeAllCanonicalInternalModelsFromOwn.call(this);
|
8812
|
-
this.canonicalState = null;
|
8813
|
-
};
|
8814
|
-
|
8815
8627
|
BelongsToRelationship.prototype.findRecord = function findRecord() {
|
8816
8628
|
if (this.inverseInternalModel) {
|
8817
8629
|
return this.store._findByInternalModel(this.inverseInternalModel);
|
@@ -9076,12 +8888,7 @@ define('ember-data/-private/system/relationships/state/has-many', ['exports', 'e
|
|
9076
8888
|
_this.belongsToType = relationshipMeta.type;
|
9077
8889
|
_this.canonicalState = [];
|
9078
8890
|
_this.isPolymorphic = relationshipMeta.options.polymorphic;
|
9079
|
-
// The ManyArray for this relationship
|
9080
8891
|
_this._manyArray = null;
|
9081
|
-
// The previous ManyArray for this relationship. It will be destroyed when
|
9082
|
-
// we create a new many array, but in the interim it will be updated if
|
9083
|
-
// inverse internal models are unloaded.
|
9084
|
-
_this._retainedManyArray = null;
|
9085
8892
|
_this.__loadingPromise = null;
|
9086
8893
|
return _this;
|
9087
8894
|
}
|
@@ -9133,14 +8940,10 @@ define('ember-data/-private/system/relationships/state/has-many', ['exports', 'e
|
|
9133
8940
|
_Relationship.prototype.addCanonicalInternalModel.call(this, internalModel, idx);
|
9134
8941
|
};
|
9135
8942
|
|
9136
|
-
ManyRelationship.prototype.inverseDidDematerialize = function inverseDidDematerialize(
|
9137
|
-
|
9138
|
-
|
9139
|
-
|
9140
|
-
this._retainedManyArray = this._manyArray;
|
9141
|
-
this._manyArray = null;
|
9142
|
-
}
|
9143
|
-
this._removeInternalModelFromManyArray(this._retainedManyArray, inverseInternalModel);
|
8943
|
+
ManyRelationship.prototype.inverseDidDematerialize = function inverseDidDematerialize() {
|
8944
|
+
if (this._manyArray) {
|
8945
|
+
this._manyArray.destroy();
|
8946
|
+
this._manyArray = null;
|
9144
8947
|
}
|
9145
8948
|
this.notifyHasManyChanged();
|
9146
8949
|
};
|
@@ -9170,12 +8973,6 @@ define('ember-data/-private/system/relationships/state/has-many', ['exports', 'e
|
|
9170
8973
|
_Relationship.prototype.removeCanonicalInternalModelFromOwn.call(this, internalModel, idx);
|
9171
8974
|
};
|
9172
8975
|
|
9173
|
-
ManyRelationship.prototype.removeAllCanonicalInternalModelsFromOwn = function removeAllCanonicalInternalModelsFromOwn() {
|
9174
|
-
_Relationship.prototype.removeAllCanonicalInternalModelsFromOwn.call(this);
|
9175
|
-
this.canonicalMembers.clear();
|
9176
|
-
this.canonicalState.splice(0, this.canonicalState.length);
|
9177
|
-
};
|
9178
|
-
|
9179
8976
|
ManyRelationship.prototype.removeCompletelyFromOwn = function removeCompletelyFromOwn(internalModel) {
|
9180
8977
|
_Relationship.prototype.removeCompletelyFromOwn.call(this, internalModel);
|
9181
8978
|
|
@@ -9208,33 +9005,7 @@ define('ember-data/-private/system/relationships/state/has-many', ['exports', 'e
|
|
9208
9005
|
return;
|
9209
9006
|
}
|
9210
9007
|
_Relationship.prototype.removeInternalModelFromOwn.call(this, internalModel, idx);
|
9211
|
-
|
9212
|
-
// (instead of `this._manyArray`) is intentional.
|
9213
|
-
//
|
9214
|
-
// Because we're removing from local, and not canonical, state, it is
|
9215
|
-
// important that the many array is initialized now with those changes,
|
9216
|
-
// otherwise it will be initialized with canonical state and we'll have
|
9217
|
-
// lost the fact that this internalModel was removed.
|
9218
|
-
this._removeInternalModelFromManyArray(this.manyArray, internalModel, idx);
|
9219
|
-
this._removeInternalModelFromManyArray(this._retainedManyArray, internalModel, idx);
|
9220
|
-
};
|
9221
|
-
|
9222
|
-
ManyRelationship.prototype.removeAllInternalModelsFromOwn = function removeAllInternalModelsFromOwn() {
|
9223
|
-
_Relationship.prototype.removeAllInternalModelsFromOwn.call(this);
|
9224
|
-
// as with removeInternalModelFromOwn, we make sure the many array is
|
9225
|
-
// instantiated, or we'll lose local removals, as we're not updating
|
9226
|
-
// canonical state here.
|
9227
|
-
this.manyArray.clear();
|
9228
|
-
if (this._retainedManyArray) {
|
9229
|
-
this._retainedManyArray.clear();
|
9230
|
-
}
|
9231
|
-
};
|
9232
|
-
|
9233
|
-
ManyRelationship.prototype._removeInternalModelFromManyArray = function _removeInternalModelFromManyArray(manyArray, internalModel, idx) {
|
9234
|
-
if (manyArray === null) {
|
9235
|
-
return;
|
9236
|
-
}
|
9237
|
-
|
9008
|
+
var manyArray = this.manyArray;
|
9238
9009
|
if (idx !== undefined) {
|
9239
9010
|
//TODO(Igor) not used currently, fix
|
9240
9011
|
manyArray.currentState.removeAt(idx);
|
@@ -9396,14 +9167,12 @@ define('ember-data/-private/system/relationships/state/has-many', ['exports', 'e
|
|
9396
9167
|
var manyArray = this._manyArray;
|
9397
9168
|
if (manyArray) {
|
9398
9169
|
manyArray.destroy();
|
9399
|
-
this._manyArray = null;
|
9400
9170
|
}
|
9401
9171
|
|
9402
9172
|
var proxy = this.__loadingPromise;
|
9403
9173
|
|
9404
9174
|
if (proxy) {
|
9405
9175
|
proxy.destroy();
|
9406
|
-
this.__loadingPromise = null;
|
9407
9176
|
}
|
9408
9177
|
};
|
9409
9178
|
|
@@ -9415,9 +9184,6 @@ define('ember-data/-private/system/relationships/state/has-many', ['exports', 'e
|
|
9415
9184
|
}, {
|
9416
9185
|
key: 'manyArray',
|
9417
9186
|
get: function () {
|
9418
|
-
(false && Ember.assert('Error: relationship ' + this.parentType + ':' + this.key + ' has both many array and retained many array', this._manyArray === null || this._retainedManyArray === null));
|
9419
|
-
|
9420
|
-
|
9421
9187
|
if (!this._manyArray) {
|
9422
9188
|
this._manyArray = _manyArray.default.create({
|
9423
9189
|
canonicalState: this.canonicalState,
|
@@ -9428,13 +9194,7 @@ define('ember-data/-private/system/relationships/state/has-many', ['exports', 'e
|
|
9428
9194
|
meta: this.meta,
|
9429
9195
|
isPolymorphic: this.isPolymorphic
|
9430
9196
|
});
|
9431
|
-
|
9432
|
-
if (this._retainedManyArray !== null) {
|
9433
|
-
this._retainedManyArray.destroy();
|
9434
|
-
this._retainedManyArray = null;
|
9435
|
-
}
|
9436
9197
|
}
|
9437
|
-
|
9438
9198
|
return this._manyArray;
|
9439
9199
|
}
|
9440
9200
|
}]);
|
@@ -9487,7 +9247,6 @@ define('ember-data/-private/system/relationships/state/relationship', ['exports'
|
|
9487
9247
|
}();
|
9488
9248
|
|
9489
9249
|
var guidFor = Ember.guidFor;
|
9490
|
-
var get = Ember.get;
|
9491
9250
|
|
9492
9251
|
var Relationship = function () {
|
9493
9252
|
function Relationship(store, internalModel, inverseKey, relationshipMeta) {
|
@@ -9511,52 +9270,34 @@ define('ember-data/-private/system/relationships/state/relationship', ['exports'
|
|
9511
9270
|
this.meta = null;
|
9512
9271
|
this.hasData = false;
|
9513
9272
|
this.hasLoaded = false;
|
9514
|
-
this.__inverseMeta = undefined;
|
9515
9273
|
}
|
9516
9274
|
|
9517
9275
|
Relationship.prototype._inverseIsAsync = function _inverseIsAsync() {
|
9518
|
-
|
9519
|
-
if (!inverseMeta) {
|
9276
|
+
if (!this.inverseKey || !this.inverseInternalModel) {
|
9520
9277
|
return false;
|
9521
9278
|
}
|
9522
|
-
|
9523
|
-
var inverseAsync = inverseMeta.options.async;
|
9524
|
-
return typeof inverseAsync === 'undefined' ? true : inverseAsync;
|
9279
|
+
return this.inverseInternalModel._relationships.get(this.inverseKey).isAsync;
|
9525
9280
|
};
|
9526
9281
|
|
9527
|
-
Relationship.prototype.
|
9528
|
-
var inverseMeta = this._inverseMeta;
|
9529
|
-
if (!inverseMeta) {
|
9530
|
-
return false;
|
9531
|
-
}
|
9532
|
-
|
9533
|
-
var inverseAsync = inverseMeta.options.async;
|
9534
|
-
return typeof inverseAsync === 'undefined' ? false : !inverseAsync;
|
9535
|
-
};
|
9536
|
-
|
9537
|
-
Relationship.prototype.internalModelDidDematerialize = function internalModelDidDematerialize() {
|
9538
|
-
var _this = this;
|
9539
|
-
|
9282
|
+
Relationship.prototype.removeInverseRelationships = function removeInverseRelationships() {
|
9540
9283
|
if (!this.inverseKey) {
|
9541
9284
|
return;
|
9542
9285
|
}
|
9543
9286
|
|
9544
|
-
|
9545
|
-
|
9546
|
-
|
9547
|
-
|
9548
|
-
};
|
9287
|
+
var allMembers =
|
9288
|
+
// we actually want a union of members and canonicalMembers
|
9289
|
+
// they should be disjoint but currently are not due to a bug
|
9290
|
+
this.members.list.concat(this.canonicalMembers.list);
|
9549
9291
|
|
9550
|
-
|
9551
|
-
|
9552
|
-
|
9553
|
-
|
9554
|
-
// cache.
|
9555
|
-
this.removeInternalModelFromOwn(inverseInternalModel);
|
9556
|
-
this.removeCanonicalInternalModelFromOwn(inverseInternalModel);
|
9292
|
+
for (var i = 0; i < allMembers.length; i++) {
|
9293
|
+
var inverseInternalModel = allMembers[i];
|
9294
|
+
var relationship = inverseInternalModel._relationships.get(this.inverseKey);
|
9295
|
+
relationship.inverseDidDematerialize();
|
9557
9296
|
}
|
9558
9297
|
};
|
9559
9298
|
|
9299
|
+
Relationship.prototype.inverseDidDematerialize = function inverseDidDematerialize() {};
|
9300
|
+
|
9560
9301
|
Relationship.prototype.updateMeta = function updateMeta(meta) {
|
9561
9302
|
this.meta = meta;
|
9562
9303
|
};
|
@@ -9576,29 +9317,19 @@ define('ember-data/-private/system/relationships/state/relationship', ['exports'
|
|
9576
9317
|
}
|
9577
9318
|
};
|
9578
9319
|
|
9579
|
-
Relationship.prototype.removeAllInternalModelsFromOwn = function removeAllInternalModelsFromOwn() {
|
9580
|
-
this.members.clear();
|
9581
|
-
this.internalModel.updateRecordArrays();
|
9582
|
-
};
|
9583
|
-
|
9584
|
-
Relationship.prototype.removeAllCanonicalInternalModelsFromOwn = function removeAllCanonicalInternalModelsFromOwn() {
|
9585
|
-
this.canonicalMembers.clear();
|
9586
|
-
this.flushCanonicalLater();
|
9587
|
-
};
|
9588
|
-
|
9589
9320
|
Relationship.prototype.removeInternalModels = function removeInternalModels(internalModels) {
|
9590
|
-
var
|
9321
|
+
var _this = this;
|
9591
9322
|
|
9592
9323
|
internalModels.forEach(function (internalModel) {
|
9593
|
-
return
|
9324
|
+
return _this.removeInternalModel(internalModel);
|
9594
9325
|
});
|
9595
9326
|
};
|
9596
9327
|
|
9597
9328
|
Relationship.prototype.addInternalModels = function addInternalModels(internalModels, idx) {
|
9598
|
-
var
|
9329
|
+
var _this2 = this;
|
9599
9330
|
|
9600
9331
|
internalModels.forEach(function (internalModel) {
|
9601
|
-
|
9332
|
+
_this2.addInternalModel(internalModel, idx);
|
9602
9333
|
if (idx !== undefined) {
|
9603
9334
|
idx++;
|
9604
9335
|
}
|
@@ -9641,7 +9372,7 @@ define('ember-data/-private/system/relationships/state/relationship', ['exports'
|
|
9641
9372
|
var _relationships = internalModel._implicitRelationships;
|
9642
9373
|
var _relationship = _relationships[this.inverseKeyForImplicit];
|
9643
9374
|
if (!_relationship) {
|
9644
|
-
_relationship = _relationships[this.inverseKeyForImplicit] = new Relationship(this.store, internalModel, this.key, { options: { async: this.isAsync }
|
9375
|
+
_relationship = _relationships[this.inverseKeyForImplicit] = new Relationship(this.store, internalModel, this.key, { options: { async: this.isAsync } });
|
9645
9376
|
}
|
9646
9377
|
_relationship.addCanonicalInternalModel(this.internalModel);
|
9647
9378
|
}
|
@@ -9679,7 +9410,7 @@ define('ember-data/-private/system/relationships/state/relationship', ['exports'
|
|
9679
9410
|
internalModel._relationships.get(this.inverseKey).addInternalModel(this.internalModel);
|
9680
9411
|
} else {
|
9681
9412
|
if (!internalModel._implicitRelationships[this.inverseKeyForImplicit]) {
|
9682
|
-
internalModel._implicitRelationships[this.inverseKeyForImplicit] = new Relationship(this.store, internalModel, this.key, { options: { async: this.isAsync }
|
9413
|
+
internalModel._implicitRelationships[this.inverseKeyForImplicit] = new Relationship(this.store, internalModel, this.key, { options: { async: this.isAsync } });
|
9683
9414
|
}
|
9684
9415
|
internalModel._implicitRelationships[this.inverseKeyForImplicit].addInternalModel(this.internalModel);
|
9685
9416
|
}
|
@@ -9728,7 +9459,7 @@ define('ember-data/-private/system/relationships/state/relationship', ['exports'
|
|
9728
9459
|
};
|
9729
9460
|
|
9730
9461
|
Relationship.prototype.removeCompletelyFromInverse = function removeCompletelyFromInverse() {
|
9731
|
-
var
|
9462
|
+
var _this3 = this;
|
9732
9463
|
|
9733
9464
|
if (!this.inverseKey) {
|
9734
9465
|
return;
|
@@ -9743,7 +9474,7 @@ define('ember-data/-private/system/relationships/state/relationship', ['exports'
|
|
9743
9474
|
var id = guidFor(inverseInternalModel);
|
9744
9475
|
|
9745
9476
|
if (seen[id] === undefined) {
|
9746
|
-
var relationship = inverseInternalModel._relationships.get(
|
9477
|
+
var relationship = inverseInternalModel._relationships.get(_this3.inverseKey);
|
9747
9478
|
relationship.removeCompletelyFromOwn(internalModel);
|
9748
9479
|
seen[id] = true;
|
9749
9480
|
}
|
@@ -9751,32 +9482,6 @@ define('ember-data/-private/system/relationships/state/relationship', ['exports'
|
|
9751
9482
|
|
9752
9483
|
this.members.forEach(unload);
|
9753
9484
|
this.canonicalMembers.forEach(unload);
|
9754
|
-
|
9755
|
-
if (!this.isAsync) {
|
9756
|
-
this.clear();
|
9757
|
-
}
|
9758
|
-
};
|
9759
|
-
|
9760
|
-
Relationship.prototype.forAllMembers = function forAllMembers(callback) {
|
9761
|
-
var seen = Object.create(null);
|
9762
|
-
|
9763
|
-
for (var i = 0; i < this.members.list.length; i++) {
|
9764
|
-
var inverseInternalModel = this.members.list[i];
|
9765
|
-
var id = guidFor(inverseInternalModel);
|
9766
|
-
if (!seen[id]) {
|
9767
|
-
seen[id] = true;
|
9768
|
-
callback(inverseInternalModel);
|
9769
|
-
}
|
9770
|
-
}
|
9771
|
-
|
9772
|
-
for (var _i = 0; _i < this.canonicalMembers.list.length; _i++) {
|
9773
|
-
var _inverseInternalModel = this.canonicalMembers.list[_i];
|
9774
|
-
var _id = guidFor(_inverseInternalModel);
|
9775
|
-
if (!seen[_id]) {
|
9776
|
-
seen[_id] = true;
|
9777
|
-
callback(_inverseInternalModel);
|
9778
|
-
}
|
9779
|
-
}
|
9780
9485
|
};
|
9781
9486
|
|
9782
9487
|
Relationship.prototype.removeCompletelyFromOwn = function removeCompletelyFromOwn(internalModel) {
|
@@ -9799,8 +9504,8 @@ define('ember-data/-private/system/relationships/state/relationship', ['exports'
|
|
9799
9504
|
|
9800
9505
|
//TODO(Igor) make this less abysmally slow
|
9801
9506
|
this.members = this.canonicalMembers.copy();
|
9802
|
-
for (var
|
9803
|
-
this.members.add(newInternalModels[
|
9507
|
+
for (var _i = 0; _i < newInternalModels.length; _i++) {
|
9508
|
+
this.members.add(newInternalModels[_i]);
|
9804
9509
|
}
|
9805
9510
|
};
|
9806
9511
|
|
@@ -9901,23 +9606,6 @@ define('ember-data/-private/system/relationships/state/relationship', ['exports'
|
|
9901
9606
|
Relationship.prototype.destroy = function destroy() {};
|
9902
9607
|
|
9903
9608
|
_createClass(Relationship, [{
|
9904
|
-
key: '_inverseMeta',
|
9905
|
-
get: function () {
|
9906
|
-
if (this.__inverseMeta === undefined) {
|
9907
|
-
var inverseMeta = null;
|
9908
|
-
|
9909
|
-
if (this.inverseKey) {
|
9910
|
-
var inverseModelClass = this.store.modelFor(this.relationshipMeta.type);
|
9911
|
-
var inverseRelationships = get(inverseModelClass, 'relationshipsByName');
|
9912
|
-
inverseMeta = inverseRelationships.get(this.inverseKey);
|
9913
|
-
}
|
9914
|
-
|
9915
|
-
this.__inverseMeta = inverseMeta;
|
9916
|
-
}
|
9917
|
-
|
9918
|
-
return this.__inverseMeta;
|
9919
|
-
}
|
9920
|
-
}, {
|
9921
9609
|
key: 'parentType',
|
9922
9610
|
get: function () {
|
9923
9611
|
return this.internalModel.modelName;
|
@@ -10323,7 +10011,7 @@ define('ember-data/-private/system/snapshot', ['exports'], function (exports) {
|
|
10323
10011
|
|
10324
10012
|
exports.default = Snapshot;
|
10325
10013
|
});
|
10326
|
-
define('ember-data/-private/system/store', ['exports', 'ember-data/-private/adapters/errors', 'ember-data/-private/system/model/model', 'ember-data/-private/system/normalize-model-name', 'ember-data/-private/system/identity-map', 'ember-data/-private/system/promise-proxies', 'ember-data/-private/system/store/common', 'ember-data/-private/system/store/serializer-response', 'ember-data/-private/system/store/serializers', 'ember-data/-private/system/relationships/relationship-payloads-manager', 'ember-data/-private/system/store/finders', 'ember-data/-private/utils', 'ember-data/-private/system/coerce-id', 'ember-data/-private/system/record-array-manager', 'ember-data/-private/system/
|
10014
|
+
define('ember-data/-private/system/store', ['exports', 'ember-data/-private/adapters/errors', 'ember-data/-private/system/model/model', 'ember-data/-private/system/normalize-model-name', 'ember-data/-private/system/identity-map', 'ember-data/-private/system/promise-proxies', 'ember-data/-private/system/store/common', 'ember-data/-private/system/store/serializer-response', 'ember-data/-private/system/store/serializers', 'ember-data/-private/system/relationships/relationship-payloads-manager', 'ember-data/-private/system/store/finders', 'ember-data/-private/utils', 'ember-data/-private/system/coerce-id', 'ember-data/-private/system/record-array-manager', 'ember-data/-private/system/model/internal-model', 'ember-data/-private/features'], function (exports, _errors, _model, _normalizeModelName, _identityMap, _promiseProxies, _common, _serializerResponse, _serializers, _relationshipPayloadsManager, _finders, _utils, _coerceId, _recordArrayManager, _internalModel5, _features) {
|
10327
10015
|
'use strict';
|
10328
10016
|
|
10329
10017
|
exports.__esModule = true;
|
@@ -10465,7 +10153,6 @@ define('ember-data/-private/system/store', ['exports', 'ember-data/-private/adap
|
|
10465
10153
|
this.recordArrayManager = new _recordArrayManager.default({ store: this });
|
10466
10154
|
this._identityMap = new _identityMap.default();
|
10467
10155
|
this._pendingSave = [];
|
10468
|
-
this._instanceCache = new _containerInstanceCache.default((0, _utils.getOwner)(this), this);
|
10469
10156
|
this._modelFactoryCache = Object.create(null);
|
10470
10157
|
this._relationshipsPayloads = new _relationshipPayloadsManager.default(this);
|
10471
10158
|
|
@@ -10491,7 +10178,8 @@ define('ember-data/-private/system/store', ['exports', 'ember-data/-private/adap
|
|
10491
10178
|
}
|
10492
10179
|
});
|
10493
10180
|
|
10494
|
-
this.
|
10181
|
+
this._adapterCache = Object.create(null);
|
10182
|
+
this._serializerCache = Object.create(null);
|
10495
10183
|
},
|
10496
10184
|
|
10497
10185
|
|
@@ -12703,7 +12391,49 @@ define('ember-data/-private/system/store', ['exports', 'ember-data/-private/adap
|
|
12703
12391
|
|
12704
12392
|
var normalizedModelName = (0, _normalizeModelName.default)(modelName);
|
12705
12393
|
|
12706
|
-
|
12394
|
+
var _adapterCache = this._adapterCache;
|
12395
|
+
|
12396
|
+
var adapter = _adapterCache[normalizedModelName];
|
12397
|
+
if (adapter) {
|
12398
|
+
return adapter;
|
12399
|
+
}
|
12400
|
+
|
12401
|
+
var owner = (0, _utils.getOwner)(this);
|
12402
|
+
|
12403
|
+
adapter = owner.lookup('adapter:' + normalizedModelName);
|
12404
|
+
if (adapter !== undefined) {
|
12405
|
+
set(adapter, 'store', this);
|
12406
|
+
_adapterCache[normalizedModelName] = adapter;
|
12407
|
+
return adapter;
|
12408
|
+
}
|
12409
|
+
|
12410
|
+
// no adapter found for the specific model, fallback and check for application adapter
|
12411
|
+
adapter = _adapterCache.application || owner.lookup('adapter:application');
|
12412
|
+
if (adapter !== undefined) {
|
12413
|
+
set(adapter, 'store', this);
|
12414
|
+
_adapterCache[normalizedModelName] = adapter;
|
12415
|
+
_adapterCache.application = adapter;
|
12416
|
+
return adapter;
|
12417
|
+
}
|
12418
|
+
|
12419
|
+
// no model specific adapter or application adapter, check for an `adapter`
|
12420
|
+
// property defined on the store
|
12421
|
+
var adapterName = this.get('adapter');
|
12422
|
+
adapter = _adapterCache[adapterName] || owner.lookup('adapter:' + adapterName);
|
12423
|
+
if (adapter !== undefined) {
|
12424
|
+
set(adapter, 'store', this);
|
12425
|
+
_adapterCache[normalizedModelName] = adapter;
|
12426
|
+
_adapterCache[adapterName] = adapter;
|
12427
|
+
return adapter;
|
12428
|
+
}
|
12429
|
+
|
12430
|
+
// final fallback, no model specific adapter, no application adapter, no
|
12431
|
+
// `adapter` property on store: use json-api adapter
|
12432
|
+
adapter = _adapterCache['-json-api'] || owner.lookup('adapter:-json-api');
|
12433
|
+
set(adapter, 'store', this);
|
12434
|
+
_adapterCache[normalizedModelName] = adapter;
|
12435
|
+
_adapterCache['-json-api'] = adapter;
|
12436
|
+
return adapter;
|
12707
12437
|
},
|
12708
12438
|
|
12709
12439
|
|
@@ -12734,7 +12464,51 @@ define('ember-data/-private/system/store', ['exports', 'ember-data/-private/adap
|
|
12734
12464
|
|
12735
12465
|
var normalizedModelName = (0, _normalizeModelName.default)(modelName);
|
12736
12466
|
|
12737
|
-
|
12467
|
+
var _serializerCache = this._serializerCache;
|
12468
|
+
|
12469
|
+
var serializer = _serializerCache[normalizedModelName];
|
12470
|
+
if (serializer) {
|
12471
|
+
return serializer;
|
12472
|
+
}
|
12473
|
+
|
12474
|
+
var owner = (0, _utils.getOwner)(this);
|
12475
|
+
|
12476
|
+
serializer = owner.lookup('serializer:' + normalizedModelName);
|
12477
|
+
if (serializer !== undefined) {
|
12478
|
+
set(serializer, 'store', this);
|
12479
|
+
_serializerCache[normalizedModelName] = serializer;
|
12480
|
+
return serializer;
|
12481
|
+
}
|
12482
|
+
|
12483
|
+
// no serializer found for the specific model, fallback and check for application serializer
|
12484
|
+
serializer = _serializerCache.application || owner.lookup('serializer:application');
|
12485
|
+
if (serializer !== undefined) {
|
12486
|
+
set(serializer, 'store', this);
|
12487
|
+
_serializerCache[normalizedModelName] = serializer;
|
12488
|
+
_serializerCache.application = serializer;
|
12489
|
+
return serializer;
|
12490
|
+
}
|
12491
|
+
|
12492
|
+
// no model specific serializer or application serializer, check for the `defaultSerializer`
|
12493
|
+
// property defined on the adapter
|
12494
|
+
var adapter = this.adapterFor(modelName);
|
12495
|
+
var serializerName = get(adapter, 'defaultSerializer');
|
12496
|
+
serializer = _serializerCache[serializerName] || owner.lookup('serializer:' + serializerName);
|
12497
|
+
if (serializer !== undefined) {
|
12498
|
+
set(serializer, 'store', this);
|
12499
|
+
_serializerCache[normalizedModelName] = serializer;
|
12500
|
+
_serializerCache[serializerName] = serializer;
|
12501
|
+
return serializer;
|
12502
|
+
}
|
12503
|
+
|
12504
|
+
// final fallback, no model specific serializer, no application serializer, no
|
12505
|
+
// `serializer` property on store: use json-api serializer
|
12506
|
+
serializer = _serializerCache['-default'] || owner.lookup('serializer:-default');
|
12507
|
+
set(serializer, 'store', this);
|
12508
|
+
_serializerCache[normalizedModelName] = serializer;
|
12509
|
+
_serializerCache['-default'] = serializer;
|
12510
|
+
|
12511
|
+
return serializer;
|
12738
12512
|
},
|
12739
12513
|
lookupAdapter: function (name) {
|
12740
12514
|
(false && !(false) && Ember.deprecate('Use of lookupAdapter is deprecated, use adapterFor instead.', false, {
|
@@ -12756,7 +12530,9 @@ define('ember-data/-private/system/store', ['exports', 'ember-data/-private/adap
|
|
12756
12530
|
this._super.apply(this, arguments);
|
12757
12531
|
this._pushedInternalModels = null;
|
12758
12532
|
this.recordArrayManager.destroy();
|
12759
|
-
|
12533
|
+
|
12534
|
+
this._adapterCache = null;
|
12535
|
+
this._serializerCache = null;
|
12760
12536
|
|
12761
12537
|
this.unloadAll();
|
12762
12538
|
},
|
@@ -12993,112 +12769,6 @@ define('ember-data/-private/system/store/common', ['exports'], function (exports
|
|
12993
12769
|
return !(get(object, "isDestroyed") || get(object, "isDestroying"));
|
12994
12770
|
}
|
12995
12771
|
});
|
12996
|
-
define('ember-data/-private/system/store/container-instance-cache', ['exports'], function (exports) {
|
12997
|
-
'use strict';
|
12998
|
-
|
12999
|
-
exports.__esModule = true;
|
13000
|
-
|
13001
|
-
function _classCallCheck(instance, Constructor) {
|
13002
|
-
if (!(instance instanceof Constructor)) {
|
13003
|
-
throw new TypeError("Cannot call a class as a function");
|
13004
|
-
}
|
13005
|
-
}
|
13006
|
-
|
13007
|
-
var set = Ember.set;
|
13008
|
-
|
13009
|
-
var ContainerInstanceCache = function () {
|
13010
|
-
function ContainerInstanceCache(owner, store) {
|
13011
|
-
_classCallCheck(this, ContainerInstanceCache);
|
13012
|
-
|
13013
|
-
this.isDestroying = false;
|
13014
|
-
this.isDestroyed = false;
|
13015
|
-
this._owner = owner;
|
13016
|
-
this._store = store;
|
13017
|
-
this._namespaces = {
|
13018
|
-
adapter: Object.create(null),
|
13019
|
-
serializer: Object.create(null)
|
13020
|
-
};
|
13021
|
-
}
|
13022
|
-
|
13023
|
-
ContainerInstanceCache.prototype.get = function get(namespace, preferredKey) {
|
13024
|
-
var cache = this._namespaces[namespace];
|
13025
|
-
|
13026
|
-
if (cache[preferredKey]) {
|
13027
|
-
return cache[preferredKey];
|
13028
|
-
}
|
13029
|
-
|
13030
|
-
var preferredLookupKey = namespace + ':' + preferredKey;
|
13031
|
-
|
13032
|
-
var instance = this._instanceFor(preferredLookupKey) || this._findInstance(namespace, this._fallbacksFor(namespace, preferredKey));
|
13033
|
-
if (instance) {
|
13034
|
-
cache[preferredKey] = instance;
|
13035
|
-
set(instance, 'store', this._store);
|
13036
|
-
}
|
13037
|
-
|
13038
|
-
return cache[preferredKey];
|
13039
|
-
};
|
13040
|
-
|
13041
|
-
ContainerInstanceCache.prototype._fallbacksFor = function _fallbacksFor(namespace, preferredKey) {
|
13042
|
-
if (namespace === 'adapter') {
|
13043
|
-
return ['application', this._store.get('adapter'), '-json-api'];
|
13044
|
-
}
|
13045
|
-
|
13046
|
-
// serializer
|
13047
|
-
return ['application', this.get('adapter', preferredKey).get('defaultSerializer'), '-default'];
|
13048
|
-
};
|
13049
|
-
|
13050
|
-
ContainerInstanceCache.prototype._findInstance = function _findInstance(namespace, fallbacks) {
|
13051
|
-
var cache = this._namespaces[namespace];
|
13052
|
-
|
13053
|
-
for (var i = 0, length = fallbacks.length; i < length; i++) {
|
13054
|
-
var fallback = fallbacks[i];
|
13055
|
-
|
13056
|
-
if (cache[fallback]) {
|
13057
|
-
return cache[fallback];
|
13058
|
-
}
|
13059
|
-
|
13060
|
-
var lookupKey = namespace + ':' + fallback;
|
13061
|
-
var instance = this._instanceFor(lookupKey);
|
13062
|
-
|
13063
|
-
if (instance) {
|
13064
|
-
cache[fallback] = instance;
|
13065
|
-
return instance;
|
13066
|
-
}
|
13067
|
-
}
|
13068
|
-
};
|
13069
|
-
|
13070
|
-
ContainerInstanceCache.prototype._instanceFor = function _instanceFor(key) {
|
13071
|
-
return this._owner.lookup(key);
|
13072
|
-
};
|
13073
|
-
|
13074
|
-
ContainerInstanceCache.prototype.destroyCache = function destroyCache(cache) {
|
13075
|
-
var cacheEntries = Object.keys(cache);
|
13076
|
-
|
13077
|
-
for (var i = 0, length = cacheEntries.length; i < length; i++) {
|
13078
|
-
var cacheKey = cacheEntries[i];
|
13079
|
-
var cacheEntry = cache[cacheKey];
|
13080
|
-
if (cacheEntry) {
|
13081
|
-
cacheEntry.destroy();
|
13082
|
-
}
|
13083
|
-
}
|
13084
|
-
};
|
13085
|
-
|
13086
|
-
ContainerInstanceCache.prototype.destroy = function destroy() {
|
13087
|
-
this.isDestroying = true;
|
13088
|
-
this.destroyCache(this._namespaces.adapter);
|
13089
|
-
this.destroyCache(this._namespaces.serializer);
|
13090
|
-
this.isDestroyed = true;
|
13091
|
-
};
|
13092
|
-
|
13093
|
-
ContainerInstanceCache.prototype.toString = function toString() {
|
13094
|
-
return 'ContainerInstanceCache';
|
13095
|
-
};
|
13096
|
-
|
13097
|
-
return ContainerInstanceCache;
|
13098
|
-
}();
|
13099
|
-
|
13100
|
-
exports.default = ContainerInstanceCache;
|
13101
|
-
});
|
13102
12772
|
define('ember-data/-private/system/store/finders', ['exports', 'ember-data/-private/system/store/common', 'ember-data/-private/system/store/serializer-response', 'ember-data/-private/system/store/serializers'], function (exports, _common, _serializerResponse, _serializers) {
|
13103
12773
|
'use strict';
|
13104
12774
|
|
@@ -15429,10 +15099,7 @@ define('ember-data/attr', ['exports'], function (exports) {
|
|
15429
15099
|
return options.defaultValue.apply(null, arguments);
|
15430
15100
|
} else {
|
15431
15101
|
var defaultValue = options.defaultValue;
|
15432
|
-
(false &&
|
15433
|
-
id: 'ds.defaultValue.complex-object',
|
15434
|
-
until: '3.0.0'
|
15435
|
-
}));
|
15102
|
+
(false && Ember.assert('Non primitive defaultValues are not supported because they are shared between all instances. If you would like to use a complex object as a default value please provide a function that returns the complex object.', typeof defaultValue !== 'object' || defaultValue === null));
|
15436
15103
|
|
15437
15104
|
return defaultValue;
|
15438
15105
|
}
|
@@ -15696,10 +15363,6 @@ define('ember-data/initialize-store-service', ['exports'], function (exports) {
|
|
15696
15363
|
|
15697
15364
|
exports.__esModule = true;
|
15698
15365
|
exports.default = initializeStoreService;
|
15699
|
-
|
15700
|
-
|
15701
|
-
var deprecateOldEmberDataInitializers = void 0;
|
15702
|
-
|
15703
15366
|
/*
|
15704
15367
|
Configures a registry for use with an Ember-Data
|
15705
15368
|
store.
|
@@ -15714,60 +15377,7 @@ define('ember-data/initialize-store-service', ['exports'], function (exports) {
|
|
15714
15377
|
|
15715
15378
|
// Eagerly generate the store so defaultStore is populated.
|
15716
15379
|
container.lookup('service:store');
|
15717
|
-
|
15718
|
-
if (false) {
|
15719
|
-
// In Ember 2.4+ instance.base is the `Ember.Application` or `Ember.Engine` instance
|
15720
|
-
// In Ember 1.11 - 2.3 we fallback to `instance.application`
|
15721
|
-
var base = instance.base || instance.application;
|
15722
|
-
deprecateOldEmberDataInitializers(base.constructor.initializers);
|
15723
|
-
}
|
15724
15380
|
}
|
15725
|
-
|
15726
|
-
if (false) {
|
15727
|
-
var DEPRECATED_INITIALIZER_NAMES = ['data-adapter', 'injectStore', 'transforms', 'store'];
|
15728
|
-
|
15729
|
-
var matchesDeprecatedInititalizer = function matchesDeprecatedInititalizer(name) {
|
15730
|
-
return DEPRECATED_INITIALIZER_NAMES.indexOf(name) !== -1;
|
15731
|
-
};
|
15732
|
-
|
15733
|
-
var warnForDeprecatedInitializers = function warnForDeprecatedInitializers(initializer) {
|
15734
|
-
var deprecatedBeforeInitializer = matchesDeprecatedInititalizer(initializer.before);
|
15735
|
-
var deprecatedAfterInitializer = matchesDeprecatedInititalizer(initializer.after);
|
15736
|
-
var deprecatedProp = deprecatedBeforeInitializer ? 'before' : 'after';
|
15737
|
-
|
15738
|
-
(false && !(!(deprecatedBeforeInitializer || deprecatedAfterInitializer)) && Ember.deprecate('The initializer `' + initializer[deprecatedProp] + '` has been deprecated. Please update your `' + initializer.name + '` initializer to use use `' + deprecatedProp + ': \'ember-data\'` instead.', !(deprecatedBeforeInitializer || deprecatedAfterInitializer), {
|
15739
|
-
id: 'ds.deprecated-initializers',
|
15740
|
-
until: '3.0.0'
|
15741
|
-
}));
|
15742
|
-
};
|
15743
|
-
|
15744
|
-
deprecateOldEmberDataInitializers = function deprecateOldEmberDataInitializers(initializers) {
|
15745
|
-
// collect all of the initializers
|
15746
|
-
var keys = Object.keys(initializers);
|
15747
|
-
|
15748
|
-
for (var i = 0; i < keys.length; i++) {
|
15749
|
-
var name = keys[i];
|
15750
|
-
|
15751
|
-
// filter out all of the Ember Data initializer. We have some
|
15752
|
-
// deprecated initializers that depend on other deprecated
|
15753
|
-
// initializers which may trigger the deprecation warning
|
15754
|
-
// unintentionally.
|
15755
|
-
if (!matchesDeprecatedInititalizer(name)) {
|
15756
|
-
warnForDeprecatedInitializers(initializers[name]);
|
15757
|
-
}
|
15758
|
-
}
|
15759
|
-
};
|
15760
|
-
}
|
15761
|
-
});
|
15762
|
-
define('ember-data/initializers/data-adapter', ['exports'], function (exports) {
|
15763
|
-
'use strict';
|
15764
|
-
|
15765
|
-
exports.__esModule = true;
|
15766
|
-
exports.default = {
|
15767
|
-
name: 'data-adapter',
|
15768
|
-
before: 'store',
|
15769
|
-
initialize: function () {}
|
15770
|
-
};
|
15771
15381
|
});
|
15772
15382
|
define('ember-data/initializers/ember-data', ['exports', 'ember-data/setup-container', 'ember-data'], function (exports, _setupContainer) {
|
15773
15383
|
'use strict';
|
@@ -15778,36 +15388,6 @@ define('ember-data/initializers/ember-data', ['exports', 'ember-data/setup-conta
|
|
15778
15388
|
initialize: _setupContainer.default
|
15779
15389
|
};
|
15780
15390
|
});
|
15781
|
-
define('ember-data/initializers/injectStore', ['exports'], function (exports) {
|
15782
|
-
'use strict';
|
15783
|
-
|
15784
|
-
exports.__esModule = true;
|
15785
|
-
exports.default = {
|
15786
|
-
name: 'injectStore',
|
15787
|
-
before: 'store',
|
15788
|
-
initialize: function () {}
|
15789
|
-
};
|
15790
|
-
});
|
15791
|
-
define('ember-data/initializers/store', ['exports'], function (exports) {
|
15792
|
-
'use strict';
|
15793
|
-
|
15794
|
-
exports.__esModule = true;
|
15795
|
-
exports.default = {
|
15796
|
-
name: 'store',
|
15797
|
-
after: 'ember-data',
|
15798
|
-
initialize: function () {}
|
15799
|
-
};
|
15800
|
-
});
|
15801
|
-
define('ember-data/initializers/transforms', ['exports'], function (exports) {
|
15802
|
-
'use strict';
|
15803
|
-
|
15804
|
-
exports.__esModule = true;
|
15805
|
-
exports.default = {
|
15806
|
-
name: 'transforms',
|
15807
|
-
before: 'store',
|
15808
|
-
initialize: function () {}
|
15809
|
-
};
|
15810
|
-
});
|
15811
15391
|
define("ember-data/instance-initializers/ember-data", ["exports", "ember-data/initialize-store-service"], function (exports, _initializeStoreService) {
|
15812
15392
|
"use strict";
|
15813
15393
|
|
@@ -16652,7 +16232,7 @@ define('ember-data/serializers/json-api', ['exports', 'ember-inflector', 'ember-
|
|
16652
16232
|
if (modelName !== deprecatedModelNameLookup && this._hasCustomModelNameFromPayloadKey()) {
|
16653
16233
|
(false && !(false) && Ember.deprecate("You are using modelNameFromPayloadKey to normalize the type for a relationship. This has been deprecated in favor of modelNameFromPayloadType", false, {
|
16654
16234
|
id: 'ds.json-api-serializer.deprecated-model-name-for-relationship',
|
16655
|
-
until: '
|
16235
|
+
until: '4.0.0'
|
16656
16236
|
}));
|
16657
16237
|
|
16658
16238
|
|
@@ -16684,7 +16264,7 @@ define('ember-data/serializers/json-api', ['exports', 'ember-inflector', 'ember-
|
|
16684
16264
|
if (modelName !== deprecatedModelNameLookup && this._hasCustomModelNameFromPayloadKey()) {
|
16685
16265
|
(false && !(false) && Ember.deprecate("You are using modelNameFromPayloadKey to normalize the type for a resource. This has been deprecated in favor of modelNameFromPayloadType", false, {
|
16686
16266
|
id: 'ds.json-api-serializer.deprecated-model-name-for-resource',
|
16687
|
-
until: '
|
16267
|
+
until: '4.0.0'
|
16688
16268
|
}));
|
16689
16269
|
|
16690
16270
|
|
@@ -16860,7 +16440,7 @@ define('ember-data/serializers/json-api', ['exports', 'ember-inflector', 'ember-
|
|
16860
16440
|
if (payloadType !== deprecatedPayloadTypeLookup && this._hasCustomPayloadKeyFromModelName()) {
|
16861
16441
|
(false && !(false) && Ember.deprecate("You used payloadKeyFromModelName to customize how a type is serialized. Use payloadTypeFromModelName instead.", false, {
|
16862
16442
|
id: 'ds.json-api-serializer.deprecated-payload-type-for-model',
|
16863
|
-
until: '
|
16443
|
+
until: '4.0.0'
|
16864
16444
|
}));
|
16865
16445
|
|
16866
16446
|
|
@@ -16919,7 +16499,7 @@ define('ember-data/serializers/json-api', ['exports', 'ember-inflector', 'ember-
|
|
16919
16499
|
if (payloadType !== deprecatedPayloadTypeLookup && this._hasCustomPayloadKeyFromModelName()) {
|
16920
16500
|
(false && !(false) && Ember.deprecate("You used payloadKeyFromModelName to serialize type for belongs-to relationship. Use payloadTypeFromModelName instead.", false, {
|
16921
16501
|
id: 'ds.json-api-serializer.deprecated-payload-type-for-belongs-to',
|
16922
|
-
until: '
|
16502
|
+
until: '4.0.0'
|
16923
16503
|
}));
|
16924
16504
|
|
16925
16505
|
|
@@ -16941,12 +16521,8 @@ define('ember-data/serializers/json-api', ['exports', 'ember-inflector', 'ember-
|
|
16941
16521
|
},
|
16942
16522
|
serializeHasMany: function (snapshot, json, relationship) {
|
16943
16523
|
var key = relationship.key;
|
16944
|
-
var shouldSerializeHasMany = '_shouldSerializeHasMany';
|
16945
|
-
if ((0, _private.isEnabled)("ds-check-should-serialize-relationships")) {
|
16946
|
-
shouldSerializeHasMany = 'shouldSerializeHasMany';
|
16947
|
-
}
|
16948
16524
|
|
16949
|
-
if (this
|
16525
|
+
if (this.shouldSerializeHasMany(snapshot, key, relationship)) {
|
16950
16526
|
var hasMany = snapshot.hasMany(key);
|
16951
16527
|
if (hasMany !== undefined) {
|
16952
16528
|
|
@@ -16971,7 +16547,7 @@ define('ember-data/serializers/json-api', ['exports', 'ember-inflector', 'ember-
|
|
16971
16547
|
if (payloadType !== deprecatedPayloadTypeLookup && this._hasCustomPayloadKeyFromModelName()) {
|
16972
16548
|
(false && !(false) && Ember.deprecate("You used payloadKeyFromModelName to serialize type for belongs-to relationship. Use payloadTypeFromModelName instead.", false, {
|
16973
16549
|
id: 'ds.json-api-serializer.deprecated-payload-type-for-has-many',
|
16974
|
-
until: '
|
16550
|
+
until: '4.0.0'
|
16975
16551
|
}));
|
16976
16552
|
|
16977
16553
|
|
@@ -17537,16 +17113,6 @@ define('ember-data/serializers/json', ['exports', 'ember-data/serializer', 'embe
|
|
17537
17113
|
return attrs && attrs[key] && attrs[key].serialize === true;
|
17538
17114
|
},
|
17539
17115
|
shouldSerializeHasMany: function (snapshot, key, relationship) {
|
17540
|
-
if (this._shouldSerializeHasMany !== JSONSerializer.prototype._shouldSerializeHasMany) {
|
17541
|
-
(false && !(false) && Ember.deprecate('The private method _shouldSerializeHasMany has been promoted to the public API. Please remove the underscore to use the public shouldSerializeHasMany method.', false, {
|
17542
|
-
id: 'ds.serializer.private-should-serialize-has-many',
|
17543
|
-
until: '3.0.0'
|
17544
|
-
}));
|
17545
|
-
}
|
17546
|
-
|
17547
|
-
return this._shouldSerializeHasMany(snapshot, key, relationship);
|
17548
|
-
},
|
17549
|
-
_shouldSerializeHasMany: function (snapshot, key, relationship) {
|
17550
17116
|
var relationshipType = snapshot.type.determineRelationshipType(relationship, this.store);
|
17551
17117
|
if (this._mustSerialize(key)) {
|
17552
17118
|
return true;
|
@@ -17634,12 +17200,8 @@ define('ember-data/serializers/json', ['exports', 'ember-data/serializer', 'embe
|
|
17634
17200
|
},
|
17635
17201
|
serializeHasMany: function (snapshot, json, relationship) {
|
17636
17202
|
var key = relationship.key;
|
17637
|
-
var shouldSerializeHasMany = '_shouldSerializeHasMany';
|
17638
|
-
if ((0, _private.isEnabled)("ds-check-should-serialize-relationships")) {
|
17639
|
-
shouldSerializeHasMany = 'shouldSerializeHasMany';
|
17640
|
-
}
|
17641
17203
|
|
17642
|
-
if (this
|
17204
|
+
if (this.shouldSerializeHasMany(snapshot, key, relationship)) {
|
17643
17205
|
var hasMany = snapshot.hasMany(key, { ids: true });
|
17644
17206
|
if (hasMany !== undefined) {
|
17645
17207
|
// if provided, use the mapping provided by `attrs` in
|
@@ -18072,25 +17634,6 @@ define('ember-data/serializers/rest', ['exports', 'ember-inflector', 'ember-data
|
|
18072
17634
|
var typeKey = this.keyForPolymorphicType(key, relationship.type, 'serialize');
|
18073
17635
|
var belongsTo = snapshot.belongsTo(key);
|
18074
17636
|
|
18075
|
-
// old way of getting the key for the polymorphic type
|
18076
|
-
key = this.keyForAttribute ? this.keyForAttribute(key, "serialize") : key;
|
18077
|
-
key = key + 'Type';
|
18078
|
-
|
18079
|
-
// The old way of serializing the type of a polymorphic record used
|
18080
|
-
// `keyForAttribute`, which is not correct. The next code checks if the old
|
18081
|
-
// way is used and if it differs from the new way of using
|
18082
|
-
// `keyForPolymorphicType`. If this is the case, a deprecation warning is
|
18083
|
-
// logged and the old way is restored (so nothing breaks).
|
18084
|
-
if (key !== typeKey && this.keyForPolymorphicType === RESTSerializer.prototype.keyForPolymorphicType) {
|
18085
|
-
(false && !(false) && Ember.deprecate("The key to serialize the type of a polymorphic record is created via keyForAttribute which has been deprecated. Use the keyForPolymorphicType hook instead.", false, {
|
18086
|
-
id: 'ds.rest-serializer.deprecated-key-for-polymorphic-type',
|
18087
|
-
until: '3.0.0'
|
18088
|
-
}));
|
18089
|
-
|
18090
|
-
|
18091
|
-
typeKey = key;
|
18092
|
-
}
|
18093
|
-
|
18094
17637
|
if (isNone(belongsTo)) {
|
18095
17638
|
json[typeKey] = null;
|
18096
17639
|
} else {
|
@@ -18222,12 +17765,9 @@ define('ember-data/setup-container', ['exports', 'ember-data/-private', 'ember-d
|
|
18222
17765
|
@param {Ember.Registry} registry
|
18223
17766
|
*/
|
18224
17767
|
function initializeStore(registry) {
|
18225
|
-
// registry.optionsForType for Ember < 2.1.0
|
18226
|
-
// application.registerOptionsForType for Ember 2.1.0+
|
18227
17768
|
var registerOptionsForType = registry.registerOptionsForType || registry.optionsForType;
|
18228
17769
|
registerOptionsForType.call(registry, 'serializer', { singleton: false });
|
18229
17770
|
registerOptionsForType.call(registry, 'adapter', { singleton: false });
|
18230
|
-
|
18231
17771
|
registry.register('serializer:-default', _json.default);
|
18232
17772
|
registry.register('serializer:-rest', _rest.default);
|
18233
17773
|
registry.register('adapter:-rest', _rest2.default);
|
@@ -18346,54 +17886,6 @@ define('ember-data/transforms/date', ['exports', 'ember-data/transforms/transfor
|
|
18346
17886
|
'use strict';
|
18347
17887
|
|
18348
17888
|
exports.__esModule = true;
|
18349
|
-
|
18350
|
-
|
18351
|
-
Ember.Date = Ember.Date || {};
|
18352
|
-
|
18353
|
-
/**
|
18354
|
-
Date.parse with progressive enhancement for ISO 8601 <https://github.com/csnover/js-iso8601>
|
18355
|
-
|
18356
|
-
© 2011 Colin Snover <http://zetafleet.com>
|
18357
|
-
|
18358
|
-
Released under MIT license.
|
18359
|
-
|
18360
|
-
@class Date
|
18361
|
-
@namespace Ember
|
18362
|
-
@static
|
18363
|
-
@deprecated
|
18364
|
-
*/
|
18365
|
-
Ember.Date.parse = function (date) {
|
18366
|
-
(false && !(false) && Ember.deprecate('Ember.Date.parse is deprecated because Safari 5-, IE8-, and\n Firefox 3.6- are no longer supported (see\n https://github.com/csnover/js-iso8601 for the history of this issue).\n Please use Date.parse instead', false, {
|
18367
|
-
id: 'ds.ember.date.parse-deprecate',
|
18368
|
-
until: '3.0.0'
|
18369
|
-
}));
|
18370
|
-
|
18371
|
-
|
18372
|
-
return Date.parse(date);
|
18373
|
-
};
|
18374
|
-
|
18375
|
-
/**
|
18376
|
-
The `DS.DateTransform` class is used to serialize and deserialize
|
18377
|
-
date attributes on Ember Data record objects. This transform is used
|
18378
|
-
when `date` is passed as the type parameter to the
|
18379
|
-
[DS.attr](../../data#method_attr) function. It uses the [`ISO 8601`](https://en.wikipedia.org/wiki/ISO_8601)
|
18380
|
-
standard.
|
18381
|
-
|
18382
|
-
```app/models/score.js
|
18383
|
-
import DS from 'ember-data';
|
18384
|
-
|
18385
|
-
export default DS.Model.extend({
|
18386
|
-
value: DS.attr('number'),
|
18387
|
-
player: DS.belongsTo('player'),
|
18388
|
-
date: DS.attr('date')
|
18389
|
-
});
|
18390
|
-
```
|
18391
|
-
|
18392
|
-
@class DateTransform
|
18393
|
-
@extends DS.Transform
|
18394
|
-
@namespace DS
|
18395
|
-
*/
|
18396
|
-
|
18397
17889
|
exports.default = _transform.default.extend({
|
18398
17890
|
deserialize: function (serialized) {
|
18399
17891
|
var type = typeof serialized;
|
@@ -18401,16 +17893,7 @@ define('ember-data/transforms/date', ['exports', 'ember-data/transforms/transfor
|
|
18401
17893
|
if (type === "string") {
|
18402
17894
|
var offset = serialized.indexOf('+');
|
18403
17895
|
|
18404
|
-
if (offset !== -1 && serialized.length -
|
18405
|
-
(false && !(false) && Ember.deprecate('The ECMA2015 Spec for ISO 8601 dates does not allow for shorthand timezone offsets such as +00.\n Ember Data\'s normalization of date\'s allowing for this shorthand has been deprecated, please update your API to return\n UTC dates formatted with \xB1hh:mm timezone offsets or implement a custom UTC transform.', false, {
|
18406
|
-
id: 'ds.attr.date.normalize-utc',
|
18407
|
-
until: '3.0.0'
|
18408
|
-
}));
|
18409
|
-
|
18410
|
-
return new Date(serialized + ':00');
|
18411
|
-
|
18412
|
-
// this is a phantom specific bug fix in which +0000 is not supported
|
18413
|
-
} else if (offset !== -1 && serialized.length - 5 === offset) {
|
17896
|
+
if (offset !== -1 && serialized.length - 5 === offset) {
|
18414
17897
|
offset += 3;
|
18415
17898
|
return new Date(serialized.slice(0, offset) + ':' + serialized.slice(offset));
|
18416
17899
|
}
|
@@ -18550,7 +18033,7 @@ define("ember-data/version", ["exports"], function (exports) {
|
|
18550
18033
|
"use strict";
|
18551
18034
|
|
18552
18035
|
exports.__esModule = true;
|
18553
|
-
exports.default = "
|
18036
|
+
exports.default = "3.0.0-beta.1";
|
18554
18037
|
});
|
18555
18038
|
define("ember-inflector", ["module", "exports", "ember-inflector/lib/system", "ember-inflector/lib/ext/string"], function (module, exports, _system) {
|
18556
18039
|
"use strict";
|