openapi-connect
Version:
Base for microservices around OpenAPI/Swagger
27 lines • 1.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.registerMiddleware = void 0;
const util_1 = require("util");
const customMiddleware_validator_1 = require("./customMiddleware.validator");
const customRegistrator_1 = require("./customRegistrator");
const systemRegistrator_1 = require("./systemRegistrator");
function registerMiddleware(app, options, swagger) {
let registrators = (0, systemRegistrator_1.getSystemRegistrators)();
const customMiddlewares = getCustomMiddlewares(options.customHandlers);
registrators = (0, customRegistrator_1.addCustomRegistrators)(registrators, customMiddlewares);
const context = { app, options, swagger };
registrators.forEach(reg => reg.register(context));
}
exports.registerMiddleware = registerMiddleware;
function getCustomMiddlewares(customHandlers) {
const customMiddlewares = customHandlers.map(normalize);
customMiddlewares.forEach(customMiddleware_validator_1.validate);
return customMiddlewares;
}
const normalize = (handler) => (0, util_1.isFunction)(handler)
? {
on: { after: 'all' },
handler: handler
}
: handler;
//# sourceMappingURL=registrator.js.map