Spaces:
Running
Running
import type { Maybe } from './jsutils/Maybe'; | |
import type { Source } from './language/source'; | |
import type { | |
GraphQLFieldResolver, | |
GraphQLTypeResolver, | |
} from './type/definition'; | |
import type { GraphQLSchema } from './type/schema'; | |
import type { ExecutionResult } from './execution/execute'; | |
/** | |
* This is the primary entry point function for fulfilling GraphQL operations | |
* by parsing, validating, and executing a GraphQL document along side a | |
* GraphQL schema. | |
* | |
* More sophisticated GraphQL servers, such as those which persist queries, | |
* may wish to separate the validation and execution phases to a static time | |
* tooling step, and a server runtime step. | |
* | |
* Accepts either an object with named arguments, or individual arguments: | |
* | |
* schema: | |
* The GraphQL type system to use when validating and executing a query. | |
* source: | |
* A GraphQL language formatted string representing the requested operation. | |
* rootValue: | |
* The value provided as the first argument to resolver functions on the top | |
* level type (e.g. the query object type). | |
* contextValue: | |
* The context value is provided as an argument to resolver functions after | |
* field arguments. It is used to pass shared information useful at any point | |
* during executing this query, for example the currently logged in user and | |
* connections to databases or other services. | |
* variableValues: | |
* A mapping of variable name to runtime value to use for all variables | |
* defined in the requestString. | |
* operationName: | |
* The name of the operation to use if requestString contains multiple | |
* possible operations. Can be omitted if requestString contains only | |
* one operation. | |
* fieldResolver: | |
* A resolver function to use when one is not provided by the schema. | |
* If not provided, the default field resolver is used (which looks for a | |
* value or method on the source value with the field's name). | |
* typeResolver: | |
* A type resolver function to use when none is provided by the schema. | |
* If not provided, the default type resolver is used (which looks for a | |
* `__typename` field or alternatively calls the `isTypeOf` method). | |
*/ | |
export interface GraphQLArgs { | |
schema: GraphQLSchema; | |
source: string | Source; | |
rootValue?: unknown; | |
contextValue?: unknown; | |
variableValues?: Maybe<{ | |
readonly [variable: string]: unknown; | |
}>; | |
operationName?: Maybe<string>; | |
fieldResolver?: Maybe<GraphQLFieldResolver<any, any>>; | |
typeResolver?: Maybe<GraphQLTypeResolver<any, any>>; | |
} | |
export declare function graphql(args: GraphQLArgs): Promise<ExecutionResult>; | |
/** | |
* The graphqlSync function also fulfills GraphQL operations by parsing, | |
* validating, and executing a GraphQL document along side a GraphQL schema. | |
* However, it guarantees to complete synchronously (or throw an error) assuming | |
* that all field resolvers are also synchronous. | |
*/ | |
export declare function graphqlSync(args: GraphQLArgs): ExecutionResult; | |