ember-data-source 2.17.1 → 2.18.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 +193 -341
- data/dist/globals/ember-data.min.js +6 -6
- data/dist/globals/ember-data.prod.js +192 -338
- data/package.json +4 -3
- 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: f82d81c672e79c8ec32b3d83a251842236724c6b
|
4
|
+
data.tar.gz: 19cd427812c5efd2379bbfc2219abdf7f9b4c7b3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a1bb0fad5eae6a410f0811317b2526a18a544451b83b4f051d3945ed306c33e0d1560f0249dc7c4febadeffd5a59fae3e1b193ba848544733ffacc8a9da0d15a
|
7
|
+
data.tar.gz: 83bafeed0b4b68641b535ed3e79e722a83c3707a98b0e695dda16e1ef18e0f206b4c4f2bf8ccfd26d34ce283348baf7968f7a18e7a66e018c487cb542e848a82
|
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 2.
|
9
|
+
* @version 2.18.0-beta.1
|
10
10
|
*/
|
11
11
|
|
12
12
|
var loader, define, requireModule, require, requirejs;
|
@@ -498,7 +498,7 @@ define('ember-data/-private/adapters/build-url-mixin', ['exports', 'ember-inflec
|
|
498
498
|
import DS from 'ember-data';
|
499
499
|
export default DS.JSONAPIAdapter.extend({
|
500
500
|
urlForFindRecord(id, modelName, snapshot) {
|
501
|
-
let baseUrl = this.buildURL();
|
501
|
+
let baseUrl = this.buildURL(modelName, id, snapshot);
|
502
502
|
return `${baseUrl}/users/${snapshot.adapterOptions.user_id}/playlists/${id}`;
|
503
503
|
}
|
504
504
|
});
|
@@ -1665,7 +1665,7 @@ define('ember-data/-private/system/debug/debug-adapter', ['exports', 'ember-data
|
|
1665
1665
|
var containerKey = modelClass._debugContainerKey;
|
1666
1666
|
if (containerKey) {
|
1667
1667
|
var match = containerKey.match(/model:(.*)/);
|
1668
|
-
if (match) {
|
1668
|
+
if (match !== null) {
|
1669
1669
|
modelName = match[1];
|
1670
1670
|
}
|
1671
1671
|
}
|
@@ -4802,10 +4802,6 @@ define('ember-data/-private/system/model/model', ['exports', 'ember-data/-privat
|
|
4802
4802
|
// the computed property.
|
4803
4803
|
var meta = value.meta();
|
4804
4804
|
|
4805
|
-
/*
|
4806
|
-
This is buggy because if the parent has never been looked up
|
4807
|
-
via `modelFor` it will not have `modelName` set.
|
4808
|
-
*/
|
4809
4805
|
meta.parentType = proto.constructor;
|
4810
4806
|
}
|
4811
4807
|
}
|
@@ -7618,7 +7614,7 @@ define('ember-data/-private/system/relationship-meta', ['exports', 'ember-inflec
|
|
7618
7614
|
}
|
7619
7615
|
|
7620
7616
|
function relationshipFromMeta(meta) {
|
7621
|
-
|
7617
|
+
var result = {
|
7622
7618
|
key: meta.key,
|
7623
7619
|
kind: meta.kind,
|
7624
7620
|
type: typeForRelationshipMeta(meta),
|
@@ -7627,6 +7623,12 @@ define('ember-data/-private/system/relationship-meta', ['exports', 'ember-inflec
|
|
7627
7623
|
parentType: meta.parentType,
|
7628
7624
|
isRelationship: true
|
7629
7625
|
};
|
7626
|
+
|
7627
|
+
if (false) {
|
7628
|
+
result.parentType = meta.parentType;
|
7629
|
+
}
|
7630
|
+
|
7631
|
+
return result;
|
7630
7632
|
}
|
7631
7633
|
});
|
7632
7634
|
define('ember-data/-private/system/relationships/belongs-to', ['exports', 'ember-data/-private/system/normalize-model-name'], function (exports, _normalizeModelName) {
|
@@ -8036,7 +8038,7 @@ define('ember-data/-private/system/relationships/relationship-payloads-manager',
|
|
8036
8038
|
}
|
8037
8039
|
}
|
8038
8040
|
|
8039
|
-
var
|
8041
|
+
var _get = Ember.get;
|
8040
8042
|
|
8041
8043
|
var RelationshipPayloadsManager = function () {
|
8042
8044
|
function RelationshipPayloadsManager(store) {
|
@@ -8045,7 +8047,6 @@ define('ember-data/-private/system/relationships/relationship-payloads-manager',
|
|
8045
8047
|
this._store = store;
|
8046
8048
|
// cache of `RelationshipPayload`s
|
8047
8049
|
this._cache = Object.create(null);
|
8048
|
-
this._inverseLookupCache = new _relationshipPayloads.TypeCache();
|
8049
8050
|
}
|
8050
8051
|
|
8051
8052
|
/**
|
@@ -8066,7 +8067,9 @@ define('ember-data/-private/system/relationships/relationship-payloads-manager',
|
|
8066
8067
|
|
8067
8068
|
|
8068
8069
|
RelationshipPayloadsManager.prototype.get = function get(modelName, id, relationshipName) {
|
8069
|
-
var
|
8070
|
+
var modelClass = this._store._modelFor(modelName);
|
8071
|
+
var relationshipsByName = _get(modelClass, 'relationshipsByName');
|
8072
|
+
var relationshipPayloads = this._getRelationshipPayloads(modelName, relationshipName, modelClass, relationshipsByName, false);
|
8070
8073
|
return relationshipPayloads && relationshipPayloads.get(modelName, id, relationshipName);
|
8071
8074
|
};
|
8072
8075
|
|
@@ -8077,8 +8080,10 @@ define('ember-data/-private/system/relationships/relationship-payloads-manager',
|
|
8077
8080
|
return;
|
8078
8081
|
}
|
8079
8082
|
|
8083
|
+
var modelClass = this._store._modelFor(modelName);
|
8084
|
+
var relationshipsByName = _get(modelClass, 'relationshipsByName');
|
8080
8085
|
Object.keys(relationshipsData).forEach(function (key) {
|
8081
|
-
var relationshipPayloads = _this._getRelationshipPayloads(modelName, key, true);
|
8086
|
+
var relationshipPayloads = _this._getRelationshipPayloads(modelName, key, modelClass, relationshipsByName, true);
|
8082
8087
|
if (relationshipPayloads) {
|
8083
8088
|
relationshipPayloads.push(modelName, id, key, relationshipsData[key]);
|
8084
8089
|
}
|
@@ -8089,153 +8094,51 @@ define('ember-data/-private/system/relationships/relationship-payloads-manager',
|
|
8089
8094
|
var _this2 = this;
|
8090
8095
|
|
8091
8096
|
var modelClass = this._store._modelFor(modelName);
|
8092
|
-
var relationshipsByName =
|
8097
|
+
var relationshipsByName = _get(modelClass, 'relationshipsByName');
|
8093
8098
|
relationshipsByName.forEach(function (_, relationshipName) {
|
8094
|
-
var relationshipPayloads = _this2._getRelationshipPayloads(modelName, relationshipName, false);
|
8099
|
+
var relationshipPayloads = _this2._getRelationshipPayloads(modelName, relationshipName, modelClass, relationshipsByName, false);
|
8095
8100
|
if (relationshipPayloads) {
|
8096
8101
|
relationshipPayloads.unload(modelName, id, relationshipName);
|
8097
8102
|
}
|
8098
8103
|
});
|
8099
8104
|
};
|
8100
8105
|
|
8101
|
-
RelationshipPayloadsManager.prototype._getRelationshipPayloads = function _getRelationshipPayloads(modelName, relationshipName, init) {
|
8102
|
-
|
8103
|
-
|
8104
|
-
if (relInfo === null) {
|
8106
|
+
RelationshipPayloadsManager.prototype._getRelationshipPayloads = function _getRelationshipPayloads(modelName, relationshipName, modelClass, relationshipsByName, init) {
|
8107
|
+
if (!relationshipsByName.has(relationshipName)) {
|
8105
8108
|
return;
|
8106
8109
|
}
|
8107
8110
|
|
8108
|
-
var
|
8109
|
-
|
8110
|
-
|
8111
|
-
return this._initializeRelationshipPayloads(relInfo);
|
8111
|
+
var key = modelName + ':' + relationshipName;
|
8112
|
+
if (!this._cache[key] && init) {
|
8113
|
+
return this._initializeRelationshipPayloads(modelName, relationshipName, modelClass, relationshipsByName);
|
8112
8114
|
}
|
8113
8115
|
|
8114
|
-
return
|
8116
|
+
return this._cache[key];
|
8115
8117
|
};
|
8116
8118
|
|
8117
|
-
RelationshipPayloadsManager.prototype.
|
8118
|
-
var inverseCache = this._inverseLookupCache;
|
8119
|
-
var store = this._store;
|
8120
|
-
var cached = inverseCache.get(modelName, relationshipName);
|
8121
|
-
|
8122
|
-
// CASE: We have a cached resolution (null if no relationship exists)
|
8123
|
-
if (cached !== undefined) {
|
8124
|
-
return cached;
|
8125
|
-
}
|
8126
|
-
|
8127
|
-
var modelClass = store._modelFor(modelName);
|
8128
|
-
var relationshipsByName = get(modelClass, 'relationshipsByName');
|
8129
|
-
|
8130
|
-
// CASE: We don't have a relationship at all
|
8131
|
-
if (!relationshipsByName.has(relationshipName)) {
|
8132
|
-
inverseCache.set(modelName, relationshipName, null);
|
8133
|
-
return null;
|
8134
|
-
}
|
8135
|
-
|
8136
|
-
var inverseMeta = modelClass.inverseFor(relationshipName, store);
|
8119
|
+
RelationshipPayloadsManager.prototype._initializeRelationshipPayloads = function _initializeRelationshipPayloads(modelName, relationshipName, modelClass, relationshipsByName) {
|
8137
8120
|
var relationshipMeta = relationshipsByName.get(relationshipName);
|
8138
|
-
var
|
8139
|
-
|
8140
|
-
|
8141
|
-
|
8142
|
-
|
8143
|
-
|
8144
|
-
|
8145
|
-
|
8146
|
-
|
8147
|
-
|
8148
|
-
|
8149
|
-
|
8150
|
-
|
8151
|
-
|
8152
|
-
|
8153
|
-
|
8154
|
-
|
8155
|
-
rhs_isPolymorphic: false,
|
8156
|
-
hasInverse: false,
|
8157
|
-
isSelfReferential: false, // modelName === inverseBaseModelName,
|
8158
|
-
isReflexive: false
|
8159
|
-
};
|
8160
|
-
|
8161
|
-
inverseCache.set(modelName, relationshipName, _info);
|
8162
|
-
|
8163
|
-
return _info;
|
8164
|
-
}
|
8165
|
-
|
8166
|
-
// CASE: We do have an inverse
|
8167
|
-
|
8168
|
-
var inverseRelationshipName = inverseMeta.name;
|
8169
|
-
var inverseRelationshipMeta = get(inverseMeta.type, 'relationshipsByName').get(inverseRelationshipName);
|
8170
|
-
var baseModelName = inverseRelationshipMeta.type;
|
8171
|
-
var isSelfReferential = baseModelName === inverseBaseModelName;
|
8172
|
-
|
8173
|
-
// TODO we want to assert this but this breaks all of our shoddily written tests
|
8174
|
-
/*
|
8175
|
-
if (DEBUG) {
|
8176
|
-
let inverseDoubleCheck = inverseMeta.type.inverseFor(inverseRelationshipName, store);
|
8177
|
-
assert(`The ${inverseBaseModelName}:${inverseRelationshipName} relationship declares 'inverse: null', but it was resolved as the inverse for ${baseModelName}:${relationshipName}.`, inverseDoubleCheck);
|
8121
|
+
var inverseMeta = modelClass.inverseFor(relationshipName, this._store);
|
8122
|
+
|
8123
|
+
var inverseModelName = void 0;
|
8124
|
+
var inverseRelationshipName = void 0;
|
8125
|
+
var inverseRelationshipMeta = void 0;
|
8126
|
+
|
8127
|
+
// figure out the inverse relationship; we need two things
|
8128
|
+
// a) the inverse model name
|
8129
|
+
//- b) the name of the inverse relationship
|
8130
|
+
if (inverseMeta) {
|
8131
|
+
inverseRelationshipName = inverseMeta.name;
|
8132
|
+
inverseModelName = relationshipMeta.type;
|
8133
|
+
inverseRelationshipMeta = _get(inverseMeta.type, 'relationshipsByName').get(inverseRelationshipName);
|
8134
|
+
} else {
|
8135
|
+
// relationship has no inverse
|
8136
|
+
inverseModelName = inverseRelationshipName = '';
|
8137
|
+
inverseRelationshipMeta = null;
|
8178
8138
|
}
|
8179
|
-
*/
|
8180
|
-
|
8181
|
-
// CASE: We may have already discovered the inverse for the baseModelName
|
8182
|
-
// CASE: We have already discovered the inverse
|
8183
|
-
cached = inverseCache.get(baseModelName, relationshipName) || inverseCache.get(inverseBaseModelName, inverseRelationshipName);
|
8184
|
-
if (cached) {
|
8185
|
-
(false && Ember.assert('The ' + inverseBaseModelName + ':' + inverseRelationshipName + ' relationship declares \'inverse: null\', but it was resolved as the inverse for ' + baseModelName + ':' + relationshipName + '.', cached.hasInverse !== false));
|
8186
|
-
|
8187
|
-
|
8188
|
-
var isLHS = cached.lhs_baseModelName === baseModelName;
|
8189
|
-
var modelNames = isLHS ? cached.lhs_modelNames : cached.rhs_modelNames;
|
8190
|
-
// make this lookup easier in the future by caching the key
|
8191
|
-
modelNames.push(modelName);
|
8192
|
-
inverseCache.set(modelName, relationshipName, cached);
|
8193
|
-
|
8194
|
-
return cached;
|
8195
|
-
}
|
8196
|
-
|
8197
|
-
var info = {
|
8198
|
-
lhs_key: baseModelName + ':' + relationshipName,
|
8199
|
-
lhs_modelNames: [modelName],
|
8200
|
-
lhs_baseModelName: baseModelName,
|
8201
|
-
lhs_relationshipName: relationshipName,
|
8202
|
-
lhs_relationshipMeta: relationshipMeta,
|
8203
|
-
lhs_isPolymorphic: selfIsPolymorphic,
|
8204
|
-
rhs_key: inverseBaseModelName + ':' + inverseRelationshipName,
|
8205
|
-
rhs_modelNames: [],
|
8206
|
-
rhs_baseModelName: inverseBaseModelName,
|
8207
|
-
rhs_relationshipName: inverseRelationshipName,
|
8208
|
-
rhs_relationshipMeta: inverseRelationshipMeta,
|
8209
|
-
rhs_isPolymorphic: inverseRelationshipMeta.options !== undefined && inverseRelationshipMeta.options.polymorphic === true,
|
8210
|
-
hasInverse: true,
|
8211
|
-
isSelfReferential: isSelfReferential,
|
8212
|
-
isReflexive: isSelfReferential && relationshipName === inverseRelationshipName
|
8213
|
-
};
|
8214
|
-
|
8215
|
-
// Create entries for the baseModelName as well as modelName to speed up
|
8216
|
-
// inverse lookups
|
8217
|
-
inverseCache.set(baseModelName, relationshipName, info);
|
8218
|
-
inverseCache.set(modelName, relationshipName, info);
|
8219
8139
|
|
8220
|
-
|
8221
|
-
|
8222
|
-
|
8223
|
-
return info;
|
8224
|
-
};
|
8225
|
-
|
8226
|
-
RelationshipPayloadsManager.prototype._initializeRelationshipPayloads = function _initializeRelationshipPayloads(relInfo) {
|
8227
|
-
var lhsKey = relInfo.lhs_key;
|
8228
|
-
var rhsKey = relInfo.rhs_key;
|
8229
|
-
var existingPayloads = this._cache[lhsKey];
|
8230
|
-
|
8231
|
-
if (relInfo.hasInverse === true && relInfo.rhs_isPolymorphic === true) {
|
8232
|
-
existingPayloads = this._cache[rhsKey];
|
8233
|
-
|
8234
|
-
if (existingPayloads !== undefined) {
|
8235
|
-
this._cache[lhsKey] = existingPayloads;
|
8236
|
-
return existingPayloads;
|
8237
|
-
}
|
8238
|
-
}
|
8140
|
+
var lhsKey = modelName + ':' + relationshipName;
|
8141
|
+
var rhsKey = inverseModelName + ':' + inverseRelationshipName;
|
8239
8142
|
|
8240
8143
|
// populate the cache for both sides of the relationship, as they both use
|
8241
8144
|
// the same `RelationshipPayloads`.
|
@@ -8243,13 +8146,7 @@ define('ember-data/-private/system/relationships/relationship-payloads-manager',
|
|
8243
8146
|
// This works out better than creating a single common key, because to
|
8244
8147
|
// compute that key we would need to do work to look up the inverse
|
8245
8148
|
//
|
8246
|
-
|
8247
|
-
|
8248
|
-
if (relInfo.hasInverse === true) {
|
8249
|
-
this._cache[rhsKey] = cache;
|
8250
|
-
}
|
8251
|
-
|
8252
|
-
return cache;
|
8149
|
+
return this._cache[lhsKey] = this._cache[rhsKey] = new _relationshipPayloads.default(this._store, modelName, relationshipName, relationshipMeta, inverseModelName, inverseRelationshipName, inverseRelationshipMeta);
|
8253
8150
|
};
|
8254
8151
|
|
8255
8152
|
return RelationshipPayloadsManager;
|
@@ -8262,6 +8159,12 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8262
8159
|
|
8263
8160
|
exports.__esModule = true;
|
8264
8161
|
|
8162
|
+
function _classCallCheck(instance, Constructor) {
|
8163
|
+
if (!(instance instanceof Constructor)) {
|
8164
|
+
throw new TypeError("Cannot call a class as a function");
|
8165
|
+
}
|
8166
|
+
}
|
8167
|
+
|
8265
8168
|
var _createClass = function () {
|
8266
8169
|
function defineProperties(target, props) {
|
8267
8170
|
for (var i = 0; i < props.length; i++) {
|
@@ -8280,61 +8183,37 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8280
8183
|
};
|
8281
8184
|
}();
|
8282
8185
|
|
8283
|
-
function _classCallCheck(instance, Constructor) {
|
8284
|
-
if (!(instance instanceof Constructor)) {
|
8285
|
-
throw new TypeError("Cannot call a class as a function");
|
8286
|
-
}
|
8287
|
-
}
|
8288
|
-
|
8289
|
-
var TypeCache = exports.TypeCache = function () {
|
8290
|
-
function TypeCache() {
|
8291
|
-
_classCallCheck(this, TypeCache);
|
8292
|
-
|
8293
|
-
this.types = Object.create(null);
|
8294
|
-
}
|
8295
|
-
|
8296
|
-
TypeCache.prototype.get = function get(modelName, id) {
|
8297
|
-
var types = this.types;
|
8298
|
-
|
8299
|
-
|
8300
|
-
if (types[modelName] !== undefined) {
|
8301
|
-
return types[modelName][id];
|
8302
|
-
}
|
8303
|
-
};
|
8304
|
-
|
8305
|
-
TypeCache.prototype.set = function set(modelName, id, payload) {
|
8306
|
-
var types = this.types;
|
8307
|
-
|
8308
|
-
var typeMap = types[modelName];
|
8309
|
-
|
8310
|
-
if (typeMap === undefined) {
|
8311
|
-
typeMap = types[modelName] = Object.create(null);
|
8312
|
-
}
|
8313
|
-
|
8314
|
-
typeMap[id] = payload;
|
8315
|
-
};
|
8316
|
-
|
8317
|
-
TypeCache.prototype.delete = function _delete(modelName, id) {
|
8318
|
-
var types = this.types;
|
8319
|
-
|
8320
|
-
|
8321
|
-
if (types[modelName] !== undefined) {
|
8322
|
-
delete types[modelName][id];
|
8323
|
-
}
|
8324
|
-
};
|
8325
|
-
|
8326
|
-
return TypeCache;
|
8327
|
-
}();
|
8328
|
-
|
8329
8186
|
var RelationshipPayloads = function () {
|
8330
|
-
function RelationshipPayloads(
|
8187
|
+
function RelationshipPayloads(store, modelName, relationshipName, relationshipMeta, inverseModelName, inverseRelationshipName, inverseRelationshipMeta) {
|
8331
8188
|
_classCallCheck(this, RelationshipPayloads);
|
8332
8189
|
|
8333
|
-
this.
|
8190
|
+
this._store = store;
|
8191
|
+
|
8192
|
+
this._lhsModelName = modelName;
|
8193
|
+
this._lhsRelationshipName = relationshipName;
|
8194
|
+
this._lhsRelationshipMeta = relationshipMeta;
|
8195
|
+
|
8196
|
+
this._rhsModelName = inverseModelName;
|
8197
|
+
this._rhsRelationshipName = inverseRelationshipName;
|
8198
|
+
this._rhsRelationshipMeta = inverseRelationshipMeta;
|
8334
8199
|
|
8335
8200
|
// a map of id -> payloads for the left hand side of the relationship.
|
8336
|
-
this.
|
8337
|
-
|
8201
|
+
this._lhsPayloads = Object.create(null);
|
8202
|
+
if (modelName !== inverseModelName || relationshipName !== inverseRelationshipName) {
|
8203
|
+
// The common case of a non-reflexive relationship, or a reflexive
|
8204
|
+
// relationship whose inverse is not itself
|
8205
|
+
this._rhsPayloads = Object.create(null);
|
8206
|
+
this._isReflexive = false;
|
8207
|
+
} else {
|
8208
|
+
// Edge case when we have a reflexive relationship to itself
|
8209
|
+
// eg user hasMany friends inverse friends
|
8210
|
+
//
|
8211
|
+
// In this case there aren't really two sides to the relationship, but
|
8212
|
+
// we set `_rhsPayloads = _lhsPayloads` to make things easier to reason
|
8213
|
+
// about
|
8214
|
+
this._rhsPayloads = this._lhsPayloads;
|
8215
|
+
this._isReflexive = true;
|
8216
|
+
}
|
8338
8217
|
|
8339
8218
|
// When we push relationship payloads, just stash them in a queue until
|
8340
8219
|
// somebody actually asks for one of them.
|
@@ -8345,22 +8224,22 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8345
8224
|
}
|
8346
8225
|
|
8347
8226
|
/**
|
8348
|
-
|
8349
|
-
|
8350
|
-
|
8351
|
-
|
8352
|
-
|
8227
|
+
Get the payload for the relationship of an individual record.
|
8228
|
+
This might return the raw payload as pushed into the store, or one computed
|
8229
|
+
from the payload of the inverse relationship.
|
8230
|
+
@method
|
8231
|
+
*/
|
8353
8232
|
|
8354
8233
|
|
8355
8234
|
RelationshipPayloads.prototype.get = function get(modelName, id, relationshipName) {
|
8356
8235
|
this._flushPending();
|
8357
8236
|
|
8358
8237
|
if (this._isLHS(modelName, relationshipName)) {
|
8359
|
-
return this.
|
8238
|
+
return this._lhsPayloads[id];
|
8360
8239
|
} else {
|
8361
|
-
(false && Ember.assert(modelName + ':' + relationshipName + ' is not either side of this relationship, ' + this.
|
8240
|
+
(false && Ember.assert(modelName + ':' + relationshipName + ' is not either side of this relationship, ' + this._lhsModelName + ':' + this._lhsRelationshipName + '<->' + this._rhsModelName + ':' + this._rhsRelationshipName, this._isRHS(modelName, relationshipName)));
|
8362
8241
|
|
8363
|
-
return this.
|
8242
|
+
return this._rhsPayloads[id];
|
8364
8243
|
}
|
8365
8244
|
};
|
8366
8245
|
|
@@ -8372,40 +8251,20 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8372
8251
|
this._flushPending();
|
8373
8252
|
|
8374
8253
|
if (this._isLHS(modelName, relationshipName)) {
|
8375
|
-
delete this.
|
8254
|
+
delete this._lhsPayloads[id];
|
8376
8255
|
} else {
|
8377
|
-
(false && Ember.assert(modelName + ':' + relationshipName + ' is not either side of this relationship, ' + this.
|
8256
|
+
(false && Ember.assert(modelName + ':' + relationshipName + ' is not either side of this relationship, ' + this._lhsModelName + ':' + this._lhsRelationshipName + '<->' + this._rhsModelName + ':' + this._rhsRelationshipName, this._isRHS(modelName, relationshipName)));
|
8378
8257
|
|
8379
|
-
delete this.
|
8258
|
+
delete this._rhsPayloads[id];
|
8380
8259
|
}
|
8381
8260
|
};
|
8382
8261
|
|
8383
8262
|
RelationshipPayloads.prototype._isLHS = function _isLHS(modelName, relationshipName) {
|
8384
|
-
|
8385
|
-
var isSelfReferential = relInfo.isSelfReferential;
|
8386
|
-
var isRelationship = relationshipName === relInfo.lhs_relationshipName;
|
8387
|
-
|
8388
|
-
if (isRelationship === true) {
|
8389
|
-
return isSelfReferential === true || // itself
|
8390
|
-
modelName === relInfo.lhs_baseModelName || // base or non-polymorphic
|
8391
|
-
relInfo.lhs_modelNames.indexOf(modelName) !== -1; // polymorphic
|
8392
|
-
}
|
8393
|
-
|
8394
|
-
return false;
|
8263
|
+
return modelName === this._lhsModelName && relationshipName === this._lhsRelationshipName;
|
8395
8264
|
};
|
8396
8265
|
|
8397
8266
|
RelationshipPayloads.prototype._isRHS = function _isRHS(modelName, relationshipName) {
|
8398
|
-
|
8399
|
-
var isSelfReferential = relInfo.isSelfReferential;
|
8400
|
-
var isRelationship = relationshipName === relInfo.rhs_relationshipName;
|
8401
|
-
|
8402
|
-
if (isRelationship === true) {
|
8403
|
-
return isSelfReferential === true || // itself
|
8404
|
-
modelName === relInfo.rhs_baseModelName || // base or non-polymorphic
|
8405
|
-
relInfo.rhs_modelNames.indexOf(modelName) !== -1; // polymorphic
|
8406
|
-
}
|
8407
|
-
|
8408
|
-
return false;
|
8267
|
+
return modelName === this._rhsModelName && relationshipName === this._rhsRelationshipName;
|
8409
8268
|
};
|
8410
8269
|
|
8411
8270
|
RelationshipPayloads.prototype._flushPending = function _flushPending() {
|
@@ -8426,28 +8285,26 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8426
8285
|
id: id,
|
8427
8286
|
type: modelName
|
8428
8287
|
}
|
8429
|
-
};
|
8430
8288
|
|
8431
|
-
|
8432
|
-
|
8433
|
-
|
8434
|
-
|
8435
|
-
var previousPayload = void 0;
|
8436
|
-
var
|
8437
|
-
var
|
8289
|
+
// start flushing this individual payload. The logic is the same whether
|
8290
|
+
// it's for the left hand side of the relationship or the right hand side,
|
8291
|
+
// except the role of primary and inverse idToPayloads is reversed
|
8292
|
+
//
|
8293
|
+
};var previousPayload = void 0;
|
8294
|
+
var idToPayloads = void 0;
|
8295
|
+
var inverseIdToPayloads = void 0;
|
8438
8296
|
var inverseIsMany = void 0;
|
8439
|
-
|
8440
8297
|
if (this._isLHS(modelName, relationshipName)) {
|
8441
|
-
previousPayload = this.
|
8442
|
-
|
8443
|
-
|
8298
|
+
previousPayload = this._lhsPayloads[id];
|
8299
|
+
idToPayloads = this._lhsPayloads;
|
8300
|
+
inverseIdToPayloads = this._rhsPayloads;
|
8444
8301
|
inverseIsMany = this._rhsRelationshipIsMany;
|
8445
8302
|
} else {
|
8446
|
-
(false && Ember.assert(modelName + ':' + relationshipName + ' is not either side of this relationship, ' + this.
|
8303
|
+
(false && Ember.assert(modelName + ':' + relationshipName + ' is not either side of this relationship, ' + this._lhsModelName + ':' + this._lhsRelationshipName + '<->' + this._rhsModelName + ':' + this._rhsRelationshipName, this._isRHS(modelName, relationshipName)));
|
8447
8304
|
|
8448
|
-
previousPayload = this.
|
8449
|
-
|
8450
|
-
|
8305
|
+
previousPayload = this._rhsPayloads[id];
|
8306
|
+
idToPayloads = this._rhsPayloads;
|
8307
|
+
inverseIdToPayloads = this._lhsPayloads;
|
8451
8308
|
inverseIsMany = this._lhsRelationshipIsMany;
|
8452
8309
|
}
|
8453
8310
|
|
@@ -8491,14 +8348,14 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8491
8348
|
// * undefined is NOT considered new information, we should keep original state
|
8492
8349
|
// * anything else is considered new information, and it should win
|
8493
8350
|
if (relationshipData.data !== undefined) {
|
8494
|
-
this._removeInverse(id, previousPayload,
|
8351
|
+
this._removeInverse(id, previousPayload, inverseIdToPayloads);
|
8495
8352
|
}
|
8496
|
-
|
8497
|
-
this._populateInverse(relationshipData, inverseRelationshipData,
|
8353
|
+
idToPayloads[id] = relationshipData;
|
8354
|
+
this._populateInverse(relationshipData, inverseRelationshipData, inverseIdToPayloads, inverseIsMany);
|
8498
8355
|
}
|
8499
8356
|
};
|
8500
8357
|
|
8501
|
-
RelationshipPayloads.prototype._populateInverse = function _populateInverse(relationshipData, inversePayload,
|
8358
|
+
RelationshipPayloads.prototype._populateInverse = function _populateInverse(relationshipData, inversePayload, inverseIdToPayloads, inverseIsMany) {
|
8502
8359
|
if (!relationshipData.data) {
|
8503
8360
|
// This id doesn't have an inverse, eg a belongsTo with a payload
|
8504
8361
|
// { data: null }, so there's nothing to populate
|
@@ -8507,24 +8364,22 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8507
8364
|
|
8508
8365
|
if (Array.isArray(relationshipData.data)) {
|
8509
8366
|
for (var i = 0; i < relationshipData.data.length; ++i) {
|
8510
|
-
var
|
8511
|
-
this._addToInverse(inversePayload,
|
8367
|
+
var inverseId = relationshipData.data[i].id;
|
8368
|
+
this._addToInverse(inversePayload, inverseId, inverseIdToPayloads, inverseIsMany);
|
8512
8369
|
}
|
8513
8370
|
} else {
|
8514
|
-
var
|
8515
|
-
this._addToInverse(inversePayload,
|
8371
|
+
var _inverseId = relationshipData.data.id;
|
8372
|
+
this._addToInverse(inversePayload, _inverseId, inverseIdToPayloads, inverseIsMany);
|
8516
8373
|
}
|
8517
8374
|
};
|
8518
8375
|
|
8519
|
-
RelationshipPayloads.prototype._addToInverse = function _addToInverse(inversePayload,
|
8520
|
-
|
8521
|
-
|
8522
|
-
if (relInfo.isReflexive && inversePayload.data.id === resourceIdentifier.id) {
|
8376
|
+
RelationshipPayloads.prototype._addToInverse = function _addToInverse(inversePayload, inverseId, inverseIdToPayloads, inverseIsMany) {
|
8377
|
+
if (this._isReflexive && inversePayload.data.id === inverseId) {
|
8523
8378
|
// eg <user:1>.friends = [{ id: 1, type: 'user' }]
|
8524
8379
|
return;
|
8525
8380
|
}
|
8526
8381
|
|
8527
|
-
var existingPayload =
|
8382
|
+
var existingPayload = inverseIdToPayloads[inverseId];
|
8528
8383
|
var existingData = existingPayload && existingPayload.data;
|
8529
8384
|
|
8530
8385
|
if (existingData) {
|
@@ -8534,22 +8389,22 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8534
8389
|
if (Array.isArray(existingData)) {
|
8535
8390
|
existingData.push(inversePayload.data);
|
8536
8391
|
} else {
|
8537
|
-
|
8392
|
+
inverseIdToPayloads[inverseId] = inversePayload;
|
8538
8393
|
}
|
8539
8394
|
} else {
|
8540
8395
|
// first time we're populating the inverse side
|
8541
8396
|
//
|
8542
8397
|
if (inverseIsMany) {
|
8543
|
-
|
8398
|
+
inverseIdToPayloads[inverseId] = {
|
8544
8399
|
data: [inversePayload.data]
|
8545
|
-
}
|
8400
|
+
};
|
8546
8401
|
} else {
|
8547
|
-
|
8402
|
+
inverseIdToPayloads[inverseId] = inversePayload;
|
8548
8403
|
}
|
8549
8404
|
}
|
8550
8405
|
};
|
8551
8406
|
|
8552
|
-
RelationshipPayloads.prototype._removeInverse = function _removeInverse(id, previousPayload,
|
8407
|
+
RelationshipPayloads.prototype._removeInverse = function _removeInverse(id, previousPayload, inverseIdToPayloads) {
|
8553
8408
|
var data = previousPayload && previousPayload.data;
|
8554
8409
|
if (!data) {
|
8555
8410
|
// either this is the first time we've seen a payload for this id, or its
|
@@ -8564,16 +8419,15 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8564
8419
|
if (Array.isArray(data)) {
|
8565
8420
|
// TODO: diff rather than removeall addall?
|
8566
8421
|
for (var i = 0; i < data.length; ++i) {
|
8567
|
-
|
8568
|
-
this._removeFromInverse(id, resourceIdentifier, inversePayloadMap);
|
8422
|
+
this._removeFromInverse(id, data[i].id, inverseIdToPayloads);
|
8569
8423
|
}
|
8570
8424
|
} else {
|
8571
|
-
this._removeFromInverse(id, data,
|
8425
|
+
this._removeFromInverse(id, data.id, inverseIdToPayloads);
|
8572
8426
|
}
|
8573
8427
|
};
|
8574
8428
|
|
8575
|
-
RelationshipPayloads.prototype._removeFromInverse = function _removeFromInverse(id,
|
8576
|
-
var inversePayload = inversePayloads
|
8429
|
+
RelationshipPayloads.prototype._removeFromInverse = function _removeFromInverse(id, inverseId, inversePayloads) {
|
8430
|
+
var inversePayload = inversePayloads[inverseId];
|
8577
8431
|
var data = inversePayload && inversePayload.data;
|
8578
8432
|
|
8579
8433
|
if (!data) {
|
@@ -8585,23 +8439,21 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8585
8439
|
return x.id !== id;
|
8586
8440
|
});
|
8587
8441
|
} else {
|
8588
|
-
inversePayloads
|
8442
|
+
inversePayloads[inverseId] = {
|
8589
8443
|
data: null
|
8590
|
-
}
|
8444
|
+
};
|
8591
8445
|
}
|
8592
8446
|
};
|
8593
8447
|
|
8594
8448
|
_createClass(RelationshipPayloads, [{
|
8595
8449
|
key: '_lhsRelationshipIsMany',
|
8596
8450
|
get: function () {
|
8597
|
-
|
8598
|
-
return meta !== null && meta.kind === 'hasMany';
|
8451
|
+
return this._lhsRelationshipMeta && this._lhsRelationshipMeta.kind === 'hasMany';
|
8599
8452
|
}
|
8600
8453
|
}, {
|
8601
8454
|
key: '_rhsRelationshipIsMany',
|
8602
8455
|
get: function () {
|
8603
|
-
|
8604
|
-
return meta !== null && meta.kind === 'hasMany';
|
8456
|
+
return this._rhsRelationshipMeta && this._rhsRelationshipMeta.kind === 'hasMany';
|
8605
8457
|
}
|
8606
8458
|
}]);
|
8607
8459
|
|
@@ -15437,7 +15289,7 @@ define('ember-data/attr', ['exports'], function (exports) {
|
|
15437
15289
|
}).meta(meta);
|
15438
15290
|
}
|
15439
15291
|
});
|
15440
|
-
define('ember-data', ['exports', 'ember-data/-private', 'ember-data/setup-container', 'ember-data/
|
15292
|
+
define('ember-data', ['exports', 'ember-data/-private', 'ember-data/setup-container', 'ember-data/initialize-store-service', 'ember-data/transforms/transform', 'ember-data/transforms/number', 'ember-data/transforms/date', 'ember-data/transforms/string', 'ember-data/transforms/boolean', 'ember-data/adapter', 'ember-data/adapters/json-api', 'ember-data/adapters/rest', 'ember-data/serializer', 'ember-data/serializers/json-api', 'ember-data/serializers/json', 'ember-data/serializers/rest', 'ember-data/serializers/embedded-records-mixin', 'ember-data/attr', 'ember-inflector'], function (exports, _private, _setupContainer, _initializeStoreService, _transform, _number, _date, _string, _boolean, _adapter, _jsonApi, _rest, _serializer, _jsonApi2, _json, _rest2, _embeddedRecordsMixin, _attr) {
|
15441
15293
|
'use strict';
|
15442
15294
|
|
15443
15295
|
exports.__esModule = true;
|
@@ -15539,65 +15391,7 @@ define('ember-data', ['exports', 'ember-data/-private', 'ember-data/setup-contai
|
|
15539
15391
|
|
15540
15392
|
exports.default = _private.DS;
|
15541
15393
|
});
|
15542
|
-
define('ember-data/
|
15543
|
-
'use strict';
|
15544
|
-
|
15545
|
-
exports.__esModule = true;
|
15546
|
-
exports.default = {
|
15547
|
-
name: 'data-adapter',
|
15548
|
-
before: 'store',
|
15549
|
-
initialize: function () {}
|
15550
|
-
};
|
15551
|
-
});
|
15552
|
-
define('ember-data/initializers/ember-data', ['exports', 'ember-data/setup-container', 'ember-data'], function (exports, _setupContainer) {
|
15553
|
-
'use strict';
|
15554
|
-
|
15555
|
-
exports.__esModule = true;
|
15556
|
-
exports.default = {
|
15557
|
-
name: 'ember-data',
|
15558
|
-
initialize: _setupContainer.default
|
15559
|
-
};
|
15560
|
-
});
|
15561
|
-
define('ember-data/initializers/injectStore', ['exports'], function (exports) {
|
15562
|
-
'use strict';
|
15563
|
-
|
15564
|
-
exports.__esModule = true;
|
15565
|
-
exports.default = {
|
15566
|
-
name: 'injectStore',
|
15567
|
-
before: 'store',
|
15568
|
-
initialize: function () {}
|
15569
|
-
};
|
15570
|
-
});
|
15571
|
-
define('ember-data/initializers/store', ['exports'], function (exports) {
|
15572
|
-
'use strict';
|
15573
|
-
|
15574
|
-
exports.__esModule = true;
|
15575
|
-
exports.default = {
|
15576
|
-
name: 'store',
|
15577
|
-
after: 'ember-data',
|
15578
|
-
initialize: function () {}
|
15579
|
-
};
|
15580
|
-
});
|
15581
|
-
define('ember-data/initializers/transforms', ['exports'], function (exports) {
|
15582
|
-
'use strict';
|
15583
|
-
|
15584
|
-
exports.__esModule = true;
|
15585
|
-
exports.default = {
|
15586
|
-
name: 'transforms',
|
15587
|
-
before: 'store',
|
15588
|
-
initialize: function () {}
|
15589
|
-
};
|
15590
|
-
});
|
15591
|
-
define("ember-data/instance-initializers/ember-data", ["exports", "ember-data/instance-initializers/initialize-store-service"], function (exports, _initializeStoreService) {
|
15592
|
-
"use strict";
|
15593
|
-
|
15594
|
-
exports.__esModule = true;
|
15595
|
-
exports.default = {
|
15596
|
-
name: "ember-data",
|
15597
|
-
initialize: _initializeStoreService.default
|
15598
|
-
};
|
15599
|
-
});
|
15600
|
-
define('ember-data/instance-initializers/initialize-store-service', ['exports'], function (exports) {
|
15394
|
+
define('ember-data/initialize-store-service', ['exports'], function (exports) {
|
15601
15395
|
'use strict';
|
15602
15396
|
|
15603
15397
|
exports.__esModule = true;
|
@@ -15665,6 +15459,64 @@ define('ember-data/instance-initializers/initialize-store-service', ['exports'],
|
|
15665
15459
|
};
|
15666
15460
|
}
|
15667
15461
|
});
|
15462
|
+
define('ember-data/initializers/data-adapter', ['exports'], function (exports) {
|
15463
|
+
'use strict';
|
15464
|
+
|
15465
|
+
exports.__esModule = true;
|
15466
|
+
exports.default = {
|
15467
|
+
name: 'data-adapter',
|
15468
|
+
before: 'store',
|
15469
|
+
initialize: function () {}
|
15470
|
+
};
|
15471
|
+
});
|
15472
|
+
define('ember-data/initializers/ember-data', ['exports', 'ember-data/setup-container', 'ember-data'], function (exports, _setupContainer) {
|
15473
|
+
'use strict';
|
15474
|
+
|
15475
|
+
exports.__esModule = true;
|
15476
|
+
exports.default = {
|
15477
|
+
name: 'ember-data',
|
15478
|
+
initialize: _setupContainer.default
|
15479
|
+
};
|
15480
|
+
});
|
15481
|
+
define('ember-data/initializers/injectStore', ['exports'], function (exports) {
|
15482
|
+
'use strict';
|
15483
|
+
|
15484
|
+
exports.__esModule = true;
|
15485
|
+
exports.default = {
|
15486
|
+
name: 'injectStore',
|
15487
|
+
before: 'store',
|
15488
|
+
initialize: function () {}
|
15489
|
+
};
|
15490
|
+
});
|
15491
|
+
define('ember-data/initializers/store', ['exports'], function (exports) {
|
15492
|
+
'use strict';
|
15493
|
+
|
15494
|
+
exports.__esModule = true;
|
15495
|
+
exports.default = {
|
15496
|
+
name: 'store',
|
15497
|
+
after: 'ember-data',
|
15498
|
+
initialize: function () {}
|
15499
|
+
};
|
15500
|
+
});
|
15501
|
+
define('ember-data/initializers/transforms', ['exports'], function (exports) {
|
15502
|
+
'use strict';
|
15503
|
+
|
15504
|
+
exports.__esModule = true;
|
15505
|
+
exports.default = {
|
15506
|
+
name: 'transforms',
|
15507
|
+
before: 'store',
|
15508
|
+
initialize: function () {}
|
15509
|
+
};
|
15510
|
+
});
|
15511
|
+
define("ember-data/instance-initializers/ember-data", ["exports", "ember-data/initialize-store-service"], function (exports, _initializeStoreService) {
|
15512
|
+
"use strict";
|
15513
|
+
|
15514
|
+
exports.__esModule = true;
|
15515
|
+
exports.default = {
|
15516
|
+
name: "ember-data",
|
15517
|
+
initialize: _initializeStoreService.default
|
15518
|
+
};
|
15519
|
+
});
|
15668
15520
|
define('ember-data/model', ['exports', 'ember-data/-private'], function (exports, _private) {
|
15669
15521
|
'use strict';
|
15670
15522
|
|
@@ -18165,16 +18017,16 @@ define('ember-data/transforms/boolean', ['exports', 'ember-data/transforms/trans
|
|
18165
18017
|
var isNone = Ember.isNone;
|
18166
18018
|
exports.default = _transform.default.extend({
|
18167
18019
|
deserialize: function (serialized, options) {
|
18168
|
-
var type = typeof serialized;
|
18169
|
-
|
18170
18020
|
if (isNone(serialized) && options.allowNull === true) {
|
18171
18021
|
return null;
|
18172
18022
|
}
|
18173
18023
|
|
18024
|
+
var type = typeof serialized;
|
18174
18025
|
if (type === "boolean") {
|
18175
18026
|
return serialized;
|
18176
18027
|
} else if (type === "string") {
|
18177
|
-
return
|
18028
|
+
return (/^(true|t|1)$/i.test(serialized)
|
18029
|
+
);
|
18178
18030
|
} else if (type === "number") {
|
18179
18031
|
return serialized === 1;
|
18180
18032
|
} else {
|
@@ -18398,7 +18250,7 @@ define("ember-data/version", ["exports"], function (exports) {
|
|
18398
18250
|
"use strict";
|
18399
18251
|
|
18400
18252
|
exports.__esModule = true;
|
18401
|
-
exports.default = "2.
|
18253
|
+
exports.default = "2.18.0-beta.1";
|
18402
18254
|
});
|
18403
18255
|
define("ember-inflector", ["module", "exports", "ember-inflector/lib/system", "ember-inflector/lib/ext/string"], function (module, exports, _system) {
|
18404
18256
|
"use strict";
|