예제 #1
0
파일: Runner.cs 프로젝트: SystemDot/GraphQL
 public FieldSelectionVisitor(GraphQlSchemaCursor schemaCursor, QueryTreeCursor queryTreeCursor)
 {
     this.schemaCursor = schemaCursor;
     this.queryTreeCursor = queryTreeCursor;
 }
예제 #2
0
파일: Runner.cs 프로젝트: SystemDot/GraphQL
        public static string Run(string query, GraphQlSchema schema)
        {
            ParsedQuery parsedQuery = GraphQlParser.ParseQuery(query);

            var schemaCursor = new GraphQlSchemaCursor(schema);
            var queryTree = new QueryTree();
            var queryTreeCursor = new QueryTreeCursor(queryTree);

            var visitorLookup = new ParsedQueryNodeVisitorLookup();
            visitorLookup.RegisterForNode<ParsedQuery>(new NullQueryParsedQueryNodeVisitor());
            visitorLookup.RegisterForNode<ParsedField>(new FieldSelectionVisitor(schemaCursor, queryTreeCursor));
            ParsedQueryTraverser.Traverse(parsedQuery, visitorLookup);
        }