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

Interface: ExecutionContext<TVariables, TContext>

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

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:221 


deferUsageByFieldNode?

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

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

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:248 

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:229 


fieldResolver

fieldResolver: GraphQLFieldResolver<any, TContext>

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


fragments

fragments: Record<string, FragmentDefinitionNode>

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


getAbortSignal

getAbortSignal: () => AbortSignal | undefined

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

Returns

AbortSignal | undefined


getAsyncHelpers

getAsyncHelpers: () => object

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

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:231 


incrementalSubfieldCache?

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

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

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:237 

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:222 


publisher?

optional publisher?: IncrementalPublisherState

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


resolveInfoVariableValues

resolveInfoVariableValues: VariableValues

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

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


rootValue

rootValue: unknown

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


schema

schema: GraphQLSchema

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


schemaCoordinateInErrors?

optional schemaCoordinateInErrors?: boolean

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


signal?

optional signal?: AbortSignal

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


signalPromise?

optional signalPromise?: Promise<never>

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


subscribeFieldResolver

subscribeFieldResolver: GraphQLFieldResolver<any, TContext>

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


subsequentPayloads

subsequentPayloads: Set<AsyncPayloadRecord>

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


typeResolver

typeResolver: GraphQLTypeResolver<any, TContext>

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


variableValues

variableValues: VariableValues<TVariables>

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

Methods

detachSignalListener()?

optional detachSignalListener(): void

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

Returns

void


onSignalAbort()?

optional onSignalAbort(handler): void

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

Parameters

handler

() => void

Returns

void