mission.api
Version:
mission api
31 lines • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const results_1 = require("./results");
/*
Ref: https://github.com/Greenfields/express-async-wrap/blob/master/src/index.js
*/
exports.Wrap = (fn) => {
const handler = (req, res, next) => {
fn(req, res, next)
.then((data) => {
// HACK: To handle sequelize transaction
if (req.transaction && !req.transaction.finished) {
req.transaction.commit();
}
if (!data) {
return res.send();
}
data = data.send ? data : new results_1.JsonResult(data);
return data.send(req, res);
})
.catch(next);
};
Object.defineProperty(handler, 'name', { value: fn.name, writable: false });
return handler;
};
exports.ErrorWrap = (fn) => {
return (err, req, res, next) => {
return fn(err, req, res, next).catch(next);
};
};
//# sourceMappingURL=async-response-handler.js.map