@halsp/core
Version:
面向云的现代渐进式轻量 Node.js 框架
41 lines • 1.18 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.ComposeMiddleware = void 0;
const lambda_middleware_1 = require("./lambda.middleware.cjs");
const middleware_1 = require("./middleware.cjs");
class ComposeMiddleware extends middleware_1.Middleware {
enable;
constructor(enable) {
super();
this.enable = enable;
}
#mds = [];
async invoke() {
if (this.enable && !(await this.enable(this.ctx))) {
await this.next();
return;
}
const mds = [
...this.#mds,
new lambda_middleware_1.LambdaMiddleware(async () => {
await this.next();
}),
];
await (0, middleware_1.invokeMiddlewares)(this.ctx, mds);
}
use(lambda) {
this.#mds.push(() => new lambda_middleware_1.LambdaMiddleware(lambda));
return this;
}
add(md, type) {
if (type) {
this.#mds.push([md, type]);
}
else {
this.#mds.push(md);
}
return this;
}
}
exports.ComposeMiddleware = ComposeMiddleware;
//# sourceMappingURL=compose.middleware.js.map
;