Skip to content

Commit b549dcb

Browse files
committed
change function order
this reorganization slightly reduces the diff when organizing later changes
1 parent d73864a commit b549dcb

File tree

1 file changed

+64
-64
lines changed

1 file changed

+64
-64
lines changed

src/execution/IncrementalPublisher.ts

Lines changed: 64 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -85,70 +85,6 @@ export type FormattedIncrementalResult<
8585
| FormattedIncrementalDeferResult<TData, TExtensions>
8686
| FormattedIncrementalStreamResult<TData, TExtensions>;
8787

88-
export function filterSubsequentPayloads(
89-
subsequentPayloads: Set<IncrementalDataRecord>,
90-
nullPath: Path,
91-
currentIncrementalDataRecord: IncrementalDataRecord | undefined,
92-
): void {
93-
const nullPathArray = pathToArray(nullPath);
94-
subsequentPayloads.forEach((incrementalDataRecord) => {
95-
if (incrementalDataRecord === currentIncrementalDataRecord) {
96-
// don't remove payload from where error originates
97-
return;
98-
}
99-
for (let i = 0; i < nullPathArray.length; i++) {
100-
if (incrementalDataRecord.path[i] !== nullPathArray[i]) {
101-
// incrementalDataRecord points to a path unaffected by this payload
102-
return;
103-
}
104-
}
105-
// incrementalDataRecord path points to nulled error field
106-
if (
107-
isStreamItemsRecord(incrementalDataRecord) &&
108-
incrementalDataRecord.asyncIterator?.return
109-
) {
110-
incrementalDataRecord.asyncIterator.return().catch(() => {
111-
// ignore error
112-
});
113-
}
114-
subsequentPayloads.delete(incrementalDataRecord);
115-
});
116-
}
117-
118-
function getCompletedIncrementalResults(
119-
subsequentPayloads: Set<IncrementalDataRecord>,
120-
): Array<IncrementalResult> {
121-
const incrementalResults: Array<IncrementalResult> = [];
122-
for (const incrementalDataRecord of subsequentPayloads) {
123-
const incrementalResult: IncrementalResult = {};
124-
if (!incrementalDataRecord.isCompleted) {
125-
continue;
126-
}
127-
subsequentPayloads.delete(incrementalDataRecord);
128-
if (isStreamItemsRecord(incrementalDataRecord)) {
129-
const items = incrementalDataRecord.items;
130-
if (incrementalDataRecord.isCompletedAsyncIterator) {
131-
// async iterable resolver just finished but there may be pending payloads
132-
continue;
133-
}
134-
(incrementalResult as IncrementalStreamResult).items = items;
135-
} else {
136-
const data = incrementalDataRecord.data;
137-
(incrementalResult as IncrementalDeferResult).data = data ?? null;
138-
}
139-
140-
incrementalResult.path = incrementalDataRecord.path;
141-
if (incrementalDataRecord.label != null) {
142-
incrementalResult.label = incrementalDataRecord.label;
143-
}
144-
if (incrementalDataRecord.errors.length > 0) {
145-
incrementalResult.errors = incrementalDataRecord.errors;
146-
}
147-
incrementalResults.push(incrementalResult);
148-
}
149-
return incrementalResults;
150-
}
151-
15288
export function yieldSubsequentPayloads(
15389
subsequentPayloads: Set<IncrementalDataRecord>,
15490
): AsyncGenerator<SubsequentIncrementalExecutionResult, void, void> {
@@ -220,6 +156,70 @@ export function yieldSubsequentPayloads(
220156
};
221157
}
222158

159+
function getCompletedIncrementalResults(
160+
subsequentPayloads: Set<IncrementalDataRecord>,
161+
): Array<IncrementalResult> {
162+
const incrementalResults: Array<IncrementalResult> = [];
163+
for (const incrementalDataRecord of subsequentPayloads) {
164+
const incrementalResult: IncrementalResult = {};
165+
if (!incrementalDataRecord.isCompleted) {
166+
continue;
167+
}
168+
subsequentPayloads.delete(incrementalDataRecord);
169+
if (isStreamItemsRecord(incrementalDataRecord)) {
170+
const items = incrementalDataRecord.items;
171+
if (incrementalDataRecord.isCompletedAsyncIterator) {
172+
// async iterable resolver just finished but there may be pending payloads
173+
continue;
174+
}
175+
(incrementalResult as IncrementalStreamResult).items = items;
176+
} else {
177+
const data = incrementalDataRecord.data;
178+
(incrementalResult as IncrementalDeferResult).data = data ?? null;
179+
}
180+
181+
incrementalResult.path = incrementalDataRecord.path;
182+
if (incrementalDataRecord.label != null) {
183+
incrementalResult.label = incrementalDataRecord.label;
184+
}
185+
if (incrementalDataRecord.errors.length > 0) {
186+
incrementalResult.errors = incrementalDataRecord.errors;
187+
}
188+
incrementalResults.push(incrementalResult);
189+
}
190+
return incrementalResults;
191+
}
192+
193+
export function filterSubsequentPayloads(
194+
subsequentPayloads: Set<IncrementalDataRecord>,
195+
nullPath: Path,
196+
currentIncrementalDataRecord: IncrementalDataRecord | undefined,
197+
): void {
198+
const nullPathArray = pathToArray(nullPath);
199+
subsequentPayloads.forEach((incrementalDataRecord) => {
200+
if (incrementalDataRecord === currentIncrementalDataRecord) {
201+
// don't remove payload from where error originates
202+
return;
203+
}
204+
for (let i = 0; i < nullPathArray.length; i++) {
205+
if (incrementalDataRecord.path[i] !== nullPathArray[i]) {
206+
// incrementalDataRecord points to a path unaffected by this payload
207+
return;
208+
}
209+
}
210+
// incrementalDataRecord path points to nulled error field
211+
if (
212+
isStreamItemsRecord(incrementalDataRecord) &&
213+
incrementalDataRecord.asyncIterator?.return
214+
) {
215+
incrementalDataRecord.asyncIterator.return().catch(() => {
216+
// ignore error
217+
});
218+
}
219+
subsequentPayloads.delete(incrementalDataRecord);
220+
});
221+
}
222+
223223
/** @internal */
224224
export class DeferredFragmentRecord {
225225
type: 'defer';

0 commit comments

Comments
 (0)