UNPKG

honion

Version:
14 lines (13 loc) 1.06 kB
import { Context } from "../context"; import { Middleware, MiddlewareConstructor, MiddlewareItem } from "./middleware"; export interface MiddlewareContainer<TC extends Context> { use(lambda: (ctx: TC, next: () => Promise<void>) => Promise<void>): this; use(lambda: (ctx: TC, next: () => Promise<void>) => void): this; add<TM extends Middleware<TC>>(builder: (ctx: TC) => Middleware<TC>, type?: MiddlewareConstructor<TC, TM>): this; add<TM extends Middleware<TC>>(builder: (ctx: TC) => Promise<Middleware<TC>>, type?: MiddlewareConstructor<TC, TM>): this; add<TM extends Middleware<TC>>(builder: (ctx: TC) => MiddlewareConstructor<TC, TM>, type?: MiddlewareConstructor<TC, TM>): this; add<TM extends Middleware<TC>>(builder: (ctx: TC) => Promise<MiddlewareConstructor<TC, TM>>, type?: MiddlewareConstructor<TC, TM>): this; add(md: Middleware<TC>): this; add<TM extends Middleware<TC>>(md: MiddlewareConstructor<TC, TM>): this; } export declare function initContainer(container: MiddlewareContainer<any>, mds: MiddlewareItem[]): void;