UNPKG

graphql

Version:

A Query Language and Runtime which can target any service.

153 lines (152 loc) 5.63 kB
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; } /** * Custom formatted 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 GraphQLFormattedErrorExtensions { [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?: GraphQLFormattedErrorExtensions; } /** * 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;