Skip to Content
GraphQL Tools
DocumentationAPI@graphql-tools/executorsrcinterfacesExecutionContext

Interface: ExecutionContext<TVariables, TContext>

Defined in: packages/executor/src/execution/execute.ts:216 

Data that must be available at all points during query execution.

Namely, schema of the type system that is currently executing, and the fragments defined in the query document

Type Parameters

TVariables

TVariables = any

TContext

TContext = any

Properties

contextValue

contextValue: TContext

Defined in: packages/executor/src/execution/execute.ts:220 


deferUsageByFieldNode?

optional deferUsageByFieldNode?: WeakMap<FieldNode, DeferUsage | undefined>

Defined in: packages/executor/src/execution/execute.ts:241 

Per-execution FieldNode → DeferUsage. Document AST nodes are reused across requests, so this must not live at module scope.


deferUsagesForFieldNodes?

optional deferUsagesForFieldNodes?: WeakMap<readonly FieldNode[], DeferUsageSet>

Defined in: packages/executor/src/execution/execute.ts:247 

Field-node arrays from a planned group → that group’s DeferUsageSet. List items share the same array identity, so overlapping sibling usages stay stable across async item completion.


errors

errors: GraphQLError[]

Defined in: packages/executor/src/execution/execute.ts:228 


fieldResolver

fieldResolver: GraphQLFieldResolver<any, TContext>

Defined in: packages/executor/src/execution/execute.ts:225 


fragments

fragments: Record<string, FragmentDefinitionNode>

Defined in: packages/executor/src/execution/execute.ts:218 


getAbortSignal

getAbortSignal: () => AbortSignal | undefined

Defined in: packages/executor/src/execution/execute.ts:259 

Returns

AbortSignal | undefined


getAsyncHelpers

getAsyncHelpers: () => object

Defined in: packages/executor/src/execution/execute.ts:260 

Returns

promiseAll

promiseAll: {<T>(values): Promise<Awaited<T>[]>; <T>(values): Promise<{ -readonly [P in string | number | symbol]: Awaited<T[P]> }>; }

Call Signature

<T>(values): Promise<Awaited<T>[]>

Creates a Promise that is resolved with an array of results when all of the provided Promises resolve, or rejected when any Promise is rejected.

Type Parameters
T

T

Parameters
values

Iterable<T | PromiseLike<T>>

An iterable of Promises.

Returns

Promise<Awaited<T>[]>

A new Promise.

Call Signature

<T>(values): Promise<{ -readonly [P in string | number | symbol]: Awaited<T[P]> }>

Creates a Promise that is resolved with an array of results when all of the provided Promises resolve, or rejected when any Promise is rejected.

Type Parameters
T

T extends [] | readonly unknown[]

Parameters
values

T

An array of Promises.

Returns

Promise<{ -readonly [P in string | number | symbol]: Awaited<T[P]> }>

A new Promise.

track

track: (maybePromises) => void

Parameters
maybePromises

readonly unknown[]

Returns

void


incrementalSpec

incrementalSpec: IncrementalSpec

Defined in: packages/executor/src/execution/execute.ts:230 


incrementalSubfieldCache?

optional incrementalSubfieldCache?: WeakMap<readonly FieldNode[], WeakMap<GraphQLObjectType<any, any, any>, { groupedFieldSet: GroupedFieldSet; newDeferUsages: readonly DeferUsage[]; }>>

Defined in: packages/executor/src/execution/execute.ts:254 

Memoize incremental subfield collect per fieldNodes array and concrete return type so list items of the same type reuse DeferUsage objects without sharing type-conditioned selections across a heterogeneous interface or union list.


nulledPaths?

optional nulledPaths?: (readonly (string | number)[])[]

Defined in: packages/executor/src/execution/execute.ts:236 

Allocated only when the operation actually uses @defer/@stream so default execution does not pay for null-bubble bookkeeping.


operation

operation: OperationDefinitionNode

Defined in: packages/executor/src/execution/execute.ts:221 


publisher?

optional publisher?: IncrementalPublisherState

Defined in: packages/executor/src/execution/execute.ts:231 


resolveInfoVariableValues

resolveInfoVariableValues: VariableValues

Defined in: packages/executor/src/execution/execute.ts:224 

Precomputed for GraphQLResolveInfo (GQL16 coerced map vs GQL17 VariableValues).


rootValue

rootValue: unknown

Defined in: packages/executor/src/execution/execute.ts:219 


schema

schema: GraphQLSchema

Defined in: packages/executor/src/execution/execute.ts:217 


schemaCoordinateInErrors?

optional schemaCoordinateInErrors?: boolean

Defined in: packages/executor/src/execution/execute.ts:267 


signal?

optional signal?: AbortSignal

Defined in: packages/executor/src/execution/execute.ts:258 


signalPromise?

optional signalPromise?: Promise<never>

Defined in: packages/executor/src/execution/execute.ts:266 


subscribeFieldResolver

subscribeFieldResolver: GraphQLFieldResolver<any, TContext>

Defined in: packages/executor/src/execution/execute.ts:227 


subsequentPayloads

subsequentPayloads: Set<AsyncPayloadRecord>

Defined in: packages/executor/src/execution/execute.ts:229 


typeResolver

typeResolver: GraphQLTypeResolver<any, TContext>

Defined in: packages/executor/src/execution/execute.ts:226 


variableValues

variableValues: VariableValues<TVariables>

Defined in: packages/executor/src/execution/execute.ts:222 

Methods

detachSignalListener()?

optional detachSignalListener(): void

Defined in: packages/executor/src/execution/execute.ts:265 

Returns

void


onSignalAbort()?

optional onSignalAbort(handler): void

Defined in: packages/executor/src/execution/execute.ts:264 

Parameters

handler

() => void

Returns

void