File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -619,10 +619,6 @@ function executeSubscription(
619619 sharedExecutionContext . getAsyncHelpers ,
620620 ) ;
621621
622- const onError = ( error : unknown ) : PromiseOrValue < never > => {
623- throw locatedError ( error , fieldNodes , pathToArray ( path ) ) ;
624- } ;
625-
626622 try {
627623 // Implements the "ResolveFieldEventStream" algorithm from GraphQL specification.
628624 // It differs from "ResolveFieldValue" due to providing a different `resolveFn`.
@@ -651,11 +647,19 @@ function executeSubscription(
651647 const promise = externalAbortSignal
652648 ? cancellablePromise ( result , externalAbortSignal )
653649 : result ;
654- return promise . then ( assertEventStream ) . then ( undefined , onError ) ;
650+ return promise
651+ . then ( assertEventStream )
652+ . then ( undefined , ( error : unknown ) => {
653+ throw locatedError (
654+ error ,
655+ toNodes ( fieldDetailsList ) ,
656+ pathToArray ( path ) ,
657+ ) ;
658+ } ) ;
655659 }
656660 return assertEventStream ( result ) ;
657661 } catch ( error ) {
658- return onError ( error ) ;
662+ throw locatedError ( error , fieldNodes , pathToArray ( path ) ) ;
659663 }
660664}
661665
@@ -708,3 +712,7 @@ export function buildResolveInfo(
708712 getAsyncHelpers,
709713 } ;
710714}
715+
716+ function toNodes ( fieldDetailsList : FieldDetailsList ) : ReadonlyArray < FieldNode > {
717+ return fieldDetailsList . map ( ( fieldDetails ) => fieldDetails . node ) ;
718+ }
You can’t perform that action at this time.
0 commit comments