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.
142 lines
5.1 KiB
142 lines
5.1 KiB
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;
|
|
|