@wroud/flow-middleware
Version:
A lightweight middleware management library for JavaScript and TypeScript, facilitating middleware chains with re-runs, error handling, and disposability.
23 lines • 686 B
JavaScript
import { MiddlewareRequest } from "./MiddlewareRequest.js";
export class FlowMiddleware {
logger;
middlewares;
errorMiddlewares;
constructor(logger) {
this.logger = logger;
this.middlewares = [];
this.errorMiddlewares = [];
}
use(...middleware) {
this.middlewares.push(...middleware);
return this;
}
error(...errorMiddleware) {
this.errorMiddlewares.push(...errorMiddleware);
return this;
}
createRequest(initialData = {}) {
return new MiddlewareRequest([...this.middlewares], [...this.errorMiddlewares], initialData, this.logger);
}
}
//# sourceMappingURL=FlowMiddleware.js.map