From 0feaeddbeea462011e650e682501b712c2d4ee67 Mon Sep 17 00:00:00 2001 From: n1ru4l Date: Mon, 10 May 2021 11:46:15 +0200 Subject: [PATCH] feat(subscribe): allow providing custom execute function for subscribe. --- src/subscription/subscribe.d.ts | 3 ++- src/subscription/subscribe.js | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/subscription/subscribe.d.ts b/src/subscription/subscribe.d.ts index 46c00d3e92..eb6bb3e14b 100644 --- a/src/subscription/subscribe.d.ts +++ b/src/subscription/subscribe.d.ts @@ -1,7 +1,7 @@ import { Maybe } from '../jsutils/Maybe'; import { DocumentNode } from '../language/ast'; -import { ExecutionResult } from '../execution/execute'; +import { execute, ExecutionResult } from '../execution/execute'; import { GraphQLSchema } from '../type/schema'; import { GraphQLFieldResolver } from '../type/definition'; @@ -14,6 +14,7 @@ export interface SubscriptionArgs { operationName?: Maybe; fieldResolver?: Maybe>; subscribeFieldResolver?: Maybe>; + execute?: Maybe } /** diff --git a/src/subscription/subscribe.js b/src/subscription/subscribe.js index 94f1f83a00..341c69d03e 100644 --- a/src/subscription/subscribe.js +++ b/src/subscription/subscribe.js @@ -14,7 +14,7 @@ import { buildExecutionContext, buildResolveInfo, collectFields, - execute, + execute as defaultExecute, getFieldDef, } from '../execution/execute'; @@ -34,6 +34,7 @@ export type SubscriptionArgs = {| operationName?: ?string, fieldResolver?: ?GraphQLFieldResolver, subscribeFieldResolver?: ?GraphQLFieldResolver, + execute?: ?typeof execute |}; /** @@ -69,6 +70,7 @@ export async function subscribe( operationName, fieldResolver, subscribeFieldResolver, + execute = defaultExecute } = args; // $FlowFixMe[incompatible-call]