summaryrefslogtreecommitdiff
path: root/school/node_modules/graphql/error/formatError.js.flow
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2023-01-10 14:54:04 +0100
committerMinteck <contact@minteck.org>2023-01-10 14:54:04 +0100
commit99c1d9af689e5325f3cf535c4007b3aeb8325229 (patch)
treee663b3c2ebdbd67c818ac0c5147f0ce1d2463cda /school/node_modules/graphql/error/formatError.js.flow
parent9871b03912fc28ad38b4037ebf26a78aa937baba (diff)
downloadpluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.tar.gz
pluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.tar.bz2
pluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.zip
Update - This is an automated commit
Diffstat (limited to 'school/node_modules/graphql/error/formatError.js.flow')
-rw-r--r--school/node_modules/graphql/error/formatError.js.flow51
1 files changed, 51 insertions, 0 deletions
diff --git a/school/node_modules/graphql/error/formatError.js.flow b/school/node_modules/graphql/error/formatError.js.flow
new file mode 100644
index 0000000..0ca934b
--- /dev/null
+++ b/school/node_modules/graphql/error/formatError.js.flow
@@ -0,0 +1,51 @@
+// @flow strict
+import devAssert from '../jsutils/devAssert';
+
+import type { SourceLocation } from '../language/location';
+
+import type { GraphQLError } from './GraphQLError';
+
+/**
+ * Given a GraphQLError, format it according to the rules described by the
+ * Response Format, Errors section of the GraphQL Specification.
+ */
+export function formatError(error: GraphQLError): GraphQLFormattedError {
+ devAssert(error, 'Received null or undefined error.');
+ const message = error.message ?? 'An unknown error occurred.';
+ const locations = error.locations;
+ const path = error.path;
+ const extensions = error.extensions;
+
+ return extensions && Object.keys(extensions).length > 0
+ ? { message, locations, path, extensions }
+ : { 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<SourceLocation> | 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<string | number> | 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, ... },
+|};