@@ -426,13 +426,6 @@ function executeOperation(
426
426
427
427
const path = undefined ;
428
428
429
- const newDeferredGroupedFieldSetRecords = addNewDeferredGroupedFieldSets (
430
- incrementalPublisher ,
431
- newGroupedFieldSetDetailsMap ,
432
- newDeferMap ,
433
- path ,
434
- ) ;
435
-
436
429
let result ;
437
430
switch ( operation . operation ) {
438
431
case OperationTypeNode . QUERY :
@@ -476,7 +469,7 @@ function executeOperation(
476
469
rootType ,
477
470
rootValue ,
478
471
path ,
479
- newDeferredGroupedFieldSetRecords ,
472
+ newGroupedFieldSetDetailsMap ,
480
473
newDeferMap ,
481
474
) ;
482
475
@@ -1501,36 +1494,28 @@ function deferredFragmentRecordFromDeferUsage(
1501
1494
return deferMap . get ( deferUsage ) ! ;
1502
1495
}
1503
1496
1504
- function addNewDeferredGroupedFieldSets (
1497
+ function addNewDeferredGroupedFieldSet (
1505
1498
incrementalPublisher : IncrementalPublisher ,
1506
- newGroupedFieldSetDetailsMap : Map < DeferUsageSet , NewGroupedFieldSetDetails > ,
1499
+ deferUsageSet : DeferUsageSet ,
1500
+ groupedFieldSet : GroupedFieldSet ,
1501
+ shouldInitiateDefer : boolean ,
1507
1502
deferMap : ReadonlyMap < DeferUsage , DeferredFragmentRecord > ,
1508
1503
path ?: Path | undefined ,
1509
- ) : ReadonlyArray < DeferredGroupedFieldSetRecord > {
1510
- const newDeferredGroupedFieldSetRecords : Array < DeferredGroupedFieldSetRecord > =
1511
- [ ] ;
1512
-
1513
- for ( const [
1504
+ ) : DeferredGroupedFieldSetRecord {
1505
+ const deferredFragmentRecords = getDeferredFragmentRecords (
1514
1506
deferUsageSet ,
1515
- { groupedFieldSet, shouldInitiateDefer } ,
1516
- ] of newGroupedFieldSetDetailsMap ) {
1517
- const deferredFragmentRecords = getDeferredFragmentRecords (
1518
- deferUsageSet ,
1519
- deferMap ,
1520
- ) ;
1521
- const deferredGroupedFieldSetRecord = new DeferredGroupedFieldSetRecord ( {
1522
- path,
1523
- deferredFragmentRecords,
1524
- groupedFieldSet,
1525
- shouldInitiateDefer,
1526
- } ) ;
1527
- incrementalPublisher . reportNewDeferredGroupedFieldSetRecord (
1528
- deferredGroupedFieldSetRecord ,
1529
- ) ;
1530
- newDeferredGroupedFieldSetRecords . push ( deferredGroupedFieldSetRecord ) ;
1531
- }
1532
-
1533
- return newDeferredGroupedFieldSetRecords ;
1507
+ deferMap ,
1508
+ ) ;
1509
+ const deferredGroupedFieldSetRecord = new DeferredGroupedFieldSetRecord ( {
1510
+ path,
1511
+ deferredFragmentRecords,
1512
+ groupedFieldSet,
1513
+ shouldInitiateDefer,
1514
+ } ) ;
1515
+ incrementalPublisher . reportNewDeferredGroupedFieldSetRecord (
1516
+ deferredGroupedFieldSetRecord ,
1517
+ ) ;
1518
+ return deferredGroupedFieldSetRecord ;
1534
1519
}
1535
1520
1536
1521
function getDeferredFragmentRecords (
@@ -1565,13 +1550,6 @@ function collectAndExecuteSubfields(
1565
1550
path ,
1566
1551
) ;
1567
1552
1568
- const newDeferredGroupedFieldSetRecords = addNewDeferredGroupedFieldSets (
1569
- incrementalPublisher ,
1570
- newGroupedFieldSetDetailsMap ,
1571
- newDeferMap ,
1572
- path ,
1573
- ) ;
1574
-
1575
1553
const subFields = executeFields (
1576
1554
exeContext ,
1577
1555
returnType ,
@@ -1587,7 +1565,7 @@ function collectAndExecuteSubfields(
1587
1565
returnType ,
1588
1566
result ,
1589
1567
path ,
1590
- newDeferredGroupedFieldSetRecords ,
1568
+ newGroupedFieldSetDetailsMap ,
1591
1569
newDeferMap ,
1592
1570
) ;
1593
1571
@@ -1891,11 +1869,23 @@ function executeDeferredGroupedFieldSets(
1891
1869
parentType : GraphQLObjectType ,
1892
1870
sourceValue : unknown ,
1893
1871
path : Path | undefined ,
1894
- newDeferredGroupedFieldSetRecords : ReadonlyArray < DeferredGroupedFieldSetRecord > ,
1872
+ newGroupedFieldSetDetailsMap : Map < DeferUsageSet , NewGroupedFieldSetDetails > ,
1895
1873
deferMap : ReadonlyMap < DeferUsage , DeferredFragmentRecord > ,
1896
1874
) : void {
1897
- for ( const deferredGroupedFieldSetRecord of newDeferredGroupedFieldSetRecords ) {
1898
- if ( deferredGroupedFieldSetRecord . shouldInitiateDefer ) {
1875
+ for ( const [
1876
+ deferUsageSet ,
1877
+ { groupedFieldSet, shouldInitiateDefer } ,
1878
+ ] of newGroupedFieldSetDetailsMap ) {
1879
+ const deferredGroupedFieldSetRecord = addNewDeferredGroupedFieldSet (
1880
+ exeContext . incrementalPublisher ,
1881
+ deferUsageSet ,
1882
+ groupedFieldSet ,
1883
+ shouldInitiateDefer ,
1884
+ deferMap ,
1885
+ path ,
1886
+ ) ;
1887
+
1888
+ if ( shouldInitiateDefer ) {
1899
1889
// eslint-disable-next-line @typescript-eslint/no-floating-promises
1900
1890
Promise . resolve ( ) . then ( ( ) =>
1901
1891
executeDeferredGroupedFieldSet (
0 commit comments