Module: TinyGQL::Visitors::Fold

Defined in:
lib/tinygql/visitors.rb

Instance Method Summary collapse

Instance Method Details

#handle_argument(obj, seed) ⇒ Object



243
244
245
246
# File 'lib/tinygql/visitors.rb', line 243

def handle_argument obj, seed
      seed = obj.value.fold self, seed
  seed
end

#handle_boolean_value(obj, seed) ⇒ Object



272
273
274
# File 'lib/tinygql/visitors.rb', line 272

def handle_boolean_value obj, seed
  seed
end

#handle_directive(obj, seed) ⇒ Object



288
289
290
291
# File 'lib/tinygql/visitors.rb', line 288

def handle_directive obj, seed
      obj.arguments.each { seed = _1.fold(self, seed) }
  seed
end

#handle_directive_definition(obj, seed) ⇒ Object



433
434
435
436
437
438
439
# File 'lib/tinygql/visitors.rb', line 433

def handle_directive_definition obj, seed
  if obj.arguments_definition
      obj.arguments_definition.each { seed = _1.fold(self, seed) }
  end
      obj.directive_locations.each { seed = _1.fold(self, seed) }
  seed
end

#handle_document(obj, seed) ⇒ Object



204
205
206
207
# File 'lib/tinygql/visitors.rb', line 204

def handle_document obj, seed
      obj.definitions.each { seed = _1.fold(self, seed) }
  seed
end

#handle_enum_type_definition(obj, seed) ⇒ Object



397
398
399
400
401
402
403
404
405
# File 'lib/tinygql/visitors.rb', line 397

def handle_enum_type_definition obj, seed
  if obj.directives
      obj.directives.each { seed = _1.fold(self, seed) }
  end
  if obj.enum_value_definition
      obj.enum_value_definition.each { seed = _1.fold(self, seed) }
  end
  seed
end

#handle_enum_value(obj, seed) ⇒ Object



278
279
280
# File 'lib/tinygql/visitors.rb', line 278

def handle_enum_value obj, seed
  seed
end

#handle_enum_value_definition(obj, seed) ⇒ Object



390
391
392
393
394
395
396
# File 'lib/tinygql/visitors.rb', line 390

def handle_enum_value_definition obj, seed
      seed = obj.enum_value.fold self, seed
  if obj.directives
      obj.directives.each { seed = _1.fold(self, seed) }
  end
  seed
end

#handle_executable_directive_location(obj, seed) ⇒ Object



427
428
429
# File 'lib/tinygql/visitors.rb', line 427

def handle_executable_directive_location obj, seed
  seed
end

#handle_field(obj, seed) ⇒ Object



247
248
249
250
251
252
253
254
255
256
257
258
# File 'lib/tinygql/visitors.rb', line 247

def handle_field obj, seed
  if obj.arguments
      obj.arguments.each { seed = _1.fold(self, seed) }
  end
  if obj.directives
      obj.directives.each { seed = _1.fold(self, seed) }
  end
  if obj.selection_set
      obj.selection_set.each { seed = _1.fold(self, seed) }
  end
  seed
end

#handle_field_definition(obj, seed) ⇒ Object



334
335
336
337
338
339
340
341
342
343
# File 'lib/tinygql/visitors.rb', line 334

def handle_field_definition obj, seed
  if obj.arguments_definition
      obj.arguments_definition.each { seed = _1.fold(self, seed) }
  end
      seed = obj.type.fold self, seed
  if obj.directives
      obj.directives.each { seed = _1.fold(self, seed) }
  end
  seed
end

#handle_float_value(obj, seed) ⇒ Object



266
267
268
# File 'lib/tinygql/visitors.rb', line 266

def handle_float_value obj, seed
  seed
end

#handle_fragment_definition(obj, seed) ⇒ Object



313
314
315
316
317
318
319
320
321
# File 'lib/tinygql/visitors.rb', line 313

def handle_fragment_definition obj, seed
      seed = obj.fragment_name.fold self, seed
      seed = obj.type_condition.fold self, seed
  if obj.directives
      obj.directives.each { seed = _1.fold(self, seed) }
  end
      obj.selection_set.each { seed = _1.fold(self, seed) }
  seed
end

#handle_fragment_spread(obj, seed) ⇒ Object



306
307
308
309
310
311
312
# File 'lib/tinygql/visitors.rb', line 306

def handle_fragment_spread obj, seed
      seed = obj.fragment_name.fold self, seed
  if obj.directives
      obj.directives.each { seed = _1.fold(self, seed) }
  end
  seed
end

#handle_inline_fragment(obj, seed) ⇒ Object



296
297
298
299
300
301
302
303
304
305
# File 'lib/tinygql/visitors.rb', line 296

def handle_inline_fragment obj, seed
  if obj.type_condition
      seed = obj.type_condition.fold self, seed
  end
  if obj.directives
      obj.directives.each { seed = _1.fold(self, seed) }
  end
      obj.selection_set.each { seed = _1.fold(self, seed) }
  seed
end

#handle_input_object_type_definition(obj, seed) ⇒ Object



406
407
408
409
410
411
412
413
414
# File 'lib/tinygql/visitors.rb', line 406

def handle_input_object_type_definition obj, seed
  if obj.directives
      obj.directives.each { seed = _1.fold(self, seed) }
  end
  if obj.input_fields_definition
      obj.input_fields_definition.each { seed = _1.fold(self, seed) }
  end
  seed
end

#handle_input_value_definition(obj, seed) ⇒ Object



344
345
346
347
348
349
350
351
352
353
# File 'lib/tinygql/visitors.rb', line 344

def handle_input_value_definition obj, seed
      seed = obj.type.fold self, seed
  if obj.default_value
      seed = obj.default_value.fold self, seed
  end
  if obj.directives
      obj.directives.each { seed = _1.fold(self, seed) }
  end
  seed
end

#handle_int_value(obj, seed) ⇒ Object



263
264
265
# File 'lib/tinygql/visitors.rb', line 263

def handle_int_value obj, seed
  seed
end

#handle_interface_type_definition(obj, seed) ⇒ Object



366
367
368
369
370
371
372
373
374
# File 'lib/tinygql/visitors.rb', line 366

def handle_interface_type_definition obj, seed
  if obj.directives
      obj.directives.each { seed = _1.fold(self, seed) }
  end
  if obj.fields_definition
      obj.fields_definition.each { seed = _1.fold(self, seed) }
  end
  seed
end

#handle_list_type(obj, seed) ⇒ Object



228
229
230
231
# File 'lib/tinygql/visitors.rb', line 228

def handle_list_type obj, seed
      seed = obj.type.fold self, seed
  seed
end

#handle_list_value(obj, seed) ⇒ Object



281
282
283
# File 'lib/tinygql/visitors.rb', line 281

def handle_list_value obj, seed
  seed
end

#handle_named_type(obj, seed) ⇒ Object



221
222
223
# File 'lib/tinygql/visitors.rb', line 221

def handle_named_type obj, seed
  seed
end

#handle_not_null_type(obj, seed) ⇒ Object



224
225
226
227
# File 'lib/tinygql/visitors.rb', line 224

def handle_not_null_type obj, seed
      seed = obj.type.fold self, seed
  seed
end

#handle_null_value(obj, seed) ⇒ Object



275
276
277
# File 'lib/tinygql/visitors.rb', line 275

def handle_null_value obj, seed
  seed
end

#handle_object_field(obj, seed) ⇒ Object



259
260
261
262
# File 'lib/tinygql/visitors.rb', line 259

def handle_object_field obj, seed
      seed = obj.value.fold self, seed
  seed
end

#handle_object_type_definition(obj, seed) ⇒ Object



354
355
356
357
358
359
360
361
362
363
364
365
# File 'lib/tinygql/visitors.rb', line 354

def handle_object_type_definition obj, seed
  if obj.implements_interfaces
      obj.implements_interfaces.each { seed = _1.fold(self, seed) }
  end
  if obj.directives
      obj.directives.each { seed = _1.fold(self, seed) }
  end
  if obj.fields_definition
      obj.fields_definition.each { seed = _1.fold(self, seed) }
  end
  seed
end

#handle_object_type_extension(obj, seed) ⇒ Object



415
416
417
418
419
420
421
422
423
424
425
426
# File 'lib/tinygql/visitors.rb', line 415

def handle_object_type_extension obj, seed
  if obj.implements_interfaces
      obj.implements_interfaces.each { seed = _1.fold(self, seed) }
  end
  if obj.directives
      obj.directives.each { seed = _1.fold(self, seed) }
  end
  if obj.fields_definition
      obj.fields_definition.each { seed = _1.fold(self, seed) }
  end
  seed
end

#handle_object_value(obj, seed) ⇒ Object



284
285
286
287
# File 'lib/tinygql/visitors.rb', line 284

def handle_object_value obj, seed
      obj.values.each { seed = _1.fold(self, seed) }
  seed
end

#handle_operation_definition(obj, seed) ⇒ Object



208
209
210
211
212
213
214
215
216
217
# File 'lib/tinygql/visitors.rb', line 208

def handle_operation_definition obj, seed
  if obj.variable_definitions
      obj.variable_definitions.each { seed = _1.fold(self, seed) }
  end
  if obj.directives
      obj.directives.each { seed = _1.fold(self, seed) }
  end
      obj.selection_set.each { seed = _1.fold(self, seed) }
  seed
end

#handle_root_operation_type_definition(obj, seed) ⇒ Object



322
323
324
325
326
# File 'lib/tinygql/visitors.rb', line 322

def handle_root_operation_type_definition obj, seed
      seed = obj.operation_type.fold self, seed
      seed = obj.named_type.fold self, seed
  seed
end

#handle_scalar_type_definition(obj, seed) ⇒ Object



384
385
386
387
388
389
# File 'lib/tinygql/visitors.rb', line 384

def handle_scalar_type_definition obj, seed
  if obj.directives
      obj.directives.each { seed = _1.fold(self, seed) }
  end
  seed
end

#handle_schema_definition(obj, seed) ⇒ Object



327
328
329
330
331
332
333
# File 'lib/tinygql/visitors.rb', line 327

def handle_schema_definition obj, seed
  if obj.directives
      obj.directives.each { seed = _1.fold(self, seed) }
  end
      obj.root_operation_definitions.each { seed = _1.fold(self, seed) }
  seed
end

#handle_string_value(obj, seed) ⇒ Object



269
270
271
# File 'lib/tinygql/visitors.rb', line 269

def handle_string_value obj, seed
  seed
end

#handle_type_condition(obj, seed) ⇒ Object



292
293
294
295
# File 'lib/tinygql/visitors.rb', line 292

def handle_type_condition obj, seed
      seed = obj.named_type.fold self, seed
  seed
end

#handle_type_system_directive_location(obj, seed) ⇒ Object



430
431
432
# File 'lib/tinygql/visitors.rb', line 430

def handle_type_system_directive_location obj, seed
  seed
end

#handle_union_type_definition(obj, seed) ⇒ Object



375
376
377
378
379
380
381
382
383
# File 'lib/tinygql/visitors.rb', line 375

def handle_union_type_definition obj, seed
  if obj.directives
      obj.directives.each { seed = _1.fold(self, seed) }
  end
  if obj.union_member_types
      obj.union_member_types.each { seed = _1.fold(self, seed) }
  end
  seed
end

#handle_value(obj, seed) ⇒ Object



240
241
242
# File 'lib/tinygql/visitors.rb', line 240

def handle_value obj, seed
  seed
end

#handle_variable(obj, seed) ⇒ Object



218
219
220
# File 'lib/tinygql/visitors.rb', line 218

def handle_variable obj, seed
  seed
end

#handle_variable_definition(obj, seed) ⇒ Object



232
233
234
235
236
237
238
239
# File 'lib/tinygql/visitors.rb', line 232

def handle_variable_definition obj, seed
      seed = obj.variable.fold self, seed
      seed = obj.type.fold self, seed
  if obj.default_value
      seed = obj.default_value.fold self, seed
  end
  seed
end