@zdavison/matador 4.0.1 → 4.0.3

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 (38) hide show
  1. package/dist/core/fanout.d.ts +62 -0
  2. package/dist/core/fanout.d.ts.map +1 -1
  3. package/dist/core/fanout.js +217 -15
  4. package/dist/core/fanout.test.js +904 -6
  5. package/dist/core/matador.d.ts +33 -0
  6. package/dist/core/matador.d.ts.map +1 -1
  7. package/dist/core/matador.js +6 -1
  8. package/dist/core/matador.test.js +243 -7
  9. package/dist/errors/index.d.ts +1 -1
  10. package/dist/errors/index.d.ts.map +1 -1
  11. package/dist/errors/index.js +2 -2
  12. package/dist/errors/matador-errors.d.ts +10 -8
  13. package/dist/errors/matador-errors.d.ts.map +1 -1
  14. package/dist/errors/matador-errors.js +18 -14
  15. package/dist/index.cjs +345 -73
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.cts +1 -1
  18. package/dist/index.d.ts +1 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +2 -2
  21. package/dist/index.js.map +1 -1
  22. package/dist/transport/local/local-transport.d.ts +6 -0
  23. package/dist/transport/local/local-transport.d.ts.map +1 -1
  24. package/dist/transport/local/local-transport.js +35 -18
  25. package/dist/transport/local/local-transport.test.js +40 -4
  26. package/dist/transport/multi/multi-transport.d.ts +6 -0
  27. package/dist/transport/multi/multi-transport.d.ts.map +1 -1
  28. package/dist/transport/multi/multi-transport.js +20 -0
  29. package/dist/transport/multi/multi-transport.test.js +82 -0
  30. package/dist/transport/rabbitmq/rabbitmq-transport-reconnection.test.js +45 -6
  31. package/dist/transport/rabbitmq/rabbitmq-transport.d.ts +6 -0
  32. package/dist/transport/rabbitmq/rabbitmq-transport.d.ts.map +1 -1
  33. package/dist/transport/rabbitmq/rabbitmq-transport.js +83 -40
  34. package/dist/transport/transport.d.ts +12 -0
  35. package/dist/transport/transport.d.ts.map +1 -1
  36. package/dist/types/event.d.ts +17 -0
  37. package/dist/types/event.d.ts.map +1 -1
  38. package/package.json +1 -1
@@ -64,6 +64,18 @@ export class RabbitMQTransport {
64
64
  isConnected() {
65
65
  return this.connectionManager.isConnected();
66
66
  }
67
+ /**
68
+ * Registers a callback to fire each time the transport (here RabbitMQ) successfully (re)connects
69
+ * @param callback - The callback to fire when the transport (here RabbitMQ) successfully (re)connects
70
+ * @returns A function to unsubscribe from the callback
71
+ */
72
+ onConnected(callback) {
73
+ return this.connectionManager.onStateChange((state) => {
74
+ if (state.status === 'connected') {
75
+ callback();
76
+ }
77
+ });
78
+ }
67
79
  async applyTopology(topology) {
68
80
  this.topology = topology;
69
81
  if (!this.publishChannel) {
@@ -149,39 +161,43 @@ export class RabbitMQTransport {
149
161
  };
150
162
  this.subscriptionIntents.push(intent);
151
163
  await this.activateIntent(intent);
152
- return {
153
- unsubscribe: async () => {
154
- intent.active = false;
155
- const idx = this.subscriptionIntents.indexOf(intent);
156
- if (idx !== -1)
157
- this.subscriptionIntents.splice(idx, 1);
158
- const consumer = intent.currentConsumer;
159
- if (consumer) {
160
- consumer.active = false;
161
- const queueChannel = this.queueChannels.get(queue);
162
- if (queueChannel) {
164
+ const unsubscribe = async () => {
165
+ intent.active = false;
166
+ const idx = this.subscriptionIntents.indexOf(intent);
167
+ if (idx !== -1)
168
+ this.subscriptionIntents.splice(idx, 1);
169
+ const consumer = intent.currentConsumer;
170
+ if (consumer) {
171
+ consumer.active = false;
172
+ const queueChannel = this.queueChannels.get(queue);
173
+ if (queueChannel) {
174
+ try {
175
+ await queueChannel.channel.cancel(consumer.consumerTag);
176
+ }
177
+ catch {
178
+ // Channel may already be closed
179
+ }
180
+ const cIdx = queueChannel.consumers.indexOf(consumer);
181
+ if (cIdx !== -1)
182
+ queueChannel.consumers.splice(cIdx, 1);
183
+ if (queueChannel.consumers.length === 0) {
163
184
  try {
164
- await queueChannel.channel.cancel(consumer.consumerTag);
185
+ await queueChannel.channel.close();
165
186
  }
166
187
  catch {
167
- // Channel may already be closed
168
- }
169
- const cIdx = queueChannel.consumers.indexOf(consumer);
170
- if (cIdx !== -1)
171
- queueChannel.consumers.splice(cIdx, 1);
172
- if (queueChannel.consumers.length === 0) {
173
- try {
174
- await queueChannel.channel.close();
175
- }
176
- catch {
177
- // Ignore
178
- }
179
- this.queueChannels.delete(queue);
188
+ // Ignore
180
189
  }
190
+ this.queueChannels.delete(queue);
181
191
  }
182
- intent.currentConsumer = null;
183
192
  }
184
- },
193
+ intent.currentConsumer = null;
194
+ }
195
+ };
196
+ return {
197
+ unsubscribe,
198
+ // Messages on this transport comes from outside (RabbitMQ), so, when shutting down, we need to unsubscribe directly
199
+ // Otherwise, we could receive traffic forever, and an idle state would never be reached.
200
+ pauseForShutdown: unsubscribe,
185
201
  get isActive() {
186
202
  return intent.active;
187
203
  },
@@ -327,7 +343,19 @@ export class RabbitMQTransport {
327
343
  return queueChannel;
328
344
  }
329
345
  async doConnect() {
346
+ // Close any existing connection before opening a new one
347
+ if (this.connection) {
348
+ try {
349
+ await this.connection.close();
350
+ }
351
+ catch {
352
+ // Can happen if the connection is already closed
353
+ }
354
+ this.connection = null;
355
+ this.publishChannel = null; // channels belong to the old connection
356
+ }
330
357
  // Drop stale channel objects so getOrCreateQueueChannel opens fresh ones
358
+ // on the new connection during intent replay below.
331
359
  this.queueChannels.clear();
332
360
  this.logger.info(`[Matador] ⏳ Connecting to RabbitMQ at '${redactAmqpUrl(this.config.url)}'.`);
333
361
  const connection = await amqplib.connect(this.config.url, {
@@ -347,25 +375,40 @@ export class RabbitMQTransport {
347
375
  consumer.active = false;
348
376
  }
349
377
  }
378
+ this.connection = null;
379
+ this.publishChannel = null;
350
380
  if (this.connectionManager.isConnected()) {
351
381
  // Unexpected close, trigger reconnection
352
382
  this.connectionManager.handleConnectionLost(new Error('Connection closed unexpectedly'));
353
383
  }
354
384
  });
355
- // Create the publish channel.
356
- // A confirm channel so publishes can await broker acknowledgement.
357
- this.publishChannel = await connection.createConfirmChannel();
358
- // Handle publish channel errors to prevent unhandled error events
359
- this.publishChannel.on('error', (err) => {
360
- this.logger.error('[Matador] 🔴 RabbitMQ publish channel error', err);
361
- });
362
- // Re-apply topology if we have one (reconnection scenario)
363
- if (this.topology) {
364
- await this.applyTopology(this.topology);
365
- // Recreate consumers for every active subscription on the new connection.
366
- for (const intent of this.subscriptionIntents) {
367
- await this.activateIntent(intent);
385
+ try {
386
+ // A confirm channel so publishes can await broker acknowledgement
387
+ this.publishChannel = await connection.createConfirmChannel();
388
+ // Handle publish channel errors to prevent unhandled error events
389
+ this.publishChannel.on('error', (err) => {
390
+ this.logger.error('[Matador] 🔴 RabbitMQ publish channel error', err);
391
+ });
392
+ // Re-apply topology if we have one (reconnection scenario)
393
+ if (this.topology) {
394
+ await this.applyTopology(this.topology);
395
+ // Recreate consumers for every active subscription on the new connection.
396
+ for (const intent of this.subscriptionIntents) {
397
+ await this.activateIntent(intent);
398
+ }
399
+ }
400
+ }
401
+ catch (err) {
402
+ // Setup failed after the connection was opened - close it so that it doesn't leak
403
+ try {
404
+ await connection.close();
368
405
  }
406
+ catch {
407
+ // Ignore errors during cleanup
408
+ }
409
+ this.connection = null;
410
+ this.publishChannel = null;
411
+ throw err;
369
412
  }
370
413
  this.logger.info('[Matador] 🔌 Connected to RabbitMQ');
371
414
  }
@@ -96,6 +96,12 @@ export type MessageHandler = (envelope: Envelope, receipt: MessageReceipt) => Pr
96
96
  export interface Subscription {
97
97
  /** Cancels the subscription */
98
98
  unsubscribe(): Promise<void>;
99
+ /**
100
+ * Stops delivering messages ahead of a graceful shutdown, without
101
+ * necessarily tearing down the subscription the way unsubscribe() does.
102
+ * Optional: only meaningful for externally-fed transports where traffic
103
+ */
104
+ pauseForShutdown?(): Promise<void>;
99
105
  /** Whether the subscription is currently active */
100
106
  readonly isActive: boolean;
101
107
  }
@@ -137,6 +143,12 @@ export interface Transport {
137
143
  * The handler receives decoded envelopes and receipts.
138
144
  */
139
145
  subscribe(queue: string, handler: MessageHandler, options?: SubscribeOptions): Promise<Subscription>;
146
+ /**
147
+ * Registers a callback to fire each time the transport successfully (re)connects.
148
+ * Returns a function that removes the listener when called.
149
+ * Optional: only meaningful for transports that can lose and regain a connection.
150
+ */
151
+ onConnected?(callback: () => void): () => void;
140
152
  /**
141
153
  * Acknowledges/completes a message.
142
154
  * Called after processing is done (success, retry scheduled, or dead-lettered).
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/transport/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/transport/transport.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,23 @@ export interface EventOptions {
52
52
  * and both taking precedence over universal metadata.
53
53
  */
54
54
  readonly metadata?: JsonRecord | undefined;
55
+ /**
56
+ * Whether to buffer this send for retry on reconnect if all transports fail.
57
+ * When true (default), failed sends are held in memory and retried automatically
58
+ * when the transport reconnects.
59
+ * When false, failures are reported immediately in result.errors with no retry.
60
+ *
61
+ * @default true
62
+ */
63
+ readonly buffer?: boolean | undefined;
64
+ /**
65
+ * Whether to throw an error when a buffered failure is reported.
66
+ * Only meaningful when buffer is true. When true, the send is buffered
67
+ * for retry AND reported as an error so the caller is aware it failed.
68
+ *
69
+ * @default false
70
+ */
71
+ readonly throwOnBufferedFailure?: boolean | undefined;
55
72
  }
56
73
  /**
57
74
  * Abstract base class for creating Matador events.
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/types/event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,uCAAuC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAErC,yDAAyD;IACzD,KAAK,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC,GAAG,OAAO;IAChC,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjB,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtC,yCAAyC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5C;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC5C;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,8BAAsB,YAAY,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,KAAK,CAAC,CAAC,CAAC;IACjE,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE5C,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAE1B,8BAA8B;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtE,CAAC,GACD,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,GAClD,CAAC,KACC,IAAI,EAAE,CAAC,KACJ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/types/event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,uCAAuC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAErC,yDAAyD;IACzD,KAAK,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC,GAAG,OAAO;IAChC,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjB,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtC,yCAAyC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5C;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAE3C;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEtC;;;;;;OAMG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACvD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,8BAAsB,YAAY,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,KAAK,CAAC,CAAC,CAAC;IACjE,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE5C,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAE1B,8BAA8B;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtE,CAAC,GACD,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,GAClD,CAAC,KACC,IAAI,EAAE,CAAC,KACJ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zdavison/matador",
3
- "version": "4.0.1",
3
+ "version": "4.0.3",
4
4
  "description": "A batteries-included event system.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",