tsdk-server-adapters
Version:
[](https://www.npmjs.com/package/tsdk-server-adapters) [](https://packagephobia.com/result?p=tsdk-server-adapters) ); } 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());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.expressAdapterFactory = void 0;
const gen_route_factory_1 = require("./gen-route-factory");
function expressAdapterFactory({ routeBus, getReqInfo, getType, getData, }) {
return function expressAdapter(req, res, next) {
return __awaiter(this, void 0, void 0, function* () {
const method = req.method.toLowerCase();
const reqInfo = yield getReqInfo(req);
const type = getType(reqInfo, req);
const eventName = (0, gen_route_factory_1.getRouteEventName)({
protocol: 'express',
type,
method,
path: req.path,
});
if (routeBus._events[eventName]) {
const payload = yield getData(req);
routeBus.emit(eventName, reqInfo, res, { payload });
}
else {
next();
}
});
};
}
exports.expressAdapterFactory = expressAdapterFactory;