@ember-data/store 4.1.0 → 4.2.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -723,21 +723,6 @@ abstract class CoreStore extends Service {
|
|
|
723
723
|
if (internalModel) {
|
|
724
724
|
internalModel.deleteRecord();
|
|
725
725
|
}
|
|
726
|
-
} else {
|
|
727
|
-
deprecate(
|
|
728
|
-
`You passed a non ember-data managed record ${record} to store.deleteRecord. Ember Data store is not meant to manage non store records. This is not supported and will be removed`,
|
|
729
|
-
false,
|
|
730
|
-
{
|
|
731
|
-
id: 'ember-data:delete-record-non-store',
|
|
732
|
-
until: '4.0',
|
|
733
|
-
for: '@ember-data/store',
|
|
734
|
-
since: {
|
|
735
|
-
available: '3.28',
|
|
736
|
-
enabled: '3.28',
|
|
737
|
-
},
|
|
738
|
-
}
|
|
739
|
-
);
|
|
740
|
-
record.deleteRecord();
|
|
741
726
|
}
|
|
742
727
|
} else {
|
|
743
728
|
record.deleteRecord();
|
|
@@ -772,21 +757,6 @@ abstract class CoreStore extends Service {
|
|
|
772
757
|
if (internalModel) {
|
|
773
758
|
internalModel.unloadRecord();
|
|
774
759
|
}
|
|
775
|
-
} else {
|
|
776
|
-
deprecate(
|
|
777
|
-
`You passed a non ember-data managed record ${record} to store.unloadRecord. Ember Data store is not meant to manage non store records. This is not supported and will be removed`,
|
|
778
|
-
false,
|
|
779
|
-
{
|
|
780
|
-
id: 'ember-data:unload-record-non-store',
|
|
781
|
-
until: '4.0',
|
|
782
|
-
for: '@ember-data/store',
|
|
783
|
-
since: {
|
|
784
|
-
available: '3.28',
|
|
785
|
-
enabled: '3.28',
|
|
786
|
-
},
|
|
787
|
-
}
|
|
788
|
-
);
|
|
789
|
-
record.unloadRecord();
|
|
790
760
|
}
|
|
791
761
|
} else {
|
|
792
762
|
record.unloadRecord();
|
|
@@ -1278,7 +1248,7 @@ abstract class CoreStore extends Service {
|
|
|
1278
1248
|
return Promise.resolve(internalModel);
|
|
1279
1249
|
}
|
|
1280
1250
|
|
|
1281
|
-
_findByInternalModel(internalModel
|
|
1251
|
+
_findByInternalModel(internalModel, options: { preload?: any } = {}) {
|
|
1282
1252
|
if (options.preload) {
|
|
1283
1253
|
this._backburner.join(() => {
|
|
1284
1254
|
internalModel.preloadData(options.preload);
|
|
@@ -1293,7 +1263,7 @@ abstract class CoreStore extends Service {
|
|
|
1293
1263
|
);
|
|
1294
1264
|
}
|
|
1295
1265
|
|
|
1296
|
-
_findEmptyInternalModel(internalModel
|
|
1266
|
+
_findEmptyInternalModel(internalModel, options) {
|
|
1297
1267
|
if (internalModel.currentState.isEmpty) {
|
|
1298
1268
|
return this._scheduleFetch(internalModel, options);
|
|
1299
1269
|
}
|
|
@@ -1305,9 +1275,9 @@ abstract class CoreStore extends Service {
|
|
|
1305
1275
|
}
|
|
1306
1276
|
} else {
|
|
1307
1277
|
if (internalModel.currentState.isLoading) {
|
|
1308
|
-
let
|
|
1309
|
-
if (
|
|
1310
|
-
return
|
|
1278
|
+
let pending = this._fetchManager.getPendingFetch(internalModel.identifier);
|
|
1279
|
+
if (pending) {
|
|
1280
|
+
return pending.then(() => Promise.resolve(internalModel));
|
|
1311
1281
|
}
|
|
1312
1282
|
return this._scheduleFetch(internalModel, options);
|
|
1313
1283
|
}
|
|
@@ -2049,7 +2019,7 @@ abstract class CoreStore extends Service {
|
|
|
2049
2019
|
if (internalModel) {
|
|
2050
2020
|
// short circuit if we are already loading
|
|
2051
2021
|
if (REQUEST_SERVICE) {
|
|
2052
|
-
let pendingRequest = this._fetchManager.getPendingFetch(internalModel.identifier
|
|
2022
|
+
let pendingRequest = this._fetchManager.getPendingFetch(internalModel.identifier);
|
|
2053
2023
|
if (pendingRequest) {
|
|
2054
2024
|
return pendingRequest.then(() => internalModel.getRecord());
|
|
2055
2025
|
}
|
|
@@ -2081,10 +2051,6 @@ abstract class CoreStore extends Service {
|
|
|
2081
2051
|
return resolve(null);
|
|
2082
2052
|
}
|
|
2083
2053
|
|
|
2084
|
-
if (!internalModel) {
|
|
2085
|
-
assert(`No InternalModel found for ${resource.lid}`, internalModel);
|
|
2086
|
-
}
|
|
2087
|
-
|
|
2088
2054
|
return this._findByInternalModel(internalModel, options);
|
|
2089
2055
|
}
|
|
2090
2056
|
|
|
@@ -501,10 +501,10 @@ export default class FetchManager {
|
|
|
501
501
|
}
|
|
502
502
|
}
|
|
503
503
|
|
|
504
|
-
getPendingFetch(identifier: StableRecordIdentifier
|
|
505
|
-
let pendingRequests = this.requestCache
|
|
506
|
-
|
|
507
|
-
|
|
504
|
+
getPendingFetch(identifier: StableRecordIdentifier) {
|
|
505
|
+
let pendingRequests = this.requestCache
|
|
506
|
+
.getPendingRequestsForRecord(identifier)
|
|
507
|
+
.filter((req) => req.type === 'query');
|
|
508
508
|
|
|
509
509
|
if (pendingRequests.length > 0) {
|
|
510
510
|
return pendingRequests[0][RequestPromise];
|
|
@@ -532,8 +532,3 @@ function assertIsString(id: string | null): asserts id is string {
|
|
|
532
532
|
}
|
|
533
533
|
}
|
|
534
534
|
}
|
|
535
|
-
|
|
536
|
-
// this function helps resolve whether we have a pending request that we should use instead
|
|
537
|
-
function isSameRequest(options: Dict<unknown> = {}, reqOptions: Dict<unknown> = {}) {
|
|
538
|
-
return options.include === reqOptions.include;
|
|
539
|
-
}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import { deprecate } from '@ember/debug';
|
|
2
|
-
|
|
3
1
|
import type { Object as JSONObject, Value as JSONValue } from 'json-typescript';
|
|
4
2
|
|
|
5
|
-
import { DEPRECATE_REFERENCE_INTERNAL_MODEL } from '@ember-data/private-build-infra/deprecations';
|
|
6
|
-
|
|
7
3
|
import type { LinkObject, PaginationLinks } from '../../ts-interfaces/ember-data-json-api';
|
|
8
4
|
import type { StableRecordIdentifier } from '../../ts-interfaces/identifier';
|
|
9
5
|
import type { JsonApiRelationship } from '../../ts-interfaces/record-data-json-api';
|
|
@@ -185,9 +181,9 @@ abstract class Reference {
|
|
|
185
181
|
related: {
|
|
186
182
|
href: '/articles/1/author'
|
|
187
183
|
},
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
184
|
+
},
|
|
185
|
+
meta: {
|
|
186
|
+
lastUpdated: 1458014400000
|
|
191
187
|
}
|
|
192
188
|
}
|
|
193
189
|
}
|
|
@@ -213,22 +209,4 @@ abstract class Reference {
|
|
|
213
209
|
}
|
|
214
210
|
}
|
|
215
211
|
|
|
216
|
-
if (DEPRECATE_REFERENCE_INTERNAL_MODEL) {
|
|
217
|
-
Object.defineProperty(Reference.prototype, 'internalModel', {
|
|
218
|
-
get() {
|
|
219
|
-
deprecate('Accessing the internalModel property of Reference is deprecated', false, {
|
|
220
|
-
id: 'ember-data:reference-internal-model',
|
|
221
|
-
until: '3.21',
|
|
222
|
-
for: '@ember-data/store',
|
|
223
|
-
since: {
|
|
224
|
-
available: '3.19',
|
|
225
|
-
enabled: '3.19',
|
|
226
|
-
},
|
|
227
|
-
});
|
|
228
|
-
|
|
229
|
-
return REFERENCE_CACHE.get(this);
|
|
230
|
-
},
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
|
|
234
212
|
export default Reference;
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import type { Dict } from '@ember-data/store/-private/ts-interfaces/utils';
|
|
2
|
-
|
|
3
1
|
import type { RecordIdentifier } from './identifier';
|
|
4
2
|
|
|
5
3
|
export interface Operation {
|
|
6
4
|
op: string;
|
|
7
|
-
options: Dict<unknown> | undefined;
|
|
8
|
-
recordIdentifier: RecordIdentifier;
|
|
9
5
|
}
|
|
10
6
|
|
|
11
7
|
export interface FindRecordQuery extends Operation {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ember-data/store",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.2.0-beta.0",
|
|
4
4
|
"description": "The default blueprint for ember-cli addons.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ember-addon"
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
"start": "ember serve"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@ember-data/canary-features": "4.
|
|
21
|
-
"@ember-data/private-build-infra": "4.
|
|
20
|
+
"@ember-data/canary-features": "4.2.0-beta.0",
|
|
21
|
+
"@ember-data/private-build-infra": "4.2.0-beta.0",
|
|
22
22
|
"@ember/string": "^3.0.0",
|
|
23
23
|
"@glimmer/tracking": "^1.0.4",
|
|
24
24
|
"ember-auto-import": "^2.2.4",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"ember-cli-typescript": "^4.1.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@ember-data/unpublished-test-infra": "4.
|
|
31
|
+
"@ember-data/unpublished-test-infra": "4.2.0-beta.0",
|
|
32
32
|
"@ember/optional-features": "^2.0.0",
|
|
33
33
|
"@ember/test-helpers": "^2.6.0",
|
|
34
34
|
"@types/ember": "^3.16.5",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"ember-maybe-import-regenerator": "^0.1.6",
|
|
47
47
|
"ember-qunit": "^5.1.5",
|
|
48
48
|
"ember-resolver": "^8.0.0",
|
|
49
|
-
"ember-source": "~
|
|
49
|
+
"ember-source": "~3.28.6",
|
|
50
50
|
"ember-source-channel-url": "^3.0.0",
|
|
51
51
|
"ember-try": "^1.4.0",
|
|
52
52
|
"loader.js": "^4.7.0",
|