From 99c1d9af689e5325f3cf535c4007b3aeb8325229 Mon Sep 17 00:00:00 2001 From: Minteck Date: Tue, 10 Jan 2023 14:54:04 +0100 Subject: Update - This is an automated commit --- .../validation/rules/NoUndefinedVariablesRule.js | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 school/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.js (limited to 'school/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.js') diff --git a/school/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.js b/school/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.js new file mode 100644 index 0000000..d3371ec --- /dev/null +++ b/school/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.js @@ -0,0 +1,41 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.NoUndefinedVariablesRule = NoUndefinedVariablesRule; + +var _GraphQLError = require("../../error/GraphQLError.js"); + +/** + * No undefined variables + * + * A GraphQL operation is only valid if all variables encountered, both directly + * and via fragment spreads, are defined by that operation. + */ +function NoUndefinedVariablesRule(context) { + var variableNameDefined = Object.create(null); + return { + OperationDefinition: { + enter: function enter() { + variableNameDefined = Object.create(null); + }, + leave: function leave(operation) { + var usages = context.getRecursiveVariableUsages(operation); + + for (var _i2 = 0; _i2 < usages.length; _i2++) { + var _ref2 = usages[_i2]; + var node = _ref2.node; + var varName = node.name.value; + + if (variableNameDefined[varName] !== true) { + context.reportError(new _GraphQLError.GraphQLError(operation.name ? "Variable \"$".concat(varName, "\" is not defined by operation \"").concat(operation.name.value, "\".") : "Variable \"$".concat(varName, "\" is not defined."), [node, operation])); + } + } + } + }, + VariableDefinition: function VariableDefinition(node) { + variableNameDefined[node.variable.name.value] = true; + } + }; +} -- cgit