redis-smq
Version:
A simple high-performance Redis message queue for Node.js.
28 lines • 1.22 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.FanOutExchange = void 0;
const exchange_1 = require("./exchange");
const types_1 = require("../../../types");
const invalid_exchange_data_error_1 = require("./errors/invalid-exchange-data.error");
const fan_out_exchange_manager_1 = require("./fan-out-exchange-manager");
const redis_keys_1 = require("../../common/redis-keys/redis-keys");
class FanOutExchange extends exchange_1.Exchange {
constructor(fanOutName) {
super(fanOutName, types_1.EExchangeType.FANOUT);
}
validateBindingParams(bindingParams) {
return redis_keys_1.redisKeys.validateRedisKey(bindingParams);
}
getQueues(redisClient, config, cb) {
fan_out_exchange_manager_1.FanOutExchangeManager.getExchangeQueues(redisClient, this, cb);
}
static fromJSON(json) {
if (!json.bindingParams || json.type !== types_1.EExchangeType.FANOUT)
throw new invalid_exchange_data_error_1.InvalidExchangeDataError();
const e = new FanOutExchange(json.bindingParams);
e.fromJSON(json);
return e;
}
}
exports.FanOutExchange = FanOutExchange;
//# sourceMappingURL=fan-out-exchange.js.map
;