public static ISchema MakeExecutableSchemaWithIntrospection( SchemaBuilder builder, IResolverMap resolvers, ISubscriberMap subscribers = null, IReadOnlyDictionary <string, IValueConverter> converters = null, IReadOnlyDictionary <string, CreateDirectiveVisitor> directives = null) { // add converters if (converters != null) { UseConverters(builder, converters); } builder.UseResolversAndSubscribers(resolvers, subscribers); if (directives != null) { builder.ApplyDirectives(directives); } var schema = builder.Build(); var introspection = Introspect.Schema(schema); return(new SchemaBuilder() .Merge(schema, introspection) .Build()); }
public ExecutableSchema( IReadOnlyDictionary<string, TypeDefinition> types, IReadOnlyDictionary<string, Dictionary<string, FieldDefinition>> fields, IReadOnlyDictionary<string, Dictionary<string, InputValueDefinition>> inputFields, IReadOnlyDictionary<string, DirectiveDefinition> directiveTypes, ObjectDefinition queryRoot, IResolverMap resolvers, IReadOnlyDictionary<string, IValueConverter> scalarSerializers, ObjectDefinition? mutationRoot = null, ObjectDefinition? subscriptionRoot = null, ISubscriberMap? subscribers = null, IEnumerable<Directive>? directives = null) { _types = types; _fields = fields; _inputFields = inputFields; _directiveTypes = directiveTypes; _resolvers = resolvers; _subscribers = subscribers; _scalarSerializers = scalarSerializers; _directives = new DirectiveList(directives); Query = queryRoot; Mutation = mutationRoot; Subscription = subscriptionRoot; }
public static SchemaBuilder UseResolversAndSubscribers( this SchemaBuilder builder, IResolverMap resolvers, ISubscriberMap subscribers = null) { foreach (var type in builder.GetTypes <ObjectType>()) { builder.Connections(connections => { foreach (var field in connections.GetFields(type)) { var resolver = resolvers.GetResolver(type.Name, field.Key); if (resolver != null) { connections.GetOrAddResolver(type, field.Key) .Run(resolver); } var subscriber = subscribers?.GetSubscriber(type.Name, field.Key); if (subscriber != null) { connections.GetOrAddSubscriber(type, field.Key) .Run(subscriber); } } }); } return(builder); }
public void Add(IResolverMap resolvers, ISubscriberMap?subscribers) { foreach (var(typeName, fields) in resolvers.GetTypes()) { foreach (var field in fields) { var resolver = resolvers?.GetResolver(typeName, field); var subscriber = subscribers?.GetSubscriber(typeName, field); if (resolver is not null) { Add(typeName, field, resolver, subscriber); } } } if (subscribers is not null) { foreach (var(typeName, fields) in subscribers.GetTypes()) { foreach (var field in fields) { var resolver = resolvers?.GetResolver(typeName, field); var subscriber = subscribers?.GetSubscriber(typeName, field); if (subscriber is not null) { Add(typeName, field, subscriber); } } } } }
public static ISchema MakeExecutableSchema( ISchema schema, IResolverMap resolvers, ISubscriberMap subscribers = null) { return(MakeExecutableSchema( new SchemaBuilder().Import(schema), resolvers, subscribers)); }
public static ISchema MakeExecutableSchema( SchemaBuilder builder, IResolverMap resolvers, ISubscriberMap subscribers = null, Dictionary <string, CreateDirectiveVisitor> directives = null) { // bind resolvers UseResolversAndSubscribers(builder, resolvers, subscribers); // execute directives if (directives != null) { UseDirectives(builder, directives); } return(builder.Build()); }
public static ISchema MakeExecutableSchemaWithIntrospection( SchemaBuilder builder, IResolverMap resolvers, ISubscriberMap subscribers = null, Dictionary <string, CreateDirectiveVisitor> directives = null) { UseResolversAndSubscribers(builder, resolvers, subscribers); if (directives != null) { UseDirectives(builder, directives); } var schema = builder.Build(); var introspection = Introspect.Schema(schema); return(new SchemaBuilder() .Merge(schema, introspection) .Build()); }
public static ISchema MakeExecutableSchema( SchemaBuilder builder, IResolverMap resolvers, ISubscriberMap subscribers = null, IReadOnlyDictionary <string, IValueConverter> converters = null, IReadOnlyDictionary <string, CreateDirectiveVisitor> directives = null) { // add converters if (converters != null) { UseConverters(builder, converters); } // bind resolvers builder.UseResolversAndSubscribers(resolvers, subscribers); // execute directives if (directives != null) { builder.ApplyDirectives(directives); } return(builder.Build()); }
public static Resolver GetResolver(this IResolverMap map, ComplexType type, KeyValuePair <string, IField> field) { return(map.GetResolver(type.Name, field.Key)); }
public Injector() { _reflector = new Reflector <InjectAttribute>(); _resolverMap = new ResolverMap(); }
public TypeBinder(IInjector injector, IResolverMap resolverMap, Type target) { _injector = injector; _resolverMap = resolverMap; _target = target; }
public ResolversMap(IResolverMap resolvers, ISubscriberMap?subscribers = null) { Add(resolvers, subscribers); }
public static Resolver?GetResolver(this IResolverMap map, ObjectDefinition type, FieldDefinition field) { return(map.GetResolver(type.Name, field.Name)); }