UNPKG

@wroud/flow-middleware

Version:

A lightweight middleware management library for JavaScript and TypeScript, facilitating middleware chains with re-runs, error handling, and disposability.

26 lines 1.17 kB
import type { ILogger } from "@wroud/api-logger"; import type { IErrorMiddleware } from "./interfaces/IErrorMiddleware.js"; import type { IMiddleware } from "./interfaces/IMiddleware.js"; import type { IMiddlewareRequest } from "./interfaces/IMiddlewareRequest.js"; export declare class MiddlewareRequest<Data = Record<string, any>> implements IMiddlewareRequest<Data> { private readonly middlewares; private readonly errorMiddlewares; readonly data: Data; private readonly logger?; private middlewareStates; private isDisposed; private scheduledReRun; private isRunning; constructor(middlewares: IMiddleware<Data>[], errorMiddlewares: IErrorMiddleware<Data>[], data: Data, logger?: ILogger | undefined); use(...middleware: IMiddleware<Data>[]): this; error(...errorMiddleware: IErrorMiddleware<Data>[]): this; execute(error?: any): Promise<void>; private executeNext; private triggerReRun; private handleNextError; private markMiddlewareSubscriptionsInactive; private cleanupSubscriptions; private disposeMiddlewareSubscriptions; dispose(): void; } //# sourceMappingURL=MiddlewareRequest.d.ts.map