ember-data-source 2.7.0.beta.1 → 2.7.0.beta.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 33dec8fb2ecc2b2dca716443d07526b12b9b3cdf
4
- data.tar.gz: 71f8117dc0fc6993d1ee95c4c6875743b0bec930
3
+ metadata.gz: f47cbabddb5ffb5b67d3a0ec28dceafe4ce9b490
4
+ data.tar.gz: 196db0db2742755e706a6adaba6f4a96b362a46f
5
5
  SHA512:
6
- metadata.gz: d6fb1b062982315f424e3a3edb20d9bd41621e22eaf547c9f618d8a274af60caf224cd8e37bc38e2d25f4205975271f913ebb33b415c8b43925fecba48fea33a
7
- data.tar.gz: 161aa97282f1e6ca50c67a03caa04684d2943a477cecce815520beb5724fee64509f231e9eff2eb532ec07ed59f19a0cc7282f6120882e1ac8bda5c26f6ea5c6
6
+ metadata.gz: 8e5e6467cd66565c370c2893846e74b7467df30ac9c55531b4488fdf970721fc5237737c8b74735b2c12d1e116c105c1e7f7fd3187ebb01a5f7f74a7fa723537
7
+ data.tar.gz: dd8f243dfb73782d0955a8530907d4b48577a578b2ea888e13e948ca7e57526a7bed3b0e1b937ad05dc768e80571b733f9bcadff97755bf1fb03ffe32619f7b1
@@ -6,7 +6,7 @@
6
6
  * @copyright Copyright 2011-2016 Tilde Inc. and contributors.
7
7
  * Portions Copyright 2011 LivingSocial Inc.
8
8
  * @license Licensed under MIT license (see license.js)
9
- * @version 2.7.0-beta.1
9
+ * @version 2.7.0-beta.2
10
10
  */
11
11
 
12
12
  var loader, define, requireModule, require, requirejs;
@@ -25,7 +25,14 @@ var loader, define, requireModule, require, requirejs;
25
25
 
26
26
  requirejs = require = requireModule = function(name) {
27
27
  stats.require++;
28
- return findModule(name, '(require)').module.exports;
28
+ var pending = [];
29
+ var mod = findModule(name, '(require)', pending);
30
+
31
+ for (var i = pending.length - 1; i >= 0; i--) {
32
+ pending[i].exports();
33
+ }
34
+
35
+ return mod.module.exports;
29
36
  };
30
37
 
31
38
  function resetStats() {
@@ -33,10 +40,9 @@ var loader, define, requireModule, require, requirejs;
33
40
  define: 0,
34
41
  require: 0,
35
42
  reify: 0,
36
- build: 0,
43
+ findDeps: 0,
37
44
  modules: 0,
38
45
  exports: 0,
39
- ensureBuild: 0,
40
46
  resolve: 0,
41
47
  resolveRelative: 0,
42
48
  findModule: 0,
@@ -75,8 +81,6 @@ var loader, define, requireModule, require, requirejs;
75
81
 
76
82
  var registry = {};
77
83
  var seen = {};
78
- var FAILED = false;
79
- var LOADED = true;
80
84
 
81
85
  var uuid = 0;
82
86
 
@@ -94,11 +98,11 @@ var loader, define, requireModule, require, requirejs;
94
98
  this.deps = !deps.length && callback.length ? defaultDeps : deps;
95
99
  this.module = { exports: {} };
96
100
  this.callback = callback;
97
- this.state = undefined;
98
101
  this.finalized = false;
99
102
  this.hasExportsAsDep = false;
100
103
  this.isAlias = alias;
101
104
  this.reified = new Array(deps.length);
105
+ this._foundDeps = false;
102
106
  }
103
107
 
104
108
  Module.prototype.makeDefaultExport = function() {
@@ -111,46 +115,63 @@ var loader, define, requireModule, require, requirejs;
111
115
  };
112
116
 
113
117
  Module.prototype.exports = function() {
114
- stats.exports ++;
115
- if (this.finalized) {
116
- return this.module.exports;
117
- } else {
118
- if (loader.wrapModules) {
119
- this.callback = loader.wrapModules(this.name, this.callback);
120
- }
121
- var result = this.callback.apply(this, this.reified);
122
- if (!(this.hasExportsAsDep && result === undefined)) {
123
- this.module.exports = result;
124
- }
125
- this.makeDefaultExport();
126
- this.finalized = true;
127
- return this.module.exports;
118
+ if (this.finalized) { return this.module.exports; }
119
+ stats.exports++;
120
+
121
+ this.finalized = true;
122
+
123
+ if (loader.wrapModules) {
124
+ this.callback = loader.wrapModules(this.name, this.callback);
128
125
  }
126
+
127
+ this.reify();
128
+
129
+ var result = this.callback.apply(this, this.reified);
130
+
131
+ if (!(this.hasExportsAsDep && result === undefined)) {
132
+ this.module.exports = result;
133
+ }
134
+ this.makeDefaultExport();
135
+ return this.module.exports;
129
136
  };
130
137
 
131
138
  Module.prototype.unsee = function() {
132
139
  this.finalized = false;
133
- this.state = undefined;
140
+ this._foundDeps = false;
134
141
  this.module = { exports: {}};
135
142
  };
136
143
 
137
144
  Module.prototype.reify = function() {
138
145
  stats.reify++;
139
- var deps = this.deps;
140
- var dep;
141
146
  var reified = this.reified;
147
+ for (var i = 0; i < reified.length; i++) {
148
+ var mod = reified[i];
149
+ reified[i] = mod.exports ? mod.exports : mod.module.exports();
150
+ }
151
+ };
152
+
153
+ Module.prototype.findDeps = function(pending) {
154
+ if (this._foundDeps) {
155
+ return;
156
+ }
157
+
158
+ stats.findDeps++;
159
+ this._foundDeps = true;
160
+
161
+ var deps = this.deps;
142
162
 
143
163
  for (var i = 0; i < deps.length; i++) {
144
- dep = deps[i];
164
+ var dep = deps[i];
165
+ var entry = this.reified[i] = { exports: undefined, module: undefined };
145
166
  if (dep === 'exports') {
146
167
  this.hasExportsAsDep = true;
147
- reified[i] = this.module.exports;
168
+ entry.exports = this.module.exports;
148
169
  } else if (dep === 'require') {
149
- reified[i] = this.makeRequire();
170
+ entry.exports = this.makeRequire();
150
171
  } else if (dep === 'module') {
151
- reified[i] = this.module;
172
+ entry.exports = this.module;
152
173
  } else {
153
- reified[i] = findModule(resolve(dep, this.name), this.name).module.exports;
174
+ entry.module = findModule(resolve(dep, this.name), this.name, pending);
154
175
  }
155
176
  }
156
177
  };
@@ -167,16 +188,6 @@ var loader, define, requireModule, require, requirejs;
167
188
  return r;
168
189
  };
169
190
 
170
- Module.prototype.build = function() {
171
- stats.ensureBuild++;
172
- if (this.state === FAILED || this.state === LOADED) { return; }
173
- stats.build++;
174
- this.state = FAILED;
175
- this.reify()
176
- this.exports();
177
- this.state = LOADED;
178
- };
179
-
180
191
  define = function(name, deps, callback) {
181
192
  stats.define++;
182
193
  if (arguments.length < 2) {
@@ -212,7 +223,7 @@ var loader, define, requireModule, require, requirejs;
212
223
  throw new Error('Could not find module `' + name + '` imported from `' + referrer + '`');
213
224
  }
214
225
 
215
- function findModule(name, referrer) {
226
+ function findModule(name, referrer, pending) {
216
227
  stats.findModule++;
217
228
  var mod = registry[name] || registry[name + '/index'];
218
229
 
@@ -222,7 +233,10 @@ var loader, define, requireModule, require, requirejs;
222
233
 
223
234
  if (!mod) { missingModule(name, referrer); }
224
235
 
225
- mod.build();
236
+ if (pending) {
237
+ mod.findDeps(pending);
238
+ pending.push(mod);
239
+ }
226
240
  return mod;
227
241
  }
228
242
 
@@ -258,7 +272,7 @@ var loader, define, requireModule, require, requirejs;
258
272
  requirejs.entries = requirejs._eak_seen = registry;
259
273
  requirejs.has = has;
260
274
  requirejs.unsee = function(moduleName) {
261
- findModule(moduleName, '(unsee)').unsee();
275
+ findModule(moduleName, '(unsee)', false).unsee();
262
276
  };
263
277
 
264
278
  requirejs.clear = function() {
@@ -5232,7 +5246,9 @@ define("ember-data/-private/system/record-arrays/adapter-populated-record-array"
5232
5246
  meta: (0, _emberDataPrivateSystemCloneNull.default)(payload.meta)
5233
5247
  });
5234
5248
 
5235
- this.set('links', (0, _emberDataPrivateSystemCloneNull.default)(payload.links));
5249
+ if (true) {
5250
+ this.set('links', (0, _emberDataPrivateSystemCloneNull.default)(payload.links));
5251
+ }
5236
5252
 
5237
5253
  internalModels.forEach(function (record) {
5238
5254
  _this.manager.recordArraysForRecord(record).add(_this);
@@ -5556,6 +5572,12 @@ define('ember-data/-private/system/references/belongs-to', ['exports', 'ember-da
5556
5572
  var record;
5557
5573
 
5558
5574
  if (data instanceof _emberDataModel.default) {
5575
+ if (false) {
5576
+ (0, _emberDataPrivateDebug.deprecate)("BelongsToReference#push(DS.Model) is deprecated. Update relationship via `model.set('relationshipName', value)` instead.", false, {
5577
+ id: 'ds.references.belongs-to.push-record',
5578
+ until: '3.0'
5579
+ });
5580
+ }
5559
5581
  record = data;
5560
5582
  } else {
5561
5583
  record = _this.store.push(data);
@@ -5651,13 +5673,29 @@ define('ember-data/-private/system/references/has-many', ['exports', 'ember', 'e
5651
5673
  return _ember.default.RSVP.resolve(objectOrPromise).then(function (payload) {
5652
5674
  var array = payload;
5653
5675
 
5676
+ if (false) {
5677
+ (0, _emberDataPrivateDebug.deprecate)("HasManyReference#push(array) is deprecated. Push a JSON-API document instead.", !Array.isArray(payload), {
5678
+ id: 'ds.references.has-many.push-array',
5679
+ until: '3.0'
5680
+ });
5681
+ }
5682
+
5654
5683
  var useLegacyArrayPush = true;
5655
5684
  if (typeof payload === "object" && payload.data) {
5656
5685
  array = payload.data;
5657
5686
  useLegacyArrayPush = array.length && array[0].data;
5687
+
5688
+ if (false) {
5689
+ (0, _emberDataPrivateDebug.deprecate)("HasManyReference#push() expects a valid JSON-API document.", !useLegacyArrayPush, {
5690
+ id: 'ds.references.has-many.push-invalid-json-api',
5691
+ until: '3.0'
5692
+ });
5693
+ }
5658
5694
  }
5659
5695
 
5660
- useLegacyArrayPush = true;
5696
+ if (!false) {
5697
+ useLegacyArrayPush = true;
5698
+ }
5661
5699
 
5662
5700
  var internalModels = undefined;
5663
5701
  if (useLegacyArrayPush) {
@@ -8820,7 +8858,7 @@ define('ember-data/-private/system/store', ['exports', 'ember', 'ember-data/mode
8820
8858
  });
8821
8859
  ```
8822
8860
  Note: the primary use case for `store.queryRecord` is when a single record
8823
- is queried and the `id` is not kown beforehand. In all other cases
8861
+ is queried and the `id` is not known beforehand. In all other cases
8824
8862
  `store.query` and using the first item of the array is likely the preferred
8825
8863
  way:
8826
8864
  ```
@@ -9754,10 +9792,15 @@ define('ember-data/-private/system/store', ['exports', 'ember', 'ember-data/mode
9754
9792
  (0, _emberDataPrivateDebug.assert)('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + _ember.default.inspect(modelName), typeof modelName === 'string');
9755
9793
  serializer = this.serializerFor(modelName);
9756
9794
  }
9757
-
9758
- this._adapterRun(function () {
9759
- return serializer.pushPayload(_this3, payload);
9760
- });
9795
+ if (false) {
9796
+ return this._adapterRun(function () {
9797
+ return serializer.pushPayload(_this3, payload);
9798
+ });
9799
+ } else {
9800
+ this._adapterRun(function () {
9801
+ return serializer.pushPayload(_this3, payload);
9802
+ });
9803
+ }
9761
9804
  },
9762
9805
 
9763
9806
  /**
@@ -10550,8 +10593,10 @@ define('ember-data/-private/transforms/boolean', ['exports', 'ember', 'ember-dat
10550
10593
  deserialize: function (serialized, options) {
10551
10594
  var type = typeof serialized;
10552
10595
 
10553
- if (isNone(serialized) && options.allowNull === true) {
10554
- return null;
10596
+ if (true) {
10597
+ if (isNone(serialized) && options.allowNull === true) {
10598
+ return null;
10599
+ }
10555
10600
  }
10556
10601
 
10557
10602
  if (type === "boolean") {
@@ -10566,8 +10611,10 @@ define('ember-data/-private/transforms/boolean', ['exports', 'ember', 'ember-dat
10566
10611
  },
10567
10612
 
10568
10613
  serialize: function (deserialized, options) {
10569
- if (isNone(deserialized) && options.allowNull === true) {
10570
- return null;
10614
+ if (true) {
10615
+ if (isNone(deserialized) && options.allowNull === true) {
10616
+ return null;
10617
+ }
10571
10618
  }
10572
10619
 
10573
10620
  return Boolean(deserialized);
@@ -11368,6 +11415,9 @@ define('ember-data/adapters/errors', ['exports', 'ember', 'ember-data/-private/d
11368
11415
  }
11369
11416
 
11370
11417
  var extendedErrorsEnabled = false;
11418
+ if (false) {
11419
+ extendedErrorsEnabled = true;
11420
+ }
11371
11421
 
11372
11422
  function extendFn(ErrorClass) {
11373
11423
  return function () {
@@ -11571,7 +11621,7 @@ define('ember-data/adapters/errors', ['exports', 'ember', 'ember-data/-private/d
11571
11621
  return out;
11572
11622
  }
11573
11623
  });
11574
- define('ember-data/adapters/json-api', ['exports', 'ember', 'ember-data/adapters/rest', 'ember-data/-private/features'], function (exports, _ember, _emberDataAdaptersRest, _emberDataPrivateFeatures) {
11624
+ define('ember-data/adapters/json-api', ['exports', 'ember', 'ember-data/adapters/rest', 'ember-data/-private/features', 'ember-data/-private/debug'], function (exports, _ember, _emberDataAdaptersRest, _emberDataPrivateFeatures, _emberDataPrivateDebug) {
11575
11625
 
11576
11626
  /**
11577
11627
  @class JSONAPIAdapter
@@ -11655,7 +11705,12 @@ define('ember-data/adapters/json-api', ['exports', 'ember', 'ember-data/adapters
11655
11705
  @return {Promise} promise
11656
11706
  */
11657
11707
  findMany: function (store, type, ids, snapshots) {
11658
- return this._super.apply(this, arguments);
11708
+ if (true && !this._hasCustomizedAjax()) {
11709
+ return this._super.apply(this, arguments);
11710
+ } else {
11711
+ var url = this.buildURL(type.modelName, ids, snapshots, 'findMany');
11712
+ return this.ajax(url, 'GET', { data: { filter: { id: ids.join(',') } } });
11713
+ }
11659
11714
  },
11660
11715
 
11661
11716
  /**
@@ -11677,65 +11732,100 @@ define('ember-data/adapters/json-api', ['exports', 'ember', 'ember-data/adapters
11677
11732
  @return {Promise} promise
11678
11733
  */
11679
11734
  updateRecord: function (store, type, snapshot) {
11680
- return this._super.apply(this, arguments);
11681
- }
11682
- });
11735
+ if (true && !this._hasCustomizedAjax()) {
11736
+ return this._super.apply(this, arguments);
11737
+ } else {
11738
+ var data = {};
11739
+ var serializer = store.serializerFor(type.modelName);
11683
11740
 
11684
- JSONAPIAdapter.reopen({
11741
+ serializer.serializeIntoHash(data, type, snapshot, { includeId: true });
11685
11742
 
11686
- methodForRequest: function (params) {
11687
- if (params.requestType === 'updateRecord') {
11688
- return 'PATCH';
11689
- }
11743
+ var id = snapshot.id;
11744
+ var url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');
11690
11745
 
11691
- return this._super.apply(this, arguments);
11746
+ return this.ajax(url, 'PATCH', { data: data });
11747
+ }
11692
11748
  },
11693
11749
 
11694
- dataForRequest: function (params) {
11695
- var requestType = params.requestType;
11696
- var ids = params.ids;
11750
+ _hasCustomizedAjax: function () {
11751
+ if (this.ajax !== JSONAPIAdapter.prototype.ajax) {
11752
+ (0, _emberDataPrivateDebug.deprecate)('JSONAPIAdapter#ajax has been deprecated please use. `methodForRequest`, `urlForRequest`, `headersForRequest` or `dataForRequest` instead.', false, {
11753
+ id: 'ds.json-api-adapter.ajax',
11754
+ until: '3.0.0'
11755
+ });
11756
+ return true;
11757
+ }
11697
11758
 
11698
- if (requestType === 'findMany') {
11699
- return {
11700
- filter: { id: ids.join(',') }
11701
- };
11759
+ if (this.ajaxOptions !== JSONAPIAdapter.prototype.ajaxOptions) {
11760
+ (0, _emberDataPrivateDebug.deprecate)('JSONAPIAdapterr#ajaxOptions has been deprecated please use. `methodForRequest`, `urlForRequest`, `headersForRequest` or `dataForRequest` instead.', false, {
11761
+ id: 'ds.json-api-adapter.ajax-options',
11762
+ until: '3.0.0'
11763
+ });
11764
+ return true;
11702
11765
  }
11703
11766
 
11704
- if (requestType === 'updateRecord') {
11705
- var store = params.store;
11706
- var type = params.type;
11707
- var snapshot = params.snapshot;
11767
+ return false;
11768
+ }
11769
+ });
11708
11770
 
11709
- var data = {};
11710
- var serializer = store.serializerFor(type.modelName);
11771
+ if (true) {
11711
11772
 
11712
- serializer.serializeIntoHash(data, type, snapshot, { includeId: true });
11773
+ JSONAPIAdapter.reopen({
11713
11774
 
11714
- return data;
11715
- }
11775
+ methodForRequest: function (params) {
11776
+ if (params.requestType === 'updateRecord') {
11777
+ return 'PATCH';
11778
+ }
11716
11779
 
11717
- return this._super.apply(this, arguments);
11718
- },
11780
+ return this._super.apply(this, arguments);
11781
+ },
11719
11782
 
11720
- headersForRequest: function () {
11721
- var headers = this._super.apply(this, arguments) || {};
11783
+ dataForRequest: function (params) {
11784
+ var requestType = params.requestType;
11785
+ var ids = params.ids;
11722
11786
 
11723
- headers['Accept'] = 'application/vnd.api+json';
11787
+ if (requestType === 'findMany') {
11788
+ return {
11789
+ filter: { id: ids.join(',') }
11790
+ };
11791
+ }
11724
11792
 
11725
- return headers;
11726
- },
11793
+ if (requestType === 'updateRecord') {
11794
+ var store = params.store;
11795
+ var type = params.type;
11796
+ var snapshot = params.snapshot;
11727
11797
 
11728
- _requestToJQueryAjaxHash: function () {
11729
- var hash = this._super.apply(this, arguments);
11798
+ var data = {};
11799
+ var serializer = store.serializerFor(type.modelName);
11730
11800
 
11731
- if (hash.contentType) {
11732
- hash.contentType = 'application/vnd.api+json';
11733
- }
11801
+ serializer.serializeIntoHash(data, type, snapshot, { includeId: true });
11734
11802
 
11735
- return hash;
11736
- }
11803
+ return data;
11804
+ }
11737
11805
 
11738
- });
11806
+ return this._super.apply(this, arguments);
11807
+ },
11808
+
11809
+ headersForRequest: function () {
11810
+ var headers = this._super.apply(this, arguments) || {};
11811
+
11812
+ headers['Accept'] = 'application/vnd.api+json';
11813
+
11814
+ return headers;
11815
+ },
11816
+
11817
+ _requestToJQueryAjaxHash: function () {
11818
+ var hash = this._super.apply(this, arguments);
11819
+
11820
+ if (hash.contentType) {
11821
+ hash.contentType = 'application/vnd.api+json';
11822
+ }
11823
+
11824
+ return hash;
11825
+ }
11826
+
11827
+ });
11828
+ }
11739
11829
 
11740
11830
  exports.default = JSONAPIAdapter;
11741
11831
  });
@@ -12103,12 +12193,19 @@ define('ember-data/adapters/rest', ['exports', 'ember', 'ember-data/adapter', 'e
12103
12193
  @return {Promise} promise
12104
12194
  */
12105
12195
  findRecord: function (store, type, id, snapshot) {
12106
- var request = this._requestFor({
12107
- store: store, type: type, id: id, snapshot: snapshot,
12108
- requestType: 'findRecord'
12109
- });
12196
+ if (true && !this._hasCustomizedAjax()) {
12197
+ var request = this._requestFor({
12198
+ store: store, type: type, id: id, snapshot: snapshot,
12199
+ requestType: 'findRecord'
12200
+ });
12201
+
12202
+ return this._makeRequest(request);
12203
+ } else {
12204
+ var url = this.buildURL(type.modelName, id, snapshot, 'findRecord');
12205
+ var query = this.buildQuery(snapshot);
12110
12206
 
12111
- return this._makeRequest(request);
12207
+ return this.ajax(url, 'GET', { data: query });
12208
+ }
12112
12209
  },
12113
12210
 
12114
12211
  /**
@@ -12126,13 +12223,23 @@ define('ember-data/adapters/rest', ['exports', 'ember', 'ember-data/adapter', 'e
12126
12223
  findAll: function (store, type, sinceToken, snapshotRecordArray) {
12127
12224
  var query = this.buildQuery(snapshotRecordArray);
12128
12225
 
12129
- var request = this._requestFor({
12130
- store: store, type: type, sinceToken: sinceToken, query: query,
12131
- snapshots: snapshotRecordArray,
12132
- requestType: 'findAll'
12133
- });
12226
+ if (true && !this._hasCustomizedAjax()) {
12227
+ var request = this._requestFor({
12228
+ store: store, type: type, sinceToken: sinceToken, query: query,
12229
+ snapshots: snapshotRecordArray,
12230
+ requestType: 'findAll'
12231
+ });
12232
+
12233
+ return this._makeRequest(request);
12234
+ } else {
12235
+ var url = this.buildURL(type.modelName, null, snapshotRecordArray, 'findAll');
12236
+
12237
+ if (sinceToken) {
12238
+ query.since = sinceToken;
12239
+ }
12134
12240
 
12135
- return this._makeRequest(request);
12241
+ return this.ajax(url, 'GET', { data: query });
12242
+ }
12136
12243
  },
12137
12244
 
12138
12245
  /**
@@ -12150,12 +12257,22 @@ define('ember-data/adapters/rest', ['exports', 'ember', 'ember-data/adapter', 'e
12150
12257
  @return {Promise} promise
12151
12258
  */
12152
12259
  query: function (store, type, query) {
12153
- var request = this._requestFor({
12154
- store: store, type: type, query: query,
12155
- requestType: 'query'
12156
- });
12260
+ if (true && !this._hasCustomizedAjax()) {
12261
+ var request = this._requestFor({
12262
+ store: store, type: type, query: query,
12263
+ requestType: 'query'
12264
+ });
12157
12265
 
12158
- return this._makeRequest(request);
12266
+ return this._makeRequest(request);
12267
+ } else {
12268
+ var url = this.buildURL(type.modelName, null, null, 'query', query);
12269
+
12270
+ if (this.sortQueryParams) {
12271
+ query = this.sortQueryParams(query);
12272
+ }
12273
+
12274
+ return this.ajax(url, 'GET', { data: query });
12275
+ }
12159
12276
  },
12160
12277
 
12161
12278
  /**
@@ -12173,12 +12290,22 @@ define('ember-data/adapters/rest', ['exports', 'ember', 'ember-data/adapter', 'e
12173
12290
  @return {Promise} promise
12174
12291
  */
12175
12292
  queryRecord: function (store, type, query) {
12176
- var request = this._requestFor({
12177
- store: store, type: type, query: query,
12178
- requestType: 'queryRecord'
12179
- });
12293
+ if (true && !this._hasCustomizedAjax()) {
12294
+ var request = this._requestFor({
12295
+ store: store, type: type, query: query,
12296
+ requestType: 'queryRecord'
12297
+ });
12298
+
12299
+ return this._makeRequest(request);
12300
+ } else {
12301
+ var url = this.buildURL(type.modelName, null, null, 'queryRecord', query);
12302
+
12303
+ if (this.sortQueryParams) {
12304
+ query = this.sortQueryParams(query);
12305
+ }
12180
12306
 
12181
- return this._makeRequest(request);
12307
+ return this.ajax(url, 'GET', { data: query });
12308
+ }
12182
12309
  },
12183
12310
 
12184
12311
  /**
@@ -12208,12 +12335,17 @@ define('ember-data/adapters/rest', ['exports', 'ember', 'ember-data/adapter', 'e
12208
12335
  @return {Promise} promise
12209
12336
  */
12210
12337
  findMany: function (store, type, ids, snapshots) {
12211
- var request = this._requestFor({
12212
- store: store, type: type, ids: ids, snapshots: snapshots,
12213
- requestType: 'findMany'
12214
- });
12338
+ if (true && !this._hasCustomizedAjax()) {
12339
+ var request = this._requestFor({
12340
+ store: store, type: type, ids: ids, snapshots: snapshots,
12341
+ requestType: 'findMany'
12342
+ });
12215
12343
 
12216
- return this._makeRequest(request);
12344
+ return this._makeRequest(request);
12345
+ } else {
12346
+ var url = this.buildURL(type.modelName, ids, snapshots, 'findMany');
12347
+ return this.ajax(url, 'GET', { data: { ids: ids } });
12348
+ }
12217
12349
  },
12218
12350
 
12219
12351
  /**
@@ -12243,12 +12375,21 @@ define('ember-data/adapters/rest', ['exports', 'ember', 'ember-data/adapter', 'e
12243
12375
  @return {Promise} promise
12244
12376
  */
12245
12377
  findHasMany: function (store, snapshot, url, relationship) {
12246
- var request = this._requestFor({
12247
- store: store, snapshot: snapshot, url: url, relationship: relationship,
12248
- requestType: 'findHasMany'
12249
- });
12378
+ if (true && !this._hasCustomizedAjax()) {
12379
+ var request = this._requestFor({
12380
+ store: store, snapshot: snapshot, url: url, relationship: relationship,
12381
+ requestType: 'findHasMany'
12382
+ });
12383
+
12384
+ return this._makeRequest(request);
12385
+ } else {
12386
+ var id = snapshot.id;
12387
+ var type = snapshot.modelName;
12388
+
12389
+ url = this.urlPrefix(url, this.buildURL(type, id, snapshot, 'findHasMany'));
12250
12390
 
12251
- return this._makeRequest(request);
12391
+ return this.ajax(url, 'GET');
12392
+ }
12252
12393
  },
12253
12394
 
12254
12395
  /**
@@ -12278,12 +12419,20 @@ define('ember-data/adapters/rest', ['exports', 'ember', 'ember-data/adapter', 'e
12278
12419
  @return {Promise} promise
12279
12420
  */
12280
12421
  findBelongsTo: function (store, snapshot, url, relationship) {
12281
- var request = this._requestFor({
12282
- store: store, snapshot: snapshot, url: url, relationship: relationship,
12283
- requestType: 'findBelongsTo'
12284
- });
12422
+ if (true && !this._hasCustomizedAjax()) {
12423
+ var request = this._requestFor({
12424
+ store: store, snapshot: snapshot, url: url, relationship: relationship,
12425
+ requestType: 'findBelongsTo'
12426
+ });
12427
+
12428
+ return this._makeRequest(request);
12429
+ } else {
12430
+ var id = snapshot.id;
12431
+ var type = snapshot.modelName;
12285
12432
 
12286
- return this._makeRequest(request);
12433
+ url = this.urlPrefix(url, this.buildURL(type, id, snapshot, 'findBelongsTo'));
12434
+ return this.ajax(url, 'GET');
12435
+ }
12287
12436
  },
12288
12437
 
12289
12438
  /**
@@ -12300,12 +12449,22 @@ define('ember-data/adapters/rest', ['exports', 'ember', 'ember-data/adapter', 'e
12300
12449
  @return {Promise} promise
12301
12450
  */
12302
12451
  createRecord: function (store, type, snapshot) {
12303
- var request = this._requestFor({
12304
- store: store, type: type, snapshot: snapshot,
12305
- requestType: 'createRecord'
12306
- });
12452
+ if (true && !this._hasCustomizedAjax()) {
12453
+ var request = this._requestFor({
12454
+ store: store, type: type, snapshot: snapshot,
12455
+ requestType: 'createRecord'
12456
+ });
12457
+
12458
+ return this._makeRequest(request);
12459
+ } else {
12460
+ var data = {};
12461
+ var serializer = store.serializerFor(type.modelName);
12462
+ var url = this.buildURL(type.modelName, null, snapshot, 'createRecord');
12463
+
12464
+ serializer.serializeIntoHash(data, type, snapshot, { includeId: true });
12307
12465
 
12308
- return this._makeRequest(request);
12466
+ return this.ajax(url, "POST", { data: data });
12467
+ }
12309
12468
  },
12310
12469
 
12311
12470
  /**
@@ -12322,12 +12481,24 @@ define('ember-data/adapters/rest', ['exports', 'ember', 'ember-data/adapter', 'e
12322
12481
  @return {Promise} promise
12323
12482
  */
12324
12483
  updateRecord: function (store, type, snapshot) {
12325
- var request = this._requestFor({
12326
- store: store, type: type, snapshot: snapshot,
12327
- requestType: 'updateRecord'
12328
- });
12484
+ if (true && !this._hasCustomizedAjax()) {
12485
+ var request = this._requestFor({
12486
+ store: store, type: type, snapshot: snapshot,
12487
+ requestType: 'updateRecord'
12488
+ });
12489
+
12490
+ return this._makeRequest(request);
12491
+ } else {
12492
+ var data = {};
12493
+ var serializer = store.serializerFor(type.modelName);
12494
+
12495
+ serializer.serializeIntoHash(data, type, snapshot);
12496
+
12497
+ var id = snapshot.id;
12498
+ var url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');
12329
12499
 
12330
- return this._makeRequest(request);
12500
+ return this.ajax(url, "PUT", { data: data });
12501
+ }
12331
12502
  },
12332
12503
 
12333
12504
  /**
@@ -12340,12 +12511,18 @@ define('ember-data/adapters/rest', ['exports', 'ember', 'ember-data/adapter', 'e
12340
12511
  @return {Promise} promise
12341
12512
  */
12342
12513
  deleteRecord: function (store, type, snapshot) {
12343
- var request = this._requestFor({
12344
- store: store, type: type, snapshot: snapshot,
12345
- requestType: 'deleteRecord'
12346
- });
12514
+ if (true && !this._hasCustomizedAjax()) {
12515
+ var request = this._requestFor({
12516
+ store: store, type: type, snapshot: snapshot,
12517
+ requestType: 'deleteRecord'
12518
+ });
12347
12519
 
12348
- return this._makeRequest(request);
12520
+ return this._makeRequest(request);
12521
+ } else {
12522
+ var id = snapshot.id;
12523
+
12524
+ return this.ajax(this.buildURL(type.modelName, id, snapshot, 'deleteRecord'), "DELETE");
12525
+ }
12349
12526
  },
12350
12527
 
12351
12528
  _stripIDFromURL: function (store, snapshot) {
@@ -12469,6 +12646,23 @@ define('ember-data/adapters/rest', ['exports', 'ember', 'ember-data/adapter', 'e
12469
12646
  var errors = this.normalizeErrorResponse(status, headers, payload);
12470
12647
  var detailedMessage = this.generatedDetailedMessage(status, headers, payload, requestData);
12471
12648
 
12649
+ if (false) {
12650
+ switch (status) {
12651
+ case 401:
12652
+ return new _emberDataAdaptersErrors.UnauthorizedError(errors, detailedMessage);
12653
+ case 403:
12654
+ return new _emberDataAdaptersErrors.ForbiddenError(errors, detailedMessage);
12655
+ case 404:
12656
+ return new _emberDataAdaptersErrors.NotFoundError(errors, detailedMessage);
12657
+ case 409:
12658
+ return new _emberDataAdaptersErrors.ConflictError(errors, detailedMessage);
12659
+ default:
12660
+ if (status >= 500) {
12661
+ return new _emberDataAdaptersErrors.ServerError(errors, detailedMessage);
12662
+ }
12663
+ }
12664
+ }
12665
+
12472
12666
  return new _emberDataAdaptersErrors.AdapterError(errors, detailedMessage);
12473
12667
  },
12474
12668
 
@@ -12686,267 +12880,290 @@ define('ember-data/adapters/rest', ['exports', 'ember', 'ember-data/adapter', 'e
12686
12880
  }
12687
12881
 
12688
12882
  return query;
12689
- }
12690
- });
12691
-
12692
- RESTAdapter.reopen({
12693
-
12694
- /**
12695
- * Get the data (body or query params) for a request.
12696
- *
12697
- * @public
12698
- * @method dataForRequest
12699
- * @param {Object} params
12700
- * @return {Object} data
12701
- */
12702
- dataForRequest: function (params) {
12703
- var store = params.store;
12704
- var type = params.type;
12705
- var snapshot = params.snapshot;
12706
- var requestType = params.requestType;
12707
- var query = params.query;
12708
-
12709
- // type is not passed to findBelongsTo and findHasMany
12710
- type = type || snapshot && snapshot.type;
12711
-
12712
- var serializer = store.serializerFor(type.modelName);
12713
- var data = {};
12883
+ },
12714
12884
 
12715
- switch (requestType) {
12716
- case 'createRecord':
12717
- serializer.serializeIntoHash(data, type, snapshot, { includeId: true });
12718
- break;
12885
+ _hasCustomizedAjax: function () {
12886
+ if (this.ajax !== RESTAdapter.prototype.ajax) {
12887
+ (0, _emberDataPrivateDebug.deprecate)('RESTAdapter#ajax has been deprecated please use. `methodForRequest`, `urlForRequest`, `headersForRequest` or `dataForRequest` instead.', false, {
12888
+ id: 'ds.rest-adapter.ajax',
12889
+ until: '3.0.0'
12890
+ });
12891
+ return true;
12892
+ }
12719
12893
 
12720
- case 'updateRecord':
12721
- serializer.serializeIntoHash(data, type, snapshot);
12722
- break;
12894
+ if (this.ajaxOptions !== RESTAdapter.prototype.ajaxOptions) {
12895
+ (0, _emberDataPrivateDebug.deprecate)('RESTAdapter#ajaxOptions has been deprecated please use. `methodForRequest`, `urlForRequest`, `headersForRequest` or `dataForRequest` instead.', false, {
12896
+ id: 'ds.rest-adapter.ajax-options',
12897
+ until: '3.0.0'
12898
+ });
12899
+ return true;
12900
+ }
12723
12901
 
12724
- case 'findRecord':
12725
- data = this.buildQuery(snapshot);
12726
- break;
12902
+ return false;
12903
+ }
12904
+ });
12727
12905
 
12728
- case 'findAll':
12729
- if (params.sinceToken) {
12730
- query = query || {};
12731
- query.since = params.sinceToken;
12732
- }
12733
- data = query;
12734
- break;
12906
+ if (true) {
12735
12907
 
12736
- case 'query':
12737
- case 'queryRecord':
12738
- if (this.sortQueryParams) {
12739
- query = this.sortQueryParams(query);
12740
- }
12741
- data = query;
12742
- break;
12908
+ RESTAdapter.reopen({
12743
12909
 
12744
- case 'findMany':
12745
- data = { ids: params.ids };
12746
- break;
12910
+ /**
12911
+ * Get the data (body or query params) for a request.
12912
+ *
12913
+ * @public
12914
+ * @method dataForRequest
12915
+ * @param {Object} params
12916
+ * @return {Object} data
12917
+ */
12918
+ dataForRequest: function (params) {
12919
+ var store = params.store;
12920
+ var type = params.type;
12921
+ var snapshot = params.snapshot;
12922
+ var requestType = params.requestType;
12923
+ var query = params.query;
12747
12924
 
12748
- default:
12749
- data = undefined;
12750
- break;
12751
- }
12925
+ // type is not passed to findBelongsTo and findHasMany
12926
+ type = type || snapshot && snapshot.type;
12752
12927
 
12753
- return data;
12754
- },
12928
+ var serializer = store.serializerFor(type.modelName);
12929
+ var data = {};
12755
12930
 
12756
- /**
12757
- * Get the HTTP method for a request.
12758
- *
12759
- * @public
12760
- * @method methodForRequest
12761
- * @param {Object} params
12762
- * @return {String} HTTP method
12763
- */
12764
- methodForRequest: function (params) {
12765
- var requestType = params.requestType;
12931
+ switch (requestType) {
12932
+ case 'createRecord':
12933
+ serializer.serializeIntoHash(data, type, snapshot, { includeId: true });
12934
+ break;
12766
12935
 
12767
- switch (requestType) {
12768
- case 'createRecord':
12769
- return 'POST';
12770
- case 'updateRecord':
12771
- return 'PUT';
12772
- case 'deleteRecord':
12773
- return 'DELETE';
12774
- }
12936
+ case 'updateRecord':
12937
+ serializer.serializeIntoHash(data, type, snapshot);
12938
+ break;
12775
12939
 
12776
- return 'GET';
12777
- },
12940
+ case 'findRecord':
12941
+ data = this.buildQuery(snapshot);
12942
+ break;
12778
12943
 
12779
- /**
12780
- * Get the URL for a request.
12781
- *
12782
- * @public
12783
- * @method urlForRequest
12784
- * @param {Object} params
12785
- * @return {String} URL
12786
- */
12787
- urlForRequest: function (params) {
12788
- var type = params.type;
12789
- var id = params.id;
12790
- var ids = params.ids;
12791
- var snapshot = params.snapshot;
12792
- var snapshots = params.snapshots;
12793
- var requestType = params.requestType;
12794
- var query = params.query;
12795
-
12796
- // type and id are not passed from updateRecord and deleteRecord, hence they
12797
- // are defined if not set
12798
- type = type || snapshot && snapshot.type;
12799
- id = id || snapshot && snapshot.id;
12944
+ case 'findAll':
12945
+ if (params.sinceToken) {
12946
+ query = query || {};
12947
+ query.since = params.sinceToken;
12948
+ }
12949
+ data = query;
12950
+ break;
12800
12951
 
12801
- switch (requestType) {
12802
- case 'findAll':
12803
- return this.buildURL(type.modelName, null, snapshots, requestType);
12952
+ case 'query':
12953
+ case 'queryRecord':
12954
+ if (this.sortQueryParams) {
12955
+ query = this.sortQueryParams(query);
12956
+ }
12957
+ data = query;
12958
+ break;
12804
12959
 
12805
- case 'query':
12806
- case 'queryRecord':
12807
- return this.buildURL(type.modelName, null, null, requestType, query);
12960
+ case 'findMany':
12961
+ data = { ids: params.ids };
12962
+ break;
12808
12963
 
12809
- case 'findMany':
12810
- return this.buildURL(type.modelName, ids, snapshots, requestType);
12964
+ default:
12965
+ data = undefined;
12966
+ break;
12967
+ }
12811
12968
 
12812
- case 'findHasMany':
12813
- case 'findBelongsTo':
12814
- {
12815
- var url = this.buildURL(type.modelName, id, snapshot, requestType);
12816
- return this.urlPrefix(params.url, url);
12817
- }
12818
- }
12969
+ return data;
12970
+ },
12819
12971
 
12820
- return this.buildURL(type.modelName, id, snapshot, requestType, query);
12821
- },
12972
+ /**
12973
+ * Get the HTTP method for a request.
12974
+ *
12975
+ * @public
12976
+ * @method methodForRequest
12977
+ * @param {Object} params
12978
+ * @return {String} HTTP method
12979
+ */
12980
+ methodForRequest: function (params) {
12981
+ var requestType = params.requestType;
12982
+
12983
+ switch (requestType) {
12984
+ case 'createRecord':
12985
+ return 'POST';
12986
+ case 'updateRecord':
12987
+ return 'PUT';
12988
+ case 'deleteRecord':
12989
+ return 'DELETE';
12990
+ }
12822
12991
 
12823
- /**
12824
- * Get the headers for a request.
12825
- *
12826
- * By default the value of the `headers` property of the adapter is
12827
- * returned.
12828
- *
12829
- * @public
12830
- * @method headersForRequest
12831
- * @param {Object} params
12832
- * @return {Object} headers
12833
- */
12834
- headersForRequest: function (params) {
12835
- return this.get('headers');
12836
- },
12992
+ return 'GET';
12993
+ },
12837
12994
 
12838
- /**
12839
- * Get an object which contains all properties for a request which should
12840
- * be made.
12841
- *
12842
- * @private
12843
- * @method _requestFor
12844
- * @param {Object} params
12845
- * @return {Object} request object
12846
- */
12847
- _requestFor: function (params) {
12848
- var method = this.methodForRequest(params);
12849
- var url = this.urlForRequest(params);
12850
- var headers = this.headersForRequest(params);
12851
- var data = this.dataForRequest(params);
12995
+ /**
12996
+ * Get the URL for a request.
12997
+ *
12998
+ * @public
12999
+ * @method urlForRequest
13000
+ * @param {Object} params
13001
+ * @return {String} URL
13002
+ */
13003
+ urlForRequest: function (params) {
13004
+ var type = params.type;
13005
+ var id = params.id;
13006
+ var ids = params.ids;
13007
+ var snapshot = params.snapshot;
13008
+ var snapshots = params.snapshots;
13009
+ var requestType = params.requestType;
13010
+ var query = params.query;
13011
+
13012
+ // type and id are not passed from updateRecord and deleteRecord, hence they
13013
+ // are defined if not set
13014
+ type = type || snapshot && snapshot.type;
13015
+ id = id || snapshot && snapshot.id;
13016
+
13017
+ switch (requestType) {
13018
+ case 'findAll':
13019
+ return this.buildURL(type.modelName, null, snapshots, requestType);
13020
+
13021
+ case 'query':
13022
+ case 'queryRecord':
13023
+ return this.buildURL(type.modelName, null, null, requestType, query);
13024
+
13025
+ case 'findMany':
13026
+ return this.buildURL(type.modelName, ids, snapshots, requestType);
13027
+
13028
+ case 'findHasMany':
13029
+ case 'findBelongsTo':
13030
+ {
13031
+ var url = this.buildURL(type.modelName, id, snapshot, requestType);
13032
+ return this.urlPrefix(params.url, url);
13033
+ }
13034
+ }
12852
13035
 
12853
- return { method: method, url: url, headers: headers, data: data };
12854
- },
13036
+ return this.buildURL(type.modelName, id, snapshot, requestType, query);
13037
+ },
12855
13038
 
12856
- /**
12857
- * Convert a request object into a hash which can be passed to `jQuery.ajax`.
12858
- *
12859
- * @private
12860
- * @method _requestToJQueryAjaxHash
12861
- * @param {Object} request
12862
- * @return {Object} jQuery ajax hash
12863
- */
12864
- _requestToJQueryAjaxHash: function (request) {
12865
- var hash = {};
13039
+ /**
13040
+ * Get the headers for a request.
13041
+ *
13042
+ * By default the value of the `headers` property of the adapter is
13043
+ * returned.
13044
+ *
13045
+ * @public
13046
+ * @method headersForRequest
13047
+ * @param {Object} params
13048
+ * @return {Object} headers
13049
+ */
13050
+ headersForRequest: function (params) {
13051
+ return this.get('headers');
13052
+ },
12866
13053
 
12867
- hash.type = request.method;
12868
- hash.url = request.url;
12869
- hash.dataType = 'json';
12870
- hash.context = this;
13054
+ /**
13055
+ * Get an object which contains all properties for a request which should
13056
+ * be made.
13057
+ *
13058
+ * @private
13059
+ * @method _requestFor
13060
+ * @param {Object} params
13061
+ * @return {Object} request object
13062
+ */
13063
+ _requestFor: function (params) {
13064
+ var method = this.methodForRequest(params);
13065
+ var url = this.urlForRequest(params);
13066
+ var headers = this.headersForRequest(params);
13067
+ var data = this.dataForRequest(params);
13068
+
13069
+ return { method: method, url: url, headers: headers, data: data };
13070
+ },
12871
13071
 
12872
- if (request.data) {
12873
- if (request.type !== 'GET') {
12874
- hash.contentType = 'application/json; charset=utf-8';
12875
- hash.data = JSON.stringify(request.data);
12876
- } else {
12877
- hash.data = request.data;
13072
+ /**
13073
+ * Convert a request object into a hash which can be passed to `jQuery.ajax`.
13074
+ *
13075
+ * @private
13076
+ * @method _requestToJQueryAjaxHash
13077
+ * @param {Object} request
13078
+ * @return {Object} jQuery ajax hash
13079
+ */
13080
+ _requestToJQueryAjaxHash: function (request) {
13081
+ var hash = {};
13082
+
13083
+ hash.type = request.method;
13084
+ hash.url = request.url;
13085
+ hash.dataType = 'json';
13086
+ hash.context = this;
13087
+
13088
+ if (request.data) {
13089
+ if (request.type !== 'GET') {
13090
+ hash.contentType = 'application/json; charset=utf-8';
13091
+ hash.data = JSON.stringify(request.data);
13092
+ } else {
13093
+ hash.data = request.data;
13094
+ }
12878
13095
  }
12879
- }
12880
13096
 
12881
- var headers = request.headers;
12882
- if (headers !== undefined) {
12883
- hash.beforeSend = function (xhr) {
12884
- Object.keys(headers).forEach(function (key) {
12885
- return xhr.setRequestHeader(key, headers[key]);
12886
- });
12887
- };
12888
- }
13097
+ var headers = request.headers;
13098
+ if (headers !== undefined) {
13099
+ hash.beforeSend = function (xhr) {
13100
+ Object.keys(headers).forEach(function (key) {
13101
+ return xhr.setRequestHeader(key, headers[key]);
13102
+ });
13103
+ };
13104
+ }
12889
13105
 
12890
- return hash;
12891
- },
13106
+ return hash;
13107
+ },
12892
13108
 
12893
- /**
12894
- * Make a request using `jQuery.ajax`.
12895
- *
12896
- * @private
12897
- * @method _makeRequest
12898
- * @param {Object} request
12899
- * @return {Promise} promise
12900
- */
12901
- _makeRequest: function (request) {
12902
- var adapter = this;
12903
- var hash = this._requestToJQueryAjaxHash(request);
13109
+ /**
13110
+ * Make a request using `jQuery.ajax`.
13111
+ *
13112
+ * @private
13113
+ * @method _makeRequest
13114
+ * @param {Object} request
13115
+ * @return {Promise} promise
13116
+ */
13117
+ _makeRequest: function (request) {
13118
+ var adapter = this;
13119
+ var hash = this._requestToJQueryAjaxHash(request);
12904
13120
 
12905
- var method = request.method;
12906
- var url = request.url;
13121
+ var method = request.method;
13122
+ var url = request.url;
12907
13123
 
12908
- var requestData = { method: method, url: url };
13124
+ var requestData = { method: method, url: url };
12909
13125
 
12910
- return new _ember.default.RSVP.Promise(function (resolve, reject) {
13126
+ return new _ember.default.RSVP.Promise(function (resolve, reject) {
12911
13127
 
12912
- hash.success = function (payload, textStatus, jqXHR) {
12913
- var response = adapter.handleResponse(jqXHR.status, (0, _emberDataPrivateUtilsParseResponseHeaders.default)(jqXHR.getAllResponseHeaders()), payload, requestData);
13128
+ hash.success = function (payload, textStatus, jqXHR) {
13129
+ var response = adapter.handleResponse(jqXHR.status, (0, _emberDataPrivateUtilsParseResponseHeaders.default)(jqXHR.getAllResponseHeaders()), payload, requestData);
12914
13130
 
12915
- if (response instanceof _emberDataAdaptersErrors.AdapterError) {
12916
- _ember.default.run.join(null, reject, response);
12917
- } else {
12918
- _ember.default.run.join(null, resolve, response);
12919
- }
12920
- };
13131
+ if (response instanceof _emberDataAdaptersErrors.AdapterError) {
13132
+ _ember.default.run.join(null, reject, response);
13133
+ } else {
13134
+ _ember.default.run.join(null, resolve, response);
13135
+ }
13136
+ };
12921
13137
 
12922
- hash.error = function (jqXHR, textStatus, errorThrown) {
12923
- (0, _emberDataPrivateDebug.runInDebug)(function () {
12924
- var message = 'The server returned an empty string for ' + method + ' ' + url + ', which cannot be parsed into a valid JSON. Return either null or {}.';
12925
- var validJSONString = !(textStatus === "parsererror" && jqXHR.responseText === "");
12926
- (0, _emberDataPrivateDebug.warn)(message, validJSONString, {
12927
- id: 'ds.adapter.returned-empty-string-as-JSON'
13138
+ hash.error = function (jqXHR, textStatus, errorThrown) {
13139
+ (0, _emberDataPrivateDebug.runInDebug)(function () {
13140
+ var message = 'The server returned an empty string for ' + method + ' ' + url + ', which cannot be parsed into a valid JSON. Return either null or {}.';
13141
+ var validJSONString = !(textStatus === "parsererror" && jqXHR.responseText === "");
13142
+ (0, _emberDataPrivateDebug.warn)(message, validJSONString, {
13143
+ id: 'ds.adapter.returned-empty-string-as-JSON'
13144
+ });
12928
13145
  });
12929
- });
12930
13146
 
12931
- var error = undefined;
13147
+ var error = undefined;
12932
13148
 
12933
- if (errorThrown instanceof Error) {
12934
- error = errorThrown;
12935
- } else if (textStatus === 'timeout') {
12936
- error = new _emberDataAdaptersErrors.TimeoutError();
12937
- } else if (textStatus === 'abort') {
12938
- error = new _emberDataAdaptersErrors.AbortError();
12939
- } else {
12940
- error = adapter.handleResponse(jqXHR.status, (0, _emberDataPrivateUtilsParseResponseHeaders.default)(jqXHR.getAllResponseHeaders()), adapter.parseErrorResponse(jqXHR.responseText) || errorThrown, requestData);
12941
- }
13149
+ if (errorThrown instanceof Error) {
13150
+ error = errorThrown;
13151
+ } else if (textStatus === 'timeout') {
13152
+ error = new _emberDataAdaptersErrors.TimeoutError();
13153
+ } else if (textStatus === 'abort') {
13154
+ error = new _emberDataAdaptersErrors.AbortError();
13155
+ } else {
13156
+ error = adapter.handleResponse(jqXHR.status, (0, _emberDataPrivateUtilsParseResponseHeaders.default)(jqXHR.getAllResponseHeaders()), adapter.parseErrorResponse(jqXHR.responseText) || errorThrown, requestData);
13157
+ }
12942
13158
 
12943
- _ember.default.run.join(null, reject, error);
12944
- };
13159
+ _ember.default.run.join(null, reject, error);
13160
+ };
12945
13161
 
12946
- adapter._ajaxRequest(hash);
12947
- }, 'DS: RESTAdapter#makeRequest: ' + method + ' ' + url);
12948
- }
12949
- });
13162
+ adapter._ajaxRequest(hash);
13163
+ }, 'DS: RESTAdapter#makeRequest: ' + method + ' ' + url);
13164
+ }
13165
+ });
13166
+ }
12950
13167
 
12951
13168
  //From http://stackoverflow.com/questions/280634/endswith-in-javascript
12952
13169
  function endsWith(string, suffix) {
@@ -13160,6 +13377,14 @@ define("ember-data", ["exports", "ember", "ember-data/-private/debug", "ember-da
13160
13377
  _emberDataPrivateCore.default.TimeoutError = _emberDataAdaptersErrors.TimeoutError;
13161
13378
  _emberDataPrivateCore.default.AbortError = _emberDataAdaptersErrors.AbortError;
13162
13379
 
13380
+ if (false) {
13381
+ _emberDataPrivateCore.default.UnauthorizedError = _emberDataAdaptersErrors.UnauthorizedError;
13382
+ _emberDataPrivateCore.default.ForbiddenError = _emberDataAdaptersErrors.ForbiddenError;
13383
+ _emberDataPrivateCore.default.NotFoundError = _emberDataAdaptersErrors.NotFoundError;
13384
+ _emberDataPrivateCore.default.ConflictError = _emberDataAdaptersErrors.ConflictError;
13385
+ _emberDataPrivateCore.default.ServerError = _emberDataAdaptersErrors.ServerError;
13386
+ }
13387
+
13163
13388
  _emberDataPrivateCore.default.errorsHashToArray = _emberDataAdaptersErrors.errorsHashToArray;
13164
13389
  _emberDataPrivateCore.default.errorsArrayToHash = _emberDataAdaptersErrors.errorsArrayToHash;
13165
13390
 
@@ -13657,8 +13882,10 @@ define('ember-data/serializers/embedded-records-mixin', ['exports', 'ember', 'em
13657
13882
  } else if (this.hasSerializeRecordsOption(attr)) {
13658
13883
  this._serializeEmbeddedHasMany(snapshot, json, relationship);
13659
13884
  } else {
13660
- if (this.hasSerializeIdsAndTypesOption(attr)) {
13661
- this._serializeHasManyAsIdsAndTypes(snapshot, json, relationship);
13885
+ if (true) {
13886
+ if (this.hasSerializeIdsAndTypesOption(attr)) {
13887
+ this._serializeHasManyAsIdsAndTypes(snapshot, json, relationship);
13888
+ }
13662
13889
  }
13663
13890
  }
13664
13891
  },
@@ -14022,8 +14249,24 @@ define('ember-data/serializers/json-api', ['exports', 'ember', 'ember-data/-priv
14022
14249
  @private
14023
14250
  */
14024
14251
  _normalizeRelationshipDataHelper: function (relationshipDataHash) {
14025
- var type = this.modelNameFromPayloadKey(relationshipDataHash.type);
14026
- relationshipDataHash.type = type;
14252
+ if (false) {
14253
+ var modelName = this.modelNameFromPayloadType(relationshipDataHash.type);
14254
+ var deprecatedModelNameLookup = this.modelNameFromPayloadKey(relationshipDataHash.type);
14255
+
14256
+ if (modelName !== deprecatedModelNameLookup && this._hasCustomModelNameFromPayloadKey()) {
14257
+ (0, _emberDataPrivateDebug.deprecate)("You are using modelNameFromPayloadKey to normalize the type for a relationship. This has been deprecated in favor of modelNameFromPayloadType", false, {
14258
+ id: 'ds.json-api-serializer.deprecated-model-name-for-relationship',
14259
+ until: '3.0.0'
14260
+ });
14261
+
14262
+ modelName = deprecatedModelNameLookup;
14263
+ }
14264
+
14265
+ relationshipDataHash.type = modelName;
14266
+ } else {
14267
+ var type = this.modelNameFromPayloadKey(relationshipDataHash.type);
14268
+ relationshipDataHash.type = type;
14269
+ }
14027
14270
 
14028
14271
  return relationshipDataHash;
14029
14272
  },
@@ -14042,8 +14285,25 @@ define('ember-data/serializers/json-api', ['exports', 'ember', 'ember-data/-priv
14042
14285
  var modelName = undefined,
14043
14286
  usedLookup = undefined;
14044
14287
 
14045
- modelName = this.modelNameFromPayloadKey(resourceHash.type);
14046
- usedLookup = 'modelNameFromPayloadKey';
14288
+ if (false) {
14289
+ modelName = this.modelNameFromPayloadType(resourceHash.type);
14290
+ var deprecatedModelNameLookup = this.modelNameFromPayloadKey(resourceHash.type);
14291
+
14292
+ usedLookup = 'modelNameFromPayloadType';
14293
+
14294
+ if (modelName !== deprecatedModelNameLookup && this._hasCustomModelNameFromPayloadKey()) {
14295
+ (0, _emberDataPrivateDebug.deprecate)("You are using modelNameFromPayloadKey to normalize the type for a resource. This has been deprecated in favor of modelNameFromPayloadType", false, {
14296
+ id: 'ds.json-api-serializer.deprecated-model-name-for-resource',
14297
+ until: '3.0.0'
14298
+ });
14299
+
14300
+ modelName = deprecatedModelNameLookup;
14301
+ usedLookup = 'modelNameFromPayloadKey';
14302
+ }
14303
+ } else {
14304
+ modelName = this.modelNameFromPayloadKey(resourceHash.type);
14305
+ usedLookup = 'modelNameFromPayloadKey';
14306
+ }
14047
14307
 
14048
14308
  if (!this.store._hasModelFor(modelName)) {
14049
14309
  (0, _emberDataPrivateDebug.warn)(this.warnMessageNoModelForType(modelName, resourceHash.type, usedLookup), false, {
@@ -14069,8 +14329,11 @@ define('ember-data/serializers/json-api', ['exports', 'ember', 'ember-data/-priv
14069
14329
  */
14070
14330
  pushPayload: function (store, payload) {
14071
14331
  var normalizedPayload = this._normalizeDocumentHelper(payload);
14072
-
14073
- store.push(normalizedPayload);
14332
+ if (false) {
14333
+ return store.push(normalizedPayload);
14334
+ } else {
14335
+ store.push(normalizedPayload);
14336
+ }
14074
14337
  },
14075
14338
 
14076
14339
  /**
@@ -14180,7 +14443,23 @@ define('ember-data/serializers/json-api', ['exports', 'ember', 'ember-data/-priv
14180
14443
  @private
14181
14444
  */
14182
14445
  _extractType: function (modelClass, resourceHash) {
14183
- return this.modelNameFromPayloadKey(resourceHash.type);
14446
+ if (false) {
14447
+ var modelName = this.modelNameFromPayloadType(resourceHash.type);
14448
+ var deprecatedModelNameLookup = this.modelNameFromPayloadKey(resourceHash.type);
14449
+
14450
+ if (modelName !== deprecatedModelNameLookup && this._hasCustomModelNameFromPayloadKey()) {
14451
+ (0, _emberDataPrivateDebug.deprecate)("You are using modelNameFromPayloadKey to normalize the type for a polymorphic relationship. This has been deprecated in favor of modelNameFromPayloadType", false, {
14452
+ id: 'ds.json-api-serializer.deprecated-model-name-for-polymorphic-type',
14453
+ until: '3.0.0'
14454
+ });
14455
+
14456
+ modelName = deprecatedModelNameLookup;
14457
+ }
14458
+
14459
+ return modelName;
14460
+ } else {
14461
+ return this.modelNameFromPayloadKey(resourceHash.type);
14462
+ }
14184
14463
  },
14185
14464
 
14186
14465
  /**
@@ -14291,8 +14570,21 @@ define('ember-data/serializers/json-api', ['exports', 'ember', 'ember-data/-priv
14291
14570
  var data = this._super.apply(this, arguments);
14292
14571
 
14293
14572
  var payloadType = undefined;
14573
+ if (false) {
14574
+ payloadType = this.payloadTypeFromModelName(snapshot.modelName);
14575
+ var deprecatedPayloadTypeLookup = this.payloadKeyFromModelName(snapshot.modelName);
14576
+
14577
+ if (payloadType !== deprecatedPayloadTypeLookup && this._hasCustomPayloadKeyFromModelName()) {
14578
+ (0, _emberDataPrivateDebug.deprecate)("You used payloadKeyFromModelName to customize how a type is serialized. Use payloadTypeFromModelName instead.", false, {
14579
+ id: 'ds.json-api-serializer.deprecated-payload-type-for-model',
14580
+ until: '3.0.0'
14581
+ });
14294
14582
 
14295
- payloadType = this.payloadKeyFromModelName(snapshot.modelName);
14583
+ payloadType = deprecatedPayloadTypeLookup;
14584
+ }
14585
+ } else {
14586
+ payloadType = this.payloadKeyFromModelName(snapshot.modelName);
14587
+ }
14296
14588
 
14297
14589
  data.type = payloadType;
14298
14590
  return { data: data };
@@ -14314,7 +14606,7 @@ define('ember-data/serializers/json-api', ['exports', 'ember', 'ember-data/-priv
14314
14606
  var value = snapshot.attr(key);
14315
14607
  if (type) {
14316
14608
  var transform = this.transformFor(type);
14317
- value = transform.serialize(value);
14609
+ value = transform.serialize(value, attribute.options);
14318
14610
  }
14319
14611
 
14320
14612
  var payloadKey = this._getMappedKey(key, snapshot.type);
@@ -14351,7 +14643,21 @@ define('ember-data/serializers/json-api', ['exports', 'ember', 'ember-data/-priv
14351
14643
  if (belongsTo) {
14352
14644
  var payloadType = undefined;
14353
14645
 
14354
- payloadType = this.payloadKeyFromModelName(belongsTo.modelName);
14646
+ if (false) {
14647
+ payloadType = this.payloadTypeFromModelName(belongsTo.modelName);
14648
+ var deprecatedPayloadTypeLookup = this.payloadKeyFromModelName(belongsTo.modelName);
14649
+
14650
+ if (payloadType !== deprecatedPayloadTypeLookup && this._hasCustomPayloadKeyFromModelName()) {
14651
+ (0, _emberDataPrivateDebug.deprecate)("You used payloadKeyFromModelName to serialize type for belongs-to relationship. Use payloadTypeFromModelName instead.", false, {
14652
+ id: 'ds.json-api-serializer.deprecated-payload-type-for-belongs-to',
14653
+ until: '3.0.0'
14654
+ });
14655
+
14656
+ payloadType = deprecatedPayloadTypeLookup;
14657
+ }
14658
+ } else {
14659
+ payloadType = this.payloadKeyFromModelName(belongsTo.modelName);
14660
+ }
14355
14661
 
14356
14662
  data = {
14357
14663
  type: payloadType,
@@ -14373,6 +14679,9 @@ define('ember-data/serializers/json-api', ['exports', 'ember', 'ember-data/-priv
14373
14679
  serializeHasMany: function (snapshot, json, relationship) {
14374
14680
  var key = relationship.key;
14375
14681
  var shouldSerializeHasMany = '_shouldSerializeHasMany';
14682
+ if (false) {
14683
+ shouldSerializeHasMany = 'shouldSerializeHasMany';
14684
+ }
14376
14685
 
14377
14686
  if (this[shouldSerializeHasMany](snapshot, key, relationship)) {
14378
14687
  var hasMany = snapshot.hasMany(key);
@@ -14392,7 +14701,21 @@ define('ember-data/serializers/json-api', ['exports', 'ember', 'ember-data/-priv
14392
14701
 
14393
14702
  var payloadType = undefined;
14394
14703
 
14395
- payloadType = this.payloadKeyFromModelName(item.modelName);
14704
+ if (false) {
14705
+ payloadType = this.payloadTypeFromModelName(item.modelName);
14706
+ var deprecatedPayloadTypeLookup = this.payloadKeyFromModelName(item.modelName);
14707
+
14708
+ if (payloadType !== deprecatedPayloadTypeLookup && this._hasCustomPayloadKeyFromModelName()) {
14709
+ (0, _emberDataPrivateDebug.deprecate)("You used payloadKeyFromModelName to serialize type for belongs-to relationship. Use payloadTypeFromModelName instead.", false, {
14710
+ id: 'ds.json-api-serializer.deprecated-payload-type-for-has-many',
14711
+ until: '3.0.0'
14712
+ });
14713
+
14714
+ payloadType = deprecatedPayloadTypeLookup;
14715
+ }
14716
+ } else {
14717
+ payloadType = this.payloadKeyFromModelName(item.modelName);
14718
+ }
14396
14719
 
14397
14720
  data[i] = {
14398
14721
  type: payloadType,
@@ -14406,6 +14729,100 @@ define('ember-data/serializers/json-api', ['exports', 'ember', 'ember-data/-priv
14406
14729
  }
14407
14730
  });
14408
14731
 
14732
+ if (false) {
14733
+
14734
+ JSONAPISerializer.reopen({
14735
+
14736
+ /**
14737
+ `modelNameFromPayloadType` can be used to change the mapping for a DS model
14738
+ name, taken from the value in the payload.
14739
+ Say your API namespaces the type of a model and returns the following
14740
+ payload for the `post` model:
14741
+ ```javascript
14742
+ // GET /api/posts/1
14743
+ {
14744
+ "data": {
14745
+ "id": 1,
14746
+ "type: "api::v1::post"
14747
+ }
14748
+ }
14749
+ ```
14750
+ By overwriting `modelNameFromPayloadType` you can specify that the
14751
+ `posr` model should be used:
14752
+ ```app/serializers/application.js
14753
+ import JSONAPISerializer from "ember-data/serializers/json-api";
14754
+ export default JSONAPISerializer.extend({
14755
+ modelNameFromPayloadType(payloadType) {
14756
+ return payloadType.replace('api::v1::', '');
14757
+ }
14758
+ });
14759
+ ```
14760
+ By default the modelName for a model is its singularized name in dasherized
14761
+ form. Usually, Ember Data can use the correct inflection to do this for
14762
+ you. Most of the time, you won't need to override
14763
+ `modelNameFromPayloadType` for this purpose.
14764
+ Also take a look at
14765
+ [payloadTypeFromModelName](#method_payloadTypeFromModelName) to customize
14766
+ how the type of a record should be serialized.
14767
+ @method modelNameFromPayloadType
14768
+ @public
14769
+ @param {String} payloadType type from payload
14770
+ @return {String} modelName
14771
+ */
14772
+ modelNameFromPayloadType: function (type) {
14773
+ return (0, _emberInflector.singularize)((0, _emberDataPrivateSystemNormalizeModelName.default)(type));
14774
+ },
14775
+
14776
+ /**
14777
+ `payloadTypeFromModelName` can be used to change the mapping for the type in
14778
+ the payload, taken from the model name.
14779
+ Say your API namespaces the type of a model and expects the following
14780
+ payload when you update the `post` model:
14781
+ ```javascript
14782
+ // POST /api/posts/1
14783
+ {
14784
+ "data": {
14785
+ "id": 1,
14786
+ "type": "api::v1::post"
14787
+ }
14788
+ }
14789
+ ```
14790
+ By overwriting `payloadTypeFromModelName` you can specify that the
14791
+ namespaces model name for the `post` should be used:
14792
+ ```app/serializers/application.js
14793
+ import JSONAPISerializer from "ember-data/serializers/json-api";
14794
+ export default JSONAPISerializer.extend({
14795
+ payloadTypeFromModelName(modelName) {
14796
+ return "api::v1::" + modelName;
14797
+ }
14798
+ });
14799
+ ```
14800
+ By default the payload type is the pluralized model name. Usually, Ember
14801
+ Data can use the correct inflection to do this for you. Most of the time,
14802
+ you won't need to override `payloadTypeFromModelName` for this purpose.
14803
+ Also take a look at
14804
+ [modelNameFromPayloadType](#method_modelNameFromPayloadType) to customize
14805
+ how the model name from should be mapped from the payload.
14806
+ @method payloadTypeFromModelName
14807
+ @public
14808
+ @param {String} modelname modelName from the record
14809
+ @return {String} payloadType
14810
+ */
14811
+ payloadTypeFromModelName: function (modelName) {
14812
+ return (0, _emberInflector.pluralize)(modelName);
14813
+ },
14814
+
14815
+ _hasCustomModelNameFromPayloadKey: function () {
14816
+ return this.modelNameFromPayloadKey !== JSONAPISerializer.prototype.modelNameFromPayloadKey;
14817
+ },
14818
+
14819
+ _hasCustomPayloadKeyFromModelName: function () {
14820
+ return this.payloadKeyFromModelName !== JSONAPISerializer.prototype.payloadKeyFromModelName;
14821
+ }
14822
+
14823
+ });
14824
+ }
14825
+
14409
14826
  (0, _emberDataPrivateDebug.runInDebug)(function () {
14410
14827
  JSONAPISerializer.reopen({
14411
14828
  willMergeMixin: function (props) {
@@ -14427,79 +14844,6 @@ define('ember-data/serializers/json-api', ['exports', 'ember', 'ember-data/-priv
14427
14844
  /**
14428
14845
  @module ember-data
14429
14846
  */
14430
-
14431
- /**
14432
- `modelNameFromPayloadType` can be used to change the mapping for a DS model
14433
- name, taken from the value in the payload.
14434
- Say your API namespaces the type of a model and returns the following
14435
- payload for the `post` model:
14436
- ```javascript
14437
- // GET /api/posts/1
14438
- {
14439
- "data": {
14440
- "id": 1,
14441
- "type: "api::v1::post"
14442
- }
14443
- }
14444
- ```
14445
- By overwriting `modelNameFromPayloadType` you can specify that the
14446
- `posr` model should be used:
14447
- ```app/serializers/application.js
14448
- import JSONAPISerializer from "ember-data/serializers/json-api";
14449
- export default JSONAPISerializer.extend({
14450
- modelNameFromPayloadType(payloadType) {
14451
- return payloadType.replace('api::v1::', '');
14452
- }
14453
- });
14454
- ```
14455
- By default the modelName for a model is its singularized name in dasherized
14456
- form. Usually, Ember Data can use the correct inflection to do this for
14457
- you. Most of the time, you won't need to override
14458
- `modelNameFromPayloadType` for this purpose.
14459
- Also take a look at
14460
- [payloadTypeFromModelName](#method_payloadTypeFromModelName) to customize
14461
- how the type of a record should be serialized.
14462
- @method modelNameFromPayloadType
14463
- @public
14464
- @param {String} payloadType type from payload
14465
- @return {String} modelName
14466
- */
14467
-
14468
- /**
14469
- `payloadTypeFromModelName` can be used to change the mapping for the type in
14470
- the payload, taken from the model name.
14471
- Say your API namespaces the type of a model and expects the following
14472
- payload when you update the `post` model:
14473
- ```javascript
14474
- // POST /api/posts/1
14475
- {
14476
- "data": {
14477
- "id": 1,
14478
- "type": "api::v1::post"
14479
- }
14480
- }
14481
- ```
14482
- By overwriting `payloadTypeFromModelName` you can specify that the
14483
- namespaces model name for the `post` should be used:
14484
- ```app/serializers/application.js
14485
- import JSONAPISerializer from "ember-data/serializers/json-api";
14486
- export default JSONAPISerializer.extend({
14487
- payloadTypeFromModelName(modelName) {
14488
- return "api::v1::" + modelName;
14489
- }
14490
- });
14491
- ```
14492
- By default the payload type is the pluralized model name. Usually, Ember
14493
- Data can use the correct inflection to do this for you. Most of the time,
14494
- you won't need to override `payloadTypeFromModelName` for this purpose.
14495
- Also take a look at
14496
- [modelNameFromPayloadType](#method_modelNameFromPayloadType) to customize
14497
- how the model name from should be mapped from the payload.
14498
- @method payloadTypeFromModelName
14499
- @public
14500
- @param {String} modelname modelName from the record
14501
- @return {String} payloadType
14502
- */
14503
14847
  define('ember-data/serializers/json', ['exports', 'ember', 'ember-data/-private/debug', 'ember-data/serializer', 'ember-data/-private/system/coerce-id', 'ember-data/-private/system/normalize-model-name', 'ember-data/-private/utils', 'ember-data/-private/features', 'ember-data/adapters/errors'], function (exports, _ember, _emberDataPrivateDebug, _emberDataSerializer, _emberDataPrivateSystemCoerceId, _emberDataPrivateSystemNormalizeModelName, _emberDataPrivateUtils, _emberDataPrivateFeatures, _emberDataAdaptersErrors) {
14504
14848
  function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } }
14505
14849
 
@@ -15067,7 +15411,24 @@ define('ember-data/serializers/json', ['exports', 'ember', 'ember-data/-private/
15067
15411
 
15068
15412
  var modelClass = this.store.modelFor(relationshipModelName);
15069
15413
  if (relationshipHash.type && !(0, _emberDataPrivateUtils.modelHasAttributeOrRelationshipNamedType)(modelClass)) {
15070
- relationshipHash.type = this.modelNameFromPayloadKey(relationshipHash.type);
15414
+
15415
+ if (false) {
15416
+ var modelName = this.modelNameFromPayloadType(relationshipHash.type);
15417
+ var deprecatedModelNameLookup = this.modelNameFromPayloadKey(relationshipHash.type);
15418
+
15419
+ if (modelName !== deprecatedModelNameLookup && this._hasCustomModelNameFromPayloadKey()) {
15420
+ (0, _emberDataPrivateDebug.deprecate)("You used modelNameFromPayloadKey to customize how a type is normalized. Use modelNameFromPayloadType instead", false, {
15421
+ id: 'ds.json-serializer.deprecated-type-for-polymorphic-relationship',
15422
+ until: '3.0.0'
15423
+ });
15424
+
15425
+ modelName = deprecatedModelNameLookup;
15426
+ }
15427
+
15428
+ relationshipHash.type = modelName;
15429
+ } else {
15430
+ relationshipHash.type = this.modelNameFromPayloadKey(relationshipHash.type);
15431
+ }
15071
15432
  }
15072
15433
  return relationshipHash;
15073
15434
  }
@@ -15621,6 +15982,9 @@ define('ember-data/serializers/json', ['exports', 'ember', 'ember-data/-private/
15621
15982
  serializeHasMany: function (snapshot, json, relationship) {
15622
15983
  var key = relationship.key;
15623
15984
  var shouldSerializeHasMany = '_shouldSerializeHasMany';
15985
+ if (false) {
15986
+ shouldSerializeHasMany = 'shouldSerializeHasMany';
15987
+ }
15624
15988
 
15625
15989
  if (this[shouldSerializeHasMany](snapshot, key, relationship)) {
15626
15990
  var hasMany = snapshot.hasMany(key, { ids: true });
@@ -15871,15 +16235,29 @@ define('ember-data/serializers/json', ['exports', 'ember', 'ember-data/-private/
15871
16235
  }
15872
16236
  });
15873
16237
 
16238
+ if (false) {
16239
+
16240
+ JSONSerializer.reopen({
16241
+
16242
+ /**
16243
+ @method modelNameFromPayloadType
16244
+ @public
16245
+ @param {String} type
16246
+ @return {String} the model's modelName
16247
+ */
16248
+ modelNameFromPayloadType: function (type) {
16249
+ return (0, _emberDataPrivateSystemNormalizeModelName.default)(type);
16250
+ },
16251
+
16252
+ _hasCustomModelNameFromPayloadKey: function () {
16253
+ return this.modelNameFromPayloadKey !== JSONSerializer.prototype.modelNameFromPayloadKey;
16254
+ }
16255
+
16256
+ });
16257
+ }
16258
+
15874
16259
  exports.default = JSONSerializer;
15875
16260
  });
15876
-
15877
- /**
15878
- @method modelNameFromPayloadType
15879
- @public
15880
- @param {String} type
15881
- @return {String} the model's modelName
15882
- */
15883
16261
  define("ember-data/serializers/rest", ["exports", "ember", "ember-data/-private/debug", "ember-data/serializers/json", "ember-data/-private/system/normalize-model-name", "ember-inflector", "ember-data/-private/system/coerce-id", "ember-data/-private/utils", "ember-data/-private/features"], function (exports, _ember, _emberDataPrivateDebug, _emberDataSerializersJson, _emberDataPrivateSystemNormalizeModelName, _emberInflector, _emberDataPrivateSystemCoerceId, _emberDataPrivateUtils, _emberDataPrivateFeatures) {
15884
16262
  function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } }
15885
16263
 
@@ -16068,8 +16446,21 @@ define("ember-data/serializers/rest", ["exports", "ember", "ember-data/-private/
16068
16446
  if (!primaryHasTypeAttribute && hash.type) {
16069
16447
  // Support polymorphic records in async relationships
16070
16448
  var modelName = undefined;
16449
+ if (false) {
16450
+ modelName = this.modelNameFromPayloadType(hash.type);
16451
+ var deprecatedModelNameLookup = this.modelNameFromPayloadKey(hash.type);
16452
+
16453
+ if (modelName !== deprecatedModelNameLookup && !this._hasCustomModelNameFromPayloadType() && this._hasCustomModelNameFromPayloadKey()) {
16454
+ (0, _emberDataPrivateDebug.deprecate)("You are using modelNameFromPayloadKey to normalize the type for a polymorphic relationship. This is has been deprecated in favor of modelNameFromPayloadType", false, {
16455
+ id: 'ds.rest-serializer.deprecated-model-name-for-polymorphic-type',
16456
+ until: '3.0.0'
16457
+ });
16071
16458
 
16072
- modelName = this.modelNameFromPayloadKey(hash.type);
16459
+ modelName = deprecatedModelNameLookup;
16460
+ }
16461
+ } else {
16462
+ modelName = this.modelNameFromPayloadKey(hash.type);
16463
+ }
16073
16464
 
16074
16465
  if (store._hasModelFor(modelName)) {
16075
16466
  serializer = store.serializerFor(modelName);
@@ -16292,7 +16683,11 @@ define("ember-data/serializers/rest", ["exports", "ember", "ember-data/-private/
16292
16683
  });
16293
16684
  }
16294
16685
 
16295
- store.push(documentHash);
16686
+ if (false) {
16687
+ return store.push(documentHash);
16688
+ } else {
16689
+ store.push(documentHash);
16690
+ }
16296
16691
  },
16297
16692
 
16298
16693
  /**
@@ -16567,7 +16962,11 @@ define("ember-data/serializers/rest", ["exports", "ember", "ember-data/-private/
16567
16962
  if (_ember.default.isNone(belongsTo)) {
16568
16963
  json[typeKey] = null;
16569
16964
  } else {
16570
- json[typeKey] = camelize(belongsTo.modelName);
16965
+ if (false) {
16966
+ json[typeKey] = this.payloadTypeFromModelName(belongsTo.modelName);
16967
+ } else {
16968
+ json[typeKey] = camelize(belongsTo.modelName);
16969
+ }
16571
16970
  }
16572
16971
  },
16573
16972
 
@@ -16607,17 +17006,144 @@ define("ember-data/serializers/rest", ["exports", "ember", "ember-data/-private/
16607
17006
 
16608
17007
  if (isPolymorphic && resourceHash[typeProperty] !== undefined && typeof relationshipHash !== 'object') {
16609
17008
 
16610
- var type = this.modelNameFromPayloadKey(resourceHash[typeProperty]);
16611
- return {
16612
- id: relationshipHash,
16613
- type: type
16614
- };
17009
+ if (false) {
17010
+
17011
+ var payloadType = resourceHash[typeProperty];
17012
+ var type = this.modelNameFromPayloadType(payloadType);
17013
+ var deprecatedTypeLookup = this.modelNameFromPayloadKey(payloadType);
17014
+
17015
+ if (payloadType !== deprecatedTypeLookup && !this._hasCustomModelNameFromPayloadType() && this._hasCustomModelNameFromPayloadKey()) {
17016
+ (0, _emberDataPrivateDebug.deprecate)("You are using modelNameFromPayloadKey to normalize the type for a polymorphic relationship. This has been deprecated in favor of modelNameFromPayloadType", false, {
17017
+ id: 'ds.rest-serializer.deprecated-model-name-for-polymorphic-type',
17018
+ until: '3.0.0'
17019
+ });
17020
+
17021
+ type = deprecatedTypeLookup;
17022
+ }
17023
+
17024
+ return {
17025
+ id: relationshipHash,
17026
+ type: type
17027
+ };
17028
+ } else {
17029
+
17030
+ var type = this.modelNameFromPayloadKey(resourceHash[typeProperty]);
17031
+ return {
17032
+ id: relationshipHash,
17033
+ type: type
17034
+ };
17035
+ }
16615
17036
  }
16616
17037
 
16617
17038
  return this._super.apply(this, arguments);
16618
17039
  }
16619
17040
  });
16620
17041
 
17042
+ if (false) {
17043
+
17044
+ RESTSerializer.reopen({
17045
+
17046
+ /**
17047
+ `modelNameFromPayloadType` can be used to change the mapping for a DS model
17048
+ name, taken from the value in the payload.
17049
+ Say your API namespaces the type of a model and returns the following
17050
+ payload for the `post` model, which has a polymorphic `user` relationship:
17051
+ ```javascript
17052
+ // GET /api/posts/1
17053
+ {
17054
+ "post": {
17055
+ "id": 1,
17056
+ "user": 1,
17057
+ "userType: "api::v1::administrator"
17058
+ }
17059
+ }
17060
+ ```
17061
+ By overwriting `modelNameFromPayloadType` you can specify that the
17062
+ `administrator` model should be used:
17063
+ ```app/serializers/application.js
17064
+ import RESTSerializer from "ember-data/serializers/rest";
17065
+ export default RESTSerializer.extend({
17066
+ modelNameFromPayloadType(payloadType) {
17067
+ return payloadType.replace('api::v1::', '');
17068
+ }
17069
+ });
17070
+ ```
17071
+ By default the modelName for a model is its name in dasherized form.
17072
+ Usually, Ember Data can use the correct inflection to do this for you. Most
17073
+ of the time, you won't need to override `modelNameFromPayloadType` for this
17074
+ purpose.
17075
+ Also take a look at
17076
+ [payloadTypeFromModelName](#method_payloadTypeFromModelName) to customize
17077
+ how the type of a record should be serialized.
17078
+ @method modelNameFromPayloadType
17079
+ @public
17080
+ @param {String} payloadType type from payload
17081
+ @return {String} modelName
17082
+ */
17083
+ modelNameFromPayloadType: function (payloadType) {
17084
+ return (0, _emberInflector.singularize)((0, _emberDataPrivateSystemNormalizeModelName.default)(payloadType));
17085
+ },
17086
+
17087
+ /**
17088
+ `payloadTypeFromModelName` can be used to change the mapping for the type in
17089
+ the payload, taken from the model name.
17090
+ Say your API namespaces the type of a model and expects the following
17091
+ payload when you update the `post` model, which has a polymorphic `user`
17092
+ relationship:
17093
+ ```javascript
17094
+ // POST /api/posts/1
17095
+ {
17096
+ "post": {
17097
+ "id": 1,
17098
+ "user": 1,
17099
+ "userType": "api::v1::administrator"
17100
+ }
17101
+ }
17102
+ ```
17103
+ By overwriting `payloadTypeFromModelName` you can specify that the
17104
+ namespaces model name for the `administrator` should be used:
17105
+ ```app/serializers/application.js
17106
+ import RESTSerializer from "ember-data/serializers/rest";
17107
+ export default RESTSerializer.extend({
17108
+ payloadTypeFromModelName(modelName) {
17109
+ return "api::v1::" + modelName;
17110
+ }
17111
+ });
17112
+ ```
17113
+ By default the payload type is the camelized model name. Usually, Ember
17114
+ Data can use the correct inflection to do this for you. Most of the time,
17115
+ you won't need to override `payloadTypeFromModelName` for this purpose.
17116
+ Also take a look at
17117
+ [modelNameFromPayloadType](#method_modelNameFromPayloadType) to customize
17118
+ how the model name from should be mapped from the payload.
17119
+ @method payloadTypeFromModelName
17120
+ @public
17121
+ @param {String} modelname modelName from the record
17122
+ @return {String} payloadType
17123
+ */
17124
+ payloadTypeFromModelName: function (modelName) {
17125
+ return camelize(modelName);
17126
+ },
17127
+
17128
+ _hasCustomModelNameFromPayloadKey: function () {
17129
+ return this.modelNameFromPayloadKey !== RESTSerializer.prototype.modelNameFromPayloadKey;
17130
+ },
17131
+
17132
+ _hasCustomModelNameFromPayloadType: function () {
17133
+ return this.modelNameFromPayloadType !== RESTSerializer.prototype.modelNameFromPayloadType;
17134
+ },
17135
+
17136
+ _hasCustomPayloadTypeFromModelName: function () {
17137
+ return this.payloadTypeFromModelName !== RESTSerializer.prototype.payloadTypeFromModelName;
17138
+ },
17139
+
17140
+ _hasCustomPayloadKeyFromModelName: function () {
17141
+ return this.payloadKeyFromModelName !== RESTSerializer.prototype.payloadKeyFromModelName;
17142
+ }
17143
+
17144
+ });
17145
+ }
17146
+
16621
17147
  (0, _emberDataPrivateDebug.runInDebug)(function () {
16622
17148
  RESTSerializer.reopen({
16623
17149
  warnMessageNoModelForKey: function (prop, typeKey) {
@@ -16631,82 +17157,6 @@ define("ember-data/serializers/rest", ["exports", "ember", "ember-data/-private/
16631
17157
  /**
16632
17158
  @module ember-data
16633
17159
  */
16634
-
16635
- /**
16636
- `modelNameFromPayloadType` can be used to change the mapping for a DS model
16637
- name, taken from the value in the payload.
16638
- Say your API namespaces the type of a model and returns the following
16639
- payload for the `post` model, which has a polymorphic `user` relationship:
16640
- ```javascript
16641
- // GET /api/posts/1
16642
- {
16643
- "post": {
16644
- "id": 1,
16645
- "user": 1,
16646
- "userType: "api::v1::administrator"
16647
- }
16648
- }
16649
- ```
16650
- By overwriting `modelNameFromPayloadType` you can specify that the
16651
- `administrator` model should be used:
16652
- ```app/serializers/application.js
16653
- import RESTSerializer from "ember-data/serializers/rest";
16654
- export default RESTSerializer.extend({
16655
- modelNameFromPayloadType(payloadType) {
16656
- return payloadType.replace('api::v1::', '');
16657
- }
16658
- });
16659
- ```
16660
- By default the modelName for a model is its name in dasherized form.
16661
- Usually, Ember Data can use the correct inflection to do this for you. Most
16662
- of the time, you won't need to override `modelNameFromPayloadType` for this
16663
- purpose.
16664
- Also take a look at
16665
- [payloadTypeFromModelName](#method_payloadTypeFromModelName) to customize
16666
- how the type of a record should be serialized.
16667
- @method modelNameFromPayloadType
16668
- @public
16669
- @param {String} payloadType type from payload
16670
- @return {String} modelName
16671
- */
16672
-
16673
- /**
16674
- `payloadTypeFromModelName` can be used to change the mapping for the type in
16675
- the payload, taken from the model name.
16676
- Say your API namespaces the type of a model and expects the following
16677
- payload when you update the `post` model, which has a polymorphic `user`
16678
- relationship:
16679
- ```javascript
16680
- // POST /api/posts/1
16681
- {
16682
- "post": {
16683
- "id": 1,
16684
- "user": 1,
16685
- "userType": "api::v1::administrator"
16686
- }
16687
- }
16688
- ```
16689
- By overwriting `payloadTypeFromModelName` you can specify that the
16690
- namespaces model name for the `administrator` should be used:
16691
- ```app/serializers/application.js
16692
- import RESTSerializer from "ember-data/serializers/rest";
16693
- export default RESTSerializer.extend({
16694
- payloadTypeFromModelName(modelName) {
16695
- return "api::v1::" + modelName;
16696
- }
16697
- });
16698
- ```
16699
- By default the payload type is the camelized model name. Usually, Ember
16700
- Data can use the correct inflection to do this for you. Most of the time,
16701
- you won't need to override `payloadTypeFromModelName` for this purpose.
16702
- Also take a look at
16703
- [modelNameFromPayloadType](#method_modelNameFromPayloadType) to customize
16704
- how the model name from should be mapped from the payload.
16705
- @method payloadTypeFromModelName
16706
- @public
16707
- @param {String} modelname modelName from the record
16708
- @return {String} payloadType
16709
- */
16710
17160
  define('ember-data/setup-container', ['exports', 'ember-data/-private/initializers/store', 'ember-data/-private/initializers/transforms', 'ember-data/-private/initializers/store-injections', 'ember-data/-private/initializers/data-adapter'], function (exports, _emberDataPrivateInitializersStore, _emberDataPrivateInitializersTransforms, _emberDataPrivateInitializersStoreInjections, _emberDataPrivateInitializersDataAdapter) {
16711
17161
  exports.default = setupContainer;
16712
17162
 
@@ -16794,7 +17244,7 @@ define('ember-data/transform', ['exports', 'ember'], function (exports, _ember)
16794
17244
  });
16795
17245
  });
16796
17246
  define("ember-data/version", ["exports"], function (exports) {
16797
- exports.default = "2.7.0-beta.1";
17247
+ exports.default = "2.7.0-beta.2";
16798
17248
  });
16799
17249
  define("ember-inflector", ["exports", "ember", "ember-inflector/lib/system", "ember-inflector/lib/ext/string"], function (exports, _ember, _emberInflectorLibSystem, _emberInflectorLibExtString) {
16800
17250