diff options
Diffstat (limited to 'school/node_modules/graphql/validation/rules/NoUnusedVariablesRule.js.flow')
-rw-r--r-- | school/node_modules/graphql/validation/rules/NoUnusedVariablesRule.js.flow | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/school/node_modules/graphql/validation/rules/NoUnusedVariablesRule.js.flow b/school/node_modules/graphql/validation/rules/NoUnusedVariablesRule.js.flow deleted file mode 100644 index ed284c8..0000000 --- a/school/node_modules/graphql/validation/rules/NoUnusedVariablesRule.js.flow +++ /dev/null @@ -1,49 +0,0 @@ -// @flow strict -import { GraphQLError } from '../../error/GraphQLError'; - -import type { ASTVisitor } from '../../language/visitor'; - -import type { ValidationContext } from '../ValidationContext'; - -/** - * No unused variables - * - * A GraphQL operation is only valid if all variables defined by an operation - * are used, either directly or within a spread fragment. - */ -export function NoUnusedVariablesRule(context: ValidationContext): ASTVisitor { - let variableDefs = []; - - return { - OperationDefinition: { - enter() { - variableDefs = []; - }, - leave(operation) { - const variableNameUsed = Object.create(null); - const usages = context.getRecursiveVariableUsages(operation); - - for (const { node } of usages) { - variableNameUsed[node.name.value] = true; - } - - for (const variableDef of variableDefs) { - const variableName = variableDef.variable.name.value; - if (variableNameUsed[variableName] !== true) { - context.reportError( - new GraphQLError( - operation.name - ? `Variable "$${variableName}" is never used in operation "${operation.name.value}".` - : `Variable "$${variableName}" is never used.`, - variableDef, - ), - ); - } - } - }, - }, - VariableDefinition(def) { - variableDefs.push(def); - }, - }; -} |