@@ -209,12 +209,8 @@ def parse_definition(parser):
209
209
return parse_operation_definition (parser )
210
210
elif name == 'fragment' :
211
211
return parse_fragment_definition (parser )
212
- elif name in ('type' , 'interface' , 'union' , 'scalar' , 'enum' , 'input' ):
213
- return parse_type_definition (parser )
214
- elif name == 'extend' :
215
- return parse_type_extension_definition (parser )
216
- elif name == 'directive' :
217
- return parse_directive_definition (parser )
212
+ elif name in ('scalar' , 'type' , 'interface' , 'union' , 'enum' , 'input' , 'extend' , 'directive' ):
213
+ return parse_type_system_definition (parser )
218
214
219
215
raise unexpected (parser )
220
216
@@ -510,13 +506,16 @@ def parse_named_type(parser):
510
506
)
511
507
512
508
513
- def parse_type_definition (parser ):
509
+ def parse_type_system_definition (parser ):
514
510
if not peek (parser , TokenKind .NAME ):
515
511
raise unexpected (parser )
516
512
517
513
name = parser .token .value
518
514
519
- if name == 'type' :
515
+ if name == 'scalar' :
516
+ return parse_scalar_type_definition (parser )
517
+
518
+ elif name == 'type' :
520
519
return parse_object_type_definition (parser )
521
520
522
521
elif name == 'interface' :
@@ -525,18 +524,31 @@ def parse_type_definition(parser):
525
524
elif name == 'union' :
526
525
return parse_union_type_definition (parser )
527
526
528
- elif name == 'scalar' :
529
- return parse_scalar_type_definition (parser )
530
-
531
527
elif name == 'enum' :
532
528
return parse_enum_type_definition (parser )
533
529
534
530
elif name == 'input' :
535
531
return parse_input_object_type_definition (parser )
536
532
533
+ elif name == 'extend' :
534
+ return parse_type_extension_definition (parser )
535
+
536
+ elif name == 'directive' :
537
+ return parse_directive_definition (parser )
538
+
537
539
raise unexpected (parser )
538
540
539
541
542
+ def parse_scalar_type_definition (parser ):
543
+ start = parser .token .start
544
+ expect_keyword (parser , 'scalar' )
545
+
546
+ return ast .ScalarTypeDefinition (
547
+ name = parse_name (parser ),
548
+ loc = loc (parser , start )
549
+ )
550
+
551
+
540
552
def parse_object_type_definition (parser ):
541
553
start = parser .token .start
542
554
expect_keyword (parser , 'type' )
@@ -630,16 +642,6 @@ def parse_union_members(parser):
630
642
return members
631
643
632
644
633
- def parse_scalar_type_definition (parser ):
634
- start = parser .token .start
635
- expect_keyword (parser , 'scalar' )
636
-
637
- return ast .ScalarTypeDefinition (
638
- name = parse_name (parser ),
639
- loc = loc (parser , start )
640
- )
641
-
642
-
643
645
def parse_enum_type_definition (parser ):
644
646
start = parser .token .start
645
647
expect_keyword (parser , 'enum' )
0 commit comments