ember-data-source 1.13.8 → 1.13.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,12 +4,13 @@
4
4
  var ember$data$lib$system$object$polyfills$$keysFunc = Object.keys || Ember.keys;
5
5
  var ember$data$lib$system$object$polyfills$$create = Object.create || Ember.create;
6
6
 
7
- var ember$data$lib$adapters$errors$$EmberError = Ember.Error;
8
- var ember$data$lib$adapters$errors$$forEach = Ember.ArrayPolyfills.forEach;
9
- var ember$data$lib$adapters$errors$$SOURCE_POINTER_REGEXP = /^\/?data\/(attributes|relationships)\/(.*)/;/**
7
+ /**
10
8
  @class AdapterError
11
9
  @namespace DS
12
10
  */
11
+ var ember$data$lib$adapters$errors$$EmberError = Ember.Error;
12
+ var ember$data$lib$adapters$errors$$forEach = Ember.ArrayPolyfills.forEach;
13
+ var ember$data$lib$adapters$errors$$SOURCE_POINTER_REGEXP = /^\/?data\/(attributes|relationships)\/(.*)/;
13
14
  function ember$data$lib$adapters$errors$$AdapterError(errors, message) {
14
15
  message = message || "Adapter operation failed";
15
16
 
@@ -81,9 +82,10 @@
81
82
  @class InvalidError
82
83
  @namespace DS
83
84
  */
85
+
84
86
  function ember$data$lib$adapters$errors$$InvalidError(errors) {
85
87
  if (!Ember.isArray(errors)) {
86
- Ember.deprecate("`InvalidError` expects json-api formatted errors.", false, { id: "ds.errors.invalid-error-expects-json-api-format", until: "2.0.0" });
88
+ Ember.deprecate('`InvalidError` expects json-api formatted errors.', false, { id: 'ds.errors.invalid-error-expects-json-api-format', until: '2.0.0' });
87
89
  errors = ember$data$lib$adapters$errors$$errorsHashToArray(errors);
88
90
  }
89
91
  ember$data$lib$adapters$errors$$AdapterError.call(this, errors, "The adapter rejected the commit because it was invalid");
@@ -95,6 +97,7 @@
95
97
  @class TimeoutError
96
98
  @namespace DS
97
99
  */
100
+
98
101
  function ember$data$lib$adapters$errors$$TimeoutError() {
99
102
  ember$data$lib$adapters$errors$$AdapterError.call(this, null, "The adapter operation timed out");
100
103
  }
@@ -105,6 +108,7 @@
105
108
  @class AbortError
106
109
  @namespace DS
107
110
  */
111
+
108
112
  function ember$data$lib$adapters$errors$$AbortError() {
109
113
  ember$data$lib$adapters$errors$$AdapterError.call(this, null, "The adapter operation was aborted");
110
114
  }
@@ -114,6 +118,7 @@
114
118
  /**
115
119
  @private
116
120
  */
121
+
117
122
  function ember$data$lib$adapters$errors$$errorsHashToArray(errors) {
118
123
  var out = [];
119
124
 
@@ -122,7 +127,7 @@
122
127
  var messages = Ember.makeArray(errors[key]);
123
128
  for (var i = 0; i < messages.length; i++) {
124
129
  out.push({
125
- title: "Invalid Attribute",
130
+ title: 'Invalid Attribute',
126
131
  detail: messages[i],
127
132
  source: {
128
133
  pointer: "/data/attributes/" + key
@@ -888,16 +893,21 @@
888
893
  if (path) {
889
894
  // Protocol relative url
890
895
  //jscs:disable disallowEmptyBlocks
891
- if (/^\/\//.test(path)) {} else if (path.charAt(0) === '/') {
892
- //jscs:enable disallowEmptyBlocks
893
- if (host) {
894
- path = path.slice(1);
895
- url.push(host);
896
- }
897
- // Relative path
898
- } else if (!/^http(s)?:\/\//.test(path)) {
899
- url.push(parentURL);
900
- }
896
+ if (/^\/\//.test(path)) {
897
+ // Do nothing, the full host is already included. This branch
898
+ // avoids the absolute path logic and the relative path logic.
899
+
900
+ // Absolute path
901
+ } else if (path.charAt(0) === '/') {
902
+ //jscs:enable disallowEmptyBlocks
903
+ if (host) {
904
+ path = path.slice(1);
905
+ url.push(host);
906
+ }
907
+ // Relative path
908
+ } else if (!/^http(s)?:\/\//.test(path)) {
909
+ url.push(parentURL);
910
+ }
901
911
  } else {
902
912
  if (host) {
903
913
  url.push(host);
@@ -959,27 +969,25 @@
959
969
 
960
970
  var ember$data$lib$adapters$build$url$mixin$$default = ember$data$lib$adapters$build$url$mixin$$BuildURLMixin;
961
971
 
962
- var ember$data$lib$adapters$rest$adapter$$get = Ember.get;
963
- var ember$data$lib$adapters$rest$adapter$$set = Ember.set;
964
- var ember$data$lib$adapters$rest$adapter$$forEach = Ember.ArrayPolyfills.forEach;/**
972
+ /**
965
973
  The REST adapter allows your store to communicate with an HTTP server by
966
974
  transmitting JSON via XHR. Most Ember.js apps that consume a JSON API
967
975
  should use the REST adapter.
968
-
976
+
969
977
  This adapter is designed around the idea that the JSON exchanged with
970
978
  the server should be conventional.
971
-
979
+
972
980
  ## JSON Structure
973
-
981
+
974
982
  The REST adapter expects the JSON returned from your server to follow
975
983
  these conventions.
976
-
984
+
977
985
  ### Object Root
978
-
986
+
979
987
  The JSON payload should be an object that contains the record inside a
980
988
  root property. For example, in response to a `GET` request for
981
989
  `/posts/1`, the JSON should look like this:
982
-
990
+
983
991
  ```js
984
992
  {
985
993
  "post": {
@@ -989,10 +997,10 @@
989
997
  }
990
998
  }
991
999
  ```
992
-
1000
+
993
1001
  Similarly, in response to a `GET` request for `/posts`, the JSON should
994
1002
  look like this:
995
-
1003
+
996
1004
  ```js
997
1005
  {
998
1006
  "posts": [
@@ -1009,26 +1017,26 @@
1009
1017
  ]
1010
1018
  }
1011
1019
  ```
1012
-
1020
+
1013
1021
  ### Conventional Names
1014
-
1022
+
1015
1023
  Attribute names in your JSON payload should be the camelCased versions of
1016
1024
  the attributes in your Ember.js models.
1017
-
1025
+
1018
1026
  For example, if you have a `Person` model:
1019
-
1027
+
1020
1028
  ```app/models/person.js
1021
1029
  import DS from 'ember-data';
1022
-
1030
+
1023
1031
  export default DS.Model.extend({
1024
1032
  firstName: DS.attr('string'),
1025
1033
  lastName: DS.attr('string'),
1026
1034
  occupation: DS.attr('string')
1027
1035
  });
1028
1036
  ```
1029
-
1037
+
1030
1038
  The JSON returned should look like this:
1031
-
1039
+
1032
1040
  ```js
1033
1041
  {
1034
1042
  "person": {
@@ -1039,45 +1047,45 @@
1039
1047
  }
1040
1048
  }
1041
1049
  ```
1042
-
1050
+
1043
1051
  ## Customization
1044
-
1052
+
1045
1053
  ### Endpoint path customization
1046
-
1054
+
1047
1055
  Endpoint paths can be prefixed with a `namespace` by setting the namespace
1048
1056
  property on the adapter:
1049
-
1057
+
1050
1058
  ```app/adapters/application.js
1051
1059
  import DS from 'ember-data';
1052
-
1060
+
1053
1061
  export default DS.RESTAdapter.extend({
1054
1062
  namespace: 'api/1'
1055
1063
  });
1056
1064
  ```
1057
1065
  Requests for `App.Person` would now target `/api/1/people/1`.
1058
-
1066
+
1059
1067
  ### Host customization
1060
-
1068
+
1061
1069
  An adapter can target other hosts by setting the `host` property.
1062
-
1070
+
1063
1071
  ```app/adapters/application.js
1064
1072
  import DS from 'ember-data';
1065
-
1073
+
1066
1074
  export default DS.RESTAdapter.extend({
1067
1075
  host: 'https://api.example.com'
1068
1076
  });
1069
1077
  ```
1070
-
1078
+
1071
1079
  ### Headers customization
1072
-
1080
+
1073
1081
  Some APIs require HTTP headers, e.g. to provide an API key. Arbitrary
1074
1082
  headers can be set as key/value pairs on the `RESTAdapter`'s `headers`
1075
1083
  object and Ember Data will send them along with each ajax request.
1076
-
1077
-
1084
+
1085
+
1078
1086
  ```app/adapters/application.js
1079
1087
  import DS from 'ember-data';
1080
-
1088
+
1081
1089
  export default DS.RESTAdapter.extend({
1082
1090
  headers: {
1083
1091
  "API_KEY": "secret key",
@@ -1085,14 +1093,14 @@
1085
1093
  }
1086
1094
  });
1087
1095
  ```
1088
-
1096
+
1089
1097
  `headers` can also be used as a computed property to support dynamic
1090
1098
  headers. In the example below, the `session` object has been
1091
1099
  injected into an adapter by Ember's container.
1092
-
1100
+
1093
1101
  ```app/adapters/application.js
1094
1102
  import DS from 'ember-data';
1095
-
1103
+
1096
1104
  export default DS.RESTAdapter.extend({
1097
1105
  headers: function() {
1098
1106
  return {
@@ -1102,17 +1110,17 @@
1102
1110
  }.property("session.authToken")
1103
1111
  });
1104
1112
  ```
1105
-
1113
+
1106
1114
  In some cases, your dynamic headers may require data from some
1107
1115
  object outside of Ember's observer system (for example
1108
1116
  `document.cookie`). You can use the
1109
1117
  [volatile](/api/classes/Ember.ComputedProperty.html#method_volatile)
1110
1118
  function to set the property into a non-cached mode causing the headers to
1111
1119
  be recomputed with every request.
1112
-
1120
+
1113
1121
  ```app/adapters/application.js
1114
1122
  import DS from 'ember-data';
1115
-
1123
+
1116
1124
  export default DS.RESTAdapter.extend({
1117
1125
  headers: function() {
1118
1126
  return {
@@ -1122,15 +1130,17 @@
1122
1130
  }.property().volatile()
1123
1131
  });
1124
1132
  ```
1125
-
1133
+
1126
1134
  @class RESTAdapter
1127
1135
  @constructor
1128
1136
  @namespace DS
1129
1137
  @extends DS.Adapter
1130
1138
  @uses DS.BuildURLMixin
1131
1139
  */
1132
- var ember$data$lib$adapters$rest$adapter$$RestAdapter = ember$data$lib$system$adapter$$default.extend(ember$data$lib$adapters$build$url$mixin$$default, {
1133
- defaultSerializer: "-rest",
1140
+ var ember$data$lib$adapters$rest$adapter$$get = Ember.get;
1141
+ var ember$data$lib$adapters$rest$adapter$$set = Ember.set;
1142
+ var ember$data$lib$adapters$rest$adapter$$forEach = Ember.ArrayPolyfills.forEach;var ember$data$lib$adapters$rest$adapter$$RestAdapter = ember$data$lib$system$adapter$$default.extend(ember$data$lib$adapters$build$url$mixin$$default, {
1143
+ defaultSerializer: '-rest',
1134
1144
 
1135
1145
  /**
1136
1146
  By default, the RESTAdapter will send the query params sorted alphabetically to the
@@ -1272,11 +1282,11 @@
1272
1282
  @deprecated Use [findRecord](#method_findRecord) instead
1273
1283
  */
1274
1284
  find: function (store, type, id, snapshot) {
1275
- Ember.deprecate("RestAdapter#find has been deprecated and renamed to `findRecord`.", false, {
1276
- id: "ds.adapter.find-renamed-to-find-record",
1277
- until: "2.0.0"
1285
+ Ember.deprecate('RestAdapter#find has been deprecated and renamed to `findRecord`.', false, {
1286
+ id: 'ds.adapter.find-renamed-to-find-record',
1287
+ until: '2.0.0'
1278
1288
  });
1279
- return this.ajax(this.buildURL(type.modelName, id, snapshot, "find"), "GET");
1289
+ return this.ajax(this.buildURL(type.modelName, id, snapshot, 'find'), 'GET');
1280
1290
  },
1281
1291
 
1282
1292
  /**
@@ -1295,13 +1305,13 @@
1295
1305
  findRecord: function (store, type, id, snapshot) {
1296
1306
  var find = ember$data$lib$adapters$rest$adapter$$RestAdapter.prototype.find;
1297
1307
  if (find !== this.find) {
1298
- Ember.deprecate("RestAdapter#find has been deprecated and renamed to `findRecord`.", false, {
1299
- id: "ds.adapter.find-renamed-to-find-record",
1300
- until: "2.0.0"
1308
+ Ember.deprecate('RestAdapter#find has been deprecated and renamed to `findRecord`.', false, {
1309
+ id: 'ds.adapter.find-renamed-to-find-record',
1310
+ until: '2.0.0'
1301
1311
  });
1302
1312
  return this.find(store, type, id, snapshot);
1303
1313
  }
1304
- return this.ajax(this.buildURL(type.modelName, id, snapshot, "findRecord"), "GET");
1314
+ return this.ajax(this.buildURL(type.modelName, id, snapshot, 'findRecord'), 'GET');
1305
1315
  },
1306
1316
 
1307
1317
  /**
@@ -1323,9 +1333,9 @@
1323
1333
  query = { since: sinceToken };
1324
1334
  }
1325
1335
 
1326
- url = this.buildURL(type.modelName, null, null, "findAll");
1336
+ url = this.buildURL(type.modelName, null, null, 'findAll');
1327
1337
 
1328
- return this.ajax(url, "GET", { data: query });
1338
+ return this.ajax(url, 'GET', { data: query });
1329
1339
  },
1330
1340
 
1331
1341
  /**
@@ -1344,17 +1354,17 @@
1344
1354
  @deprecated Use [query](#method_query) instead
1345
1355
  */
1346
1356
  findQuery: function (store, type, query) {
1347
- Ember.deprecate("RestAdapter#findQuery has been deprecated and renamed to `query`.", false, {
1348
- id: "ds.adapter.find-query-renamed-to-query",
1349
- until: "2.0.0"
1357
+ Ember.deprecate('RestAdapter#findQuery has been deprecated and renamed to `query`.', false, {
1358
+ id: 'ds.adapter.find-query-renamed-to-query',
1359
+ until: '2.0.0'
1350
1360
  });
1351
- var url = this.buildURL(type.modelName, null, null, "findQuery", query);
1361
+ var url = this.buildURL(type.modelName, null, null, 'findQuery', query);
1352
1362
 
1353
1363
  if (this.sortQueryParams) {
1354
1364
  query = this.sortQueryParams(query);
1355
1365
  }
1356
1366
 
1357
- return this.ajax(url, "GET", { data: query });
1367
+ return this.ajax(url, 'GET', { data: query });
1358
1368
  },
1359
1369
 
1360
1370
  /**
@@ -1374,20 +1384,20 @@
1374
1384
  query: function (store, type, query) {
1375
1385
  var findQuery = ember$data$lib$adapters$rest$adapter$$RestAdapter.prototype.findQuery;
1376
1386
  if (findQuery !== this.findQuery) {
1377
- Ember.deprecate("RestAdapter#findQuery has been deprecated and renamed to `query`.", false, {
1378
- id: "ds.adapter.find-query-renamed-to-query",
1379
- until: "2.0.0"
1387
+ Ember.deprecate('RestAdapter#findQuery has been deprecated and renamed to `query`.', false, {
1388
+ id: 'ds.adapter.find-query-renamed-to-query',
1389
+ until: '2.0.0'
1380
1390
  });
1381
1391
  return this.findQuery(store, type, query);
1382
1392
  }
1383
1393
 
1384
- var url = this.buildURL(type.modelName, null, null, "query", query);
1394
+ var url = this.buildURL(type.modelName, null, null, 'query', query);
1385
1395
 
1386
1396
  if (this.sortQueryParams) {
1387
1397
  query = this.sortQueryParams(query);
1388
1398
  }
1389
1399
 
1390
- return this.ajax(url, "GET", { data: query });
1400
+ return this.ajax(url, 'GET', { data: query });
1391
1401
  },
1392
1402
 
1393
1403
  /**
@@ -1406,13 +1416,13 @@
1406
1416
  @return {Promise} promise
1407
1417
  */
1408
1418
  queryRecord: function (store, type, query) {
1409
- var url = this.buildURL(type.modelName, null, null, "queryRecord", query);
1419
+ var url = this.buildURL(type.modelName, null, null, 'queryRecord', query);
1410
1420
 
1411
1421
  if (this.sortQueryParams) {
1412
1422
  query = this.sortQueryParams(query);
1413
1423
  }
1414
1424
 
1415
- return this.ajax(url, "GET", { data: query });
1425
+ return this.ajax(url, 'GET', { data: query });
1416
1426
  },
1417
1427
 
1418
1428
  /**
@@ -1442,8 +1452,8 @@
1442
1452
  @return {Promise} promise
1443
1453
  */
1444
1454
  findMany: function (store, type, ids, snapshots) {
1445
- var url = this.buildURL(type.modelName, ids, snapshots, "findMany");
1446
- return this.ajax(url, "GET", { data: { ids: ids } });
1455
+ var url = this.buildURL(type.modelName, ids, snapshots, 'findMany');
1456
+ return this.ajax(url, 'GET', { data: { ids: ids } });
1447
1457
  },
1448
1458
 
1449
1459
  /**
@@ -1472,9 +1482,9 @@
1472
1482
  var id = snapshot.id;
1473
1483
  var type = snapshot.modelName;
1474
1484
 
1475
- url = this.urlPrefix(url, this.buildURL(type, id, null, "findHasMany"));
1485
+ url = this.urlPrefix(url, this.buildURL(type, id, null, 'findHasMany'));
1476
1486
 
1477
- return this.ajax(url, "GET");
1487
+ return this.ajax(url, 'GET');
1478
1488
  },
1479
1489
 
1480
1490
  /**
@@ -1503,8 +1513,8 @@
1503
1513
  var id = snapshot.id;
1504
1514
  var type = snapshot.modelName;
1505
1515
 
1506
- url = this.urlPrefix(url, this.buildURL(type, id, null, "findBelongsTo"));
1507
- return this.ajax(url, "GET");
1516
+ url = this.urlPrefix(url, this.buildURL(type, id, null, 'findBelongsTo'));
1517
+ return this.ajax(url, 'GET');
1508
1518
  },
1509
1519
 
1510
1520
  /**
@@ -1523,7 +1533,7 @@
1523
1533
  createRecord: function (store, type, snapshot) {
1524
1534
  var data = {};
1525
1535
  var serializer = store.serializerFor(type.modelName);
1526
- var url = this.buildURL(type.modelName, null, snapshot, "createRecord");
1536
+ var url = this.buildURL(type.modelName, null, snapshot, 'createRecord');
1527
1537
 
1528
1538
  serializer.serializeIntoHash(data, type, snapshot, { includeId: true });
1529
1539
 
@@ -1550,7 +1560,7 @@
1550
1560
  serializer.serializeIntoHash(data, type, snapshot);
1551
1561
 
1552
1562
  var id = snapshot.id;
1553
- var url = this.buildURL(type.modelName, id, snapshot, "updateRecord");
1563
+ var url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');
1554
1564
 
1555
1565
  return this.ajax(url, "PUT", { data: data });
1556
1566
  },
@@ -1567,24 +1577,24 @@
1567
1577
  deleteRecord: function (store, type, snapshot) {
1568
1578
  var id = snapshot.id;
1569
1579
 
1570
- return this.ajax(this.buildURL(type.modelName, id, snapshot, "deleteRecord"), "DELETE");
1580
+ return this.ajax(this.buildURL(type.modelName, id, snapshot, 'deleteRecord'), "DELETE");
1571
1581
  },
1572
1582
 
1573
1583
  _stripIDFromURL: function (store, snapshot) {
1574
1584
  var url = this.buildURL(snapshot.modelName, snapshot.id, snapshot);
1575
1585
 
1576
- var expandedURL = url.split("/");
1586
+ var expandedURL = url.split('/');
1577
1587
  //Case when the url is of the format ...something/:id
1578
1588
  var lastSegment = expandedURL[expandedURL.length - 1];
1579
1589
  var id = snapshot.id;
1580
1590
  if (lastSegment === id) {
1581
1591
  expandedURL[expandedURL.length - 1] = "";
1582
- } else if (ember$data$lib$adapters$rest$adapter$$endsWith(lastSegment, "?id=" + id)) {
1592
+ } else if (ember$data$lib$adapters$rest$adapter$$endsWith(lastSegment, '?id=' + id)) {
1583
1593
  //Case when the url is of the format ...something?id=:id
1584
1594
  expandedURL[expandedURL.length - 1] = lastSegment.substring(0, lastSegment.length - id.length - 1);
1585
1595
  }
1586
1596
 
1587
- return expandedURL.join("/");
1597
+ return expandedURL.join('/');
1588
1598
  },
1589
1599
 
1590
1600
  // http://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers
@@ -1643,7 +1653,7 @@
1643
1653
 
1644
1654
  var groupsArray = [];
1645
1655
  groups.forEach(function (group, key) {
1646
- var paramNameLength = "&ids%5B%5D=".length;
1656
+ var paramNameLength = '&ids%5B%5D='.length;
1647
1657
  var splitGroups = splitGroupToFitInUrl(group, maxURLLength, paramNameLength);
1648
1658
 
1649
1659
  ember$data$lib$adapters$rest$adapter$$forEach.call(splitGroups, function (splitGroup) {
@@ -1764,8 +1774,8 @@
1764
1774
 
1765
1775
  if (adapter.ajaxSuccess) {
1766
1776
  Ember.deprecate("`ajaxSuccess` has been deprecated. Use `isSuccess`, `isInvalid` or `handleResponse` instead.", false, {
1767
- id: "ds.adapter.ajax-success-deprecated",
1768
- until: "2.0.0"
1777
+ id: 'ds.adapter.ajax-success-deprecated',
1778
+ until: '2.0.0'
1769
1779
  });
1770
1780
  response = adapter.ajaxSuccess(jqXHR, payload);
1771
1781
  }
@@ -1786,8 +1796,8 @@
1786
1796
 
1787
1797
  if (adapter.ajaxError) {
1788
1798
  Ember.deprecate("`ajaxError` has been deprecated. Use `isSuccess`, `isInvalid` or `handleResponse` instead.", false, {
1789
- id: "ds.adapter.ajax-error-deprecated",
1790
- until: "2.0.0"
1799
+ id: 'ds.adapter.ajax-error-deprecated',
1800
+ until: '2.0.0'
1791
1801
  });
1792
1802
  error = adapter.ajaxError(jqXHR, textStatus, errorThrown);
1793
1803
  }
@@ -1795,9 +1805,9 @@
1795
1805
  if (!(error instanceof Error)) {
1796
1806
  if (errorThrown instanceof Error) {
1797
1807
  error = errorThrown;
1798
- } else if (textStatus === "timeout") {
1808
+ } else if (textStatus === 'timeout') {
1799
1809
  error = new ember$data$lib$adapters$errors$$TimeoutError();
1800
- } else if (textStatus === "abort") {
1810
+ } else if (textStatus === 'abort') {
1801
1811
  error = new ember$data$lib$adapters$errors$$AbortError();
1802
1812
  } else {
1803
1813
  error = adapter.handleResponse(jqXHR.status, ember$data$lib$adapters$rest$adapter$$parseResponseHeaders(jqXHR.getAllResponseHeaders()), adapter.parseErrorResponse(jqXHR.responseText) || errorThrown);
@@ -1808,7 +1818,7 @@
1808
1818
  };
1809
1819
 
1810
1820
  Ember.$.ajax(hash);
1811
- }, "DS: RESTAdapter#ajax " + type + " to " + url);
1821
+ }, 'DS: RESTAdapter#ajax ' + type + ' to ' + url);
1812
1822
  },
1813
1823
 
1814
1824
  /**
@@ -1823,15 +1833,15 @@
1823
1833
  var hash = options || {};
1824
1834
  hash.url = url;
1825
1835
  hash.type = type;
1826
- hash.dataType = "json";
1836
+ hash.dataType = 'json';
1827
1837
  hash.context = this;
1828
1838
 
1829
- if (hash.data && type !== "GET") {
1830
- hash.contentType = "application/json; charset=utf-8";
1839
+ if (hash.data && type !== 'GET') {
1840
+ hash.contentType = 'application/json; charset=utf-8';
1831
1841
  hash.data = JSON.stringify(hash.data);
1832
1842
  }
1833
1843
 
1834
- var headers = ember$data$lib$adapters$rest$adapter$$get(this, "headers");
1844
+ var headers = ember$data$lib$adapters$rest$adapter$$get(this, 'headers');
1835
1845
  if (headers !== undefined) {
1836
1846
  hash.beforeSend = function (xhr) {
1837
1847
  ember$data$lib$adapters$rest$adapter$$forEach.call(ember$data$lib$system$object$polyfills$$keysFunc(headers), function (key) {
@@ -1868,7 +1878,7 @@
1868
1878
  @return {Object} errors payload
1869
1879
  */
1870
1880
  normalizeErrorResponse: function (status, headers, payload) {
1871
- if (payload && typeof payload === "object" && payload.errors) {
1881
+ if (payload && typeof payload === 'object' && payload.errors) {
1872
1882
  return payload.errors;
1873
1883
  } else {
1874
1884
  return [{
@@ -1886,12 +1896,12 @@
1886
1896
  return headers;
1887
1897
  }
1888
1898
 
1889
- var headerPairs = headerStr.split("\r\n");
1899
+ var headerPairs = headerStr.split('\u000d\u000a');
1890
1900
  for (var i = 0; i < headerPairs.length; i++) {
1891
1901
  var headerPair = headerPairs[i];
1892
1902
  // Can't use split() here because it does the wrong thing
1893
1903
  // if the header value has the string ": " in it.
1894
- var index = headerPair.indexOf(": ");
1904
+ var index = headerPair.indexOf('\u003a\u0020');
1895
1905
  if (index > 0) {
1896
1906
  var key = headerPair.substring(0, index);
1897
1907
  var val = headerPair.substring(index + 2);
@@ -1904,7 +1914,7 @@
1904
1914
 
1905
1915
  //From http://stackoverflow.com/questions/280634/endswith-in-javascript
1906
1916
  function ember$data$lib$adapters$rest$adapter$$endsWith(string, suffix) {
1907
- if (typeof String.prototype.endsWith !== "function") {
1917
+ if (typeof String.prototype.endsWith !== 'function') {
1908
1918
  return string.indexOf(suffix, string.length - suffix.length) !== -1;
1909
1919
  } else {
1910
1920
  return string.endsWith(suffix);
@@ -1912,22 +1922,22 @@
1912
1922
  }
1913
1923
 
1914
1924
  if (Ember.platform.hasPropertyAccessors) {
1915
- Ember.defineProperty(ember$data$lib$adapters$rest$adapter$$RestAdapter.prototype, "maxUrlLength", {
1925
+ Ember.defineProperty(ember$data$lib$adapters$rest$adapter$$RestAdapter.prototype, 'maxUrlLength', {
1916
1926
  enumerable: false,
1917
1927
  get: function () {
1918
- Ember.deprecate("maxUrlLength has been deprecated (wrong casing). You should use maxURLLength instead.", false, {
1919
- id: "ds.adapter.max-url-length-deprecated-case",
1920
- until: "2.0.0"
1928
+ Ember.deprecate('maxUrlLength has been deprecated (wrong casing). You should use maxURLLength instead.', false, {
1929
+ id: 'ds.adapter.max-url-length-deprecated-case',
1930
+ until: '2.0.0'
1921
1931
  });
1922
1932
  return this.maxURLLength;
1923
1933
  },
1924
1934
 
1925
1935
  set: function (value) {
1926
- Ember.deprecate("maxUrlLength has been deprecated (wrong casing). You should use maxURLLength instead.", false, {
1927
- id: "ds.adapter.max-url-length-deprecated-case",
1928
- until: "2.0.0"
1936
+ Ember.deprecate('maxUrlLength has been deprecated (wrong casing). You should use maxURLLength instead.', false, {
1937
+ id: 'ds.adapter.max-url-length-deprecated-case',
1938
+ until: '2.0.0'
1929
1939
  });
1930
- ember$data$lib$adapters$rest$adapter$$set(this, "maxURLLength", value);
1940
+ ember$data$lib$adapters$rest$adapter$$set(this, 'maxURLLength', value);
1931
1941
  }
1932
1942
  });
1933
1943
  }
@@ -2041,7 +2051,7 @@
2041
2051
  }
2042
2052
 
2043
2053
  if (!Object.create && !Object.create(null).hasOwnProperty) {
2044
- throw new Error('This browser does not support Object.create(null), please polyfil with es5-sham: http://git.io/yBU2rg');
2054
+ throw new Error("This browser does not support Object.create(null), please polyfil with es5-sham: http://git.io/yBU2rg");
2045
2055
  }
2046
2056
 
2047
2057
  function ember$inflector$lib$lib$system$inflector$$makeDictionary() {
@@ -2177,12 +2187,12 @@
2177
2187
  @param {Object} irregular
2178
2188
  */
2179
2189
  inflect: function (word, typeRules, irregular) {
2180
- var inflection, substitution, result, lowercase, wordSplit, firstPhrase, lastWord, isBlank, isCamelized, isUncountable, isIrregular, rule;
2190
+ var inflection, substitution, result, lowercase, wordSplit, firstPhrase, lastWord, isBlank, isCamelized, rule;
2181
2191
 
2182
2192
  isBlank = !word || ember$inflector$lib$lib$system$inflector$$BLANK_REGEX.test(word);
2183
2193
 
2184
2194
  isCamelized = ember$inflector$lib$lib$system$inflector$$CAMELIZED_REGEX.test(word);
2185
- firstPhrase = '';
2195
+ firstPhrase = "";
2186
2196
 
2187
2197
  if (isBlank) {
2188
2198
  return word;
@@ -2190,25 +2200,28 @@
2190
2200
 
2191
2201
  lowercase = word.toLowerCase();
2192
2202
  wordSplit = ember$inflector$lib$lib$system$inflector$$LAST_WORD_DASHED_REGEX.exec(word) || ember$inflector$lib$lib$system$inflector$$LAST_WORD_CAMELIZED_REGEX.exec(word);
2203
+
2193
2204
  if (wordSplit) {
2194
2205
  firstPhrase = wordSplit[1];
2195
2206
  lastWord = wordSplit[2].toLowerCase();
2196
2207
  }
2197
2208
 
2198
- isUncountable = this.rules.uncountable[lowercase] || this.rules.uncountable[lastWord];
2199
-
2200
- if (isUncountable) {
2201
- return word;
2209
+ for (rule in this.rules.uncountable) {
2210
+ if (lowercase.match(rule + "$")) {
2211
+ return word;
2212
+ }
2202
2213
  }
2203
2214
 
2204
- isIrregular = irregular && (irregular[lowercase] || irregular[lastWord]);
2215
+ for (rule in this.rules.irregular) {
2216
+ if (lowercase.match(rule + "$")) {
2217
+ substitution = irregular[rule];
2205
2218
 
2206
- if (isIrregular) {
2207
- if (irregular[lowercase]) {
2208
- return isIrregular;
2209
- } else {
2210
- isIrregular = isCamelized ? ember$inflector$lib$lib$system$inflector$$capitalize(isIrregular) : isIrregular;
2211
- return firstPhrase + isIrregular;
2219
+ if (isCamelized && irregular[lastWord]) {
2220
+ substitution = ember$inflector$lib$lib$system$inflector$$capitalize(substitution);
2221
+ rule = ember$inflector$lib$lib$system$inflector$$capitalize(rule);
2222
+ }
2223
+
2224
+ return word.replace(rule, substitution);
2212
2225
  }
2213
2226
  }
2214
2227
 
@@ -2254,93 +2267,6 @@
2254
2267
 
2255
2268
  ember$inflector$lib$lib$system$inflector$$default.inflector = new ember$inflector$lib$lib$system$inflector$$default(ember$inflector$lib$lib$system$inflections$$default);
2256
2269
 
2257
- var ember$inflector$lib$lib$utils$register$helper$$default = ember$inflector$lib$lib$utils$register$helper$$registerHelper;
2258
-
2259
- function ember$inflector$lib$lib$utils$register$helper$$registerHelperIteration1(name, helperFunction) {
2260
- //earlier versions of ember with htmlbars used this
2261
- ember$lib$main$$default.HTMLBars.helpers[name] = helperFunction;
2262
- }
2263
-
2264
- function ember$inflector$lib$lib$utils$register$helper$$registerHelperIteration2(name, helperFunction) {
2265
- //registerHelper has been made private as _registerHelper
2266
- //this is kept here if anyone is using it
2267
- ember$lib$main$$default.HTMLBars.registerHelper(name, helperFunction);
2268
- }
2269
-
2270
- function ember$inflector$lib$lib$utils$register$helper$$registerHelperIteration3(name, helperFunction) {
2271
- //latest versin of ember uses this
2272
- ember$lib$main$$default.HTMLBars._registerHelper(name, helperFunction);
2273
- }
2274
- function ember$inflector$lib$lib$utils$register$helper$$registerHelper(name, helperFunction) {
2275
- if (ember$lib$main$$default.HTMLBars) {
2276
- var fn = ember$lib$main$$default.HTMLBars.makeBoundHelper(helperFunction);
2277
-
2278
- if (ember$lib$main$$default.HTMLBars._registerHelper) {
2279
- if (ember$lib$main$$default.HTMLBars.helpers) {
2280
- ember$inflector$lib$lib$utils$register$helper$$registerHelperIteration1(name, fn);
2281
- } else {
2282
- ember$inflector$lib$lib$utils$register$helper$$registerHelperIteration3(name, fn);
2283
- }
2284
- } else if (ember$lib$main$$default.HTMLBars.registerHelper) {
2285
- ember$inflector$lib$lib$utils$register$helper$$registerHelperIteration2(name, fn);
2286
- }
2287
- } else if (ember$lib$main$$default.Handlebars) {
2288
- ember$lib$main$$default.Handlebars.helper(name, helperFunction);
2289
- }
2290
- }
2291
-
2292
- /**
2293
- *
2294
- * If you have Ember Inflector (such as if Ember Data is present),
2295
- * singularize a word. For example, turn "oxen" into "ox".
2296
- *
2297
- * Example:
2298
- *
2299
- * {{singularize myProperty}}
2300
- * {{singularize "oxen"}}
2301
- *
2302
- * @for Ember.HTMLBars.helpers
2303
- * @method singularize
2304
- * @param {String|Property} word word to singularize
2305
- */
2306
- ember$inflector$lib$lib$utils$register$helper$$default('singularize', function (params) {
2307
- return ember$inflector$lib$lib$system$string$$singularize(params[0]);
2308
- });
2309
-
2310
- /**
2311
- *
2312
- * If you have Ember Inflector (such as if Ember Data is present),
2313
- * pluralize a word. For example, turn "ox" into "oxen".
2314
- *
2315
- * Example:
2316
- *
2317
- * {{pluralize count myProperty}}
2318
- * {{pluralize 1 "oxen"}}
2319
- * {{pluralize myProperty}}
2320
- * {{pluralize "ox"}}
2321
- *
2322
- * @for Ember.HTMLBars.helpers
2323
- * @method pluralize
2324
- * @param {Number|Property} [count] count of objects
2325
- * @param {String|Property} word word to pluralize
2326
- */
2327
- ember$inflector$lib$lib$utils$register$helper$$default('pluralize', function (params) {
2328
- var count, word;
2329
-
2330
- if (params.length === 1) {
2331
- word = params[0];
2332
- return ember$inflector$lib$lib$system$string$$pluralize(word);
2333
- } else {
2334
- count = params[0];
2335
- word = params[1];
2336
-
2337
- if (count !== 1) {
2338
- word = ember$inflector$lib$lib$system$string$$pluralize(word);
2339
- }
2340
- return count + ' ' + word;
2341
- }
2342
- });
2343
-
2344
2270
  if (ember$lib$main$$default.EXTEND_PROTOTYPES === true || ember$lib$main$$default.EXTEND_PROTOTYPES.String) {
2345
2271
  /**
2346
2272
  See {{#crossLink "Ember.String/pluralize"}}{{/crossLink}}
@@ -2368,13 +2294,13 @@
2368
2294
  ember$lib$main$$default.String.singularize = ember$inflector$lib$lib$system$string$$singularize;
2369
2295
  var ember$inflector$lib$main$$default = ember$inflector$lib$lib$system$inflector$$default;
2370
2296
 
2371
- if (typeof define !== "undefined" && define.amd) {
2372
- define("ember-inflector", ["exports"], function (__exports__) {
2373
- __exports__["default"] = ember$inflector$lib$lib$system$inflector$$default;
2297
+ if (typeof define !== 'undefined' && define.amd) {
2298
+ define('ember-inflector', ['exports'], function (__exports__) {
2299
+ __exports__['default'] = ember$inflector$lib$lib$system$inflector$$default;
2374
2300
  return ember$inflector$lib$lib$system$inflector$$default;
2375
2301
  });
2376
- } else if (typeof module !== "undefined" && module["exports"]) {
2377
- module["exports"] = ember$inflector$lib$lib$system$inflector$$default;
2302
+ } else if (typeof module !== 'undefined' && module['exports']) {
2303
+ module['exports'] = ember$inflector$lib$lib$system$inflector$$default;
2378
2304
  }
2379
2305
 
2380
2306
  var activemodel$adapter$lib$system$active$model$adapter$$_Ember$String = ember$lib$main$$default.String;
@@ -2706,7 +2632,7 @@
2706
2632
  @type {String}
2707
2633
  @default 'id'
2708
2634
  */
2709
- primaryKey: "id",
2635
+ primaryKey: 'id',
2710
2636
 
2711
2637
  /**
2712
2638
  The `attrs` object can be used to declare a simple mapping between
@@ -2757,7 +2683,7 @@
2757
2683
  @property attrs
2758
2684
  @type {Object}
2759
2685
  */
2760
- mergedProperties: ["attrs"],
2686
+ mergedProperties: ['attrs'],
2761
2687
 
2762
2688
  /**
2763
2689
  Given a subclass of `DS.Model` and a JSON object this method will
@@ -2813,25 +2739,25 @@
2813
2739
  */
2814
2740
  normalizeResponse: function (store, primaryModelClass, payload, id, requestType) {
2815
2741
  switch (requestType) {
2816
- case "findRecord":
2742
+ case 'findRecord':
2817
2743
  return this.normalizeFindRecordResponse.apply(this, arguments);
2818
- case "queryRecord":
2744
+ case 'queryRecord':
2819
2745
  return this.normalizeQueryRecordResponse.apply(this, arguments);
2820
- case "findAll":
2746
+ case 'findAll':
2821
2747
  return this.normalizeFindAllResponse.apply(this, arguments);
2822
- case "findBelongsTo":
2748
+ case 'findBelongsTo':
2823
2749
  return this.normalizeFindBelongsToResponse.apply(this, arguments);
2824
- case "findHasMany":
2750
+ case 'findHasMany':
2825
2751
  return this.normalizeFindHasManyResponse.apply(this, arguments);
2826
- case "findMany":
2752
+ case 'findMany':
2827
2753
  return this.normalizeFindManyResponse.apply(this, arguments);
2828
- case "query":
2754
+ case 'query':
2829
2755
  return this.normalizeQueryResponse.apply(this, arguments);
2830
- case "createRecord":
2756
+ case 'createRecord':
2831
2757
  return this.normalizeCreateRecordResponse.apply(this, arguments);
2832
- case "deleteRecord":
2758
+ case 'deleteRecord':
2833
2759
  return this.normalizeDeleteRecordResponse.apply(this, arguments);
2834
- case "updateRecord":
2760
+ case 'updateRecord':
2835
2761
  return this.normalizeUpdateRecordResponse.apply(this, arguments);
2836
2762
  }
2837
2763
  },
@@ -3026,7 +2952,7 @@
3026
2952
 
3027
2953
  var meta = this.extractMeta(store, primaryModelClass, payload);
3028
2954
  if (meta) {
3029
- Ember.assert("The `meta` returned from `extractMeta` has to be an object, not \"" + Ember.typeOf(meta) + "\".", Ember.typeOf(meta) === "object");
2955
+ Ember.assert('The `meta` returned from `extractMeta` has to be an object, not "' + Ember.typeOf(meta) + '".', Ember.typeOf(meta) === 'object');
3030
2956
  documentHash.meta = meta;
3031
2957
  }
3032
2958
 
@@ -3090,7 +3016,7 @@
3090
3016
  @return {Object}
3091
3017
  */
3092
3018
  normalize: function (typeClass, hash) {
3093
- if (this.get("isNewSerializerAPI")) {
3019
+ if (this.get('isNewSerializerAPI')) {
3094
3020
  return ember$data$lib$serializers$json$serializer$$_newNormalize.apply(this, arguments);
3095
3021
  }
3096
3022
 
@@ -3115,7 +3041,7 @@
3115
3041
  @return {String}
3116
3042
  */
3117
3043
  extractId: function (modelClass, resourceHash) {
3118
- var primaryKey = ember$data$lib$serializers$json$serializer$$get(this, "primaryKey");
3044
+ var primaryKey = ember$data$lib$serializers$json$serializer$$get(this, 'primaryKey');
3119
3045
  var id = resourceHash[primaryKey];
3120
3046
  return ember$data$lib$system$coerce$id$$default(id);
3121
3047
  },
@@ -3133,7 +3059,7 @@
3133
3059
  var attributes = {};
3134
3060
 
3135
3061
  modelClass.eachAttribute(function (key) {
3136
- attributeKey = this.keyForAttribute(key, "deserialize");
3062
+ attributeKey = this.keyForAttribute(key, 'deserialize');
3137
3063
  if (resourceHash.hasOwnProperty(attributeKey)) {
3138
3064
  attributes[key] = resourceHash[attributeKey];
3139
3065
  }
@@ -3159,7 +3085,7 @@
3159
3085
  is polymorphic. It could however also be embedded resources that the
3160
3086
  EmbeddedRecordsMixin has be able to process.
3161
3087
  */
3162
- if (Ember.typeOf(relationshipHash) === "object") {
3088
+ if (Ember.typeOf(relationshipHash) === 'object') {
3163
3089
  if (relationshipHash.id) {
3164
3090
  relationshipHash.id = ember$data$lib$system$coerce$id$$default(relationshipHash.id);
3165
3091
  }
@@ -3184,13 +3110,13 @@
3184
3110
 
3185
3111
  modelClass.eachRelationship(function (key, relationshipMeta) {
3186
3112
  var relationship = null;
3187
- var relationshipKey = this.keyForRelationship(key, relationshipMeta.kind, "deserialize");
3113
+ var relationshipKey = this.keyForRelationship(key, relationshipMeta.kind, 'deserialize');
3188
3114
  if (resourceHash.hasOwnProperty(relationshipKey)) {
3189
3115
  var data = null;
3190
3116
  var relationshipHash = resourceHash[relationshipKey];
3191
- if (relationshipMeta.kind === "belongsTo") {
3117
+ if (relationshipMeta.kind === 'belongsTo') {
3192
3118
  data = this.extractRelationship(relationshipMeta.type, relationshipHash);
3193
- } else if (relationshipMeta.kind === "hasMany") {
3119
+ } else if (relationshipMeta.kind === 'hasMany') {
3194
3120
  data = Ember.A(relationshipHash).map(function (item) {
3195
3121
  return this.extractRelationship(relationshipMeta.type, item);
3196
3122
  }, this);
@@ -3254,7 +3180,7 @@
3254
3180
 
3255
3181
  if (this.keyForAttribute) {
3256
3182
  typeClass.eachAttribute(function (key) {
3257
- payloadKey = this.keyForAttribute(key, "deserialize");
3183
+ payloadKey = this.keyForAttribute(key, 'deserialize');
3258
3184
  if (key === payloadKey) {
3259
3185
  return;
3260
3186
  }
@@ -3277,7 +3203,7 @@
3277
3203
 
3278
3204
  if (this.keyForRelationship) {
3279
3205
  typeClass.eachRelationship(function (key, relationship) {
3280
- payloadKey = this.keyForRelationship(key, relationship.kind, "deserialize");
3206
+ payloadKey = this.keyForRelationship(key, relationship.kind, 'deserialize');
3281
3207
  if (key === payloadKey) {
3282
3208
  return;
3283
3209
  }
@@ -3296,7 +3222,7 @@
3296
3222
  @private
3297
3223
  */
3298
3224
  normalizeUsingDeclaredMapping: function (typeClass, hash) {
3299
- var attrs = ember$data$lib$serializers$json$serializer$$get(this, "attrs");
3225
+ var attrs = ember$data$lib$serializers$json$serializer$$get(this, 'attrs');
3300
3226
  var payloadKey, key;
3301
3227
 
3302
3228
  if (attrs) {
@@ -3319,9 +3245,9 @@
3319
3245
  @private
3320
3246
  */
3321
3247
  normalizeId: function (hash) {
3322
- var primaryKey = ember$data$lib$serializers$json$serializer$$get(this, "primaryKey");
3248
+ var primaryKey = ember$data$lib$serializers$json$serializer$$get(this, 'primaryKey');
3323
3249
 
3324
- if (primaryKey === "id") {
3250
+ if (primaryKey === 'id') {
3325
3251
  return;
3326
3252
  }
3327
3253
 
@@ -3349,7 +3275,7 @@
3349
3275
  @return {String} key
3350
3276
  */
3351
3277
  _getMappedKey: function (key) {
3352
- var attrs = ember$data$lib$serializers$json$serializer$$get(this, "attrs");
3278
+ var attrs = ember$data$lib$serializers$json$serializer$$get(this, 'attrs');
3353
3279
  var mappedKey;
3354
3280
  if (attrs && attrs[key]) {
3355
3281
  mappedKey = attrs[key];
@@ -3358,7 +3284,7 @@
3358
3284
  if (mappedKey.key) {
3359
3285
  mappedKey = mappedKey.key;
3360
3286
  }
3361
- if (typeof mappedKey === "string") {
3287
+ if (typeof mappedKey === 'string') {
3362
3288
  key = mappedKey;
3363
3289
  }
3364
3290
  }
@@ -3375,7 +3301,7 @@
3375
3301
  @return {boolean} true if the key can be serialized
3376
3302
  */
3377
3303
  _canSerialize: function (key) {
3378
- var attrs = ember$data$lib$serializers$json$serializer$$get(this, "attrs");
3304
+ var attrs = ember$data$lib$serializers$json$serializer$$get(this, 'attrs');
3379
3305
 
3380
3306
  return !attrs || !attrs[key] || attrs[key].serialize !== false;
3381
3307
  },
@@ -3390,7 +3316,7 @@
3390
3316
  @return {boolean} true if the key must be serialized
3391
3317
  */
3392
3318
  _mustSerialize: function (key) {
3393
- var attrs = ember$data$lib$serializers$json$serializer$$get(this, "attrs");
3319
+ var attrs = ember$data$lib$serializers$json$serializer$$get(this, 'attrs');
3394
3320
 
3395
3321
  return attrs && attrs[key] && attrs[key].serialize === true;
3396
3322
  },
@@ -3409,7 +3335,7 @@
3409
3335
  if (this._mustSerialize(key)) {
3410
3336
  return true;
3411
3337
  }
3412
- return this._canSerialize(key) && (relationshipType === "manyToNone" || relationshipType === "manyToMany");
3338
+ return this._canSerialize(key) && (relationshipType === 'manyToNone' || relationshipType === 'manyToMany');
3413
3339
  },
3414
3340
 
3415
3341
  // SERIALIZE
@@ -3533,7 +3459,7 @@
3533
3459
  var id = snapshot.id;
3534
3460
 
3535
3461
  if (id) {
3536
- json[ember$data$lib$serializers$json$serializer$$get(this, "primaryKey")] = id;
3462
+ json[ember$data$lib$serializers$json$serializer$$get(this, 'primaryKey')] = id;
3537
3463
  }
3538
3464
  }
3539
3465
 
@@ -3542,9 +3468,9 @@
3542
3468
  }, this);
3543
3469
 
3544
3470
  snapshot.eachRelationship(function (key, relationship) {
3545
- if (relationship.kind === "belongsTo") {
3471
+ if (relationship.kind === 'belongsTo') {
3546
3472
  this.serializeBelongsTo(snapshot, json, relationship);
3547
- } else if (relationship.kind === "hasMany") {
3473
+ } else if (relationship.kind === 'hasMany') {
3548
3474
  this.serializeHasMany(snapshot, json, relationship);
3549
3475
  }
3550
3476
  }, this);
@@ -3614,7 +3540,7 @@
3614
3540
  var payloadKey = this._getMappedKey(key);
3615
3541
 
3616
3542
  if (payloadKey === key && this.keyForAttribute) {
3617
- payloadKey = this.keyForAttribute(key, "serialize");
3543
+ payloadKey = this.keyForAttribute(key, 'serialize');
3618
3544
  }
3619
3545
 
3620
3546
  json[payloadKey] = value;
@@ -3803,8 +3729,7 @@
3803
3729
  return this.extractArray(store, typeClass, payload, id, requestType);
3804
3730
  },
3805
3731
  /**
3806
- TODO: remove this in a couple of days
3807
- `extractQueryRecord` is a hook into the extract method used when a
3732
+ `extractQueryRecord` is a hook into the extract method used when a
3808
3733
  call is made to `DS.Store#queryRecord`. By default this method is an
3809
3734
  alias for [extractSingle](#method_extractSingle).
3810
3735
  @method extractQueryRecord
@@ -3965,11 +3890,11 @@
3965
3890
  @return {Object} json The deserialized payload
3966
3891
  */
3967
3892
  extractSingle: function (store, typeClass, payload, id, requestType) {
3968
- if (!this.get("didDeprecateNormalizePayload")) {
3969
- this.set("didDeprecateNormalizePayload", true);
3970
- 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, {
3971
- id: "ds.serializer.normalize-payload-deprecated",
3972
- until: "2.0.0"
3893
+ if (!this.get('didDeprecateNormalizePayload')) {
3894
+ this.set('didDeprecateNormalizePayload', true);
3895
+ 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, {
3896
+ id: 'ds.serializer.normalize-payload-deprecated',
3897
+ until: '2.0.0'
3973
3898
  });
3974
3899
  }
3975
3900
  var normalizedPayload = this.normalizePayload(payload);
@@ -3999,11 +3924,11 @@
3999
3924
  @return {Array} array An array of deserialized objects
4000
3925
  */
4001
3926
  extractArray: function (store, typeClass, arrayPayload, id, requestType) {
4002
- if (!this.get("didDeprecateNormalizePayload")) {
4003
- this.set("didDeprecateNormalizePayload", true);
4004
- 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, {
4005
- id: "ds.serializer.normalize-payload-deprecated",
4006
- until: "2.0.0"
3927
+ if (!this.get('didDeprecateNormalizePayload')) {
3928
+ this.set('didDeprecateNormalizePayload', true);
3929
+ 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, {
3930
+ id: 'ds.serializer.normalize-payload-deprecated',
3931
+ until: '2.0.0'
4007
3932
  });
4008
3933
  }
4009
3934
  var normalizedPayload = this.normalizePayload(arrayPayload);
@@ -4036,7 +3961,7 @@
4036
3961
  @param {Object} payload
4037
3962
  */
4038
3963
  extractMeta: function (store, typeClass, payload) {
4039
- if (this.get("isNewSerializerAPI")) {
3964
+ if (this.get('isNewSerializerAPI')) {
4040
3965
  return ember$data$lib$serializers$json$serializer$$_newExtractMeta.apply(this, arguments);
4041
3966
  }
4042
3967
 
@@ -4072,7 +3997,7 @@
4072
3997
  @return {Object} json The deserialized errors
4073
3998
  */
4074
3999
  extractErrors: function (store, typeClass, payload, id) {
4075
- if (payload && typeof payload === "object" && payload.errors) {
4000
+ if (payload && typeof payload === 'object' && payload.errors) {
4076
4001
  payload = ember$data$lib$adapters$errors$$errorsArrayToHash(payload.errors);
4077
4002
  this.normalizeErrors(typeClass, payload);
4078
4003
  }
@@ -4146,7 +4071,7 @@
4146
4071
  @return {DS.Transform} transform
4147
4072
  */
4148
4073
  transformFor: function (attributeType, skipAssertion) {
4149
- var transform = this.container.lookup("transform:" + attributeType);
4074
+ var transform = this.container.lookup('transform:' + attributeType);
4150
4075
  Ember.assert("Unable to find transform for '" + attributeType + "'", skipAssertion || !!transform);
4151
4076
  return transform;
4152
4077
  }
@@ -4187,7 +4112,7 @@
4187
4112
  @private
4188
4113
  */
4189
4114
  function ember$data$lib$serializers$json$serializer$$_newExtractMeta(store, modelClass, payload) {
4190
- if (payload && payload.hasOwnProperty("meta")) {
4115
+ if (payload && payload.hasOwnProperty('meta')) {
4191
4116
  var meta = payload.meta;
4192
4117
  delete payload.meta;
4193
4118
  return meta;
@@ -4325,6 +4250,92 @@
4325
4250
  });
4326
4251
  };
4327
4252
 
4253
+ /**
4254
+ @module ember-data
4255
+ */
4256
+
4257
+ /**
4258
+ Holds validation errors for a given record organized by attribute names.
4259
+
4260
+ Every DS.Model has an `errors` property that is an instance of
4261
+ `DS.Errors`. This can be used to display validation error
4262
+ messages returned from the server when a `record.save()` rejects.
4263
+ This works automatically with `DS.ActiveModelAdapter`, but you
4264
+ can implement [ajaxError](/api/data/classes/DS.RESTAdapter.html#method_ajaxError)
4265
+ in other adapters as well.
4266
+
4267
+ For Example, if you had an `User` model that looked like this:
4268
+
4269
+ ```app/models/user.js
4270
+ import DS from 'ember-data';
4271
+
4272
+ export default DS.Model.extend({
4273
+ username: attr('string'),
4274
+ email: attr('string')
4275
+ });
4276
+ ```
4277
+ And you attempted to save a record that did not validate on the backend.
4278
+
4279
+ ```javascript
4280
+ var user = store.createRecord('user', {
4281
+ username: 'tomster',
4282
+ email: 'invalidEmail'
4283
+ });
4284
+ user.save();
4285
+ ```
4286
+
4287
+ Your backend data store might return a response that looks like
4288
+ this. This response will be used to populate the error object.
4289
+
4290
+ ```javascript
4291
+ {
4292
+ "errors": {
4293
+ "username": ["This username is already taken!"],
4294
+ "email": ["Doesn't look like a valid email."]
4295
+ }
4296
+ }
4297
+ ```
4298
+
4299
+ Errors can be displayed to the user by accessing their property name
4300
+ to get an array of all the error objects for that property. Each
4301
+ error object is a JavaScript object with two keys:
4302
+
4303
+ - `message` A string containing the error message from the backend
4304
+ - `attribute` The name of the property associated with this error message
4305
+
4306
+ ```handlebars
4307
+ <label>Username: {{input value=username}} </label>
4308
+ {{#each model.errors.username as |error|}}
4309
+ <div class="error">
4310
+ {{error.message}}
4311
+ </div>
4312
+ {{/each}}
4313
+
4314
+ <label>Email: {{input value=email}} </label>
4315
+ {{#each model.errors.email as |error|}}
4316
+ <div class="error">
4317
+ {{error.message}}
4318
+ </div>
4319
+ {{/each}}
4320
+ ```
4321
+
4322
+ You can also access the special `messages` property on the error
4323
+ object to get an array of all the error strings.
4324
+
4325
+ ```handlebars
4326
+ {{#each model.errors.messages as |message|}}
4327
+ <div class="error">
4328
+ {{message}}
4329
+ </div>
4330
+ {{/each}}
4331
+ ```
4332
+
4333
+ @class Errors
4334
+ @namespace DS
4335
+ @extends Ember.Object
4336
+ @uses Ember.Enumerable
4337
+ @uses Ember.Evented
4338
+ */
4328
4339
  var ember$data$lib$system$model$errors$$get = Ember.get;
4329
4340
  var ember$data$lib$system$model$errors$$set = Ember.set;
4330
4341
  var ember$data$lib$system$model$errors$$isEmpty = Ember.isEmpty;
@@ -4654,9 +4665,9 @@
4654
4665
  return result;
4655
4666
  }
4656
4667
 
4657
- var ember$data$lib$system$model$model$$RESERVED_MODEL_PROPS = ["currentState", "data", "store"];
4668
+ var ember$data$lib$system$model$model$$RESERVED_MODEL_PROPS = ['currentState', 'data', 'store'];
4658
4669
 
4659
- var ember$data$lib$system$model$model$$retrieveFromCurrentState = Ember.computed("currentState", function (key) {
4670
+ var ember$data$lib$system$model$model$$retrieveFromCurrentState = Ember.computed('currentState', function (key) {
4660
4671
  return ember$data$lib$system$model$model$$get(this._internalModel.currentState, key);
4661
4672
  }).readOnly();
4662
4673
 
@@ -4741,12 +4752,12 @@
4741
4752
  @readOnly
4742
4753
  @deprecated
4743
4754
  */
4744
- isDirty: Ember.computed("currentState.isDirty", function () {
4745
- Ember.deprecate("DS.Model#isDirty has been deprecated please use hasDirtyAttributes instead", false, {
4746
- id: "ds.model.is-dirty-deprecated",
4747
- until: "2.0.0"
4755
+ isDirty: Ember.computed('currentState.isDirty', function () {
4756
+ Ember.deprecate('DS.Model#isDirty has been deprecated please use hasDirtyAttributes instead', false, {
4757
+ id: 'ds.model.is-dirty-deprecated',
4758
+ until: '2.0.0'
4748
4759
  });
4749
- return this.get("currentState.isDirty");
4760
+ return this.get('currentState.isDirty');
4750
4761
  }),
4751
4762
 
4752
4763
  /**
@@ -4754,13 +4765,13 @@
4754
4765
  @type {Boolean}
4755
4766
  @deprecated
4756
4767
  */
4757
- error: ember$new$computed$lib$main$$default("adapterError", {
4768
+ error: ember$new$computed$lib$main$$default('adapterError', {
4758
4769
  get: function () {
4759
4770
  if (!ember$data$lib$system$model$model$$errorDeprecationShown) {
4760
- Ember.deprecate("DS.Model#error has been deprecated please use adapterError instead");
4771
+ Ember.deprecate('DS.Model#error has been deprecated please use adapterError instead');
4761
4772
  ember$data$lib$system$model$model$$errorDeprecationShown = true;
4762
4773
  }
4763
- return Ember.get(this, "adapterError");
4774
+ return Ember.get(this, 'adapterError');
4764
4775
  }
4765
4776
  }),
4766
4777
 
@@ -4783,8 +4794,8 @@
4783
4794
  @type {Boolean}
4784
4795
  @readOnly
4785
4796
  */
4786
- hasDirtyAttributes: Ember.computed("currentState.isDirty", function () {
4787
- return this.get("currentState.isDirty");
4797
+ hasDirtyAttributes: Ember.computed('currentState.isDirty', function () {
4798
+ return this.get('currentState.isDirty');
4788
4799
  }),
4789
4800
  /**
4790
4801
  If this property is `true` the record is in the `saving` state. A
@@ -4986,9 +4997,9 @@
4986
4997
  var errors = ember$data$lib$system$model$errors$$default.create();
4987
4998
 
4988
4999
  errors.registerHandlers(this._internalModel, function () {
4989
- this.send("becameInvalid");
5000
+ this.send('becameInvalid');
4990
5001
  }, function () {
4991
- this.send("becameValid");
5002
+ this.send('becameValid');
4992
5003
  });
4993
5004
 
4994
5005
  return errors;
@@ -5030,7 +5041,7 @@
5030
5041
  */
5031
5042
  toJSON: function (options) {
5032
5043
  // container is for lazy transform lookups
5033
- var serializer = this.store.serializerFor("-default");
5044
+ var serializer = this.store.serializerFor('-default');
5034
5045
  var snapshot = this._internalModel.createSnapshot();
5035
5046
 
5036
5047
  return serializer.serialize(snapshot, options);
@@ -5090,7 +5101,7 @@
5090
5101
  @private
5091
5102
  @type {Object}
5092
5103
  */
5093
- data: Ember.computed.readOnly("_internalModel._data"),
5104
+ data: Ember.computed.readOnly('_internalModel._data'),
5094
5105
 
5095
5106
  //TODO Do we want to deprecate these?
5096
5107
  /**
@@ -5212,9 +5223,9 @@
5212
5223
  and value is an [oldProp, newProp] array.
5213
5224
  */
5214
5225
  changedAttributes: function () {
5215
- var oldData = ember$data$lib$system$model$model$$get(this._internalModel, "_data");
5216
- var currentData = ember$data$lib$system$model$model$$get(this._internalModel, "_attributes");
5217
- var inFlightData = ember$data$lib$system$model$model$$get(this._internalModel, "_inFlightAttributes");
5226
+ var oldData = ember$data$lib$system$model$model$$get(this._internalModel, '_data');
5227
+ var currentData = ember$data$lib$system$model$model$$get(this._internalModel, '_attributes');
5228
+ var inFlightData = ember$data$lib$system$model$model$$get(this._internalModel, '_inFlightAttributes');
5218
5229
  var newData = ember$data$lib$system$model$model$$merge(ember$data$lib$system$model$model$$copy(inFlightData), currentData);
5219
5230
  var diffData = ember$data$lib$system$object$polyfills$$create(null);
5220
5231
 
@@ -5260,9 +5271,9 @@
5260
5271
  @deprecated Use `rollbackAttributes()` instead
5261
5272
  */
5262
5273
  rollback: function () {
5263
- Ember.deprecate("Using model.rollback() has been deprecated. Use model.rollbackAttributes() to discard any unsaved changes to a model.", false, {
5264
- id: "ds.model.rollback-deprecated",
5265
- until: "2.0.0"
5274
+ Ember.deprecate('Using model.rollback() has been deprecated. Use model.rollbackAttributes() to discard any unsaved changes to a model.', false, {
5275
+ id: 'ds.model.rollback-deprecated',
5276
+ until: '2.0.0'
5266
5277
  });
5267
5278
  this.rollbackAttributes();
5268
5279
  },
@@ -5293,7 +5304,7 @@
5293
5304
  },
5294
5305
 
5295
5306
  toStringExtension: function () {
5296
- return ember$data$lib$system$model$model$$get(this, "id");
5307
+ return ember$data$lib$system$model$model$$get(this, 'id');
5297
5308
  },
5298
5309
 
5299
5310
  /**
@@ -5385,7 +5396,7 @@
5385
5396
  // rely on the data property.
5386
5397
  willMergeMixin: function (props) {
5387
5398
  var constructor = this.constructor;
5388
- 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]);
5399
+ 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]);
5389
5400
  },
5390
5401
 
5391
5402
  attr: function () {
@@ -5467,6 +5478,7 @@
5467
5478
  @param {Object} doc JSON API document
5468
5479
  @return {array} An array of errors found in the document structure
5469
5480
  */
5481
+
5470
5482
  function ember$data$lib$system$store$serializer$response$$validateDocumentStructure(doc) {
5471
5483
  var errors = [];
5472
5484
  if (!doc || typeof doc !== 'object') {
@@ -5532,6 +5544,7 @@
5532
5544
  @param {String} requestType
5533
5545
  @return {Object} JSON-API Document
5534
5546
  */
5547
+
5535
5548
  function ember$data$lib$system$store$serializer$response$$normalizeResponseHelper(serializer, store, modelClass, payload, id, requestType) {
5536
5549
  if (ember$data$lib$system$store$serializer$response$$get(serializer, 'isNewSerializerAPI')) {
5537
5550
  var _ret = (function () {
@@ -5570,6 +5583,7 @@
5570
5583
  @param {Object} payload
5571
5584
  @return {Object} JSON-API Document
5572
5585
  */
5586
+
5573
5587
  function ember$data$lib$system$store$serializer$response$$_normalizeSerializerPayload(modelClass, payload) {
5574
5588
  var data = null;
5575
5589
 
@@ -5596,6 +5610,7 @@
5596
5610
  @param {Object} payload
5597
5611
  @return {Object} JSON-API Resource Object
5598
5612
  */
5613
+
5599
5614
  function ember$data$lib$system$store$serializer$response$$_normalizeSerializerPayloadItem(modelClass, itemPayload) {
5600
5615
  var item = {};
5601
5616
 
@@ -5635,7 +5650,7 @@
5635
5650
  return value;
5636
5651
  }
5637
5652
 
5638
- Ember.assert('A ' + relationshipMeta.parentType + ' record was pushed into the store with the value of ' + key + ' being ' + Ember.inspect(value) + ', but ' + key + ' is a belongsTo relationship so the value must not be an array. You should probably check your data payload or serializer.', !Ember.isArray(value));
5653
+ Ember.assert("A " + relationshipMeta.parentType + " record was pushed into the store with the value of " + key + " being " + Ember.inspect(value) + ", but " + key + " is a belongsTo relationship so the value must not be an array. You should probably check your data payload or serializer.", !Ember.isArray(value));
5639
5654
  return { id: '' + value, type: relationshipMeta.type };
5640
5655
  };
5641
5656
 
@@ -5647,7 +5662,7 @@
5647
5662
  }
5648
5663
  } else if (relationshipMeta.kind === 'hasMany') {
5649
5664
  //|| [] because the hasMany could be === null
5650
- Ember.assert('A ' + relationshipMeta.parentType + ' record was pushed into the store with the value of ' + key + ' being \'' + Ember.inspect(value) + '\', but ' + key + ' is a hasMany relationship so the value must be an array. You should probably check your data payload or serializer.', Ember.isArray(value) || value === null);
5665
+ Ember.assert("A " + relationshipMeta.parentType + " record was pushed into the store with the value of " + key + " being '" + Ember.inspect(value) + "', but " + key + " is a hasMany relationship so the value must be an array. You should probably check your data payload or serializer.", Ember.isArray(value) || value === null);
5651
5666
 
5652
5667
  relationshipData = Ember.A(value || []);
5653
5668
 
@@ -5687,6 +5702,7 @@
5687
5702
  @param {Object} payload
5688
5703
  @return {DS.Model|Array} one or multiple records from `data`
5689
5704
  */
5705
+
5690
5706
  function ember$data$lib$system$store$serializer$response$$pushPayload(store, payload) {
5691
5707
  var result = ember$data$lib$system$store$serializer$response$$pushPayloadData(store, payload);
5692
5708
  ember$data$lib$system$store$serializer$response$$pushPayloadIncluded(store, payload);
@@ -5703,6 +5719,7 @@
5703
5719
  @param {Object} payload
5704
5720
  @return {DS.Model|Array} one or multiple records from `data`
5705
5721
  */
5722
+
5706
5723
  function ember$data$lib$system$store$serializer$response$$pushPayloadData(store, payload) {
5707
5724
  var result;
5708
5725
  if (payload && payload.data) {
@@ -5727,6 +5744,7 @@
5727
5744
  @param {Object} payload
5728
5745
  @return {Array} an array containing zero or more records from `included`
5729
5746
  */
5747
+
5730
5748
  function ember$data$lib$system$store$serializer$response$$pushPayloadIncluded(store, payload) {
5731
5749
  var result;
5732
5750
  if (payload && payload.included && Ember.isArray(payload.included)) {
@@ -5745,6 +5763,7 @@
5745
5763
  @param {Object} resourceObject
5746
5764
  @return {DS.Model} a record
5747
5765
  */
5766
+
5748
5767
  function ember$data$lib$system$store$serializer$response$$_pushResourceObject(store, resourceObject) {
5749
5768
  return store.push({ data: resourceObject });
5750
5769
  }
@@ -5759,6 +5778,7 @@
5759
5778
  @param {Object} payload
5760
5779
  @return {Object} an object formatted the way DS.Store understands
5761
5780
  */
5781
+
5762
5782
  function ember$data$lib$system$store$serializer$response$$convertResourceObject(payload) {
5763
5783
  if (!payload) {
5764
5784
  return payload;
@@ -5941,7 +5961,7 @@
5941
5961
  @return {Object}
5942
5962
  */
5943
5963
  normalize: function (typeClass, hash, prop) {
5944
- if (this.get("isNewSerializerAPI")) {
5964
+ if (this.get('isNewSerializerAPI')) {
5945
5965
  ember$data$lib$serializers$rest$serializer$$_newNormalize.apply(this, arguments);
5946
5966
  return this._super.apply(this, arguments);
5947
5967
  }
@@ -5953,9 +5973,9 @@
5953
5973
  this.normalizeUsingDeclaredMapping(typeClass, hash);
5954
5974
 
5955
5975
  if (this.normalizeHash && this.normalizeHash[prop]) {
5956
- Ember.deprecate("`RESTSerializer.normalizeHash` has been deprecated. Please use `serializer.normalize` to modify the payload of single resources.", false, {
5957
- id: "ds.serializer.normalize-hash-deprecated",
5958
- until: "2.0.0"
5976
+ Ember.deprecate('`RESTSerializer.normalizeHash` has been deprecated. Please use `serializer.normalize` to modify the payload of single resources.', false, {
5977
+ id: 'ds.serializer.normalize-hash-deprecated',
5978
+ until: '2.0.0'
5959
5979
  });
5960
5980
  this.normalizeHash[prop](hash);
5961
5981
  }
@@ -5983,7 +6003,7 @@
5983
6003
  var modelClass = store.modelFor(modelName);
5984
6004
  var serializer = store.serializerFor(modelName);
5985
6005
 
5986
- 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"));
6006
+ 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'));
5987
6007
 
5988
6008
  /*jshint loopfunc:true*/
5989
6009
  ember$data$lib$serializers$rest$serializer$$forEach.call(arrayHash, function (hash) {
@@ -6022,7 +6042,7 @@
6022
6042
 
6023
6043
  var meta = this.extractMeta(store, primaryModelClass, payload);
6024
6044
  if (meta) {
6025
- Ember.assert("The `meta` returned from `extractMeta` has to be an object, not \"" + Ember.typeOf(meta) + "\".", Ember.typeOf(meta) === "object");
6045
+ Ember.assert('The `meta` returned from `extractMeta` has to be an object, not "' + Ember.typeOf(meta) + '".', Ember.typeOf(meta) === 'object');
6026
6046
  documentHash.meta = meta;
6027
6047
  }
6028
6048
 
@@ -6050,7 +6070,7 @@
6050
6070
  ```
6051
6071
  This forces `_users` to be added to `included` instead of `data`.
6052
6072
  */
6053
- if (prop.charAt(0) === "_") {
6073
+ if (prop.charAt(0) === '_') {
6054
6074
  forcedSecondary = true;
6055
6075
  modelName = prop.substr(1);
6056
6076
  }
@@ -6058,7 +6078,7 @@
6058
6078
  var typeName = this.modelNameFromPayloadKey(modelName);
6059
6079
  if (!store.modelFactoryFor(typeName)) {
6060
6080
  Ember.warn(this.warnMessageNoModelForKey(modelName, typeName), false, {
6061
- id: "ds.serializer.model-for-key-missing"
6081
+ id: 'ds.serializer.model-for-key-missing'
6062
6082
  });
6063
6083
  continue;
6064
6084
  }
@@ -6079,7 +6099,7 @@
6079
6099
  }
6080
6100
  ```
6081
6101
  */
6082
- if (isPrimary && Ember.typeOf(value) !== "array") {
6102
+ if (isPrimary && Ember.typeOf(value) !== 'array') {
6083
6103
  var _normalize = this.normalize(primaryModelClass, value, prop);
6084
6104
 
6085
6105
  var _data = _normalize.data;
@@ -6206,9 +6226,9 @@
6206
6226
  @return {Object} the primary response to the original request
6207
6227
  */
6208
6228
  extractSingle: function (store, primaryTypeClass, rawPayload, recordId) {
6209
- 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, {
6210
- id: "ds.serializer.normalize-payload-deprecated",
6211
- until: "2.0.0"
6229
+ 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, {
6230
+ id: 'ds.serializer.normalize-payload-deprecated',
6231
+ until: '2.0.0'
6212
6232
  });
6213
6233
  var payload = this.normalizePayload(rawPayload);
6214
6234
  var primaryRecord;
@@ -6218,7 +6238,7 @@
6218
6238
 
6219
6239
  if (!store.modelFactoryFor(modelName)) {
6220
6240
  Ember.warn(this.warnMessageNoModelForKey(prop, modelName), false, {
6221
- id: "ds.serializer.model-for-key-missing"
6241
+ id: 'ds.serializer.model-for-key-missing'
6222
6242
  });
6223
6243
  continue;
6224
6244
  }
@@ -6241,7 +6261,7 @@
6241
6261
  var type = store.modelFor(typeName);
6242
6262
  var typeSerializer = store.serializerFor(type.modelName);
6243
6263
 
6244
- 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"));
6264
+ 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'));
6245
6265
 
6246
6266
  hash = typeSerializer.normalize(type, hash, prop);
6247
6267
 
@@ -6351,9 +6371,9 @@
6351
6371
  to the original query.
6352
6372
  */
6353
6373
  extractArray: function (store, primaryTypeClass, rawPayload) {
6354
- 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, {
6355
- id: "ds.serializer.normalize-payload-deprecated",
6356
- until: "2.0.0"
6374
+ 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, {
6375
+ id: 'ds.serializer.normalize-payload-deprecated',
6376
+ until: '2.0.0'
6357
6377
  });
6358
6378
  var payload = this.normalizePayload(rawPayload);
6359
6379
  var primaryArray;
@@ -6362,7 +6382,7 @@
6362
6382
  var modelName = prop;
6363
6383
  var forcedSecondary = false;
6364
6384
 
6365
- if (prop.charAt(0) === "_") {
6385
+ if (prop.charAt(0) === '_') {
6366
6386
  forcedSecondary = true;
6367
6387
  modelName = prop.substr(1);
6368
6388
  }
@@ -6370,14 +6390,14 @@
6370
6390
  var typeName = this.modelNameFromPayloadKey(modelName);
6371
6391
  if (!store.modelFactoryFor(typeName)) {
6372
6392
  Ember.warn(this.warnMessageNoModelForKey(prop, typeName), false, {
6373
- id: "ds.serializer.model-for-key-missing"
6393
+ id: 'ds.serializer.model-for-key-missing'
6374
6394
  });
6375
6395
  continue;
6376
6396
  }
6377
6397
  var type = store.modelFor(typeName);
6378
6398
  var typeSerializer = store.serializerFor(type.modelName);
6379
6399
 
6380
- 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"));
6400
+ 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'));
6381
6401
 
6382
6402
  var isPrimary = !forcedSecondary && this.isPrimaryType(store, typeName, primaryTypeClass);
6383
6403
 
@@ -6430,14 +6450,14 @@
6430
6450
  @param {Object} rawPayload
6431
6451
  */
6432
6452
  pushPayload: function (store, rawPayload) {
6433
- if (this.get("isNewSerializerAPI")) {
6453
+ if (this.get('isNewSerializerAPI')) {
6434
6454
  ember$data$lib$serializers$rest$serializer$$_newPushPayload.apply(this, arguments);
6435
6455
  return;
6436
6456
  }
6437
6457
 
6438
- 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, {
6439
- id: "ds.serializer.normalize-payload-deprecated",
6440
- until: "2.0.0"
6458
+ 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, {
6459
+ id: 'ds.serializer.normalize-payload-deprecated',
6460
+ until: '2.0.0'
6441
6461
  });
6442
6462
  var payload = this.normalizePayload(rawPayload);
6443
6463
 
@@ -6445,14 +6465,14 @@
6445
6465
  var modelName = this.modelNameFromPayloadKey(prop);
6446
6466
  if (!store.modelFactoryFor(modelName)) {
6447
6467
  Ember.warn(this.warnMessageNoModelForKey(prop, modelName), false, {
6448
- id: "ds.serializer.model-for-key-missing"
6468
+ id: 'ds.serializer.model-for-key-missing'
6449
6469
  });
6450
6470
  continue;
6451
6471
  }
6452
6472
  var typeClass = store.modelFor(modelName);
6453
6473
  var typeSerializer = store.serializerFor(modelName);
6454
6474
 
6455
- 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"));
6475
+ 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'));
6456
6476
 
6457
6477
  /*jshint loopfunc:true*/
6458
6478
  var normalizedArray = ember$data$lib$serializers$rest$serializer$$map.call(Ember.makeArray(payload[prop]), function (hash) {
@@ -6708,8 +6728,8 @@
6708
6728
  */
6709
6729
  typeForRoot: function (modelName) {
6710
6730
  Ember.deprecate("typeForRoot is deprecated. Use modelNameFromPayloadKey instead.", false, {
6711
- id: "ds.serializer.type-for-root-deprecated",
6712
- until: "2.0.0"
6731
+ id: 'ds.serializer.type-for-root-deprecated',
6732
+ until: '2.0.0'
6713
6733
  });
6714
6734
  return this.modelNameFromPayloadKey(modelName);
6715
6735
  },
@@ -6738,7 +6758,7 @@
6738
6758
  Ember.runInDebug(function () {
6739
6759
  ember$data$lib$serializers$rest$serializer$$RESTSerializer.reopen({
6740
6760
  warnMessageNoModelForKey: function (prop, typeKey) {
6741
- return "Encountered \"" + prop + "\" in payload, but no model was found for model name \"" + typeKey + "\" (resolved model name using " + this.constructor.toString() + ".modelNameFromPayloadKey(\"" + prop + "\"))";
6761
+ return 'Encountered "' + prop + '" in payload, but no model was found for model name "' + typeKey + '" (resolved model name using ' + this.constructor.toString() + '.modelNameFromPayloadKey("' + prop + '"))';
6742
6762
  }
6743
6763
  });
6744
6764
  });
@@ -6755,9 +6775,9 @@
6755
6775
  */
6756
6776
  function ember$data$lib$serializers$rest$serializer$$_newNormalize(modelClass, resourceHash, prop) {
6757
6777
  if (this.normalizeHash && this.normalizeHash[prop]) {
6758
- Ember.deprecate("`RESTSerializer.normalizeHash` has been deprecated. Please use `serializer.normalize` to modify the payload of single resources.", false, {
6759
- id: "ds.serializer.normalize-hash-deprecated",
6760
- until: "2.0.0"
6778
+ Ember.deprecate('`RESTSerializer.normalizeHash` has been deprecated. Please use `serializer.normalize` to modify the payload of single resources.', false, {
6779
+ id: 'ds.serializer.normalize-hash-deprecated',
6780
+ until: '2.0.0'
6761
6781
  });
6762
6782
  this.normalizeHash[prop](resourceHash);
6763
6783
  }
@@ -6774,9 +6794,9 @@
6774
6794
  included: []
6775
6795
  };
6776
6796
 
6777
- 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, {
6778
- id: "ds.serializer.normalize-payload-deprecated",
6779
- until: "2.0.0"
6797
+ 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, {
6798
+ id: 'ds.serializer.normalize-payload-deprecated',
6799
+ until: '2.0.0'
6780
6800
  });
6781
6801
  var payload = this.normalizePayload(rawPayload);
6782
6802
 
@@ -6784,14 +6804,14 @@
6784
6804
  var modelName = this.modelNameFromPayloadKey(prop);
6785
6805
  if (!store.modelFactoryFor(modelName)) {
6786
6806
  Ember.warn(this.warnMessageNoModelForKey(prop, modelName), false, {
6787
- id: "ds.serializer.model-for-key-missing"
6807
+ id: 'ds.serializer.model-for-key-missing'
6788
6808
  });
6789
6809
  continue;
6790
6810
  }
6791
6811
  var type = store.modelFor(modelName);
6792
6812
  var typeSerializer = store.serializerFor(type.modelName);
6793
6813
 
6794
- 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"));
6814
+ 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'));
6795
6815
 
6796
6816
  /*jshint loopfunc:true*/
6797
6817
  ember$data$lib$serializers$rest$serializer$$forEach.call(Ember.makeArray(payload[prop]), function (hash) {
@@ -6933,10 +6953,10 @@
6933
6953
  */
6934
6954
  keyForRelationship: function (relationshipModelName, kind) {
6935
6955
  var key = activemodel$adapter$lib$system$active$model$serializer$$decamelize(relationshipModelName);
6936
- if (kind === 'belongsTo') {
6937
- return key + '_id';
6938
- } else if (kind === 'hasMany') {
6939
- return activemodel$adapter$lib$system$active$model$serializer$$singularize(key) + '_ids';
6956
+ if (kind === "belongsTo") {
6957
+ return key + "_id";
6958
+ } else if (kind === "hasMany") {
6959
+ return activemodel$adapter$lib$system$active$model$serializer$$singularize(key) + "_ids";
6940
6960
  } else {
6941
6961
  return key;
6942
6962
  }
@@ -6979,7 +6999,7 @@
6979
6999
  serializePolymorphicType: function (snapshot, json, relationship) {
6980
7000
  var key = relationship.key;
6981
7001
  var belongsTo = snapshot.belongsTo(key);
6982
- var jsonKey = activemodel$adapter$lib$system$active$model$serializer$$underscore(key + '_type');
7002
+ var jsonKey = activemodel$adapter$lib$system$active$model$serializer$$underscore(key + "_type");
6983
7003
 
6984
7004
  if (ember$lib$main$$default.isNone(belongsTo)) {
6985
7005
  json[jsonKey] = null;
@@ -7070,18 +7090,18 @@
7070
7090
  typeClass.eachRelationship(function (key, relationship) {
7071
7091
  var payloadKey, payload;
7072
7092
  if (relationship.options.polymorphic) {
7073
- payloadKey = this.keyForAttribute(key, 'deserialize');
7093
+ payloadKey = this.keyForAttribute(key, "deserialize");
7074
7094
  payload = hash[payloadKey];
7075
7095
  if (payload && payload.type) {
7076
7096
  payload.type = this.modelNameFromPayloadKey(payload.type);
7077
- } else if (payload && relationship.kind === 'hasMany') {
7097
+ } else if (payload && relationship.kind === "hasMany") {
7078
7098
  for (var i = 0, len = payload.length; i < len; i++) {
7079
7099
  var single = payload[i];
7080
7100
  single.type = this.modelNameFromPayloadKey(single.type);
7081
7101
  }
7082
7102
  }
7083
7103
  } else {
7084
- payloadKey = this.keyForRelationship(key, relationship.kind, 'deserialize');
7104
+ payloadKey = this.keyForRelationship(key, relationship.kind, "deserialize");
7085
7105
  if (!hash.hasOwnProperty(payloadKey)) {
7086
7106
  return;
7087
7107
  }
@@ -7099,7 +7119,7 @@
7099
7119
 
7100
7120
  extractRelationships: function (modelClass, resourceHash) {
7101
7121
  modelClass.eachRelationship(function (key, relationshipMeta) {
7102
- var relationshipKey = this.keyForRelationship(key, relationshipMeta.kind, 'deserialize');
7122
+ var relationshipKey = this.keyForRelationship(key, relationshipMeta.kind, "deserialize");
7103
7123
 
7104
7124
  // prefer the format the AMS gem expects, e.g.:
7105
7125
  // relationship: {id: id, type: type}
@@ -7138,23 +7158,23 @@
7138
7158
  resourceHash[relationshipKey] = { id: id, type: type };
7139
7159
  // otherwise hasMany
7140
7160
  } else {
7141
- var hashes = resourceHash[polymorphicKey];
7161
+ var hashes = resourceHash[polymorphicKey];
7142
7162
 
7143
- if (!hashes) {
7144
- return;
7145
- }
7163
+ if (!hashes) {
7164
+ return;
7165
+ }
7146
7166
 
7147
- // TODO: replace this with map when ActiveModelAdapter branches for Ember Data 2.0
7148
- var array = [];
7149
- for (var i = 0, _length = hashes.length; i < _length; i++) {
7150
- var hash = hashes[i];
7151
- var id = hash.id;
7152
- var type = hash.type;
7167
+ // TODO: replace this with map when ActiveModelAdapter branches for Ember Data 2.0
7168
+ var array = [];
7169
+ for (var i = 0, _length = hashes.length; i < _length; i++) {
7170
+ var hash = hashes[i];
7171
+ var id = hash.id;
7172
+ var type = hash.type;
7153
7173
 
7154
- array.push({ id: id, type: type });
7174
+ array.push({ id: id, type: type });
7175
+ }
7176
+ resourceHash[relationshipKey] = array;
7155
7177
  }
7156
- resourceHash[relationshipKey] = array;
7157
- }
7158
7178
  }
7159
7179
  }
7160
7180
 
@@ -7210,12 +7230,29 @@
7210
7230
  var activemodel$adapter$lib$setup$container$$default = activemodel$adapter$lib$setup$container$$setupActiveModelAdapter;
7211
7231
  function activemodel$adapter$lib$setup$container$$setupActiveModelAdapter(registry, application) {
7212
7232
  var proxy = new ember$data$lib$system$container$proxy$$default(registry);
7213
- proxy.registerDeprecations([{ deprecated: "serializer:_ams", valid: "serializer:-active-model" }, { deprecated: "adapter:_ams", valid: "adapter:-active-model" }]);
7233
+ proxy.registerDeprecations([{ deprecated: 'serializer:_ams', valid: 'serializer:-active-model' }, { deprecated: 'adapter:_ams', valid: 'adapter:-active-model' }]);
7214
7234
 
7215
- registry.register("serializer:-active-model", activemodel$adapter$lib$system$active$model$serializer$$default.extend({ isNewSerializerAPI: true }));
7216
- registry.register("adapter:-active-model", activemodel$adapter$lib$system$active$model$adapter$$default);
7235
+ registry.register('serializer:-active-model', activemodel$adapter$lib$system$active$model$serializer$$default.extend({ isNewSerializerAPI: true }));
7236
+ registry.register('adapter:-active-model', activemodel$adapter$lib$system$active$model$adapter$$default);
7217
7237
  }
7218
7238
 
7239
+ /**
7240
+ `DS.FixtureAdapter` is an adapter that loads records from memory.
7241
+ It's primarily used for development and testing. You can also use
7242
+ `DS.FixtureAdapter` while working on the API but is not ready to
7243
+ integrate yet. It is a fully functioning adapter. All CRUD methods
7244
+ are implemented. You can also implement query logic that a remote
7245
+ system would do. It's possible to develop your entire application
7246
+ with `DS.FixtureAdapter`.
7247
+
7248
+ For information on how to use the `FixtureAdapter` in your
7249
+ application please see the [FixtureAdapter
7250
+ guide](/guides/models/the-fixture-adapter/).
7251
+
7252
+ @class FixtureAdapter
7253
+ @namespace DS
7254
+ @extends DS.Adapter
7255
+ */
7219
7256
  /**
7220
7257
  @module ember-data
7221
7258
  */
@@ -7265,9 +7302,9 @@
7265
7302
  return fixtures.map(function (fixture) {
7266
7303
  var fixtureIdType = typeof fixture.id;
7267
7304
  if (fixtureIdType !== "number" && fixtureIdType !== "string") {
7268
- throw new Error(ember$data$lib$adapters$fixture$adapter$$fmt("the id property must be defined as a number or string for fixture %@", [fixture]));
7305
+ throw new Error(ember$data$lib$adapters$fixture$adapter$$fmt('the id property must be defined as a number or string for fixture %@', [fixture]));
7269
7306
  }
7270
- fixture.id = fixture.id + "";
7307
+ fixture.id = fixture.id + '';
7271
7308
  return fixture;
7272
7309
  });
7273
7310
  }
@@ -7283,7 +7320,7 @@
7283
7320
  @return {(Promise|Array)}
7284
7321
  */
7285
7322
  queryFixtures: function (fixtures, query, typeClass) {
7286
- Ember.assert("Not implemented: You must override the DS.FixtureAdapter::queryFixtures method to support querying the fixture store.");
7323
+ Ember.assert('Not implemented: You must override the DS.FixtureAdapter::queryFixtures method to support querying the fixture store.');
7287
7324
  },
7288
7325
 
7289
7326
  /**
@@ -7338,7 +7375,7 @@
7338
7375
  Ember.assert("Unable to find fixtures for model type " + typeClass.toString() + ". If you're defining your fixtures using `Model.FIXTURES = ...`, please change it to `Model.reopenClass({ FIXTURES: ... })`.", fixtures);
7339
7376
 
7340
7377
  if (fixtures) {
7341
- fixture = Ember.A(fixtures).findBy("id", id);
7378
+ fixture = Ember.A(fixtures).findBy('id', id);
7342
7379
  }
7343
7380
 
7344
7381
  if (fixture) {
@@ -7501,7 +7538,7 @@
7501
7538
  */
7502
7539
  findFixtureById: function (fixtures, id) {
7503
7540
  return Ember.A(fixtures).find(function (r) {
7504
- if ("" + ember$data$lib$adapters$fixture$adapter$$get(r, "id") === "" + id) {
7541
+ if ('' + ember$data$lib$adapters$fixture$adapter$$get(r, 'id') === '' + id) {
7505
7542
  return true;
7506
7543
  } else {
7507
7544
  return false;
@@ -7520,14 +7557,14 @@
7520
7557
 
7521
7558
  return new Ember.RSVP.Promise(function (resolve) {
7522
7559
  var value = Ember.copy(callback.call(context), true);
7523
- if (ember$data$lib$adapters$fixture$adapter$$get(adapter, "simulateRemoteResponse")) {
7560
+ if (ember$data$lib$adapters$fixture$adapter$$get(adapter, 'simulateRemoteResponse')) {
7524
7561
  // Schedule with setTimeout
7525
7562
  Ember.run.later(function () {
7526
7563
  resolve(value);
7527
- }, ember$data$lib$adapters$fixture$adapter$$get(adapter, "latency"));
7564
+ }, ember$data$lib$adapters$fixture$adapter$$get(adapter, 'latency'));
7528
7565
  } else {
7529
7566
  // Asynchronous, but at the of the runloop with zero latency
7530
- Ember.run.schedule("actions", null, function () {
7567
+ Ember.run.schedule('actions', null, function () {
7531
7568
  resolve(value);
7532
7569
  });
7533
7570
  }
@@ -7609,7 +7646,7 @@
7609
7646
  });
7610
7647
 
7611
7648
  var ember$data$lib$core$$DS = Ember.Namespace.create({
7612
- VERSION: '1.13.8'
7649
+ VERSION: '1.13.9'
7613
7650
  });
7614
7651
 
7615
7652
  if (Ember.libraries) {
@@ -7623,6 +7660,7 @@
7623
7660
 
7624
7661
  var ember$data$lib$core$$default = ember$data$lib$core$$DS;
7625
7662
  var ember$data$lib$system$store$common$$get = Ember.get;
7663
+
7626
7664
  function ember$data$lib$system$store$common$$_bind(fn) {
7627
7665
  var args = Array.prototype.slice.call(arguments, 1);
7628
7666
 
@@ -7632,7 +7670,7 @@
7632
7670
  }
7633
7671
 
7634
7672
  function ember$data$lib$system$store$common$$_guard(promise, test) {
7635
- var guarded = promise["finally"](function () {
7673
+ var guarded = promise['finally'](function () {
7636
7674
  if (!test()) {
7637
7675
  guarded._subscribers.length = 0;
7638
7676
  }
@@ -7670,13 +7708,14 @@
7670
7708
  var ember$data$lib$system$store$finders$$Promise = Ember.RSVP.Promise;
7671
7709
  var ember$data$lib$system$store$finders$$map = Ember.ArrayPolyfills.map;
7672
7710
  var ember$data$lib$system$store$finders$$get = Ember.get;
7711
+
7673
7712
  function ember$data$lib$system$store$finders$$_find(adapter, store, typeClass, id, internalModel, options) {
7674
7713
  var snapshot = internalModel.createSnapshot(options);
7675
7714
  var promise;
7676
7715
  if (!adapter.findRecord) {
7677
- Ember.deprecate("Adapter#find has been deprecated and renamed to `findRecord`.", false, {
7678
- id: "ds.adapter.find-renamed-to-find-record",
7679
- until: "2.0.0"
7716
+ Ember.deprecate('Adapter#find has been deprecated and renamed to `findRecord`.', false, {
7717
+ id: 'ds.adapter.find-renamed-to-find-record',
7718
+ until: '2.0.0'
7680
7719
  });
7681
7720
  promise = adapter.find(store, typeClass, id, snapshot);
7682
7721
  } else {
@@ -7691,7 +7730,7 @@
7691
7730
  return promise.then(function (adapterPayload) {
7692
7731
  Ember.assert("You made a request for a " + typeClass.typeClassKey + " with id " + id + ", but the adapter's response did not have any data", adapterPayload);
7693
7732
  return store._adapterRun(function () {
7694
- var requestType = ember$data$lib$system$store$finders$$get(serializer, "isNewSerializerAPI") ? "findRecord" : "find";
7733
+ var requestType = ember$data$lib$system$store$finders$$get(serializer, 'isNewSerializerAPI') ? 'findRecord' : 'find';
7695
7734
  var payload = ember$data$lib$system$store$serializer$response$$normalizeResponseHelper(serializer, store, typeClass, adapterPayload, id, requestType);
7696
7735
  //TODO Optimize
7697
7736
  var record = ember$data$lib$system$store$serializer$response$$pushPayload(store, payload);
@@ -7708,13 +7747,13 @@
7708
7747
  }
7709
7748
 
7710
7749
  function ember$data$lib$system$store$finders$$_findMany(adapter, store, typeClass, ids, internalModels) {
7711
- var snapshots = Ember.A(internalModels).invoke("createSnapshot");
7750
+ var snapshots = Ember.A(internalModels).invoke('createSnapshot');
7712
7751
  var promise = adapter.findMany(store, typeClass, ids, snapshots);
7713
7752
  var serializer = ember$data$lib$system$store$serializers$$serializerForAdapter(store, adapter, typeClass.modelName);
7714
7753
  var label = "DS: Handle Adapter#findMany of " + typeClass;
7715
7754
 
7716
7755
  if (promise === undefined) {
7717
- throw new Error("adapter.findMany returned undefined, this was very likely a mistake");
7756
+ throw new Error('adapter.findMany returned undefined, this was very likely a mistake');
7718
7757
  }
7719
7758
 
7720
7759
  promise = ember$data$lib$system$store$finders$$Promise.cast(promise, label);
@@ -7722,7 +7761,7 @@
7722
7761
 
7723
7762
  return promise.then(function (adapterPayload) {
7724
7763
  return store._adapterRun(function () {
7725
- var payload = ember$data$lib$system$store$serializer$response$$normalizeResponseHelper(serializer, store, typeClass, adapterPayload, null, "findMany");
7764
+ var payload = ember$data$lib$system$store$serializer$response$$normalizeResponseHelper(serializer, store, typeClass, adapterPayload, null, 'findMany');
7726
7765
  //TODO Optimize, no need to materialize here
7727
7766
  var records = ember$data$lib$system$store$serializer$response$$pushPayload(store, payload);
7728
7767
  return ember$data$lib$system$store$finders$$map.call(records, function (record) {
@@ -7745,13 +7784,13 @@
7745
7784
 
7746
7785
  return promise.then(function (adapterPayload) {
7747
7786
  return store._adapterRun(function () {
7748
- var payload = ember$data$lib$system$store$serializer$response$$normalizeResponseHelper(serializer, store, typeClass, adapterPayload, null, "findHasMany");
7787
+ var payload = ember$data$lib$system$store$serializer$response$$normalizeResponseHelper(serializer, store, typeClass, adapterPayload, null, 'findHasMany');
7749
7788
  //TODO Use a non record creating push
7750
7789
  var records = ember$data$lib$system$store$serializer$response$$pushPayload(store, payload);
7751
7790
  var recordArray = ember$data$lib$system$store$finders$$map.call(records, function (record) {
7752
7791
  return record._internalModel;
7753
7792
  });
7754
- if (ember$data$lib$system$store$finders$$get(serializer, "isNewSerializerAPI")) {
7793
+ if (ember$data$lib$system$store$finders$$get(serializer, 'isNewSerializerAPI')) {
7755
7794
  recordArray.meta = payload.meta;
7756
7795
  }
7757
7796
  return recordArray;
@@ -7772,7 +7811,7 @@
7772
7811
 
7773
7812
  return promise.then(function (adapterPayload) {
7774
7813
  return store._adapterRun(function () {
7775
- var payload = ember$data$lib$system$store$serializer$response$$normalizeResponseHelper(serializer, store, typeClass, adapterPayload, null, "findBelongsTo");
7814
+ var payload = ember$data$lib$system$store$serializer$response$$normalizeResponseHelper(serializer, store, typeClass, adapterPayload, null, 'findBelongsTo');
7776
7815
 
7777
7816
  if (!payload.data) {
7778
7817
  return null;
@@ -7798,7 +7837,7 @@
7798
7837
 
7799
7838
  return promise.then(function (adapterPayload) {
7800
7839
  store._adapterRun(function () {
7801
- var payload = ember$data$lib$system$store$serializer$response$$normalizeResponseHelper(serializer, store, typeClass, adapterPayload, null, "findAll");
7840
+ var payload = ember$data$lib$system$store$serializer$response$$normalizeResponseHelper(serializer, store, typeClass, adapterPayload, null, 'findAll');
7802
7841
  //TODO Optimize
7803
7842
  ember$data$lib$system$store$serializer$response$$pushPayload(store, payload);
7804
7843
  });
@@ -7813,9 +7852,9 @@
7813
7852
  var promise;
7814
7853
 
7815
7854
  if (!adapter.query) {
7816
- Ember.deprecate("Adapter#findQuery has been deprecated and renamed to `query`.", false, {
7817
- id: "ds.adapter.find-query-renamed-to-query",
7818
- until: "2.0.0"
7855
+ Ember.deprecate('Adapter#findQuery has been deprecated and renamed to `query`.', false, {
7856
+ id: 'ds.adapter.find-query-renamed-to-query',
7857
+ until: '2.0.0'
7819
7858
  });
7820
7859
  promise = adapter.findQuery(store, typeClass, query, recordArray);
7821
7860
  } else {
@@ -7831,7 +7870,7 @@
7831
7870
  return promise.then(function (adapterPayload) {
7832
7871
  var records;
7833
7872
  store._adapterRun(function () {
7834
- var requestType = ember$data$lib$system$store$finders$$get(serializer, "isNewSerializerAPI") ? "query" : "findQuery";
7873
+ var requestType = ember$data$lib$system$store$finders$$get(serializer, 'isNewSerializerAPI') ? 'query' : 'findQuery';
7835
7874
  var payload = ember$data$lib$system$store$serializer$response$$normalizeResponseHelper(serializer, store, typeClass, adapterPayload, null, requestType);
7836
7875
  //TODO Optimize
7837
7876
  records = ember$data$lib$system$store$serializer$response$$pushPayload(store, payload);
@@ -7854,7 +7893,7 @@
7854
7893
  return promise.then(function (adapterPayload) {
7855
7894
  var record;
7856
7895
  store._adapterRun(function () {
7857
- var payload = ember$data$lib$system$store$serializer$response$$normalizeResponseHelper(serializer, store, typeClass, adapterPayload, null, "queryRecord");
7896
+ var payload = ember$data$lib$system$store$serializer$response$$normalizeResponseHelper(serializer, store, typeClass, adapterPayload, null, 'queryRecord');
7858
7897
  //TODO Optimize
7859
7898
  record = ember$data$lib$system$store$serializer$response$$pushPayload(store, payload);
7860
7899
  });
@@ -7919,24 +7958,6 @@
7919
7958
  };
7920
7959
 
7921
7960
  var ember$data$lib$system$snapshot$record$array$$default = ember$data$lib$system$snapshot$record$array$$SnapshotRecordArray;
7922
- var ember$data$lib$system$record$arrays$filtered$subset$$FilteredSubset = Ember.ArrayProxy.extend({
7923
- init: function () {
7924
- this._super.apply(this, arguments);
7925
-
7926
- var _getProperties = this.getProperties('filterByArgs', 'recordArray');
7927
-
7928
- var filterByArgs = _getProperties.filterByArgs;
7929
- var recordArray = _getProperties.recordArray;
7930
- var key = filterByArgs[0];
7931
-
7932
- var path = 'recordArray.@each.' + key;
7933
- Ember.defineProperty(this, 'content', Ember.computed(path, function () {
7934
- return this.filterBy.apply(recordArray, filterByArgs);
7935
- }));
7936
- }
7937
- });
7938
-
7939
- var ember$data$lib$system$record$arrays$filtered$subset$$default = ember$data$lib$system$record$arrays$filtered$subset$$FilteredSubset;
7940
7961
 
7941
7962
  var ember$data$lib$system$record$arrays$record$array$$get = Ember.get;
7942
7963
  var ember$data$lib$system$record$arrays$record$array$$set = Ember.set;
@@ -8001,42 +8022,11 @@
8001
8022
  @return {DS.Model} record
8002
8023
  */
8003
8024
  objectAtContent: function (index) {
8004
- var content = ember$data$lib$system$record$arrays$record$array$$get(this, "content");
8025
+ var content = ember$data$lib$system$record$arrays$record$array$$get(this, 'content');
8005
8026
  var internalModel = content.objectAt(index);
8006
8027
  return internalModel && internalModel.getRecord();
8007
8028
  },
8008
8029
 
8009
- /**
8010
- Get a filtered subset of the underlying `RecordArray`.
8011
- The subset updates when a record would match or mismatch the
8012
- specified filter parameters.
8013
- Example
8014
- ```javascript
8015
- var allToms = store.all('person').filterBy('name', 'Tom');
8016
- allToms.get('length'); // 0, since no toms yet in store
8017
- var tom = store.push('person', { id: 1, name: 'Tom' });
8018
- allToms.get('length'); // Tom is added
8019
- tom.set('name', 'Thomas');
8020
- allToms.get('length'); // 0, since no more records with name === 'Tom'
8021
- ```
8022
- @method filterBy
8023
- @param {String} key property path
8024
- @param {*} value optional
8025
- */
8026
- filterBy: function (key, value) {
8027
- // only pass value to the arguments if it is present; this mimics the same
8028
- // behavior for `filterBy`: http://git.io/vIurH
8029
- var filterByArgs = [key];
8030
- if (arguments.length === 2) {
8031
- filterByArgs.push(value);
8032
- }
8033
-
8034
- return ember$data$lib$system$record$arrays$filtered$subset$$default.create({
8035
- filterByArgs: filterByArgs,
8036
- recordArray: this
8037
- });
8038
- },
8039
-
8040
8030
  /**
8041
8031
  Used to get the latest version of all of the records in this array
8042
8032
  from the adapter.
@@ -8050,12 +8040,12 @@
8050
8040
  @method update
8051
8041
  */
8052
8042
  update: function () {
8053
- if (ember$data$lib$system$record$arrays$record$array$$get(this, "isUpdating")) {
8043
+ if (ember$data$lib$system$record$arrays$record$array$$get(this, 'isUpdating')) {
8054
8044
  return;
8055
8045
  }
8056
8046
 
8057
- var store = ember$data$lib$system$record$arrays$record$array$$get(this, "store");
8058
- var modelName = ember$data$lib$system$record$arrays$record$array$$get(this, "type.modelName");
8047
+ var store = ember$data$lib$system$record$arrays$record$array$$get(this, 'store');
8048
+ var modelName = ember$data$lib$system$record$arrays$record$array$$get(this, 'type.modelName');
8059
8049
 
8060
8050
  return store.findAll(modelName, { reload: true });
8061
8051
  },
@@ -8068,7 +8058,7 @@
8068
8058
  @param {number} an optional index to insert at
8069
8059
  */
8070
8060
  addInternalModel: function (internalModel, idx) {
8071
- var content = ember$data$lib$system$record$arrays$record$array$$get(this, "content");
8061
+ var content = ember$data$lib$system$record$arrays$record$array$$get(this, 'content');
8072
8062
  if (idx === undefined) {
8073
8063
  content.addObject(internalModel);
8074
8064
  } else if (!content.contains(internalModel)) {
@@ -8083,7 +8073,7 @@
8083
8073
  @param {InternalModel} internalModel
8084
8074
  */
8085
8075
  removeInternalModel: function (internalModel) {
8086
- ember$data$lib$system$record$arrays$record$array$$get(this, "content").removeObject(internalModel);
8076
+ ember$data$lib$system$record$arrays$record$array$$get(this, 'content').removeObject(internalModel);
8087
8077
  },
8088
8078
 
8089
8079
  /**
@@ -8101,7 +8091,7 @@
8101
8091
  */
8102
8092
  save: function () {
8103
8093
  var recordArray = this;
8104
- var promiseLabel = "DS: RecordArray#save " + ember$data$lib$system$record$arrays$record$array$$get(this, "type");
8094
+ var promiseLabel = "DS: RecordArray#save " + ember$data$lib$system$record$arrays$record$array$$get(this, 'type');
8105
8095
  var promise = Ember.RSVP.all(this.invoke("save"), promiseLabel).then(function (array) {
8106
8096
  return recordArray;
8107
8097
  }, null, "DS: RecordArray#save return RecordArray");
@@ -8112,7 +8102,7 @@
8112
8102
  _dissociateFromOwnRecords: function () {
8113
8103
  var array = this;
8114
8104
 
8115
- this.get("content").forEach(function (record) {
8105
+ this.get('content').forEach(function (record) {
8116
8106
  var recordArrays = record._recordArrays;
8117
8107
 
8118
8108
  if (recordArrays) {
@@ -8126,20 +8116,20 @@
8126
8116
  @private
8127
8117
  */
8128
8118
  _unregisterFromManager: function () {
8129
- var manager = ember$data$lib$system$record$arrays$record$array$$get(this, "manager");
8119
+ var manager = ember$data$lib$system$record$arrays$record$array$$get(this, 'manager');
8130
8120
  manager.unregisterRecordArray(this);
8131
8121
  },
8132
8122
 
8133
8123
  willDestroy: function () {
8134
8124
  this._unregisterFromManager();
8135
8125
  this._dissociateFromOwnRecords();
8136
- ember$data$lib$system$record$arrays$record$array$$set(this, "content", undefined);
8126
+ ember$data$lib$system$record$arrays$record$array$$set(this, 'content', undefined);
8137
8127
  this._super.apply(this, arguments);
8138
8128
  },
8139
8129
 
8140
8130
  createSnapshot: function (options) {
8141
8131
  var adapterOptions = options && options.adapterOptions;
8142
- var meta = this.get("meta");
8132
+ var meta = this.get('meta');
8143
8133
  return new ember$data$lib$system$snapshot$record$array$$default(this, meta, adapterOptions);
8144
8134
  }
8145
8135
  });
@@ -8176,7 +8166,7 @@
8176
8166
  isLoaded: true,
8177
8167
 
8178
8168
  replace: function () {
8179
- var type = ember$data$lib$system$record$arrays$filtered$record$array$$get(this, "type").toString();
8169
+ var type = ember$data$lib$system$record$arrays$filtered$record$array$$get(this, 'type').toString();
8180
8170
  throw new Error("The result of a client-side filter (on " + type + ") is immutable.");
8181
8171
  },
8182
8172
 
@@ -8185,11 +8175,11 @@
8185
8175
  @private
8186
8176
  */
8187
8177
  _updateFilter: function () {
8188
- var manager = ember$data$lib$system$record$arrays$filtered$record$array$$get(this, "manager");
8189
- manager.updateFilter(this, ember$data$lib$system$record$arrays$filtered$record$array$$get(this, "type"), ember$data$lib$system$record$arrays$filtered$record$array$$get(this, "filterFunction"));
8178
+ var manager = ember$data$lib$system$record$arrays$filtered$record$array$$get(this, 'manager');
8179
+ manager.updateFilter(this, ember$data$lib$system$record$arrays$filtered$record$array$$get(this, 'type'), ember$data$lib$system$record$arrays$filtered$record$array$$get(this, 'filterFunction'));
8190
8180
  },
8191
8181
 
8192
- updateFilter: Ember.observer("filterFunction", function () {
8182
+ updateFilter: Ember.observer('filterFunction', function () {
8193
8183
  Ember.run.once(this, this._updateFilter);
8194
8184
  })
8195
8185
  });
@@ -8213,7 +8203,7 @@
8213
8203
  query: null,
8214
8204
 
8215
8205
  replace: function () {
8216
- var type = ember$data$lib$system$record$arrays$adapter$populated$record$array$$get(this, "type").toString();
8206
+ var type = ember$data$lib$system$record$arrays$adapter$populated$record$array$$get(this, 'type').toString();
8217
8207
  throw new Error("The result of a server query (on " + type + ") is immutable.");
8218
8208
  },
8219
8209
 
@@ -8223,8 +8213,8 @@
8223
8213
  @param {Array} data
8224
8214
  */
8225
8215
  load: function (data) {
8226
- var store = ember$data$lib$system$record$arrays$adapter$populated$record$array$$get(this, "store");
8227
- var type = ember$data$lib$system$record$arrays$adapter$populated$record$array$$get(this, "type");
8216
+ var store = ember$data$lib$system$record$arrays$adapter$populated$record$array$$get(this, 'store');
8217
+ var type = ember$data$lib$system$record$arrays$adapter$populated$record$array$$get(this, 'type');
8228
8218
  var modelName = type.modelName;
8229
8219
  var records = store.pushMany(modelName, data);
8230
8220
 
@@ -8237,13 +8227,13 @@
8237
8227
  @private
8238
8228
  */
8239
8229
  loadRecords: function (records) {
8240
- var store = ember$data$lib$system$record$arrays$adapter$populated$record$array$$get(this, "store");
8241
- var type = ember$data$lib$system$record$arrays$adapter$populated$record$array$$get(this, "type");
8230
+ var store = ember$data$lib$system$record$arrays$adapter$populated$record$array$$get(this, 'store');
8231
+ var type = ember$data$lib$system$record$arrays$adapter$populated$record$array$$get(this, 'type');
8242
8232
  var modelName = type.modelName;
8243
8233
  var meta = store._metadataFor(modelName);
8244
8234
 
8245
8235
  //TODO Optimize
8246
- var internalModels = Ember.A(records).mapBy("_internalModel");
8236
+ var internalModels = Ember.A(records).mapBy('_internalModel');
8247
8237
  this.setProperties({
8248
8238
  content: Ember.A(internalModels),
8249
8239
  isLoaded: true,
@@ -8255,7 +8245,7 @@
8255
8245
  }, this);
8256
8246
 
8257
8247
  // TODO: should triggering didLoad event be the last action of the runLoop?
8258
- Ember.run.once(this, "trigger", "didLoad");
8248
+ Ember.run.once(this, 'trigger', 'didLoad');
8259
8249
  }
8260
8250
  });
8261
8251
 
@@ -8327,7 +8317,7 @@
8327
8317
  return;
8328
8318
  }
8329
8319
 
8330
- Ember.run.schedule("actions", this, this.updateRecordArrays);
8320
+ Ember.run.schedule('actions', this, this.updateRecordArrays);
8331
8321
  },
8332
8322
 
8333
8323
  recordArraysForRecord: function (record) {
@@ -8373,7 +8363,7 @@
8373
8363
  var recordArrays = this.filteredRecordArrays.get(typeClass);
8374
8364
  var filter;
8375
8365
  ember$data$lib$system$record$array$manager$$forEach.call(recordArrays, function (array) {
8376
- filter = ember$data$lib$system$record$array$manager$$get(array, "filterFunction");
8366
+ filter = ember$data$lib$system$record$array$manager$$get(array, 'filterFunction');
8377
8367
  this.updateFilterRecordArray(array, filter, typeClass, record);
8378
8368
  }, this);
8379
8369
  },
@@ -8385,7 +8375,7 @@
8385
8375
  var filter;
8386
8376
 
8387
8377
  ember$data$lib$system$record$array$manager$$forEach.call(recordArrays, function (array) {
8388
- filter = ember$data$lib$system$record$array$manager$$get(array, "filterFunction");
8378
+ filter = ember$data$lib$system$record$array$manager$$get(array, 'filterFunction');
8389
8379
  this.updateFilterRecordArray(array, filter, typeClass, record);
8390
8380
  }, this);
8391
8381
 
@@ -8566,11 +8556,11 @@
8566
8556
 
8567
8557
  // unregister live record array
8568
8558
  } else if (this.liveRecordArrays.has(typeClass)) {
8569
- var liveRecordArrayForType = this.liveRecordArrayFor(typeClass);
8570
- if (array === liveRecordArrayForType) {
8571
- this.liveRecordArrays["delete"](typeClass);
8559
+ var liveRecordArrayForType = this.liveRecordArrayFor(typeClass);
8560
+ if (array === liveRecordArrayForType) {
8561
+ this.liveRecordArrays["delete"](typeClass);
8562
+ }
8572
8563
  }
8573
- }
8574
8564
  },
8575
8565
 
8576
8566
  willDestroy: function () {
@@ -9142,7 +9132,7 @@
9142
9132
  ember$data$lib$system$model$states$$createdState.uncommitted.propertyWasReset = Ember.K;
9143
9133
 
9144
9134
  function ember$data$lib$system$model$states$$assertAgainstUnloadRecord(internalModel) {
9145
- Ember.assert('You can only unload a record which is not inFlight. `' + internalModel + '`', false);
9135
+ Ember.assert("You can only unload a record which is not inFlight. `" + internalModel + "`", false);
9146
9136
  }
9147
9137
 
9148
9138
  ember$data$lib$system$model$states$$updatedState.inFlight.unloadRecord = ember$data$lib$system$model$states$$assertAgainstUnloadRecord;
@@ -9461,14 +9451,14 @@
9461
9451
  continue;
9462
9452
  }
9463
9453
  if (typeof object[prop] === 'object') {
9464
- object[prop] = ember$data$lib$system$model$states$$wireState(object[prop], object, name + '.' + prop);
9454
+ object[prop] = ember$data$lib$system$model$states$$wireState(object[prop], object, name + "." + prop);
9465
9455
  }
9466
9456
  }
9467
9457
 
9468
9458
  return object;
9469
9459
  }
9470
9460
 
9471
- ember$data$lib$system$model$states$$RootState = ember$data$lib$system$model$states$$wireState(ember$data$lib$system$model$states$$RootState, null, 'root');
9461
+ ember$data$lib$system$model$states$$RootState = ember$data$lib$system$model$states$$wireState(ember$data$lib$system$model$states$$RootState, null, "root");
9472
9462
 
9473
9463
  var ember$data$lib$system$model$states$$default = ember$data$lib$system$model$states$$RootState;
9474
9464
 
@@ -9684,7 +9674,7 @@
9684
9674
  Ember.warn('You have pushed a record of type \'' + this.record.type.modelName + '\' with \'' + this.key + '\' as a link, but the association is not an async relationship.', this.isAsync, {
9685
9675
  id: 'ds.store.push-link-for-sync-relationship'
9686
9676
  });
9687
- Ember.assert('You have pushed a record of type \'' + this.record.type.modelName + '\' with \'' + this.key + '\' as a link, but the value of that link is not a string.', typeof link === 'string' || link === null);
9677
+ Ember.assert("You have pushed a record of type '" + this.record.type.modelName + "' with '" + this.key + "' as a link, but the value of that link is not a string.", typeof link === 'string' || link === null);
9688
9678
  if (link !== this.link) {
9689
9679
  this.link = link;
9690
9680
  this.linkPromise = null;
@@ -9760,7 +9750,7 @@
9760
9750
  toSet = toSet.concat(newRecords);
9761
9751
  var oldLength = this.length;
9762
9752
  this.arrayContentWillChange(0, this.length, toSet.length);
9763
- this.set("length", toSet.length);
9753
+ this.set('length', toSet.length);
9764
9754
  this.currentState = toSet;
9765
9755
  this.arrayContentDidChange(0, oldLength, this.length);
9766
9756
  //TODO Figure out to notify only on additions and maybe only if unloaded
@@ -9825,7 +9815,7 @@
9825
9815
  }
9826
9816
  this.arrayContentWillChange(idx, amt, objects.length);
9827
9817
  this.currentState.splice.apply(this.currentState, [idx, amt].concat(objects));
9828
- this.set("length", this.currentState.length);
9818
+ this.set('length', this.currentState.length);
9829
9819
  this.arrayContentDidChange(idx, amt, objects.length);
9830
9820
  if (objects) {
9831
9821
  //TODO(Igor) probably needed only for unloaded records
@@ -9855,11 +9845,11 @@
9855
9845
  var records;
9856
9846
  if (amt > 0) {
9857
9847
  records = this.currentState.slice(idx, idx + amt);
9858
- this.get("relationship").removeRecords(records);
9848
+ this.get('relationship').removeRecords(records);
9859
9849
  }
9860
9850
  var map = objects.map || Ember.ArrayPolyfills.map;
9861
9851
  if (objects) {
9862
- this.get("relationship").addRecords(map.call(objects, function (obj) {
9852
+ this.get('relationship').addRecords(map.call(objects, function (obj) {
9863
9853
  return obj._internalModel;
9864
9854
  }), idx);
9865
9855
  }
@@ -9888,8 +9878,8 @@
9888
9878
  loadedRecord: function () {
9889
9879
  this.loadingRecordsCount--;
9890
9880
  if (this.loadingRecordsCount === 0) {
9891
- ember$data$lib$system$many$array$$set(this, "isLoaded", true);
9892
- this.trigger("didLoad");
9881
+ ember$data$lib$system$many$array$$set(this, 'isLoaded', true);
9882
+ this.trigger('didLoad');
9893
9883
  }
9894
9884
  },
9895
9885
 
@@ -9919,7 +9909,7 @@
9919
9909
  */
9920
9910
  save: function () {
9921
9911
  var manyArray = this;
9922
- var promiseLabel = "DS: ManyArray#save " + ember$data$lib$system$many$array$$get(this, "type");
9912
+ var promiseLabel = "DS: ManyArray#save " + ember$data$lib$system$many$array$$get(this, 'type');
9923
9913
  var promise = Ember.RSVP.all(this.invoke("save"), promiseLabel).then(function (array) {
9924
9914
  return manyArray;
9925
9915
  }, null, "DS: ManyArray#save return ManyArray");
@@ -9935,11 +9925,11 @@
9935
9925
  @return {DS.Model} record
9936
9926
  */
9937
9927
  createRecord: function (hash) {
9938
- var store = ember$data$lib$system$many$array$$get(this, "store");
9939
- var type = ember$data$lib$system$many$array$$get(this, "type");
9928
+ var store = ember$data$lib$system$many$array$$get(this, 'store');
9929
+ var type = ember$data$lib$system$many$array$$get(this, 'type');
9940
9930
  var record;
9941
9931
 
9942
- Ember.assert("You cannot add '" + type.modelName + "' records to this polymorphic relationship.", !ember$data$lib$system$many$array$$get(this, "isPolymorphic"));
9932
+ Ember.assert("You cannot add '" + type.modelName + "' records to this polymorphic relationship.", !ember$data$lib$system$many$array$$get(this, 'isPolymorphic'));
9943
9933
 
9944
9934
  record = store.createRecord(type.modelName, hash);
9945
9935
  this.pushObject(record);
@@ -9953,9 +9943,9 @@
9953
9943
  @deprecated Use `addObject()` instead
9954
9944
  */
9955
9945
  addRecord: function (record) {
9956
- Ember.deprecate("Using manyArray.addRecord() has been deprecated. You should use manyArray.addObject() instead.", false, {
9957
- id: "ds.many-array.add-record-deprecated",
9958
- until: "2.0.0"
9946
+ Ember.deprecate('Using manyArray.addRecord() has been deprecated. You should use manyArray.addObject() instead.', false, {
9947
+ id: 'ds.many-array.add-record-deprecated',
9948
+ until: '2.0.0'
9959
9949
  });
9960
9950
  this.addObject(record);
9961
9951
  },
@@ -9966,39 +9956,11 @@
9966
9956
  @deprecated Use `removeObject()` instead
9967
9957
  */
9968
9958
  removeRecord: function (record) {
9969
- Ember.deprecate("Using manyArray.removeRecord() has been deprecated. You should use manyArray.removeObject() instead.", false, {
9970
- id: "ds.many-array.remove-record-deprecated",
9971
- until: "2.0.0"
9959
+ Ember.deprecate('Using manyArray.removeRecord() has been deprecated. You should use manyArray.removeObject() instead.', false, {
9960
+ id: 'ds.many-array.remove-record-deprecated',
9961
+ until: '2.0.0'
9972
9962
  });
9973
9963
  this.removeObject(record);
9974
- },
9975
-
9976
- /**
9977
- Get a filtered subset of the underlying `ManyArray`.
9978
- The subset updates when a record would match or mismatch the
9979
- specified filter parameters.
9980
- Example
9981
- ```javascript
9982
- var post = store.peekRecord('post', 1)
9983
- // All the comments that are deleted locally but not yet saved to the server.
9984
- var deletedComments = post.get('comments').filterBy('isDeleted');
9985
- ```
9986
- @method filterBy
9987
- @param {String} key property path
9988
- @param {*} value optional
9989
- */
9990
- filterBy: function (key, value) {
9991
- // only pass value to the arguments if it is present; this mimics the same
9992
- // behavior for `filterBy`: http://git.io/vIurH
9993
- var filterByArgs = [key];
9994
- if (arguments.length === 2) {
9995
- filterByArgs.push(value);
9996
- }
9997
-
9998
- return ember$data$lib$system$record$arrays$filtered$subset$$default.create({
9999
- filterByArgs: filterByArgs,
10000
- recordArray: this
10001
- });
10002
9964
  }
10003
9965
  });
10004
9966
 
@@ -10072,7 +10034,7 @@
10072
10034
  ember$data$lib$system$relationships$state$has$many$$ManyRelationship.prototype._super$updateMeta = ember$data$lib$system$relationships$state$relationship$$default.prototype.updateMeta;
10073
10035
  ember$data$lib$system$relationships$state$has$many$$ManyRelationship.prototype.updateMeta = function (meta) {
10074
10036
  this._super$updateMeta(meta);
10075
- this.manyArray.set("meta", meta);
10037
+ this.manyArray.set('meta', meta);
10076
10038
  };
10077
10039
 
10078
10040
  ember$data$lib$system$relationships$state$has$many$$ManyRelationship.prototype._super$addCanonicalRecord = ember$data$lib$system$relationships$state$relationship$$default.prototype.addCanonicalRecord;
@@ -10145,7 +10107,7 @@
10145
10107
  } else {
10146
10108
  return this.store.scheduleFetchMany(this.manyArray.toArray()).then(function () {
10147
10109
  //Goes away after the manyArray refactor
10148
- self.manyArray.set("isLoaded", true);
10110
+ self.manyArray.set('isLoaded', true);
10149
10111
  return self.manyArray;
10150
10112
  });
10151
10113
  }
@@ -10187,7 +10149,7 @@
10187
10149
  var _this = this;
10188
10150
 
10189
10151
  return this.store.findHasMany(this.record, this.link, this.relationshipMeta).then(function (records) {
10190
- if (records.hasOwnProperty("meta")) {
10152
+ if (records.hasOwnProperty('meta')) {
10191
10153
  _this.updateMeta(records.meta);
10192
10154
  }
10193
10155
  _this.store._backburner.join(function () {
@@ -10204,7 +10166,7 @@
10204
10166
  return rec._internalModel;
10205
10167
  })).then(function () {
10206
10168
  //Goes away after the manyArray refactor
10207
- manyArray.set("isLoaded", true);
10169
+ manyArray.set('isLoaded', true);
10208
10170
  return manyArray;
10209
10171
  });
10210
10172
  };
@@ -10229,11 +10191,11 @@
10229
10191
  promise: promise
10230
10192
  });
10231
10193
  } else {
10232
- Ember.assert("You looked up the '" + this.key + "' relationship on a '" + this.record.type.modelName + "' with id " + this.record.id + " but some of the associated records were not loaded. Either make sure they are all loaded together with the parent record, or specify that the relationship is async (`DS.hasMany({ async: true })`)", this.manyArray.isEvery("isEmpty", false));
10194
+ Ember.assert("You looked up the '" + this.key + "' relationship on a '" + this.record.type.modelName + "' with id " + this.record.id + " but some of the associated records were not loaded. Either make sure they are all loaded together with the parent record, or specify that the relationship is async (`DS.hasMany({ async: true })`)", this.manyArray.isEvery('isEmpty', false));
10233
10195
 
10234
10196
  //TODO(Igor) WTF DO I DO HERE?
10235
- if (!this.manyArray.get("isDestroyed")) {
10236
- this.manyArray.set("isLoaded", true);
10197
+ if (!this.manyArray.get('isDestroyed')) {
10198
+ this.manyArray.set('isLoaded', true);
10237
10199
  }
10238
10200
  return this.manyArray;
10239
10201
  }
@@ -10327,7 +10289,7 @@
10327
10289
  };
10328
10290
 
10329
10291
  ember$data$lib$system$relationships$state$belongs$to$$BelongsToRelationship.prototype.setRecordPromise = function (newPromise) {
10330
- var content = newPromise.get && newPromise.get("content");
10292
+ var content = newPromise.get && newPromise.get('content');
10331
10293
  Ember.assert("You passed in a promise that did not originate from an EmberData relationship. You can only pass promises that come from a belongsTo or hasMany relationship to the get call.", content !== undefined);
10332
10294
  this.setRecord(content ? content._internalModel : content);
10333
10295
  };
@@ -10391,7 +10353,7 @@
10391
10353
  return null;
10392
10354
  }
10393
10355
  var toReturn = this.inverseRecord.getRecord();
10394
- Ember.assert("You looked up the '" + this.key + "' relationship on a '" + this.record.type.modelName + "' with id " + this.record.id + " but some of the associated records were not loaded. Either make sure they are all loaded together with the parent record, or specify that the relationship is async (`DS.belongsTo({ async: true })`)", toReturn === null || !toReturn.get("isEmpty"));
10356
+ Ember.assert("You looked up the '" + this.key + "' relationship on a '" + this.record.type.modelName + "' with id " + this.record.id + " but some of the associated records were not loaded. Either make sure they are all loaded together with the parent record, or specify that the relationship is async (`DS.belongsTo({ async: true })`)", toReturn === null || !toReturn.get('isEmpty'));
10395
10357
  return toReturn;
10396
10358
  }
10397
10359
  };
@@ -10408,7 +10370,7 @@
10408
10370
  inverseKey = inverse.name;
10409
10371
  }
10410
10372
 
10411
- if (relationshipMeta.kind === "hasMany") {
10373
+ if (relationshipMeta.kind === 'hasMany') {
10412
10374
  return new ember$data$lib$system$relationships$state$has$many$$default(store, record, inverseKey, relationshipMeta);
10413
10375
  } else {
10414
10376
  return new ember$data$lib$system$relationships$state$belongs$to$$default(store, record, inverseKey, relationshipMeta);
@@ -10426,7 +10388,7 @@
10426
10388
 
10427
10389
  ember$data$lib$system$relationships$state$create$$Relationships.prototype.get = function (key) {
10428
10390
  var relationships = this.initializedRelationships;
10429
- var relationshipsByName = ember$data$lib$system$relationships$state$create$$get(this.record.type, "relationshipsByName");
10391
+ var relationshipsByName = ember$data$lib$system$relationships$state$create$$get(this.record.type, 'relationshipsByName');
10430
10392
  if (!relationships[key] && relationshipsByName.get(key)) {
10431
10393
  relationships[key] = ember$data$lib$system$relationships$state$create$$createRelationshipFor(this.record, relationshipsByName.get(key), this.record.store);
10432
10394
  }
@@ -10436,17 +10398,17 @@
10436
10398
  var ember$data$lib$system$relationships$state$create$$default = ember$data$lib$system$relationships$state$create$$Relationships;
10437
10399
 
10438
10400
  /**
10439
- @module ember-data
10440
- */
10441
-
10442
- var ember$data$lib$system$snapshot$$get = Ember.get;/**
10443
10401
  @class Snapshot
10444
10402
  @namespace DS
10445
10403
  @private
10446
10404
  @constructor
10447
10405
  @param {DS.Model} internalModel The model to create a snapshot from
10448
10406
  */
10449
- function ember$data$lib$system$snapshot$$Snapshot(internalModel) {
10407
+ /**
10408
+ @module ember-data
10409
+ */
10410
+
10411
+ var ember$data$lib$system$snapshot$$get = Ember.get;function ember$data$lib$system$snapshot$$Snapshot(internalModel) {
10450
10412
  this._attributes = ember$data$lib$system$object$polyfills$$create(null);
10451
10413
  this._belongsToRelationships = ember$data$lib$system$object$polyfills$$create(null);
10452
10414
  this._belongsToIds = ember$data$lib$system$object$polyfills$$create(null);
@@ -10556,7 +10518,7 @@
10556
10518
  if (keyName in this._attributes) {
10557
10519
  return this._attributes[keyName];
10558
10520
  }
10559
- throw new Ember.Error('Model \'' + Ember.inspect(this.record) + '\' has no attribute named \'' + keyName + '\' defined.');
10521
+ throw new Ember.Error("Model '" + Ember.inspect(this.record) + "' has no attribute named '" + keyName + "' defined.");
10560
10522
  },
10561
10523
 
10562
10524
  /**
@@ -10638,7 +10600,7 @@
10638
10600
 
10639
10601
  relationship = this._internalModel._relationships.get(keyName);
10640
10602
  if (!(relationship && relationship.relationshipMeta.kind === 'belongsTo')) {
10641
- throw new Ember.Error('Model \'' + Ember.inspect(this.record) + '\' has no belongsTo relationship named \'' + keyName + '\' defined.');
10603
+ throw new Ember.Error("Model '" + Ember.inspect(this.record) + "' has no belongsTo relationship named '" + keyName + "' defined.");
10642
10604
  }
10643
10605
 
10644
10606
  hasData = ember$data$lib$system$snapshot$$get(relationship, 'hasData');
@@ -10702,7 +10664,7 @@
10702
10664
 
10703
10665
  relationship = this._internalModel._relationships.get(keyName);
10704
10666
  if (!(relationship && relationship.relationshipMeta.kind === 'hasMany')) {
10705
- throw new Ember.Error('Model \'' + Ember.inspect(this.record) + '\' has no hasMany relationship named \'' + keyName + '\' defined.');
10667
+ throw new Ember.Error("Model '" + Ember.inspect(this.record) + "' has no hasMany relationship named '" + keyName + "' defined.");
10706
10668
  }
10707
10669
 
10708
10670
  hasData = ember$data$lib$system$snapshot$$get(relationship, 'hasData');
@@ -10820,7 +10782,7 @@
10820
10782
  @private
10821
10783
  */
10822
10784
  _createSnapshot: function () {
10823
- Ember.deprecate('You called _createSnapshot on what\'s already a DS.Snapshot. You shouldn\'t manually create snapshots in your adapter since the store passes snapshots to adapters by default.', false, {
10785
+ Ember.deprecate("You called _createSnapshot on what's already a DS.Snapshot. You shouldn't manually create snapshots in your adapter since the store passes snapshots to adapters by default.", false, {
10824
10786
  id: 'ds.snapshot.create-snapshot-on-snapshot',
10825
10787
  until: '2.0.0'
10826
10788
  });
@@ -10854,7 +10816,7 @@
10854
10816
  var ember$data$lib$system$model$internal$model$$_splitOnDotCache = ember$data$lib$system$object$polyfills$$create(null);
10855
10817
 
10856
10818
  function ember$data$lib$system$model$internal$model$$splitOnDot(name) {
10857
- return ember$data$lib$system$model$internal$model$$_splitOnDotCache[name] || (ember$data$lib$system$model$internal$model$$_splitOnDotCache[name] = name.split("."));
10819
+ return ember$data$lib$system$model$internal$model$$_splitOnDotCache[name] || (ember$data$lib$system$model$internal$model$$_splitOnDotCache[name] = name.split('.'));
10858
10820
  }
10859
10821
 
10860
10822
  function ember$data$lib$system$model$internal$model$$extractPivotName(name) {
@@ -10925,15 +10887,15 @@
10925
10887
  };
10926
10888
 
10927
10889
  ember$data$lib$system$model$internal$model$$InternalModel.prototype = {
10928
- isEmpty: ember$data$lib$system$model$internal$model$$retrieveFromCurrentState("isEmpty"),
10929
- isLoading: ember$data$lib$system$model$internal$model$$retrieveFromCurrentState("isLoading"),
10930
- isLoaded: ember$data$lib$system$model$internal$model$$retrieveFromCurrentState("isLoaded"),
10931
- hasDirtyAttributes: ember$data$lib$system$model$internal$model$$retrieveFromCurrentState("hasDirtyAttributes"),
10932
- isSaving: ember$data$lib$system$model$internal$model$$retrieveFromCurrentState("isSaving"),
10933
- isDeleted: ember$data$lib$system$model$internal$model$$retrieveFromCurrentState("isDeleted"),
10934
- isNew: ember$data$lib$system$model$internal$model$$retrieveFromCurrentState("isNew"),
10935
- isValid: ember$data$lib$system$model$internal$model$$retrieveFromCurrentState("isValid"),
10936
- dirtyType: ember$data$lib$system$model$internal$model$$retrieveFromCurrentState("dirtyType"),
10890
+ isEmpty: ember$data$lib$system$model$internal$model$$retrieveFromCurrentState('isEmpty'),
10891
+ isLoading: ember$data$lib$system$model$internal$model$$retrieveFromCurrentState('isLoading'),
10892
+ isLoaded: ember$data$lib$system$model$internal$model$$retrieveFromCurrentState('isLoaded'),
10893
+ hasDirtyAttributes: ember$data$lib$system$model$internal$model$$retrieveFromCurrentState('hasDirtyAttributes'),
10894
+ isSaving: ember$data$lib$system$model$internal$model$$retrieveFromCurrentState('isSaving'),
10895
+ isDeleted: ember$data$lib$system$model$internal$model$$retrieveFromCurrentState('isDeleted'),
10896
+ isNew: ember$data$lib$system$model$internal$model$$retrieveFromCurrentState('isNew'),
10897
+ isValid: ember$data$lib$system$model$internal$model$$retrieveFromCurrentState('isValid'),
10898
+ dirtyType: ember$data$lib$system$model$internal$model$$retrieveFromCurrentState('dirtyType'),
10937
10899
 
10938
10900
  constructor: ember$data$lib$system$model$internal$model$$InternalModel,
10939
10901
  materializeRecord: function () {
@@ -10945,7 +10907,7 @@
10945
10907
  store: this.store,
10946
10908
  container: this.container,
10947
10909
  _internalModel: this,
10948
- currentState: ember$data$lib$system$model$internal$model$$get(this, "currentState"),
10910
+ currentState: ember$data$lib$system$model$internal$model$$get(this, 'currentState'),
10949
10911
  isError: this.isError,
10950
10912
  adapterError: this.error
10951
10913
  });
@@ -10957,7 +10919,7 @@
10957
10919
  },
10958
10920
 
10959
10921
  deleteRecord: function () {
10960
- this.send("deleteRecord");
10922
+ this.send('deleteRecord');
10961
10923
  },
10962
10924
 
10963
10925
  save: function (options) {
@@ -10971,14 +10933,14 @@
10971
10933
  startedReloading: function () {
10972
10934
  this.isReloading = true;
10973
10935
  if (this.record) {
10974
- ember$data$lib$system$model$internal$model$$set(this.record, "isReloading", true);
10936
+ ember$data$lib$system$model$internal$model$$set(this.record, 'isReloading', true);
10975
10937
  }
10976
10938
  },
10977
10939
 
10978
10940
  finishedReloading: function () {
10979
10941
  this.isReloading = false;
10980
10942
  if (this.record) {
10981
- ember$data$lib$system$model$internal$model$$set(this.record, "isReloading", false);
10943
+ ember$data$lib$system$model$internal$model$$set(this.record, 'isReloading', false);
10982
10944
  }
10983
10945
  },
10984
10946
 
@@ -10987,7 +10949,7 @@
10987
10949
  var record = this;
10988
10950
  var promiseLabel = "DS: Model#reload of " + this;
10989
10951
  return new ember$data$lib$system$model$internal$model$$Promise(function (resolve) {
10990
- record.send("reloadRecord", resolve);
10952
+ record.send('reloadRecord', resolve);
10991
10953
  }, promiseLabel).then(function () {
10992
10954
  record.didCleanError();
10993
10955
  return record;
@@ -11008,7 +10970,7 @@
11008
10970
  },
11009
10971
 
11010
10972
  unloadRecord: function () {
11011
- this.send("unloadRecord");
10973
+ this.send('unloadRecord');
11012
10974
  },
11013
10975
 
11014
10976
  eachRelationship: function (callback, binding) {
@@ -11034,7 +10996,7 @@
11034
10996
  },
11035
10997
 
11036
10998
  becameReady: function () {
11037
- Ember.run.schedule("actions", this.store.recordArrayManager, this.store.recordArrayManager.recordWasLoaded, this);
10999
+ Ember.run.schedule('actions', this.store.recordArrayManager, this.store.recordArrayManager.recordWasLoaded, this);
11038
11000
  },
11039
11001
 
11040
11002
  didInitalizeData: function () {
@@ -11067,7 +11029,7 @@
11067
11029
  @param {Promise} promise
11068
11030
  */
11069
11031
  loadingData: function (promise) {
11070
- this.send("loadingData", promise);
11032
+ this.send('loadingData', promise);
11071
11033
  },
11072
11034
 
11073
11035
  /**
@@ -11075,7 +11037,7 @@
11075
11037
  @private
11076
11038
  */
11077
11039
  loadedData: function () {
11078
- this.send("loadedData");
11040
+ this.send('loadedData');
11079
11041
  this.didInitalizeData();
11080
11042
  },
11081
11043
 
@@ -11084,7 +11046,7 @@
11084
11046
  @private
11085
11047
  */
11086
11048
  notFound: function () {
11087
- this.send("notFound");
11049
+ this.send('notFound');
11088
11050
  },
11089
11051
 
11090
11052
  /**
@@ -11092,7 +11054,7 @@
11092
11054
  @private
11093
11055
  */
11094
11056
  pushedData: function () {
11095
- this.send("pushedData");
11057
+ this.send('pushedData');
11096
11058
  },
11097
11059
 
11098
11060
  flushChangedAttributes: function () {
@@ -11105,7 +11067,7 @@
11105
11067
  @private
11106
11068
  */
11107
11069
  adapterWillCommit: function () {
11108
- this.send("willCommit");
11070
+ this.send('willCommit');
11109
11071
  },
11110
11072
 
11111
11073
  /**
@@ -11113,7 +11075,7 @@
11113
11075
  @private
11114
11076
  */
11115
11077
  adapterDidDirty: function () {
11116
- this.send("becomeDirty");
11078
+ this.send('becomeDirty');
11117
11079
  this.updateRecordArraysLater();
11118
11080
  },
11119
11081
 
@@ -11124,7 +11086,7 @@
11124
11086
  @param {Object} context
11125
11087
  */
11126
11088
  send: function (name, context) {
11127
- var currentState = ember$data$lib$system$model$internal$model$$get(this, "currentState");
11089
+ var currentState = ember$data$lib$system$model$internal$model$$get(this, 'currentState');
11128
11090
 
11129
11091
  if (!currentState[name]) {
11130
11092
  this._unhandledEvent(currentState, name, context);
@@ -11162,7 +11124,7 @@
11162
11124
 
11163
11125
  this._attributes = ember$data$lib$system$object$polyfills$$create(null);
11164
11126
 
11165
- if (ember$data$lib$system$model$internal$model$$get(this, "isError")) {
11127
+ if (ember$data$lib$system$model$internal$model$$get(this, 'isError')) {
11166
11128
  this._inFlightAttributes = ember$data$lib$system$object$polyfills$$create(null);
11167
11129
  this.didCleanError();
11168
11130
  }
@@ -11184,7 +11146,7 @@
11184
11146
  this._inFlightAttributes = ember$data$lib$system$object$polyfills$$create(null);
11185
11147
  }
11186
11148
 
11187
- this.send("rolledBack");
11149
+ this.send('rolledBack');
11188
11150
 
11189
11151
  this.record._notifyProperties(dirtyKeys);
11190
11152
  },
@@ -11198,7 +11160,7 @@
11198
11160
  // always having direct reference to state objects
11199
11161
 
11200
11162
  var pivotName = ember$data$lib$system$model$internal$model$$extractPivotName(name);
11201
- var currentState = ember$data$lib$system$model$internal$model$$get(this, "currentState");
11163
+ var currentState = ember$data$lib$system$model$internal$model$$get(this, 'currentState');
11202
11164
  var state = currentState;
11203
11165
 
11204
11166
  do {
@@ -11228,10 +11190,10 @@
11228
11190
  enters[i].enter(this);
11229
11191
  }
11230
11192
 
11231
- ember$data$lib$system$model$internal$model$$set(this, "currentState", state);
11193
+ ember$data$lib$system$model$internal$model$$set(this, 'currentState', state);
11232
11194
  //TODO Consider whether this is the best approach for keeping these two in sync
11233
11195
  if (this.record) {
11234
- ember$data$lib$system$model$internal$model$$set(this.record, "currentState", state);
11196
+ ember$data$lib$system$model$internal$model$$set(this.record, 'currentState', state);
11235
11197
  }
11236
11198
 
11237
11199
  for (i = 0, l = setups.length; i < l; i++) {
@@ -11264,7 +11226,7 @@
11264
11226
  if (this._deferredTriggers.push(args) !== 1) {
11265
11227
  return;
11266
11228
  }
11267
- Ember.run.scheduleOnce("actions", this, "_triggerDeferredTriggers");
11229
+ Ember.run.scheduleOnce('actions', this, '_triggerDeferredTriggers');
11268
11230
  },
11269
11231
 
11270
11232
  _triggerDeferredTriggers: function () {
@@ -11350,7 +11312,7 @@
11350
11312
  _preloadRelationship: function (key, preloadValue) {
11351
11313
  var relationshipMeta = this.type.metaForProperty(key);
11352
11314
  var type = relationshipMeta.type;
11353
- if (relationshipMeta.kind === "hasMany") {
11315
+ if (relationshipMeta.kind === 'hasMany') {
11354
11316
  this._preloadHasMany(key, preloadValue, type);
11355
11317
  } else {
11356
11318
  this._preloadBelongsTo(key, preloadValue, type);
@@ -11378,7 +11340,7 @@
11378
11340
  },
11379
11341
 
11380
11342
  _convertStringOrNumberIntoInternalModel: function (value, type) {
11381
- if (typeof value === "string" || typeof value === "number") {
11343
+ if (typeof value === 'string' || typeof value === 'number') {
11382
11344
  return this.store._internalModelForId(type, value);
11383
11345
  }
11384
11346
  if (value._internalModel) {
@@ -11399,7 +11361,7 @@
11399
11361
  setId: function (id) {
11400
11362
  this.id = id;
11401
11363
  //TODO figure out whether maybe we should proxy
11402
- ember$data$lib$system$model$internal$model$$set(this.record, "id", id);
11364
+ ember$data$lib$system$model$internal$model$$set(this.record, 'id', id);
11403
11365
  },
11404
11366
 
11405
11367
  didError: function (error) {
@@ -11446,7 +11408,7 @@
11446
11408
 
11447
11409
  this._inFlightAttributes = ember$data$lib$system$object$polyfills$$create(null);
11448
11410
 
11449
- this.send("didCommit");
11411
+ this.send('didCommit');
11450
11412
  this.updateRecordArraysLater();
11451
11413
 
11452
11414
  if (!data) {
@@ -11466,22 +11428,22 @@
11466
11428
  return;
11467
11429
  }
11468
11430
  this._updatingRecordArraysLater = true;
11469
- Ember.run.schedule("actions", this, this.updateRecordArrays);
11431
+ Ember.run.schedule('actions', this, this.updateRecordArrays);
11470
11432
  },
11471
11433
 
11472
11434
  addErrorMessageToAttribute: function (attribute, message) {
11473
11435
  var record = this.getRecord();
11474
- ember$data$lib$system$model$internal$model$$get(record, "errors").add(attribute, message);
11436
+ ember$data$lib$system$model$internal$model$$get(record, 'errors').add(attribute, message);
11475
11437
  },
11476
11438
 
11477
11439
  removeErrorMessageFromAttribute: function (attribute) {
11478
11440
  var record = this.getRecord();
11479
- ember$data$lib$system$model$internal$model$$get(record, "errors").remove(attribute);
11441
+ ember$data$lib$system$model$internal$model$$get(record, 'errors').remove(attribute);
11480
11442
  },
11481
11443
 
11482
11444
  clearErrorMessages: function () {
11483
11445
  var record = this.getRecord();
11484
- ember$data$lib$system$model$internal$model$$get(record, "errors").clear();
11446
+ ember$data$lib$system$model$internal$model$$get(record, 'errors').clear();
11485
11447
  },
11486
11448
 
11487
11449
  // FOR USE DURING COMMIT PROCESS
@@ -11507,7 +11469,7 @@
11507
11469
  @private
11508
11470
  */
11509
11471
  adapterDidError: function (error) {
11510
- this.send("becameError");
11472
+ this.send('becameError');
11511
11473
  this.didError(error);
11512
11474
  this._saveWasRejected();
11513
11475
  },
@@ -11597,15 +11559,15 @@
11597
11559
 
11598
11560
  var ember$data$lib$system$model$internal$model$$default = ember$data$lib$system$model$internal$model$$InternalModel;
11599
11561
 
11600
- var ember$data$lib$system$store$$Backburner = Ember._Backburner || Ember.Backburner || Ember.__loader.require("backburner")["default"] || Ember.__loader.require("backburner")["Backburner"];
11562
+ var ember$data$lib$system$store$$Backburner = Ember._Backburner || Ember.Backburner || Ember.__loader.require('backburner')['default'] || Ember.__loader.require('backburner')['Backburner'];
11601
11563
 
11602
11564
  //Shim Backburner.join
11603
11565
  if (!ember$data$lib$system$store$$Backburner.prototype.join) {
11604
11566
  var ember$data$lib$system$store$$isString = function (suspect) {
11605
- return typeof suspect === "string";
11567
+ return typeof suspect === 'string';
11606
11568
  };
11607
11569
 
11608
- ember$data$lib$system$store$$Backburner.prototype.join = function () {
11570
+ ember$data$lib$system$store$$Backburner.prototype.join = function () /*target, method, args */{
11609
11571
  var method, target;
11610
11572
 
11611
11573
  if (this.currentInstance) {
@@ -11760,7 +11722,7 @@
11760
11722
  @private
11761
11723
  */
11762
11724
  init: function () {
11763
- this._backburner = new ember$data$lib$system$store$$Backburner(["normalizeRelationships", "syncRelationships", "finished"]);
11725
+ this._backburner = new ember$data$lib$system$store$$Backburner(['normalizeRelationships', 'syncRelationships', 'finished']);
11764
11726
  // internal bookkeeping; not observable
11765
11727
  this.typeMaps = {};
11766
11728
  this.recordArrayManager = ember$data$lib$system$record$array$manager$$default.create({
@@ -11783,7 +11745,7 @@
11783
11745
  @default DS.RESTAdapter
11784
11746
  @type {(DS.Adapter|String)}
11785
11747
  */
11786
- adapter: "-rest",
11748
+ adapter: '-rest',
11787
11749
 
11788
11750
  /**
11789
11751
  Returns a JSON representation of the record using a custom
@@ -11813,12 +11775,12 @@
11813
11775
  @private
11814
11776
  @return DS.Adapter
11815
11777
  */
11816
- defaultAdapter: Ember.computed("adapter", function () {
11817
- var adapter = ember$data$lib$system$store$$get(this, "adapter");
11778
+ defaultAdapter: Ember.computed('adapter', function () {
11779
+ var adapter = ember$data$lib$system$store$$get(this, 'adapter');
11818
11780
 
11819
- Ember.assert("You tried to set `adapter` property to an instance of `DS.Adapter`, where it should be a name", typeof adapter === "string");
11781
+ Ember.assert('You tried to set `adapter` property to an instance of `DS.Adapter`, where it should be a name', typeof adapter === 'string');
11820
11782
 
11821
- adapter = this.retrieveManagedInstance("adapter", adapter);
11783
+ adapter = this.retrieveManagedInstance('adapter', adapter);
11822
11784
 
11823
11785
  return adapter;
11824
11786
  }),
@@ -11851,7 +11813,7 @@
11851
11813
  @return {DS.Model} record
11852
11814
  */
11853
11815
  createRecord: function (modelName, inputProperties) {
11854
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
11816
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
11855
11817
  var typeClass = this.modelFor(modelName);
11856
11818
  var properties = ember$data$lib$system$store$$copy(inputProperties) || ember$data$lib$system$object$polyfills$$create(null);
11857
11819
 
@@ -11993,25 +11955,25 @@
11993
11955
  find: function (modelName, id, preload) {
11994
11956
  Ember.assert("You need to pass a type to the store's find method", arguments.length >= 1);
11995
11957
  Ember.assert("You may not pass `" + id + "` as id to the store's find method", arguments.length === 1 || !Ember.isNone(id));
11996
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
11958
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
11997
11959
 
11998
11960
  if (arguments.length === 1) {
11999
- Ember.deprecate("Using store.find(type) has been deprecated. Use store.findAll(type) to retrieve all records for a given type.", false, {
12000
- id: "ds.store.find-with-type-deprecated",
12001
- until: "2.0.0"
11961
+ Ember.deprecate('Using store.find(type) has been deprecated. Use store.findAll(type) to retrieve all records for a given type.', false, {
11962
+ id: 'ds.store.find-with-type-deprecated',
11963
+ until: '2.0.0'
12002
11964
  });
12003
11965
  return this.findAll(modelName);
12004
11966
  }
12005
11967
 
12006
11968
  // We are passed a query instead of an id.
12007
- if (Ember.typeOf(id) === "object") {
12008
- Ember.deprecate("Calling store.find() with a query object is deprecated. Use store.query() instead.", false, {
12009
- id: "ds.store.find-with-type-deprecated",
12010
- until: "2.0.0"
11969
+ if (Ember.typeOf(id) === 'object') {
11970
+ Ember.deprecate('Calling store.find() with a query object is deprecated. Use store.query() instead.', false, {
11971
+ id: 'ds.store.find-with-type-deprecated',
11972
+ until: '2.0.0'
12011
11973
  });
12012
11974
  return this.query(modelName, id);
12013
11975
  }
12014
- var options = ember$data$lib$system$store$$deprecatePreload(preload, this.modelFor(modelName), "find");
11976
+ var options = ember$data$lib$system$store$$deprecatePreload(preload, this.modelFor(modelName), 'find');
12015
11977
  return this.findRecord(modelName, ember$data$lib$system$coerce$id$$default(id), options);
12016
11978
  },
12017
11979
 
@@ -12025,11 +11987,11 @@
12025
11987
  @return {Promise} promise
12026
11988
  */
12027
11989
  fetchById: function (modelName, id, preload) {
12028
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
12029
- var options = ember$data$lib$system$store$$deprecatePreload(preload, this.modelFor(modelName), "fetchById");
12030
- Ember.deprecate("Using store.fetchById(type, id) has been deprecated. Use store.findRecord(type, id, { reload: true }) to reload a record for a given type.", false, {
12031
- id: "ds.store.fetch-by-id-deprecated",
12032
- until: "2.0.0"
11990
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
11991
+ var options = ember$data$lib$system$store$$deprecatePreload(preload, this.modelFor(modelName), 'fetchById');
11992
+ Ember.deprecate('Using store.fetchById(type, id) has been deprecated. Use store.findRecord(type, id, { reload: true }) to reload a record for a given type.', false, {
11993
+ id: 'ds.store.fetch-by-id-deprecated',
11994
+ until: '2.0.0'
12033
11995
  });
12034
11996
  if (this.hasRecordForId(modelName, id)) {
12035
11997
  return this.peekRecord(modelName, id).reload();
@@ -12047,9 +12009,9 @@
12047
12009
  @return {Promise} promise
12048
12010
  */
12049
12011
  fetchAll: function (modelName) {
12050
- Ember.deprecate("Using store.fetchAll(type) has been deprecated. Use store.findAll(type, { reload: true }) to retrieve all records for a given type.", false, {
12051
- id: "ds.store.fetch-all-deprecated",
12052
- until: "2.0.0"
12012
+ Ember.deprecate('Using store.fetchAll(type) has been deprecated. Use store.findAll(type, { reload: true }) to retrieve all records for a given type.', false, {
12013
+ id: 'ds.store.fetch-all-deprecated',
12014
+ until: '2.0.0'
12053
12015
  });
12054
12016
  return this.findAll(modelName, { reload: true });
12055
12017
  },
@@ -12063,10 +12025,10 @@
12063
12025
  @deprecated Use [findRecord](#method_findRecord) instead
12064
12026
  */
12065
12027
  fetch: function (modelName, id, preload) {
12066
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
12067
- Ember.deprecate("Using store.fetch() has been deprecated. Use store.findRecord for fetching individual records or store.findAll for collections", false, {
12068
- id: "ds.store.fetch-deprecated",
12069
- until: "2.0.0"
12028
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
12029
+ Ember.deprecate('Using store.fetch() has been deprecated. Use store.findRecord for fetching individual records or store.findAll for collections', false, {
12030
+ id: 'ds.store.fetch-deprecated',
12031
+ until: '2.0.0'
12070
12032
  });
12071
12033
  return this.findRecord(modelName, id, { reload: true, preload: preload });
12072
12034
  },
@@ -12081,11 +12043,11 @@
12081
12043
  @return {Promise} promise
12082
12044
  */
12083
12045
  findById: function (modelName, id, preload) {
12084
- Ember.deprecate("Using store.findById() has been deprecated. Use store.findRecord() to return a record for a given type and id combination.", false, {
12085
- id: "ds.store.find-by-id-deprecated",
12086
- until: "2.0.0"
12046
+ Ember.deprecate('Using store.findById() has been deprecated. Use store.findRecord() to return a record for a given type and id combination.', false, {
12047
+ id: 'ds.store.find-by-id-deprecated',
12048
+ until: '2.0.0'
12087
12049
  });
12088
- var options = ember$data$lib$system$store$$deprecatePreload(preload, this.modelFor(modelName), "findById");
12050
+ var options = ember$data$lib$system$store$$deprecatePreload(preload, this.modelFor(modelName), 'findById');
12089
12051
  return this.findRecord(modelName, id, options);
12090
12052
  },
12091
12053
 
@@ -12124,7 +12086,7 @@
12124
12086
  @return {Promise} promise
12125
12087
  */
12126
12088
  findRecord: function (modelName, id, options) {
12127
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
12089
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
12128
12090
  var internalModel = this._internalModelForId(modelName, id);
12129
12091
  options = options || {};
12130
12092
 
@@ -12134,7 +12096,7 @@
12134
12096
 
12135
12097
  var fetchedInternalModel = this._findRecord(internalModel, options);
12136
12098
 
12137
- return ember$data$lib$system$store$$promiseRecord(fetchedInternalModel, "DS: Store#findRecord " + internalModel.typeKey + " with id: " + ember$data$lib$system$store$$get(internalModel, "id"));
12099
+ return ember$data$lib$system$store$$promiseRecord(fetchedInternalModel, "DS: Store#findRecord " + internalModel.typeKey + " with id: " + ember$data$lib$system$store$$get(internalModel, 'id'));
12138
12100
  },
12139
12101
 
12140
12102
  _findRecord: function (internalModel, options) {
@@ -12170,7 +12132,7 @@
12170
12132
 
12171
12133
  var fetchedInternalModel = this._findEmptyInternalModel(internalModel, options);
12172
12134
 
12173
- return ember$data$lib$system$store$$promiseRecord(fetchedInternalModel, "DS: Store#findRecord " + internalModel.typeKey + " with id: " + ember$data$lib$system$store$$get(internalModel, "id"));
12135
+ return ember$data$lib$system$store$$promiseRecord(fetchedInternalModel, "DS: Store#findRecord " + internalModel.typeKey + " with id: " + ember$data$lib$system$store$$get(internalModel, 'id'));
12174
12136
  },
12175
12137
 
12176
12138
  _findEmptyInternalModel: function (internalModel, options) {
@@ -12196,7 +12158,7 @@
12196
12158
  @return {Promise} promise
12197
12159
  */
12198
12160
  findByIds: function (modelName, ids) {
12199
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
12161
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
12200
12162
  var store = this;
12201
12163
 
12202
12164
  return ember$data$lib$system$promise$proxies$$promiseArray(Ember.RSVP.all(ember$data$lib$system$store$$map.call(ids, function (id) {
@@ -12220,7 +12182,7 @@
12220
12182
  var adapter = this.adapterFor(typeClass.modelName);
12221
12183
 
12222
12184
  Ember.assert("You tried to find a record but you have no adapter (for " + typeClass + ")", adapter);
12223
- Ember.assert("You tried to find a record but your adapter (for " + typeClass + ") does not implement 'findRecord'", typeof adapter.findRecord === "function" || typeof adapter.find === "function");
12185
+ Ember.assert("You tried to find a record but your adapter (for " + typeClass + ") does not implement 'findRecord'", typeof adapter.findRecord === 'function' || typeof adapter.find === 'function');
12224
12186
 
12225
12187
  var promise = ember$data$lib$system$store$finders$$_find(adapter, this, typeClass, id, internalModel, options);
12226
12188
  return promise;
@@ -12240,7 +12202,7 @@
12240
12202
  return internalModel._loadingPromise;
12241
12203
  }
12242
12204
 
12243
- var resolver = Ember.RSVP.defer("Fetching " + typeClass + "with id: " + internalModel.id);
12205
+ var resolver = Ember.RSVP.defer('Fetching ' + typeClass + 'with id: ' + internalModel.id);
12244
12206
  var pendingFetchItem = {
12245
12207
  record: internalModel,
12246
12208
  resolver: resolver,
@@ -12255,7 +12217,7 @@
12255
12217
  } else {
12256
12218
  this._pendingFetch.get(typeClass).push(pendingFetchItem);
12257
12219
  }
12258
- Ember.run.scheduleOnce("afterRender", this, this.flushAllPendingFetches);
12220
+ Ember.run.scheduleOnce('afterRender', this, this.flushAllPendingFetches);
12259
12221
 
12260
12222
  return promise;
12261
12223
  },
@@ -12273,7 +12235,7 @@
12273
12235
  var store = this;
12274
12236
  var adapter = store.adapterFor(typeClass.modelName);
12275
12237
  var shouldCoalesce = !!adapter.findMany && adapter.coalesceFindRequests;
12276
- var records = Ember.A(pendingFetchItems).mapBy("record");
12238
+ var records = Ember.A(pendingFetchItems).mapBy('record');
12277
12239
 
12278
12240
  function _fetchRecord(recordResolverPair) {
12279
12241
  recordResolverPair.resolver.resolve(store.fetchRecord(recordResolverPair.record, recordResolverPair.options)); // TODO adapter options
@@ -12281,7 +12243,7 @@
12281
12243
 
12282
12244
  function resolveFoundRecords(records) {
12283
12245
  ember$data$lib$system$store$$forEach.call(records, function (record) {
12284
- var pair = Ember.A(pendingFetchItems).findBy("record", record);
12246
+ var pair = Ember.A(pendingFetchItems).findBy('record', record);
12285
12247
  if (pair) {
12286
12248
  var resolver = pair.resolver;
12287
12249
  resolver.resolve(record);
@@ -12297,8 +12259,8 @@
12297
12259
  return resolvedRecords.contains(record);
12298
12260
  });
12299
12261
  if (missingRecords.length) {
12300
- Ember.warn("Ember Data expected to find records with the following ids in the adapter response but they were missing: " + Ember.inspect(Ember.A(missingRecords).mapBy("id")), false, {
12301
- id: "ds.store.missing-records-from-adapter"
12262
+ Ember.warn('Ember Data expected to find records with the following ids in the adapter response but they were missing: ' + Ember.inspect(Ember.A(missingRecords).mapBy('id')), false, {
12263
+ id: 'ds.store.missing-records-from-adapter'
12302
12264
  });
12303
12265
  }
12304
12266
  rejectRecords(missingRecords);
@@ -12313,7 +12275,7 @@
12313
12275
 
12314
12276
  function rejectRecords(records, error) {
12315
12277
  ember$data$lib$system$store$$forEach.call(records, function (record) {
12316
- var pair = Ember.A(pendingFetchItems).findBy("record", record);
12278
+ var pair = Ember.A(pendingFetchItems).findBy('record', record);
12317
12279
  if (pair) {
12318
12280
  var resolver = pair.resolver;
12319
12281
  resolver.reject(error);
@@ -12336,16 +12298,16 @@
12336
12298
  // records from the grouped snapshots even though the _findMany() finder
12337
12299
  // will once again convert the records to snapshots for adapter.findMany()
12338
12300
 
12339
- var snapshots = Ember.A(records).invoke("createSnapshot");
12301
+ var snapshots = Ember.A(records).invoke('createSnapshot');
12340
12302
  var groups = adapter.groupRecordsForFindMany(this, snapshots);
12341
12303
  ember$data$lib$system$store$$forEach.call(groups, function (groupOfSnapshots) {
12342
- var groupOfRecords = Ember.A(groupOfSnapshots).mapBy("_internalModel");
12304
+ var groupOfRecords = Ember.A(groupOfSnapshots).mapBy('_internalModel');
12343
12305
  var requestedRecords = Ember.A(groupOfRecords);
12344
- var ids = requestedRecords.mapBy("id");
12306
+ var ids = requestedRecords.mapBy('id');
12345
12307
  if (ids.length > 1) {
12346
12308
  ember$data$lib$system$store$finders$$_findMany(adapter, store, typeClass, ids, requestedRecords).then(resolveFoundRecords).then(makeMissingRecordsRejector(requestedRecords)).then(null, makeRecordsRejector(requestedRecords));
12347
12309
  } else if (ids.length === 1) {
12348
- var pair = Ember.A(pendingFetchItems).findBy("record", groupOfRecords[0]);
12310
+ var pair = Ember.A(pendingFetchItems).findBy('record', groupOfRecords[0]);
12349
12311
  _fetchRecord(pair);
12350
12312
  } else {
12351
12313
  Ember.assert("You cannot return an empty array from adapter's method groupRecordsForFindMany", false);
@@ -12372,9 +12334,9 @@
12372
12334
  @return {DS.Model|null} record
12373
12335
  */
12374
12336
  getById: function (modelName, id) {
12375
- Ember.deprecate("Using store.getById() has been deprecated. Use store.peekRecord to get a record by a given type and ID without triggering a fetch.", false, {
12376
- id: "ds.store.get-by-id-deprecated",
12377
- until: "2.0.0"
12337
+ Ember.deprecate('Using store.getById() has been deprecated. Use store.peekRecord to get a record by a given type and ID without triggering a fetch.', false, {
12338
+ id: 'ds.store.get-by-id-deprecated',
12339
+ until: '2.0.0'
12378
12340
  });
12379
12341
  return this.peekRecord(modelName, id);
12380
12342
  },
@@ -12395,7 +12357,7 @@
12395
12357
  @return {DS.Model|null} record
12396
12358
  */
12397
12359
  peekRecord: function (modelName, id) {
12398
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
12360
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
12399
12361
  if (this.hasRecordForId(modelName, id)) {
12400
12362
  return this._internalModelForId(modelName, id).getRecord();
12401
12363
  } else {
@@ -12420,7 +12382,7 @@
12420
12382
 
12421
12383
  Ember.assert("You cannot reload a record without an ID", id);
12422
12384
  Ember.assert("You tried to reload a record but you have no adapter (for " + modelName + ")", adapter);
12423
- Ember.assert("You tried to reload a record but your adapter does not implement `findRecord`", typeof adapter.findRecord === "function" || typeof adapter.find === "function");
12385
+ Ember.assert("You tried to reload a record but your adapter does not implement `findRecord`", typeof adapter.findRecord === 'function' || typeof adapter.find === 'function');
12424
12386
 
12425
12387
  return this.scheduleFetch(internalModel);
12426
12388
  },
@@ -12433,7 +12395,7 @@
12433
12395
  @return {Boolean}
12434
12396
  */
12435
12397
  hasRecordForId: function (modelName, inputId) {
12436
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
12398
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
12437
12399
  var typeClass = this.modelFor(modelName);
12438
12400
  var id = ember$data$lib$system$coerce$id$$default(inputId);
12439
12401
  var internalModel = this.typeMapFor(typeClass).idToRecord[id];
@@ -12450,7 +12412,7 @@
12450
12412
  @return {DS.Model} record
12451
12413
  */
12452
12414
  recordForId: function (modelName, id) {
12453
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
12415
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
12454
12416
  return this._internalModelForId(modelName, id).getRecord();
12455
12417
  },
12456
12418
 
@@ -12499,7 +12461,7 @@
12499
12461
  var adapter = this.adapterFor(owner.type.modelName);
12500
12462
 
12501
12463
  Ember.assert("You tried to load a hasMany relationship but you have no adapter (for " + owner.type + ")", adapter);
12502
- Ember.assert("You tried to load a hasMany relationship from a specified `link` in the original payload but your adapter does not implement `findHasMany`", typeof adapter.findHasMany === "function");
12464
+ Ember.assert("You tried to load a hasMany relationship from a specified `link` in the original payload but your adapter does not implement `findHasMany`", typeof adapter.findHasMany === 'function');
12503
12465
 
12504
12466
  return ember$data$lib$system$store$finders$$_findHasMany(adapter, this, owner, link, relationship);
12505
12467
  },
@@ -12516,7 +12478,7 @@
12516
12478
  var adapter = this.adapterFor(owner.type.modelName);
12517
12479
 
12518
12480
  Ember.assert("You tried to load a belongsTo relationship but you have no adapter (for " + owner.type + ")", adapter);
12519
- Ember.assert("You tried to load a belongsTo relationship from a specified `link` in the original payload but your adapter does not implement `findBelongsTo`", typeof adapter.findBelongsTo === "function");
12481
+ Ember.assert("You tried to load a belongsTo relationship from a specified `link` in the original payload but your adapter does not implement `findBelongsTo`", typeof adapter.findBelongsTo === 'function');
12520
12482
 
12521
12483
  return ember$data$lib$system$store$finders$$_findBelongsTo(adapter, this, owner, link, relationship);
12522
12484
  },
@@ -12557,14 +12519,14 @@
12557
12519
  @return {Promise} promise
12558
12520
  */
12559
12521
  query: function (modelName, query) {
12560
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
12522
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
12561
12523
  var typeClass = this.modelFor(modelName);
12562
12524
  var array = this.recordArrayManager.createAdapterPopulatedRecordArray(typeClass, query);
12563
12525
 
12564
12526
  var adapter = this.adapterFor(modelName);
12565
12527
 
12566
12528
  Ember.assert("You tried to load a query but you have no adapter (for " + typeClass + ")", adapter);
12567
- Ember.assert("You tried to load a query but your adapter does not implement `query`", typeof adapter.query === "function" || typeof adapter.findQuery === "function");
12529
+ Ember.assert("You tried to load a query but your adapter does not implement `query`", typeof adapter.query === 'function' || typeof adapter.findQuery === 'function');
12568
12530
 
12569
12531
  return ember$data$lib$system$promise$proxies$$promiseArray(ember$data$lib$system$store$finders$$_query(adapter, this, typeClass, query, array));
12570
12532
  },
@@ -12585,13 +12547,13 @@
12585
12547
  queryRecord: function (modelName, query) {
12586
12548
  Ember.assert("You need to pass a type to the store's queryRecord method", modelName);
12587
12549
  Ember.assert("You need to pass a query hash to the store's queryRecord method", query);
12588
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
12550
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
12589
12551
 
12590
12552
  var typeClass = this.modelFor(modelName);
12591
12553
  var adapter = this.adapterFor(modelName);
12592
12554
 
12593
12555
  Ember.assert("You tried to make a query but you have no adapter (for " + typeClass + ")", adapter);
12594
- Ember.assert("You tried to make a query but your adapter does not implement `queryRecord`", typeof adapter.queryRecord === "function");
12556
+ Ember.assert("You tried to make a query but your adapter does not implement `queryRecord`", typeof adapter.queryRecord === 'function');
12595
12557
 
12596
12558
  return ember$data$lib$system$promise$proxies$$promiseObject(ember$data$lib$system$store$finders$$_queryRecord(adapter, this, typeClass, query));
12597
12559
  },
@@ -12611,9 +12573,9 @@
12611
12573
  @deprecated Use `store.query instead`
12612
12574
  */
12613
12575
  findQuery: function (modelName, query) {
12614
- Ember.deprecate("store#findQuery is deprecated. You should use store#query instead.", false, {
12615
- id: "ds.store.find-query-deprecated",
12616
- until: "2.0.0"
12576
+ Ember.deprecate('store#findQuery is deprecated. You should use store#query instead.', false, {
12577
+ id: 'ds.store.find-query-deprecated',
12578
+ until: '2.0.0'
12617
12579
  });
12618
12580
  return this.query(modelName, query);
12619
12581
  },
@@ -12638,7 +12600,7 @@
12638
12600
  @return {DS.AdapterPopulatedRecordArray}
12639
12601
  */
12640
12602
  findAll: function (modelName, options) {
12641
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
12603
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
12642
12604
  var typeClass = this.modelFor(modelName);
12643
12605
 
12644
12606
  return this._fetchAll(typeClass, this.peekAll(modelName), options);
@@ -12656,10 +12618,10 @@
12656
12618
  var adapter = this.adapterFor(typeClass.modelName);
12657
12619
  var sinceToken = this.typeMapFor(typeClass).metadata.since;
12658
12620
 
12659
- ember$data$lib$system$store$$set(array, "isUpdating", true);
12621
+ ember$data$lib$system$store$$set(array, 'isUpdating', true);
12660
12622
 
12661
12623
  Ember.assert("You tried to load all records but you have no adapter (for " + typeClass + ")", adapter);
12662
- Ember.assert("You tried to load all records but your adapter does not implement `findAll`", typeof adapter.findAll === "function");
12624
+ Ember.assert("You tried to load all records but your adapter does not implement `findAll`", typeof adapter.findAll === 'function');
12663
12625
  if (options.reload) {
12664
12626
  return ember$data$lib$system$promise$proxies$$promiseArray(ember$data$lib$system$store$finders$$_findAll(adapter, this, typeClass, sinceToken, options));
12665
12627
  }
@@ -12680,7 +12642,7 @@
12680
12642
  */
12681
12643
  didUpdateAll: function (typeClass) {
12682
12644
  var liveRecordArray = this.recordArrayManager.liveRecordArrayFor(typeClass);
12683
- ember$data$lib$system$store$$set(liveRecordArray, "isUpdating", false);
12645
+ ember$data$lib$system$store$$set(liveRecordArray, 'isUpdating', false);
12684
12646
  },
12685
12647
 
12686
12648
  /**
@@ -12702,9 +12664,9 @@
12702
12664
  @return {DS.RecordArray}
12703
12665
  */
12704
12666
  all: function (modelName) {
12705
- Ember.deprecate("Using store.all() has been deprecated. Use store.peekAll() to get all records by a given type without triggering a fetch.", false, {
12706
- id: "ds.store.all-renamed-deprecated",
12707
- until: "2.0.0"
12667
+ Ember.deprecate('Using store.all() has been deprecated. Use store.peekAll() to get all records by a given type without triggering a fetch.', false, {
12668
+ id: 'ds.store.all-renamed-deprecated',
12669
+ until: '2.0.0'
12708
12670
  });
12709
12671
  return this.peekAll(modelName);
12710
12672
  },
@@ -12728,7 +12690,7 @@
12728
12690
  @return {DS.RecordArray}
12729
12691
  */
12730
12692
  peekAll: function (modelName) {
12731
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
12693
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
12732
12694
  var typeClass = this.modelFor(modelName);
12733
12695
 
12734
12696
  var liveRecordArray = this.recordArrayManager.liveRecordArrayFor(typeClass);
@@ -12748,7 +12710,7 @@
12748
12710
  @param {String=} modelName
12749
12711
  */
12750
12712
  unloadAll: function (modelName) {
12751
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), !modelName || typeof modelName === "string");
12713
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), !modelName || typeof modelName === 'string');
12752
12714
  if (arguments.length === 0) {
12753
12715
  var typeMaps = this.typeMaps;
12754
12716
  var keys = ember$data$lib$system$object$polyfills$$keysFunc(typeMaps);
@@ -12772,7 +12734,7 @@
12772
12734
  }
12773
12735
 
12774
12736
  function byType(entry) {
12775
- return typeMaps[entry]["type"].modelName;
12737
+ return typeMaps[entry]['type'].modelName;
12776
12738
  }
12777
12739
  },
12778
12740
 
@@ -12819,13 +12781,13 @@
12819
12781
  @return {DS.PromiseArray}
12820
12782
  */
12821
12783
  filter: function (modelName, query, filter) {
12822
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
12784
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
12823
12785
 
12824
12786
  if (!Ember.ENV.ENABLE_DS_FILTER) {
12825
- Ember.deprecate("The filter API will be moved into a plugin soon. To enable store.filter using an environment flag, or to use an alternative, you can visit the ember-data-filter addon page", false, {
12826
- url: "https://github.com/ember-data/ember-data-filter",
12827
- id: "ds.store.filter-deprecated",
12828
- until: "2.0.0"
12787
+ Ember.deprecate('The filter API will be moved into a plugin soon. To enable store.filter using an environment flag, or to use an alternative, you can visit the ember-data-filter addon page', false, {
12788
+ url: 'https://github.com/ember-data/ember-data-filter',
12789
+ id: 'ds.store.filter-deprecated',
12790
+ until: '2.0.0'
12829
12791
  });
12830
12792
  }
12831
12793
 
@@ -12873,7 +12835,7 @@
12873
12835
  @return {boolean}
12874
12836
  */
12875
12837
  recordIsLoaded: function (modelName, id) {
12876
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
12838
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
12877
12839
  return this.hasRecordForId(modelName, id);
12878
12840
  },
12879
12841
 
@@ -12886,8 +12848,8 @@
12886
12848
  */
12887
12849
  metadataFor: function (modelName) {
12888
12850
  Ember.deprecate("`store.metadataFor()` has been deprecated. You can use `.get('meta')` on relationships and arrays returned from `store.query()`.", false, {
12889
- id: "ds.store.metadata-for-deprecated",
12890
- until: "2.0.0"
12851
+ id: 'ds.store.metadata-for-deprecated',
12852
+ until: '2.0.0'
12891
12853
  });
12892
12854
  return this._metadataFor(modelName);
12893
12855
  },
@@ -12899,7 +12861,7 @@
12899
12861
  @private
12900
12862
  */
12901
12863
  _metadataFor: function (modelName) {
12902
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
12864
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
12903
12865
  var typeClass = this.modelFor(modelName);
12904
12866
  return this.typeMapFor(typeClass).metadata;
12905
12867
  },
@@ -12914,8 +12876,8 @@
12914
12876
  */
12915
12877
  setMetadataFor: function (modelName, metadata) {
12916
12878
  Ember.deprecate("`store.setMetadataFor()` has been deprecated. Please return meta from your serializer's `extractMeta` hook.", false, {
12917
- id: "ds.store.set-metadata-for-deprecated",
12918
- until: "2.0.0"
12879
+ id: 'ds.store.set-metadata-for-deprecated',
12880
+ until: '2.0.0'
12919
12881
  });
12920
12882
  this._setMetadataFor(modelName, metadata);
12921
12883
  },
@@ -12927,7 +12889,7 @@
12927
12889
  @private
12928
12890
  */
12929
12891
  _setMetadataFor: function (modelName, metadata) {
12930
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
12892
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
12931
12893
  var typeClass = this.modelFor(modelName);
12932
12894
  Ember.merge(this.typeMapFor(typeClass).metadata, metadata);
12933
12895
  },
@@ -12972,7 +12934,7 @@
12972
12934
  snapshot: snapshot,
12973
12935
  resolver: resolver
12974
12936
  });
12975
- ember$data$lib$system$store$$once(this, "flushPendingSave");
12937
+ ember$data$lib$system$store$$once(this, 'flushPendingSave');
12976
12938
  },
12977
12939
 
12978
12940
  /**
@@ -12992,14 +12954,14 @@
12992
12954
  var adapter = this.adapterFor(record.type.modelName);
12993
12955
  var operation;
12994
12956
 
12995
- if (ember$data$lib$system$store$$get(record, "currentState.stateName") === "root.deleted.saved") {
12957
+ if (ember$data$lib$system$store$$get(record, 'currentState.stateName') === 'root.deleted.saved') {
12996
12958
  return resolver.resolve();
12997
12959
  } else if (record.isNew()) {
12998
- operation = "createRecord";
12960
+ operation = 'createRecord';
12999
12961
  } else if (record.isDeleted()) {
13000
- operation = "deleteRecord";
12962
+ operation = 'deleteRecord';
13001
12963
  } else {
13002
- operation = "updateRecord";
12964
+ operation = 'updateRecord';
13003
12965
  }
13004
12966
 
13005
12967
  resolver.resolve(ember$data$lib$system$store$$_commit(adapter, this, operation, snapshot));
@@ -13024,7 +12986,7 @@
13024
12986
  }
13025
12987
  if (data) {
13026
12988
  // normalize relationship IDs into records
13027
- this._backburner.schedule("normalizeRelationships", this, "_setupRelationships", internalModel, internalModel.type, data);
12989
+ this._backburner.schedule('normalizeRelationships', this, '_setupRelationships', internalModel, internalModel.type, data);
13028
12990
  this.updateId(internalModel, data);
13029
12991
  }
13030
12992
 
@@ -13087,7 +13049,7 @@
13087
13049
  @return {Object} typeMap
13088
13050
  */
13089
13051
  typeMapFor: function (typeClass) {
13090
- var typeMaps = ember$data$lib$system$store$$get(this, "typeMaps");
13052
+ var typeMaps = ember$data$lib$system$store$$get(this, 'typeMaps');
13091
13053
  var guid = Ember.guidFor(typeClass);
13092
13054
  var typeMap = typeMaps[guid];
13093
13055
 
@@ -13148,10 +13110,10 @@
13148
13110
  _modelForMixin: function (modelName) {
13149
13111
  var normalizedModelName = ember$data$lib$system$normalize$model$name$$default(modelName);
13150
13112
  var registry = this.container._registry ? this.container._registry : this.container;
13151
- var mixin = registry.resolve("mixin:" + normalizedModelName);
13113
+ var mixin = registry.resolve('mixin:' + normalizedModelName);
13152
13114
  if (mixin) {
13153
13115
  //Cache the class as a model
13154
- registry.register("model:" + normalizedModelName, DS.Model.extend(mixin));
13116
+ registry.register('model:' + normalizedModelName, DS.Model.extend(mixin));
13155
13117
  }
13156
13118
  var factory = this.modelFactoryFor(normalizedModelName);
13157
13119
  if (factory) {
@@ -13171,7 +13133,7 @@
13171
13133
  @return {DS.Model}
13172
13134
  */
13173
13135
  modelFor: function (modelName) {
13174
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
13136
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
13175
13137
 
13176
13138
  var factory = this.modelFactoryFor(modelName);
13177
13139
  if (!factory) {
@@ -13184,14 +13146,14 @@
13184
13146
  factory.modelName = factory.modelName || ember$data$lib$system$normalize$model$name$$default(modelName);
13185
13147
 
13186
13148
  // deprecate typeKey
13187
- if (!("typeKey" in factory)) {
13188
- Ember.defineProperty(factory, "typeKey", {
13149
+ if (!('typeKey' in factory)) {
13150
+ Ember.defineProperty(factory, 'typeKey', {
13189
13151
  enumerable: true,
13190
13152
  configurable: false,
13191
13153
  get: function () {
13192
- Ember.deprecate("Usage of `typeKey` has been deprecated and will be removed in Ember Data 2.0. It has been replaced by `modelName` on the model class.", false, {
13193
- id: "ds.model.type-key-replace-by-model-name",
13194
- until: "2.0.0"
13154
+ Ember.deprecate('Usage of `typeKey` has been deprecated and will be removed in Ember Data 2.0. It has been replaced by `modelName` on the model class.', false, {
13155
+ id: 'ds.model.type-key-replace-by-model-name',
13156
+ until: '2.0.0'
13195
13157
  });
13196
13158
  var typeKey = this.modelName;
13197
13159
  if (typeKey) {
@@ -13200,7 +13162,7 @@
13200
13162
  return typeKey;
13201
13163
  },
13202
13164
  set: function () {
13203
- Ember.assert("Setting typeKey is not supported. In addition, typeKey has also been deprecated in favor of modelName. Setting modelName is also not supported.");
13165
+ Ember.assert('Setting typeKey is not supported. In addition, typeKey has also been deprecated in favor of modelName. Setting modelName is also not supported.');
13204
13166
  }
13205
13167
  });
13206
13168
  }
@@ -13209,9 +13171,9 @@
13209
13171
  },
13210
13172
 
13211
13173
  modelFactoryFor: function (modelName) {
13212
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
13174
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
13213
13175
  var normalizedKey = ember$data$lib$system$normalize$model$name$$default(modelName);
13214
- return this.container.lookupFactory("model:" + normalizedKey);
13176
+ return this.container.lookupFactory('model:' + normalizedKey);
13215
13177
  },
13216
13178
 
13217
13179
  /**
@@ -13274,18 +13236,18 @@
13274
13236
 
13275
13237
  var data, modelName;
13276
13238
 
13277
- if (Ember.typeOf(modelNameArg) === "object" && Ember.typeOf(dataArg) === "undefined") {
13239
+ if (Ember.typeOf(modelNameArg) === 'object' && Ember.typeOf(dataArg) === 'undefined') {
13278
13240
  data = modelNameArg;
13279
13241
  } else {
13280
- Ember.deprecate("store.push(type, data) has been deprecated. Please provide a JSON-API document object as the first and only argument to store.push.", false, {
13281
- id: "ds.store.push-with-type-and-data-deprecated",
13282
- until: "2.0.0"
13242
+ Ember.deprecate('store.push(type, data) has been deprecated. Please provide a JSON-API document object as the first and only argument to store.push.', false, {
13243
+ id: 'ds.store.push-with-type-and-data-deprecated',
13244
+ until: '2.0.0'
13283
13245
  });
13284
- Ember.assert("Expected an object as `data` in a call to `push` for " + modelNameArg + " , but was " + Ember.typeOf(dataArg), Ember.typeOf(dataArg) === "object");
13285
- Ember.assert("You must include an `id` for " + modelNameArg + " in an object passed to `push`", dataArg.id != null && dataArg.id !== "");
13246
+ Ember.assert("Expected an object as `data` in a call to `push` for " + modelNameArg + " , but was " + Ember.typeOf(dataArg), Ember.typeOf(dataArg) === 'object');
13247
+ Ember.assert("You must include an `id` for " + modelNameArg + " in an object passed to `push`", dataArg.id != null && dataArg.id !== '');
13286
13248
  data = ember$data$lib$system$store$serializer$response$$_normalizeSerializerPayload(this.modelFor(modelNameArg), dataArg);
13287
13249
  modelName = modelNameArg;
13288
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string" || typeof data === "undefined");
13250
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string' || typeof data === 'undefined');
13289
13251
  }
13290
13252
 
13291
13253
  if (data.included) {
@@ -13294,7 +13256,7 @@
13294
13256
  });
13295
13257
  }
13296
13258
 
13297
- if (Ember.typeOf(data.data) === "array") {
13259
+ if (Ember.typeOf(data.data) === 'array') {
13298
13260
  var internalModels = ember$data$lib$system$store$$map.call(data.data, function (recordData) {
13299
13261
  return _this._pushInternalModel(recordData);
13300
13262
  });
@@ -13314,8 +13276,8 @@
13314
13276
 
13315
13277
  _pushInternalModel: function (data) {
13316
13278
  var modelName = data.type;
13317
- Ember.assert("Expected an object as 'data' in a call to 'push' for " + modelName + ", but was " + Ember.typeOf(data), Ember.typeOf(data) === "object");
13318
- Ember.assert("You must include an 'id' for " + modelName + " in an object passed to 'push'", data.id != null && data.id !== "");
13279
+ Ember.assert("Expected an object as 'data' in a call to 'push' for " + modelName + ", but was " + Ember.typeOf(data), Ember.typeOf(data) === 'object');
13280
+ Ember.assert("You must include an 'id' for " + modelName + " in an object passed to 'push'", data.id != null && data.id !== '');
13319
13281
  Ember.assert("You tried to push data with a type '" + modelName + "' but no model could be found with that name.", this._hasModelFor(modelName));
13320
13282
 
13321
13283
  var type = this.modelFor(modelName);
@@ -13326,10 +13288,10 @@
13326
13288
 
13327
13289
  if (Ember.ENV.DS_WARN_ON_UNKNOWN_KEYS) {
13328
13290
  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) {
13329
- return !(key === "id" || key === "links" || ember$data$lib$system$store$$get(type, "fields").has(key) || key.match(/Type$/));
13291
+ return !(key === 'id' || key === 'links' || ember$data$lib$system$store$$get(type, 'fields').has(key) || key.match(/Type$/));
13330
13292
  })) + ". Make sure they've been defined in your model.", filter.call(ember$data$lib$system$object$polyfills$$keysFunc(data), function (key) {
13331
- return !(key === "id" || key === "links" || ember$data$lib$system$store$$get(type, "fields").has(key) || key.match(/Type$/));
13332
- }).length === 0, { id: "ds.store.unknown-keys-in-payload" });
13293
+ return !(key === 'id' || key === 'links' || ember$data$lib$system$store$$get(type, 'fields').has(key) || key.match(/Type$/));
13294
+ }).length === 0, { id: 'ds.store.unknown-keys-in-payload' });
13333
13295
  }
13334
13296
 
13335
13297
  // Actually load the record into the store.
@@ -13338,7 +13300,7 @@
13338
13300
  var store = this;
13339
13301
 
13340
13302
  this._backburner.join(function () {
13341
- store._backburner.schedule("normalizeRelationships", store, "_setupRelationships", internalModel, type, data);
13303
+ store._backburner.schedule('normalizeRelationships', store, '_setupRelationships', internalModel, type, data);
13342
13304
  });
13343
13305
 
13344
13306
  return internalModel;
@@ -13409,10 +13371,10 @@
13409
13371
  if (!inputPayload) {
13410
13372
  payload = modelName;
13411
13373
  serializer = ember$data$lib$system$store$$defaultSerializer(this);
13412
- Ember.assert("You cannot use `store#pushPayload` without a modelName unless your default serializer defines `pushPayload`", typeof serializer.pushPayload === "function");
13374
+ Ember.assert("You cannot use `store#pushPayload` without a modelName unless your default serializer defines `pushPayload`", typeof serializer.pushPayload === 'function');
13413
13375
  } else {
13414
13376
  payload = inputPayload;
13415
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
13377
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
13416
13378
  serializer = this.serializerFor(modelName);
13417
13379
  }
13418
13380
  var store = this;
@@ -13438,7 +13400,7 @@
13438
13400
  @return {Object} The normalized payload
13439
13401
  */
13440
13402
  normalize: function (modelName, payload) {
13441
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
13403
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
13442
13404
  var serializer = this.serializerFor(modelName);
13443
13405
  var model = this.modelFor(modelName);
13444
13406
  return serializer.normalize(model, payload);
@@ -13452,10 +13414,10 @@
13452
13414
  @deprecated Use [push](#method_push) instead
13453
13415
  */
13454
13416
  update: function (modelName, data) {
13455
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
13456
- Ember.deprecate("Using store.update() has been deprecated since store.push() now handles partial updates. You should use store.push() instead.", false, {
13457
- id: "ds.store.update-deprecated",
13458
- until: "2.0.0"
13417
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
13418
+ Ember.deprecate('Using store.update() has been deprecated since store.push() now handles partial updates. You should use store.push() instead.', false, {
13419
+ id: 'ds.store.update-deprecated',
13420
+ until: '2.0.0'
13459
13421
  });
13460
13422
  return this.push(modelName, data);
13461
13423
  },
@@ -13470,10 +13432,10 @@
13470
13432
  @return {Array}
13471
13433
  */
13472
13434
  pushMany: function (modelName, datas) {
13473
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
13474
- Ember.deprecate("Using store.pushMany() has been deprecated since store.push() now handles multiple items. You should use store.push() instead.", false, {
13475
- id: "ds.store.push-many-deprecated",
13476
- until: "2.0.0"
13435
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
13436
+ Ember.deprecate('Using store.pushMany() has been deprecated since store.push() now handles multiple items. You should use store.push() instead.', false, {
13437
+ id: 'ds.store.push-many-deprecated',
13438
+ until: '2.0.0'
13477
13439
  });
13478
13440
  var length = datas.length;
13479
13441
  var result = new Array(length);
@@ -13492,10 +13454,10 @@
13492
13454
  @deprecated Use [setMetadataFor](#method_setMetadataFor) instead
13493
13455
  */
13494
13456
  metaForType: function (modelName, metadata) {
13495
- Ember.assert("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), typeof modelName === "string");
13496
- Ember.deprecate("Using store.metaForType() has been deprecated. Use store.setMetadataFor() to set metadata for a specific type.", false, {
13497
- id: "ds.store.meta-for-type-deprecated",
13498
- until: "2.0.0"
13457
+ Ember.assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of ' + Ember.inspect(modelName), typeof modelName === 'string');
13458
+ Ember.deprecate('Using store.metaForType() has been deprecated. Use store.setMetadataFor() to set metadata for a specific type.', false, {
13459
+ id: 'ds.store.meta-for-type-deprecated',
13460
+ until: '2.0.0'
13499
13461
  });
13500
13462
  this.setMetadataFor(modelName, metadata);
13501
13463
  },
@@ -13514,8 +13476,8 @@
13514
13476
  var typeMap = this.typeMapFor(type);
13515
13477
  var idToRecord = typeMap.idToRecord;
13516
13478
 
13517
- Ember.assert("The id " + id + " has already been used with another record of type " + type.toString() + ".", !id || !idToRecord[id]);
13518
- Ember.assert("`" + Ember.inspect(type) + "` does not appear to be an ember-data model", typeof type._create === "function");
13479
+ Ember.assert('The id ' + id + ' has already been used with another record of type ' + type.toString() + '.', !id || !idToRecord[id]);
13480
+ Ember.assert("`" + Ember.inspect(type) + "` does not appear to be an ember-data model", typeof type._create === 'function');
13519
13481
 
13520
13482
  // lookupFactory should really return an object that creates
13521
13483
  // instances with the injections applied
@@ -13548,9 +13510,9 @@
13548
13510
  @deprecated Use [unloadRecord](#method_unloadRecord) instead
13549
13511
  */
13550
13512
  dematerializeRecord: function (record) {
13551
- Ember.deprecate("Using store.dematerializeRecord() has been deprecated since it was intended for private use only. You should use store.unloadRecord() instead.", false, {
13552
- id: "ds.store.dematerialize-record-deprecated",
13553
- until: "2.0.0"
13513
+ Ember.deprecate('Using store.dematerializeRecord() has been deprecated since it was intended for private use only. You should use store.unloadRecord() instead.', false, {
13514
+ id: 'ds.store.dematerialize-record-deprecated',
13515
+ until: '2.0.0'
13554
13516
  });
13555
13517
  this._dematerializeRecord(record);
13556
13518
  },
@@ -13598,10 +13560,10 @@
13598
13560
  adapterFor: function (modelOrClass) {
13599
13561
  var modelName;
13600
13562
 
13601
- if (typeof modelOrClass === "string") {
13563
+ if (typeof modelOrClass === 'string') {
13602
13564
  modelName = modelOrClass;
13603
13565
  } else {
13604
- Ember.deprecate("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), false, { id: "ds.store.passing-classes-deprecated", until: "2.0.0" });
13566
+ Ember.deprecate("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), false, { id: 'ds.store.passing-classes-deprecated', until: '2.0.0' });
13605
13567
  modelName = modelOrClass.modelName;
13606
13568
  }
13607
13569
 
@@ -13636,14 +13598,14 @@
13636
13598
  serializerFor: function (modelOrClass) {
13637
13599
  var modelName;
13638
13600
 
13639
- if (typeof modelOrClass === "string") {
13601
+ if (typeof modelOrClass === 'string') {
13640
13602
  modelName = modelOrClass;
13641
13603
  } else {
13642
- Ember.deprecate("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), false, { id: "ds.store.passing-classes-deprecated", until: "2.0.0" });
13604
+ Ember.deprecate("Passing classes to store methods has been removed. Please pass a dasherized string instead of " + Ember.inspect(modelName), false, { id: 'ds.store.passing-classes-deprecated', until: '2.0.0' });
13643
13605
  modelName = modelOrClass.modelName;
13644
13606
  }
13645
13607
 
13646
- var fallbacks = ["application", this.adapterFor(modelName).get("defaultSerializer"), "-default"];
13608
+ var fallbacks = ['application', this.adapterFor(modelName).get('defaultSerializer'), '-default'];
13647
13609
 
13648
13610
  var serializer = this.lookupSerializer(modelName, fallbacks);
13649
13611
  return serializer;
@@ -13666,21 +13628,21 @@
13666
13628
  var normalizedModelName = ember$data$lib$system$normalize$model$name$$default(modelName);
13667
13629
 
13668
13630
  var instance = this._instanceCache.get(type, normalizedModelName, fallbacks);
13669
- ember$data$lib$system$store$$set(instance, "store", this);
13631
+ ember$data$lib$system$store$$set(instance, 'store', this);
13670
13632
  return instance;
13671
13633
  },
13672
13634
 
13673
13635
  lookupAdapter: function (name) {
13674
- return this.retrieveManagedInstance("adapter", name, this.get("_adapterFallbacks"));
13636
+ return this.retrieveManagedInstance('adapter', name, this.get('_adapterFallbacks'));
13675
13637
  },
13676
13638
 
13677
- _adapterFallbacks: Ember.computed("adapter", function () {
13678
- var adapter = this.get("adapter");
13679
- return ["application", adapter, "-rest"];
13639
+ _adapterFallbacks: Ember.computed('adapter', function () {
13640
+ var adapter = this.get('adapter');
13641
+ return ['application', adapter, '-rest'];
13680
13642
  }),
13681
13643
 
13682
13644
  lookupSerializer: function (name, fallbacks) {
13683
- return this.retrieveManagedInstance("serializer", name, fallbacks);
13645
+ return this.retrieveManagedInstance('serializer', name, fallbacks);
13684
13646
  },
13685
13647
 
13686
13648
  willDestroy: function () {
@@ -13705,9 +13667,9 @@
13705
13667
  var value;
13706
13668
  if (data.relationships[key] && data.relationships[key].data) {
13707
13669
  value = data.relationships[key].data;
13708
- if (kind === "belongsTo") {
13670
+ if (kind === 'belongsTo') {
13709
13671
  data.relationships[key].data = ember$data$lib$system$store$$deserializeRecordId(store, key, relationship, value);
13710
- } else if (kind === "hasMany") {
13672
+ } else if (kind === 'hasMany') {
13711
13673
  data.relationships[key].data = ember$data$lib$system$store$$deserializeRecordIds(store, key, relationship, value);
13712
13674
  }
13713
13675
  }
@@ -13741,7 +13703,7 @@
13741
13703
  // Delegation to the adapter and promise management
13742
13704
 
13743
13705
  function ember$data$lib$system$store$$defaultSerializer(store) {
13744
- return store.serializerFor("application");
13706
+ return store.serializerFor('application');
13745
13707
  }
13746
13708
 
13747
13709
  function ember$data$lib$system$store$$_commit(adapter, store, operation, snapshot) {
@@ -13810,10 +13772,10 @@
13810
13772
  var value = data.relationships[key].data;
13811
13773
 
13812
13774
  if (value !== undefined) {
13813
- if (kind === "belongsTo") {
13775
+ if (kind === 'belongsTo') {
13814
13776
  relationship = record._relationships.get(key);
13815
13777
  relationship.setCanonicalRecord(value);
13816
- } else if (kind === "hasMany") {
13778
+ } else if (kind === 'hasMany') {
13817
13779
  relationship = record._relationships.get(key);
13818
13780
  relationship.updateRecordsFromAdapter(value);
13819
13781
  }
@@ -13824,7 +13786,7 @@
13824
13786
  function ember$data$lib$system$store$$deprecatePreload(preloadOrOptions, type, methodName) {
13825
13787
  if (preloadOrOptions) {
13826
13788
  var modelProperties = [];
13827
- var fields = Ember.get(type, "fields");
13789
+ var fields = Ember.get(type, 'fields');
13828
13790
  fields.forEach(function (fieldType, key) {
13829
13791
  modelProperties.push(key);
13830
13792
  });
@@ -13832,7 +13794,7 @@
13832
13794
  var preloadDetected = false;
13833
13795
  for (var i = 0, _length = modelProperties.length; i < _length; i++) {
13834
13796
  var key = modelProperties[i];
13835
- if (typeof preloadOrOptions[key] !== "undefined") {
13797
+ if (typeof preloadOrOptions[key] !== 'undefined') {
13836
13798
  preloadDetected = true;
13837
13799
  break;
13838
13800
  }
@@ -13840,8 +13802,8 @@
13840
13802
 
13841
13803
  if (preloadDetected) {
13842
13804
  Ember.deprecate("Passing a preload argument to `store." + methodName + "` is deprecated. Please move it to the preload key on the " + methodName + " `options` argument.", false, {
13843
- id: "ds.store.preload-outside-options",
13844
- until: "2.0.0"
13805
+ id: 'ds.store.preload-outside-options',
13806
+ until: '2.0.0'
13845
13807
  });
13846
13808
  var preload = preloadOrOptions;
13847
13809
  return {
@@ -14234,50 +14196,50 @@
14234
14196
  @param {Object} [application] an application namespace
14235
14197
  */
14236
14198
  function ember$data$lib$initializers$store$$initializeStore(registry, application) {
14237
- Ember.deprecate("Specifying a custom Store for Ember Data on your global namespace as `App.Store` " + "has been deprecated. Please use `App.ApplicationStore` instead.", !(application && application.Store), { id: "ds.initializer.specifying-custom-store-on-global-namespace-deprecated", until: "2.0.0" });
14199
+ Ember.deprecate('Specifying a custom Store for Ember Data on your global namespace as `App.Store` ' + 'has been deprecated. Please use `App.ApplicationStore` instead.', !(application && application.Store), { id: 'ds.initializer.specifying-custom-store-on-global-namespace-deprecated', until: '2.0.0' });
14238
14200
 
14239
- registry.optionsForType("serializer", { singleton: false });
14240
- registry.optionsForType("adapter", { singleton: false });
14201
+ registry.optionsForType('serializer', { singleton: false });
14202
+ registry.optionsForType('adapter', { singleton: false });
14241
14203
 
14242
14204
  // allow older names to be looked up
14243
14205
  var proxy = new ember$data$lib$system$container$proxy$$default(registry);
14244
- proxy.registerDeprecations([{ deprecated: "serializer:_default", valid: "serializer:-default" }, { deprecated: "serializer:_rest", valid: "serializer:-rest" }, { deprecated: "adapter:_rest", valid: "adapter:-rest" }]);
14206
+ proxy.registerDeprecations([{ deprecated: 'serializer:_default', valid: 'serializer:-default' }, { deprecated: 'serializer:_rest', valid: 'serializer:-rest' }, { deprecated: 'adapter:_rest', valid: 'adapter:-rest' }]);
14245
14207
 
14246
14208
  // new go forward paths
14247
- registry.register("serializer:-default", ember$data$lib$serializers$json$serializer$$default.extend({ isNewSerializerAPI: true }));
14248
- registry.register("serializer:-rest", ember$data$lib$serializers$rest$serializer$$default.extend({ isNewSerializerAPI: true }));
14249
- registry.register("adapter:-rest", ember$data$lib$adapters$rest$adapter$$default);
14209
+ registry.register('serializer:-default', ember$data$lib$serializers$json$serializer$$default.extend({ isNewSerializerAPI: true }));
14210
+ registry.register('serializer:-rest', ember$data$lib$serializers$rest$serializer$$default.extend({ isNewSerializerAPI: true }));
14211
+ registry.register('adapter:-rest', ember$data$lib$adapters$rest$adapter$$default);
14250
14212
 
14251
- registry.register("adapter:-json-api", ember$data$lib$adapters$json$api$adapter$$default);
14252
- registry.register("serializer:-json-api", ember$data$lib$serializers$json$api$serializer$$default);
14213
+ registry.register('adapter:-json-api', ember$data$lib$adapters$json$api$adapter$$default);
14214
+ registry.register('serializer:-json-api', ember$data$lib$serializers$json$api$serializer$$default);
14253
14215
 
14254
14216
  var store;
14255
- if (registry.has("store:main")) {
14256
- Ember.deprecate("Registering a custom store as `store:main` or defining a store in app/store.js has been deprecated. Please move you store to `service:store` or define your custom store in `app/services/store.js`", false, {
14257
- id: "ds.initializer.custom-store-as-store-main-deprecated",
14258
- until: "2.0.0"
14217
+ if (registry.has('store:main')) {
14218
+ Ember.deprecate('Registering a custom store as `store:main` or defining a store in app/store.js has been deprecated. Please move you store to `service:store` or define your custom store in `app/services/store.js`', false, {
14219
+ id: 'ds.initializer.custom-store-as-store-main-deprecated',
14220
+ until: '2.0.0'
14259
14221
  });
14260
- store = registry.lookup("store:main");
14222
+ store = registry.lookup('store:main');
14261
14223
  } else {
14262
14224
  var storeMainProxy = new ember$data$lib$system$container$proxy$$default(registry);
14263
- storeMainProxy.registerDeprecations([{ deprecated: "store:main", valid: "service:store" }]);
14225
+ storeMainProxy.registerDeprecations([{ deprecated: 'store:main', valid: 'service:store' }]);
14264
14226
  }
14265
14227
 
14266
- if (registry.has("store:application")) {
14267
- Ember.deprecate("Registering a custom store as `store:main` or defining a store in app/store.js has been deprecated. Please move you store to `service:store` or define your custom store in `app/services/store.js`", false, {
14268
- id: "ds.initializer.custom-store-as-store-main-deprecated",
14269
- until: "2.0.0"
14228
+ if (registry.has('store:application')) {
14229
+ Ember.deprecate('Registering a custom store as `store:main` or defining a store in app/store.js has been deprecated. Please move you store to `service:store` or define your custom store in `app/services/store.js`', false, {
14230
+ id: 'ds.initializer.custom-store-as-store-main-deprecated',
14231
+ until: '2.0.0'
14270
14232
  });
14271
- store = registry.lookup("store:application");
14233
+ store = registry.lookup('store:application');
14272
14234
  } else {
14273
14235
  var storeApplicationProxy = new ember$data$lib$system$container$proxy$$default(registry);
14274
- storeApplicationProxy.registerDeprecations([{ deprecated: "store:application", valid: "service:store" }]);
14236
+ storeApplicationProxy.registerDeprecations([{ deprecated: 'store:application', valid: 'service:store' }]);
14275
14237
  }
14276
14238
 
14277
14239
  if (store) {
14278
- registry.register("service:store", store, { instantiate: false });
14279
- } else if (!registry.has("service:store")) {
14280
- registry.register("service:store", application && application.Store || ember$data$lib$system$store$$default);
14240
+ registry.register('service:store', store, { instantiate: false });
14241
+ } else if (!registry.has('service:store')) {
14242
+ registry.register('service:store', application && application.Store || ember$data$lib$system$store$$default);
14281
14243
  }
14282
14244
  }
14283
14245
 
@@ -14368,9 +14330,9 @@
14368
14330
  deserialize: function (serialized) {
14369
14331
  var type = typeof serialized;
14370
14332
 
14371
- if (type === 'string') {
14333
+ if (type === "string") {
14372
14334
  return new Date(Ember.Date.parse(serialized));
14373
- } else if (type === 'number') {
14335
+ } else if (type === "number") {
14374
14336
  return new Date(serialized);
14375
14337
  } else if (serialized === null || serialized === undefined) {
14376
14338
  // if the value is null return null
@@ -14497,7 +14459,7 @@
14497
14459
 
14498
14460
  this.eachComputedProperty(function (name, meta) {
14499
14461
  if (meta.isAttribute) {
14500
- Ember.assert("You may not set `id` as an attribute on your model. Please remove any lines that look like: `id: DS.attr('<type>')` from " + this.toString(), name !== "id");
14462
+ Ember.assert("You may not set `id` as an attribute on your model. Please remove any lines that look like: `id: DS.attr('<type>')` from " + this.toString(), name !== 'id');
14501
14463
 
14502
14464
  meta.name = name;
14503
14465
  map.set(name, meta);
@@ -14583,7 +14545,7 @@
14583
14545
  @static
14584
14546
  */
14585
14547
  eachAttribute: function (callback, binding) {
14586
- ember$data$lib$system$model$attributes$$get(this, "attributes").forEach(function (meta, name) {
14548
+ ember$data$lib$system$model$attributes$$get(this, 'attributes').forEach(function (meta, name) {
14587
14549
  callback.call(binding, name, meta);
14588
14550
  }, binding);
14589
14551
  },
@@ -14623,7 +14585,7 @@
14623
14585
  @static
14624
14586
  */
14625
14587
  eachTransformedAttribute: function (callback, binding) {
14626
- ember$data$lib$system$model$attributes$$get(this, "transformedAttributes").forEach(function (type, name) {
14588
+ ember$data$lib$system$model$attributes$$get(this, 'transformedAttributes').forEach(function (type, name) {
14627
14589
  callback.call(binding, name, type);
14628
14590
  });
14629
14591
  }
@@ -14708,7 +14670,7 @@
14708
14670
  @return {Attribute}
14709
14671
  */
14710
14672
  function ember$data$lib$system$model$attributes$$attr(type, options) {
14711
- if (typeof type === "object") {
14673
+ if (typeof type === 'object') {
14712
14674
  options = type;
14713
14675
  type = undefined;
14714
14676
  } else {
@@ -14731,7 +14693,7 @@
14731
14693
  }
14732
14694
  },
14733
14695
  set: function (key, value) {
14734
- Ember.assert("You may not set `id` as an attribute on your model. Please remove any lines that look like: `id: DS.attr('<type>')` from " + this.constructor.toString(), key !== "id");
14696
+ Ember.assert("You may not set `id` as an attribute on your model. Please remove any lines that look like: `id: DS.attr('<type>')` from " + this.constructor.toString(), key !== 'id');
14735
14697
  var internalModel = this._internalModel;
14736
14698
  var oldValue = ember$data$lib$system$model$attributes$$getValue(internalModel, key);
14737
14699
 
@@ -14740,7 +14702,7 @@
14740
14702
  // the 'didSetProperty' handler if it is no different from the original value
14741
14703
  internalModel._attributes[key] = value;
14742
14704
 
14743
- this._internalModel.send("didSetProperty", {
14705
+ this._internalModel.send('didSetProperty', {
14744
14706
  name: key,
14745
14707
  oldValue: oldValue,
14746
14708
  originalValue: internalModel._data[key],
@@ -14796,7 +14758,7 @@
14796
14758
  }
14797
14759
  }
14798
14760
  }
14799
- ember$data$lib$system$debug$debug$adapter$$assert('Cannot find model name. Please upgrade to Ember.js >= 1.13 for Ember Inspector support', !!modelName);
14761
+ ember$data$lib$system$debug$debug$adapter$$assert("Cannot find model name. Please upgrade to Ember.js >= 1.13 for Ember Inspector support", !!modelName);
14800
14762
  return this.get('store').peekAll(modelName);
14801
14763
  },
14802
14764
 
@@ -14885,7 +14847,7 @@
14885
14847
  @param {Ember.Registry} registry
14886
14848
  */
14887
14849
  function ember$data$lib$initializers$data$adapter$$initializeDebugAdapter(registry) {
14888
- registry.register("data-adapter:main", ember$data$lib$system$debug$debug$adapter$$default);
14850
+ registry.register('data-adapter:main', ember$data$lib$system$debug$debug$adapter$$default);
14889
14851
  }
14890
14852
  var ember$data$lib$instance$initializers$initialize$store$service$$default = ember$data$lib$instance$initializers$initialize$store$service$$initializeStoreService;
14891
14853
  /**
@@ -14979,51 +14941,51 @@
14979
14941
  Ember.onLoad('Ember.Application', function (Application) {
14980
14942
 
14981
14943
  Application.initializer({
14982
- name: 'ember-data',
14944
+ name: "ember-data",
14983
14945
  initialize: ember$data$lib$setup$container$$initializeInjects
14984
14946
  });
14985
14947
 
14986
14948
  if (Application.instanceInitializer) {
14987
14949
  Application.instanceInitializer({
14988
- name: 'ember-data',
14950
+ name: "ember-data",
14989
14951
  initialize: ember$data$lib$instance$initializers$initialize$store$service$$default
14990
14952
  });
14991
14953
  } else {
14992
14954
  Application.initializer({
14993
- name: 'ember-data-store-service',
14994
- after: 'ember-data',
14955
+ name: "ember-data-store-service",
14956
+ after: "ember-data",
14995
14957
  initialize: ember$data$lib$instance$initializers$initialize$store$service$$default
14996
14958
  });
14997
14959
  }
14998
14960
 
14999
14961
  // Deprecated initializers to satisfy old code that depended on them
15000
14962
  Application.initializer({
15001
- name: 'store',
15002
- after: 'ember-data',
14963
+ name: "store",
14964
+ after: "ember-data",
15003
14965
  initialize: ember$data$lib$ember$initializer$$K
15004
14966
  });
15005
14967
 
15006
14968
  Application.initializer({
15007
- name: 'activeModelAdapter',
15008
- before: 'store',
14969
+ name: "activeModelAdapter",
14970
+ before: "store",
15009
14971
  initialize: ember$data$lib$ember$initializer$$K
15010
14972
  });
15011
14973
 
15012
14974
  Application.initializer({
15013
- name: 'transforms',
15014
- before: 'store',
14975
+ name: "transforms",
14976
+ before: "store",
15015
14977
  initialize: ember$data$lib$ember$initializer$$K
15016
14978
  });
15017
14979
 
15018
14980
  Application.initializer({
15019
- name: 'data-adapter',
15020
- before: 'store',
14981
+ name: "data-adapter",
14982
+ before: "store",
15021
14983
  initialize: ember$data$lib$ember$initializer$$K
15022
14984
  });
15023
14985
 
15024
14986
  Application.initializer({
15025
- name: 'injectStore',
15026
- before: 'store',
14987
+ name: "injectStore",
14988
+ before: "store",
15027
14989
  initialize: ember$data$lib$ember$initializer$$K
15028
14990
  });
15029
14991
  });
@@ -15519,14 +15481,14 @@
15519
15481
  typeClass.eachRelationship(function (key, relationship) {
15520
15482
  if (serializer.hasDeserializeRecordsOption(key)) {
15521
15483
  var embeddedTypeClass = store.modelFor(relationship.type);
15522
- if (relationship.kind === 'hasMany') {
15484
+ if (relationship.kind === "hasMany") {
15523
15485
  if (relationship.options.polymorphic) {
15524
15486
  this._extractEmbeddedHasManyPolymorphic(store, key, partial);
15525
15487
  } else {
15526
15488
  this._extractEmbeddedHasMany(store, key, embeddedTypeClass, partial);
15527
15489
  }
15528
15490
  }
15529
- if (relationship.kind === 'belongsTo') {
15491
+ if (relationship.kind === "belongsTo") {
15530
15492
  if (relationship.options.polymorphic) {
15531
15493
  this._extractEmbeddedBelongsToPolymorphic(store, key, partial);
15532
15494
  } else {
@@ -15679,10 +15641,10 @@
15679
15641
 
15680
15642
  typeClass.eachRelationship(function (key, relationship) {
15681
15643
  if (serializer.hasDeserializeRecordsOption(key)) {
15682
- if (relationship.kind === 'hasMany') {
15644
+ if (relationship.kind === "hasMany") {
15683
15645
  _this2._extractEmbeddedHasMany(store, key, partial, relationship);
15684
15646
  }
15685
- if (relationship.kind === 'belongsTo') {
15647
+ if (relationship.kind === "belongsTo") {
15686
15648
  _this2._extractEmbeddedBelongsTo(store, key, partial, relationship);
15687
15649
  }
15688
15650
  }
@@ -15826,7 +15788,7 @@
15826
15788
  */
15827
15789
  function ember$data$lib$system$relationships$belongs$to$$belongsTo(modelName, options) {
15828
15790
  var opts, userEnteredModelName;
15829
- if (typeof modelName === "object") {
15791
+ if (typeof modelName === 'object') {
15830
15792
  opts = modelName;
15831
15793
  userEnteredModelName = undefined;
15832
15794
  } else {
@@ -15834,16 +15796,16 @@
15834
15796
  userEnteredModelName = modelName;
15835
15797
  }
15836
15798
 
15837
- if (typeof userEnteredModelName === "string") {
15799
+ if (typeof userEnteredModelName === 'string') {
15838
15800
  userEnteredModelName = ember$data$lib$system$normalize$model$name$$default(userEnteredModelName);
15839
15801
  }
15840
15802
 
15841
- Ember.assert("The first argument to DS.belongsTo must be a string representing a model type key, not an instance of " + Ember.inspect(userEnteredModelName) + ". E.g., to define a relation to the Person model, use DS.belongsTo('person')", typeof userEnteredModelName === "string" || typeof userEnteredModelName === "undefined");
15803
+ Ember.assert("The first argument to DS.belongsTo must be a string representing a model type key, not an instance of " + Ember.inspect(userEnteredModelName) + ". E.g., to define a relation to the Person model, use DS.belongsTo('person')", typeof userEnteredModelName === 'string' || typeof userEnteredModelName === 'undefined');
15842
15804
 
15843
15805
  opts = opts || {};
15844
15806
 
15845
15807
  var shouldWarnAsync = false;
15846
- if (typeof opts.async === "undefined") {
15808
+ if (typeof opts.async === 'undefined') {
15847
15809
  shouldWarnAsync = true;
15848
15810
  }
15849
15811
 
@@ -15851,31 +15813,31 @@
15851
15813
  type: userEnteredModelName,
15852
15814
  isRelationship: true,
15853
15815
  options: opts,
15854
- kind: "belongsTo",
15816
+ kind: 'belongsTo',
15855
15817
  key: null,
15856
15818
  shouldWarnAsync: shouldWarnAsync
15857
15819
  };
15858
15820
 
15859
15821
  return ember$new$computed$lib$main$$default({
15860
15822
  get: function (key) {
15861
- if (opts.hasOwnProperty("serialize")) {
15823
+ if (opts.hasOwnProperty('serialize')) {
15862
15824
  Ember.warn("You provided a serialize option on the \"" + key + "\" property in the \"" + this._internalModel.modelName + "\" class, this belongs in the serializer. See DS.Serializer and it's implementations http://emberjs.com/api/data/classes/DS.Serializer.html", false, {
15863
- id: "ds.model.serialize-option-in-belongs-to"
15825
+ id: 'ds.model.serialize-option-in-belongs-to'
15864
15826
  });
15865
15827
  }
15866
15828
 
15867
- if (opts.hasOwnProperty("embedded")) {
15829
+ if (opts.hasOwnProperty('embedded')) {
15868
15830
  Ember.warn("You provided an embedded option on the \"" + key + "\" property in the \"" + this._internalModel.modelName + "\" class, this belongs in the serializer. See DS.EmbeddedRecordsMixin http://emberjs.com/api/data/classes/DS.EmbeddedRecordsMixin.html", false, {
15869
- id: "ds.model.embedded-option-in-belongs-to"
15831
+ id: 'ds.model.embedded-option-in-belongs-to'
15870
15832
  });
15871
15833
  }
15872
15834
 
15873
15835
  if (meta.shouldWarnAsync) {
15874
15836
  Ember.deprecate("In Ember Data 2.0, relationships will be asynchronous by default. You must set `" + key + ": DS.belongsTo('" + modelName + "', { async: false })` if you wish for a relationship remain synchronous.", false, {
15875
- id: "ds.model.relationship-changing-to-asynchrounous-by-default",
15876
- until: "2.0.0"
15837
+ id: 'ds.model.relationship-changing-to-asynchrounous-by-default',
15838
+ until: '2.0.0'
15877
15839
  });
15878
- meta.shouldWarnAsycn = false;
15840
+ meta.shouldWarnAsync = false;
15879
15841
  }
15880
15842
 
15881
15843
  return this._internalModel._relationships.get(key).getRecord();
@@ -16016,21 +15978,21 @@
16016
15978
  @return {Ember.computed} relationship
16017
15979
  */
16018
15980
  function ember$data$lib$system$relationships$has$many$$hasMany(type, options) {
16019
- if (typeof type === "object") {
15981
+ if (typeof type === 'object') {
16020
15982
  options = type;
16021
15983
  type = undefined;
16022
15984
  }
16023
15985
 
16024
- Ember.assert("The first argument to DS.hasMany must be a string representing a model type key, not an instance of " + Ember.inspect(type) + ". E.g., to define a relation to the Comment model, use DS.hasMany('comment')", typeof type === "string" || typeof type === "undefined");
15986
+ Ember.assert("The first argument to DS.hasMany must be a string representing a model type key, not an instance of " + Ember.inspect(type) + ". E.g., to define a relation to the Comment model, use DS.hasMany('comment')", typeof type === 'string' || typeof type === 'undefined');
16025
15987
 
16026
15988
  options = options || {};
16027
15989
 
16028
15990
  var shouldWarnAsync = false;
16029
- if (typeof options.async === "undefined") {
15991
+ if (typeof options.async === 'undefined') {
16030
15992
  shouldWarnAsync = true;
16031
15993
  }
16032
15994
 
16033
- if (typeof type === "string") {
15995
+ if (typeof type === 'string') {
16034
15996
  type = ember$data$lib$system$normalize$model$name$$default(type);
16035
15997
  }
16036
15998
 
@@ -16042,7 +16004,7 @@
16042
16004
  type: type,
16043
16005
  isRelationship: true,
16044
16006
  options: options,
16045
- kind: "hasMany",
16007
+ kind: 'hasMany',
16046
16008
  key: null,
16047
16009
  shouldWarnAsync: shouldWarnAsync
16048
16010
  };
@@ -16051,8 +16013,8 @@
16051
16013
  get: function (key) {
16052
16014
  if (meta.shouldWarnAsync) {
16053
16015
  Ember.deprecate("In Ember Data 2.0, relationships will be asynchronous by default. You must set `" + key + ": DS.hasMany('" + type + "', { async: false })` if you wish for a relationship remain synchronous.", false, {
16054
- id: "ds.model.relationship-changing-to-asynchrounous-by-default",
16055
- until: "2.0.0"
16016
+ id: 'ds.model.relationship-changing-to-asynchrounous-by-default',
16017
+ until: '2.0.0'
16056
16018
  });
16057
16019
  meta.shouldWarnAsync = false;
16058
16020
  }
@@ -16063,7 +16025,7 @@
16063
16025
  var relationship = this._internalModel._relationships.get(key);
16064
16026
  relationship.clear();
16065
16027
  Ember.assert("You must pass an array of records to set a hasMany relationship", Ember.isArray(records));
16066
- relationship.addRecords(Ember.A(records).mapBy("_internalModel"));
16028
+ relationship.addRecords(Ember.A(records).mapBy('_internalModel'));
16067
16029
  return relationship.getRecords();
16068
16030
  }
16069
16031
  }).meta(meta);
@@ -16081,6 +16043,7 @@
16081
16043
  });
16082
16044
 
16083
16045
  var ember$data$lib$system$relationships$has$many$$default = ember$data$lib$system$relationships$has$many$$hasMany;
16046
+
16084
16047
  function ember$data$lib$system$relationship$meta$$typeForRelationshipMeta(meta) {
16085
16048
  var modelName;
16086
16049
 
@@ -16267,7 +16230,7 @@
16267
16230
  @return {DS.Model} the type of the relationship, or undefined
16268
16231
  */
16269
16232
  typeForRelationship: function (name, store) {
16270
- var relationship = ember$data$lib$system$relationships$ext$$get(this, "relationshipsByName").get(name);
16233
+ var relationship = ember$data$lib$system$relationships$ext$$get(this, 'relationshipsByName').get(name);
16271
16234
  return relationship && store.modelFor(relationship.type);
16272
16235
  },
16273
16236
 
@@ -16298,7 +16261,7 @@
16298
16261
  @return {Object} the inverse relationship, or null
16299
16262
  */
16300
16263
  inverseFor: function (name, store) {
16301
- var inverseMap = ember$data$lib$system$relationships$ext$$get(this, "inverseMap");
16264
+ var inverseMap = ember$data$lib$system$relationships$ext$$get(this, 'inverseMap');
16302
16265
  if (inverseMap[name]) {
16303
16266
  return inverseMap[name];
16304
16267
  } else {
@@ -16328,7 +16291,7 @@
16328
16291
  //If inverse is specified manually, return the inverse
16329
16292
  if (options.inverse) {
16330
16293
  inverseName = options.inverse;
16331
- inverse = Ember.get(inverseType, "relationshipsByName").get(inverseName);
16294
+ inverse = Ember.get(inverseType, 'relationshipsByName').get(inverseName);
16332
16295
 
16333
16296
  Ember.assert("We found no inverse relationships by the name of '" + inverseName + "' on the '" + inverseType.modelName + "' model. This is most likely due to a missing attribute on your model definition.", !Ember.isNone(inverse));
16334
16297
 
@@ -16337,7 +16300,7 @@
16337
16300
  //No inverse was specified manually, we need to use a heuristic to guess one
16338
16301
  if (propertyMeta.type === propertyMeta.parentType.modelName) {
16339
16302
  Ember.warn("Detected a reflexive relationship by the name of '" + name + "' without an inverse option. Look at http://emberjs.com/guides/models/defining-models/#toc_reflexive-relation for how to explicitly specify inverses.", false, {
16340
- id: "ds.model.reflexive-relationship-without-inverse"
16303
+ id: 'ds.model.reflexive-relationship-without-inverse'
16341
16304
  });
16342
16305
  }
16343
16306
 
@@ -16367,7 +16330,7 @@
16367
16330
  function findPossibleInverses(type, inverseType, relationshipsSoFar) {
16368
16331
  var possibleRelationships = relationshipsSoFar || [];
16369
16332
 
16370
- var relationshipMap = ember$data$lib$system$relationships$ext$$get(inverseType, "relationships");
16333
+ var relationshipMap = ember$data$lib$system$relationships$ext$$get(inverseType, 'relationships');
16371
16334
  if (!relationshipMap) {
16372
16335
  return possibleRelationships;
16373
16336
  }
@@ -16575,7 +16538,7 @@
16575
16538
  if (meta.isRelationship) {
16576
16539
  map.set(name, meta.kind);
16577
16540
  } else if (meta.isAttribute) {
16578
- map.set(name, "attribute");
16541
+ map.set(name, 'attribute');
16579
16542
  }
16580
16543
  });
16581
16544
 
@@ -16592,7 +16555,7 @@
16592
16555
  @param {any} binding the value to which the callback's `this` should be bound
16593
16556
  */
16594
16557
  eachRelationship: function (callback, binding) {
16595
- ember$data$lib$system$relationships$ext$$get(this, "relationshipsByName").forEach(function (relationship, name) {
16558
+ ember$data$lib$system$relationships$ext$$get(this, 'relationshipsByName').forEach(function (relationship, name) {
16596
16559
  callback.call(binding, name, relationship);
16597
16560
  });
16598
16561
  },
@@ -16608,7 +16571,7 @@
16608
16571
  @param {any} binding the value to which the callback's `this` should be bound
16609
16572
  */
16610
16573
  eachRelatedType: function (callback, binding) {
16611
- ember$data$lib$system$relationships$ext$$get(this, "relatedTypes").forEach(function (type) {
16574
+ ember$data$lib$system$relationships$ext$$get(this, 'relatedTypes').forEach(function (type) {
16612
16575
  callback.call(binding, type);
16613
16576
  });
16614
16577
  },
@@ -16620,16 +16583,16 @@
16620
16583
  var key, otherKind;
16621
16584
 
16622
16585
  if (!inverse) {
16623
- return knownKind === "belongsTo" ? "oneToNone" : "manyToNone";
16586
+ return knownKind === 'belongsTo' ? 'oneToNone' : 'manyToNone';
16624
16587
  }
16625
16588
 
16626
16589
  key = inverse.name;
16627
16590
  otherKind = inverse.kind;
16628
16591
 
16629
- if (otherKind === "belongsTo") {
16630
- return knownKind === "belongsTo" ? "oneToOne" : "manyToOne";
16592
+ if (otherKind === 'belongsTo') {
16593
+ return knownKind === 'belongsTo' ? 'oneToOne' : 'manyToOne';
16631
16594
  } else {
16632
- return knownKind === "belongsTo" ? "oneToMany" : "manyToMany";
16595
+ return knownKind === 'belongsTo' ? 'oneToMany' : 'manyToMany';
16633
16596
  }
16634
16597
  }
16635
16598
 
@@ -16680,7 +16643,7 @@
16680
16643
  },
16681
16644
 
16682
16645
  relationshipFor: function (name) {
16683
- return ember$data$lib$system$relationships$ext$$get(this.constructor, "relationshipsByName").get(name);
16646
+ return ember$data$lib$system$relationships$ext$$get(this.constructor, 'relationshipsByName').get(name);
16684
16647
  },
16685
16648
 
16686
16649
  inverseFor: function (key) {
@@ -16758,13 +16721,13 @@
16758
16721
  var ember$data$lib$main$$_ActiveModelSerializer = activemodel$adapter$lib$system$active$model$serializer$$default;
16759
16722
 
16760
16723
  if (Ember.platform.hasPropertyAccessors) {
16761
- Ember.defineProperty(ember$data$lib$core$$default, "ActiveModelAdapter", {
16724
+ Ember.defineProperty(ember$data$lib$core$$default, 'ActiveModelAdapter', {
16762
16725
  get: function () {
16763
16726
  if (ember$data$lib$main$$_ActiveModelSerializer === activemodel$adapter$lib$system$active$model$adapter$$default) {
16764
- Ember.deprecate("The ActiveModelAdapter has been moved into a plugin. It will not be bundled with Ember Data in 2.0", false, {
16765
- url: "https://github.com/ember-data/active-model-adapter",
16766
- id: "ds.adapter.active-model-adapter-deprecated",
16767
- until: "2.0.0"
16727
+ Ember.deprecate('The ActiveModelAdapter has been moved into a plugin. It will not be bundled with Ember Data in 2.0', false, {
16728
+ url: 'https://github.com/ember-data/active-model-adapter',
16729
+ id: 'ds.adapter.active-model-adapter-deprecated',
16730
+ until: '2.0.0'
16768
16731
  });
16769
16732
  }
16770
16733
  return ember$data$lib$main$$_ActiveModelAdapter;
@@ -16773,13 +16736,13 @@
16773
16736
  ember$data$lib$main$$_ActiveModelAdapter = ActiveModelAdapter;
16774
16737
  }
16775
16738
  });
16776
- Ember.defineProperty(ember$data$lib$core$$default, "ActiveModelSerializer", {
16739
+ Ember.defineProperty(ember$data$lib$core$$default, 'ActiveModelSerializer', {
16777
16740
  get: function () {
16778
16741
  if (ember$data$lib$main$$_ActiveModelSerializer === activemodel$adapter$lib$system$active$model$serializer$$default) {
16779
- Ember.deprecate("The ActiveModelSerializer has been moved into a plugin. It will not be bundled with Ember Data in 2.0", false, {
16780
- url: "https://github.com/ember-data/active-model-adapter",
16781
- id: "ds.serializer.active-model-serializer-deprecated",
16782
- until: "2.0.0"
16742
+ Ember.deprecate('The ActiveModelSerializer has been moved into a plugin. It will not be bundled with Ember Data in 2.0', false, {
16743
+ url: 'https://github.com/ember-data/active-model-adapter',
16744
+ id: 'ds.serializer.active-model-serializer-deprecated',
16745
+ until: '2.0.0'
16783
16746
  });
16784
16747
  }
16785
16748
  return ember$data$lib$main$$_ActiveModelSerializer;
@@ -16803,7 +16766,7 @@
16803
16766
 
16804
16767
  ember$data$lib$core$$default._setupContainer = ember$data$lib$setup$container$$default;
16805
16768
 
16806
- Ember.defineProperty(ember$data$lib$core$$default, "normalizeModelName", {
16769
+ Ember.defineProperty(ember$data$lib$core$$default, 'normalizeModelName', {
16807
16770
  enumerable: true,
16808
16771
  writable: false,
16809
16772
  configurable: false,
@@ -16813,12 +16776,12 @@
16813
16776
  var ember$data$lib$main$$_FixtureAdapter = ember$data$lib$adapters$fixture$adapter$$default;
16814
16777
 
16815
16778
  if (Ember.platform.hasPropertyAccessors) {
16816
- Ember.defineProperty(ember$data$lib$core$$default, "FixtureAdapter", {
16779
+ Ember.defineProperty(ember$data$lib$core$$default, 'FixtureAdapter', {
16817
16780
  get: function () {
16818
16781
  if (ember$data$lib$main$$_FixtureAdapter === ember$data$lib$adapters$fixture$adapter$$default) {
16819
- Ember.deprecate("DS.FixtureAdapter has been deprecated and moved into an unsupported addon: https://github.com/emberjs/ember-data-fixture-adapter/tree/master", false, {
16820
- id: "ds.adapter.fixture-adapter-deprecated",
16821
- until: "2.0.0"
16782
+ Ember.deprecate('DS.FixtureAdapter has been deprecated and moved into an unsupported addon: https://github.com/emberjs/ember-data-fixture-adapter/tree/master', false, {
16783
+ id: 'ds.adapter.fixture-adapter-deprecated',
16784
+ until: '2.0.0'
16822
16785
  });
16823
16786
  }
16824
16787
  return ember$data$lib$main$$_FixtureAdapter;
@@ -16834,6 +16797,37 @@
16834
16797
  Ember.lookup.DS = ember$data$lib$core$$default;
16835
16798
 
16836
16799
  var ember$data$lib$main$$default = ember$data$lib$core$$default;
16800
+ var ember$inflector$lib$lib$utils$make$helper$$default = ember$inflector$lib$lib$utils$make$helper$$makeHelper;
16801
+ function ember$inflector$lib$lib$utils$make$helper$$makeHelper(helperFunction) {
16802
+ if (ember$lib$main$$default.Helper) {
16803
+ return ember$lib$main$$default.Helper.helper(helperFunction);
16804
+ }
16805
+ if (ember$lib$main$$default.HTMLBars) {
16806
+ return ember$lib$main$$default.HTMLBars.makeBoundHelper(helperFunction);
16807
+ }
16808
+ return ember$lib$main$$default.Handlebars.makeBoundHelper(helperFunction);
16809
+ }
16810
+
16811
+ var ember$inflector$lib$lib$helpers$pluralize$$default = ember$inflector$lib$lib$utils$make$helper$$default(function (params) {
16812
+ var count, word;
16813
+
16814
+ if (params.length === 1) {
16815
+ word = params[0];
16816
+ return ember$inflector$lib$lib$system$string$$pluralize(word);
16817
+ } else {
16818
+ count = params[0];
16819
+ word = params[1];
16820
+
16821
+ if ((count | 0) !== 1) {
16822
+ word = ember$inflector$lib$lib$system$string$$pluralize(word);
16823
+ }
16824
+ return count + " " + word;
16825
+ }
16826
+ });
16827
+
16828
+ var ember$inflector$lib$lib$helpers$singularize$$default = ember$inflector$lib$lib$utils$make$helper$$default(function (params) {
16829
+ return ember$inflector$lib$lib$system$string$$singularize(params[0]);
16830
+ });
16837
16831
  }).call(this);
16838
16832
 
16839
16833
  //# sourceMappingURL=ember-data.js.map