Example #1
0
 private void ParseDefinition()
 {
     if (_isString[(int)_reader.Kind])
     {
         ParseDescription();
     }
     else if (_reader.Kind == TokenKind.Name)
     {
         if (_reader.Value.SequenceEqual(GraphQLKeywords.Query) ||
             _reader.Value.SequenceEqual(GraphQLKeywords.Mutation) ||
             _reader.Value.SequenceEqual(GraphQLKeywords.Subscription))
         {
             ParseOperationDefinition();
         }
         else if (_reader.Value.SequenceEqual(GraphQLKeywords.Fragment))
         {
             ParseFragmentDefinition();
         }
         else if (_reader.Value.SequenceEqual(GraphQLKeywords.Schema))
         {
             ParseSchemaDefinition();
         }
         else if (_reader.Value.SequenceEqual(GraphQLKeywords.Scalar))
         {
             ParseScalarTypeDefinition();
         }
         else if (_reader.Value.SequenceEqual(GraphQLKeywords.Type))
         {
             ParseObjectTypeDefinition();
         }
         else if (_reader.Value.SequenceEqual(GraphQLKeywords.Interface))
         {
             ParseInterfaceTypeDefinition();
         }
         else if (_reader.Value.SequenceEqual(GraphQLKeywords.Union))
         {
             ParseUnionTypeDefinition();
         }
         else if (_reader.Value.SequenceEqual(GraphQLKeywords.Enum))
         {
             ParseEnumTypeDefinition();
         }
         else if (_reader.Value.SequenceEqual(GraphQLKeywords.Input))
         {
             ParseInputObjectTypeDefinition();
         }
         else if (_reader.Value.SequenceEqual(GraphQLKeywords.Extend))
         {
             ParseTypeExtension();
         }
         else if (_reader.Value.SequenceEqual(GraphQLKeywords.Directive))
         {
             ParseDirectiveDefinition();
         }
         else
         {
             _classifications.AddClassification(
                 SyntaxClassificationKind.Error,
                 _reader.Token);
             MoveNext();
         }
     }
     else if (_reader.Kind == TokenKind.LeftBrace)
     {
         ParseShortOperationDefinition();
     }
     else
     {
         _classifications.AddClassification(
             SyntaxClassificationKind.Error,
             _reader.Token);
         MoveNext();
     }
 }