ember-data-source 2.18.3 → 3.0.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- 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";
|