amqp-connection-manager 5.0.0 → 5.0.1

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
@@ -2,7 +2,6 @@
2
2
 
3
3
  [![NPM version](https://badge.fury.io/js/amqp-connection-manager.svg)](https://npmjs.org/package/amqp-connection-manager)
4
4
  ![Build Status](https://github.com/jwalton/node-amqp-connection-manager/workflows/GitHub%20CI/badge.svg)
5
- [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
6
5
 
7
6
  Connection management for amqplib. This is a wrapper around [amqplib](http://www.squaremobius.net/amqp.node/) which provides automatic reconnects.
8
7
 
@@ -38,7 +38,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  const amqp = __importStar(require("amqplib"));
40
40
  const events_1 = require("events");
41
- const promise_breaker_1 = __importDefault(require("promise-breaker"));
42
41
  const url_1 = require("url");
43
42
  const ChannelWrapper_js_1 = __importDefault(require("./ChannelWrapper.js"));
44
43
  const helpers_js_1 = require("./helpers.js");
@@ -224,7 +223,12 @@ class AmqpConnectionManager extends events_1.EventEmitter {
224
223
  .then(() => {
225
224
  if (!this._urls || this._currentUrl >= this._urls.length) {
226
225
  this._currentUrl = 0;
227
- return promise_breaker_1.default.call(this._findServers, 0, null);
226
+ return new Promise((resolve, reject) => {
227
+ const p = this._findServers(resolve);
228
+ if (p) {
229
+ p.then(resolve, reject);
230
+ }
231
+ });
228
232
  }
229
233
  else {
230
234
  return this._urls;
@@ -287,7 +291,7 @@ class AmqpConnectionManager extends events_1.EventEmitter {
287
291
  // Reconnect if the connection closes
288
292
  connection.on('close', (err) => {
289
293
  this._currentConnection = undefined;
290
- this.emit('disconnect', { err });
294
+ this.emit('disconnect', { err: err });
291
295
  const handle = (0, helpers_js_1.wait)(this.reconnectTimeInSeconds * 1000);
292
296
  this._cancelRetriesHandler = handle.cancel;
293
297
  handle.promise
@@ -32,13 +32,10 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
35
  Object.defineProperty(exports, "__esModule", { value: true });
39
36
  const crypto = __importStar(require("crypto"));
40
37
  const events_1 = require("events");
41
- const promise_breaker_1 = __importDefault(require("promise-breaker"));
38
+ const pb = __importStar(require("promise-breaker"));
42
39
  const util_1 = require("util");
43
40
  const MAX_MESSAGES_PER_BATCH = 1000;
44
41
  const randomBytes = (0, util_1.promisify)(crypto.randomBytes);
@@ -68,94 +65,27 @@ const IRRECOVERABLE_ERRORS = [
68
65
  *
69
66
  */
70
67
  class ChannelWrapper extends events_1.EventEmitter {
71
- addListener(event, listener) {
72
- return super.addListener(event, listener);
73
- }
74
- on(event, listener) {
75
- return super.on(event, listener);
76
- }
77
- once(event, listener) {
78
- return super.once(event, listener);
79
- }
80
- prependListener(event, listener) {
81
- return super.prependListener(event, listener);
82
- }
83
- prependOnceListener(event, listener) {
84
- return super.prependOnceListener(event, listener);
85
- }
86
- /**
87
- * Adds a new 'setup handler'.
88
- *
89
- * `setup(channel, [cb])` is a function to call when a new underlying channel is created - handy for asserting
90
- * exchanges and queues exists, and whatnot. The `channel` object here is a ConfigChannel from amqplib.
91
- * The `setup` function should return a Promise (or optionally take a callback) - no messages will be sent until
92
- * this Promise resolves.
93
- *
94
- * If there is a connection, `setup()` will be run immediately, and the addSetup Promise/callback won't resolve
95
- * until `setup` is complete. Note that in this case, if the setup throws an error, no 'error' event will
96
- * be emitted, since you can just handle the error here (although the `setup` will still be added for future
97
- * reconnects, even if it throws an error.)
98
- *
99
- * Setup functions should, ideally, not throw errors, but if they do then the ChannelWrapper will emit an 'error'
100
- * event.
101
- *
102
- * @param setup - setup function.
103
- * @param [done] - callback.
104
- * @returns - Resolves when complete.
105
- */
106
68
  addSetup(setup, done) {
107
- return promise_breaker_1.default.addCallback(done, (this._settingUp || Promise.resolve()).then(() => {
69
+ return pb.addCallback(done, (this._settingUp || Promise.resolve()).then(async () => {
108
70
  this._setups.push(setup);
109
71
  if (this._channel) {
110
- return promise_breaker_1.default.call(setup, this, this._channel);
111
- }
112
- else {
113
- return undefined;
72
+ await this._callSetup(setup, this._channel);
114
73
  }
115
74
  }));
116
75
  }
117
- /**
118
- * Remove a setup function added with `addSetup`. If there is currently a
119
- * connection, `teardown(channel, [cb])` will be run immediately, and the
120
- * returned Promise will not resolve until it completes.
121
- *
122
- * @param {function} setup - the setup function to remove.
123
- * @param {function} [teardown] - `function(channel, [cb])` to run to tear
124
- * down the channel.
125
- * @param {function} [done] - Optional callback.
126
- * @returns {void | Promise} - Resolves when complete.
127
- */
128
76
  removeSetup(setup, teardown, done) {
129
- return promise_breaker_1.default.addCallback(done, () => {
77
+ return pb.addCallback(done, () => {
130
78
  this._setups = this._setups.filter((s) => s !== setup);
131
- return (this._settingUp || Promise.resolve()).then(() => this._channel && teardown ? promise_breaker_1.default.call(teardown, this, this._channel) : undefined);
79
+ return (this._settingUp || Promise.resolve()).then(() => this._channel && teardown ? this._callSetup(teardown, this._channel) : undefined);
132
80
  });
133
81
  }
134
- /**
135
- * Returns a Promise which resolves when this channel next connects.
136
- * (Mainly here for unit testing...)
137
- *
138
- * @param [done] - Optional callback.
139
- * @returns - Resolves when connected.
140
- */
141
82
  waitForConnect(done) {
142
- return promise_breaker_1.default.addCallback(done, this._channel && !this._settingUp
83
+ return pb.addCallback(done, this._channel && !this._settingUp
143
84
  ? Promise.resolve()
144
85
  : new Promise((resolve) => this.once('connect', resolve)));
145
86
  }
146
- /*
147
- * Publish a message to the channel.
148
- *
149
- * This works just like amqplib's `publish()`, except if the channel is not
150
- * connected, this will wait until the channel is connected. Returns a
151
- * Promise which will only resolve when the message has been succesfully sent.
152
- * The returned promise will be rejected if `close()` is called on this
153
- * channel before it can be sent, if `options.json` is set and the message
154
- * can't be encoded, or if the broker rejects the message for some reason.
155
- *
156
- */
157
87
  publish(exchange, routingKey, content, options, done) {
158
- return promise_breaker_1.default.addCallback(done, new Promise((resolve, reject) => {
88
+ return pb.addCallback(done, new Promise((resolve, reject) => {
159
89
  const { timeout, ...opts } = options || {};
160
90
  this._enqueueMessage({
161
91
  type: 'publish',
@@ -170,18 +100,9 @@ class ChannelWrapper extends events_1.EventEmitter {
170
100
  this._startWorker();
171
101
  }));
172
102
  }
173
- /*
174
- * Send a message to a queue.
175
- *
176
- * This works just like amqplib's `sendToQueue`, except if the channel is not connected, this will wait until the
177
- * channel is connected. Returns a Promise which will only resolve when the message has been succesfully sent.
178
- * The returned promise will be rejected only if `close()` is called on this channel before it can be sent.
179
- *
180
- * `message` here should be a JSON-able object.
181
- */
182
103
  sendToQueue(queue, content, options, done) {
183
104
  const encodedContent = this._getEncodedMessage(content);
184
- return promise_breaker_1.default.addCallback(done, new Promise((resolve, reject) => {
105
+ return pb.addCallback(done, new Promise((resolve, reject) => {
185
106
  const { timeout, ...opts } = options || {};
186
107
  this._enqueueMessage({
187
108
  type: 'sendToQueue',
@@ -297,7 +218,7 @@ class ChannelWrapper extends events_1.EventEmitter {
297
218
  channel.on('drain', () => this._onChannelDrain());
298
219
  this._settingUp = Promise.all(this._setups.map((setupFn) =>
299
220
  // TODO: Use a timeout here to guard against setupFns that never resolve?
300
- promise_breaker_1.default.call(setupFn, this, channel).catch((err) => {
221
+ this._callSetup(setupFn, channel).catch((err) => {
301
222
  if (err.name === 'IllegalOperationError') {
302
223
  // Don't emit an error if setups failed because the channel closed.
303
224
  return;
@@ -325,6 +246,23 @@ class ChannelWrapper extends events_1.EventEmitter {
325
246
  this._channel = undefined;
326
247
  }
327
248
  }
249
+ async _callSetup(setup, channel) {
250
+ if (setup.length === 2) {
251
+ await new Promise((resolve, reject) => {
252
+ setup.call(this, channel, (err) => {
253
+ if (err) {
254
+ reject(err);
255
+ }
256
+ else {
257
+ resolve(undefined);
258
+ }
259
+ });
260
+ });
261
+ }
262
+ else {
263
+ await setup.call(this, channel);
264
+ }
265
+ }
328
266
  // Called whenever the channel closes.
329
267
  _onChannelClose(channel) {
330
268
  if (this._channel === channel) {
@@ -427,7 +365,8 @@ class ChannelWrapper extends events_1.EventEmitter {
427
365
  else if (content instanceof Buffer) {
428
366
  encodedMessage = content;
429
367
  }
430
- else if (typeof content === 'object' && typeof content.toString === 'function') {
368
+ else if (typeof content === 'object' &&
369
+ typeof content.toString === 'function') {
431
370
  encodedMessage = Buffer.from(content.toString());
432
371
  }
433
372
  else {
@@ -527,7 +466,7 @@ class ChannelWrapper extends events_1.EventEmitter {
527
466
  }
528
467
  catch (err) {
529
468
  this._working = false;
530
- this.emit('error', err);
469
+ this.emit('error', err, { name: this.name });
531
470
  }
532
471
  }
533
472
  /**
@@ -572,7 +511,7 @@ class ChannelWrapper extends events_1.EventEmitter {
572
511
  // before starting to consume.
573
512
  return;
574
513
  }
575
- this.emit('error', err);
514
+ this.emit('error', err, { name: this.name });
576
515
  });
577
516
  return;
578
517
  }
@@ -617,19 +556,23 @@ class ChannelWrapper extends events_1.EventEmitter {
617
556
  }
618
557
  /** Send an `ack` to the underlying channel. */
619
558
  ack(message, allUpTo) {
620
- this._channel && this._channel.ack(message, allUpTo);
559
+ var _a;
560
+ (_a = this._channel) === null || _a === void 0 ? void 0 : _a.ack(message, allUpTo);
621
561
  }
622
562
  /** Send an `ackAll` to the underlying channel. */
623
563
  ackAll() {
624
- this._channel && this._channel.ackAll();
564
+ var _a;
565
+ (_a = this._channel) === null || _a === void 0 ? void 0 : _a.ackAll();
625
566
  }
626
567
  /** Send a `nack` to the underlying channel. */
627
568
  nack(message, allUpTo, requeue) {
628
- this._channel && this._channel.nack(message, allUpTo, requeue);
569
+ var _a;
570
+ (_a = this._channel) === null || _a === void 0 ? void 0 : _a.nack(message, allUpTo, requeue);
629
571
  }
630
572
  /** Send a `nackAll` to the underlying channel. */
631
573
  nackAll(requeue) {
632
- this._channel && this._channel.nackAll(requeue);
574
+ var _a;
575
+ (_a = this._channel) === null || _a === void 0 ? void 0 : _a.nackAll(requeue);
633
576
  }
634
577
  /** Send a `purgeQueue` to the underlying channel. */
635
578
  async purgeQueue(queue) {
@@ -659,14 +602,12 @@ class ChannelWrapper extends events_1.EventEmitter {
659
602
  }
660
603
  }
661
604
  /** Send a `bindQueue` to the underlying channel. */
662
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
663
605
  async bindQueue(queue, source, pattern, args) {
664
606
  if (this._channel) {
665
607
  await this._channel.bindQueue(queue, source, pattern, args);
666
608
  }
667
609
  }
668
610
  /** Send a `unbindQueue` to the underlying channel. */
669
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
670
611
  async unbindQueue(queue, source, pattern, args) {
671
612
  if (this._channel) {
672
613
  await this._channel.unbindQueue(queue, source, pattern, args);
@@ -691,7 +632,6 @@ class ChannelWrapper extends events_1.EventEmitter {
691
632
  }
692
633
  }
693
634
  /** Send a `bindExchange` to the underlying channel. */
694
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
695
635
  async bindExchange(destination, source, pattern, args) {
696
636
  if (this._channel) {
697
637
  return await this._channel.bindExchange(destination, source, pattern, args);
@@ -719,7 +659,6 @@ class ChannelWrapper extends events_1.EventEmitter {
719
659
  }
720
660
  }
721
661
  /** Send a `unbindExchange` to the underlying channel. */
722
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
723
662
  async unbindExchange(destination, source, pattern, args) {
724
663
  if (this._channel) {
725
664
  return await this._channel.unbindExchange(destination, source, pattern, args);
@@ -1,6 +1,5 @@
1
1
  import * as amqp from 'amqplib';
2
2
  import { EventEmitter, once } from 'events';
3
- import pb from 'promise-breaker';
4
3
  import { URL } from 'url';
5
4
  import ChannelWrapper from './ChannelWrapper.js';
6
5
  import { wait } from './helpers.js';
@@ -186,7 +185,12 @@ export default class AmqpConnectionManager extends EventEmitter {
186
185
  .then(() => {
187
186
  if (!this._urls || this._currentUrl >= this._urls.length) {
188
187
  this._currentUrl = 0;
189
- return pb.call(this._findServers, 0, null);
188
+ return new Promise((resolve, reject) => {
189
+ const p = this._findServers(resolve);
190
+ if (p) {
191
+ p.then(resolve, reject);
192
+ }
193
+ });
190
194
  }
191
195
  else {
192
196
  return this._urls;
@@ -249,7 +253,7 @@ export default class AmqpConnectionManager extends EventEmitter {
249
253
  // Reconnect if the connection closes
250
254
  connection.on('close', (err) => {
251
255
  this._currentConnection = undefined;
252
- this.emit('disconnect', { err });
256
+ this.emit('disconnect', { err: err });
253
257
  const handle = wait(this.reconnectTimeInSeconds * 1000);
254
258
  this._cancelRetriesHandler = handle.cancel;
255
259
  handle.promise
@@ -1 +1 @@
1
- {"version":3,"file":"AmqpConnectionManager.js","sourceRoot":"","sources":["../../src/AmqpConnectionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AmqpConnectionManager.js","sourceRoot":"","sources":["../../src/AmqpConnectionManager.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as crypto from 'crypto';
2
2
  import { EventEmitter } from 'events';
3
- import pb from 'promise-breaker';
3
+ import * as pb from 'promise-breaker';
4
4
  import { promisify } from 'util';
5
5
  const MAX_MESSAGES_PER_BATCH = 1000;
6
6
  const randomBytes = promisify(crypto.randomBytes);
@@ -30,92 +30,25 @@ const IRRECOVERABLE_ERRORS = [
30
30
  *
31
31
  */
32
32
  export default class ChannelWrapper extends EventEmitter {
33
- addListener(event, listener) {
34
- return super.addListener(event, listener);
35
- }
36
- on(event, listener) {
37
- return super.on(event, listener);
38
- }
39
- once(event, listener) {
40
- return super.once(event, listener);
41
- }
42
- prependListener(event, listener) {
43
- return super.prependListener(event, listener);
44
- }
45
- prependOnceListener(event, listener) {
46
- return super.prependOnceListener(event, listener);
47
- }
48
- /**
49
- * Adds a new 'setup handler'.
50
- *
51
- * `setup(channel, [cb])` is a function to call when a new underlying channel is created - handy for asserting
52
- * exchanges and queues exists, and whatnot. The `channel` object here is a ConfigChannel from amqplib.
53
- * The `setup` function should return a Promise (or optionally take a callback) - no messages will be sent until
54
- * this Promise resolves.
55
- *
56
- * If there is a connection, `setup()` will be run immediately, and the addSetup Promise/callback won't resolve
57
- * until `setup` is complete. Note that in this case, if the setup throws an error, no 'error' event will
58
- * be emitted, since you can just handle the error here (although the `setup` will still be added for future
59
- * reconnects, even if it throws an error.)
60
- *
61
- * Setup functions should, ideally, not throw errors, but if they do then the ChannelWrapper will emit an 'error'
62
- * event.
63
- *
64
- * @param setup - setup function.
65
- * @param [done] - callback.
66
- * @returns - Resolves when complete.
67
- */
68
33
  addSetup(setup, done) {
69
- return pb.addCallback(done, (this._settingUp || Promise.resolve()).then(() => {
34
+ return pb.addCallback(done, (this._settingUp || Promise.resolve()).then(async () => {
70
35
  this._setups.push(setup);
71
36
  if (this._channel) {
72
- return pb.call(setup, this, this._channel);
73
- }
74
- else {
75
- return undefined;
37
+ await this._callSetup(setup, this._channel);
76
38
  }
77
39
  }));
78
40
  }
79
- /**
80
- * Remove a setup function added with `addSetup`. If there is currently a
81
- * connection, `teardown(channel, [cb])` will be run immediately, and the
82
- * returned Promise will not resolve until it completes.
83
- *
84
- * @param {function} setup - the setup function to remove.
85
- * @param {function} [teardown] - `function(channel, [cb])` to run to tear
86
- * down the channel.
87
- * @param {function} [done] - Optional callback.
88
- * @returns {void | Promise} - Resolves when complete.
89
- */
90
41
  removeSetup(setup, teardown, done) {
91
42
  return pb.addCallback(done, () => {
92
43
  this._setups = this._setups.filter((s) => s !== setup);
93
- return (this._settingUp || Promise.resolve()).then(() => this._channel && teardown ? pb.call(teardown, this, this._channel) : undefined);
44
+ return (this._settingUp || Promise.resolve()).then(() => this._channel && teardown ? this._callSetup(teardown, this._channel) : undefined);
94
45
  });
95
46
  }
96
- /**
97
- * Returns a Promise which resolves when this channel next connects.
98
- * (Mainly here for unit testing...)
99
- *
100
- * @param [done] - Optional callback.
101
- * @returns - Resolves when connected.
102
- */
103
47
  waitForConnect(done) {
104
48
  return pb.addCallback(done, this._channel && !this._settingUp
105
49
  ? Promise.resolve()
106
50
  : new Promise((resolve) => this.once('connect', resolve)));
107
51
  }
108
- /*
109
- * Publish a message to the channel.
110
- *
111
- * This works just like amqplib's `publish()`, except if the channel is not
112
- * connected, this will wait until the channel is connected. Returns a
113
- * Promise which will only resolve when the message has been succesfully sent.
114
- * The returned promise will be rejected if `close()` is called on this
115
- * channel before it can be sent, if `options.json` is set and the message
116
- * can't be encoded, or if the broker rejects the message for some reason.
117
- *
118
- */
119
52
  publish(exchange, routingKey, content, options, done) {
120
53
  return pb.addCallback(done, new Promise((resolve, reject) => {
121
54
  const { timeout, ...opts } = options || {};
@@ -132,15 +65,6 @@ export default class ChannelWrapper extends EventEmitter {
132
65
  this._startWorker();
133
66
  }));
134
67
  }
135
- /*
136
- * Send a message to a queue.
137
- *
138
- * This works just like amqplib's `sendToQueue`, except if the channel is not connected, this will wait until the
139
- * channel is connected. Returns a Promise which will only resolve when the message has been succesfully sent.
140
- * The returned promise will be rejected only if `close()` is called on this channel before it can be sent.
141
- *
142
- * `message` here should be a JSON-able object.
143
- */
144
68
  sendToQueue(queue, content, options, done) {
145
69
  const encodedContent = this._getEncodedMessage(content);
146
70
  return pb.addCallback(done, new Promise((resolve, reject) => {
@@ -259,7 +183,7 @@ export default class ChannelWrapper extends EventEmitter {
259
183
  channel.on('drain', () => this._onChannelDrain());
260
184
  this._settingUp = Promise.all(this._setups.map((setupFn) =>
261
185
  // TODO: Use a timeout here to guard against setupFns that never resolve?
262
- pb.call(setupFn, this, channel).catch((err) => {
186
+ this._callSetup(setupFn, channel).catch((err) => {
263
187
  if (err.name === 'IllegalOperationError') {
264
188
  // Don't emit an error if setups failed because the channel closed.
265
189
  return;
@@ -287,6 +211,23 @@ export default class ChannelWrapper extends EventEmitter {
287
211
  this._channel = undefined;
288
212
  }
289
213
  }
214
+ async _callSetup(setup, channel) {
215
+ if (setup.length === 2) {
216
+ await new Promise((resolve, reject) => {
217
+ setup.call(this, channel, (err) => {
218
+ if (err) {
219
+ reject(err);
220
+ }
221
+ else {
222
+ resolve(undefined);
223
+ }
224
+ });
225
+ });
226
+ }
227
+ else {
228
+ await setup.call(this, channel);
229
+ }
230
+ }
290
231
  // Called whenever the channel closes.
291
232
  _onChannelClose(channel) {
292
233
  if (this._channel === channel) {
@@ -389,7 +330,8 @@ export default class ChannelWrapper extends EventEmitter {
389
330
  else if (content instanceof Buffer) {
390
331
  encodedMessage = content;
391
332
  }
392
- else if (typeof content === 'object' && typeof content.toString === 'function') {
333
+ else if (typeof content === 'object' &&
334
+ typeof content.toString === 'function') {
393
335
  encodedMessage = Buffer.from(content.toString());
394
336
  }
395
337
  else {
@@ -489,7 +431,7 @@ export default class ChannelWrapper extends EventEmitter {
489
431
  }
490
432
  catch (err) {
491
433
  this._working = false;
492
- this.emit('error', err);
434
+ this.emit('error', err, { name: this.name });
493
435
  }
494
436
  }
495
437
  /**
@@ -534,7 +476,7 @@ export default class ChannelWrapper extends EventEmitter {
534
476
  // before starting to consume.
535
477
  return;
536
478
  }
537
- this.emit('error', err);
479
+ this.emit('error', err, { name: this.name });
538
480
  });
539
481
  return;
540
482
  }
@@ -579,19 +521,23 @@ export default class ChannelWrapper extends EventEmitter {
579
521
  }
580
522
  /** Send an `ack` to the underlying channel. */
581
523
  ack(message, allUpTo) {
582
- this._channel && this._channel.ack(message, allUpTo);
524
+ var _a;
525
+ (_a = this._channel) === null || _a === void 0 ? void 0 : _a.ack(message, allUpTo);
583
526
  }
584
527
  /** Send an `ackAll` to the underlying channel. */
585
528
  ackAll() {
586
- this._channel && this._channel.ackAll();
529
+ var _a;
530
+ (_a = this._channel) === null || _a === void 0 ? void 0 : _a.ackAll();
587
531
  }
588
532
  /** Send a `nack` to the underlying channel. */
589
533
  nack(message, allUpTo, requeue) {
590
- this._channel && this._channel.nack(message, allUpTo, requeue);
534
+ var _a;
535
+ (_a = this._channel) === null || _a === void 0 ? void 0 : _a.nack(message, allUpTo, requeue);
591
536
  }
592
537
  /** Send a `nackAll` to the underlying channel. */
593
538
  nackAll(requeue) {
594
- this._channel && this._channel.nackAll(requeue);
539
+ var _a;
540
+ (_a = this._channel) === null || _a === void 0 ? void 0 : _a.nackAll(requeue);
595
541
  }
596
542
  /** Send a `purgeQueue` to the underlying channel. */
597
543
  async purgeQueue(queue) {
@@ -621,14 +567,12 @@ export default class ChannelWrapper extends EventEmitter {
621
567
  }
622
568
  }
623
569
  /** Send a `bindQueue` to the underlying channel. */
624
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
625
570
  async bindQueue(queue, source, pattern, args) {
626
571
  if (this._channel) {
627
572
  await this._channel.bindQueue(queue, source, pattern, args);
628
573
  }
629
574
  }
630
575
  /** Send a `unbindQueue` to the underlying channel. */
631
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
632
576
  async unbindQueue(queue, source, pattern, args) {
633
577
  if (this._channel) {
634
578
  await this._channel.unbindQueue(queue, source, pattern, args);
@@ -653,7 +597,6 @@ export default class ChannelWrapper extends EventEmitter {
653
597
  }
654
598
  }
655
599
  /** Send a `bindExchange` to the underlying channel. */
656
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
657
600
  async bindExchange(destination, source, pattern, args) {
658
601
  if (this._channel) {
659
602
  return await this._channel.bindExchange(destination, source, pattern, args);
@@ -681,7 +624,6 @@ export default class ChannelWrapper extends EventEmitter {
681
624
  }
682
625
  }
683
626
  /** Send a `unbindExchange` to the underlying channel. */
684
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
685
627
  async unbindExchange(destination, source, pattern, args) {
686
628
  if (this._channel) {
687
629
  return await this._channel.unbindExchange(destination, source, pattern, args);
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelWrapper.js","sourceRoot":"","sources":["../../src/ChannelWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChannelWrapper.js","sourceRoot":"","sources":["../../src/ChannelWrapper.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import * as amqp from 'amqplib';
2
- import { EventEmitter } from 'events';
3
2
  import { TcpSocketConnectOpts } from 'net';
4
3
  import { ConnectionOptions } from 'tls';
5
4
  import ChannelWrapper, { CreateChannelOpts } from './ChannelWrapper.js';
5
+ import TypedEventEmitter from 'typed-emitter';
6
6
  export type ConnectionUrl = string | amqp.Options.Connect | {
7
7
  url: string;
8
8
  connectionOptions?: AmqpConnectionOptions;
9
9
  };
10
10
  export interface ConnectListener {
11
11
  (arg: {
12
- connection: amqp.Connection;
12
+ connection: amqp.ChannelModel;
13
13
  url: string | amqp.Options.Connect;
14
14
  }): void;
15
15
  }
@@ -24,7 +24,7 @@ export type AmqpConnectionOptions = (ConnectionOptions | TcpSocketConnectOpts) &
24
24
  timeout?: number;
25
25
  keepAlive?: boolean;
26
26
  keepAliveDelay?: number;
27
- clientProperties?: any;
27
+ clientProperties?: unknown;
28
28
  credentials?: {
29
29
  mechanism: string;
30
30
  username: string;
@@ -54,62 +54,24 @@ export interface AmqpConnectionManagerOptions {
54
54
  /** Connection options, passed as options to the amqplib.connect() method. */
55
55
  connectionOptions?: AmqpConnectionOptions;
56
56
  }
57
- export interface IAmqpConnectionManager extends EventEmitter {
57
+ export type ConnectionManagerEvents = {
58
+ connect: ConnectListener;
59
+ connectFailed: ConnectFailedListener;
60
+ blocked: (arg: {
61
+ reason: string;
62
+ }) => void;
63
+ unblocked: () => void;
64
+ disconnect: (arg: {
65
+ err?: Error & {
66
+ code?: number;
67
+ };
68
+ }) => void;
69
+ error: (err: Error) => void;
70
+ };
71
+ export interface IAmqpConnectionManager extends TypedEventEmitter<ConnectionManagerEvents> {
58
72
  connectionOptions?: AmqpConnectionOptions;
59
73
  heartbeatIntervalInSeconds: number;
60
74
  reconnectTimeInSeconds: number;
61
- addListener(event: string, listener: (...args: any[]) => void): this;
62
- addListener(event: 'connect', listener: ConnectListener): this;
63
- addListener(event: 'connectFailed', listener: ConnectFailedListener): this;
64
- addListener(event: 'blocked', listener: (arg: {
65
- reason: string;
66
- }) => void): this;
67
- addListener(event: 'unblocked', listener: () => void): this;
68
- addListener(event: 'disconnect', listener: (arg: {
69
- err: Error;
70
- }) => void): this;
71
- listeners(eventName: string | symbol): Function[];
72
- on(event: string, listener: (...args: any[]) => void): this;
73
- on(event: 'connect', listener: ConnectListener): this;
74
- on(event: 'connectFailed', listener: ConnectFailedListener): this;
75
- on(event: 'blocked', listener: (arg: {
76
- reason: string;
77
- }) => void): this;
78
- on(event: 'unblocked', listener: () => void): this;
79
- on(event: 'disconnect', listener: (arg: {
80
- err: Error;
81
- }) => void): this;
82
- once(event: string, listener: (...args: any[]) => void): this;
83
- once(event: 'connect', listener: ConnectListener): this;
84
- once(event: 'connectFailed', listener: ConnectFailedListener): this;
85
- once(event: 'blocked', listener: (arg: {
86
- reason: string;
87
- }) => void): this;
88
- once(event: 'unblocked', listener: () => void): this;
89
- once(event: 'disconnect', listener: (arg: {
90
- err: Error;
91
- }) => void): this;
92
- prependListener(event: string, listener: (...args: any[]) => void): this;
93
- prependListener(event: 'connect', listener: ConnectListener): this;
94
- prependListener(event: 'connectFailed', listener: ConnectFailedListener): this;
95
- prependListener(event: 'blocked', listener: (arg: {
96
- reason: string;
97
- }) => void): this;
98
- prependListener(event: 'unblocked', listener: () => void): this;
99
- prependListener(event: 'disconnect', listener: (arg: {
100
- err: Error;
101
- }) => void): this;
102
- prependOnceListener(event: string, listener: (...args: any[]) => void): this;
103
- prependOnceListener(event: 'connect', listener: ConnectListener): this;
104
- prependOnceListener(event: 'connectFailed', listener: ConnectFailedListener): this;
105
- prependOnceListener(event: 'blocked', listener: (arg: {
106
- reason: string;
107
- }) => void): this;
108
- prependOnceListener(event: 'unblocked', listener: () => void): this;
109
- prependOnceListener(event: 'disconnect', listener: (arg: {
110
- err: Error;
111
- }) => void): this;
112
- removeListener(event: string, listener: (...args: any[]) => void): this;
113
75
  connect(options?: {
114
76
  timeout?: number;
115
77
  }): Promise<void>;
@@ -122,7 +84,8 @@ export interface IAmqpConnectionManager extends EventEmitter {
122
84
  /** Returns the number of registered channels. */
123
85
  readonly channelCount: number;
124
86
  }
125
- export default class AmqpConnectionManager extends EventEmitter implements IAmqpConnectionManager {
87
+ declare const AmqpConnectionManager_base: new () => TypedEventEmitter<ConnectionManagerEvents>;
88
+ export default class AmqpConnectionManager extends AmqpConnectionManager_base implements IAmqpConnectionManager {
126
89
  private _channels;
127
90
  private _currentUrl;
128
91
  private _closed;
@@ -178,3 +141,4 @@ export default class AmqpConnectionManager extends EventEmitter implements IAmqp
178
141
  get channelCount(): number;
179
142
  private _connect;
180
143
  }
144
+ export {};
@@ -1,10 +1,12 @@
1
1
  import type * as amqplib from 'amqplib';
2
2
  import { Options } from 'amqplib';
3
- import { EventEmitter } from 'events';
4
- import pb from 'promise-breaker';
3
+ import * as pb from 'promise-breaker';
5
4
  import { IAmqpConnectionManager } from './AmqpConnectionManager.js';
5
+ import TypedEventEmitter from 'typed-emitter';
6
6
  export type Channel = amqplib.ConfirmChannel | amqplib.Channel;
7
- export type SetupFunc = ((channel: Channel, callback: (error?: Error) => void) => void) | ((channel: Channel) => Promise<void>) | ((channel: amqplib.ConfirmChannel, callback: (error?: Error) => void) => void) | ((channel: amqplib.ConfirmChannel) => Promise<void>);
7
+ export type AsyncSetupFunc = ((channel: Channel) => Promise<void>) | ((channel: amqplib.ConfirmChannel) => Promise<void>);
8
+ export type CbSetupFunc = ((channel: Channel, callback: (error?: Error) => void) => void) | ((channel: amqplib.ConfirmChannel, callback: (error?: Error) => void) => void);
9
+ export type SetupFunc = AsyncSetupFunc | CbSetupFunc;
8
10
  export interface CreateChannelOpts {
9
11
  /** Name for this channel. Used for debugging. */
10
12
  name?: string;
@@ -40,6 +42,14 @@ export interface Consumer {
40
42
  onMessage: (msg: amqplib.ConsumeMessage) => void;
41
43
  options: ConsumerOptions;
42
44
  }
45
+ export type ChannelWrapperEvents = {
46
+ connect: () => void;
47
+ error: (err: unknown, info: {
48
+ name: string | undefined;
49
+ }) => void;
50
+ close: () => void;
51
+ };
52
+ declare const ChannelWrapper_base: new () => TypedEventEmitter<ChannelWrapperEvents>;
43
53
  /**
44
54
  * Calls to `publish()` or `sendToQueue()` work just like in amqplib, but messages are queued internally and
45
55
  * are guaranteed to be delivered. If the underlying connection drops, ChannelWrapper will wait for a new
@@ -52,7 +62,7 @@ export interface Consumer {
52
62
  * * `close` - emitted when this channel closes via a call to `close()`
53
63
  *
54
64
  */
55
- export default class ChannelWrapper extends EventEmitter {
65
+ export default class ChannelWrapper extends ChannelWrapper_base {
56
66
  private _connectionManager;
57
67
  private _json;
58
68
  /** If we're in the process of creating a channel, this is a Promise which
@@ -98,36 +108,6 @@ export default class ChannelWrapper extends EventEmitter {
98
108
  */
99
109
  private _publishTimeout?;
100
110
  name?: string;
101
- addListener(event: string, listener: (...args: any[]) => void): this;
102
- addListener(event: 'connect', listener: () => void): this;
103
- addListener(event: 'error', listener: (err: Error, info: {
104
- name: string;
105
- }) => void): this;
106
- addListener(event: 'close', listener: () => void): this;
107
- on(event: string, listener: (...args: any[]) => void): this;
108
- on(event: 'connect', listener: () => void): this;
109
- on(event: 'error', listener: (err: Error, info: {
110
- name: string;
111
- }) => void): this;
112
- on(event: 'close', listener: () => void): this;
113
- once(event: string, listener: (...args: any[]) => void): this;
114
- once(event: 'connect', listener: () => void): this;
115
- once(event: 'error', listener: (err: Error, info: {
116
- name: string;
117
- }) => void): this;
118
- once(event: 'close', listener: () => void): this;
119
- prependListener(event: string, listener: (...args: any[]) => void): this;
120
- prependListener(event: 'connect', listener: () => void): this;
121
- prependListener(event: 'error', listener: (err: Error, info: {
122
- name: string;
123
- }) => void): this;
124
- prependListener(event: 'close', listener: () => void): this;
125
- prependOnceListener(event: string, listener: (...args: any[]) => void): this;
126
- prependOnceListener(event: 'connect', listener: () => void): this;
127
- prependOnceListener(event: 'error', listener: (err: Error, info: {
128
- name: string;
129
- }) => void): this;
130
- prependOnceListener(event: 'close', listener: () => void): this;
131
111
  /**
132
112
  * Adds a new 'setup handler'.
133
113
  *
@@ -148,7 +128,8 @@ export default class ChannelWrapper extends EventEmitter {
148
128
  * @param [done] - callback.
149
129
  * @returns - Resolves when complete.
150
130
  */
151
- addSetup(setup: SetupFunc, done?: pb.Callback<void>): Promise<void>;
131
+ addSetup(setup: SetupFunc): Promise<void>;
132
+ addSetup(setup: SetupFunc, done: pb.Callback<void>): void;
152
133
  /**
153
134
  * Remove a setup function added with `addSetup`. If there is currently a
154
135
  * connection, `teardown(channel, [cb])` will be run immediately, and the
@@ -160,7 +141,8 @@ export default class ChannelWrapper extends EventEmitter {
160
141
  * @param {function} [done] - Optional callback.
161
142
  * @returns {void | Promise} - Resolves when complete.
162
143
  */
163
- removeSetup(setup: SetupFunc, teardown?: SetupFunc, done?: pb.Callback<void>): Promise<void>;
144
+ removeSetup(setup: SetupFunc, teardown?: SetupFunc): Promise<void>;
145
+ removeSetup(setup: SetupFunc, teardown: SetupFunc | undefined, done: pb.Callback<void>): void;
164
146
  /**
165
147
  * Returns a Promise which resolves when this channel next connects.
166
148
  * (Mainly here for unit testing...)
@@ -168,9 +150,12 @@ export default class ChannelWrapper extends EventEmitter {
168
150
  * @param [done] - Optional callback.
169
151
  * @returns - Resolves when connected.
170
152
  */
171
- waitForConnect(done?: pb.Callback<void>): Promise<void>;
172
- publish(exchange: string, routingKey: string, content: Buffer | string | unknown, options?: PublishOptions, done?: pb.Callback<boolean>): Promise<boolean>;
173
- sendToQueue(queue: string, content: Buffer | string | unknown, options?: PublishOptions, done?: pb.Callback<boolean>): Promise<boolean>;
153
+ waitForConnect(): Promise<void>;
154
+ waitForConnect(done: pb.Callback<void>): void;
155
+ publish(exchange: string, routingKey: string, content: Buffer | string | unknown, options?: PublishOptions): Promise<boolean>;
156
+ publish(exchange: string, routingKey: string, content: Buffer | string | unknown, options: PublishOptions | undefined, done: pb.Callback<boolean>): void;
157
+ sendToQueue(queue: string, content: Buffer | string | unknown, options?: PublishOptions): Promise<boolean>;
158
+ sendToQueue(queue: string, content: Buffer | string | unknown, options: PublishOptions | undefined, done: pb.Callback<boolean>): void;
174
159
  private _enqueueMessage;
175
160
  /**
176
161
  * Create a new ChannelWrapper.
@@ -188,6 +173,7 @@ export default class ChannelWrapper extends EventEmitter {
188
173
  */
189
174
  constructor(connectionManager: IAmqpConnectionManager, options?: CreateChannelOpts);
190
175
  private _onConnect;
176
+ private _callSetup;
191
177
  private _onChannelClose;
192
178
  /** Called whenever the channel drains. */
193
179
  private _onChannelDrain;
@@ -228,21 +214,22 @@ export default class ChannelWrapper extends EventEmitter {
228
214
  /** Send a `assertQueue` to the underlying channel. */
229
215
  assertQueue(queue: string, options?: amqplib.Options.AssertQueue): Promise<amqplib.Replies.AssertQueue>;
230
216
  /** Send a `bindQueue` to the underlying channel. */
231
- bindQueue(queue: string, source: string, pattern: string, args?: any): Promise<void>;
217
+ bindQueue(queue: string, source: string, pattern: string, args?: unknown): Promise<void>;
232
218
  /** Send a `unbindQueue` to the underlying channel. */
233
- unbindQueue(queue: string, source: string, pattern: string, args?: any): Promise<void>;
219
+ unbindQueue(queue: string, source: string, pattern: string, args?: unknown): Promise<void>;
234
220
  /** Send a `deleteQueue` to the underlying channel. */
235
221
  deleteQueue(queue: string, options?: Options.DeleteQueue): Promise<amqplib.Replies.DeleteQueue>;
236
222
  /** Send a `assertExchange` to the underlying channel. */
237
223
  assertExchange(exchange: string, type: 'direct' | 'topic' | 'headers' | 'fanout' | 'match' | string, options?: Options.AssertExchange): Promise<amqplib.Replies.AssertExchange>;
238
224
  /** Send a `bindExchange` to the underlying channel. */
239
- bindExchange(destination: string, source: string, pattern: string, args?: any): Promise<amqplib.Replies.Empty>;
225
+ bindExchange(destination: string, source: string, pattern: string, args?: unknown): Promise<amqplib.Replies.Empty>;
240
226
  /** Send a `checkExchange` to the underlying channel. */
241
227
  checkExchange(exchange: string): Promise<amqplib.Replies.Empty>;
242
228
  /** Send a `deleteExchange` to the underlying channel. */
243
229
  deleteExchange(exchange: string, options?: Options.DeleteExchange): Promise<amqplib.Replies.Empty>;
244
230
  /** Send a `unbindExchange` to the underlying channel. */
245
- unbindExchange(destination: string, source: string, pattern: string, args?: any): Promise<amqplib.Replies.Empty>;
231
+ unbindExchange(destination: string, source: string, pattern: string, args?: unknown): Promise<amqplib.Replies.Empty>;
246
232
  /** Send a `get` to the underlying channel. */
247
233
  get(queue: string, options?: Options.Get): Promise<amqplib.GetMessage | false>;
248
234
  }
235
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amqp-connection-manager",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "description": "Auto-reconnect and round robin support for amqplib.",
5
5
  "module": "./dist/esm/index.js",
6
6
  "main": "./dist/cjs/index.js",
@@ -17,60 +17,42 @@
17
17
  "dist/**/*"
18
18
  ],
19
19
  "dependencies": {
20
- "promise-breaker": "^6.0.0"
20
+ "@types/chai-as-promised": "^8.0.2",
21
+ "promise-breaker": "^7.0.0",
22
+ "typed-emitter": "^2.1.0"
21
23
  },
22
24
  "peerDependencies": {
23
25
  "amqplib": "*"
24
26
  },
25
27
  "devDependencies": {
26
- "@jwalton/semantic-release-config": "^1.0.0",
27
- "@semantic-release/changelog": "^6.0.1",
28
- "@semantic-release/git": "^10.0.1",
29
- "@types/amqplib": "^0.10.0",
30
- "@types/chai": "^4.2.21",
31
- "@types/chai-as-promised": "^7.1.4",
32
- "@types/chai-string": "^1.4.2",
33
- "@types/jest": "^29.2.0",
34
- "@types/node": "^22.18.6",
35
- "@types/whatwg-url": "^11.0.0",
36
- "@typescript-eslint/eslint-plugin": "^5.9.0",
37
- "@typescript-eslint/parser": "^5.9.0",
38
- "amqplib": "^0.10.3",
39
- "chai": "^4.1.2",
40
- "chai-as-promised": "^7.1.1",
41
- "chai-jest": "^1.0.2",
42
- "chai-string": "^1.1.2",
43
- "cross-env": "^7.0.2",
44
- "eslint": "^8.6.0",
45
- "eslint-config-prettier": "^8.3.0",
46
- "eslint-plugin-promise": "^6.0.0",
47
- "greenkeeper-lockfile": "^1.14.0",
48
- "husky": "^8.0.1",
28
+ "@eslint/js": "^10.0.1",
29
+ "@types/node": "^26.6.5",
30
+ "@vitest/coverage-v8": "^5.0.5",
31
+ "amqplib": "^2.2.0",
32
+ "chai": "^6.3.0",
33
+ "chai-as-promised": "^8.0.2",
34
+ "eslint": "^10.13.0",
35
+ "husky": "^9.1.7",
49
36
  "istanbul": "^0.4.0",
50
- "jest": "^29.2.1",
51
- "jest-ts-webcompat-resolver": "^1.0.0",
52
- "lint-staged": "^13.0.3",
53
- "prettier": "^2.3.2",
54
- "pretty-quick": "^3.1.1",
37
+ "lint-staged": "^17.6.0",
38
+ "prettier": "^3.9.10",
55
39
  "promise-tools": "^2.1.0",
56
- "semantic-release": "^21.0.2",
57
- "ts-jest": "^29.0.3",
58
40
  "ts-node": "^10.2.1",
59
- "typescript": "^5.0.3"
41
+ "typescript": "^6.0.3",
42
+ "typescript-eslint": "^8.71.2",
43
+ "vitest": "^5.0.5"
60
44
  },
61
45
  "engines": {
62
- "node": ">=10.0.0",
63
- "npm": ">5.0.0"
46
+ "node": ">=22.0.0"
64
47
  },
65
48
  "scripts": {
66
- "prepare": "husky install && npm run build",
49
+ "prepare": "husky && npm run build",
67
50
  "prepublishOnly": "npm run build",
68
- "build": "tsc && tsc -p tsconfig.cjs.json && tsc -p tsconfig.types.json && ./bin/build-types.sh",
51
+ "build": "tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json && tsc -p tsconfig.types.json && ./bin/build-types.sh",
69
52
  "clean": "rm -rf dist types coverage",
70
53
  "test": "npm run test:lint && npm run test:unittest",
71
- "test:unittest": "tsc -p test && jest --coverage",
72
- "test:lint": "eslint --ext .ts src test",
73
- "semantic-release": "semantic-release"
54
+ "test:unittest": "tsc -p test && vitest run --coverage",
55
+ "test:lint": "eslint --ext .ts src test"
74
56
  },
75
57
  "repository": {
76
58
  "type": "git",
@@ -78,7 +60,8 @@
78
60
  },
79
61
  "lint-staged": {
80
62
  "**/*.ts": [
81
- "eslint --ext .ts"
63
+ "eslint --ext .ts",
64
+ "prettier --write"
82
65
  ]
83
66
  },
84
67
  "keywords": [