Skip to content

Commit 324a5ad

Browse files
committed
f
1 parent c79ede2 commit 324a5ad

File tree

2 files changed

+23
-21
lines changed

2 files changed

+23
-21
lines changed

src/execution/collectFields.ts

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,13 @@ export const NON_DEFERRED_SET = new OrderedSet<DeferUsage | undefined>([
3737
undefined,
3838
]).freeze();
3939

40-
export type DeferUsageSet = ReadonlyOrderedSet<DeferUsage | undefined>;
40+
export type Target = DeferUsage | undefined;
41+
export type TargetSet = ReadonlyOrderedSet<Target>;
4142

4243
export interface FieldGroup {
4344
fieldName: string;
4445
fields: Map<DeferUsage | undefined, ReadonlyArray<FieldNode>>;
45-
deferUsages: DeferUsageSet;
46+
targets: TargetSet;
4647
}
4748
interface MutableFieldGroup {
4849
fieldName: string;
@@ -56,7 +57,7 @@ type MutableGroupedFieldSet = Map<string, MutableFieldGroup>;
5657
export interface CollectFieldsResult {
5758
groupedFieldSet: GroupedFieldSet;
5859
newGroupedFieldSets: Map<
59-
DeferUsageSet,
60+
TargetSet,
6061
{ groupedFieldSet: GroupedFieldSet; shouldInitiateDefer: boolean }
6162
>;
6263
newDeferUsages: ReadonlyArray<DeferUsage>;
@@ -142,7 +143,7 @@ export function collectSubfields(
142143
}
143144

144145
return {
145-
...buildGroupedFieldSets(subGroupedFieldSet, fieldGroup.deferUsages),
146+
...buildGroupedFieldSets(subGroupedFieldSet, fieldGroup.targets),
146147
newDeferUsages: Array.from(deferUsages.values()),
147148
};
148149
}
@@ -153,54 +154,54 @@ function buildGroupedFieldSets(
153154
): {
154155
groupedFieldSet: GroupedFieldSet;
155156
newGroupedFieldSets: Map<
156-
DeferUsageSet,
157+
TargetSet,
157158
{ groupedFieldSet: GroupedFieldSet; shouldInitiateDefer: boolean }
158159
>;
159160
} {
160161
const groupedFieldSet: GroupedFieldSet = new Map();
161162
const newGroupedFieldSets = new Map<
162-
DeferUsageSet,
163+
TargetSet,
163164
{ groupedFieldSet: GroupedFieldSet; shouldInitiateDefer: boolean }
164165
>();
165166

166167
for (const [key, fieldGroup] of originalGroupedFieldSet) {
167168
const nonMaskedDeferUsageList: Array<DeferUsage | undefined> = [];
168-
const originalDeferUsageSet = new Set(fieldGroup.fields.keys());
169+
const originalTargetSet = new Set(fieldGroup.fields.keys());
169170
for (const [deferUsage] of fieldGroup.fields) {
170171
if (
171172
deferUsage === undefined ||
172173
deferUsage.ancestors.every(
173-
(ancestor) => !originalDeferUsageSet.has(ancestor),
174+
(ancestor) => !originalTargetSet.has(ancestor),
174175
)
175176
) {
176177
nonMaskedDeferUsageList.push(deferUsage);
177178
}
178179
}
179180

180-
const newDeferUsageSet = new OrderedSet(nonMaskedDeferUsageList).freeze();
181-
if (newDeferUsageSet === parentDeferUsages) {
181+
const newTargetSet = new OrderedSet(nonMaskedDeferUsageList).freeze();
182+
if (newTargetSet === parentDeferUsages) {
182183
groupedFieldSet.set(key, {
183184
...fieldGroup,
184-
deferUsages: newDeferUsageSet,
185+
targets: newTargetSet,
185186
});
186187
continue;
187188
}
188189

189190
let newGroupedFieldSet =
190-
newGroupedFieldSets.get(newDeferUsageSet)?.groupedFieldSet;
191+
newGroupedFieldSets.get(newTargetSet)?.groupedFieldSet;
191192
if (newGroupedFieldSet === undefined) {
192193
const shouldInitiateDefer = nonMaskedDeferUsageList.some(
193194
(deferUsage) => !parentDeferUsages.has(deferUsage),
194195
);
195196
newGroupedFieldSet = new Map();
196-
newGroupedFieldSets.set(newDeferUsageSet, {
197+
newGroupedFieldSets.set(newTargetSet, {
197198
groupedFieldSet: newGroupedFieldSet,
198199
shouldInitiateDefer,
199200
});
200201
}
201202
newGroupedFieldSet.set(key, {
202203
...fieldGroup,
203-
deferUsages: newDeferUsageSet,
204+
targets: newTargetSet,
204205
});
205206
}
206207

src/execution/execute.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,10 @@ import { assertValidSchema } from '../type/validate.js';
5151

5252
import type {
5353
DeferUsage,
54-
DeferUsageSet,
5554
FieldGroup,
5655
GroupedFieldSet,
56+
Target,
57+
TargetSet,
5758
} from './collectFields.js';
5859
import {
5960
collectFields,
@@ -1101,7 +1102,7 @@ function getStreamUsage(
11011102
'`@stream` directive not supported on subscription operations. Disable `@stream` by setting the `if` argument to `false`.',
11021103
);
11031104

1104-
const streamFields = new AccumulatorMap<DeferUsage | undefined, FieldNode>();
1105+
const streamFields = new AccumulatorMap<Target, FieldNode>();
11051106
for (const [, fieldNodes] of fieldGroup.fields) {
11061107
for (const node of fieldNodes) {
11071108
streamFields.add(undefined, node);
@@ -1110,7 +1111,7 @@ function getStreamUsage(
11101111
const streamedFieldGroup: FieldGroup = {
11111112
...fieldGroup,
11121113
fields: streamFields,
1113-
deferUsages: NON_DEFERRED_SET,
1114+
targets: NON_DEFERRED_SET,
11141115
};
11151116

11161117
const streamUsage = {
@@ -1926,7 +1927,7 @@ function assertEventStream(result: unknown): AsyncIterable<unknown> {
19261927
function prepareNewDeferRecords(
19271928
exeContext: ExecutionContext,
19281929
newGroupedFieldSets: Map<
1929-
DeferUsageSet,
1930+
TargetSet,
19301931
{ groupedFieldSet: GroupedFieldSet; shouldInitiateDefer: boolean }
19311932
>,
19321933
newDeferUsages: ReadonlyArray<DeferUsage>,
@@ -1989,12 +1990,12 @@ function prepareNewDeferRecords(
19891990
}
19901991

19911992
function getDeferredFragmentRecords(
1992-
deferUsages: DeferUsageSet,
1993+
targets: TargetSet,
19931994
deferMap: Map<DeferUsage, DeferredFragmentRecord>,
19941995
): Array<DeferredFragmentRecord> {
1995-
return Array.from(deferUsages).map(
1996+
return Array.from(targets).map(
19961997
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1997-
(deferUsage) => deferMap.get(deferUsage!)!,
1998+
(target) => deferMap.get(target!)!,
19981999
);
19992000
}
20002001

0 commit comments

Comments
 (0)