kamboja-express
Version:
KambojaJS engine implementation using ExpressJs
41 lines (40 loc) • 1.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var kamboja_1 = require("kamboja");
var MiddlewareActionResult = (function (_super) {
tslib_1.__extends(MiddlewareActionResult, _super);
/**
* Action result adapter for express middleware
* @param middleware Express middleware
* @param chain Next action result will be executed, important when used inside request interceptor
*/
function MiddlewareActionResult(middleware, chain) {
var _this = _super.call(this, null) || this;
_this.middleware = middleware;
_this.chain = chain;
_this.engine = "Express";
return _this;
}
MiddlewareActionResult.prototype.execute = function (request, response, routeInfo) {
var _this = this;
return new Promise(function (resolve, reject) {
_this.middleware(request.request, response.nativeResponse, function (er) {
if (er)
return reject(er);
request.update(request.request);
if (_this.chain) {
_this.chain(request, response)
.then(resolve)
.catch(reject);
}
else {
response.nativeNextFunction(er);
resolve();
}
});
});
};
return MiddlewareActionResult;
}(kamboja_1.Core.ActionResult));
exports.MiddlewareActionResult = MiddlewareActionResult;