ember-data-source 1.13.4 → 1.13.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/dist/ember-data-tests.js +227 -95
- data/dist/ember-data.js +200 -131
- data/dist/ember-data.js.map +1 -1
- data/dist/ember-data.min.js +4 -4
- data/dist/ember-data.prod.js +185 -136
- data/package.json +4 -4
- metadata +2 -2
data/dist/ember-data.js
CHANGED
@@ -396,8 +396,8 @@
|
|
396
396
|
This method is used by the store to determine if the store should
|
397
397
|
reload a record from the adapter when a record is requested by
|
398
398
|
`store.findRecord`.
|
399
|
-
If this method returns true the store will re
|
400
|
-
the adapter. If
|
399
|
+
If this method returns true, the store will re-fetch a record from
|
400
|
+
the adapter. If this method returns false, the store will resolve
|
401
401
|
immediately using the cached record.
|
402
402
|
@method shouldReloadRecord
|
403
403
|
@param {DS.Store} store
|
@@ -412,10 +412,10 @@
|
|
412
412
|
This method is used by the store to determine if the store should
|
413
413
|
reload all records from the adapter when records are requested by
|
414
414
|
`store.findAll`.
|
415
|
-
If this method returns true the store will re
|
416
|
-
the adapter. If
|
415
|
+
If this method returns true, the store will re-fetch all records from
|
416
|
+
the adapter. If this method returns false, the store will resolve
|
417
417
|
immediately using the cached record.
|
418
|
-
@method
|
418
|
+
@method shouldReloadAll
|
419
419
|
@param {DS.Store} store
|
420
420
|
@param {DS.SnapshotRecordArray} snapshotRecordArray
|
421
421
|
@return {Boolean}
|
@@ -783,13 +783,13 @@
|
|
783
783
|
}
|
784
784
|
});
|
785
785
|
|
786
|
+
var ember$data$lib$system$object$polyfills$$keysFunc = Object.keys || Ember.keys;
|
787
|
+
var ember$data$lib$system$object$polyfills$$create = Object.create || Ember.create;
|
788
|
+
|
786
789
|
var ember$data$lib$adapters$errors$$EmberError = Ember.Error;
|
787
|
-
var ember$data$lib$adapters$errors$$create = Ember.create;
|
788
790
|
|
789
791
|
var ember$data$lib$adapters$errors$$forEach = Ember.ArrayPolyfills.forEach;
|
790
|
-
var ember$data$lib$adapters$errors$$SOURCE_POINTER_REGEXP = /data\/(attributes|relationships)\/(.*)
|
791
|
-
|
792
|
-
/**
|
792
|
+
var ember$data$lib$adapters$errors$$SOURCE_POINTER_REGEXP = /data\/(attributes|relationships)\/(.*)/;/**
|
793
793
|
@class AdapterError
|
794
794
|
@namespace DS
|
795
795
|
*/
|
@@ -800,11 +800,11 @@
|
|
800
800
|
|
801
801
|
this.errors = errors || [{
|
802
802
|
title: "Adapter Error",
|
803
|
-
|
803
|
+
detail: message
|
804
804
|
}];
|
805
805
|
}
|
806
806
|
|
807
|
-
ember$data$lib$adapters$errors$$AdapterError.prototype = ember$data$lib$
|
807
|
+
ember$data$lib$adapters$errors$$AdapterError.prototype = ember$data$lib$system$object$polyfills$$create(ember$data$lib$adapters$errors$$EmberError.prototype);
|
808
808
|
|
809
809
|
/**
|
810
810
|
A `DS.InvalidError` is used by an adapter to signal the external API
|
@@ -843,11 +843,11 @@
|
|
843
843
|
// Fictional adapter that always rejects
|
844
844
|
return Ember.RSVP.reject(new DS.InvalidError([
|
845
845
|
{
|
846
|
-
|
846
|
+
detail: 'Must be unique',
|
847
847
|
source: { pointer: 'data/attributes/title' }
|
848
848
|
},
|
849
849
|
{
|
850
|
-
|
850
|
+
detail: 'Must not be blank',
|
851
851
|
source: { pointer: 'data/attributes/content'}
|
852
852
|
}
|
853
853
|
]));
|
@@ -872,7 +872,7 @@
|
|
872
872
|
ember$data$lib$adapters$errors$$AdapterError.call(this, errors, "The adapter rejected the commit because it was invalid");
|
873
873
|
}
|
874
874
|
|
875
|
-
ember$data$lib$adapters$errors$$InvalidError.prototype = ember$data$lib$
|
875
|
+
ember$data$lib$adapters$errors$$InvalidError.prototype = ember$data$lib$system$object$polyfills$$create(ember$data$lib$adapters$errors$$AdapterError.prototype);
|
876
876
|
|
877
877
|
/**
|
878
878
|
@class TimeoutError
|
@@ -882,7 +882,7 @@
|
|
882
882
|
ember$data$lib$adapters$errors$$AdapterError.call(this, null, "The adapter operation timed out");
|
883
883
|
}
|
884
884
|
|
885
|
-
ember$data$lib$adapters$errors$$TimeoutError.prototype = ember$data$lib$
|
885
|
+
ember$data$lib$adapters$errors$$TimeoutError.prototype = ember$data$lib$system$object$polyfills$$create(ember$data$lib$adapters$errors$$AdapterError.prototype);
|
886
886
|
|
887
887
|
/**
|
888
888
|
@class AbortError
|
@@ -892,7 +892,7 @@
|
|
892
892
|
ember$data$lib$adapters$errors$$AdapterError.call(this, null, "The adapter operation was aborted");
|
893
893
|
}
|
894
894
|
|
895
|
-
ember$data$lib$adapters$errors$$AbortError.prototype = ember$data$lib$
|
895
|
+
ember$data$lib$adapters$errors$$AbortError.prototype = ember$data$lib$system$object$polyfills$$create(ember$data$lib$adapters$errors$$AdapterError.prototype);
|
896
896
|
|
897
897
|
/**
|
898
898
|
@private
|
@@ -901,12 +901,12 @@
|
|
901
901
|
var out = [];
|
902
902
|
|
903
903
|
if (Ember.isPresent(errors)) {
|
904
|
-
ember$data$lib$adapters$errors$$forEach.call(
|
904
|
+
ember$data$lib$adapters$errors$$forEach.call(ember$data$lib$system$object$polyfills$$keysFunc(errors), function (key) {
|
905
905
|
var messages = Ember.makeArray(errors[key]);
|
906
906
|
for (var i = 0; i < messages.length; i++) {
|
907
907
|
out.push({
|
908
908
|
title: "Invalid Attribute",
|
909
|
-
|
909
|
+
detail: messages[i],
|
910
910
|
source: {
|
911
911
|
pointer: "data/attributes/" + key
|
912
912
|
}
|
@@ -929,7 +929,7 @@
|
|
929
929
|
if (key) {
|
930
930
|
key = key[2];
|
931
931
|
out[key] = out[key] || [];
|
932
|
-
out[key].push(error.
|
932
|
+
out[key].push(error.detail || error.title);
|
933
933
|
}
|
934
934
|
}
|
935
935
|
});
|
@@ -1458,7 +1458,7 @@
|
|
1458
1458
|
@return {Object}
|
1459
1459
|
*/
|
1460
1460
|
sortQueryParams: function (obj) {
|
1461
|
-
var keys =
|
1461
|
+
var keys = ember$data$lib$system$object$polyfills$$keysFunc(obj);
|
1462
1462
|
var len = keys.length;
|
1463
1463
|
if (len < 2) {
|
1464
1464
|
return obj;
|
@@ -2085,7 +2085,7 @@
|
|
2085
2085
|
var headers = ember$data$lib$adapters$rest$adapter$$get(this, "headers");
|
2086
2086
|
if (headers !== undefined) {
|
2087
2087
|
hash.beforeSend = function (xhr) {
|
2088
|
-
ember$data$lib$adapters$rest$adapter$$forEach.call(
|
2088
|
+
ember$data$lib$adapters$rest$adapter$$forEach.call(ember$data$lib$system$object$polyfills$$keysFunc(headers), function (key) {
|
2089
2089
|
xhr.setRequestHeader(key, headers[key]);
|
2090
2090
|
});
|
2091
2091
|
};
|
@@ -2125,14 +2125,14 @@
|
|
2125
2125
|
return [{
|
2126
2126
|
status: "" + status,
|
2127
2127
|
title: "The backend responded with an error",
|
2128
|
-
|
2128
|
+
detail: "" + payload
|
2129
2129
|
}];
|
2130
2130
|
}
|
2131
2131
|
}
|
2132
2132
|
});
|
2133
2133
|
|
2134
2134
|
function ember$data$lib$adapters$rest$adapter$$parseResponseHeaders(headerStr) {
|
2135
|
-
var headers =
|
2135
|
+
var headers = ember$data$lib$system$object$polyfills$$create(null);
|
2136
2136
|
if (!headerStr) {
|
2137
2137
|
return headers;
|
2138
2138
|
}
|
@@ -2985,8 +2985,8 @@
|
|
2985
2985
|
normalizeResponse hook
|
2986
2986
|
-To customize how JSONSerializer normalizes a specific response from the server,
|
2987
2987
|
use one of the many specific normalizeResponse hooks
|
2988
|
-
-To customize how JSONSerializer normalizes your attributes or relationships,
|
2989
|
-
use the extractAttributes and extractRelationships hooks.
|
2988
|
+
-To customize how JSONSerializer normalizes your id, attributes or relationships,
|
2989
|
+
use the extractId, extractAttributes and extractRelationships hooks.
|
2990
2990
|
|
2991
2991
|
JSONSerializer normalization process follows these steps:
|
2992
2992
|
- `normalizeResponse` - entry method to the Serializer
|
@@ -3433,10 +3433,11 @@
|
|
3433
3433
|
/*
|
3434
3434
|
Returns the resource's ID.
|
3435
3435
|
@method extractId
|
3436
|
+
@param {Object} modelClass
|
3436
3437
|
@param {Object} resourceHash
|
3437
3438
|
@return {String}
|
3438
3439
|
*/
|
3439
|
-
extractId: function (resourceHash) {
|
3440
|
+
extractId: function (modelClass, resourceHash) {
|
3440
3441
|
var primaryKey = ember$data$lib$serializers$json$serializer$$get(this, "primaryKey");
|
3441
3442
|
var id = resourceHash[primaryKey];
|
3442
3443
|
return ember$data$lib$system$coerce$id$$default(id);
|
@@ -3445,7 +3446,8 @@
|
|
3445
3446
|
/*
|
3446
3447
|
Returns the resource's attributes formatted as a JSON-API "attributes object".
|
3447
3448
|
http://jsonapi.org/format/#document-resource-object-attributes
|
3448
|
-
@method
|
3449
|
+
@method extractAttributes
|
3450
|
+
@param {Object} modelClass
|
3449
3451
|
@param {Object} resourceHash
|
3450
3452
|
@return {Object}
|
3451
3453
|
*/
|
@@ -3560,6 +3562,7 @@
|
|
3560
3562
|
@method normalizePayload
|
3561
3563
|
@param {Object} payload
|
3562
3564
|
@return {Object} the normalized payload
|
3565
|
+
@deprecated
|
3563
3566
|
*/
|
3564
3567
|
normalizePayload: function (payload) {
|
3565
3568
|
return payload;
|
@@ -4285,6 +4288,7 @@
|
|
4285
4288
|
@return {Object} json The deserialized payload
|
4286
4289
|
*/
|
4287
4290
|
extractSingle: function (store, typeClass, payload, id, requestType) {
|
4291
|
+
Ember.deprecate("`serializer.normalizePayload` has been deprecated. Please use `serializer.normalizeResponse` with the new Serializer API to modify the payload.", this.normalizePayload === ember$data$lib$serializers$json$serializer$$JSONSerializer.prototype.normalizePayload);
|
4288
4292
|
var normalizedPayload = this.normalizePayload(payload);
|
4289
4293
|
return this.normalize(typeClass, normalizedPayload);
|
4290
4294
|
},
|
@@ -4312,6 +4316,7 @@
|
|
4312
4316
|
@return {Array} array An array of deserialized objects
|
4313
4317
|
*/
|
4314
4318
|
extractArray: function (store, typeClass, arrayPayload, id, requestType) {
|
4319
|
+
Ember.deprecate("`serializer.normalizePayload` has been deprecated. Please use `serializer.normalizeResponse` with the new Serializer API to modify the payload.", this.normalizePayload === ember$data$lib$serializers$json$serializer$$JSONSerializer.prototype.normalizePayload);
|
4315
4320
|
var normalizedPayload = this.normalizePayload(arrayPayload);
|
4316
4321
|
var serializer = this;
|
4317
4322
|
|
@@ -4472,7 +4477,7 @@
|
|
4472
4477
|
this.normalizeUsingDeclaredMapping(modelClass, resourceHash);
|
4473
4478
|
|
4474
4479
|
data = {
|
4475
|
-
id: this.extractId(resourceHash),
|
4480
|
+
id: this.extractId(modelClass, resourceHash),
|
4476
4481
|
type: modelClass.modelName,
|
4477
4482
|
attributes: this.extractAttributes(modelClass, resourceHash),
|
4478
4483
|
relationships: this.extractRelationships(modelClass, resourceHash)
|
@@ -5433,9 +5438,9 @@
|
|
5433
5438
|
changedAttributes: function () {
|
5434
5439
|
var oldData = ember$data$lib$system$model$model$$get(this._internalModel, "_data");
|
5435
5440
|
var newData = ember$data$lib$system$model$model$$get(this._internalModel, "_attributes");
|
5436
|
-
var diffData =
|
5441
|
+
var diffData = ember$data$lib$system$object$polyfills$$create(null);
|
5437
5442
|
|
5438
|
-
var newDataKeys =
|
5443
|
+
var newDataKeys = ember$data$lib$system$object$polyfills$$keysFunc(newData);
|
5439
5444
|
|
5440
5445
|
for (var i = 0, _length = newDataKeys.length; i < _length; i++) {
|
5441
5446
|
var key = newDataKeys[i];
|
@@ -5599,7 +5604,7 @@
|
|
5599
5604
|
// rely on the data property.
|
5600
5605
|
willMergeMixin: function (props) {
|
5601
5606
|
var constructor = this.constructor;
|
5602
|
-
Ember.assert("`" + ember$data$lib$system$model$model$$intersection(
|
5607
|
+
Ember.assert("`" + ember$data$lib$system$model$model$$intersection(ember$data$lib$system$object$polyfills$$keysFunc(props), ember$data$lib$system$model$model$$RESERVED_MODEL_PROPS)[0] + "` is a reserved property name on DS.Model objects. Please choose a different property name for " + constructor.toString(), !ember$data$lib$system$model$model$$intersection(ember$data$lib$system$object$polyfills$$keysFunc(props), ember$data$lib$system$model$model$$RESERVED_MODEL_PROPS)[0]);
|
5603
5608
|
},
|
5604
5609
|
|
5605
5610
|
attr: function () {
|
@@ -5658,7 +5663,7 @@
|
|
5658
5663
|
}
|
5659
5664
|
});
|
5660
5665
|
```
|
5661
|
-
@property
|
5666
|
+
@property modelName
|
5662
5667
|
@type String
|
5663
5668
|
@readonly
|
5664
5669
|
*/
|
@@ -5690,7 +5695,7 @@
|
|
5690
5695
|
@return {Object} JSON-API Document
|
5691
5696
|
*/
|
5692
5697
|
function ember$data$lib$system$store$serializer$response$$normalizeResponseHelper(serializer, store, modelClass, payload, id, requestType) {
|
5693
|
-
if (serializer
|
5698
|
+
if (ember$data$lib$system$store$serializer$response$$get(serializer, 'isNewSerializerAPI')) {
|
5694
5699
|
var normalizedResponse = serializer.normalizeResponse(store, modelClass, payload, id, requestType);
|
5695
5700
|
// TODO: Remove after metadata refactor
|
5696
5701
|
if (normalizedResponse.meta) {
|
@@ -5914,14 +5919,14 @@
|
|
5914
5919
|
};
|
5915
5920
|
|
5916
5921
|
if (payload.attributes) {
|
5917
|
-
var attributeKeys =
|
5922
|
+
var attributeKeys = ember$data$lib$system$object$polyfills$$keysFunc(payload.attributes);
|
5918
5923
|
ember$data$lib$system$store$serializer$response$$forEach.call(attributeKeys, function (key) {
|
5919
5924
|
var attribute = payload.attributes[key];
|
5920
5925
|
data[key] = attribute;
|
5921
5926
|
});
|
5922
5927
|
}
|
5923
5928
|
if (payload.relationships) {
|
5924
|
-
var relationshipKeys =
|
5929
|
+
var relationshipKeys = ember$data$lib$system$object$polyfills$$keysFunc(payload.relationships);
|
5925
5930
|
ember$data$lib$system$store$serializer$response$$forEach.call(relationshipKeys, function (key) {
|
5926
5931
|
var relationship = payload.relationships[key];
|
5927
5932
|
if (relationship.hasOwnProperty('data')) {
|
@@ -6026,6 +6031,7 @@
|
|
6026
6031
|
@property normalizeHash
|
6027
6032
|
@type {Object}
|
6028
6033
|
@default undefined
|
6034
|
+
@deprecated
|
6029
6035
|
*/
|
6030
6036
|
|
6031
6037
|
/**
|
@@ -6095,6 +6101,7 @@
|
|
6095
6101
|
this.normalizeUsingDeclaredMapping(typeClass, hash);
|
6096
6102
|
|
6097
6103
|
if (this.normalizeHash && this.normalizeHash[prop]) {
|
6104
|
+
Ember.deprecate("`RESTSerializer.normalizeHash` has been deprecated. Please use `serializer.normalize` to modify the payload of single resources.");
|
6098
6105
|
this.normalizeHash[prop](hash);
|
6099
6106
|
}
|
6100
6107
|
|
@@ -6121,7 +6128,7 @@
|
|
6121
6128
|
var modelClass = store.modelFor(modelName);
|
6122
6129
|
var serializer = store.serializerFor(modelName);
|
6123
6130
|
|
6124
|
-
Ember.assert(
|
6131
|
+
Ember.assert(this.toString() + " has opted into the new serializer API and expects the " + serializer.toString() + " it collaborates with to also support the new serializer API by setting its `isNewSerializerAPI` property to true.", ember$data$lib$serializers$rest$serializer$$get(serializer, "isNewSerializerAPI"));
|
6125
6132
|
|
6126
6133
|
/*jshint loopfunc:true*/
|
6127
6134
|
ember$data$lib$serializers$rest$serializer$$forEach.call(arrayHash, function (hash) {
|
@@ -6164,7 +6171,7 @@
|
|
6164
6171
|
documentHash.meta = meta;
|
6165
6172
|
}
|
6166
6173
|
|
6167
|
-
var keys =
|
6174
|
+
var keys = ember$data$lib$system$object$polyfills$$keysFunc(payload);
|
6168
6175
|
|
6169
6176
|
for (var i = 0, _length = keys.length; i < _length; i++) {
|
6170
6177
|
var prop = keys[i];
|
@@ -6342,6 +6349,7 @@
|
|
6342
6349
|
@return {Object} the primary response to the original request
|
6343
6350
|
*/
|
6344
6351
|
extractSingle: function (store, primaryTypeClass, rawPayload, recordId) {
|
6352
|
+
Ember.deprecate("`serializer.normalizePayload` has been deprecated. Please use `serializer.normalizeResponse` with the new Serializer API to modify the payload.", this.normalizePayload === ember$data$lib$serializers$json$serializer$$default.prototype.normalizePayload);
|
6345
6353
|
var payload = this.normalizePayload(rawPayload);
|
6346
6354
|
var primaryRecord;
|
6347
6355
|
|
@@ -6371,6 +6379,8 @@
|
|
6371
6379
|
var type = store.modelFor(typeName);
|
6372
6380
|
var typeSerializer = store.serializerFor(type.modelName);
|
6373
6381
|
|
6382
|
+
Ember.assert(this.toString() + " is using the " + (ember$data$lib$serializers$rest$serializer$$get(this, "isNewSerializerAPI") ? "new" : "old") + " serializer API and expects " + typeSerializer.toString() + " it collaborates with to do the same. Make sure to set `isNewSerializerAPI: true` in your custom serializers if you want to use the new Serializer API.", ember$data$lib$serializers$rest$serializer$$get(this, "isNewSerializerAPI") === ember$data$lib$serializers$rest$serializer$$get(typeSerializer, "isNewSerializerAPI"));
|
6383
|
+
|
6374
6384
|
hash = typeSerializer.normalize(type, hash, prop);
|
6375
6385
|
|
6376
6386
|
var isFirstCreatedRecord = isPrimary && !recordId && !primaryRecord;
|
@@ -6479,6 +6489,7 @@
|
|
6479
6489
|
to the original query.
|
6480
6490
|
*/
|
6481
6491
|
extractArray: function (store, primaryTypeClass, rawPayload) {
|
6492
|
+
Ember.deprecate("`serializer.normalizePayload` has been deprecated. Please use `serializer.normalizeResponse` with the new Serializer API to modify the payload.", this.normalizePayload === ember$data$lib$serializers$json$serializer$$default.prototype.normalizePayload);
|
6482
6493
|
var payload = this.normalizePayload(rawPayload);
|
6483
6494
|
var primaryArray;
|
6484
6495
|
|
@@ -6498,6 +6509,9 @@
|
|
6498
6509
|
}
|
6499
6510
|
var type = store.modelFor(typeName);
|
6500
6511
|
var typeSerializer = store.serializerFor(type.modelName);
|
6512
|
+
|
6513
|
+
Ember.assert(this.toString() + " is using the " + (ember$data$lib$serializers$rest$serializer$$get(this, "isNewSerializerAPI") ? "new" : "old") + " serializer API and expects " + typeSerializer.toString() + " it collaborates with to do the same. Make sure to set `isNewSerializerAPI: true` in your custom serializers if you want to use the new Serializer API.", ember$data$lib$serializers$rest$serializer$$get(this, "isNewSerializerAPI") === ember$data$lib$serializers$rest$serializer$$get(typeSerializer, "isNewSerializerAPI"));
|
6514
|
+
|
6501
6515
|
var isPrimary = !forcedSecondary && this.isPrimaryType(store, typeName, primaryTypeClass);
|
6502
6516
|
|
6503
6517
|
/*jshint loopfunc:true*/
|
@@ -6554,6 +6568,7 @@
|
|
6554
6568
|
return;
|
6555
6569
|
}
|
6556
6570
|
|
6571
|
+
Ember.deprecate("`serializer.normalizePayload` has been deprecated. Please use `serializer.normalizeResponse` with the new Serializer API to modify the payload.", this.normalizePayload === ember$data$lib$serializers$json$serializer$$default.prototype.normalizePayload);
|
6557
6572
|
var payload = this.normalizePayload(rawPayload);
|
6558
6573
|
|
6559
6574
|
for (var prop in payload) {
|
@@ -6565,6 +6580,8 @@
|
|
6565
6580
|
var typeClass = store.modelFor(modelName);
|
6566
6581
|
var typeSerializer = store.serializerFor(modelName);
|
6567
6582
|
|
6583
|
+
Ember.assert(this.toString() + " is using the " + (ember$data$lib$serializers$rest$serializer$$get(this, "isNewSerializerAPI") ? "new" : "old") + " serializer API and expects " + typeSerializer.toString() + " it collaborates with to do the same. Make sure to set `isNewSerializerAPI: true` in your custom serializers if you want to use the new Serializer API.", ember$data$lib$serializers$rest$serializer$$get(this, "isNewSerializerAPI") === ember$data$lib$serializers$rest$serializer$$get(typeSerializer, "isNewSerializerAPI"));
|
6584
|
+
|
6568
6585
|
/*jshint loopfunc:true*/
|
6569
6586
|
var normalizedArray = ember$data$lib$serializers$rest$serializer$$map.call(Ember.makeArray(payload[prop]), function (hash) {
|
6570
6587
|
return typeSerializer.normalize(typeClass, hash, prop);
|
@@ -6863,6 +6880,7 @@
|
|
6863
6880
|
*/
|
6864
6881
|
function ember$data$lib$serializers$rest$serializer$$_newNormalize(modelClass, resourceHash, prop) {
|
6865
6882
|
if (this.normalizeHash && this.normalizeHash[prop]) {
|
6883
|
+
Ember.deprecate("`RESTSerializer.normalizeHash` has been deprecated. Please use `serializer.normalize` to modify the payload of single resources.");
|
6866
6884
|
this.normalizeHash[prop](resourceHash);
|
6867
6885
|
}
|
6868
6886
|
}
|
@@ -6877,6 +6895,8 @@
|
|
6877
6895
|
data: [],
|
6878
6896
|
included: []
|
6879
6897
|
};
|
6898
|
+
|
6899
|
+
Ember.deprecate("`serializer.normalizePayload` has been deprecated. Please use `serializer.normalizeResponse` with the new Serializer API to modify the payload.", this.normalizePayload === ember$data$lib$serializers$json$serializer$$default.prototype.normalizePayload);
|
6880
6900
|
var payload = this.normalizePayload(rawPayload);
|
6881
6901
|
|
6882
6902
|
for (var prop in payload) {
|
@@ -6888,6 +6908,8 @@
|
|
6888
6908
|
var type = store.modelFor(modelName);
|
6889
6909
|
var typeSerializer = store.serializerFor(type.modelName);
|
6890
6910
|
|
6911
|
+
Ember.assert(this.toString() + " is using the " + (ember$data$lib$serializers$rest$serializer$$get(this, "isNewSerializerAPI") ? "new" : "old") + " serializer API and expects " + typeSerializer.toString() + " it collaborates with to do the same. Make sure to set `isNewSerializerAPI: true` in your custom serializers if you want to use the new Serializer API.", ember$data$lib$serializers$rest$serializer$$get(this, "isNewSerializerAPI") === ember$data$lib$serializers$rest$serializer$$get(typeSerializer, "isNewSerializerAPI"));
|
6912
|
+
|
6891
6913
|
/*jshint loopfunc:true*/
|
6892
6914
|
ember$data$lib$serializers$rest$serializer$$forEach.call(Ember.makeArray(payload[prop]), function (hash) {
|
6893
6915
|
var _typeSerializer$normalize = typeSerializer.normalize(type, hash, prop);
|
@@ -7254,7 +7276,7 @@
|
|
7254
7276
|
registry.register("adapter:-active-model", activemodel$adapter$lib$system$active$model$adapter$$default);
|
7255
7277
|
}
|
7256
7278
|
var ember$data$lib$core$$DS = Ember.Namespace.create({
|
7257
|
-
VERSION: '1.13.
|
7279
|
+
VERSION: '1.13.5'
|
7258
7280
|
});
|
7259
7281
|
|
7260
7282
|
if (Ember.libraries) {
|
@@ -7298,6 +7320,7 @@
|
|
7298
7320
|
}
|
7299
7321
|
|
7300
7322
|
if (serializer === null || serializer === undefined) {
|
7323
|
+
Ember.deprecate('Ember Data 2.0 will no longer support adapters with a null serializer property. Please define `defaultSerializer: "-default"` your adapter and make sure the `serializer` property is not null.');
|
7301
7324
|
serializer = {
|
7302
7325
|
extract: function (store, type, payload) {
|
7303
7326
|
return payload;
|
@@ -7389,7 +7412,7 @@
|
|
7389
7412
|
var recordArray = ember$data$lib$system$store$finders$$map.call(records, function (record) {
|
7390
7413
|
return record._internalModel;
|
7391
7414
|
});
|
7392
|
-
if (
|
7415
|
+
if (ember$data$lib$system$store$finders$$get(serializer, "isNewSerializerAPI")) {
|
7393
7416
|
recordArray.meta = payload.meta;
|
7394
7417
|
}
|
7395
7418
|
return recordArray;
|
@@ -7744,9 +7767,8 @@
|
|
7744
7767
|
});
|
7745
7768
|
|
7746
7769
|
var ember$data$lib$system$clone$null$$default = ember$data$lib$system$clone$null$$cloneNull;
|
7747
|
-
|
7748
7770
|
function ember$data$lib$system$clone$null$$cloneNull(source) {
|
7749
|
-
var clone =
|
7771
|
+
var clone = ember$data$lib$system$object$polyfills$$create(null);
|
7750
7772
|
for (var key in source) {
|
7751
7773
|
clone[key] = source[key];
|
7752
7774
|
}
|
@@ -7821,7 +7843,7 @@
|
|
7821
7843
|
return new Constructor();
|
7822
7844
|
};
|
7823
7845
|
|
7824
|
-
ember$data$lib$system$ordered$set$$OrderedSet.prototype =
|
7846
|
+
ember$data$lib$system$ordered$set$$OrderedSet.prototype = ember$data$lib$system$object$polyfills$$create(ember$data$lib$system$ordered$set$$EmberOrderedSet.prototype);
|
7825
7847
|
ember$data$lib$system$ordered$set$$OrderedSet.prototype.constructor = ember$data$lib$system$ordered$set$$OrderedSet;
|
7826
7848
|
ember$data$lib$system$ordered$set$$OrderedSet.prototype._super$constructor = ember$data$lib$system$ordered$set$$EmberOrderedSet;
|
7827
7849
|
|
@@ -8169,15 +8191,15 @@
|
|
8169
8191
|
*/
|
8170
8192
|
function ember$data$lib$system$store$container$instance$cache$$ContainerInstanceCache(container) {
|
8171
8193
|
this._container = container;
|
8172
|
-
this._cache = ember$lib$
|
8194
|
+
this._cache = ember$data$lib$system$object$polyfills$$create(null);
|
8173
8195
|
}
|
8174
8196
|
|
8175
|
-
ember$data$lib$system$store$container$instance$cache$$ContainerInstanceCache.prototype = ember$lib$
|
8197
|
+
ember$data$lib$system$store$container$instance$cache$$ContainerInstanceCache.prototype = ember$data$lib$system$object$polyfills$$create(null);
|
8176
8198
|
|
8177
8199
|
ember$lib$main$$default.merge(ember$data$lib$system$store$container$instance$cache$$ContainerInstanceCache.prototype, {
|
8178
8200
|
get: function (type, preferredKey, fallbacks) {
|
8179
8201
|
var cache = this._cache;
|
8180
|
-
var preferredLookupKey =
|
8202
|
+
var preferredLookupKey = type + ':' + preferredKey;
|
8181
8203
|
|
8182
8204
|
if (!(preferredLookupKey in cache)) {
|
8183
8205
|
var instance = this.instanceFor(preferredLookupKey) || this._findInstance(type, fallbacks);
|
@@ -8191,7 +8213,7 @@
|
|
8191
8213
|
_findInstance: function (type, fallbacks) {
|
8192
8214
|
for (var i = 0, _length = fallbacks.length; i < _length; i++) {
|
8193
8215
|
var fallback = fallbacks[i];
|
8194
|
-
var lookupKey =
|
8216
|
+
var lookupKey = type + ':' + fallback;
|
8195
8217
|
var instance = this.instanceFor(lookupKey);
|
8196
8218
|
|
8197
8219
|
if (instance) {
|
@@ -8217,7 +8239,7 @@
|
|
8217
8239
|
|
8218
8240
|
destroy: function () {
|
8219
8241
|
var cache = this._cache;
|
8220
|
-
var cacheEntries = ember$lib$
|
8242
|
+
var cacheEntries = ember$data$lib$system$object$polyfills$$keysFunc(cache);
|
8221
8243
|
|
8222
8244
|
for (var i = 0, _length2 = cacheEntries.length; i < _length2; i++) {
|
8223
8245
|
var cacheKey = cacheEntries[i];
|
@@ -8237,12 +8259,12 @@
|
|
8237
8259
|
});
|
8238
8260
|
|
8239
8261
|
var ember$data$lib$system$store$container$instance$cache$$default = ember$data$lib$system$store$container$instance$cache$$ContainerInstanceCache;
|
8262
|
+
|
8240
8263
|
function ember$data$lib$system$merge$$merge(original, updates) {
|
8241
8264
|
if (!updates || typeof updates !== 'object') {
|
8242
8265
|
return original;
|
8243
8266
|
}
|
8244
|
-
|
8245
|
-
var props = Ember.keys(updates);
|
8267
|
+
var props = ember$data$lib$system$object$polyfills$$keysFunc(updates);
|
8246
8268
|
var prop;
|
8247
8269
|
var length = props.length;
|
8248
8270
|
|
@@ -8256,6 +8278,10 @@
|
|
8256
8278
|
|
8257
8279
|
var ember$data$lib$system$merge$$default = ember$data$lib$system$merge$$merge;
|
8258
8280
|
|
8281
|
+
/**
|
8282
|
+
@module ember-data
|
8283
|
+
*/
|
8284
|
+
|
8259
8285
|
var ember$data$lib$system$model$states$$get = Ember.get;
|
8260
8286
|
/*
|
8261
8287
|
This file encapsulates the various states that a record can transition
|
@@ -8500,7 +8526,7 @@
|
|
8500
8526
|
loadingData: Ember.K,
|
8501
8527
|
|
8502
8528
|
propertyWasReset: function (internalModel, name) {
|
8503
|
-
var length =
|
8529
|
+
var length = ember$data$lib$system$object$polyfills$$keysFunc(internalModel._attributes).length;
|
8504
8530
|
var stillDirty = length > 0;
|
8505
8531
|
|
8506
8532
|
if (!stillDirty) {
|
@@ -8610,7 +8636,7 @@
|
|
8610
8636
|
},
|
8611
8637
|
|
8612
8638
|
exit: function (internalModel) {
|
8613
|
-
internalModel._inFlightAttributes =
|
8639
|
+
internalModel._inFlightAttributes = ember$data$lib$system$object$polyfills$$create(null);
|
8614
8640
|
}
|
8615
8641
|
}
|
8616
8642
|
};
|
@@ -8801,7 +8827,7 @@
|
|
8801
8827
|
saved: {
|
8802
8828
|
setup: function (internalModel) {
|
8803
8829
|
var attrs = internalModel._attributes;
|
8804
|
-
var isDirty =
|
8830
|
+
var isDirty = ember$data$lib$system$object$polyfills$$keysFunc(attrs).length > 0;
|
8805
8831
|
|
8806
8832
|
if (isDirty) {
|
8807
8833
|
internalModel.adapterDidDirty();
|
@@ -8994,7 +9020,7 @@
|
|
8994
9020
|
function ember$data$lib$system$model$states$$wireState(object, parent, name) {
|
8995
9021
|
/*jshint proto:true*/
|
8996
9022
|
// TODO: Use Object.create and copy instead
|
8997
|
-
object = ember$data$lib$system$model$states$$mixin(parent ?
|
9023
|
+
object = ember$data$lib$system$model$states$$mixin(parent ? ember$data$lib$system$object$polyfills$$create(parent) : {}, object);
|
8998
9024
|
object.parentState = parent;
|
8999
9025
|
object.stateName = name;
|
9000
9026
|
|
@@ -9567,7 +9593,7 @@
|
|
9567
9593
|
this.manyArray.isPolymorphic = this.isPolymorphic;
|
9568
9594
|
};
|
9569
9595
|
|
9570
|
-
ember$data$lib$system$relationships$state$has$many$$ManyRelationship.prototype =
|
9596
|
+
ember$data$lib$system$relationships$state$has$many$$ManyRelationship.prototype = ember$data$lib$system$object$polyfills$$create(ember$data$lib$system$relationships$state$relationship$$default.prototype);
|
9571
9597
|
ember$data$lib$system$relationships$state$has$many$$ManyRelationship.prototype.constructor = ember$data$lib$system$relationships$state$has$many$$ManyRelationship;
|
9572
9598
|
ember$data$lib$system$relationships$state$has$many$$ManyRelationship.prototype._super$constructor = ember$data$lib$system$relationships$state$relationship$$default;
|
9573
9599
|
|
@@ -9767,7 +9793,7 @@
|
|
9767
9793
|
this.canonicalState = null;
|
9768
9794
|
};
|
9769
9795
|
|
9770
|
-
ember$data$lib$system$relationships$state$belongs$to$$BelongsToRelationship.prototype =
|
9796
|
+
ember$data$lib$system$relationships$state$belongs$to$$BelongsToRelationship.prototype = ember$data$lib$system$object$polyfills$$create(ember$data$lib$system$relationships$state$relationship$$default.prototype);
|
9771
9797
|
ember$data$lib$system$relationships$state$belongs$to$$BelongsToRelationship.prototype.constructor = ember$data$lib$system$relationships$state$belongs$to$$BelongsToRelationship;
|
9772
9798
|
ember$data$lib$system$relationships$state$belongs$to$$BelongsToRelationship.prototype._super$constructor = ember$data$lib$system$relationships$state$relationship$$default;
|
9773
9799
|
|
@@ -9923,7 +9949,7 @@
|
|
9923
9949
|
|
9924
9950
|
var ember$data$lib$system$relationships$state$create$$Relationships = function (record) {
|
9925
9951
|
this.record = record;
|
9926
|
-
this.initializedRelationships =
|
9952
|
+
this.initializedRelationships = ember$data$lib$system$object$polyfills$$create(null);
|
9927
9953
|
};
|
9928
9954
|
|
9929
9955
|
ember$data$lib$system$relationships$state$create$$Relationships.prototype.has = function (key) {
|
@@ -9941,9 +9967,11 @@
|
|
9941
9967
|
|
9942
9968
|
var ember$data$lib$system$relationships$state$create$$default = ember$data$lib$system$relationships$state$create$$Relationships;
|
9943
9969
|
|
9944
|
-
var ember$data$lib$system$snapshot$$get = Ember.get;
|
9945
|
-
|
9946
9970
|
/**
|
9971
|
+
@module ember-data
|
9972
|
+
*/
|
9973
|
+
|
9974
|
+
var ember$data$lib$system$snapshot$$get = Ember.get;/**
|
9947
9975
|
@class Snapshot
|
9948
9976
|
@namespace DS
|
9949
9977
|
@private
|
@@ -9951,11 +9979,11 @@
|
|
9951
9979
|
@param {DS.Model} internalModel The model to create a snapshot from
|
9952
9980
|
*/
|
9953
9981
|
function ember$data$lib$system$snapshot$$Snapshot(internalModel) {
|
9954
|
-
this._attributes =
|
9955
|
-
this._belongsToRelationships =
|
9956
|
-
this._belongsToIds =
|
9957
|
-
this._hasManyRelationships =
|
9958
|
-
this._hasManyIds =
|
9982
|
+
this._attributes = ember$data$lib$system$object$polyfills$$create(null);
|
9983
|
+
this._belongsToRelationships = ember$data$lib$system$object$polyfills$$create(null);
|
9984
|
+
this._belongsToIds = ember$data$lib$system$object$polyfills$$create(null);
|
9985
|
+
this._hasManyRelationships = ember$data$lib$system$object$polyfills$$create(null);
|
9986
|
+
this._hasManyIds = ember$data$lib$system$object$polyfills$$create(null);
|
9959
9987
|
|
9960
9988
|
var record = internalModel.getRecord();
|
9961
9989
|
this.record = record;
|
@@ -10086,8 +10114,8 @@
|
|
10086
10114
|
@return {Object} All changed attributes of the current snapshot
|
10087
10115
|
*/
|
10088
10116
|
changedAttributes: function () {
|
10089
|
-
var changedAttributes =
|
10090
|
-
var changedAttributeKeys =
|
10117
|
+
var changedAttributes = ember$data$lib$system$object$polyfills$$create(null);
|
10118
|
+
var changedAttributeKeys = ember$data$lib$system$object$polyfills$$keysFunc(this._changedAttributes);
|
10091
10119
|
|
10092
10120
|
for (var i = 0, _length = changedAttributeKeys.length; i < _length; i++) {
|
10093
10121
|
var key = changedAttributeKeys[i];
|
@@ -10342,8 +10370,8 @@
|
|
10342
10370
|
var ember$data$lib$system$model$internal$model$$forEach = Ember.ArrayPolyfills.forEach;
|
10343
10371
|
var ember$data$lib$system$model$internal$model$$map = Ember.ArrayPolyfills.map;
|
10344
10372
|
|
10345
|
-
var ember$data$lib$system$model$internal$model$$_extractPivotNameCache =
|
10346
|
-
var ember$data$lib$system$model$internal$model$$_splitOnDotCache =
|
10373
|
+
var ember$data$lib$system$model$internal$model$$_extractPivotNameCache = ember$data$lib$system$object$polyfills$$create(null);
|
10374
|
+
var ember$data$lib$system$model$internal$model$$_splitOnDotCache = ember$data$lib$system$object$polyfills$$create(null);
|
10347
10375
|
|
10348
10376
|
function ember$data$lib$system$model$internal$model$$splitOnDot(name) {
|
10349
10377
|
return ember$data$lib$system$model$internal$model$$_splitOnDotCache[name] || (ember$data$lib$system$model$internal$model$$_splitOnDotCache[name] = name.split("."));
|
@@ -10380,13 +10408,13 @@
|
|
10380
10408
|
this.id = id;
|
10381
10409
|
this.store = store;
|
10382
10410
|
this.container = container;
|
10383
|
-
this._data = data ||
|
10411
|
+
this._data = data || ember$data$lib$system$object$polyfills$$create(null);
|
10384
10412
|
this.modelName = type.modelName;
|
10385
10413
|
this.dataHasInitialized = false;
|
10386
10414
|
//Look into making this lazy
|
10387
10415
|
this._deferredTriggers = [];
|
10388
|
-
this._attributes =
|
10389
|
-
this._inFlightAttributes =
|
10416
|
+
this._attributes = ember$data$lib$system$object$polyfills$$create(null);
|
10417
|
+
this._inFlightAttributes = ember$data$lib$system$object$polyfills$$create(null);
|
10390
10418
|
this._relationships = new ember$data$lib$system$relationships$state$create$$default(this);
|
10391
10419
|
this.currentState = ember$data$lib$system$model$states$$default.empty;
|
10392
10420
|
this.isReloading = false;
|
@@ -10413,7 +10441,7 @@
|
|
10413
10441
|
would have a implicit post relationship in order to be do things like remove ourselves from the post
|
10414
10442
|
when we are deleted
|
10415
10443
|
*/
|
10416
|
-
this._implicitRelationships =
|
10444
|
+
this._implicitRelationships = ember$data$lib$system$object$polyfills$$create(null);
|
10417
10445
|
};
|
10418
10446
|
|
10419
10447
|
ember$data$lib$system$model$internal$model$$InternalModel.prototype = {
|
@@ -10589,7 +10617,7 @@
|
|
10589
10617
|
|
10590
10618
|
flushChangedAttributes: function () {
|
10591
10619
|
this._inFlightAttributes = this._attributes;
|
10592
|
-
this._attributes =
|
10620
|
+
this._attributes = ember$data$lib$system$object$polyfills$$create(null);
|
10593
10621
|
},
|
10594
10622
|
|
10595
10623
|
/**
|
@@ -10650,12 +10678,12 @@
|
|
10650
10678
|
},
|
10651
10679
|
|
10652
10680
|
rollbackAttributes: function () {
|
10653
|
-
var dirtyKeys =
|
10681
|
+
var dirtyKeys = ember$data$lib$system$object$polyfills$$keysFunc(this._attributes);
|
10654
10682
|
|
10655
|
-
this._attributes =
|
10683
|
+
this._attributes = ember$data$lib$system$object$polyfills$$create(null);
|
10656
10684
|
|
10657
10685
|
if (ember$data$lib$system$model$internal$model$$get(this, "isError")) {
|
10658
|
-
this._inFlightAttributes =
|
10686
|
+
this._inFlightAttributes = ember$data$lib$system$object$polyfills$$create(null);
|
10659
10687
|
this.didCleanError();
|
10660
10688
|
}
|
10661
10689
|
|
@@ -10673,7 +10701,7 @@
|
|
10673
10701
|
}
|
10674
10702
|
|
10675
10703
|
if (this.isValid()) {
|
10676
|
-
this._inFlightAttributes =
|
10704
|
+
this._inFlightAttributes = ember$data$lib$system$object$polyfills$$create(null);
|
10677
10705
|
}
|
10678
10706
|
|
10679
10707
|
this.send("rolledBack");
|
@@ -10786,7 +10814,7 @@
|
|
10786
10814
|
}
|
10787
10815
|
}, this);
|
10788
10816
|
var model = this;
|
10789
|
-
ember$data$lib$system$model$internal$model$$forEach.call(
|
10817
|
+
ember$data$lib$system$model$internal$model$$forEach.call(ember$data$lib$system$object$polyfills$$keysFunc(this._implicitRelationships), function (key) {
|
10790
10818
|
model._implicitRelationships[key].clear();
|
10791
10819
|
model._implicitRelationships[key].destroy();
|
10792
10820
|
});
|
@@ -10797,7 +10825,7 @@
|
|
10797
10825
|
this._relationships.get(name).disconnect();
|
10798
10826
|
}, this);
|
10799
10827
|
var model = this;
|
10800
|
-
ember$data$lib$system$model$internal$model$$forEach.call(
|
10828
|
+
ember$data$lib$system$model$internal$model$$forEach.call(ember$data$lib$system$object$polyfills$$keysFunc(this._implicitRelationships), function (key) {
|
10801
10829
|
model._implicitRelationships[key].disconnect();
|
10802
10830
|
});
|
10803
10831
|
},
|
@@ -10807,7 +10835,7 @@
|
|
10807
10835
|
this._relationships.get(name).reconnect();
|
10808
10836
|
}, this);
|
10809
10837
|
var model = this;
|
10810
|
-
ember$data$lib$system$model$internal$model$$forEach.call(
|
10838
|
+
ember$data$lib$system$model$internal$model$$forEach.call(ember$data$lib$system$object$polyfills$$keysFunc(this._implicitRelationships), function (key) {
|
10811
10839
|
model._implicitRelationships[key].reconnect();
|
10812
10840
|
});
|
10813
10841
|
},
|
@@ -10828,7 +10856,7 @@
|
|
10828
10856
|
_preloadData: function (preload) {
|
10829
10857
|
var record = this;
|
10830
10858
|
//TODO(Igor) consider the polymorphic case
|
10831
|
-
ember$data$lib$system$model$internal$model$$forEach.call(
|
10859
|
+
ember$data$lib$system$model$internal$model$$forEach.call(ember$data$lib$system$object$polyfills$$keysFunc(preload), function (key) {
|
10832
10860
|
var preloadValue = ember$data$lib$system$model$internal$model$$get(preload, key);
|
10833
10861
|
var relationshipMeta = record.type.metaForProperty(key);
|
10834
10862
|
if (relationshipMeta.isRelationship) {
|
@@ -10934,7 +10962,7 @@
|
|
10934
10962
|
ember$data$lib$system$merge$$default(this._data, data);
|
10935
10963
|
}
|
10936
10964
|
|
10937
|
-
this._inFlightAttributes =
|
10965
|
+
this._inFlightAttributes = ember$data$lib$system$object$polyfills$$create(null);
|
10938
10966
|
|
10939
10967
|
this.send("didCommit");
|
10940
10968
|
this.updateRecordArraysLater();
|
@@ -11003,18 +11031,17 @@
|
|
11003
11031
|
},
|
11004
11032
|
|
11005
11033
|
_saveWasRejected: function () {
|
11006
|
-
var keys =
|
11034
|
+
var keys = ember$data$lib$system$object$polyfills$$keysFunc(this._inFlightAttributes);
|
11007
11035
|
for (var i = 0; i < keys.length; i++) {
|
11008
11036
|
if (this._attributes[keys[i]] === undefined) {
|
11009
11037
|
this._attributes[keys[i]] = this._inFlightAttributes[keys[i]];
|
11010
11038
|
}
|
11011
11039
|
}
|
11012
|
-
this._inFlightAttributes =
|
11040
|
+
this._inFlightAttributes = ember$data$lib$system$object$polyfills$$create(null);
|
11013
11041
|
},
|
11014
11042
|
|
11015
11043
|
/**
|
11016
|
-
|
11017
|
-
Ember Data has 3 buckets for storing the value of an attribute on an internalModel.
|
11044
|
+
Ember Data has 3 buckets for storing the value of an attribute on an internalModel.
|
11018
11045
|
`_data` holds all of the attributes that have been acknowledged by
|
11019
11046
|
a backend via the adapter. When rollbackAttributes is called on a model all
|
11020
11047
|
attributes will revert to the record's state in `_data`.
|
@@ -11042,17 +11069,18 @@
|
|
11042
11069
|
`_inFlightAttributes` has priority) then that means the backend
|
11043
11070
|
has updated the value and the key is added to the list of changed
|
11044
11071
|
keys.
|
11045
|
-
@
|
11072
|
+
@method _changedKeys
|
11073
|
+
@private
|
11046
11074
|
*/
|
11047
11075
|
_changedKeys: function (updates) {
|
11048
11076
|
var changedKeys = [];
|
11049
11077
|
|
11050
11078
|
if (updates) {
|
11051
11079
|
var original, i, value, key;
|
11052
|
-
var keys =
|
11080
|
+
var keys = ember$data$lib$system$object$polyfills$$keysFunc(updates);
|
11053
11081
|
var length = keys.length;
|
11054
11082
|
|
11055
|
-
original = ember$data$lib$system$merge$$default(
|
11083
|
+
original = ember$data$lib$system$merge$$default(ember$data$lib$system$object$polyfills$$create(null), this._data);
|
11056
11084
|
original = ember$data$lib$system$merge$$default(original, this._inFlightAttributes);
|
11057
11085
|
|
11058
11086
|
for (i = 0; i < length; i++) {
|
@@ -11320,11 +11348,19 @@
|
|
11320
11348
|
/**
|
11321
11349
|
Create a new record in the current store. The properties passed
|
11322
11350
|
to this method are set on the newly created record.
|
11323
|
-
To create a new instance of `
|
11351
|
+
To create a new instance of a `Post`:
|
11324
11352
|
```js
|
11325
11353
|
store.createRecord('post', {
|
11326
11354
|
title: "Rails is omakase"
|
11327
11355
|
});
|
11356
|
+
```
|
11357
|
+
To create a new instance of a `Post` that has a relationship with a `User` record:
|
11358
|
+
```js
|
11359
|
+
var user = this.store.peekRecord('user', 1);
|
11360
|
+
store.createRecord('post', {
|
11361
|
+
title: "Rails is omakase",
|
11362
|
+
user: user
|
11363
|
+
});
|
11328
11364
|
```
|
11329
11365
|
@method createRecord
|
11330
11366
|
@param {String} modelName
|
@@ -11335,7 +11371,7 @@
|
|
11335
11371
|
createRecord: function (modelName, inputProperties) {
|
11336
11372
|
Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
|
11337
11373
|
var typeClass = this.modelFor(modelName);
|
11338
|
-
var properties = ember$data$lib$system$store$$copy(inputProperties) ||
|
11374
|
+
var properties = ember$data$lib$system$store$$copy(inputProperties) || ember$data$lib$system$object$polyfills$$create(null);
|
11339
11375
|
|
11340
11376
|
// If the passed properties do not include a primary key,
|
11341
11377
|
// give the adapter an opportunity to generate one. Typically,
|
@@ -11592,34 +11628,16 @@
|
|
11592
11628
|
var internalModel = this._internalModelForId(modelName, id);
|
11593
11629
|
options = options || {};
|
11594
11630
|
|
11595
|
-
|
11596
|
-
|
11597
|
-
|
11598
|
-
_findByInternalModel: function (internalModel, options) {
|
11599
|
-
options = options || {};
|
11600
|
-
|
11601
|
-
if (options.preload) {
|
11602
|
-
internalModel._preloadData(options.preload);
|
11631
|
+
if (!this.hasRecordForId(modelName, id)) {
|
11632
|
+
return this._findByInternalModel(internalModel, options);
|
11603
11633
|
}
|
11604
11634
|
|
11605
|
-
var fetchedInternalModel = this.
|
11635
|
+
var fetchedInternalModel = this._findRecord(internalModel, options);
|
11606
11636
|
|
11607
11637
|
return ember$data$lib$system$store$$promiseRecord(fetchedInternalModel, "DS: Store#findRecord " + internalModel.typeKey + " with id: " + ember$data$lib$system$store$$get(internalModel, "id"));
|
11608
11638
|
},
|
11609
11639
|
|
11610
|
-
|
11611
|
-
var typeClass = internalModel.type;
|
11612
|
-
var adapter = this.adapterFor(typeClass.modelName);
|
11613
|
-
// Always fetch the model if it is not loaded
|
11614
|
-
if (internalModel.isEmpty()) {
|
11615
|
-
return this.scheduleFetch(internalModel, options);
|
11616
|
-
}
|
11617
|
-
|
11618
|
-
//TODO double check about reloading
|
11619
|
-
if (internalModel.isLoading()) {
|
11620
|
-
return internalModel._loadingPromise;
|
11621
|
-
}
|
11622
|
-
|
11640
|
+
_findRecord: function (internalModel, options) {
|
11623
11641
|
// Refetch if the reload option is passed
|
11624
11642
|
if (options.reload) {
|
11625
11643
|
return this.scheduleFetch(internalModel, options);
|
@@ -11628,6 +11646,8 @@
|
|
11628
11646
|
// Refetch the record if the adapter thinks the record is stale
|
11629
11647
|
var snapshot = internalModel.createSnapshot();
|
11630
11648
|
snapshot.adapterOptions = options && options.adapterOptions;
|
11649
|
+
var typeClass = internalModel.type;
|
11650
|
+
var adapter = this.adapterFor(typeClass.modelName);
|
11631
11651
|
if (adapter.shouldReloadRecord(this, snapshot)) {
|
11632
11652
|
return this.scheduleFetch(internalModel, options);
|
11633
11653
|
}
|
@@ -11640,6 +11660,32 @@
|
|
11640
11660
|
// Return the cached record
|
11641
11661
|
return ember$data$lib$system$store$$Promise.resolve(internalModel);
|
11642
11662
|
},
|
11663
|
+
|
11664
|
+
_findByInternalModel: function (internalModel, options) {
|
11665
|
+
options = options || {};
|
11666
|
+
|
11667
|
+
if (options.preload) {
|
11668
|
+
internalModel._preloadData(options.preload);
|
11669
|
+
}
|
11670
|
+
|
11671
|
+
var fetchedInternalModel = this._findEmptyInternalModel(internalModel, options);
|
11672
|
+
|
11673
|
+
return ember$data$lib$system$store$$promiseRecord(fetchedInternalModel, "DS: Store#findRecord " + internalModel.typeKey + " with id: " + ember$data$lib$system$store$$get(internalModel, "id"));
|
11674
|
+
},
|
11675
|
+
|
11676
|
+
_findEmptyInternalModel: function (internalModel, options) {
|
11677
|
+
if (internalModel.isEmpty()) {
|
11678
|
+
return this.scheduleFetch(internalModel, options);
|
11679
|
+
}
|
11680
|
+
|
11681
|
+
//TODO double check about reloading
|
11682
|
+
if (internalModel.isLoading()) {
|
11683
|
+
return internalModel._loadingPromise;
|
11684
|
+
}
|
11685
|
+
|
11686
|
+
return ember$data$lib$system$store$$Promise.resolve(internalModel);
|
11687
|
+
},
|
11688
|
+
|
11643
11689
|
/**
|
11644
11690
|
This method makes a series of requests to the adapter's `find` method
|
11645
11691
|
and returns a promise that resolves once they are all loaded.
|
@@ -12188,7 +12234,7 @@
|
|
12188
12234
|
Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), !modelName || typeof modelName === "string");
|
12189
12235
|
if (arguments.length === 0) {
|
12190
12236
|
var typeMaps = this.typeMaps;
|
12191
|
-
var keys =
|
12237
|
+
var keys = ember$data$lib$system$object$polyfills$$keysFunc(typeMaps);
|
12192
12238
|
|
12193
12239
|
var types = ember$data$lib$system$store$$map.call(keys, byType);
|
12194
12240
|
|
@@ -12205,7 +12251,7 @@
|
|
12205
12251
|
record.destroy(); // maybe within unloadRecord
|
12206
12252
|
}
|
12207
12253
|
|
12208
|
-
typeMap.metadata =
|
12254
|
+
typeMap.metadata = ember$data$lib$system$object$polyfills$$create(null);
|
12209
12255
|
}
|
12210
12256
|
|
12211
12257
|
function byType(entry) {
|
@@ -12525,9 +12571,9 @@
|
|
12525
12571
|
}
|
12526
12572
|
|
12527
12573
|
typeMap = {
|
12528
|
-
idToRecord:
|
12574
|
+
idToRecord: ember$data$lib$system$object$polyfills$$create(null),
|
12529
12575
|
records: [],
|
12530
|
-
metadata:
|
12576
|
+
metadata: ember$data$lib$system$object$polyfills$$create(null),
|
12531
12577
|
type: typeClass
|
12532
12578
|
};
|
12533
12579
|
|
@@ -12743,9 +12789,9 @@
|
|
12743
12789
|
// contains unknown keys, log a warning.
|
12744
12790
|
|
12745
12791
|
if (Ember.ENV.DS_WARN_ON_UNKNOWN_KEYS) {
|
12746
|
-
Ember.warn("The payload for '" + type.modelName + "' contains these unknown keys: " + Ember.inspect(filter.call(
|
12792
|
+
Ember.warn("The payload for '" + type.modelName + "' contains these unknown keys: " + Ember.inspect(filter.call(ember$data$lib$system$object$polyfills$$keysFunc(data), function (key) {
|
12747
12793
|
return !(key === "id" || key === "links" || ember$data$lib$system$store$$get(type, "fields").has(key) || key.match(/Type$/));
|
12748
|
-
})) + ". Make sure they've been defined in your model.", filter.call(
|
12794
|
+
})) + ". Make sure they've been defined in your model.", filter.call(ember$data$lib$system$object$polyfills$$keysFunc(data), function (key) {
|
12749
12795
|
return !(key === "id" || key === "links" || ember$data$lib$system$store$$get(type, "fields").has(key) || key.match(/Type$/));
|
12750
12796
|
}).length === 0);
|
12751
12797
|
}
|
@@ -12826,7 +12872,7 @@
|
|
12826
12872
|
var payload;
|
12827
12873
|
if (!inputPayload) {
|
12828
12874
|
payload = modelName;
|
12829
|
-
serializer = ember$data$lib$system$store$$defaultSerializer(this
|
12875
|
+
serializer = ember$data$lib$system$store$$defaultSerializer(this);
|
12830
12876
|
Ember.assert("You cannot use `store#pushPayload` without a modelName unless your default serializer defines `pushPayload`", typeof serializer.pushPayload === "function");
|
12831
12877
|
} else {
|
12832
12878
|
payload = inputPayload;
|
@@ -13147,8 +13193,8 @@
|
|
13147
13193
|
|
13148
13194
|
// Delegation to the adapter and promise management
|
13149
13195
|
|
13150
|
-
function ember$data$lib$system$store$$defaultSerializer(
|
13151
|
-
return
|
13196
|
+
function ember$data$lib$system$store$$defaultSerializer(store) {
|
13197
|
+
return store.serializerFor("application");
|
13152
13198
|
}
|
13153
13199
|
|
13154
13200
|
function ember$data$lib$system$store$$_commit(adapter, store, operation, snapshot) {
|
@@ -13259,6 +13305,7 @@
|
|
13259
13305
|
var ember$data$lib$system$store$$default = ember$data$lib$system$store$$Store;
|
13260
13306
|
|
13261
13307
|
var ember$data$lib$serializers$json$api$serializer$$dasherize = Ember.String.dasherize;
|
13308
|
+
var ember$data$lib$serializers$json$api$serializer$$get = Ember.get;
|
13262
13309
|
var ember$data$lib$serializers$json$api$serializer$$map = Ember.ArrayPolyfills.map;
|
13263
13310
|
|
13264
13311
|
var ember$data$lib$serializers$json$api$serializer$$default = ember$data$lib$serializers$json$serializer$$default.extend({
|
@@ -13281,7 +13328,7 @@
|
|
13281
13328
|
|
13282
13329
|
if (Ember.typeOf(documentHash.data) === 'object') {
|
13283
13330
|
documentHash.data = this._normalizeResourceHelper(documentHash.data);
|
13284
|
-
} else {
|
13331
|
+
} else if (Ember.typeOf(documentHash.data) === 'array') {
|
13285
13332
|
documentHash.data = ember$data$lib$serializers$json$api$serializer$$map.call(documentHash.data, this._normalizeResourceHelper, this);
|
13286
13333
|
}
|
13287
13334
|
|
@@ -13315,6 +13362,8 @@
|
|
13315
13362
|
var modelClass = this.store.modelFor(modelName);
|
13316
13363
|
var serializer = this.store.serializerFor(modelName);
|
13317
13364
|
|
13365
|
+
Ember.assert(this.toString() + ' is using the ' + (ember$data$lib$serializers$json$api$serializer$$get(this, 'isNewSerializerAPI') ? 'new' : 'old') + ' serializer API and expects ' + serializer.toString() + ' it collaborates with to do the same. Make sure to set `isNewSerializerAPI: true` in your custom serializers if you want to use the new Serializer API.', ember$data$lib$serializers$json$api$serializer$$get(this, 'isNewSerializerAPI') === ember$data$lib$serializers$json$api$serializer$$get(serializer, 'isNewSerializerAPI'));
|
13366
|
+
|
13318
13367
|
var _serializer$normalize = serializer.normalize(modelClass, resourceHash);
|
13319
13368
|
|
13320
13369
|
var data = _serializer$normalize.data;
|
@@ -13454,7 +13503,7 @@
|
|
13454
13503
|
this.normalizeUsingDeclaredMapping(modelClass, resourceHash);
|
13455
13504
|
|
13456
13505
|
var data = {
|
13457
|
-
id: this.extractId(resourceHash),
|
13506
|
+
id: this.extractId(modelClass, resourceHash),
|
13458
13507
|
type: this._extractType(modelClass, resourceHash),
|
13459
13508
|
attributes: this.extractAttributes(modelClass, resourceHash),
|
13460
13509
|
relationships: this.extractRelationships(modelClass, resourceHash)
|
@@ -13641,7 +13690,7 @@
|
|
13641
13690
|
|
13642
13691
|
if (store) {
|
13643
13692
|
registry.register("service:store", store, { instantiate: false });
|
13644
|
-
} else {
|
13693
|
+
} else if (!registry.has("service:store")) {
|
13645
13694
|
registry.register("service:store", application && application.Store || ember$data$lib$system$store$$default);
|
13646
13695
|
}
|
13647
13696
|
}
|
@@ -13863,7 +13912,8 @@
|
|
13863
13912
|
return ember$new$computed$lib$main$$computed.apply(undefined, polyfillArguments);
|
13864
13913
|
}
|
13865
13914
|
|
13866
|
-
var ember$new$computed$lib$main$$
|
13915
|
+
var ember$new$computed$lib$main$$getKeys = Object.keys || ember$lib$main$$default.keys;
|
13916
|
+
var ember$new$computed$lib$main$$computedKeys = ember$new$computed$lib$main$$getKeys(ember$new$computed$lib$main$$computed);
|
13867
13917
|
|
13868
13918
|
for (var ember$new$computed$lib$main$$i = 0, ember$new$computed$lib$main$$l = ember$new$computed$lib$main$$computedKeys.length; ember$new$computed$lib$main$$i < ember$new$computed$lib$main$$l; ember$new$computed$lib$main$$i++) {
|
13869
13919
|
ember$new$computed$lib$main$$newComputed[ember$new$computed$lib$main$$computedKeys[ember$new$computed$lib$main$$i]] = ember$new$computed$lib$main$$computed[ember$new$computed$lib$main$$computedKeys[ember$new$computed$lib$main$$i]];
|
@@ -14876,6 +14926,9 @@
|
|
14876
14926
|
if (parentRecord) {
|
14877
14927
|
var name = parentRecord.name;
|
14878
14928
|
var embeddedSerializer = this.store.serializerFor(embeddedSnapshot.modelName);
|
14929
|
+
|
14930
|
+
Ember.assert(this.toString() + ' is using the ' + (ember$data$lib$serializers$embedded$records$mixin$$get(this, 'isNewSerializerAPI') ? 'new' : 'old') + ' serializer API and expects ' + embeddedSerializer.toString() + ' it collaborates with to do the same. Make sure to set `isNewSerializerAPI: true` in your custom serializers if you want to use the new Serializer API.', ember$data$lib$serializers$embedded$records$mixin$$get(this, 'isNewSerializerAPI') === ember$data$lib$serializers$embedded$records$mixin$$get(embeddedSerializer, 'isNewSerializerAPI'));
|
14931
|
+
|
14879
14932
|
var parentKey = embeddedSerializer.keyForRelationship(name, parentRecord.kind, 'deserialize');
|
14880
14933
|
if (parentKey) {
|
14881
14934
|
delete json[parentKey];
|
@@ -14971,6 +15024,9 @@
|
|
14971
15024
|
var ids = [];
|
14972
15025
|
|
14973
15026
|
var embeddedSerializer = store.serializerFor(embeddedTypeClass.modelName);
|
15027
|
+
|
15028
|
+
Ember.assert(this.toString() + ' is using the ' + (ember$data$lib$serializers$embedded$records$mixin$$get(this, 'isNewSerializerAPI') ? 'new' : 'old') + ' serializer API and expects ' + embeddedSerializer.toString() + ' it collaborates with to do the same. Make sure to set `isNewSerializerAPI: true` in your custom serializers if you want to use the new Serializer API.', ember$data$lib$serializers$embedded$records$mixin$$get(this, 'isNewSerializerAPI') === ember$data$lib$serializers$embedded$records$mixin$$get(embeddedSerializer, 'isNewSerializerAPI'));
|
15029
|
+
|
14974
15030
|
ember$data$lib$serializers$embedded$records$mixin$$forEach.call(hash[key], function (data) {
|
14975
15031
|
var embeddedRecord = embeddedSerializer.normalize(embeddedTypeClass, data, null);
|
14976
15032
|
store.push(embeddedTypeClass.modelName, embeddedRecord);
|
@@ -14986,6 +15042,8 @@
|
|
14986
15042
|
@private
|
14987
15043
|
*/
|
14988
15044
|
_extractEmbeddedHasManyPolymorphic: function (store, key, hash) {
|
15045
|
+
var _this = this;
|
15046
|
+
|
14989
15047
|
if (!hash[key]) {
|
14990
15048
|
return hash;
|
14991
15049
|
}
|
@@ -14995,6 +15053,9 @@
|
|
14995
15053
|
ember$data$lib$serializers$embedded$records$mixin$$forEach.call(hash[key], function (data) {
|
14996
15054
|
var modelName = data.type;
|
14997
15055
|
var embeddedSerializer = store.serializerFor(modelName);
|
15056
|
+
|
15057
|
+
Ember.assert(_this.toString() + ' is using the ' + (ember$data$lib$serializers$embedded$records$mixin$$get(_this, 'isNewSerializerAPI') ? 'new' : 'old') + ' serializer API and expects ' + embeddedSerializer.toString() + ' it collaborates with to do the same. Make sure to set `isNewSerializerAPI: true` in your custom serializers if you want to use the new Serializer API.', ember$data$lib$serializers$embedded$records$mixin$$get(_this, 'isNewSerializerAPI') === ember$data$lib$serializers$embedded$records$mixin$$get(embeddedSerializer, 'isNewSerializerAPI'));
|
15058
|
+
|
14998
15059
|
var embeddedTypeClass = store.modelFor(modelName);
|
14999
15060
|
// var primaryKey = embeddedSerializer.get('primaryKey');
|
15000
15061
|
|
@@ -15021,6 +15082,9 @@
|
|
15021
15082
|
}
|
15022
15083
|
|
15023
15084
|
var embeddedSerializer = store.serializerFor(embeddedTypeClass.modelName);
|
15085
|
+
|
15086
|
+
Ember.assert(this.toString() + ' is using the ' + (ember$data$lib$serializers$embedded$records$mixin$$get(this, 'isNewSerializerAPI') ? 'new' : 'old') + ' serializer API and expects ' + embeddedSerializer.toString() + ' it collaborates with to do the same. Make sure to set `isNewSerializerAPI: true` in your custom serializers if you want to use the new Serializer API.', ember$data$lib$serializers$embedded$records$mixin$$get(this, 'isNewSerializerAPI') === ember$data$lib$serializers$embedded$records$mixin$$get(embeddedSerializer, 'isNewSerializerAPI'));
|
15087
|
+
|
15024
15088
|
var embeddedRecord = embeddedSerializer.normalize(embeddedTypeClass, hash[key], null);
|
15025
15089
|
store.push(embeddedTypeClass.modelName, embeddedRecord);
|
15026
15090
|
|
@@ -15040,6 +15104,9 @@
|
|
15040
15104
|
var data = hash[key];
|
15041
15105
|
var modelName = data.type;
|
15042
15106
|
var embeddedSerializer = store.serializerFor(modelName);
|
15107
|
+
|
15108
|
+
Ember.assert(this.toString() + ' is using the ' + (ember$data$lib$serializers$embedded$records$mixin$$get(this, 'isNewSerializerAPI') ? 'new' : 'old') + ' serializer API and expects ' + embeddedSerializer.toString() + ' it collaborates with to do the same. Make sure to set `isNewSerializerAPI: true` in your custom serializers if you want to use the new Serializer API.', ember$data$lib$serializers$embedded$records$mixin$$get(this, 'isNewSerializerAPI') === ember$data$lib$serializers$embedded$records$mixin$$get(embeddedSerializer, 'isNewSerializerAPI'));
|
15109
|
+
|
15043
15110
|
var embeddedTypeClass = store.modelFor(modelName);
|
15044
15111
|
// var primaryKey = embeddedSerializer.get('primaryKey');
|
15045
15112
|
|
@@ -15063,6 +15130,8 @@
|
|
15063
15130
|
var modelClass = store.modelFor(modelName);
|
15064
15131
|
var serializer = store.serializerFor(modelName);
|
15065
15132
|
|
15133
|
+
Ember.assert(this.toString() + ' is using the ' + (ember$data$lib$serializers$embedded$records$mixin$$get(this, 'isNewSerializerAPI') ? 'new' : 'old') + ' serializer API and expects ' + serializer.toString() + ' it collaborates with to do the same. Make sure to set `isNewSerializerAPI: true` in your custom serializers if you want to use the new Serializer API.', ember$data$lib$serializers$embedded$records$mixin$$get(this, 'isNewSerializerAPI') === ember$data$lib$serializers$embedded$records$mixin$$get(serializer, 'isNewSerializerAPI'));
|
15134
|
+
|
15066
15135
|
return serializer.normalize(modelClass, relationshipHash, null);
|
15067
15136
|
}
|
15068
15137
|
|
@@ -15075,15 +15144,15 @@
|
|
15075
15144
|
@private
|
15076
15145
|
*/
|
15077
15146
|
function ember$data$lib$serializers$embedded$records$mixin$$_newExtractEmbeddedRecords(serializer, store, typeClass, partial) {
|
15078
|
-
var
|
15147
|
+
var _this2 = this;
|
15079
15148
|
|
15080
15149
|
typeClass.eachRelationship(function (key, relationship) {
|
15081
15150
|
if (serializer.hasDeserializeRecordsOption(key)) {
|
15082
15151
|
if (relationship.kind === 'hasMany') {
|
15083
|
-
|
15152
|
+
_this2._extractEmbeddedHasMany(store, key, partial, relationship);
|
15084
15153
|
}
|
15085
15154
|
if (relationship.kind === 'belongsTo') {
|
15086
|
-
|
15155
|
+
_this2._extractEmbeddedBelongsTo(store, key, partial, relationship);
|
15087
15156
|
}
|
15088
15157
|
}
|
15089
15158
|
}, this);
|
@@ -15095,7 +15164,7 @@
|
|
15095
15164
|
@private
|
15096
15165
|
*/
|
15097
15166
|
function ember$data$lib$serializers$embedded$records$mixin$$_newExtractEmbeddedHasMany(store, key, hash, relationshipMeta) {
|
15098
|
-
var
|
15167
|
+
var _this3 = this;
|
15099
15168
|
|
15100
15169
|
var relationshipHash = ember$data$lib$serializers$embedded$records$mixin$$get(hash, 'data.relationships.' + key + '.data');
|
15101
15170
|
if (!relationshipHash) {
|
@@ -15103,7 +15172,7 @@
|
|
15103
15172
|
}
|
15104
15173
|
|
15105
15174
|
var hasMany = relationshipHash.map(function (item) {
|
15106
|
-
var _normalizeEmbeddedRelationship =
|
15175
|
+
var _normalizeEmbeddedRelationship = _this3._normalizeEmbeddedRelationship(store, relationshipMeta, item);
|
15107
15176
|
|
15108
15177
|
var data = _normalizeEmbeddedRelationship.data;
|
15109
15178
|
var included = _normalizeEmbeddedRelationship.included;
|
@@ -15657,7 +15726,7 @@
|
|
15657
15726
|
},
|
15658
15727
|
|
15659
15728
|
inverseMap: Ember.computed(function () {
|
15660
|
-
return
|
15729
|
+
return ember$data$lib$system$object$polyfills$$create(null);
|
15661
15730
|
}),
|
15662
15731
|
|
15663
15732
|
/**
|