openapi-connect
Version:
Base for microservices around OpenAPI/Swagger
27 lines • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validate = void 0;
const middlewareOptions_keys_1 = require("./middlewareOptions.keys");
function validate(middleware) {
if (!middleware.handler) {
throw new Error('Handler must be specified');
}
const on = middleware.on;
if (!on) {
throw new Error('Condition must be specified');
}
const onBefore = on.before;
const onAfter = on.after;
if ((!onBefore && !onAfter) || (onBefore && onAfter)) {
throw new Error('Either onBefore or onAfter condition must be specified');
}
if (onBefore && !isValidMiddlewareKind(onBefore)) {
throw new Error(`Invalid onBefore condition: ${onBefore}`);
}
if (onAfter && !isValidMiddlewareKind(onAfter)) {
throw new Error(`Invalid onAfter condition: ${onAfter}`);
}
}
exports.validate = validate;
const isValidMiddlewareKind = (source) => !!middlewareOptions_keys_1.MiddlewareOptionsKeys[source] || source === 'all';
//# sourceMappingURL=customMiddleware.validator.js.map