summaryrefslogtreecommitdiff
path: root/alarm/node_modules/graphql/error/formatError.js.flow
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-10-18 08:59:09 +0200
committerMinteck <contact@minteck.org>2022-10-18 08:59:09 +0200
commit2c4ae43e688a9873e86211ea0e7aeb9ba770dd77 (patch)
tree17848d95522dab25d3cdeb9c4a6450e2a234861f /alarm/node_modules/graphql/error/formatError.js.flow
parent108525534c28013cfe1897c30e4565f9893f3766 (diff)
downloadpluralconnect-2c4ae43e688a9873e86211ea0e7aeb9ba770dd77.tar.gz
pluralconnect-2c4ae43e688a9873e86211ea0e7aeb9ba770dd77.tar.bz2
pluralconnect-2c4ae43e688a9873e86211ea0e7aeb9ba770dd77.zip
Update
Diffstat (limited to 'alarm/node_modules/graphql/error/formatError.js.flow')
-rw-r--r--alarm/node_modules/graphql/error/formatError.js.flow51
1 files changed, 51 insertions, 0 deletions
diff --git a/alarm/node_modules/graphql/error/formatError.js.flow b/alarm/node_modules/graphql/error/formatError.js.flow
new file mode 100644
index 0000000..0ca934b
--- /dev/null
+++ b/alarm/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, ... },
+|};