UNPKG

@nexica/nestjs-trpc

Version:
23 lines (22 loc) 1.15 kB
import { Type } from '@nestjs/common'; import { ModuleRef } from '@nestjs/core'; import { MiddlewareFn } from '../interfaces/middleware.interface'; export interface InjectableMiddleware<TContext = any> { use: MiddlewareFn<TContext>; } export declare class MiddlewareRegistry { private static moduleRef; private static middlewareCache; static setModuleRef(moduleRef: ModuleRef): void; static getMiddleware<T extends InjectableMiddleware>(MiddlewareClass: Type<T>): MiddlewareFn; static createMiddleware<T extends InjectableMiddleware>(MiddlewareClass: Type<T>): MiddlewareFn; } export declare class MiddlewareRegistryModule { private readonly moduleRef; constructor(moduleRef: ModuleRef); } export declare function createMiddleware<T extends InjectableMiddleware>(MiddlewareClass: Type<T>): MiddlewareFn; export declare function createMiddlewareFactory<TDeps, TContext = any>(factory: (deps: TDeps) => MiddlewareFn<TContext>): (deps: TDeps) => MiddlewareFn<TContext>; export declare abstract class BaseMiddleware<TContext = any> implements InjectableMiddleware<TContext> { abstract use: MiddlewareFn<TContext>; }