Skip to content

Commit 0e9a32f

Browse files
committed
move function to help with diff
1 parent 3c83a95 commit 0e9a32f

File tree

1 file changed

+54
-54
lines changed

1 file changed

+54
-54
lines changed

src/execution/execute.ts

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -2055,60 +2055,6 @@ function executeStreamField(
20552055
return asyncPayloadRecord;
20562056
}
20572057

2058-
async function executeStreamIteratorItem(
2059-
iterator: AsyncIterator<unknown>,
2060-
exeContext: ExecutionContext,
2061-
fieldNodes: ReadonlyArray<FieldNode>,
2062-
info: GraphQLResolveInfo,
2063-
itemType: GraphQLOutputType,
2064-
asyncPayloadRecord: StreamRecord,
2065-
itemPath: Path,
2066-
): Promise<IteratorResult<unknown>> {
2067-
let item;
2068-
try {
2069-
const { value, done } = await iterator.next();
2070-
if (done) {
2071-
asyncPayloadRecord.setIsCompletedIterator();
2072-
return { done, value: undefined };
2073-
}
2074-
item = value;
2075-
} catch (rawError) {
2076-
const error = locatedError(rawError, fieldNodes, pathToArray(itemPath));
2077-
const value = handleFieldError(error, itemType, asyncPayloadRecord.errors);
2078-
// don't continue if iterator throws
2079-
return { done: true, value };
2080-
}
2081-
let completedItem;
2082-
try {
2083-
completedItem = completeValue(
2084-
exeContext,
2085-
itemType,
2086-
fieldNodes,
2087-
info,
2088-
itemPath,
2089-
item,
2090-
asyncPayloadRecord,
2091-
);
2092-
2093-
if (isPromise(completedItem)) {
2094-
completedItem = handleAsyncCompletionError(
2095-
completedItem,
2096-
exeContext,
2097-
itemType,
2098-
fieldNodes,
2099-
itemPath,
2100-
asyncPayloadRecord,
2101-
);
2102-
}
2103-
return { done: false, value: completedItem };
2104-
} catch (rawError) {
2105-
const error = locatedError(rawError, fieldNodes, pathToArray(itemPath));
2106-
const value = handleFieldError(error, itemType, asyncPayloadRecord.errors);
2107-
filterSubsequentPayloads(exeContext, itemPath, asyncPayloadRecord);
2108-
return { done: false, value };
2109-
}
2110-
}
2111-
21122058
async function executeStreamIterator(
21132059
initialIndex: number,
21142060
iterator: AsyncIterator<unknown>,
@@ -2186,6 +2132,60 @@ async function executeStreamIterator(
21862132
}
21872133
}
21882134

2135+
async function executeStreamIteratorItem(
2136+
iterator: AsyncIterator<unknown>,
2137+
exeContext: ExecutionContext,
2138+
fieldNodes: ReadonlyArray<FieldNode>,
2139+
info: GraphQLResolveInfo,
2140+
itemType: GraphQLOutputType,
2141+
asyncPayloadRecord: StreamRecord,
2142+
itemPath: Path,
2143+
): Promise<IteratorResult<unknown>> {
2144+
let item;
2145+
try {
2146+
const { value, done } = await iterator.next();
2147+
if (done) {
2148+
asyncPayloadRecord.setIsCompletedIterator();
2149+
return { done, value: undefined };
2150+
}
2151+
item = value;
2152+
} catch (rawError) {
2153+
const error = locatedError(rawError, fieldNodes, pathToArray(itemPath));
2154+
const value = handleFieldError(error, itemType, asyncPayloadRecord.errors);
2155+
// don't continue if iterator throws
2156+
return { done: true, value };
2157+
}
2158+
let completedItem;
2159+
try {
2160+
completedItem = completeValue(
2161+
exeContext,
2162+
itemType,
2163+
fieldNodes,
2164+
info,
2165+
itemPath,
2166+
item,
2167+
asyncPayloadRecord,
2168+
);
2169+
2170+
if (isPromise(completedItem)) {
2171+
completedItem = handleAsyncCompletionError(
2172+
completedItem,
2173+
exeContext,
2174+
itemType,
2175+
fieldNodes,
2176+
itemPath,
2177+
asyncPayloadRecord,
2178+
);
2179+
}
2180+
return { done: false, value: completedItem };
2181+
} catch (rawError) {
2182+
const error = locatedError(rawError, fieldNodes, pathToArray(itemPath));
2183+
const value = handleFieldError(error, itemType, asyncPayloadRecord.errors);
2184+
filterSubsequentPayloads(exeContext, itemPath, asyncPayloadRecord);
2185+
return { done: false, value };
2186+
}
2187+
}
2188+
21892189
function filterSubsequentPayloads(
21902190
exeContext: ExecutionContext,
21912191
nullPath: Path,

0 commit comments

Comments
 (0)