diff options
Diffstat (limited to 'school/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.js')
-rw-r--r-- | school/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/school/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.js b/school/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.js new file mode 100644 index 0000000..f3fe599 --- /dev/null +++ b/school/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.js @@ -0,0 +1,37 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.UniqueArgumentNamesRule = UniqueArgumentNamesRule; + +var _GraphQLError = require("../../error/GraphQLError.js"); + +/** + * Unique argument names + * + * A GraphQL field or directive is only valid if all supplied arguments are + * uniquely named. + */ +function UniqueArgumentNamesRule(context) { + var knownArgNames = Object.create(null); + return { + Field: function Field() { + knownArgNames = Object.create(null); + }, + Directive: function Directive() { + knownArgNames = Object.create(null); + }, + Argument: function Argument(node) { + var argName = node.name.value; + + if (knownArgNames[argName]) { + context.reportError(new _GraphQLError.GraphQLError("There can be only one argument named \"".concat(argName, "\"."), [knownArgNames[argName], node.name])); + } else { + knownArgNames[argName] = node.name; + } + + return false; + } + }; +} |