@@ -129,7 +129,7 @@ export interface ExecutionContext {
129129 typeResolver : GraphQLTypeResolver < any , any > ;
130130 subscribeFieldResolver : GraphQLFieldResolver < any , any > ;
131131 errors : Array < GraphQLError > ;
132- publisher : IncrementalPublisher ;
132+ incrementalPublisher : IncrementalPublisher ;
133133}
134134
135135/**
@@ -289,21 +289,21 @@ function executeImpl(
289289 // Errors from sub-fields of a NonNull type may propagate to the top level,
290290 // at which point we still log the error and null the parent field, which
291291 // in this case is the entire response.
292- const { publisher , errors } = exeContext ;
292+ const { incrementalPublisher , errors } = exeContext ;
293293 try {
294294 const result = executeOperation ( exeContext ) ;
295295 if ( isPromise ( result ) ) {
296296 return result . then (
297297 ( data ) => {
298298 const initialResult = buildResponse ( data , errors ) ;
299- publisher . publishInitial ( ) ;
300- if ( publisher . hasNext ( ) ) {
299+ incrementalPublisher . publishInitial ( ) ;
300+ if ( incrementalPublisher . hasNext ( ) ) {
301301 return {
302302 initialResult : {
303303 ...initialResult ,
304304 hasNext : true ,
305305 } ,
306- subsequentResults : publisher . subscribe ( ) ,
306+ subsequentResults : incrementalPublisher . subscribe ( ) ,
307307 } ;
308308 }
309309 return initialResult ;
@@ -315,14 +315,14 @@ function executeImpl(
315315 ) ;
316316 }
317317 const initialResult = buildResponse ( result , errors ) ;
318- publisher . publishInitial ( ) ;
319- if ( publisher . hasNext ( ) ) {
318+ incrementalPublisher . publishInitial ( ) ;
319+ if ( incrementalPublisher . hasNext ( ) ) {
320320 return {
321321 initialResult : {
322322 ...initialResult ,
323323 hasNext : true ,
324324 } ,
325- subsequentResults : publisher . subscribe ( ) ,
325+ subsequentResults : incrementalPublisher . subscribe ( ) ,
326326 } ;
327327 }
328328 return initialResult ;
@@ -444,7 +444,7 @@ export function buildExecutionContext(
444444 fieldResolver : fieldResolver ?? defaultFieldResolver ,
445445 typeResolver : typeResolver ?? defaultTypeResolver ,
446446 subscribeFieldResolver : subscribeFieldResolver ?? defaultFieldResolver ,
447- publisher : new IncrementalPublisher ( ) ,
447+ incrementalPublisher : new IncrementalPublisher ( ) ,
448448 errors : [ ] ,
449449 } ;
450450}
@@ -456,7 +456,7 @@ function buildPerEventExecutionContext(
456456 return {
457457 ...exeContext ,
458458 rootValue : payload ,
459- // no need to update publisher , incremental delivery is not supported for subscriptions
459+ // no need to update incrementalPublisher , incremental delivery is not supported for subscriptions
460460 errors : [ ] ,
461461 } ;
462462}
@@ -709,7 +709,7 @@ function executeField(
709709 path ,
710710 incrementalDataRecord ,
711711 ) ;
712- exeContext . publisher . filter ( path , incrementalDataRecord ) ;
712+ exeContext . incrementalPublisher . filter ( path , incrementalDataRecord ) ;
713713 return null ;
714714 } ) ;
715715 }
@@ -723,7 +723,7 @@ function executeField(
723723 path ,
724724 incrementalDataRecord ,
725725 ) ;
726- exeContext . publisher . filter ( path , incrementalDataRecord ) ;
726+ exeContext . incrementalPublisher . filter ( path , incrementalDataRecord ) ;
727727 return null ;
728728 }
729729}
@@ -924,7 +924,7 @@ async function completePromisedValue(
924924 path ,
925925 incrementalDataRecord ,
926926 ) ;
927- exeContext . publisher . filter ( path , incrementalDataRecord ) ;
927+ exeContext . incrementalPublisher . filter ( path , incrementalDataRecord ) ;
928928 return null ;
929929 }
930930}
@@ -1200,7 +1200,10 @@ function completeListItemValue(
12001200 itemPath ,
12011201 incrementalDataRecord ,
12021202 ) ;
1203- exeContext . publisher . filter ( itemPath , incrementalDataRecord ) ;
1203+ exeContext . incrementalPublisher . filter (
1204+ itemPath ,
1205+ incrementalDataRecord ,
1206+ ) ;
12041207 return null ;
12051208 } ) ,
12061209 ) ;
@@ -1218,7 +1221,7 @@ function completeListItemValue(
12181221 itemPath ,
12191222 incrementalDataRecord ,
12201223 ) ;
1221- exeContext . publisher . filter ( itemPath , incrementalDataRecord ) ;
1224+ exeContext . incrementalPublisher . filter ( itemPath , incrementalDataRecord ) ;
12221225 completedResults . push ( null ) ;
12231226 }
12241227
@@ -1748,12 +1751,13 @@ function executeDeferredFragment(
17481751 path ?: Path ,
17491752 parentContext ?: IncrementalDataRecord ,
17501753) : void {
1751- const publisher = exeContext . publisher ;
1752- const incrementalDataRecord = publisher . prepareNewDeferredFragmentRecord ( {
1753- label,
1754- path,
1755- parentContext,
1756- } ) ;
1754+ const incrementalPublisher = exeContext . incrementalPublisher ;
1755+ const incrementalDataRecord =
1756+ incrementalPublisher . prepareNewDeferredFragmentRecord ( {
1757+ label,
1758+ path,
1759+ parentContext,
1760+ } ) ;
17571761
17581762 let promiseOrData ;
17591763 try {
@@ -1769,24 +1773,30 @@ function executeDeferredFragment(
17691773 if ( isPromise ( promiseOrData ) ) {
17701774 promiseOrData = promiseOrData . then (
17711775 ( resolved ) =>
1772- publisher . completeDeferredFragmentRecord (
1776+ incrementalPublisher . completeDeferredFragmentRecord (
17731777 incrementalDataRecord ,
17741778 resolved ,
17751779 ) ,
17761780 ( e ) => {
1777- publisher . addFieldError ( incrementalDataRecord , e ) ;
1778- publisher . completeDeferredFragmentRecord ( incrementalDataRecord , null ) ;
1781+ incrementalPublisher . addFieldError ( incrementalDataRecord , e ) ;
1782+ incrementalPublisher . completeDeferredFragmentRecord (
1783+ incrementalDataRecord ,
1784+ null ,
1785+ ) ;
17791786 } ,
17801787 ) ;
17811788 } else {
1782- publisher . completeDeferredFragmentRecord (
1789+ incrementalPublisher . completeDeferredFragmentRecord (
17831790 incrementalDataRecord ,
17841791 promiseOrData ,
17851792 ) ;
17861793 }
17871794 } catch ( e ) {
1788- publisher . addFieldError ( incrementalDataRecord , e ) ;
1789- publisher . completeDeferredFragmentRecord ( incrementalDataRecord , null ) ;
1795+ incrementalPublisher . addFieldError ( incrementalDataRecord , e ) ;
1796+ incrementalPublisher . completeDeferredFragmentRecord (
1797+ incrementalDataRecord ,
1798+ null ,
1799+ ) ;
17901800 }
17911801}
17921802
@@ -1801,12 +1811,13 @@ function executeStreamField(
18011811 label ?: string ,
18021812 parentContext ?: IncrementalDataRecord ,
18031813) : IncrementalDataRecord {
1804- const publisher = exeContext . publisher ;
1805- const incrementalDataRecord = publisher . prepareNewStreamItemsRecord ( {
1806- label,
1807- path : itemPath ,
1808- parentContext,
1809- } ) ;
1814+ const incrementalPublisher = exeContext . incrementalPublisher ;
1815+ const incrementalDataRecord =
1816+ incrementalPublisher . prepareNewStreamItemsRecord ( {
1817+ label,
1818+ path : itemPath ,
1819+ parentContext,
1820+ } ) ;
18101821
18111822 if ( isPromise ( item ) ) {
18121823 completePromisedValue (
@@ -1819,11 +1830,16 @@ function executeStreamField(
18191830 incrementalDataRecord ,
18201831 ) . then (
18211832 ( value ) =>
1822- publisher . completeStreamItemsRecord ( incrementalDataRecord , [ value ] ) ,
1833+ incrementalPublisher . completeStreamItemsRecord ( incrementalDataRecord , [
1834+ value ,
1835+ ] ) ,
18231836 ( error ) => {
1824- publisher . addFieldError ( incrementalDataRecord , error ) ;
1825- publisher . filter ( path , incrementalDataRecord ) ;
1826- publisher . completeStreamItemsRecord ( incrementalDataRecord , null ) ;
1837+ incrementalPublisher . addFieldError ( incrementalDataRecord , error ) ;
1838+ incrementalPublisher . filter ( path , incrementalDataRecord ) ;
1839+ incrementalPublisher . completeStreamItemsRecord (
1840+ incrementalDataRecord ,
1841+ null ,
1842+ ) ;
18271843 return null ;
18281844 } ,
18291845 ) ;
@@ -1853,12 +1869,12 @@ function executeStreamField(
18531869 incrementalDataRecord ,
18541870 ) ;
18551871 completedItem = null ;
1856- exeContext . publisher . filter ( itemPath , incrementalDataRecord ) ;
1872+ exeContext . incrementalPublisher . filter ( itemPath , incrementalDataRecord ) ;
18571873 }
18581874 } catch ( error ) {
1859- publisher . addFieldError ( incrementalDataRecord , error ) ;
1860- publisher . filter ( path , incrementalDataRecord ) ;
1861- publisher . completeStreamItemsRecord ( incrementalDataRecord , null ) ;
1875+ incrementalPublisher . addFieldError ( incrementalDataRecord , error ) ;
1876+ incrementalPublisher . filter ( path , incrementalDataRecord ) ;
1877+ incrementalPublisher . completeStreamItemsRecord ( incrementalDataRecord , null ) ;
18621878 return incrementalDataRecord ;
18631879 }
18641880
@@ -1873,23 +1889,31 @@ function executeStreamField(
18731889 itemPath ,
18741890 incrementalDataRecord ,
18751891 ) ;
1876- exeContext . publisher . filter ( itemPath , incrementalDataRecord ) ;
1892+ exeContext . incrementalPublisher . filter ( itemPath , incrementalDataRecord ) ;
18771893 return null ;
18781894 } )
18791895 . then (
18801896 ( value ) =>
1881- publisher . completeStreamItemsRecord ( incrementalDataRecord , [ value ] ) ,
1897+ incrementalPublisher . completeStreamItemsRecord (
1898+ incrementalDataRecord ,
1899+ [ value ] ,
1900+ ) ,
18821901 ( error ) => {
1883- publisher . addFieldError ( incrementalDataRecord , error ) ;
1884- publisher . filter ( path , incrementalDataRecord ) ;
1885- publisher . completeStreamItemsRecord ( incrementalDataRecord , null ) ;
1902+ incrementalPublisher . addFieldError ( incrementalDataRecord , error ) ;
1903+ incrementalPublisher . filter ( path , incrementalDataRecord ) ;
1904+ incrementalPublisher . completeStreamItemsRecord (
1905+ incrementalDataRecord ,
1906+ null ,
1907+ ) ;
18861908 } ,
18871909 ) ;
18881910
18891911 return incrementalDataRecord ;
18901912 }
18911913
1892- publisher . completeStreamItemsRecord ( incrementalDataRecord , [ completedItem ] ) ;
1914+ incrementalPublisher . completeStreamItemsRecord ( incrementalDataRecord , [
1915+ completedItem ,
1916+ ] ) ;
18931917 return incrementalDataRecord ;
18941918}
18951919
@@ -1908,7 +1932,9 @@ async function executeStreamAsyncIteratorItem(
19081932 const { value, done } = await asyncIterator . next ( ) ;
19091933
19101934 if ( done ) {
1911- exeContext . publisher . setIsCompletedAsyncIterator ( incrementalDataRecord ) ;
1935+ exeContext . incrementalPublisher . setIsCompletedAsyncIterator (
1936+ incrementalDataRecord ,
1937+ ) ;
19121938 return { done : true , value : undefined } ;
19131939 }
19141940 item = value ;
@@ -1937,7 +1963,7 @@ async function executeStreamAsyncIteratorItem(
19371963 itemPath ,
19381964 incrementalDataRecord ,
19391965 ) ;
1940- exeContext . publisher . filter ( itemPath , incrementalDataRecord ) ;
1966+ exeContext . incrementalPublisher . filter ( itemPath , incrementalDataRecord ) ;
19411967 return null ;
19421968 } ) ;
19431969 }
@@ -1951,7 +1977,7 @@ async function executeStreamAsyncIteratorItem(
19511977 itemPath ,
19521978 incrementalDataRecord ,
19531979 ) ;
1954- exeContext . publisher . filter ( itemPath , incrementalDataRecord ) ;
1980+ exeContext . incrementalPublisher . filter ( itemPath , incrementalDataRecord ) ;
19551981 return { done : false , value : null } ;
19561982 }
19571983}
@@ -1967,18 +1993,19 @@ async function executeStreamAsyncIterator(
19671993 label ?: string ,
19681994 parentContext ?: IncrementalDataRecord ,
19691995) : Promise < void > {
1970- const publisher = exeContext . publisher ;
1996+ const incrementalPublisher = exeContext . incrementalPublisher ;
19711997 let index = initialIndex ;
19721998 let previousIncrementalDataRecord = parentContext ?? undefined ;
19731999 // eslint-disable-next-line no-constant-condition
19742000 while ( true ) {
19752001 const itemPath = addPath ( path , index , undefined ) ;
1976- const incrementalDataRecord = publisher . prepareNewStreamItemsRecord ( {
1977- label,
1978- path : itemPath ,
1979- parentContext : previousIncrementalDataRecord ,
1980- asyncIterator,
1981- } ) ;
2002+ const incrementalDataRecord =
2003+ incrementalPublisher . prepareNewStreamItemsRecord ( {
2004+ label,
2005+ path : itemPath ,
2006+ parentContext : previousIncrementalDataRecord ,
2007+ asyncIterator,
2008+ } ) ;
19822009
19832010 let iteration ;
19842011 try {
@@ -1994,9 +2021,12 @@ async function executeStreamAsyncIterator(
19942021 itemPath ,
19952022 ) ;
19962023 } catch ( error ) {
1997- publisher . addFieldError ( incrementalDataRecord , error ) ;
1998- publisher . filter ( path , incrementalDataRecord ) ;
1999- publisher . completeStreamItemsRecord ( incrementalDataRecord , null ) ;
2024+ incrementalPublisher . addFieldError ( incrementalDataRecord , error ) ;
2025+ incrementalPublisher . filter ( path , incrementalDataRecord ) ;
2026+ incrementalPublisher . completeStreamItemsRecord (
2027+ incrementalDataRecord ,
2028+ null ,
2029+ ) ;
20002030 // entire stream has errored and bubbled upwards
20012031 if ( asyncIterator ?. return ) {
20022032 asyncIterator . return ( ) . catch ( ( ) => {
@@ -2011,15 +2041,21 @@ async function executeStreamAsyncIterator(
20112041 if ( isPromise ( completedItem ) ) {
20122042 completedItem . then (
20132043 ( value ) =>
2014- publisher . completeStreamItemsRecord ( incrementalDataRecord , [ value ] ) ,
2044+ incrementalPublisher . completeStreamItemsRecord (
2045+ incrementalDataRecord ,
2046+ [ value ] ,
2047+ ) ,
20152048 ( error ) => {
2016- publisher . addFieldError ( incrementalDataRecord , error ) ;
2017- publisher . filter ( path , incrementalDataRecord ) ;
2018- publisher . completeStreamItemsRecord ( incrementalDataRecord , null ) ;
2049+ incrementalPublisher . addFieldError ( incrementalDataRecord , error ) ;
2050+ incrementalPublisher . filter ( path , incrementalDataRecord ) ;
2051+ incrementalPublisher . completeStreamItemsRecord (
2052+ incrementalDataRecord ,
2053+ null ,
2054+ ) ;
20192055 } ,
20202056 ) ;
20212057 } else {
2022- publisher . completeStreamItemsRecord ( incrementalDataRecord , [
2058+ incrementalPublisher . completeStreamItemsRecord ( incrementalDataRecord , [
20232059 completedItem ,
20242060 ] ) ;
20252061 }
0 commit comments