Example #1
0
        internal static NameNode ParseName(ParserContext context)
        {
            SyntaxToken token    = context.ExpectName();
            Location    location = context.CreateLocation(token);

            return(new NameNode
                   (
                       location,
                       token.Value
                   ));
        }
        private static NameNode ParseJsonName(ParserContext context)
        {
            SyntaxToken token = context.Current.Kind == TokenKind.String
                ? context.ExpectString()
                : context.ExpectName();

            Location location = context.CreateLocation(token);

            return(new NameNode
                   (
                       location,
                       token.Value
                   ));
        }
        /// <summary>
        /// Parses the <see cref="OperationType" />.
        /// </summary>
        /// <param name="context">The parser context.</param>
        private static OperationType ParseOperationType(ParserContext context)
        {
            SyntaxToken token = context.ExpectName();

            switch (token.Value)
            {
            case Keywords.Query:
                return(OperationType.Query);

            case Keywords.Mutation:
                return(OperationType.Mutation);

            case Keywords.Subscription:
                return(OperationType.Subscription);
            }

            throw context.Unexpected(token);
        }