@@ -1068,15 +1068,16 @@ async function completeAsyncIteratorValue(
1068
1068
try {
1069
1069
// eslint-disable-next-line no-await-in-loop
1070
1070
iteration = await iterator . next ( ) ;
1071
- if ( iteration . done ) {
1072
- break ;
1073
- }
1074
1071
} catch ( rawError ) {
1075
1072
const error = locatedError ( rawError , fieldNodes , pathToArray ( itemPath ) ) ;
1076
1073
completedResults . push ( handleFieldError ( error , itemType , errors ) ) ;
1077
1074
break ;
1078
1075
}
1079
1076
1077
+ if ( iteration . done ) {
1078
+ break ;
1079
+ }
1080
+
1080
1081
if (
1081
1082
completeListItemValue (
1082
1083
iteration . value ,
@@ -2011,20 +2012,23 @@ async function executeStreamAsyncIteratorItem(
2011
2012
asyncPayloadRecord : StreamItemRecord ,
2012
2013
itemPath : Path ,
2013
2014
) : Promise < IteratorResult < unknown > > {
2014
- let item ;
2015
+ let iteration ;
2015
2016
try {
2016
- const { value, done } = await iterator . next ( ) ;
2017
- if ( done ) {
2018
- asyncPayloadRecord . setIsCompletedIterator ( ) ;
2019
- return { done, value : undefined } ;
2020
- }
2021
- item = value ;
2017
+ iteration = await iterator . next ( ) ;
2022
2018
} catch ( rawError ) {
2023
2019
const error = locatedError ( rawError , fieldNodes , pathToArray ( itemPath ) ) ;
2024
2020
const value = handleFieldError ( error , itemType , asyncPayloadRecord . errors ) ;
2025
2021
// don't continue if iterator throws
2026
2022
return { done : true , value } ;
2027
2023
}
2024
+
2025
+ const { done, value } = iteration ;
2026
+
2027
+ if ( done ) {
2028
+ asyncPayloadRecord . setIsCompletedIterator ( ) ;
2029
+ return { done, value : undefined } ;
2030
+ }
2031
+
2028
2032
return {
2029
2033
done : false ,
2030
2034
value : completeValueCatchingErrors (
@@ -2033,7 +2037,7 @@ async function executeStreamAsyncIteratorItem(
2033
2037
fieldNodes ,
2034
2038
info ,
2035
2039
itemPath ,
2036
- item ,
2040
+ value ,
2037
2041
asyncPayloadRecord ,
2038
2042
) ,
2039
2043
} ;
0 commit comments