redis-smq 7.0.6 → 7.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/README.md +16 -11
  3. package/dist/index.d.ts +4 -0
  4. package/dist/index.js +9 -1
  5. package/dist/misc/health-check/combined-run.js +6 -6
  6. package/dist/src/common/redis-keys/redis-keys.d.ts +19 -9
  7. package/dist/src/common/redis-keys/redis-keys.js +16 -9
  8. package/dist/src/lib/consumer/consumer-message-handler/acknowledge-message.js +1 -1
  9. package/dist/src/lib/consumer/consumer-message-handler/dead-letter-message.js +2 -2
  10. package/dist/src/lib/consumer/consumer-message-handler/delay-message.js +2 -2
  11. package/dist/src/lib/consumer/consumer-message-handler/requeue-message.js +1 -1
  12. package/dist/src/lib/exchange/direct-exchange.d.ts +10 -0
  13. package/dist/src/lib/exchange/direct-exchange.js +34 -0
  14. package/dist/src/lib/exchange/errors/destination-queue-required.error.d.ts +4 -0
  15. package/dist/src/lib/exchange/errors/destination-queue-required.error.js +11 -0
  16. package/dist/src/lib/exchange/errors/exchange.error.d.ts +3 -0
  17. package/dist/src/lib/exchange/errors/exchange.error.js +8 -0
  18. package/dist/src/lib/exchange/errors/invalid-exchange-data.error.d.ts +4 -0
  19. package/dist/src/lib/exchange/errors/invalid-exchange-data.error.js +11 -0
  20. package/dist/src/lib/exchange/exchange.d.ts +19 -0
  21. package/dist/src/lib/exchange/exchange.js +51 -0
  22. package/dist/src/lib/exchange/fan-out-exchange-manager.d.ts +21 -0
  23. package/dist/src/lib/exchange/fan-out-exchange-manager.js +160 -0
  24. package/dist/src/lib/exchange/fan-out-exchange.d.ts +10 -0
  25. package/dist/src/lib/exchange/fan-out-exchange.js +28 -0
  26. package/dist/src/lib/exchange/topic-exchange.d.ts +12 -0
  27. package/dist/src/lib/exchange/topic-exchange.js +58 -0
  28. package/dist/src/lib/message/errors/message-exchange-required.error.d.ts +4 -0
  29. package/dist/src/lib/message/errors/message-exchange-required.error.js +11 -0
  30. package/dist/src/lib/message/errors/message.error.d.ts +3 -0
  31. package/dist/src/lib/message/errors/message.error.js +8 -0
  32. package/dist/src/lib/message/{message-metadata.d.ts → message-state.d.ts} +12 -12
  33. package/dist/src/lib/message/{message-metadata.js → message-state.js} +4 -4
  34. package/dist/src/lib/message/message.d.ts +19 -10
  35. package/dist/src/lib/message/message.js +135 -77
  36. package/dist/src/lib/message-manager/message-storage/list.js +6 -5
  37. package/dist/src/lib/producer/errors/message-already-published.error.js +1 -1
  38. package/dist/src/lib/producer/producer.d.ts +4 -2
  39. package/dist/src/lib/producer/producer.js +61 -37
  40. package/dist/src/lib/producer/schedule-message.js +6 -5
  41. package/dist/src/lib/queue-manager/delete-queue-transaction.js +11 -3
  42. package/dist/src/lib/queue-manager/queue-manager.d.ts +3 -2
  43. package/dist/src/lib/queue-manager/queue-manager.js +3 -3
  44. package/dist/src/lib/queue-manager/queue-rate-limit.js +7 -6
  45. package/dist/src/lib/queue-manager/queue.d.ts +4 -1
  46. package/dist/src/lib/queue-manager/queue.js +24 -8
  47. package/dist/src/workers/delay.worker.js +2 -2
  48. package/dist/src/workers/requeue.worker.js +2 -2
  49. package/dist/src/workers/schedule.worker.js +5 -4
  50. package/dist/types/index.d.ts +37 -4
  51. package/dist/types/index.js +13 -1
  52. package/package.json +3 -3
  53. package/dist/src/lib/producer/errors/message-queue-required.error.d.ts +0 -4
  54. package/dist/src/lib/producer/errors/message-queue-required.error.js +0 -11
@@ -2,15 +2,16 @@ import { QueueRateLimit } from './queue-rate-limit';
2
2
  import { Namespace } from './namespace';
3
3
  import { QueueMetrics } from './queue-metrics';
4
4
  import { Queue } from './queue';
5
+ import { RedisClient } from 'redis-smq-common';
5
6
  import { ICallback } from 'redis-smq-common/dist/types';
6
7
  import { IConfig } from '../../../types';
7
8
  export declare class QueueManager {
8
- private readonly redisClient;
9
+ protected readonly redisClient: RedisClient;
9
10
  readonly namespace: Namespace;
10
11
  readonly queue: Queue;
11
12
  readonly queueRateLimit: QueueRateLimit;
12
13
  readonly queueMetrics: QueueMetrics;
13
- private constructor();
14
+ protected constructor(namespace: Namespace, queue: Queue, queueRateLimit: QueueRateLimit, queueMetrics: QueueMetrics, redisClient: RedisClient);
14
15
  quit(cb: ICallback<void>): void;
15
16
  static createInstance(config: IConfig, cb: ICallback<QueueManager>): void;
16
17
  }
@@ -8,12 +8,12 @@ const queue_1 = require("./queue");
8
8
  const redis_smq_common_1 = require("redis-smq-common");
9
9
  const configuration_1 = require("../../config/configuration");
10
10
  class QueueManager {
11
- constructor(redisClient, namespace, queue, queueRateLimit, queueMetrics) {
12
- this.redisClient = redisClient;
11
+ constructor(namespace, queue, queueRateLimit, queueMetrics, redisClient) {
13
12
  this.namespace = namespace;
14
13
  this.queue = queue;
15
14
  this.queueRateLimit = queueRateLimit;
16
15
  this.queueMetrics = queueMetrics;
16
+ this.redisClient = redisClient;
17
17
  }
18
18
  quit(cb) {
19
19
  this.redisClient.halt(cb);
@@ -33,7 +33,7 @@ class QueueManager {
33
33
  const queue = new queue_1.Queue(cfg, client, nsLogger);
34
34
  const queueRateLimit = new queue_rate_limit_1.QueueRateLimit(cfg, client, nsLogger);
35
35
  const queueMetrics = new queue_metrics_1.QueueMetrics(cfg, client, nsLogger);
36
- cb(null, new QueueManager(client, namespace, queue, queueRateLimit, queueMetrics));
36
+ cb(null, new QueueManager(namespace, queue, queueRateLimit, queueMetrics, client));
37
37
  }
38
38
  });
39
39
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.QueueRateLimit = void 0;
4
+ const types_1 = require("../../../types");
4
5
  const redis_keys_1 = require("../../common/redis-keys/redis-keys");
5
6
  const queue_rate_limit_error_1 = require("./errors/queue-rate-limit.error");
6
7
  const queue_1 = require("./queue");
@@ -13,9 +14,9 @@ class QueueRateLimit {
13
14
  }
14
15
  clear(queue, cb) {
15
16
  const queueParams = queue_1.Queue.getParams(this.config, queue);
16
- const { keyQueueSettings, keyQueueSettingsRateLimit, keyQueueRateLimitCounter, } = redis_keys_1.redisKeys.getQueueKeys(queueParams);
17
+ const { keyQueueSettings, keyQueueRateLimitCounter } = redis_keys_1.redisKeys.getQueueKeys(queueParams);
17
18
  const multi = this.redisClient.multi();
18
- multi.hdel(keyQueueSettings, keyQueueSettingsRateLimit);
19
+ multi.hdel(keyQueueSettings, types_1.EQueueSettingType.RATE_LIMIT);
19
20
  multi.del(keyQueueRateLimitCounter);
20
21
  multi.exec((err) => cb(err));
21
22
  }
@@ -30,8 +31,8 @@ class QueueRateLimit {
30
31
  cb(new queue_rate_limit_error_1.QueueRateLimitError(`Invalid rateLimit.interval. Expected a positive integer >= 1000`));
31
32
  }
32
33
  const validatedRateLimit = { interval, limit };
33
- const { keyQueueSettings, keyQueueSettingsRateLimit } = redis_keys_1.redisKeys.getQueueKeys(queueParams);
34
- this.redisClient.hset(keyQueueSettings, keyQueueSettingsRateLimit, JSON.stringify(validatedRateLimit), (err) => cb(err));
34
+ const { keyQueueSettings } = redis_keys_1.redisKeys.getQueueKeys(queueParams);
35
+ this.redisClient.hset(keyQueueSettings, types_1.EQueueSettingType.RATE_LIMIT, JSON.stringify(validatedRateLimit), (err) => cb(err));
35
36
  }
36
37
  get(queue, cb) {
37
38
  QueueRateLimit.get(this.config, this.redisClient, queue, cb);
@@ -50,8 +51,8 @@ class QueueRateLimit {
50
51
  }
51
52
  static get(config, redisClient, queue, cb) {
52
53
  const queueParams = queue_1.Queue.getParams(config, queue);
53
- const { keyQueueSettings, keyQueueSettingsRateLimit } = redis_keys_1.redisKeys.getQueueKeys(queueParams);
54
- redisClient.hget(keyQueueSettings, keyQueueSettingsRateLimit, (err, reply) => {
54
+ const { keyQueueSettings } = redis_keys_1.redisKeys.getQueueKeys(queueParams);
55
+ redisClient.hget(keyQueueSettings, types_1.EQueueSettingType.RATE_LIMIT, (err, reply) => {
55
56
  if (err)
56
57
  cb(err);
57
58
  else if (!reply)
@@ -6,7 +6,10 @@ export declare class Queue {
6
6
  protected redisClient: RedisClient;
7
7
  protected logger: ICompatibleLogger;
8
8
  constructor(config: IRequiredConfig, redisClient: RedisClient, logger: ICompatibleLogger);
9
- create(queue: string | TQueueParams, priorityQueuing: boolean, cb: ICallback<void>): void;
9
+ create(queue: string | TQueueParams, priorityQueuing: boolean, cb: ICallback<{
10
+ queue: TQueueParams;
11
+ settings: TQueueSettings;
12
+ }>): void;
10
13
  getSettings(queue: string | TQueueParams, cb: ICallback<TQueueSettings>): void;
11
14
  exists(queue: string | TQueueParams, cb: ICallback<boolean>): void;
12
15
  list(cb: ICallback<TQueueParams[]>): void;
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Queue = void 0;
4
+ const types_1 = require("../../../types");
4
5
  const redis_keys_1 = require("../../common/redis-keys/redis-keys");
5
6
  const queue_exists_error_1 = require("./errors/queue-exists.error");
6
7
  const queue_not_found_error_1 = require("./errors/queue-not-found.error");
7
8
  const delete_queue_transaction_1 = require("./delete-queue-transaction");
8
9
  const redis_smq_common_1 = require("redis-smq-common");
9
10
  const redis_client_1 = require("../../common/redis-client/redis-client");
11
+ const empty_callback_reply_error_1 = require("redis-smq-common/dist/src/errors/empty-callback-reply.error");
10
12
  class Queue {
11
13
  constructor(config, redisClient, logger) {
12
14
  this.config = config;
@@ -15,21 +17,28 @@ class Queue {
15
17
  }
16
18
  create(queue, priorityQueuing, cb) {
17
19
  const queueParams = Queue.getParams(this.config, queue);
18
- const { keyQueues, keyNsQueues, keyNamespaces, keyQueueSettings, keyQueueSettingsPriorityQueuing, } = redis_keys_1.redisKeys.getQueueKeys(queueParams);
20
+ const { keyQueues, keyNsQueues, keyNamespaces, keyQueueSettings } = redis_keys_1.redisKeys.getQueueKeys(queueParams);
19
21
  const queueIndex = JSON.stringify(queueParams);
20
22
  this.redisClient.runScript(redis_client_1.ELuaScriptName.CREATE_QUEUE, [
21
23
  keyNamespaces,
22
24
  keyNsQueues,
23
25
  keyQueues,
24
26
  keyQueueSettings,
25
- keyQueueSettingsPriorityQueuing,
27
+ types_1.EQueueSettingType.PRIORITY_QUEUING,
26
28
  ], [queueParams.ns, queueIndex, JSON.stringify(priorityQueuing)], (err, reply) => {
27
29
  if (err)
28
30
  cb(err);
29
31
  else if (!reply)
30
32
  cb(new queue_exists_error_1.QueueExistsError());
31
33
  else
32
- cb();
34
+ this.getSettings(queueParams, (err, settings) => {
35
+ if (err)
36
+ cb(err);
37
+ else if (!settings)
38
+ cb(new empty_callback_reply_error_1.EmptyCallbackReplyError());
39
+ else
40
+ cb(null, { queue: queueParams, settings });
41
+ });
33
42
  });
34
43
  }
35
44
  getSettings(queue, cb) {
@@ -65,21 +74,28 @@ class Queue {
65
74
  }
66
75
  static getSettings(config, redisClient, queue, cb) {
67
76
  const queueParams = Queue.getParams(config, queue);
68
- const { keyQueueSettings, keyQueueSettingsPriorityQueuing, keyQueueSettingsRateLimit, } = redis_keys_1.redisKeys.getQueueKeys(queueParams);
77
+ const { keyQueueSettings } = redis_keys_1.redisKeys.getQueueKeys(queueParams);
69
78
  redisClient.hgetall(keyQueueSettings, (err, reply) => {
70
79
  if (err)
71
80
  cb(err);
72
81
  else if (!reply || !Object.keys(reply).length)
73
82
  cb(new queue_not_found_error_1.QueueNotFoundError());
74
83
  else {
75
- const queueSettings = { priorityQueuing: false };
84
+ const queueSettings = {
85
+ priorityQueuing: false,
86
+ exchange: null,
87
+ rateLimit: null,
88
+ };
76
89
  for (const key in reply) {
77
- if (key === keyQueueSettingsPriorityQueuing) {
90
+ if (key === types_1.EQueueSettingType.PRIORITY_QUEUING) {
78
91
  queueSettings.priorityQueuing = JSON.parse(reply[key]);
79
92
  }
80
- if (key === keyQueueSettingsRateLimit) {
93
+ if (key === types_1.EQueueSettingType.RATE_LIMIT) {
81
94
  queueSettings.rateLimit = JSON.parse(reply[key]);
82
95
  }
96
+ if (key === types_1.EQueueSettingType.EXCHANGE) {
97
+ queueSettings.exchange = reply[key];
98
+ }
83
99
  }
84
100
  cb(null, queueSettings);
85
101
  }
@@ -87,7 +103,7 @@ class Queue {
87
103
  }
88
104
  static list(redisClient, cb) {
89
105
  const { keyQueues } = redis_keys_1.redisKeys.getMainKeys();
90
- redisClient.smembers(keyQueues, (err, reply) => {
106
+ redisClient.sscanFallback(keyQueues, (err, reply) => {
91
107
  if (err)
92
108
  cb(err);
93
109
  else if (!reply)
@@ -20,9 +20,9 @@ class DelayWorker extends redis_smq_common_1.Worker {
20
20
  redis_smq_common_1.async.each(messages, (i, _, done) => {
21
21
  multi.lrem(keyDelayedMessages, 1, i);
22
22
  const message = message_1.Message.createFromMessage(i);
23
- message.getRequiredMetadata().incrAttempts();
23
+ message.getRequiredMessageState().incrAttempts();
24
24
  const delay = message.getRetryDelay();
25
- message.getRequiredMetadata().setNextRetryDelay(delay);
25
+ message.getRequiredMessageState().setNextRetryDelay(delay);
26
26
  (0, schedule_message_1.scheduleMessage)(multi, message);
27
27
  done();
28
28
  }, (err) => {
@@ -18,10 +18,10 @@ class RequeueWorker extends redis_smq_common_1.Worker {
18
18
  const multi = this.redisClient.multi();
19
19
  redis_smq_common_1.async.each(messages, (messageStr, _, done) => {
20
20
  const message = message_1.Message.createFromMessage(messageStr);
21
- const queue = message.getRequiredQueue();
21
+ const queue = message.getDestinationQueue();
22
22
  const { keyQueuePending, keyQueuePendingPriorityMessageWeight } = redis_keys_1.redisKeys.getQueueKeys(queue);
23
23
  multi.lrem(keyRequeueMessages, 1, messageStr);
24
- message.getRequiredMetadata().incrAttempts();
24
+ message.getRequiredMessageState().incrAttempts();
25
25
  if (message.hasPriority()) {
26
26
  const priority = message.getPriority();
27
27
  if (priority === null)
@@ -5,6 +5,7 @@ const redis_keys_1 = require("../common/redis-keys/redis-keys");
5
5
  const message_1 = require("../lib/message/message");
6
6
  const redis_smq_common_1 = require("redis-smq-common");
7
7
  const redis_client_1 = require("../common/redis-client/redis-client");
8
+ const types_1 = require("../../types");
8
9
  class ScheduleWorker extends redis_smq_common_1.Worker {
9
10
  constructor(redisClient, managed) {
10
11
  super(managed);
@@ -44,13 +45,13 @@ class ScheduleWorker extends redis_smq_common_1.Worker {
44
45
  redis_smq_common_1.async.each(messages, (msg, _, done) => {
45
46
  var _a;
46
47
  const message = message_1.Message.createFromMessage(msg);
47
- const queue = message.getRequiredQueue();
48
- const { keyQueueSettings, keyQueueSettingsPriorityQueuing, keyQueuePending, keyQueuePendingPriorityMessages, keyQueuePendingPriorityMessageWeight, keyScheduledMessageWeight, keyScheduledMessages, } = redis_keys_1.redisKeys.getQueueKeys(queue);
48
+ const queue = message.getDestinationQueue();
49
+ const { keyQueueSettings, keyQueuePending, keyQueuePendingPriorityMessages, keyQueuePendingPriorityMessageWeight, keyScheduledMessageWeight, keyScheduledMessages, } = redis_keys_1.redisKeys.getQueueKeys(queue);
49
50
  const nextScheduleTimestamp = message.getNextScheduledTimestamp();
50
- message.getRequiredMetadata().setPublishedAt(Date.now());
51
+ message.getRequiredMessageState().setPublishedAt(Date.now());
51
52
  this.redisClient.runScript(redis_client_1.ELuaScriptName.ENQUEUE_SCHEDULED_MESSAGE, [
52
53
  keyQueueSettings,
53
- keyQueueSettingsPriorityQueuing,
54
+ types_1.EQueueSettingType.PRIORITY_QUEUING,
54
55
  keyQueuePendingPriorityMessages,
55
56
  keyQueuePendingPriorityMessageWeight,
56
57
  keyQueuePending,
@@ -4,6 +4,9 @@ import { Message } from '../src/lib/message/message';
4
4
  import { redisKeys } from '../src/common/redis-keys/redis-keys';
5
5
  import { ICallback, TLoggerConfig, TRedisConfig } from 'redis-smq-common/dist/types';
6
6
  import { EventEmitter } from 'events';
7
+ import { DirectExchange } from '../src/lib/exchange/direct-exchange';
8
+ import { TopicExchange } from '../src/lib/exchange/topic-exchange';
9
+ import { FanOutExchange } from '../src/lib/exchange/fan-out-exchange';
7
10
  export declare type TEventListenerInitArgs = {
8
11
  eventProvider: EventEmitter;
9
12
  config: IRequiredConfig;
@@ -76,6 +79,10 @@ export declare enum EMessageUnacknowledgedCause {
76
79
  OFFLINE_CONSUMER = "offline_consumer",
77
80
  TTL_EXPIRED = "ttl_expired"
78
81
  }
82
+ export declare type TTopicParams = {
83
+ topic: string;
84
+ ns: string;
85
+ };
79
86
  export declare type TQueueParams = {
80
87
  name: string;
81
88
  ns: string;
@@ -86,8 +93,14 @@ export declare type TQueueRateLimit = {
86
93
  };
87
94
  export declare type TQueueSettings = {
88
95
  priorityQueuing: boolean;
89
- rateLimit?: TQueueRateLimit | null;
96
+ rateLimit: TQueueRateLimit | null;
97
+ exchange: string | null;
90
98
  };
99
+ export declare enum EQueueSettingType {
100
+ PRIORITY_QUEUING = "PRIORITY_QUEUING",
101
+ RATE_LIMIT = "RATE_LIMIT",
102
+ EXCHANGE = "EXCHANGE"
103
+ }
91
104
  export declare type TConsumerInfo = {
92
105
  ipAddress: string[];
93
106
  hostname: string;
@@ -117,7 +130,8 @@ export declare type TConsumerMessageHandlerParams = {
117
130
  };
118
131
  export declare type TMessageJSON = {
119
132
  createdAt: number;
120
- queue: TQueueParams | null;
133
+ queue: TQueueParams | string | null;
134
+ exchange: IDirectExchangeParams | ITopicExchangeParams | IFanOutExchangeParams | null;
121
135
  ttl: number;
122
136
  retryThreshold: number;
123
137
  retryDelay: number;
@@ -128,9 +142,24 @@ export declare type TMessageJSON = {
128
142
  scheduledDelay: number | null;
129
143
  scheduledRepeatPeriod: number | null;
130
144
  scheduledRepeat: number;
131
- metadata: TMessageMetadataJSON | null;
145
+ messageState: TMessageState | null;
132
146
  };
133
- export declare type TMessageMetadataJSON = {
147
+ export declare enum EExchangeType {
148
+ DIRECT = 0,
149
+ FANOUT = 1,
150
+ TOPIC = 2
151
+ }
152
+ export declare type TExchange = DirectExchange | TopicExchange | FanOutExchange;
153
+ export interface IExchangeParams<TBindingParams, TBindingType extends EExchangeType> {
154
+ exchangeTag: string;
155
+ destinationQueue: TQueueParams | null;
156
+ bindingParams: TBindingParams;
157
+ type: TBindingType;
158
+ }
159
+ export declare type IDirectExchangeParams = IExchangeParams<TQueueParams | string, EExchangeType.DIRECT>;
160
+ export declare type IFanOutExchangeParams = IExchangeParams<string, EExchangeType.FANOUT>;
161
+ export declare type ITopicExchangeParams = IExchangeParams<TTopicParams | string, EExchangeType.TOPIC>;
162
+ export declare type TMessageState = {
134
163
  uuid: string;
135
164
  publishedAt: number | null;
136
165
  scheduledAt: number | null;
@@ -147,3 +176,7 @@ export declare type TMessageConsumeOptions = {
147
176
  retryDelay: number;
148
177
  consumeTimeout: number;
149
178
  };
179
+ export declare type TProduceMessageReply = {
180
+ messages: Message[];
181
+ scheduled: boolean;
182
+ };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EMessageUnacknowledgedCause = exports.EMessageDeadLetterCause = void 0;
3
+ exports.EExchangeType = exports.EQueueSettingType = exports.EMessageUnacknowledgedCause = exports.EMessageDeadLetterCause = void 0;
4
4
  var EMessageDeadLetterCause;
5
5
  (function (EMessageDeadLetterCause) {
6
6
  EMessageDeadLetterCause["TTL_EXPIRED"] = "ttl_expired";
@@ -15,4 +15,16 @@ var EMessageUnacknowledgedCause;
15
15
  EMessageUnacknowledgedCause["OFFLINE_CONSUMER"] = "offline_consumer";
16
16
  EMessageUnacknowledgedCause["TTL_EXPIRED"] = "ttl_expired";
17
17
  })(EMessageUnacknowledgedCause = exports.EMessageUnacknowledgedCause || (exports.EMessageUnacknowledgedCause = {}));
18
+ var EQueueSettingType;
19
+ (function (EQueueSettingType) {
20
+ EQueueSettingType["PRIORITY_QUEUING"] = "PRIORITY_QUEUING";
21
+ EQueueSettingType["RATE_LIMIT"] = "RATE_LIMIT";
22
+ EQueueSettingType["EXCHANGE"] = "EXCHANGE";
23
+ })(EQueueSettingType = exports.EQueueSettingType || (exports.EQueueSettingType = {}));
24
+ var EExchangeType;
25
+ (function (EExchangeType) {
26
+ EExchangeType[EExchangeType["DIRECT"] = 0] = "DIRECT";
27
+ EExchangeType[EExchangeType["FANOUT"] = 1] = "FANOUT";
28
+ EExchangeType[EExchangeType["TOPIC"] = 2] = "TOPIC";
29
+ })(EExchangeType = exports.EExchangeType || (exports.EExchangeType = {}));
18
30
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "redis-smq",
3
- "version": "7.0.6",
3
+ "version": "7.1.0",
4
4
  "description": "A simple high-performance Redis message queue for Node.js.",
5
5
  "author": "Weyoss <weyoss@protonmail.com>",
6
6
  "license": "MIT",
@@ -39,7 +39,7 @@
39
39
  "uuid": "8.3.2"
40
40
  },
41
41
  "peerDependencies": {
42
- "redis-smq-common": "^1.0.1"
42
+ "redis-smq-common": "^1.0.4"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/bluebird": "3.5.36",
@@ -59,7 +59,7 @@
59
59
  "jest": "27.2.4",
60
60
  "lint-staged": "11.1.2",
61
61
  "prettier": "2.4.1",
62
- "redis-smq-common": "^1.0.1",
62
+ "redis-smq-common": "^1.0.4",
63
63
  "supertest": "6.1.6",
64
64
  "ts-jest": "27.0.5",
65
65
  "ts-node": "10.2.1",
@@ -1,4 +0,0 @@
1
- import { errors } from 'redis-smq-common';
2
- export declare class MessageQueueRequiredError extends errors.RedisSMQError {
3
- constructor(msg?: string);
4
- }
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MessageQueueRequiredError = void 0;
4
- const redis_smq_common_1 = require("redis-smq-common");
5
- class MessageQueueRequiredError extends redis_smq_common_1.errors.RedisSMQError {
6
- constructor(msg = 'Can not publish a message without a message queue') {
7
- super(msg);
8
- }
9
- }
10
- exports.MessageQueueRequiredError = MessageQueueRequiredError;
11
- //# sourceMappingURL=message-queue-required.error.js.map