@@ -626,8 +626,8 @@ asyncRecord, visitedFragments, deferredGroupedFieldsList):
626
626
- If {selection} is a {FragmentSpread}:
627
627
- Let {fragmentSpreadName} be the name of {selection}.
628
628
- If {fragmentSpreadName} provides the directive ` @defer ` and its {if}
629
- argument is {true} or is a variable in {variableValues} with the value
630
- {true }:
629
+ argument is not {false} and is not a variable in {variableValues} with the
630
+ value {false }:
631
631
- Let {deferDirective} be that directive.
632
632
- If {deferDirective} is not defined:
633
633
- If {fragmentSpreadName} is in {visitedFragments}, continue with the next
@@ -667,19 +667,20 @@ asyncRecord, visitedFragments, deferredGroupedFieldsList):
667
667
fragmentType)} is false, continue with the next {selection} in
668
668
{selectionSet}.
669
669
- Let {fragmentSelectionSet} be the top-level selection set of {selection}.
670
- - If {InlineFragment} provides the directive ` @defer ` , let {deferDirective}
671
- be that directive.
672
- - If {deferDirective}'s {if} argument is {true} or is a variable in
673
- {variableValues} with the value {true}:
674
- - Let {label} be the value or the variable to {deferDirective}'s {label}
675
- argument.
676
- - Let {deferredGroupedFields} be the result of calling
677
- {CollectFields(objectType, objectValue, fragmentSelectionSet,
678
- variableValues, path, asyncRecord, visitedFragments,
679
- deferredGroupedFieldsList)}.
680
- - Append a record containing {label} and {deferredGroupedFields} to
681
- {deferredGroupedFieldsList}.
682
- - Continue with the next {selection} in {selectionSet}.
670
+ - If {InlineFragment} provides the directive ` @defer ` and its {if} argument
671
+ is not {false} and is not a variable in {variableValues} with the value
672
+ {false}:
673
+ - Let {deferDirective} be that directive.
674
+ - If {deferDirective} is defined:
675
+ - Let {label} be the value or the variable to {deferDirective}'s {label}
676
+ argument.
677
+ - Let {deferredGroupedFields} be the result of calling
678
+ {CollectFields(objectType, objectValue, fragmentSelectionSet,
679
+ variableValues, path, asyncRecord, visitedFragments,
680
+ deferredGroupedFieldsList)}.
681
+ - Append a record containing {label} and {deferredGroupedFields} to
682
+ {deferredGroupedFieldsList}.
683
+ - Continue with the next {selection} in {selectionSet}.
683
684
- Let {fragmentGroupedFieldSet} be the result of calling
684
685
{CollectFields(objectType, objectValue, fragmentSelectionSet,
685
686
variableValues, path, asyncRecord, visitedFragments,
@@ -944,9 +945,9 @@ subsequentPayloads, asyncRecord):
944
945
- If {result} is an iterator:
945
946
- Let {field} be the first entry in {fields}.
946
947
- Let {innerType} be the inner type of {fieldType}.
947
- - If {field} provides the directive ` @stream ` and its {if} argument is
948
- {true} or is a variable in {variableValues} with the value {true} and
949
- {innerType} is the outermost return type of the list type defined for
948
+ - If {field} provides the directive ` @stream ` and its {if} argument is not
949
+ {false} and is not a variable in {variableValues} with the value {false}
950
+ and {innerType} is the outermost return type of the list type defined for
950
951
{field}:
951
952
- Let {streamDirective} be that directive.
952
953
- Let {initialCount} be the value or variable provided to
0 commit comments