From 2c4ae43e688a9873e86211ea0e7aeb9ba770dd77 Mon Sep 17 00:00:00 2001 From: Minteck Date: Tue, 18 Oct 2022 08:59:09 +0200 Subject: Update --- .../rules/LoneAnonymousOperationRule.mjs | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 alarm/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.mjs (limited to 'alarm/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.mjs') diff --git a/alarm/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.mjs b/alarm/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.mjs new file mode 100644 index 0000000..134322d --- /dev/null +++ b/alarm/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.mjs @@ -0,0 +1,24 @@ +import { GraphQLError } from "../../error/GraphQLError.mjs"; +import { Kind } from "../../language/kinds.mjs"; + +/** + * Lone anonymous operation + * + * A GraphQL document is only valid if when it contains an anonymous operation + * (the query short-hand) that it contains only that one operation definition. + */ +export function LoneAnonymousOperationRule(context) { + var operationCount = 0; + return { + Document: function Document(node) { + operationCount = node.definitions.filter(function (definition) { + return definition.kind === Kind.OPERATION_DEFINITION; + }).length; + }, + OperationDefinition: function OperationDefinition(node) { + if (!node.name && operationCount > 1) { + context.reportError(new GraphQLError('This anonymous operation must be the only defined operation.', node)); + } + } + }; +} -- cgit