Example #1
0
        private dynamic ComposeResultForType(GraphQLObjectType type, GraphQLSelectionSet selectionSet)
        {
            var variableResolver = new VariableResolver(this.variables, this.graphQLSchema.TypeTranslator, this.operation.VariableDefinitions);
            var valueResolver    = new ValueResolver(variableResolver, this.graphQLSchema.TypeTranslator);
            var fieldCollector   = new FieldCollector(this.fragments, valueResolver);

            var scope = new FieldScope(
                this.graphQLSchema.TypeTranslator,
                valueResolver,
                fieldCollector,
                type,
                null);

            return(scope.GetObject(fieldCollector.CollectFields(type, selectionSet)));
        }
Example #2
0
        private ExecutionContext CreateExecutionContext(GraphQLOperationDefinition operationDefinition)
        {
            var variableResolver = this.CreateVariableResolver();

            var fieldCollector = new FieldCollector(
                this.fragments,
                this.graphQLSchema.SchemaRepository);

            return(new ExecutionContext()
            {
                FieldCollector = fieldCollector,
                OperationType = operationDefinition.Operation,
                Schema = this.graphQLSchema,
                SchemaRepository = this.graphQLSchema.SchemaRepository,
                VariableResolver = variableResolver
            });
        }