@nexica/nestjs-trpc
Version:
NestJS TRPC Bridge
23 lines (22 loc) • 1.15 kB
TypeScript
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>;
}