123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- import type { Maybe } from '../jsutils/Maybe';
- import type { ASTNode } from '../language/ast';
- import type { SourceLocation } from '../language/location';
- import type { Source } from '../language/source';
- /**
- * Custom extensions
- *
- * @remarks
- * Use a unique identifier name for your extension, for example the name of
- * your library or project. Do not use a shortened identifier as this increases
- * the risk of conflicts. We recommend you add at most one extension field,
- * an object which can contain all the values you need.
- */
- export interface GraphQLErrorExtensions {
- [attributeName: string]: unknown;
- }
- export interface GraphQLErrorOptions {
- nodes?: ReadonlyArray<ASTNode> | ASTNode | null;
- source?: Maybe<Source>;
- positions?: Maybe<ReadonlyArray<number>>;
- path?: Maybe<ReadonlyArray<string | number>>;
- originalError?: Maybe<
- Error & {
- readonly extensions?: unknown;
- }
- >;
- extensions?: Maybe<GraphQLErrorExtensions>;
- }
- /**
- * A GraphQLError describes an Error found during the parse, validate, or
- * execute phases of performing a GraphQL operation. In addition to a message
- * and stack trace, it also includes information about the locations in a
- * GraphQL document and/or execution result that correspond to the Error.
- */
- export declare class GraphQLError extends Error {
- /**
- * An array of `{ line, column }` locations within the source GraphQL document
- * which correspond to this error.
- *
- * Errors during validation often contain multiple locations, for example to
- * point out two things with the same name. Errors during execution include a
- * single location, the field which produced the error.
- *
- * Enumerable, and appears in the result of JSON.stringify().
- */
- readonly locations: ReadonlyArray<SourceLocation> | undefined;
- /**
- * An array describing the JSON-path into the execution response which
- * corresponds to this error. Only included for errors during execution.
- *
- * Enumerable, and appears in the result of JSON.stringify().
- */
- readonly path: ReadonlyArray<string | number> | undefined;
- /**
- * An array of GraphQL AST Nodes corresponding to this error.
- */
- readonly nodes: ReadonlyArray<ASTNode> | undefined;
- /**
- * The source GraphQL document for the first location of this error.
- *
- * Note that if this Error represents more than one node, the source may not
- * represent nodes after the first node.
- */
- readonly source: Source | undefined;
- /**
- * An array of character offsets within the source GraphQL document
- * which correspond to this error.
- */
- readonly positions: ReadonlyArray<number> | undefined;
- /**
- * The original error thrown from a field resolver during execution.
- */
- readonly originalError: Error | undefined;
- /**
- * Extension fields to add to the formatted error.
- */
- readonly extensions: GraphQLErrorExtensions;
- constructor(message: string, options?: GraphQLErrorOptions);
- /**
- * @deprecated Please use the `GraphQLErrorOptions` constructor overload instead.
- */
- constructor(
- message: string,
- nodes?: ReadonlyArray<ASTNode> | ASTNode | null,
- source?: Maybe<Source>,
- positions?: Maybe<ReadonlyArray<number>>,
- path?: Maybe<ReadonlyArray<string | number>>,
- originalError?: Maybe<
- Error & {
- readonly extensions?: unknown;
- }
- >,
- extensions?: Maybe<GraphQLErrorExtensions>,
- );
- get [Symbol.toStringTag](): string;
- toString(): string;
- toJSON(): GraphQLFormattedError;
- }
- /**
- * See: https://spec.graphql.org/draft/#sec-Errors
- */
- export interface GraphQLFormattedError {
- /**
- * A short, human-readable summary of the problem that **SHOULD NOT** change
- * from occurrence to occurrence of the problem, except for purposes of
- * localization.
- */
- readonly message: string;
- /**
- * If an error can be associated to a particular point in the requested
- * GraphQL document, it should contain a list of locations.
- */
- readonly locations?: ReadonlyArray<SourceLocation>;
- /**
- * If an error can be associated to a particular field in the GraphQL result,
- * it _must_ contain an entry with the key `path` that details the path of
- * the response field which experienced the error. This allows clients to
- * identify whether a null result is intentional or caused by a runtime error.
- */
- readonly path?: ReadonlyArray<string | number>;
- /**
- * Reserved for implementors to extend the protocol however they see fit,
- * and hence there are no additional restrictions on its contents.
- */
- readonly extensions?: {
- [key: string]: unknown;
- };
- }
- /**
- * Prints a GraphQLError to a string, representing useful location information
- * about the error's position in the source.
- *
- * @deprecated Please use `error.toString` instead. Will be removed in v17
- */
- export declare function printError(error: GraphQLError): string;
- /**
- * Given a GraphQLError, format it according to the rules described by the
- * Response Format, Errors section of the GraphQL Specification.
- *
- * @deprecated Please use `error.toJSON` instead. Will be removed in v17
- */
- export declare function formatError(error: GraphQLError): GraphQLFormattedError;
|