@palmetto/pubsub 2.1.2 → 2.1.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.
@@ -21,7 +21,7 @@ export interface RabbitMqConnectionConfig {
21
21
  }
22
22
  export type QueueType = "default" | "dead-letter" | "retry";
23
23
  export type ExchangeType = "direct" | "topic" | "fanout";
24
- export interface RabbitQueueExchangeConfiguration extends PubSubConfiguration {
24
+ export interface RabbitQueueExchangeConfigurationBase extends PubSubConfiguration {
25
25
  /**
26
26
  * Transport is always RABBITMQ_TRANSPORT
27
27
  */
@@ -30,14 +30,6 @@ export interface RabbitQueueExchangeConfiguration extends PubSubConfiguration {
30
30
  * The queue name prefix
31
31
  */
32
32
  name: string;
33
- /**
34
- * For topic exchanges, the name of the subscriber is used here
35
- */
36
- topicSubscriberName?: string;
37
- /**
38
- * Support direct exchange where each message is delivered once, or topic/fanout exchange where each message is delivered to multiple queues
39
- */
40
- exchangeType: ExchangeType;
41
33
  /**
42
34
  * When true, the queue and exchange will be deleted after the consumers exit [note: dead-letter exchanges & queues may remain when there are no dead-letter messages or consumers]
43
35
  */
@@ -61,6 +53,23 @@ export interface RabbitQueueExchangeConfiguration extends PubSubConfiguration {
61
53
  */
62
54
  publishToSpecificQueue?: string;
63
55
  }
56
+ export interface RabbitQueueExchangeConfigurationTopicExchange extends RabbitQueueExchangeConfigurationBase {
57
+ /**
58
+ * For topic exchanges, the name of the subscriber is used here
59
+ */
60
+ topicSubscriberName: string;
61
+ /**
62
+ * Support topic/fanout exchange where each message is delivered to multiple queues
63
+ */
64
+ exchangeType: "topic" | "fanout";
65
+ }
66
+ export interface RabbitQueueExchangeConfigurationDirectExchange extends RabbitQueueExchangeConfigurationBase {
67
+ /**
68
+ * Support direct exchange where each message is delivered once
69
+ */
70
+ exchangeType: "direct";
71
+ }
72
+ export type RabbitQueueExchangeConfiguration = RabbitQueueExchangeConfigurationDirectExchange | RabbitQueueExchangeConfigurationTopicExchange;
64
73
  export declare function isRabbitQueueExchangeConfiguration(config: PubSubConfiguration): config is RabbitQueueExchangeConfiguration;
65
74
  export interface RabbitQueueExchangeNames {
66
75
  queueName?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@palmetto/pubsub",
3
- "version": "2.1.2",
3
+ "version": "2.1.3",
4
4
  "main": "./dist/main.js",
5
5
  "scripts": {
6
6
  "lint": "yarn run -T eslint --fix ./src",