@@ -951,25 +951,29 @@ streamRecord, variableValues, subsequentPayloads):
951
951
- Set {isCompletedIterator} to {true} on {streamRecord}.
952
952
- Return {null}.
953
953
- Let {payload} be an unordered map.
954
- - Let {item} be the item retrieved from {iterator}.
955
- - Let {data} be the result of calling {CompleteValue(innerType, fields, item,
956
- variableValues, itemPath, subsequentPayloads, parentRecord)}.
957
- - Append any encountered field errors to {errors}.
958
- - Increment {index}.
959
- - Call {ExecuteStreamField(label, iterator, index, fields, innerType, path,
960
- streamRecord, variableValues, subsequentPayloads)}.
961
- - If {parentRecord} is defined:
962
- - Wait for the result of {dataExecution} on {parentRecord}.
963
- - If {errors} is not empty:
964
- - Add an entry to {payload} named ` errors ` with the value {errors}.
965
- - If a field error was raised, causing a {null} to be propagated to {data},
966
- and {innerType} is a Non-Nullable type:
954
+ - If an item is not retrieved because of an error:
955
+ - Append the encountered error to {errors}.
967
956
- Add an entry to {payload} named ` items ` with the value {null}.
968
957
- Otherwise:
969
- - Add an entry to {payload} named ` items ` with a list containing the value
970
- {data}.
958
+ - Let {item} be the item retrieved from {iterator}.
959
+ - Let {data} be the result of calling {CompleteValue(innerType, fields,
960
+ item, variableValues, itemPath, subsequentPayloads, parentRecord)}.
961
+ - Append any encountered field errors to {errors}.
962
+ - Increment {index}.
963
+ - Call {ExecuteStreamField(label, iterator, index, fields, innerType, path,
964
+ streamRecord, variableValues, subsequentPayloads)}.
965
+ - If a field error was raised, causing a {null} to be propagated to {data},
966
+ and {innerType} is a Non-Nullable type:
967
+ - Add an entry to {payload} named ` items ` with the value {null}.
968
+ - Otherwise:
969
+ - Add an entry to {payload} named ` items ` with a list containing the value
970
+ {data}.
971
+ - If {errors} is not empty:
972
+ - Add an entry to {payload} named ` errors ` with the value {errors}.
971
973
- Add an entry to {payload} named ` label ` with the value {label}.
972
974
- Add an entry to {payload} named ` path ` with the value {itemPath}.
975
+ - If {parentRecord} is defined:
976
+ - Wait for the result of {dataExecution} on {parentRecord}.
973
977
- Return {payload}.
974
978
- Set {dataExecution} on {streamRecord}.
975
979
- Append {streamRecord} to {subsequentPayloads}.
@@ -1009,7 +1013,8 @@ subsequentPayloads, asyncRecord):
1009
1013
path, asyncRecord, subsequentPayloads)}.
1010
1014
- Return {items}.
1011
1015
- Otherwise:
1012
- - Retrieve the next item from {result} via the {iterator}.
1016
+ - Wait for the next item from {result} via the {iterator}.
1017
+ - If an item is not retrieved because of an error, raise a _ field error_ .
1013
1018
- Let {resultItem} be the item retrieved from {result}.
1014
1019
- Let {itemPath} be {path} with {index} appended.
1015
1020
- Let {resolvedItem} be the result of calling {CompleteValue(innerType,
0 commit comments