graphql

Search for an npm package
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 {};