UNPKG

798 BJavaScriptView Raw
1import { GraphQLError } from "../../error/GraphQLError.mjs";
2
3/**
4 * Unique fragment names
5 *
6 * A GraphQL document is only valid if all defined fragments have unique names.
7 */
8export function UniqueFragmentNamesRule(context) {
9 var knownFragmentNames = Object.create(null);
10 return {
11 OperationDefinition: function OperationDefinition() {
12 return false;
13 },
14 FragmentDefinition: function FragmentDefinition(node) {
15 var fragmentName = node.name.value;
16
17 if (knownFragmentNames[fragmentName]) {
18 context.reportError(new GraphQLError("There can be only one fragment named \"".concat(fragmentName, "\"."), [knownFragmentNames[fragmentName], node.name]));
19 } else {
20 knownFragmentNames[fragmentName] = node.name;
21 }
22
23 return false;
24 }
25 };
26}