@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
TypeScript
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