Esempio n. 1
0
 private void RenderArgument(QLField arg, bool isLast)
 {
     _generator.AppendLine($"new QueryArgument(typeof({CsharpGenerator.Type(arg.ResolvedType, false)}).GetGraphTypeFromType({(arg.Default != null).ToString().ToLower()}))")
     .BeginBlock()
     .AppendLine($"Name = \"{arg.Name.Camelize()}\",")
     .AppendLine($"DefaultValue = {arg.Default},")
     .AppendLine($"Description = @\"{arg.Description?.Replace("\"", "\"\"") ?? ""}\"")
     .EndBlock(isLast ? "}" : "},");
 }
Esempio n. 2
0
        static void Main(string[] args)
        {
            var baseUlr = @"https://graphql-pokemon.now.sh";

            //new QueryBuilder().CreateQuery("blah-blah").AddFields
            //(() => new QLField(("lol","kek"))
            //                 .WithAlias("opa")
            //                 .AddFields(()=> new QLField()),
            //() => new QLField(),
            //() => new QLField());

            IFragment fragment = new QLFragment("somepeople", "Person")
                                 .AddFields(() => new QLField("name"),
                                            () => new QLField("height"));

            var query = new QueryBuilder()
                        .CreateQuery("SomeQuery")
                        .AddFields
                        (
                () => new QLField("pokemon", ("name", "$name"))
                .AddFields(() => new QLField("id"),
                           () => new QLField("attacks")
                           .AddFields(() => new QLField("special")
                                      .AddDirectives("include", "if", "false")
                                      .AddFields(() => new QLField("name"),
                                                 () => new QLField("type"),
                                                 () => new QLField("damage"))))
                        ).AddVariables(new QLVariable {
                Name = "name", Type = "String", Value = "\"Pikachu\""
            });

            var queryString = query.ToString();
            var varStr      = query.GetVariables();

            var cl = new QlClinet(baseUlr);

            Task.Run(async() =>
            {
                var rr = await cl.ExecuteQuery <dynamic>(query.ToString());
            }
                     ).Wait();
        }