public static ISchemaBuilder AddResolver <TResult>( this ISchemaBuilder builder, NameString typeName, NameString fieldName, Func <IResolverContext, Task <TResult> > resolver) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (resolver == null) { throw new ArgumentNullException(nameof(resolver)); } return(builder.AddResolver(typeName, fieldName, async ctx => { Task <TResult> resolverTask = resolver(ctx); if (resolverTask == null) { return default; } return await resolverTask.ConfigureAwait(false); })); }
private static ISchemaBuilder AddResolverInternal( ISchemaBuilder builder, NameString typeName, NameString fieldName, FieldResolverDelegate resolver) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } return(builder.AddResolver( new FieldResolver(typeName, fieldName, resolver))); }
public static ISchemaBuilder AddResolver <TSchema>( this ISchemaBuilder builder, NameString typeName, NameString fieldName, FieldResolverDelegate resolver) where TSchema : ISchema { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } return(builder.AddResolver( new FieldResolver(typeName, fieldName, resolver))); }
public static ISchemaBuilder AddResolver <TResult>( this ISchemaBuilder builder, NameString typeName, NameString fieldName, Func <IResolverContext, TResult> resolver) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (resolver == null) { throw new ArgumentNullException(nameof(resolver)); } return(builder.AddResolver(typeName, fieldName, ctx => Task.FromResult <object>(resolver(ctx)))); }
public static ISchemaBuilder AddResolver( this ISchemaBuilder builder, NameString typeName, NameString fieldName, Func <Task <object> > resolver) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (resolver == null) { throw new ArgumentNullException(nameof(resolver)); } return(builder.AddResolver(typeName, fieldName, ctx => resolver())); }