UNPKG

977 BJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.UniqueVariableNamesRule = UniqueVariableNamesRule;
7
8var _GraphQLError = require("../../error/GraphQLError.js");
9
10/**
11 * Unique variable names
12 *
13 * A GraphQL operation is only valid if all its variables are uniquely named.
14 */
15function UniqueVariableNamesRule(context) {
16 var knownVariableNames = Object.create(null);
17 return {
18 OperationDefinition: function OperationDefinition() {
19 knownVariableNames = Object.create(null);
20 },
21 VariableDefinition: function VariableDefinition(node) {
22 var variableName = node.variable.name.value;
23
24 if (knownVariableNames[variableName]) {
25 context.reportError(new _GraphQLError.GraphQLError("There can be only one variable named \"$".concat(variableName, "\"."), [knownVariableNames[variableName], node.variable.name]));
26 } else {
27 knownVariableNames[variableName] = node.variable.name;
28 }
29 }
30 };
31}