Ejemplo n.º 1
0
        public override object VisitDocument(GraphQLParser.DocumentContext context)
        {
            var document = new Document();

            NewNode(document, context);
            context.definition().Apply(childContext =>
            {
                var definition = Visit(childContext) as IDefinition;
                document.AddDefinition(definition);

                if (definition is FragmentDefinition)
                {
                    document.Fragments.Add(definition as FragmentDefinition);
                }
                else if (definition is Operation)
                {
                    document.Operations.Add(definition as Operation);
                }
                else
                {
                    throw new ExecutionError("Unhandled document definition");
                }
            });

            return(document);
        }
Ejemplo n.º 2
0
 protected IEnumerable <GraphQLParser.OperationDefinitionContext> GetOperations(Predicate <GraphQLParser.OperationDefinitionContext> filter)
 {
     return(documentContext.definition()
            .Where(x => x.operationDefinition() != null)
            .Select(x => x.operationDefinition()).Where(x => filter(x)).ToArray());
 }