honion
Version:
47 lines (46 loc) • 2.47 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var _ComposeMiddleware_mds;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ComposeMiddleware = void 0;
const lambda_middleware_1 = require("./lambda.middleware");
const middleware_1 = require("./middleware");
const middleware_container_1 = require("./middleware-container");
class ComposeMiddleware extends middleware_1.Middleware {
constructor(enable) {
super();
this.enable = enable;
_ComposeMiddleware_mds.set(this, []);
(0, middleware_container_1.initContainer)(this, __classPrivateFieldGet(this, _ComposeMiddleware_mds, "f"));
}
invoke() {
return __awaiter(this, void 0, void 0, function* () {
if (this.enable && !(yield this.enable(this.ctx))) {
yield this.next();
return;
}
const mds = [
...__classPrivateFieldGet(this, _ComposeMiddleware_mds, "f"),
new lambda_middleware_1.LambdaMiddleware(() => __awaiter(this, void 0, void 0, function* () {
yield this.next();
})),
];
yield (0, middleware_1.invokeMiddlewares)(this.ctx, mds);
});
}
}
exports.ComposeMiddleware = ComposeMiddleware;
_ComposeMiddleware_mds = new WeakMap();