@@ -430,9 +430,9 @@ private GraphQLEnumTypeExtension ParseEnumTypeExtension(int start, List<GraphQLC
430
430
}
431
431
432
432
// http://spec.graphql.org/October2021/#EnumValue
433
- private GraphQLEnumValue ParseEnumValue ( )
433
+ private GraphQLEnumValue ParseEnumValue ( bool validate )
434
434
{
435
- if ( _currentToken . Value == "true" || _currentToken . Value == "false" || _currentToken . Value == "null" )
435
+ if ( validate && ( _currentToken . Value == "true" || _currentToken . Value == "false" || _currentToken . Value == "null" ) )
436
436
{
437
437
Throw_Unexpected_Token ( "; enum values are represented as unquoted names but not 'true' or 'false' or 'null'." ) ;
438
438
}
@@ -462,7 +462,7 @@ private GraphQLEnumValueDefinition ParseEnumValueDefinition()
462
462
463
463
def . Description = Peek ( TokenKind . STRING ) ? ParseDescription ( ) : null ;
464
464
def . Comments = GetComments ( ) ;
465
- def . EnumValue = ParseEnumValue ( ) ;
465
+ def . EnumValue = ParseEnumValue ( true ) ;
466
466
def . Name = def . EnumValue . Name ; // ATTENTION: should set Name property (inherited from GraphQLTypeDefinition)
467
467
def . Directives = Peek ( TokenKind . AT ) ? ParseDirectives ( ) : null ;
468
468
def . Location = GetLocation ( start ) ;
@@ -893,37 +893,21 @@ private ASTNode ParseNamedDefinitionWithDescription()
893
893
}
894
894
895
895
// verify this is a NAME
896
- if ( token . Kind == TokenKind . NAME )
897
- {
898
- // retrieve the value
899
- var value = token . Value ;
900
-
901
- if ( value == "schema" )
902
- return ParseSchemaDefinition ( ) ;
903
-
904
- if ( value == "scalar" )
905
- return ParseScalarTypeDefinition ( ) ;
906
-
907
- if ( value == "type" )
908
- return ParseObjectTypeDefinition ( ) ;
909
-
910
- if ( value == "interface" )
911
- return ParseInterfaceTypeDefinition ( ) ;
912
-
913
- if ( value == "union" )
914
- return ParseUnionTypeDefinition ( ) ;
915
-
916
- if ( value == "enum" )
917
- return ParseEnumTypeDefinition ( ) ;
918
-
919
- if ( value == "input" )
920
- return ParseInputObjectTypeDefinition ( ) ;
896
+ if ( token . Kind != TokenKind . NAME )
897
+ return Throw_Unexpected_Token ( ) ;
921
898
922
- if ( value == "directive" )
923
- return ParseDirectiveDefinition ( ) ;
924
- }
925
-
926
- return Throw_Unexpected_Token ( ) ;
899
+ return token . Value . Span switch
900
+ {
901
+ "schema" => ParseSchemaDefinition ( ) ,
902
+ "scalar" => ParseScalarTypeDefinition ( ) ,
903
+ "type" => ParseObjectTypeDefinition ( ) ,
904
+ "interface" => ParseInterfaceTypeDefinition ( ) ,
905
+ "union" => ParseUnionTypeDefinition ( ) ,
906
+ "enum" => ParseEnumTypeDefinition ( ) ,
907
+ "input" => ParseInputObjectTypeDefinition ( ) ,
908
+ "directive" => ParseDirectiveDefinition ( ) ,
909
+ _ => Throw_Unexpected_Token ( )
910
+ } ;
927
911
}
928
912
929
913
// http://spec.graphql.org/October2021/#NamedType
@@ -945,22 +929,13 @@ private GraphQLNamedType ParseNamedType()
945
929
946
930
private GraphQLValue ParseNameValue ( /*bool isConstant*/ )
947
931
{
948
- var token = _currentToken ;
949
-
950
- if ( token . Value == "true" )
932
+ return _currentToken . Value . Span switch
951
933
{
952
- return ParseBooleanValue ( true ) ;
953
- }
954
- else if ( token . Value == "false" )
955
- {
956
- return ParseBooleanValue ( false ) ;
957
- }
958
- else
959
- {
960
- return token . Value == "null"
961
- ? ParseNullValue ( )
962
- : ParseEnumValue ( ) ;
963
- }
934
+ "true" => ParseBooleanValue ( true ) ,
935
+ "false" => ParseBooleanValue ( false ) ,
936
+ "null" => ParseNullValue ( ) ,
937
+ _ => ParseEnumValue ( false )
938
+ } ;
964
939
}
965
940
966
941
// http://spec.graphql.org/October2021/#ObjectValue
0 commit comments