UNPKG

@halsp/core

Version:

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

41 lines 1.18 kB
"use strict"; 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