diff --git a/src/error/formatError.js b/src/error/formatError.js index c0c055dca5..a3616e8a67 100644 --- a/src/error/formatError.js +++ b/src/error/formatError.js @@ -22,9 +22,31 @@ export function formatError(error: GraphQLError): GraphQLFormattedError { : { message, locations, path }; } +/** + * @see https://github.com/graphql/graphql-spec/blob/master/spec/Section%207%20--%20Response.md#errors + */ export type 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. + */ +message: string, + /** + * If an error can be associated to a particular point in the requested + * GraphQL document, it should contain a list of locations. + */ +locations: $ReadOnlyArray | void, + /** + * 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. + */ +path: $ReadOnlyArray | void, + /** + * Reserved for implementors to extend the protocol however they see fit, + * and hence there are no additional restrictions on its contents. + */ +extensions?: { [key: string]: mixed, ... }, |};