@message-in-the-middle/core
Version:
Framework-agnostic middleware pattern for message queue processing. Core package with all middlewares.
26 lines • 910 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createJoiValidator = createJoiValidator;
const validation_middleware_1 = require("../middlewares/validation.middleware");
function createJoiValidator(schema, options = {}) {
const validator = async (data) => {
try {
const joiOptions = {
abortEarly: false,
...options.joiOptions,
};
const result = await schema.validateAsync(data, joiOptions);
return result;
}
catch (error) {
if (options.errorFormatter && error.details) {
throw options.errorFormatter(error);
}
throw error;
}
};
return new validation_middleware_1.ValidateInboundMiddleware(validator, {
throwOnError: !options.passthrough,
});
}
//# sourceMappingURL=joi.validator.js.map