Docs
API Reference
Packages
delegate

@graphql-tools/delegate

Table of contents

Classes

Interfaces

Type Aliases

Functions

Type Aliases

CreateProxyingResolverFn

Ƭ CreateProxyingResolverFn<TContext>: (options: ICreateProxyingResolverOptions<TContext>) => GraphQLFieldResolver<any, TContext>

Type parameters

NameType
TContextRecord<string, any>

Type declaration

▸ (options): GraphQLFieldResolver<any, TContext>

Parameters
NameType
optionsICreateProxyingResolverOptions<TContext>
Returns

GraphQLFieldResolver<any, TContext>

Defined in

packages/delegate/src/types.ts:129 (opens in a new tab)


DelegationPlanBuilder

Ƭ DelegationPlanBuilder: (schema: GraphQLSchema, sourceSubschema: Subschema<any, any, any, any>, variableValues: Record<string, any>, fragments: Record<string, FragmentDefinitionNode>, fieldNodes: FieldNode[]) => Map<Subschema, SelectionSetNode>[]

Type declaration

▸ (schema, sourceSubschema, variableValues, fragments, fieldNodes): Map<Subschema, SelectionSetNode>[]

Parameters
NameType
schemaGraphQLSchema
sourceSubschemaSubschema<any, any, any, any>
variableValuesRecord<string, any>
fragmentsRecord<string, FragmentDefinitionNode>
fieldNodesFieldNode[]
Returns

Map<Subschema, SelectionSetNode>[]

Defined in

packages/delegate/src/types.ts:102 (opens in a new tab)


MergedTypeResolver

Ƭ MergedTypeResolver<TContext>: (originalResult: any, context: TContext, info: GraphQLResolveInfo, subschema: Subschema<any, any, any, TContext>, selectionSet: SelectionSetNode, key: any | undefined, type: GraphQLOutputType) => any

Type parameters

NameType
TContextRecord<string, any>

Type declaration

▸ (originalResult, context, info, subschema, selectionSet, key, type): any

Parameters
NameType
originalResultany
contextTContext
infoGraphQLResolveInfo
subschemaSubschema<any, any, any, TContext>
selectionSetSelectionSetNode
keyany | undefined
typeGraphQLOutputType
Returns

any

Defined in

packages/delegate/src/types.ts:176 (opens in a new tab)


RequestTransform

Ƭ RequestTransform<T, TContext>: (originalRequest: ExecutionRequest, delegationContext: DelegationContext<TContext>, transformationContext: T) => ExecutionRequest

Type parameters

NameType
TRecord<string, any>
TContextRecord<any, string>

Type declaration

▸ (originalRequest, delegationContext, transformationContext): ExecutionRequest

Parameters
NameType
originalRequestExecutionRequest
delegationContextDelegationContext<TContext>
transformationContextT
Returns

ExecutionRequest

Defined in

packages/delegate/src/types.ts:27 (opens in a new tab)


ResultTransform

Ƭ ResultTransform<T, TContext>: (originalResult: ExecutionResult, delegationContext: DelegationContext<TContext>, transformationContext: T) => ExecutionResult

Type parameters

NameType
TRecord<string, any>
TContextRecord<any, string>

Type declaration

▸ (originalResult, delegationContext, transformationContext): ExecutionResult

Parameters
NameType
originalResultExecutionResult
delegationContextDelegationContext<TContext>
transformationContextT
Returns

ExecutionResult

Defined in

packages/delegate/src/types.ts:32 (opens in a new tab)


SchemaTransform

Ƭ SchemaTransform<TContext>: (originalWrappingSchema: GraphQLSchema, subschemaConfig: SubschemaConfig<any, any, any, TContext>) => GraphQLSchema

Type parameters

NameType
TContextRecord<any, string>

Type declaration

▸ (originalWrappingSchema, subschemaConfig): GraphQLSchema

Parameters
NameType
originalWrappingSchemaGraphQLSchema
subschemaConfigSubschemaConfig<any, any, any, TContext>
Returns

GraphQLSchema

Defined in

packages/delegate/src/types.ts:23 (opens in a new tab)

Functions

annotateExternalObject

annotateExternalObject<TContext>(object, errors, subschema, subschemaMap): ExternalObject

Type parameters

Name
TContext

Parameters

NameType
objectany
errorsGraphQLError[]
subschemaundefined | GraphQLSchema | SubschemaConfig<any, any, any, TContext>
subschemaMapRecord<string, GraphQLSchema | SubschemaConfig<any, any, any, Record<string, any>>>

Returns

ExternalObject

Defined in

packages/delegate/src/mergeFields.ts:23 (opens in a new tab)


applySchemaTransforms

applySchemaTransforms(originalWrappingSchema, subschemaConfig): GraphQLSchema

Parameters

NameType
originalWrappingSchemaGraphQLSchema
subschemaConfigSubschemaConfig<any, any, any, any>

Returns

GraphQLSchema

Defined in

packages/delegate/src/applySchemaTransforms.ts:7 (opens in a new tab)


cloneSubschemaConfig

cloneSubschemaConfig(subschemaConfig): SubschemaConfig

Parameters

NameType
subschemaConfigSubschemaConfig<any, any, any, Record<string, any>>

Returns

SubschemaConfig

Defined in

packages/delegate/src/subschemaConfig.ts:7 (opens in a new tab)


createDefaultExecutor

createDefaultExecutor(schema): Executor

Parameters

NameType
schemaGraphQLSchema

Returns

Executor

Defined in

packages/delegate/src/delegateToSchema.ts:223 (opens in a new tab)


createRequest

createRequest(«destructured»): ExecutionRequest

Parameters

NameType
«destructured»ICreateRequest

Returns

ExecutionRequest

Defined in

packages/delegate/src/createRequest.ts:38 (opens in a new tab)


defaultMergedResolver

defaultMergedResolver(parent, args, context, info): any

Resolver that knows how to: a) handle aliases for proxied schemas b) handle errors from proxied schemas c) handle external to internal enum conversion

Parameters

NameType
parentExternalObject<Record<string, any>>
argsRecord<string, any>
contextRecord<string, any>
infoGraphQLResolveInfo

Returns

any

Defined in

packages/delegate/src/defaultMergedResolver.ts:15 (opens in a new tab)


delegateRequest

delegateRequest<TContext, TArgs>(options): any

Type parameters

NameType
TContextextends Record<string, any> = Record<string, any>
TArgsextends Record<string, any> = any

Parameters

NameType
optionsIDelegateRequestOptions<TContext, TArgs>

Returns

any

Defined in

packages/delegate/src/delegateToSchema.ts:92 (opens in a new tab)


delegateToSchema

delegateToSchema<TContext, TArgs>(options): any

Type parameters

NameType
TContextextends Record<string, any> = Record<string, any>
TArgsextends Record<string, any> = any

Parameters

NameType
optionsIDelegateToSchemaOptions<TContext, TArgs>

Returns

any

Defined in

packages/delegate/src/delegateToSchema.ts:40 (opens in a new tab)


getActualFieldNodes

getActualFieldNodes(fieldNode): FieldNode[]

Parameters

NameType
fieldNodeFieldNode

Returns

FieldNode[]

Defined in

packages/delegate/src/mergeFields.ts:52 (opens in a new tab)


getDelegatingOperation

getDelegatingOperation(parentType, schema): OperationTypeNode

Parameters

NameType
parentTypeGraphQLObjectType<any, any>
schemaGraphQLSchema

Returns

OperationTypeNode

Defined in

packages/delegate/src/createRequest.ts:28 (opens in a new tab)


getSubschema

getSubschema(object, responseKey): GraphQLSchema | SubschemaConfig

Parameters

NameType
objectExternalObject<Record<string, any>>
responseKeystring

Returns

GraphQLSchema | SubschemaConfig

Defined in

packages/delegate/src/mergeFields.ts:37 (opens in a new tab)


getUnpathedErrors

getUnpathedErrors(object): GraphQLError[]

Parameters

NameType
objectExternalObject<Record<string, any>>

Returns

GraphQLError[]

Defined in

packages/delegate/src/mergeFields.ts:41 (opens in a new tab)


isExternalObject

isExternalObject(data): data is ExternalObject<Record<string, any>>

Parameters

NameType
dataany

Returns

data is ExternalObject<Record<string, any>>

Defined in

packages/delegate/src/mergeFields.ts:19 (opens in a new tab)


isSubschema

isSubschema(value): value is Subschema<any, any, any, Record<string, any>>

Parameters

NameType
valueany

Returns

value is Subschema<any, any, any, Record<string, any>>

Defined in

packages/delegate/src/Subschema.ts:8 (opens in a new tab)


isSubschemaConfig

isSubschemaConfig(value): value is SubschemaConfig<any, any, any, any>

Parameters

NameType
valueany

Returns

value is SubschemaConfig<any, any, any, any>

Defined in

packages/delegate/src/subschemaConfig.ts:3 (opens in a new tab)


mergeFields

mergeFields<TContext>(mergedTypeInfo, object, sourceSubschema, context, info): ValueOrPromise<any>

Type parameters

Name
TContext

Parameters

NameType
mergedTypeInfoMergedTypeInfo<Record<string, any>>
objectany
sourceSubschemaSubschema<any, any, any, TContext>
contextany
infoGraphQLResolveInfo

Returns

ValueOrPromise<any>

Defined in

packages/delegate/src/mergeFields.ts:56 (opens in a new tab)


resolveExternalValue

resolveExternalValue<TContext>(result, unpathedErrors, subschema, context?, info?, returnType?, skipTypeMerging?): any

Type parameters

NameType
TContextextends Record<string, any>

Parameters

NameType
resultany
unpathedErrorsGraphQLError[]
subschemaGraphQLSchema | SubschemaConfig<any, any, any, TContext>
context?Record<string, any>
info?GraphQLResolveInfo
returnTypeGraphQLOutputType
skipTypeMerging?boolean

Returns

any

Defined in

packages/delegate/src/resolveExternalValue.ts:21 (opens in a new tab)