Skip to content

Commit cfb9e76

Browse files
committed
narrow diff
1 parent 5f66222 commit cfb9e76

1 file changed

Lines changed: 14 additions & 6 deletions

File tree

src/execution/execute.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff 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+
}

0 commit comments

Comments
 (0)