Skip to content

Commit 81eab03

Browse files
captbaritonefacebook-github-bot
authored andcommitted
Remove unused fieldPath from resolver suspense objects
Reviewed By: evanyeung Differential Revision: D65491871 fbshipit-source-id: abab46ded30ccf9354c30c67e80f7cc7e3a98843
1 parent d982b5b commit 81eab03

File tree

6 files changed

+16
-33
lines changed

6 files changed

+16
-33
lines changed

packages/react-relay/relay-hooks/legacy/FragmentResource.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import type {
2222
RequestDescriptor,
2323
Snapshot,
2424
} from 'relay-runtime';
25-
import type {MissingLiveResolverField} from 'relay-runtime/store/RelayStoreTypes';
2625

2726
const LRUCache = require('../LRUCache');
2827
const {getQueryResourceForEnvironment} = require('../QueryResource');
@@ -98,7 +97,7 @@ function hasMissingClientEdges(snapshot: SingularOrPluralSnapshot): boolean {
9897

9998
function missingLiveResolverFields(
10099
snapshot: SingularOrPluralSnapshot,
101-
): ?$ReadOnlyArray<MissingLiveResolverField> {
100+
): ?$ReadOnlyArray<DataID> {
102101
if (Array.isArray(snapshot)) {
103102
return snapshot
104103
.map(s => s.missingLiveResolverFields)
@@ -449,7 +448,7 @@ class FragmentResourceImpl {
449448
);
450449
const parentQueryPromiseResultPromise = parentQueryPromiseResult?.promise; // for refinement
451450
const missingResolverFieldPromises =
452-
missingLiveResolverFields(snapshot)?.map(({liveStateID}) => {
451+
missingLiveResolverFields(snapshot)?.map(liveStateID => {
453452
const store = environment.getStore();
454453

455454
// $FlowFixMe[prop-missing] This is expected to be a RelayModernStore

packages/react-relay/relay-hooks/useFragmentInternal_CURRENT.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,15 @@
1414
import type {QueryResult} from './QueryResource';
1515
import type {
1616
CacheConfig,
17+
DataID,
1718
FetchPolicy,
1819
IEnvironment,
1920
ReaderFragment,
2021
ReaderSelector,
2122
SelectorData,
2223
Snapshot,
2324
} from 'relay-runtime';
24-
import type {
25-
MissingClientEdgeRequestInfo,
26-
MissingLiveResolverField,
27-
} from 'relay-runtime/store/RelayStoreTypes';
25+
import type {MissingClientEdgeRequestInfo} from 'relay-runtime/store/RelayStoreTypes';
2826

2927
const {getQueryResourceForEnvironment} = require('./QueryResource');
3028
const useRelayEnvironment = require('./useRelayEnvironment');
@@ -89,13 +87,13 @@ function getMissingClientEdges(
8987

9088
function getSuspendingLiveResolver(
9189
state: FragmentState,
92-
): $ReadOnlyArray<MissingLiveResolverField> | null {
90+
): $ReadOnlyArray<DataID> | null {
9391
if (state.kind === 'bailout') {
9492
return null;
9593
} else if (state.kind === 'singular') {
9694
return state.snapshot.missingLiveResolverFields ?? null;
9795
} else {
98-
let missingFields: null | Array<MissingLiveResolverField> = null;
96+
let missingFields: null | Array<DataID> = null;
9997
for (const snapshot of state.snapshots) {
10098
if (snapshot.missingLiveResolverFields) {
10199
missingFields = missingFields ?? [];
@@ -508,7 +506,7 @@ hook useFragmentInternal(
508506
const suspendingLiveResolvers = getSuspendingLiveResolver(state);
509507
if (suspendingLiveResolvers != null && suspendingLiveResolvers.length > 0) {
510508
throw Promise.all(
511-
suspendingLiveResolvers.map(({liveStateID}) => {
509+
suspendingLiveResolvers.map(liveStateID => {
512510
// $FlowFixMe[prop-missing] This is expected to be a RelayModernStore
513511
return environment.getStore().getLiveResolverPromise(liveStateID);
514512
}),

packages/react-relay/relay-hooks/useFragmentInternal_EXPERIMENTAL.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,15 @@
1414
import type {QueryResult} from './QueryResource';
1515
import type {
1616
CacheConfig,
17+
DataID,
1718
FetchPolicy,
1819
IEnvironment,
1920
ReaderFragment,
2021
ReaderSelector,
2122
SelectorData,
2223
Snapshot,
2324
} from 'relay-runtime';
24-
import type {
25-
MissingClientEdgeRequestInfo,
26-
MissingLiveResolverField,
27-
} from 'relay-runtime/store/RelayStoreTypes';
25+
import type {MissingClientEdgeRequestInfo} from 'relay-runtime/store/RelayStoreTypes';
2826

2927
const {getQueryResourceForEnvironment} = require('./QueryResource');
3028
const useRelayEnvironment = require('./useRelayEnvironment');
@@ -101,13 +99,13 @@ function getMissingClientEdges(
10199

102100
function getSuspendingLiveResolver(
103101
state: FragmentState,
104-
): $ReadOnlyArray<MissingLiveResolverField> | null {
102+
): $ReadOnlyArray<DataID> | null {
105103
if (state.kind === 'bailout') {
106104
return null;
107105
} else if (state.kind === 'singular') {
108106
return state.snapshot.missingLiveResolverFields ?? null;
109107
} else {
110-
let missingFields: null | Array<MissingLiveResolverField> = null;
108+
let missingFields: null | Array<DataID> = null;
111109
for (const snapshot of state.snapshots) {
112110
if (snapshot.missingLiveResolverFields) {
113111
missingFields = missingFields ?? [];
@@ -523,7 +521,7 @@ hook useFragmentInternal_EXPERIMENTAL(
523521
const suspendingLiveResolvers = getSuspendingLiveResolver(state);
524522
if (suspendingLiveResolvers != null && suspendingLiveResolvers.length > 0) {
525523
throw Promise.all(
526-
suspendingLiveResolvers.map(({liveStateID}) => {
524+
suspendingLiveResolvers.map(liveStateID => {
527525
// $FlowFixMe[prop-missing] This is expected to be a RelayModernStore
528526
return environment.getStore().getLiveResolverPromise(liveStateID);
529527
}),

packages/relay-runtime/store/RelayReader.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ import type {
3838
ErrorResponseField,
3939
ErrorResponseFields,
4040
MissingClientEdgeRequestInfo,
41-
MissingLiveResolverField,
4241
Record,
4342
RecordSource,
4443
RequestDescriptor,
@@ -97,7 +96,7 @@ class RelayReader {
9796
_clientEdgeTraversalPath: Array<ClientEdgeTraversalInfo | null>;
9897
_isMissingData: boolean;
9998
_missingClientEdges: Array<MissingClientEdgeRequestInfo>;
100-
_missingLiveResolverFields: Array<MissingLiveResolverField>;
99+
_missingLiveResolverFields: Array<DataID>;
101100
_isWithinUnmatchedTypeRefinement: boolean;
102101
_errorResponseFields: ?ErrorResponseFields;
103102
_owner: RequestDescriptor;
@@ -869,10 +868,7 @@ class RelayReader {
869868
// they know when to unsuspend.
870869
if (suspenseID != null) {
871870
this._isMissingData = true;
872-
this._missingLiveResolverFields.push({
873-
path: `${this._fragmentName}.${fieldPath}`,
874-
liveStateID: suspenseID,
875-
});
871+
this._missingLiveResolverFields.push(suspenseID);
876872
}
877873
if (updatedDataIDs != null) {
878874
for (const recordID of updatedDataIDs) {

packages/relay-runtime/store/RelayStoreTypes.js

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -139,18 +139,13 @@ export type MissingClientEdgeRequestInfo = {
139139
+clientEdgeDestinationID: DataID,
140140
};
141141

142-
export type MissingLiveResolverField = {
143-
+path: string,
144-
+liveStateID: DataID,
145-
};
146-
147142
/**
148143
* A representation of a selector and its results at a particular point in time.
149144
*/
150145
export type Snapshot = {
151146
+data: ?SelectorData,
152147
+isMissingData: boolean,
153-
+missingLiveResolverFields?: $ReadOnlyArray<MissingLiveResolverField>,
148+
+missingLiveResolverFields?: $ReadOnlyArray<DataID>,
154149
+missingClientEdges: null | $ReadOnlyArray<MissingClientEdgeRequestInfo>,
155150
+seenRecords: DataIDSet,
156151
+selector: SingularReaderSelector,

packages/relay-runtime/store/__tests__/RelayReader-RequiredFields-test.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1056,10 +1056,7 @@ describe('RelayReader @required', () => {
10561056
const snapshot = read(source, operation.fragment, resolverCache);
10571057
expect(snapshot.errorResponseFields).toEqual(null);
10581058
expect(snapshot.missingLiveResolverFields).toEqual([
1059-
{
1060-
path: 'RelayReaderRequiredFieldsTest28Query.live_user_resolver_always_suspend',
1061-
liveStateID: 'client:root:live_user_resolver_always_suspend',
1062-
},
1059+
'client:root:live_user_resolver_always_suspend',
10631060
]);
10641061
});
10651062
});

0 commit comments

Comments
 (0)