@ember-data/store 3.26.0-beta.0 → 3.27.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.
|
@@ -6,6 +6,7 @@ import { registerWaiter } from '@ember/test';
|
|
|
6
6
|
import { DEBUG } from '@glimmer/env';
|
|
7
7
|
import Ember from 'ember';
|
|
8
8
|
|
|
9
|
+
// TODO: expose Ember._Backburner as `import { _Backburner } from '@ember/runloop'` in ember-rfc176-data + emberjs/ember.js
|
|
9
10
|
const backburner = new Ember._Backburner(['normalizeRelationships', 'syncRelationships', 'finished']);
|
|
10
11
|
|
|
11
12
|
if (DEBUG) {
|
|
@@ -7,7 +7,7 @@ import { A } from '@ember/array';
|
|
|
7
7
|
import { assert, deprecate, inspect, warn } from '@ember/debug';
|
|
8
8
|
import { computed, defineProperty, get, set } from '@ember/object';
|
|
9
9
|
import { assign } from '@ember/polyfills';
|
|
10
|
-
import {
|
|
10
|
+
import { _backburner as emberBackburner } from '@ember/runloop';
|
|
11
11
|
import Service from '@ember/service';
|
|
12
12
|
import { registerWaiter, unregisterWaiter } from '@ember/test';
|
|
13
13
|
import { isNone, isPresent, typeOf } from '@ember/utils';
|
|
@@ -95,7 +95,6 @@ type Relationship = import('@ember-data/record-data/-private').Relationship;
|
|
|
95
95
|
type RecordDataClass = typeof import('@ember-data/record-data/-private').RecordData;
|
|
96
96
|
|
|
97
97
|
let _RecordData: RecordDataClass | undefined;
|
|
98
|
-
const emberRun = emberRunLoop.backburner;
|
|
99
98
|
|
|
100
99
|
const { ENV } = Ember;
|
|
101
100
|
type AsyncTrackingToken = Readonly<{ label: string; trace: Error | string }>;
|
|
@@ -603,7 +602,7 @@ abstract class CoreStore extends Service {
|
|
|
603
602
|
// of record-arrays via ember's run loop, not our own.
|
|
604
603
|
//
|
|
605
604
|
// to remove this, we would need to move to a new `async` API.
|
|
606
|
-
return
|
|
605
|
+
return emberBackburner.join(() => {
|
|
607
606
|
return this._backburner.join(() => {
|
|
608
607
|
let normalizedModelName = normalizeModelName(modelName);
|
|
609
608
|
let properties = assign({}, inputProperties);
|
|
@@ -1261,7 +1260,7 @@ abstract class CoreStore extends Service {
|
|
|
1261
1260
|
|
|
1262
1261
|
internalModel.loadingData(promise);
|
|
1263
1262
|
if (this._pendingFetch.size === 0) {
|
|
1264
|
-
|
|
1263
|
+
emberBackburner.schedule('actions', this, this.flushAllPendingFetches);
|
|
1265
1264
|
}
|
|
1266
1265
|
|
|
1267
1266
|
let fetches = this._pendingFetch;
|
|
@@ -2518,7 +2517,7 @@ abstract class CoreStore extends Service {
|
|
|
2518
2517
|
resolver: resolver,
|
|
2519
2518
|
});
|
|
2520
2519
|
|
|
2521
|
-
|
|
2520
|
+
emberBackburner.scheduleOnce('actions', this, this.flushPendingSave);
|
|
2522
2521
|
}
|
|
2523
2522
|
|
|
2524
2523
|
/**
|
|
@@ -3618,7 +3617,7 @@ abstract class CoreStore extends Service {
|
|
|
3618
3617
|
return;
|
|
3619
3618
|
}
|
|
3620
3619
|
|
|
3621
|
-
|
|
3620
|
+
emberBackburner.schedule('actions', this, this._flushUpdatedInternalModels);
|
|
3622
3621
|
}
|
|
3623
3622
|
|
|
3624
3623
|
_flushUpdatedInternalModels() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { A } from '@ember/array';
|
|
2
2
|
import { assert, warn } from '@ember/debug';
|
|
3
|
-
import {
|
|
3
|
+
import { _backburner as emberBackburner } from '@ember/runloop';
|
|
4
4
|
import { DEBUG } from '@glimmer/env';
|
|
5
5
|
|
|
6
6
|
import { default as RSVP, Promise } from 'rsvp';
|
|
@@ -32,7 +32,6 @@ function payloadIsNotBlank(adapterPayload): boolean {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
const emberRun = emberRunLoop.backburner;
|
|
36
35
|
export const SaveOp: unique symbol = symbol('SaveOp');
|
|
37
36
|
|
|
38
37
|
interface PendingFetchItem {
|
|
@@ -94,7 +93,7 @@ export default class FetchManager {
|
|
|
94
93
|
queryRequest,
|
|
95
94
|
};
|
|
96
95
|
this._pendingSave.push(pendingSaveItem);
|
|
97
|
-
|
|
96
|
+
emberBackburner.scheduleOnce('actions', this, this._flushPendingSaves);
|
|
98
97
|
|
|
99
98
|
this.requestCache.enqueue(resolver.promise, pendingSaveItem.queryRequest);
|
|
100
99
|
|
|
@@ -228,7 +227,7 @@ export default class FetchManager {
|
|
|
228
227
|
let promise = resolver.promise;
|
|
229
228
|
|
|
230
229
|
if (this._pendingFetch.size === 0) {
|
|
231
|
-
|
|
230
|
+
emberBackburner.schedule('actions', this, this.flushAllPendingFetches);
|
|
232
231
|
}
|
|
233
232
|
|
|
234
233
|
let fetches = this._pendingFetch;
|
|
@@ -4,7 +4,7 @@ import { assert, inspect } from '@ember/debug';
|
|
|
4
4
|
import EmberError from '@ember/error';
|
|
5
5
|
import { get, set } from '@ember/object';
|
|
6
6
|
import { assign } from '@ember/polyfills';
|
|
7
|
-
import {
|
|
7
|
+
import { _backburner as emberBackburner, cancel } from '@ember/runloop';
|
|
8
8
|
import { DEBUG } from '@glimmer/env';
|
|
9
9
|
import Ember from 'ember';
|
|
10
10
|
|
|
@@ -602,7 +602,7 @@ export default class InternalModel {
|
|
|
602
602
|
this.send('unloadRecord');
|
|
603
603
|
this.dematerializeRecord();
|
|
604
604
|
if (this._scheduledDestroy === null) {
|
|
605
|
-
this._scheduledDestroy =
|
|
605
|
+
this._scheduledDestroy = emberBackburner.schedule('destroy', this, '_checkForOrphanedInternalModels');
|
|
606
606
|
}
|
|
607
607
|
}
|
|
608
608
|
|
|
@@ -618,7 +618,7 @@ export default class InternalModel {
|
|
|
618
618
|
|
|
619
619
|
this._doNotDestroy = true;
|
|
620
620
|
this._isDematerializing = false;
|
|
621
|
-
|
|
621
|
+
cancel(this._scheduledDestroy);
|
|
622
622
|
this._scheduledDestroy = null;
|
|
623
623
|
}
|
|
624
624
|
|
|
@@ -6,7 +6,7 @@ import { A } from '@ember/array';
|
|
|
6
6
|
import { assert } from '@ember/debug';
|
|
7
7
|
import { get, set } from '@ember/object';
|
|
8
8
|
import { assign } from '@ember/polyfills';
|
|
9
|
-
import {
|
|
9
|
+
import { _backburner as emberBackburner } from '@ember/runloop';
|
|
10
10
|
|
|
11
11
|
import { REMOVE_RECORD_ARRAY_MANAGER_LEGACY_COMPAT } from '@ember-data/canary-features';
|
|
12
12
|
|
|
@@ -15,7 +15,6 @@ import { AdapterPopulatedRecordArray, RecordArray } from './record-arrays';
|
|
|
15
15
|
import { internalModelFactoryFor } from './store/internal-model-factory';
|
|
16
16
|
|
|
17
17
|
const RecordArraysCache = new WeakMap();
|
|
18
|
-
const emberRun = emberRunloop.backburner;
|
|
19
18
|
|
|
20
19
|
export function recordArraysForIdentifier(identifierOrInternalModel) {
|
|
21
20
|
if (RecordArraysCache.has(identifierOrInternalModel)) {
|
|
@@ -369,7 +368,7 @@ class RecordArrayManager {
|
|
|
369
368
|
return;
|
|
370
369
|
}
|
|
371
370
|
|
|
372
|
-
|
|
371
|
+
emberBackburner.schedule('actions', this, this._flush);
|
|
373
372
|
}
|
|
374
373
|
|
|
375
374
|
willDestroy() {
|
|
@@ -380,7 +379,7 @@ class RecordArrayManager {
|
|
|
380
379
|
|
|
381
380
|
destroy() {
|
|
382
381
|
this.isDestroying = true;
|
|
383
|
-
|
|
382
|
+
emberBackburner.schedule('actions', this, this.willDestroy);
|
|
384
383
|
}
|
|
385
384
|
}
|
|
386
385
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ember-data/store",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.27.0",
|
|
4
4
|
"description": "The default blueprint for ember-cli addons.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ember-addon"
|
|
@@ -20,21 +20,21 @@
|
|
|
20
20
|
"test:all": "ember try:each"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@ember-data/canary-features": "3.
|
|
24
|
-
"@ember-data/private-build-infra": "3.
|
|
23
|
+
"@ember-data/canary-features": "3.27.0",
|
|
24
|
+
"@ember-data/private-build-infra": "3.27.0",
|
|
25
25
|
"@ember/string": "^1.0.0",
|
|
26
|
-
"ember-cli-babel": "^7.
|
|
26
|
+
"ember-cli-babel": "^7.26.3",
|
|
27
27
|
"ember-cli-path-utils": "^1.0.0",
|
|
28
28
|
"ember-cli-typescript": "^4.0.0",
|
|
29
29
|
"heimdalljs": "^0.3.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@ember-data/unpublished-test-infra": "3.
|
|
32
|
+
"@ember-data/unpublished-test-infra": "3.27.0",
|
|
33
33
|
"@ember/optional-features": "^1.3.0",
|
|
34
34
|
"@types/ember": "^3.16.2",
|
|
35
35
|
"@types/rsvp": "^4.0.3",
|
|
36
36
|
"broccoli-asset-rev": "^3.0.0",
|
|
37
|
-
"ember-cli": "~3.
|
|
37
|
+
"ember-cli": "~3.25.0",
|
|
38
38
|
"ember-cli-dependency-checker": "^3.2.0",
|
|
39
39
|
"ember-cli-htmlbars": "^5.1.2",
|
|
40
40
|
"ember-cli-inject-live-reload": "^2.0.2",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"ember-maybe-import-regenerator": "^0.1.6",
|
|
47
47
|
"ember-qunit": "^4.6.0",
|
|
48
48
|
"ember-resolver": "^8.0.0",
|
|
49
|
-
"ember-source": "~3.
|
|
49
|
+
"ember-source": "~3.27.0",
|
|
50
50
|
"ember-source-channel-url": "^2.0.1",
|
|
51
51
|
"ember-try": "^1.4.0",
|
|
52
52
|
"loader.js": "^4.7.0"
|