UNPKG

944 BJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.UniqueFragmentNamesRule = UniqueFragmentNamesRule;
7
8var _GraphQLError = require("../../error/GraphQLError.js");
9
10/**
11 * Unique fragment names
12 *
13 * A GraphQL document is only valid if all defined fragments have unique names.
14 */
15function UniqueFragmentNamesRule(context) {
16 var knownFragmentNames = Object.create(null);
17 return {
18 OperationDefinition: function OperationDefinition() {
19 return false;
20 },
21 FragmentDefinition: function FragmentDefinition(node) {
22 var fragmentName = node.name.value;
23
24 if (knownFragmentNames[fragmentName]) {
25 context.reportError(new _GraphQLError.GraphQLError("There can be only one fragment named \"".concat(fragmentName, "\"."), [knownFragmentNames[fragmentName], node.name]));
26 } else {
27 knownFragmentNames[fragmentName] = node.name;
28 }
29
30 return false;
31 }
32 };
33}