File tree Expand file tree Collapse file tree 1 file changed +16
-1
lines changed Expand file tree Collapse file tree 1 file changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -148,7 +148,22 @@ def message(field_name, type):
148
148
149
149
150
150
class UniqueFragmentNames (ValidationRule ):
151
- pass
151
+ def __init__ (self , context ):
152
+ super (UniqueFragmentNames , self ).__init__ (context )
153
+ self .known_fragment_names = {}
154
+
155
+ def enter_FragmentName (self , node , * args ):
156
+ fragment_name = node .name .value
157
+ if fragment_name in self .known_fragment_names :
158
+ return GraphQLError (
159
+ self .duplicate_fragment_name_message (fragment_name ),
160
+ [ self .known_fragment_names [fragment_name ], node .name ]
161
+ )
162
+ self .known_fragment_names [fragment_name ] = node .name
163
+
164
+ @staticmethod
165
+ def duplicate_fragment_name_message (field ):
166
+ return 'There can only be one fragment named {}' .format (field )
152
167
153
168
154
169
class KnownFragmentNames (ValidationRule ):
You can’t perform that action at this time.
0 commit comments