You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
3.1 KiB
95 lines
3.1 KiB
import type { Maybe } from '../jsutils/Maybe'; |
|
import type { GraphQLError } from '../error/GraphQLError'; |
|
import type { |
|
DocumentNode, |
|
FragmentDefinitionNode, |
|
FragmentSpreadNode, |
|
OperationDefinitionNode, |
|
SelectionSetNode, |
|
VariableNode, |
|
} from '../language/ast'; |
|
import type { ASTVisitor } from '../language/visitor'; |
|
import type { |
|
GraphQLArgument, |
|
GraphQLCompositeType, |
|
GraphQLEnumValue, |
|
GraphQLField, |
|
GraphQLInputType, |
|
GraphQLOutputType, |
|
} from '../type/definition'; |
|
import type { GraphQLDirective } from '../type/directives'; |
|
import type { GraphQLSchema } from '../type/schema'; |
|
import { TypeInfo } from '../utilities/TypeInfo'; |
|
declare type NodeWithSelectionSet = |
|
| OperationDefinitionNode |
|
| FragmentDefinitionNode; |
|
interface VariableUsage { |
|
readonly node: VariableNode; |
|
readonly type: Maybe<GraphQLInputType>; |
|
readonly defaultValue: Maybe<unknown>; |
|
} |
|
/** |
|
* An instance of this class is passed as the "this" context to all validators, |
|
* allowing access to commonly useful contextual information from within a |
|
* validation rule. |
|
*/ |
|
export declare class ASTValidationContext { |
|
private _ast; |
|
private _onError; |
|
private _fragments; |
|
private _fragmentSpreads; |
|
private _recursivelyReferencedFragments; |
|
constructor(ast: DocumentNode, onError: (error: GraphQLError) => void); |
|
get [Symbol.toStringTag](): string; |
|
reportError(error: GraphQLError): void; |
|
getDocument(): DocumentNode; |
|
getFragment(name: string): Maybe<FragmentDefinitionNode>; |
|
getFragmentSpreads(node: SelectionSetNode): ReadonlyArray<FragmentSpreadNode>; |
|
getRecursivelyReferencedFragments( |
|
operation: OperationDefinitionNode, |
|
): ReadonlyArray<FragmentDefinitionNode>; |
|
} |
|
export declare type ASTValidationRule = ( |
|
context: ASTValidationContext, |
|
) => ASTVisitor; |
|
export declare class SDLValidationContext extends ASTValidationContext { |
|
private _schema; |
|
constructor( |
|
ast: DocumentNode, |
|
schema: Maybe<GraphQLSchema>, |
|
onError: (error: GraphQLError) => void, |
|
); |
|
get [Symbol.toStringTag](): string; |
|
getSchema(): Maybe<GraphQLSchema>; |
|
} |
|
export declare type SDLValidationRule = ( |
|
context: SDLValidationContext, |
|
) => ASTVisitor; |
|
export declare class ValidationContext extends ASTValidationContext { |
|
private _schema; |
|
private _typeInfo; |
|
private _variableUsages; |
|
private _recursiveVariableUsages; |
|
constructor( |
|
schema: GraphQLSchema, |
|
ast: DocumentNode, |
|
typeInfo: TypeInfo, |
|
onError: (error: GraphQLError) => void, |
|
); |
|
get [Symbol.toStringTag](): string; |
|
getSchema(): GraphQLSchema; |
|
getVariableUsages(node: NodeWithSelectionSet): ReadonlyArray<VariableUsage>; |
|
getRecursiveVariableUsages( |
|
operation: OperationDefinitionNode, |
|
): ReadonlyArray<VariableUsage>; |
|
getType(): Maybe<GraphQLOutputType>; |
|
getParentType(): Maybe<GraphQLCompositeType>; |
|
getInputType(): Maybe<GraphQLInputType>; |
|
getParentInputType(): Maybe<GraphQLInputType>; |
|
getFieldDef(): Maybe<GraphQLField<unknown, unknown>>; |
|
getDirective(): Maybe<GraphQLDirective>; |
|
getArgument(): Maybe<GraphQLArgument>; |
|
getEnumValue(): Maybe<GraphQLEnumValue>; |
|
} |
|
export declare type ValidationRule = (context: ValidationContext) => ASTVisitor; |
|
export {};
|
|
|