tinygql 0.1.0

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.
@@ -0,0 +1,870 @@
1
+ module TinyGQL
2
+ module Nodes
3
+ class Node
4
+ include Enumerable
5
+
6
+ def document? = false
7
+ def operation_definition? = false
8
+ def variable? = false
9
+ def named_type? = false
10
+ def not_null_type? = false
11
+ def list_type? = false
12
+ def variable_definition? = false
13
+ def value? = false
14
+ def argument? = false
15
+ def field? = false
16
+ def object_field? = false
17
+ def int_value? = false
18
+ def float_value? = false
19
+ def string_value? = false
20
+ def boolean_value? = false
21
+ def null_value? = false
22
+ def enum_value? = false
23
+ def list_value? = false
24
+ def object_value? = false
25
+ def directive? = false
26
+ def type_condition? = false
27
+ def inline_fragment? = false
28
+ def fragment_spread? = false
29
+ def fragment_definition? = false
30
+ def root_operation_type_definition? = false
31
+ def schema_definition? = false
32
+ def field_definition? = false
33
+ def input_value_definition? = false
34
+ def object_type_definition? = false
35
+ def interface_type_definition? = false
36
+ def union_type_definition? = false
37
+ def scalar_type_definition? = false
38
+ def enum_value_definition? = false
39
+ def enum_type_definition? = false
40
+ def input_object_type_definition? = false
41
+ def object_type_extension? = false
42
+ def executable_directive_location? = false
43
+ def type_system_directive_location? = false
44
+ def directive_definition? = false
45
+ def each(&blk)
46
+ yield self
47
+ children.each { _1.each(&blk) }
48
+ end
49
+ end
50
+
51
+ class Document < Node
52
+ attr_reader :definitions
53
+
54
+ def initialize definitions
55
+ @definitions = definitions
56
+ end
57
+
58
+ def accept viz
59
+ viz.handle_document self
60
+ end
61
+
62
+ def fold viz, seed
63
+ viz.handle_document self, seed
64
+ end
65
+
66
+ def document? = true
67
+
68
+ def children
69
+ ary = []; ary.concat(definitions); ary
70
+ end
71
+ end
72
+ class OperationDefinition < Node
73
+ attr_reader :type, :name, :variable_definitions, :directives, :selection_set
74
+
75
+ def initialize type, name, variable_definitions, directives, selection_set
76
+ @type = type
77
+ @name = name
78
+ @variable_definitions = variable_definitions
79
+ @directives = directives
80
+ @selection_set = selection_set
81
+ end
82
+
83
+ def accept viz
84
+ viz.handle_operation_definition self
85
+ end
86
+
87
+ def fold viz, seed
88
+ viz.handle_operation_definition self, seed
89
+ end
90
+
91
+ def operation_definition? = true
92
+
93
+ def children
94
+ ary = []; ary.concat(variable_definitions) if variable_definitions; ary.concat(directives) if directives; ary.concat(selection_set); ary
95
+ end
96
+ end
97
+ class Variable < Node
98
+ attr_reader :name
99
+
100
+ def initialize name
101
+ @name = name
102
+ end
103
+
104
+ def accept viz
105
+ viz.handle_variable self
106
+ end
107
+
108
+ def fold viz, seed
109
+ viz.handle_variable self, seed
110
+ end
111
+
112
+ def variable? = true
113
+
114
+ def children
115
+ ary = []; ary
116
+ end
117
+ end
118
+ class NamedType < Node
119
+ attr_reader :name
120
+
121
+ def initialize name
122
+ @name = name
123
+ end
124
+
125
+ def accept viz
126
+ viz.handle_named_type self
127
+ end
128
+
129
+ def fold viz, seed
130
+ viz.handle_named_type self, seed
131
+ end
132
+
133
+ def named_type? = true
134
+
135
+ def children
136
+ ary = []; ary
137
+ end
138
+ end
139
+ class NotNullType < Node
140
+ attr_reader :type
141
+
142
+ def initialize type
143
+ @type = type
144
+ end
145
+
146
+ def accept viz
147
+ viz.handle_not_null_type self
148
+ end
149
+
150
+ def fold viz, seed
151
+ viz.handle_not_null_type self, seed
152
+ end
153
+
154
+ def not_null_type? = true
155
+
156
+ def children
157
+ ary = []; ary << type; ary
158
+ end
159
+ end
160
+ class ListType < Node
161
+ attr_reader :type
162
+
163
+ def initialize type
164
+ @type = type
165
+ end
166
+
167
+ def accept viz
168
+ viz.handle_list_type self
169
+ end
170
+
171
+ def fold viz, seed
172
+ viz.handle_list_type self, seed
173
+ end
174
+
175
+ def list_type? = true
176
+
177
+ def children
178
+ ary = []; ary << type; ary
179
+ end
180
+ end
181
+ class VariableDefinition < Node
182
+ attr_reader :variable, :type, :default_value
183
+
184
+ def initialize variable, type, default_value
185
+ @variable = variable
186
+ @type = type
187
+ @default_value = default_value
188
+ end
189
+
190
+ def accept viz
191
+ viz.handle_variable_definition self
192
+ end
193
+
194
+ def fold viz, seed
195
+ viz.handle_variable_definition self, seed
196
+ end
197
+
198
+ def variable_definition? = true
199
+
200
+ def children
201
+ ary = []; ary << variable; ary << type; ary << default_value if default_value; ary
202
+ end
203
+ end
204
+ class Value < Node
205
+ attr_reader :value
206
+
207
+ def initialize value
208
+ @value = value
209
+ end
210
+
211
+ def accept viz
212
+ viz.handle_value self
213
+ end
214
+
215
+ def fold viz, seed
216
+ viz.handle_value self, seed
217
+ end
218
+
219
+ def value? = true
220
+
221
+ def children
222
+ ary = []; ary
223
+ end
224
+ end
225
+ class Argument < Node
226
+ attr_reader :name, :value
227
+
228
+ def initialize name, value
229
+ @name = name
230
+ @value = value
231
+ end
232
+
233
+ def accept viz
234
+ viz.handle_argument self
235
+ end
236
+
237
+ def fold viz, seed
238
+ viz.handle_argument self, seed
239
+ end
240
+
241
+ def argument? = true
242
+
243
+ def children
244
+ ary = []; ary << value; ary
245
+ end
246
+ end
247
+ class Field < Node
248
+ attr_reader :aliaz, :name, :arguments, :directives, :selection_set
249
+
250
+ def initialize aliaz, name, arguments, directives, selection_set
251
+ @aliaz = aliaz
252
+ @name = name
253
+ @arguments = arguments
254
+ @directives = directives
255
+ @selection_set = selection_set
256
+ end
257
+
258
+ def accept viz
259
+ viz.handle_field self
260
+ end
261
+
262
+ def fold viz, seed
263
+ viz.handle_field self, seed
264
+ end
265
+
266
+ def field? = true
267
+
268
+ def children
269
+ ary = []; ary.concat(arguments) if arguments; ary.concat(directives) if directives; ary.concat(selection_set) if selection_set; ary
270
+ end
271
+ end
272
+ class ObjectField < Node
273
+ attr_reader :name, :value
274
+
275
+ def initialize name, value
276
+ @name = name
277
+ @value = value
278
+ end
279
+
280
+ def accept viz
281
+ viz.handle_object_field self
282
+ end
283
+
284
+ def fold viz, seed
285
+ viz.handle_object_field self, seed
286
+ end
287
+
288
+ def object_field? = true
289
+
290
+ def children
291
+ ary = []; ary << value; ary
292
+ end
293
+ end
294
+ class IntValue < Value
295
+
296
+ def accept viz
297
+ viz.handle_int_value self
298
+ end
299
+
300
+ def fold viz, seed
301
+ viz.handle_int_value self, seed
302
+ end
303
+
304
+ def int_value? = true
305
+
306
+ end
307
+ class FloatValue < Value
308
+
309
+ def accept viz
310
+ viz.handle_float_value self
311
+ end
312
+
313
+ def fold viz, seed
314
+ viz.handle_float_value self, seed
315
+ end
316
+
317
+ def float_value? = true
318
+
319
+ end
320
+ class StringValue < Value
321
+
322
+ def accept viz
323
+ viz.handle_string_value self
324
+ end
325
+
326
+ def fold viz, seed
327
+ viz.handle_string_value self, seed
328
+ end
329
+
330
+ def string_value? = true
331
+
332
+ end
333
+ class BooleanValue < Value
334
+
335
+ def accept viz
336
+ viz.handle_boolean_value self
337
+ end
338
+
339
+ def fold viz, seed
340
+ viz.handle_boolean_value self, seed
341
+ end
342
+
343
+ def boolean_value? = true
344
+
345
+ end
346
+ class NullValue < Value
347
+
348
+ def accept viz
349
+ viz.handle_null_value self
350
+ end
351
+
352
+ def fold viz, seed
353
+ viz.handle_null_value self, seed
354
+ end
355
+
356
+ def null_value? = true
357
+
358
+ end
359
+ class EnumValue < Value
360
+
361
+ def accept viz
362
+ viz.handle_enum_value self
363
+ end
364
+
365
+ def fold viz, seed
366
+ viz.handle_enum_value self, seed
367
+ end
368
+
369
+ def enum_value? = true
370
+
371
+ end
372
+ class ListValue < Value
373
+
374
+ def accept viz
375
+ viz.handle_list_value self
376
+ end
377
+
378
+ def fold viz, seed
379
+ viz.handle_list_value self, seed
380
+ end
381
+
382
+ def list_value? = true
383
+
384
+ end
385
+ class ObjectValue < Node
386
+ attr_reader :values
387
+
388
+ def initialize values
389
+ @values = values
390
+ end
391
+
392
+ def accept viz
393
+ viz.handle_object_value self
394
+ end
395
+
396
+ def fold viz, seed
397
+ viz.handle_object_value self, seed
398
+ end
399
+
400
+ def object_value? = true
401
+
402
+ def children
403
+ ary = []; ary.concat(values); ary
404
+ end
405
+ end
406
+ class Directive < Node
407
+ attr_reader :name, :arguments
408
+
409
+ def initialize name, arguments
410
+ @name = name
411
+ @arguments = arguments
412
+ end
413
+
414
+ def accept viz
415
+ viz.handle_directive self
416
+ end
417
+
418
+ def fold viz, seed
419
+ viz.handle_directive self, seed
420
+ end
421
+
422
+ def directive? = true
423
+
424
+ def children
425
+ ary = []; ary.concat(arguments); ary
426
+ end
427
+ end
428
+ class TypeCondition < Node
429
+ attr_reader :named_type
430
+
431
+ def initialize named_type
432
+ @named_type = named_type
433
+ end
434
+
435
+ def accept viz
436
+ viz.handle_type_condition self
437
+ end
438
+
439
+ def fold viz, seed
440
+ viz.handle_type_condition self, seed
441
+ end
442
+
443
+ def type_condition? = true
444
+
445
+ def children
446
+ ary = []; ary << named_type; ary
447
+ end
448
+ end
449
+ class InlineFragment < Node
450
+ attr_reader :type_condition, :directives, :selection_set
451
+
452
+ def initialize type_condition, directives, selection_set
453
+ @type_condition = type_condition
454
+ @directives = directives
455
+ @selection_set = selection_set
456
+ end
457
+
458
+ def accept viz
459
+ viz.handle_inline_fragment self
460
+ end
461
+
462
+ def fold viz, seed
463
+ viz.handle_inline_fragment self, seed
464
+ end
465
+
466
+ def inline_fragment? = true
467
+
468
+ def children
469
+ ary = []; ary << type_condition if type_condition; ary.concat(directives) if directives; ary.concat(selection_set); ary
470
+ end
471
+ end
472
+ class FragmentSpread < Node
473
+ attr_reader :fragment_name, :directives
474
+
475
+ def initialize fragment_name, directives
476
+ @fragment_name = fragment_name
477
+ @directives = directives
478
+ end
479
+
480
+ def accept viz
481
+ viz.handle_fragment_spread self
482
+ end
483
+
484
+ def fold viz, seed
485
+ viz.handle_fragment_spread self, seed
486
+ end
487
+
488
+ def fragment_spread? = true
489
+
490
+ def children
491
+ ary = []; ary << fragment_name; ary.concat(directives) if directives; ary
492
+ end
493
+ end
494
+ class FragmentDefinition < Node
495
+ attr_reader :fragment_name, :type_condition, :directives, :selection_set
496
+
497
+ def initialize fragment_name, type_condition, directives, selection_set
498
+ @fragment_name = fragment_name
499
+ @type_condition = type_condition
500
+ @directives = directives
501
+ @selection_set = selection_set
502
+ end
503
+
504
+ def accept viz
505
+ viz.handle_fragment_definition self
506
+ end
507
+
508
+ def fold viz, seed
509
+ viz.handle_fragment_definition self, seed
510
+ end
511
+
512
+ def fragment_definition? = true
513
+
514
+ def children
515
+ ary = []; ary << fragment_name; ary << type_condition; ary.concat(directives) if directives; ary.concat(selection_set); ary
516
+ end
517
+ end
518
+ class RootOperationTypeDefinition < Node
519
+ attr_reader :operation_type, :named_type
520
+
521
+ def initialize operation_type, named_type
522
+ @operation_type = operation_type
523
+ @named_type = named_type
524
+ end
525
+
526
+ def accept viz
527
+ viz.handle_root_operation_type_definition self
528
+ end
529
+
530
+ def fold viz, seed
531
+ viz.handle_root_operation_type_definition self, seed
532
+ end
533
+
534
+ def root_operation_type_definition? = true
535
+
536
+ def children
537
+ ary = []; ary << operation_type; ary << named_type; ary
538
+ end
539
+ end
540
+ class SchemaDefinition < Node
541
+ attr_reader :directives, :root_operation_definitions
542
+
543
+ def initialize directives, root_operation_definitions
544
+ @directives = directives
545
+ @root_operation_definitions = root_operation_definitions
546
+ end
547
+
548
+ def accept viz
549
+ viz.handle_schema_definition self
550
+ end
551
+
552
+ def fold viz, seed
553
+ viz.handle_schema_definition self, seed
554
+ end
555
+
556
+ def schema_definition? = true
557
+
558
+ def children
559
+ ary = []; ary.concat(directives) if directives; ary.concat(root_operation_definitions); ary
560
+ end
561
+ end
562
+ class FieldDefinition < Node
563
+ attr_reader :description, :name, :arguments_definition, :type, :directives
564
+
565
+ def initialize description, name, arguments_definition, type, directives
566
+ @description = description
567
+ @name = name
568
+ @arguments_definition = arguments_definition
569
+ @type = type
570
+ @directives = directives
571
+ end
572
+
573
+ def accept viz
574
+ viz.handle_field_definition self
575
+ end
576
+
577
+ def fold viz, seed
578
+ viz.handle_field_definition self, seed
579
+ end
580
+
581
+ def field_definition? = true
582
+
583
+ def children
584
+ ary = []; ary.concat(arguments_definition) if arguments_definition; ary << type; ary.concat(directives) if directives; ary
585
+ end
586
+ end
587
+ class InputValueDefinition < Node
588
+ attr_reader :description, :name, :type, :default_value, :directives
589
+
590
+ def initialize description, name, type, default_value, directives
591
+ @description = description
592
+ @name = name
593
+ @type = type
594
+ @default_value = default_value
595
+ @directives = directives
596
+ end
597
+
598
+ def accept viz
599
+ viz.handle_input_value_definition self
600
+ end
601
+
602
+ def fold viz, seed
603
+ viz.handle_input_value_definition self, seed
604
+ end
605
+
606
+ def input_value_definition? = true
607
+
608
+ def children
609
+ ary = []; ary << type; ary << default_value if default_value; ary.concat(directives) if directives; ary
610
+ end
611
+ end
612
+ class ObjectTypeDefinition < Node
613
+ attr_reader :description, :name, :implements_interfaces, :directives, :fields_definition
614
+
615
+ def initialize description, name, implements_interfaces, directives, fields_definition
616
+ @description = description
617
+ @name = name
618
+ @implements_interfaces = implements_interfaces
619
+ @directives = directives
620
+ @fields_definition = fields_definition
621
+ end
622
+
623
+ def accept viz
624
+ viz.handle_object_type_definition self
625
+ end
626
+
627
+ def fold viz, seed
628
+ viz.handle_object_type_definition self, seed
629
+ end
630
+
631
+ def object_type_definition? = true
632
+
633
+ def children
634
+ ary = []; ary.concat(implements_interfaces) if implements_interfaces; ary.concat(directives) if directives; ary.concat(fields_definition) if fields_definition; ary
635
+ end
636
+ end
637
+ class InterfaceTypeDefinition < Node
638
+ attr_reader :description, :name, :directives, :fields_definition
639
+
640
+ def initialize description, name, directives, fields_definition
641
+ @description = description
642
+ @name = name
643
+ @directives = directives
644
+ @fields_definition = fields_definition
645
+ end
646
+
647
+ def accept viz
648
+ viz.handle_interface_type_definition self
649
+ end
650
+
651
+ def fold viz, seed
652
+ viz.handle_interface_type_definition self, seed
653
+ end
654
+
655
+ def interface_type_definition? = true
656
+
657
+ def children
658
+ ary = []; ary.concat(directives) if directives; ary.concat(fields_definition) if fields_definition; ary
659
+ end
660
+ end
661
+ class UnionTypeDefinition < Node
662
+ attr_reader :description, :name, :directives, :union_member_types
663
+
664
+ def initialize description, name, directives, union_member_types
665
+ @description = description
666
+ @name = name
667
+ @directives = directives
668
+ @union_member_types = union_member_types
669
+ end
670
+
671
+ def accept viz
672
+ viz.handle_union_type_definition self
673
+ end
674
+
675
+ def fold viz, seed
676
+ viz.handle_union_type_definition self, seed
677
+ end
678
+
679
+ def union_type_definition? = true
680
+
681
+ def children
682
+ ary = []; ary.concat(directives) if directives; ary.concat(union_member_types) if union_member_types; ary
683
+ end
684
+ end
685
+ class ScalarTypeDefinition < Node
686
+ attr_reader :description, :name, :directives
687
+
688
+ def initialize description, name, directives
689
+ @description = description
690
+ @name = name
691
+ @directives = directives
692
+ end
693
+
694
+ def accept viz
695
+ viz.handle_scalar_type_definition self
696
+ end
697
+
698
+ def fold viz, seed
699
+ viz.handle_scalar_type_definition self, seed
700
+ end
701
+
702
+ def scalar_type_definition? = true
703
+
704
+ def children
705
+ ary = []; ary.concat(directives) if directives; ary
706
+ end
707
+ end
708
+ class EnumValueDefinition < Node
709
+ attr_reader :description, :enum_value, :directives
710
+
711
+ def initialize description, enum_value, directives
712
+ @description = description
713
+ @enum_value = enum_value
714
+ @directives = directives
715
+ end
716
+
717
+ def accept viz
718
+ viz.handle_enum_value_definition self
719
+ end
720
+
721
+ def fold viz, seed
722
+ viz.handle_enum_value_definition self, seed
723
+ end
724
+
725
+ def enum_value_definition? = true
726
+
727
+ def children
728
+ ary = []; ary << enum_value; ary.concat(directives) if directives; ary
729
+ end
730
+ end
731
+ class EnumTypeDefinition < Node
732
+ attr_reader :description, :name, :directives, :enum_value_definition
733
+
734
+ def initialize description, name, directives, enum_value_definition
735
+ @description = description
736
+ @name = name
737
+ @directives = directives
738
+ @enum_value_definition = enum_value_definition
739
+ end
740
+
741
+ def accept viz
742
+ viz.handle_enum_type_definition self
743
+ end
744
+
745
+ def fold viz, seed
746
+ viz.handle_enum_type_definition self, seed
747
+ end
748
+
749
+ def enum_type_definition? = true
750
+
751
+ def children
752
+ ary = []; ary.concat(directives) if directives; ary.concat(enum_value_definition) if enum_value_definition; ary
753
+ end
754
+ end
755
+ class InputObjectTypeDefinition < Node
756
+ attr_reader :description, :name, :directives, :input_fields_definition
757
+
758
+ def initialize description, name, directives, input_fields_definition
759
+ @description = description
760
+ @name = name
761
+ @directives = directives
762
+ @input_fields_definition = input_fields_definition
763
+ end
764
+
765
+ def accept viz
766
+ viz.handle_input_object_type_definition self
767
+ end
768
+
769
+ def fold viz, seed
770
+ viz.handle_input_object_type_definition self, seed
771
+ end
772
+
773
+ def input_object_type_definition? = true
774
+
775
+ def children
776
+ ary = []; ary.concat(directives) if directives; ary.concat(input_fields_definition) if input_fields_definition; ary
777
+ end
778
+ end
779
+ class ObjectTypeExtension < Node
780
+ attr_reader :name, :implements_interfaces, :directives, :fields_definition
781
+
782
+ def initialize name, implements_interfaces, directives, fields_definition
783
+ @name = name
784
+ @implements_interfaces = implements_interfaces
785
+ @directives = directives
786
+ @fields_definition = fields_definition
787
+ end
788
+
789
+ def accept viz
790
+ viz.handle_object_type_extension self
791
+ end
792
+
793
+ def fold viz, seed
794
+ viz.handle_object_type_extension self, seed
795
+ end
796
+
797
+ def object_type_extension? = true
798
+
799
+ def children
800
+ ary = []; ary.concat(implements_interfaces) if implements_interfaces; ary.concat(directives) if directives; ary.concat(fields_definition) if fields_definition; ary
801
+ end
802
+ end
803
+ class ExecutableDirectiveLocation < Node
804
+ attr_reader :name
805
+
806
+ def initialize name
807
+ @name = name
808
+ end
809
+
810
+ def accept viz
811
+ viz.handle_executable_directive_location self
812
+ end
813
+
814
+ def fold viz, seed
815
+ viz.handle_executable_directive_location self, seed
816
+ end
817
+
818
+ def executable_directive_location? = true
819
+
820
+ def children
821
+ ary = []; ary
822
+ end
823
+ end
824
+ class TypeSystemDirectiveLocation < Node
825
+ attr_reader :name
826
+
827
+ def initialize name
828
+ @name = name
829
+ end
830
+
831
+ def accept viz
832
+ viz.handle_type_system_directive_location self
833
+ end
834
+
835
+ def fold viz, seed
836
+ viz.handle_type_system_directive_location self, seed
837
+ end
838
+
839
+ def type_system_directive_location? = true
840
+
841
+ def children
842
+ ary = []; ary
843
+ end
844
+ end
845
+ class DirectiveDefinition < Node
846
+ attr_reader :description, :name, :arguments_definition, :directive_locations
847
+
848
+ def initialize description, name, arguments_definition, directive_locations
849
+ @description = description
850
+ @name = name
851
+ @arguments_definition = arguments_definition
852
+ @directive_locations = directive_locations
853
+ end
854
+
855
+ def accept viz
856
+ viz.handle_directive_definition self
857
+ end
858
+
859
+ def fold viz, seed
860
+ viz.handle_directive_definition self, seed
861
+ end
862
+
863
+ def directive_definition? = true
864
+
865
+ def children
866
+ ary = []; ary.concat(arguments_definition) if arguments_definition; ary.concat(directive_locations); ary
867
+ end
868
+ end
869
+ end
870
+ end