UNPKG

@gabliam/amqp

Version:
34 lines (33 loc) 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.configurationValidator = void 0; const core_1 = require("@gabliam/core"); const constants_1 = require("./constants"); const queueOptionsValidator = core_1.Joi.object().keys({ exclusive: core_1.Joi.boolean(), durable: core_1.Joi.boolean(), autoDelete: core_1.Joi.boolean(), }); const queueConfigurationValidator = core_1.Joi.object().keys({ queueName: core_1.Joi.string() .trim() .required(), options: queueOptionsValidator.default(), }); const queuesValidor = core_1.Joi.object() .pattern(/.*/, queueConfigurationValidator) .min(1); const connectionValidator = core_1.Joi.object().keys({ name: core_1.Joi.string() .trim() .default('default'), url: core_1.Joi.string() .trim() .required(), undefinedValue: core_1.Joi.string() .trim() .default(constants_1.UNDEFINED_VALUE), queues: queuesValidor, gzipEnabled: core_1.Joi.boolean().default(false), }); exports.configurationValidator = core_1.Joi.alternatives(connectionValidator, core_1.Joi.array().items(connectionValidator));