UNPKG

honion

Version:
20 lines (19 loc) 1.47 kB
import { Context } from "../context"; import { LambdaMiddleware } from "./lambda.middleware"; export type MiddlewareConstructor<TC extends Context = Context, TM extends Middleware<TC> = Middleware<TC>> = { new (...args: any[]): TM; }; export type MiddlewareItem = LambdaMiddleware | ((ctx: Context) => Middleware) | [(ctx: Context) => Middleware, MiddlewareConstructor] | ((ctx: Context) => Promise<Middleware>) | [(ctx: Context) => Promise<Middleware>, MiddlewareConstructor] | ((ctx: Context) => MiddlewareConstructor) | [(ctx: Context) => MiddlewareConstructor, MiddlewareConstructor] | ((ctx: Context) => Promise<MiddlewareConstructor>) | Middleware | MiddlewareConstructor; export declare function createMiddleware(ctx: Context, middleware: MiddlewareItem): Promise<Middleware>; export declare abstract class Middleware<TC extends Context = Context> { #private; get ctx(): TC; get logger(): import("..").ILogger; set logger(val: import("..").ILogger); isPrevInstanceOf<TM extends Middleware<TC> = Middleware<TC>>(target: MiddlewareConstructor<TC, TM>): target is MiddlewareConstructor<TC, TM>; isNextInstanceOf<TM extends Middleware<TC> = Middleware<TC>>(target: MiddlewareConstructor<TC, TM>): target is MiddlewareConstructor<TC, TM>; abstract invoke(): void | Promise<void>; protected next(): Promise<void>; private init; } export declare function invokeMiddlewares(ctx: Context, mds: MiddlewareItem[]): Promise<void>;