rabbit-queue 5.5.0 → 5.6.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.
package/README.md CHANGED
@@ -217,6 +217,39 @@ eg:
217
217
  ```javascript
218
218
  rabbit.on('log', (component, level, ...args) => console.log(`[${level}] ${component}`, ...args));
219
219
  ```
220
+ const rabbit = new Rabbit('amqp://localhost');
221
+ class DemoHandler extends BaseQueueHandler {
222
+ handle({ msg, event, correlationId, startTime }) {
223
+ console.log('Received: ', event);
224
+ console.log('With correlation id: ' + correlationId);
225
+ }
226
+ afterDlq({ msg, event }) {
227
+ // Something to do after added to dlq
228
+ }
229
+ }
230
+
231
+ new DemoHandler('demoQueue', rabbit, {
232
+ retries: 3,
233
+ retryDelay: 1000,
234
+ logEnabled: true, //log queue processing time
235
+ scope: 'SINGLETON', //can also be 'PROTOTYPE' to create a new instance every time
236
+ createAndSubscribeToQueue: true, // used internally no need to overwrite
237
+ migrateQueue: true // if you want to migrate the queue from one configuration to another - otherwise it will throw an error if the queue already exists with different configuration
238
+ });
239
+
240
+ rabbit.publish('demoQueue', { test: 'data' }, { correlationId: '4' });
241
+ ```
242
+
243
+
244
+ ### Migrating Queues
245
+
246
+ Rabbit-queue supports migrating queues from one configuration to another.
247
+ RabbitMQ will fail and close the channel if you try to create a queue with the same name but different configuration.
248
+ To migrate a queue, you can use the `migrateQueue` option.
249
+
250
+ ```javascript
251
+ const rabbit = new Rabbit(process.env.RABBIT_URL || 'amqp://localhost');
252
+
220
253
 
221
254
  ### Changelog
222
255
 
@@ -1,7 +1,7 @@
1
1
  version: "2.2"
2
2
  services:
3
3
  rabbit-queue:
4
- image: node:14
4
+ image: node:22
5
5
  working_dir: /code
6
6
  volumes:
7
7
  - .:/code
@@ -3,7 +3,7 @@ import * as amqp from 'amqplib';
3
3
  import Queue from './queue';
4
4
  import getLogger from './logger';
5
5
  declare abstract class BaseQueueHandler {
6
- queueName: any;
6
+ queueName: string;
7
7
  rabbit: Rabbit;
8
8
  dlqName: string;
9
9
  retries: number;
@@ -15,23 +15,27 @@ declare abstract class BaseQueueHandler {
15
15
  created: Promise<void>;
16
16
  scope: 'SINGLETON' | 'PROTOTYPE';
17
17
  prefetch?: number;
18
+ options: amqp.Options.AssertQueue & amqp.Options.Consume;
19
+ migrateQueue: boolean;
18
20
  static SCOPES: {
19
21
  singleton: 'SINGLETON';
20
22
  prototype: 'PROTOTYPE';
21
23
  };
22
- constructor(queueName: any, rabbit: Rabbit, { retries, retryDelay, logEnabled, scope, createAndSubscribeToQueue, prefetch, }?: {
24
+ constructor(queueName: string, rabbit: Rabbit, { retries, retryDelay, logEnabled, scope, createAndSubscribeToQueue, prefetch, migrateQueue, options }?: {
23
25
  retries?: number;
24
26
  retryDelay?: number;
25
27
  logEnabled?: boolean;
26
28
  scope?: "SINGLETON" | "PROTOTYPE";
27
29
  createAndSubscribeToQueue?: boolean;
28
30
  prefetch?: number;
31
+ migrateQueue?: boolean;
32
+ options?: amqp.Options.AssertQueue;
29
33
  });
30
34
  getDlq(): string;
31
- getCorrelationId(msg: amqp.Message, event?: any): any;
32
- getQueueOptions(): {};
33
- getDlqOptions(): any;
34
- static prototypeFactory<T extends BaseQueueHandler>(queueName: any, rabbit: Rabbit, options?: {}): T;
35
+ getCorrelationId(msg: amqp.Message, _event?: any): any;
36
+ getQueueOptions(): amqp.Options.AssertQueue & amqp.Options.Consume;
37
+ getDlqOptions(): amqp.Options.AssertQueue & amqp.Options.Consume;
38
+ static prototypeFactory<T extends BaseQueueHandler>(queueName: string, rabbit: Rabbit, options?: {}): T;
35
39
  createQueues(): Promise<void>;
36
40
  tryHandle(retries: any, msg: amqp.Message, ack: (error: any, reply: any) => any): Promise<void>;
37
41
  handleError(err: any, msg: any): void;
@@ -11,8 +11,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const encode_decode_1 = require("./encode-decode");
13
13
  const logger_1 = require("./logger");
14
+ const migrator_1 = require("./migrator");
14
15
  class BaseQueueHandler {
15
- constructor(queueName, rabbit, { retries = 3, retryDelay = 1000, logEnabled = true, scope = BaseQueueHandler.SCOPES.singleton, createAndSubscribeToQueue = true, prefetch = rabbit.prefetch, } = {}) {
16
+ constructor(queueName, rabbit, { retries = 3, retryDelay = 1000, logEnabled = true, scope = BaseQueueHandler.SCOPES.singleton, createAndSubscribeToQueue = true, prefetch = rabbit.prefetch, migrateQueue = false, options = {} } = {}) {
16
17
  this.queueName = queueName;
17
18
  this.rabbit = rabbit;
18
19
  const logger = logger_1.default(`rabbit-queue.${queueName}`);
@@ -23,6 +24,8 @@ class BaseQueueHandler {
23
24
  this.logEnabled = logEnabled;
24
25
  this.scope = scope;
25
26
  this.dlqName = this.getDlq();
27
+ this.options = options;
28
+ this.migrateQueue = migrateQueue;
26
29
  if (createAndSubscribeToQueue) {
27
30
  this.created = this.createQueues();
28
31
  }
@@ -30,14 +33,14 @@ class BaseQueueHandler {
30
33
  getDlq() {
31
34
  return this.queueName + '_dlq';
32
35
  }
33
- getCorrelationId(msg, event) {
36
+ getCorrelationId(msg, _event) {
34
37
  return msg.properties.correlationId;
35
38
  }
36
39
  getQueueOptions() {
37
- return {};
40
+ return this.options;
38
41
  }
39
42
  getDlqOptions() {
40
- return undefined;
43
+ return this.options;
41
44
  }
42
45
  static prototypeFactory(queueName, rabbit, options = {}) {
43
46
  const Constructor = this;
@@ -46,10 +49,14 @@ class BaseQueueHandler {
46
49
  }
47
50
  createQueues() {
48
51
  return __awaiter(this, void 0, void 0, function* () {
52
+ if (this.migrateQueue) {
53
+ yield this.rabbit.connected;
54
+ yield new migrator_1.Migrator(this.rabbit.consumeConnection).tryMigrateQueue(this.queueName, this.getQueueOptions());
55
+ }
49
56
  this.queue = yield this.rabbit
50
57
  .createQueue(this.queueName, Object.assign(Object.assign({}, this.getQueueOptions()), { prefetch: this.prefetch }), (msg, ack) => {
51
58
  if (this.scope === BaseQueueHandler.SCOPES.singleton) {
52
- this.tryHandle(0, msg, ack).catch((e) => this.logger.error(e));
59
+ this.tryHandle(0, msg, ack).catch(e => this.logger.error(e));
53
60
  }
54
61
  else {
55
62
  const instance = new this.constructor(this.queueName, this.rabbit, {
@@ -58,15 +65,18 @@ class BaseQueueHandler {
58
65
  logger: this.logger,
59
66
  logEnabled: this.logEnabled,
60
67
  scope: this.scope,
61
- createAndSubscribeToQueue: false,
68
+ createAndSubscribeToQueue: false
62
69
  });
63
- instance.tryHandle(0, msg, ack).catch((e) => this.logger.error(e));
70
+ instance.tryHandle(0, msg, ack).catch(e => this.logger.error(e));
64
71
  }
65
72
  })
66
- .catch((error) => this.logger.error(error));
73
+ .catch(error => this.logger.error(error));
74
+ if (this.migrateQueue) {
75
+ yield new migrator_1.Migrator(this.rabbit.consumeConnection).tryMigrateQueue(this.dlqName, this.getDlqOptions());
76
+ }
67
77
  this.dlq = yield this.rabbit
68
78
  .createQueue(this.dlqName, this.getDlqOptions())
69
- .catch((error) => this.logger.error(error));
79
+ .catch(error => this.logger.error(error));
70
80
  });
71
81
  }
72
82
  tryHandle(retries, msg, ack) {
@@ -85,7 +95,7 @@ class BaseQueueHandler {
85
95
  }
86
96
  catch (err) {
87
97
  this.handleError(err, msg);
88
- this.retry(retries, msg, ack).catch((error) => this.logger.error(error));
98
+ this.retry(retries, msg, ack).catch(error => this.logger.error(error));
89
99
  }
90
100
  });
91
101
  }
@@ -98,7 +108,7 @@ class BaseQueueHandler {
98
108
  name: err.name && err.name.substr(0, 200),
99
109
  message: err.message && err.message.substr(0, 200),
100
110
  stack: err.stack && err.stack.substr(0, 200),
101
- time: new Date().toString(),
111
+ time: new Date().toString()
102
112
  };
103
113
  }
104
114
  getTime() {
@@ -125,7 +135,7 @@ class BaseQueueHandler {
125
135
  });
126
136
  }
127
137
  afterDlq(data) {
128
- this.logger.info(`[${this.getCorrelationId(data.msg)}] Added to dlq`);
138
+ this.logger.info(`[${this.getCorrelationId(data.msg)}] Running afterDlq`);
129
139
  }
130
140
  addToDLQ(retries, msg, ack) {
131
141
  return __awaiter(this, void 0, void 0, function* () {
@@ -147,7 +157,7 @@ class BaseQueueHandler {
147
157
  }
148
158
  BaseQueueHandler.SCOPES = {
149
159
  singleton: 'SINGLETON',
150
- prototype: 'PROTOTYPE',
160
+ prototype: 'PROTOTYPE'
151
161
  };
152
162
  exports.default = BaseQueueHandler;
153
163
  //# sourceMappingURL=base-queue-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-queue-handler.js","sourceRoot":"","sources":["../ts/base-queue-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-queue-handler.js","sourceRoot":"","sources":["../ts/base-queue-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import getLogger from './logger';
2
+ import * as amqp from 'amqplib';
3
+ import { Channel } from './channel';
4
+ export declare class Migrator {
5
+ private connection;
6
+ logger: ReturnType<typeof getLogger>;
7
+ constructor(connection: amqp.ChannelModel);
8
+ tryMigrateQueue(queueName: string, opts?: any): Promise<void>;
9
+ migrateQueue(newQueue: string, fromQueue: string, opts: any, channel: Channel): Promise<void>;
10
+ assertQueue(queueName: string, opts: {}): Promise<boolean>;
11
+ }
package/js/migrate.js ADDED
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Migrator = void 0;
13
+ const logger_1 = require("./logger");
14
+ class Migrator {
15
+ constructor(connection) {
16
+ this.connection = connection;
17
+ this.logger = logger_1.default('migrator');
18
+ }
19
+ tryMigrateQueue(queueName, opts = {}) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ if (yield this.assertQueue(queueName, opts)) {
22
+ const channel = yield this.connection.createConfirmChannel();
23
+ yield this.migrateQueue(queueName + '_tmp', queueName, opts, channel);
24
+ yield this.migrateQueue(queueName, queueName + '_tmp', opts, channel);
25
+ this.logger.info(`Queue ${queueName} migrated successfully.`);
26
+ channel.close();
27
+ return;
28
+ }
29
+ this.logger.info(`Queue already ${queueName} migrated.`);
30
+ });
31
+ }
32
+ migrateQueue(newQueue, fromQueue, opts = {}, channel) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ this.logger.info(`Migrating queue ${fromQueue} to ${newQueue} and opts ${opts}...`);
35
+ yield channel.assertQueue(newQueue, opts);
36
+ while (true) {
37
+ const message = yield channel.get(fromQueue, { noAck: false });
38
+ if (!message)
39
+ break;
40
+ yield new Promise((resolve, reject) => channel.sendToQueue(newQueue, message.content, message.properties, (err, ok) => err ? reject(err) : resolve(ok)));
41
+ channel.ack(message);
42
+ }
43
+ const response = yield channel.deleteQueue(fromQueue, { ifEmpty: true });
44
+ this.logger.info(`Queue ${fromQueue} deleted: ${response.messageCount === 0}.`);
45
+ this.logger.info(`Queue ${fromQueue} migrated to ${newQueue}.`);
46
+ });
47
+ }
48
+ assertQueue(queueName, opts) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ const channel = yield this.connection.createChannel();
51
+ try {
52
+ yield channel.assertQueue(queueName, opts);
53
+ channel.close();
54
+ return true;
55
+ }
56
+ catch (error) {
57
+ return false;
58
+ }
59
+ });
60
+ }
61
+ }
62
+ exports.Migrator = Migrator;
63
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../ts/migrate.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAiC;AAIjC,MAAa,QAAQ;IAGnB,YAAoB,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;QAC/C,IAAI,CAAC,MAAM,GAAG,gBAAS,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAEK,eAAe,CAAC,SAAiB,EAAE,OAAY,EAAE;;YACrD,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE;gBAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;gBAC7D,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBACtE,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,SAAS,yBAAyB,CAAC,CAAC;gBAC9D,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO;aACR;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,SAAS,YAAY,CAAC,CAAC;QAC3D,CAAC;KAAA;IAEK,YAAY,CAAC,QAAgB,EAAE,SAAiB,EAAE,OAAY,EAAE,EAAE,OAAgB;;YACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,SAAS,OAAO,QAAQ,aAAa,IAAI,KAAK,CAAC,CAAC;YACpF,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAE1C,OAAO,IAAI,EAAE;gBACX,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/D,IAAI,CAAC,OAAO;oBAAE,MAAM;gBACpB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACpC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,GAAQ,EAAE,EAAO,EAAE,EAAE,CACvF,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAChC,CACF,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aACtB;YAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,SAAS,aAAa,QAAQ,CAAC,YAAY,KAAK,CAAC,GAAG,CAAC,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,SAAS,gBAAgB,QAAQ,GAAG,CAAC,CAAC;QAClE,CAAC;KAAA;IAEK,WAAW,CAAC,SAAiB,EAAE,IAAQ;;YAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;YACtD,IAAI;gBACF,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC3C,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;aACb;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,KAAK,CAAC;aACd;QACH,CAAC;KAAA;CACF;AAlDD,4BAkDC"}
@@ -0,0 +1,11 @@
1
+ import getLogger from './logger';
2
+ import * as amqp from 'amqplib';
3
+ import { Channel } from './channel';
4
+ export declare class Migrator {
5
+ private connection;
6
+ logger: ReturnType<typeof getLogger>;
7
+ constructor(connection: amqp.ChannelModel);
8
+ tryMigrateQueue(queueName: string, opts?: any): Promise<void>;
9
+ migrateQueue(newQueue: string, fromQueue: string, opts: any, channel: Channel): Promise<void>;
10
+ assertQueue(queueName: string, opts: {}): Promise<boolean>;
11
+ }
package/js/migrator.js ADDED
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Migrator = void 0;
13
+ const logger_1 = require("./logger");
14
+ const queue_1 = require("./queue");
15
+ class Migrator {
16
+ constructor(connection) {
17
+ this.connection = connection;
18
+ this.logger = logger_1.default('rabbit-queue.migrator');
19
+ }
20
+ tryMigrateQueue(queueName, opts = {}) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ if (!(yield this.assertQueue(queueName, opts))) {
23
+ const channel = yield this.connection.createConfirmChannel();
24
+ yield this.migrateQueue(queueName + '.migration.tmp', queueName, opts, channel);
25
+ yield this.migrateQueue(queueName, queueName + '.migration.tmp', opts, channel);
26
+ this.logger.info(`Queue ${queueName} migrated successfully.`);
27
+ channel.close();
28
+ return;
29
+ }
30
+ this.logger.info(`Queue ${queueName} already migrated.`);
31
+ });
32
+ }
33
+ migrateQueue(newQueue, fromQueue, opts = {}, channel) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ this.logger.info(`Migrating queue ${fromQueue} to ${newQueue} and opts ${JSON.stringify(opts)}...`);
36
+ yield this.assertQueue(newQueue, opts);
37
+ while (true) {
38
+ this.logger.info(`Fetching message from ${fromQueue}...`);
39
+ const message = yield channel.get(fromQueue, { noAck: false });
40
+ if (!message)
41
+ break;
42
+ this.logger.info(`Sending message to ${newQueue} ${message.content}, ${JSON.stringify(message.properties)}...`);
43
+ yield new Promise((resolve, reject) => channel.sendToQueue(newQueue, message.content, message.properties, (err, ok) => err ? reject(err) : resolve(ok)));
44
+ channel.ack(message);
45
+ }
46
+ const deleteResponse = yield channel.deleteQueue(fromQueue);
47
+ this.logger.info(`Queue ${fromQueue} deleted: ${deleteResponse.messageCount === 0}.`);
48
+ this.logger.info(`Queue ${fromQueue} migrated to ${newQueue}.`);
49
+ });
50
+ }
51
+ assertQueue(queueName, opts) {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ const channel = yield this.connection.createChannel();
54
+ try {
55
+ channel.on('error', error => {
56
+ this.logger.warn(`Error asserting queue ${queueName}: ${error.message}...`);
57
+ });
58
+ yield new queue_1.default(channel, queueName, opts).created;
59
+ channel.close();
60
+ return true;
61
+ }
62
+ catch (error) {
63
+ return false;
64
+ }
65
+ });
66
+ }
67
+ }
68
+ exports.Migrator = Migrator;
69
+ //# sourceMappingURL=migrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrator.js","sourceRoot":"","sources":["../ts/migrator.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAiC;AAGjC,mCAA4B;AAE5B,MAAa,QAAQ;IAGnB,YAAoB,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;QAC/C,IAAI,CAAC,MAAM,GAAG,gBAAS,CAAC,uBAAuB,CAAC,CAAC;IACnD,CAAC;IAEK,eAAe,CAAC,SAAiB,EAAE,OAAY,EAAE;;YACrD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE;gBAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;gBAC7D,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,gBAAgB,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAChF,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,gBAAgB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAChF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,SAAS,yBAAyB,CAAC,CAAC;gBAC9D,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO;aACR;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,SAAS,oBAAoB,CAAC,CAAC;QAC3D,CAAC;KAAA;IAEK,YAAY,CAAC,QAAgB,EAAE,SAAiB,EAAE,OAAY,EAAE,EAAE,OAAgB;;YACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,SAAS,OAAO,QAAQ,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAEvC,OAAO,IAAI,EAAE;gBACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,SAAS,KAAK,CAAC,CAAC;gBAC1D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/D,IAAI,CAAC,OAAO;oBAAE,MAAM;gBACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAChH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACpC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,GAAQ,EAAE,EAAO,EAAE,EAAE,CACvF,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAChC,CACF,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aACtB;YAED,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,SAAS,aAAa,cAAc,CAAC,YAAY,KAAK,CAAC,GAAG,CAAC,CAAC;YACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,SAAS,gBAAgB,QAAQ,GAAG,CAAC,CAAC;QAClE,CAAC;KAAA;IAEK,WAAW,CAAC,SAAiB,EAAE,IAAQ;;YAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;YACtD,IAAI;gBACF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;oBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,SAAS,KAAK,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;gBAC9E,CAAC,CAAC,CAAC;gBACH,MAAM,IAAI,eAAK,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC;gBAClD,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;aACb;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,KAAK,CAAC;aACd;QACH,CAAC;KAAA;CACF;AAvDD,4BAuDC"}
package/js/rabbit.d.ts CHANGED
@@ -11,8 +11,8 @@ export default class Rabbit extends EventEmitter {
11
11
  };
12
12
  static STOP_STREAM: string;
13
13
  static INSTANCE: Rabbit;
14
- consumeConnection: amqp.Connection;
15
- publishConnection: amqp.Connection;
14
+ consumeConnection: amqp.ChannelModel;
15
+ publishConnection: amqp.ChannelModel;
16
16
  consumeChannel: Channel;
17
17
  publishChannel: Channel;
18
18
  connected: Promise<any>;
@@ -37,7 +37,7 @@ export default class Rabbit extends EventEmitter {
37
37
  private connect;
38
38
  reconnect(): Promise<void>;
39
39
  private emitDisconnected;
40
- createChannel(connection: amqp.Connection): Promise<amqp.ConfirmChannel>;
40
+ createChannel(connection: amqp.ChannelModel): Promise<amqp.ConfirmChannel>;
41
41
  initChannel(channel: Channel, publish?: boolean): Promise<void>;
42
42
  private updateName;
43
43
  createQueue(name: string, options?: amqp.Options.AssertQueue & {
package/js/rabbit.js CHANGED
@@ -54,7 +54,7 @@ class Rabbit extends events_1.EventEmitter {
54
54
  reconnect() {
55
55
  return __awaiter(this, void 0, void 0, function* () {
56
56
  this.connected = this.connect();
57
- yield this.connected.catch((error) => this.emitDisconnected(error));
57
+ yield this.connected.catch(error => this.emitDisconnected(error));
58
58
  });
59
59
  }
60
60
  emitDisconnected(error) {
@@ -63,15 +63,15 @@ class Rabbit extends events_1.EventEmitter {
63
63
  }
64
64
  createChannel(connection) {
65
65
  return __awaiter(this, void 0, void 0, function* () {
66
- connection.once('close', (error) => this.emitDisconnected(error));
67
- connection.on('error', (error) => this.emitDisconnected(error));
66
+ connection.once('close', error => this.emitDisconnected(error));
67
+ connection.on('error', error => this.emitDisconnected(error));
68
68
  return connection.createConfirmChannel();
69
69
  });
70
70
  }
71
71
  initChannel(channel, publish = false) {
72
72
  return __awaiter(this, void 0, void 0, function* () {
73
73
  channel.prefetch(this.prefetch);
74
- channel.on('close', (error) => this.emitDisconnected(error));
74
+ channel.on('close', error => this.emitDisconnected(error));
75
75
  if (!publish && this.replyPattern) {
76
76
  yield reply_queue_1.createReplyQueue(this.consumeChannel);
77
77
  }
package/js/rabbit.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rabbit.js","sourceRoot":"","sources":["../ts/rabbit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rabbit.js","sourceRoot":"","sources":["../ts/rabbit.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rabbit-queue",
3
- "version": "5.5.0",
3
+ "version": "5.6.0",
4
4
  "description": "AMQP/RabbitMQ queue management library.",
5
5
  "main": "js/index.js",
6
6
  "keywords": [
@@ -51,13 +51,13 @@
51
51
  "node": ">=10.0.0"
52
52
  },
53
53
  "dependencies": {
54
- "amqplib": "*",
54
+ "amqplib": ">=0.10.0",
55
55
  "race-until": "~2.3.1",
56
56
  "uuid": "~8.3.2"
57
57
  },
58
58
  "typings": "js/index",
59
59
  "devDependencies": {
60
- "@types/amqplib": "0.8.2",
60
+ "@types/amqplib": "^0.10.7",
61
61
  "@types/mocha": "~9.0.0",
62
62
  "@types/node": "~16.4.1",
63
63
  "@types/should": "^13.0.0",
@@ -68,6 +68,7 @@
68
68
  "lint-staged": "~11.1.0",
69
69
  "mocha": "~9.2.2",
70
70
  "nyc": "~15.1.0",
71
+ "prettier": "^3.5.3",
71
72
  "should": "^13.2.3",
72
73
  "sinon": "~11.1.1",
73
74
  "source-map-support": "~0.5.19",