UNPKG

@halsp/core

Version:

面向云的现代渐进式轻量 Node.js 框架

25 lines (24 loc) 1.55 kB
import { Context } from "../context"; import { ObjectConstructor } from "../utils"; import { LambdaMiddleware } from "./lambda.middleware"; export type MiddlewareConstructor = { new (...args: any[]): Middleware; }; 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 { #private; get ctx(): Context; get req(): import("../context").Request; get request(): import("../context").Request; get res(): import("../context").Response; get response(): import("../context").Response; get logger(): import("..").ILogger; set logger(val: import("..").ILogger); isPrevInstanceOf<T extends object = any>(target: ObjectConstructor<T>): target is ObjectConstructor<T>; isNextInstanceOf<T extends object = any>(target: ObjectConstructor<T>): target is ObjectConstructor<T>; abstract invoke(): void | Promise<void>; protected next(): Promise<void>; private init; } export declare function invokeMiddlewares(ctx: Context, mds: MiddlewareItem[], isRoot?: boolean): Promise<void>;