コード例 #1
0
        public void Parse_ValueNode_From_Reader()
        {
            var reader = new Utf8GraphQLReader(GetUtf8Bytes(@"""baz"""));

            reader.MoveNext();

            Utf8GraphQLParser.Syntax.ParseValueLiteral(reader).MatchSnapshot();
        }
コード例 #2
0
        public void Parse_ObjectValueNode_From_Reader()
        {
            var reader = new Utf8GraphQLReader(GetUtf8Bytes(@"{ a: 1 }"));

            reader.MoveNext();

            Utf8GraphQLParser.Syntax.ParseObjectLiteral(reader).MatchSnapshot();
        }
コード例 #3
0
        public void Parse_SelectionSetNode_From_Reader()
        {
            var reader = new Utf8GraphQLReader(GetUtf8Bytes(@"{ foo(a: ""baz"") }"));

            reader.MoveNext();

            Utf8GraphQLParser.Syntax.ParseSelectionSet(reader).MatchSnapshot();
        }
コード例 #4
0
        public void Parse_FieldNode_From_Reader()
        {
            var reader = new Utf8GraphQLReader(GetUtf8Bytes(@"foo(a: ""baz"")"));

            reader.MoveNext();

            Utf8GraphQLParser.Syntax.ParseField(reader).MatchSnapshot();
        }
コード例 #5
0
        public IReadOnlyList <GraphQLRequest> Parse()
        {
            _reader.MoveNext();

            if (_reader.Kind == TokenKind.LeftBrace)
            {
                GraphQLRequest singleRequest = ParseRequest();
                return(new[] { singleRequest });
            }

            if (_reader.Kind == TokenKind.LeftBracket)
            {
                return(ParseBatchRequest());
            }

            throw ThrowHelper.InvalidRequestStructure(_reader);
        }
コード例 #6
0
        public IReadOnlyList <GraphQLRequest> Parse()
        {
            _reader.MoveNext();

            if (_reader.Kind == TokenKind.LeftBrace)
            {
                GraphQLRequest singleRequest = ParseRequest();
                return(new[] { singleRequest });
            }

            if (_reader.Kind == TokenKind.LeftBracket)
            {
                return(ParseBatchRequest());
            }

            // TODO : resources
            throw new SyntaxException(
                      _reader,
                      "Expected `{` or `[` as first syntax token.");
        }
コード例 #7
0
        public static void ParseTypeReference_Reader()
        {
            // arrange
            byte[] sourceText = Encoding.UTF8.GetBytes("[[String!]]");
            var    reader     = new Utf8GraphQLReader(sourceText);

            reader.MoveNext();

            // act
            ITypeNode type = Utf8GraphQLParser.Syntax.ParseTypeReference(reader);

            // assert
            Assert.Equal(
                "String",
                Assert.IsType <NamedTypeNode>(
                    Assert.IsType <NonNullTypeNode>(
                        Assert.IsType <ListTypeNode>(
                            Assert.IsType <ListTypeNode>(type).Type).Type).Type).Name.Value);
        }