From 40adebff60a1078a5b8c49fc1fd0275c2d15d1c3 Mon Sep 17 00:00:00 2001 From: Yaacov Rydzinski Date: Sun, 12 Jun 2022 23:30:08 +0300 Subject: [PATCH] subscribe: once execution starts.... data should return null? --- src/execution/__tests__/subscribe-test.ts | 4 ++++ src/execution/execute.ts | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/execution/__tests__/subscribe-test.ts b/src/execution/__tests__/subscribe-test.ts index 6d73208c8d..1692c2fd94 100644 --- a/src/execution/__tests__/subscribe-test.ts +++ b/src/execution/__tests__/subscribe-test.ts @@ -427,6 +427,7 @@ describe('Subscription Initialization Phase', () => { const result = subscribe({ schema, document }); expectJSON(result).toDeepEqual({ + data: null, errors: [ { message: @@ -451,6 +452,7 @@ describe('Subscription Initialization Phase', () => { const result = subscribe({ schema, document }); expectJSON(result).toDeepEqual({ + data: null, errors: [ { message: 'The subscription field "unknownField" is not defined.', @@ -477,6 +479,7 @@ describe('Subscription Initialization Phase', () => { it('throws an error if subscribe does not return an iterator', async () => { const expectedResult = { + data: null, errors: [ { message: @@ -498,6 +501,7 @@ describe('Subscription Initialization Phase', () => { it('resolves to an error for subscription resolver errors', async () => { const expectedResult = { + data: null, errors: [ { message: 'test error', diff --git a/src/execution/execute.ts b/src/execution/execute.ts index 67905366c1..d497e1dec6 100644 --- a/src/execution/execute.ts +++ b/src/execution/execute.ts @@ -1141,12 +1141,15 @@ export function createSourceEventStream( try { const eventStream = executeSubscription(exeContext); if (isPromise(eventStream)) { - return eventStream.then(undefined, (error) => ({ errors: [error] })); + return eventStream.then(undefined, (error) => ({ + data: null, + errors: [error], + })); } return eventStream; } catch (error) { - return { errors: [error] }; + return { data: null, errors: [error] }; } }