示例#1
0
        public static IQueryExecutionBuilder MapField <TMiddleware>(
            this IQueryExecutionBuilder builder,
            FieldReference fieldReference,
            Func <IServiceProvider, FieldDelegate, TMiddleware> factory)
            where TMiddleware : class
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (fieldReference == null)
            {
                throw new ArgumentNullException(nameof(fieldReference));
            }

            if (factory == null)
            {
                throw new ArgumentNullException(nameof(factory));
            }

            return(builder.UseField(
                       FieldClassMiddlewareFactory.Create <MapMiddleware>(
                           (s, n) =>
            {
                FieldMiddleware classMiddleware =
                    FieldClassMiddlewareFactory.Create(factory);

                return new MapMiddleware(
                    n, fieldReference, classMiddleware(n));
            })));
        }
示例#2
0
 public static IQueryExecutionBuilder UseField <TMiddleware>(
     this IQueryExecutionBuilder builder)
     where TMiddleware : class
 {
     return(builder.UseField(
                FieldClassMiddlewareFactory.Create <TMiddleware>()));
 }
示例#3
0
        public static IQueryExecutionBuilder MapField(
            this IQueryExecutionBuilder builder,
            FieldReference fieldReference,
            FieldMiddleware middleware)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (fieldReference == null)
            {
                throw new ArgumentNullException(nameof(fieldReference));
            }

            if (middleware == null)
            {
                throw new ArgumentNullException(nameof(middleware));
            }

            return(builder.UseField(
                       FieldClassMiddlewareFactory.Create <MapMiddleware>(
                           (s, n) => new MapMiddleware(
                               n, fieldReference, middleware(n)))));
        }
示例#4
0
 public static IQueryExecutionBuilder UseField <TMiddleware>(
     this IQueryExecutionBuilder builder,
     Func <IServiceProvider, FieldDelegate, TMiddleware> factory)
     where TMiddleware : class
 {
     return(builder.UseField(
                FieldClassMiddlewareFactory.Create <TMiddleware>(factory)));
 }
示例#5
0
 public static IQueryExecutionBuilder Map(
     this IQueryExecutionBuilder builder,
     FieldReference fieldReference,
     FieldMiddleware middleware)
 {
     return(builder.UseField(
                FieldClassMiddlewareFactory.Create <MapMiddleware>(
                    (s, n) => new MapMiddleware(
                        n, fieldReference, middleware(n)))));
 }
示例#6
0
        public static IQueryExecutionBuilder UseField <TMiddleware>(
            this IQueryExecutionBuilder builder)
            where TMiddleware : class
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            return(builder.UseField(
                       FieldClassMiddlewareFactory.Create <TMiddleware>()));
        }
示例#7
0
 public static IQueryExecutionBuilder Map <TMiddleware>(
     this IQueryExecutionBuilder builder,
     FieldReference fieldReference)
     where TMiddleware : class
 {
     return(builder.UseField(
                FieldClassMiddlewareFactory.Create <MapMiddleware>(
                    (s, n) =>
     {
         FieldMiddleware classMiddleware =
             FieldClassMiddlewareFactory.Create <TMiddleware>();
         return new MapMiddleware(
             n, fieldReference, classMiddleware(n));
     })));
 }
示例#8
0
        public static IQueryExecutionBuilder UseField <TMiddleware>(
            this IQueryExecutionBuilder builder,
            Func <IServiceProvider, FieldDelegate, TMiddleware> factory)
            where TMiddleware : class
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (factory == null)
            {
                throw new ArgumentNullException(nameof(factory));
            }

            return(builder.UseField(
                       FieldClassMiddlewareFactory.Create(factory)));
        }