tinygql 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +3 -0
- data/Rakefile +11 -0
- data/benchmark/fixtures/negotiate.gql +3643 -0
- data/bin/bench.rb +15 -4
- data/bin/profile.rb +5 -0
- data/lib/tinygql/nodes.rb +138 -17
- data/lib/tinygql/nodes.yml +45 -14
- data/lib/tinygql/parser.rb +76 -23
- data/lib/tinygql/version.rb +1 -1
- data/lib/tinygql/visitors.rb +261 -238
- data/lib/tinygql/visitors.rb.erb +8 -20
- data/test/parser_test.rb +77 -0
- data/test/schema-extensions.graphql +48 -0
- metadata +6 -2
data/lib/tinygql/visitors.rb
CHANGED
@@ -1,442 +1,465 @@
|
|
1
1
|
module TinyGQL
|
2
2
|
module Visitors
|
3
3
|
module Visitor
|
4
|
+
|
4
5
|
def handle_document obj
|
5
|
-
|
6
|
+
obj.definitions.each { |v| v.accept self }
|
6
7
|
end
|
8
|
+
|
7
9
|
def handle_operation_definition obj
|
8
|
-
if obj.variable_definitions
|
9
|
-
|
10
|
-
|
11
|
-
if obj.directives
|
12
|
-
obj.directives.each { |v| v.accept self }
|
13
|
-
end
|
14
|
-
obj.selection_set.each { |v| v.accept self }
|
10
|
+
obj.variable_definitions.each { |v| v.accept self } if obj.variable_definitions
|
11
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
12
|
+
obj.selection_set.each { |v| v.accept self }
|
15
13
|
end
|
14
|
+
|
16
15
|
def handle_variable obj
|
17
16
|
end
|
17
|
+
|
18
18
|
def handle_named_type obj
|
19
19
|
end
|
20
|
+
|
20
21
|
def handle_not_null_type obj
|
21
|
-
|
22
|
+
obj.type.accept(self)
|
22
23
|
end
|
24
|
+
|
23
25
|
def handle_list_type obj
|
24
|
-
|
26
|
+
obj.type.accept(self)
|
25
27
|
end
|
28
|
+
|
26
29
|
def handle_variable_definition obj
|
27
|
-
|
28
|
-
|
29
|
-
if obj.default_value
|
30
|
-
obj.default_value.accept self
|
31
|
-
end
|
30
|
+
obj.variable.accept(self)
|
31
|
+
obj.type.accept(self)
|
32
|
+
obj.default_value.accept(self) if obj.default_value
|
32
33
|
end
|
34
|
+
|
33
35
|
def handle_value obj
|
34
36
|
end
|
37
|
+
|
35
38
|
def handle_argument obj
|
36
|
-
|
39
|
+
obj.value.accept(self)
|
37
40
|
end
|
41
|
+
|
38
42
|
def handle_field obj
|
39
|
-
if obj.arguments
|
40
|
-
|
41
|
-
|
42
|
-
if obj.directives
|
43
|
-
obj.directives.each { |v| v.accept self }
|
44
|
-
end
|
45
|
-
if obj.selection_set
|
46
|
-
obj.selection_set.each { |v| v.accept self }
|
47
|
-
end
|
43
|
+
obj.arguments.each { |v| v.accept self } if obj.arguments
|
44
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
45
|
+
obj.selection_set.each { |v| v.accept self } if obj.selection_set
|
48
46
|
end
|
47
|
+
|
49
48
|
def handle_object_field obj
|
50
|
-
|
49
|
+
obj.value.accept(self)
|
51
50
|
end
|
51
|
+
|
52
52
|
def handle_int_value obj
|
53
53
|
end
|
54
|
+
|
54
55
|
def handle_float_value obj
|
55
56
|
end
|
57
|
+
|
56
58
|
def handle_string_value obj
|
57
59
|
end
|
60
|
+
|
58
61
|
def handle_boolean_value obj
|
59
62
|
end
|
63
|
+
|
60
64
|
def handle_null_value obj
|
61
65
|
end
|
66
|
+
|
62
67
|
def handle_enum_value obj
|
63
68
|
end
|
69
|
+
|
64
70
|
def handle_list_value obj
|
65
71
|
end
|
72
|
+
|
66
73
|
def handle_object_value obj
|
67
|
-
|
74
|
+
obj.values.each { |v| v.accept self }
|
68
75
|
end
|
76
|
+
|
69
77
|
def handle_directive obj
|
70
|
-
|
78
|
+
obj.arguments.each { |v| v.accept self } if obj.arguments
|
71
79
|
end
|
80
|
+
|
72
81
|
def handle_type_condition obj
|
73
|
-
|
82
|
+
obj.named_type.accept(self)
|
74
83
|
end
|
84
|
+
|
75
85
|
def handle_inline_fragment obj
|
76
|
-
if obj.type_condition
|
77
|
-
|
78
|
-
|
79
|
-
if obj.directives
|
80
|
-
obj.directives.each { |v| v.accept self }
|
81
|
-
end
|
82
|
-
obj.selection_set.each { |v| v.accept self }
|
86
|
+
obj.type_condition.accept(self) if obj.type_condition
|
87
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
88
|
+
obj.selection_set.each { |v| v.accept self }
|
83
89
|
end
|
90
|
+
|
84
91
|
def handle_fragment_spread obj
|
85
|
-
|
86
|
-
if obj.directives
|
87
|
-
obj.directives.each { |v| v.accept self }
|
88
|
-
end
|
92
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
89
93
|
end
|
94
|
+
|
90
95
|
def handle_fragment_definition obj
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
obj.directives.each { |v| v.accept self }
|
95
|
-
end
|
96
|
-
obj.selection_set.each { |v| v.accept self }
|
96
|
+
obj.type_condition.accept(self)
|
97
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
98
|
+
obj.selection_set.each { |v| v.accept self }
|
97
99
|
end
|
100
|
+
|
98
101
|
def handle_root_operation_type_definition obj
|
99
|
-
|
100
|
-
obj.named_type.accept self
|
102
|
+
obj.named_type.accept(self)
|
101
103
|
end
|
104
|
+
|
102
105
|
def handle_schema_definition obj
|
103
|
-
if obj.
|
104
|
-
|
105
|
-
|
106
|
-
obj.root_operation_definitions.each { |v| v.accept self }
|
106
|
+
obj.description.accept(self) if obj.description
|
107
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
108
|
+
obj.root_operation_definitions.each { |v| v.accept self }
|
107
109
|
end
|
110
|
+
|
108
111
|
def handle_field_definition obj
|
109
|
-
if obj.
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
if obj.directives
|
114
|
-
obj.directives.each { |v| v.accept self }
|
115
|
-
end
|
112
|
+
obj.description.accept(self) if obj.description
|
113
|
+
obj.arguments_definition.each { |v| v.accept self } if obj.arguments_definition
|
114
|
+
obj.type.accept(self)
|
115
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
116
116
|
end
|
117
|
+
|
117
118
|
def handle_input_value_definition obj
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
if obj.directives
|
123
|
-
obj.directives.each { |v| v.accept self }
|
124
|
-
end
|
119
|
+
obj.description.accept(self) if obj.description
|
120
|
+
obj.type.accept(self)
|
121
|
+
obj.default_value.accept(self) if obj.default_value
|
122
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
125
123
|
end
|
124
|
+
|
126
125
|
def handle_object_type_definition obj
|
127
|
-
if obj.
|
128
|
-
|
129
|
-
|
130
|
-
if obj.
|
131
|
-
obj.directives.each { |v| v.accept self }
|
132
|
-
end
|
133
|
-
if obj.fields_definition
|
134
|
-
obj.fields_definition.each { |v| v.accept self }
|
135
|
-
end
|
126
|
+
obj.description.accept(self) if obj.description
|
127
|
+
obj.implements_interfaces.each { |v| v.accept self } if obj.implements_interfaces
|
128
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
129
|
+
obj.fields_definition.each { |v| v.accept self } if obj.fields_definition
|
136
130
|
end
|
131
|
+
|
137
132
|
def handle_interface_type_definition obj
|
138
|
-
if obj.
|
139
|
-
|
140
|
-
|
141
|
-
if obj.fields_definition
|
142
|
-
obj.fields_definition.each { |v| v.accept self }
|
143
|
-
end
|
133
|
+
obj.description.accept(self) if obj.description
|
134
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
135
|
+
obj.fields_definition.each { |v| v.accept self } if obj.fields_definition
|
144
136
|
end
|
137
|
+
|
145
138
|
def handle_union_type_definition obj
|
146
|
-
if obj.
|
147
|
-
|
148
|
-
|
149
|
-
if obj.union_member_types
|
150
|
-
obj.union_member_types.each { |v| v.accept self }
|
151
|
-
end
|
139
|
+
obj.description.accept(self) if obj.description
|
140
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
141
|
+
obj.union_member_types.each { |v| v.accept self } if obj.union_member_types
|
152
142
|
end
|
143
|
+
|
153
144
|
def handle_scalar_type_definition obj
|
154
|
-
if obj.
|
155
|
-
|
156
|
-
end
|
145
|
+
obj.description.accept(self) if obj.description
|
146
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
157
147
|
end
|
148
|
+
|
158
149
|
def handle_enum_value_definition obj
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
end
|
150
|
+
obj.description.accept(self) if obj.description
|
151
|
+
obj.enum_value.accept(self)
|
152
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
163
153
|
end
|
154
|
+
|
164
155
|
def handle_enum_type_definition obj
|
165
|
-
if obj.
|
166
|
-
|
167
|
-
|
168
|
-
if obj.enum_value_definition
|
169
|
-
obj.enum_value_definition.each { |v| v.accept self }
|
170
|
-
end
|
156
|
+
obj.description.accept(self) if obj.description
|
157
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
158
|
+
obj.enum_value_definition.each { |v| v.accept self } if obj.enum_value_definition
|
171
159
|
end
|
160
|
+
|
172
161
|
def handle_input_object_type_definition obj
|
173
|
-
if obj.
|
174
|
-
|
175
|
-
|
176
|
-
if obj.input_fields_definition
|
177
|
-
obj.input_fields_definition.each { |v| v.accept self }
|
178
|
-
end
|
162
|
+
obj.description.accept(self) if obj.description
|
163
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
164
|
+
obj.input_fields_definition.each { |v| v.accept self } if obj.input_fields_definition
|
179
165
|
end
|
166
|
+
|
180
167
|
def handle_object_type_extension obj
|
181
|
-
if obj.implements_interfaces
|
182
|
-
|
183
|
-
|
184
|
-
if obj.directives
|
185
|
-
obj.directives.each { |v| v.accept self }
|
186
|
-
end
|
187
|
-
if obj.fields_definition
|
188
|
-
obj.fields_definition.each { |v| v.accept self }
|
189
|
-
end
|
168
|
+
obj.implements_interfaces.each { |v| v.accept self } if obj.implements_interfaces
|
169
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
170
|
+
obj.fields_definition.each { |v| v.accept self } if obj.fields_definition
|
190
171
|
end
|
172
|
+
|
191
173
|
def handle_executable_directive_location obj
|
192
174
|
end
|
175
|
+
|
193
176
|
def handle_type_system_directive_location obj
|
194
177
|
end
|
178
|
+
|
195
179
|
def handle_directive_definition obj
|
196
|
-
if obj.
|
197
|
-
|
198
|
-
|
199
|
-
|
180
|
+
obj.description.accept(self) if obj.description
|
181
|
+
obj.arguments_definition.each { |v| v.accept self } if obj.arguments_definition
|
182
|
+
obj.directive_locations.each { |v| v.accept self }
|
183
|
+
end
|
184
|
+
|
185
|
+
def handle_scalar_type_extension obj
|
186
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
187
|
+
end
|
188
|
+
|
189
|
+
def handle_interface_type_extension obj
|
190
|
+
obj.implements_interfaces.each { |v| v.accept self } if obj.implements_interfaces
|
191
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
192
|
+
obj.fields_definition.each { |v| v.accept self } if obj.fields_definition
|
193
|
+
end
|
194
|
+
|
195
|
+
def handle_union_type_extension obj
|
196
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
197
|
+
obj.union_member_types.each { |v| v.accept self } if obj.union_member_types
|
198
|
+
end
|
199
|
+
|
200
|
+
def handle_enum_type_extension obj
|
201
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
202
|
+
obj.enum_value_definition.each { |v| v.accept self } if obj.enum_value_definition
|
200
203
|
end
|
204
|
+
|
205
|
+
def handle_input_object_type_extension obj
|
206
|
+
obj.directives.each { |v| v.accept self } if obj.directives
|
207
|
+
obj.input_fields_definition.each { |v| v.accept self } if obj.input_fields_definition
|
208
|
+
end
|
209
|
+
|
201
210
|
end
|
202
211
|
|
203
212
|
module Fold
|
213
|
+
|
204
214
|
def handle_document obj, seed
|
205
|
-
|
215
|
+
obj.definitions.each { |v| seed = v.fold(self, seed) }
|
206
216
|
seed
|
207
217
|
end
|
218
|
+
|
208
219
|
def handle_operation_definition obj, seed
|
209
|
-
if obj.variable_definitions
|
210
|
-
|
211
|
-
|
212
|
-
if obj.directives
|
213
|
-
obj.directives.each { |v| seed = v.fold(self, seed) }
|
214
|
-
end
|
215
|
-
obj.selection_set.each { |v| seed = v.fold(self, seed) }
|
220
|
+
obj.variable_definitions.each { |v| seed = v.fold(self, seed) } if obj.variable_definitions
|
221
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
222
|
+
obj.selection_set.each { |v| seed = v.fold(self, seed) }
|
216
223
|
seed
|
217
224
|
end
|
225
|
+
|
218
226
|
def handle_variable obj, seed
|
219
227
|
seed
|
220
228
|
end
|
229
|
+
|
221
230
|
def handle_named_type obj, seed
|
222
231
|
seed
|
223
232
|
end
|
233
|
+
|
224
234
|
def handle_not_null_type obj, seed
|
225
|
-
|
235
|
+
seed = obj.type.fold(self, seed)
|
226
236
|
seed
|
227
237
|
end
|
238
|
+
|
228
239
|
def handle_list_type obj, seed
|
229
|
-
|
240
|
+
seed = obj.type.fold(self, seed)
|
230
241
|
seed
|
231
242
|
end
|
243
|
+
|
232
244
|
def handle_variable_definition obj, seed
|
233
|
-
|
234
|
-
|
235
|
-
if obj.default_value
|
236
|
-
seed = obj.default_value.fold self, seed
|
237
|
-
end
|
245
|
+
seed = obj.variable.fold(self, seed)
|
246
|
+
seed = obj.type.fold(self, seed)
|
247
|
+
seed = obj.default_value.fold(self, seed) if obj.default_value
|
238
248
|
seed
|
239
249
|
end
|
250
|
+
|
240
251
|
def handle_value obj, seed
|
241
252
|
seed
|
242
253
|
end
|
254
|
+
|
243
255
|
def handle_argument obj, seed
|
244
|
-
|
256
|
+
seed = obj.value.fold(self, seed)
|
245
257
|
seed
|
246
258
|
end
|
259
|
+
|
247
260
|
def handle_field obj, seed
|
248
|
-
if obj.arguments
|
249
|
-
|
250
|
-
|
251
|
-
if obj.directives
|
252
|
-
obj.directives.each { |v| seed = v.fold(self, seed) }
|
253
|
-
end
|
254
|
-
if obj.selection_set
|
255
|
-
obj.selection_set.each { |v| seed = v.fold(self, seed) }
|
256
|
-
end
|
261
|
+
obj.arguments.each { |v| seed = v.fold(self, seed) } if obj.arguments
|
262
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
263
|
+
obj.selection_set.each { |v| seed = v.fold(self, seed) } if obj.selection_set
|
257
264
|
seed
|
258
265
|
end
|
266
|
+
|
259
267
|
def handle_object_field obj, seed
|
260
|
-
|
268
|
+
seed = obj.value.fold(self, seed)
|
261
269
|
seed
|
262
270
|
end
|
271
|
+
|
263
272
|
def handle_int_value obj, seed
|
264
273
|
seed
|
265
274
|
end
|
275
|
+
|
266
276
|
def handle_float_value obj, seed
|
267
277
|
seed
|
268
278
|
end
|
279
|
+
|
269
280
|
def handle_string_value obj, seed
|
270
281
|
seed
|
271
282
|
end
|
283
|
+
|
272
284
|
def handle_boolean_value obj, seed
|
273
285
|
seed
|
274
286
|
end
|
287
|
+
|
275
288
|
def handle_null_value obj, seed
|
276
289
|
seed
|
277
290
|
end
|
291
|
+
|
278
292
|
def handle_enum_value obj, seed
|
279
293
|
seed
|
280
294
|
end
|
295
|
+
|
281
296
|
def handle_list_value obj, seed
|
282
297
|
seed
|
283
298
|
end
|
299
|
+
|
284
300
|
def handle_object_value obj, seed
|
285
|
-
|
301
|
+
obj.values.each { |v| seed = v.fold(self, seed) }
|
286
302
|
seed
|
287
303
|
end
|
304
|
+
|
288
305
|
def handle_directive obj, seed
|
289
|
-
|
306
|
+
obj.arguments.each { |v| seed = v.fold(self, seed) } if obj.arguments
|
290
307
|
seed
|
291
308
|
end
|
309
|
+
|
292
310
|
def handle_type_condition obj, seed
|
293
|
-
|
311
|
+
seed = obj.named_type.fold(self, seed)
|
294
312
|
seed
|
295
313
|
end
|
314
|
+
|
296
315
|
def handle_inline_fragment obj, seed
|
297
|
-
if obj.type_condition
|
298
|
-
|
299
|
-
|
300
|
-
if obj.directives
|
301
|
-
obj.directives.each { |v| seed = v.fold(self, seed) }
|
302
|
-
end
|
303
|
-
obj.selection_set.each { |v| seed = v.fold(self, seed) }
|
316
|
+
seed = obj.type_condition.fold(self, seed) if obj.type_condition
|
317
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
318
|
+
obj.selection_set.each { |v| seed = v.fold(self, seed) }
|
304
319
|
seed
|
305
320
|
end
|
321
|
+
|
306
322
|
def handle_fragment_spread obj, seed
|
307
|
-
|
308
|
-
if obj.directives
|
309
|
-
obj.directives.each { |v| seed = v.fold(self, seed) }
|
310
|
-
end
|
323
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
311
324
|
seed
|
312
325
|
end
|
326
|
+
|
313
327
|
def handle_fragment_definition obj, seed
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
obj.directives.each { |v| seed = v.fold(self, seed) }
|
318
|
-
end
|
319
|
-
obj.selection_set.each { |v| seed = v.fold(self, seed) }
|
328
|
+
seed = obj.type_condition.fold(self, seed)
|
329
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
330
|
+
obj.selection_set.each { |v| seed = v.fold(self, seed) }
|
320
331
|
seed
|
321
332
|
end
|
333
|
+
|
322
334
|
def handle_root_operation_type_definition obj, seed
|
323
|
-
|
324
|
-
seed = obj.named_type.fold self, seed
|
335
|
+
seed = obj.named_type.fold(self, seed)
|
325
336
|
seed
|
326
337
|
end
|
338
|
+
|
327
339
|
def handle_schema_definition obj, seed
|
328
|
-
if obj.
|
329
|
-
|
330
|
-
|
331
|
-
obj.root_operation_definitions.each { |v| seed = v.fold(self, seed) }
|
340
|
+
seed = obj.description.fold(self, seed) if obj.description
|
341
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
342
|
+
obj.root_operation_definitions.each { |v| seed = v.fold(self, seed) }
|
332
343
|
seed
|
333
344
|
end
|
345
|
+
|
334
346
|
def handle_field_definition obj, seed
|
335
|
-
if obj.
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
if obj.directives
|
340
|
-
obj.directives.each { |v| seed = v.fold(self, seed) }
|
341
|
-
end
|
347
|
+
seed = obj.description.fold(self, seed) if obj.description
|
348
|
+
obj.arguments_definition.each { |v| seed = v.fold(self, seed) } if obj.arguments_definition
|
349
|
+
seed = obj.type.fold(self, seed)
|
350
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
342
351
|
seed
|
343
352
|
end
|
353
|
+
|
344
354
|
def handle_input_value_definition obj, seed
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
if obj.directives
|
350
|
-
obj.directives.each { |v| seed = v.fold(self, seed) }
|
351
|
-
end
|
355
|
+
seed = obj.description.fold(self, seed) if obj.description
|
356
|
+
seed = obj.type.fold(self, seed)
|
357
|
+
seed = obj.default_value.fold(self, seed) if obj.default_value
|
358
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
352
359
|
seed
|
353
360
|
end
|
361
|
+
|
354
362
|
def handle_object_type_definition obj, seed
|
355
|
-
if obj.
|
356
|
-
|
357
|
-
|
358
|
-
if obj.
|
359
|
-
obj.directives.each { |v| seed = v.fold(self, seed) }
|
360
|
-
end
|
361
|
-
if obj.fields_definition
|
362
|
-
obj.fields_definition.each { |v| seed = v.fold(self, seed) }
|
363
|
-
end
|
363
|
+
seed = obj.description.fold(self, seed) if obj.description
|
364
|
+
obj.implements_interfaces.each { |v| seed = v.fold(self, seed) } if obj.implements_interfaces
|
365
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
366
|
+
obj.fields_definition.each { |v| seed = v.fold(self, seed) } if obj.fields_definition
|
364
367
|
seed
|
365
368
|
end
|
369
|
+
|
366
370
|
def handle_interface_type_definition obj, seed
|
367
|
-
if obj.
|
368
|
-
|
369
|
-
|
370
|
-
if obj.fields_definition
|
371
|
-
obj.fields_definition.each { |v| seed = v.fold(self, seed) }
|
372
|
-
end
|
371
|
+
seed = obj.description.fold(self, seed) if obj.description
|
372
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
373
|
+
obj.fields_definition.each { |v| seed = v.fold(self, seed) } if obj.fields_definition
|
373
374
|
seed
|
374
375
|
end
|
376
|
+
|
375
377
|
def handle_union_type_definition obj, seed
|
376
|
-
if obj.
|
377
|
-
|
378
|
-
|
379
|
-
if obj.union_member_types
|
380
|
-
obj.union_member_types.each { |v| seed = v.fold(self, seed) }
|
381
|
-
end
|
378
|
+
seed = obj.description.fold(self, seed) if obj.description
|
379
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
380
|
+
obj.union_member_types.each { |v| seed = v.fold(self, seed) } if obj.union_member_types
|
382
381
|
seed
|
383
382
|
end
|
383
|
+
|
384
384
|
def handle_scalar_type_definition obj, seed
|
385
|
-
if obj.
|
386
|
-
|
387
|
-
end
|
385
|
+
seed = obj.description.fold(self, seed) if obj.description
|
386
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
388
387
|
seed
|
389
388
|
end
|
389
|
+
|
390
390
|
def handle_enum_value_definition obj, seed
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
end
|
391
|
+
seed = obj.description.fold(self, seed) if obj.description
|
392
|
+
seed = obj.enum_value.fold(self, seed)
|
393
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
395
394
|
seed
|
396
395
|
end
|
396
|
+
|
397
397
|
def handle_enum_type_definition obj, seed
|
398
|
-
if obj.
|
399
|
-
|
400
|
-
|
401
|
-
if obj.enum_value_definition
|
402
|
-
obj.enum_value_definition.each { |v| seed = v.fold(self, seed) }
|
403
|
-
end
|
398
|
+
seed = obj.description.fold(self, seed) if obj.description
|
399
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
400
|
+
obj.enum_value_definition.each { |v| seed = v.fold(self, seed) } if obj.enum_value_definition
|
404
401
|
seed
|
405
402
|
end
|
403
|
+
|
406
404
|
def handle_input_object_type_definition obj, seed
|
407
|
-
if obj.
|
408
|
-
|
409
|
-
|
410
|
-
if obj.input_fields_definition
|
411
|
-
obj.input_fields_definition.each { |v| seed = v.fold(self, seed) }
|
412
|
-
end
|
405
|
+
seed = obj.description.fold(self, seed) if obj.description
|
406
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
407
|
+
obj.input_fields_definition.each { |v| seed = v.fold(self, seed) } if obj.input_fields_definition
|
413
408
|
seed
|
414
409
|
end
|
410
|
+
|
415
411
|
def handle_object_type_extension obj, seed
|
416
|
-
if obj.implements_interfaces
|
417
|
-
|
418
|
-
|
419
|
-
if obj.directives
|
420
|
-
obj.directives.each { |v| seed = v.fold(self, seed) }
|
421
|
-
end
|
422
|
-
if obj.fields_definition
|
423
|
-
obj.fields_definition.each { |v| seed = v.fold(self, seed) }
|
424
|
-
end
|
412
|
+
obj.implements_interfaces.each { |v| seed = v.fold(self, seed) } if obj.implements_interfaces
|
413
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
414
|
+
obj.fields_definition.each { |v| seed = v.fold(self, seed) } if obj.fields_definition
|
425
415
|
seed
|
426
416
|
end
|
417
|
+
|
427
418
|
def handle_executable_directive_location obj, seed
|
428
419
|
seed
|
429
420
|
end
|
421
|
+
|
430
422
|
def handle_type_system_directive_location obj, seed
|
431
423
|
seed
|
432
424
|
end
|
425
|
+
|
433
426
|
def handle_directive_definition obj, seed
|
434
|
-
if obj.
|
435
|
-
|
436
|
-
|
437
|
-
|
427
|
+
seed = obj.description.fold(self, seed) if obj.description
|
428
|
+
obj.arguments_definition.each { |v| seed = v.fold(self, seed) } if obj.arguments_definition
|
429
|
+
obj.directive_locations.each { |v| seed = v.fold(self, seed) }
|
430
|
+
seed
|
431
|
+
end
|
432
|
+
|
433
|
+
def handle_scalar_type_extension obj, seed
|
434
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
438
435
|
seed
|
439
436
|
end
|
437
|
+
|
438
|
+
def handle_interface_type_extension obj, seed
|
439
|
+
obj.implements_interfaces.each { |v| seed = v.fold(self, seed) } if obj.implements_interfaces
|
440
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
441
|
+
obj.fields_definition.each { |v| seed = v.fold(self, seed) } if obj.fields_definition
|
442
|
+
seed
|
443
|
+
end
|
444
|
+
|
445
|
+
def handle_union_type_extension obj, seed
|
446
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
447
|
+
obj.union_member_types.each { |v| seed = v.fold(self, seed) } if obj.union_member_types
|
448
|
+
seed
|
449
|
+
end
|
450
|
+
|
451
|
+
def handle_enum_type_extension obj, seed
|
452
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
453
|
+
obj.enum_value_definition.each { |v| seed = v.fold(self, seed) } if obj.enum_value_definition
|
454
|
+
seed
|
455
|
+
end
|
456
|
+
|
457
|
+
def handle_input_object_type_extension obj, seed
|
458
|
+
obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
|
459
|
+
obj.input_fields_definition.each { |v| seed = v.fold(self, seed) } if obj.input_fields_definition
|
460
|
+
seed
|
461
|
+
end
|
462
|
+
|
440
463
|
end
|
441
464
|
end
|
442
465
|
end
|