@geekmidas/events 10.0.0-alpha.2 → 10.0.0-alpha.21

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 (136) hide show
  1. package/dist/PgBossConnection-CywKoAZU.cjs +2 -0
  2. package/dist/PgBossConnection-DjoqT84r.mjs +2 -0
  3. package/dist/RabbitMQConnection-C9eccBL8.cjs +2 -0
  4. package/dist/RabbitMQConnection-CAp7VqyT.mjs +2 -0
  5. package/dist/SNSConnection-BWDC1wAF.cjs +2 -0
  6. package/dist/SNSConnection-ezQvVrDv.mjs +2 -0
  7. package/dist/{SQSSubscriber-BMWZ3s5q.mjs → SQSSubscriber-BXLE_1L3.mjs} +73 -7
  8. package/dist/SQSSubscriber-BXLE_1L3.mjs.map +1 -0
  9. package/dist/{SQSSubscriber-YXPlg2rm.cjs → SQSSubscriber-DtRUaZB3.cjs} +91 -14
  10. package/dist/SQSSubscriber-DtRUaZB3.cjs.map +1 -0
  11. package/dist/basic/index.cjs +7 -8
  12. package/dist/basic/index.cjs.map +1 -1
  13. package/dist/basic/index.d.cts +4 -10
  14. package/dist/basic/index.d.cts.map +1 -1
  15. package/dist/basic/index.d.mts +4 -10
  16. package/dist/basic/index.d.mts.map +1 -1
  17. package/dist/basic/index.mjs +5 -6
  18. package/dist/basic/index.mjs.map +1 -1
  19. package/dist/index.cjs +39 -46
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.d.cts +5 -9
  22. package/dist/index.d.cts.map +1 -1
  23. package/dist/index.d.mts +5 -9
  24. package/dist/index.d.mts.map +1 -1
  25. package/dist/index.mjs +38 -47
  26. package/dist/index.mjs.map +1 -1
  27. package/dist/pgboss/index.cjs +98 -21
  28. package/dist/pgboss/index.cjs.map +1 -1
  29. package/dist/pgboss/index.d.cts +11 -10
  30. package/dist/pgboss/index.d.cts.map +1 -1
  31. package/dist/pgboss/index.d.mts +11 -10
  32. package/dist/pgboss/index.d.mts.map +1 -1
  33. package/dist/pgboss/index.mjs +95 -21
  34. package/dist/pgboss/index.mjs.map +1 -1
  35. package/dist/rabbitmq/index.cjs +135 -22
  36. package/dist/rabbitmq/index.cjs.map +1 -1
  37. package/dist/rabbitmq/index.d.cts +11 -10
  38. package/dist/rabbitmq/index.d.cts.map +1 -1
  39. package/dist/rabbitmq/index.d.mts +11 -10
  40. package/dist/rabbitmq/index.d.mts.map +1 -1
  41. package/dist/rabbitmq/index.mjs +130 -22
  42. package/dist/rabbitmq/index.mjs.map +1 -1
  43. package/dist/{chunk-CsX-DzYB.cjs → rolldown-runtime-C0BPl7ul.cjs} +17 -16
  44. package/dist/rolldown-runtime-D7D4PA-g.mjs +13 -0
  45. package/dist/sns/index.cjs +106 -34
  46. package/dist/sns/index.cjs.map +1 -1
  47. package/dist/sns/index.d.cts +14 -11
  48. package/dist/sns/index.d.cts.map +1 -1
  49. package/dist/sns/index.d.mts +14 -11
  50. package/dist/sns/index.d.mts.map +1 -1
  51. package/dist/sns/index.mjs +88 -18
  52. package/dist/sns/index.mjs.map +1 -1
  53. package/dist/sns/snsUrl.cjs +91 -6
  54. package/dist/sns/snsUrl.cjs.map +1 -0
  55. package/dist/sns/snsUrl.d.cts +57 -2
  56. package/dist/sns/snsUrl.d.cts.map +1 -0
  57. package/dist/sns/snsUrl.d.mts +57 -2
  58. package/dist/sns/snsUrl.d.mts.map +1 -0
  59. package/dist/sns/snsUrl.mjs +81 -2
  60. package/dist/sns/snsUrl.mjs.map +1 -0
  61. package/dist/sqs/index.cjs +34 -24
  62. package/dist/sqs/index.cjs.map +1 -1
  63. package/dist/sqs/index.d.cts +19 -11
  64. package/dist/sqs/index.d.cts.map +1 -1
  65. package/dist/sqs/index.d.mts +19 -11
  66. package/dist/sqs/index.d.mts.map +1 -1
  67. package/dist/sqs/index.mjs +22 -15
  68. package/dist/sqs/index.mjs.map +1 -1
  69. package/dist/sqs/sqsUrl.cjs +92 -6
  70. package/dist/sqs/sqsUrl.cjs.map +1 -0
  71. package/dist/sqs/sqsUrl.d.cts +56 -2
  72. package/dist/sqs/sqsUrl.d.cts.map +1 -0
  73. package/dist/sqs/sqsUrl.d.mts +56 -2
  74. package/dist/sqs/sqsUrl.d.mts.map +1 -0
  75. package/dist/sqs/sqsUrl.mjs +82 -2
  76. package/dist/sqs/sqsUrl.mjs.map +1 -0
  77. package/dist/types-BcZjLxVV.cjs +51 -0
  78. package/dist/types-BcZjLxVV.cjs.map +1 -0
  79. package/dist/types-Bk5JM6MP.mjs +40 -0
  80. package/dist/types-Bk5JM6MP.mjs.map +1 -0
  81. package/dist/types-gGaoT8qc.d.cts +149 -0
  82. package/dist/types-gGaoT8qc.d.cts.map +1 -0
  83. package/dist/types-gGaoT8qc.d.mts +149 -0
  84. package/dist/types-gGaoT8qc.d.mts.map +1 -0
  85. package/package.json +12 -12
  86. package/dist/PgBossConnection-23soZ_aM.cjs +0 -80
  87. package/dist/PgBossConnection-23soZ_aM.cjs.map +0 -1
  88. package/dist/PgBossConnection-CCXhoNzb.cjs +0 -4
  89. package/dist/PgBossConnection-DvNbd4Zk.mjs +0 -74
  90. package/dist/PgBossConnection-DvNbd4Zk.mjs.map +0 -1
  91. package/dist/PgBossConnection-_gdM40JB.mjs +0 -4
  92. package/dist/RabbitMQConnection-BKEdCUro.cjs +0 -113
  93. package/dist/RabbitMQConnection-BKEdCUro.cjs.map +0 -1
  94. package/dist/RabbitMQConnection-CCOqDDnb.cjs +0 -4
  95. package/dist/RabbitMQConnection-DJEyM-Bu.mjs +0 -4
  96. package/dist/RabbitMQConnection-DJgUPc19.mjs +0 -107
  97. package/dist/RabbitMQConnection-DJgUPc19.mjs.map +0 -1
  98. package/dist/SNSConnection-B2K86hpz.cjs +0 -75
  99. package/dist/SNSConnection-B2K86hpz.cjs.map +0 -1
  100. package/dist/SNSConnection-BVo84FeW.mjs +0 -5
  101. package/dist/SNSConnection-DIHRjrQF.cjs +0 -5
  102. package/dist/SNSConnection-v9jjF99w.mjs +0 -69
  103. package/dist/SNSConnection-v9jjF99w.mjs.map +0 -1
  104. package/dist/SQSConnection-4tBMkVZE.mjs +0 -69
  105. package/dist/SQSConnection-4tBMkVZE.mjs.map +0 -1
  106. package/dist/SQSConnection-BBLAvF-1.cjs +0 -5
  107. package/dist/SQSConnection-BaC7rGhI.cjs +0 -75
  108. package/dist/SQSConnection-BaC7rGhI.cjs.map +0 -1
  109. package/dist/SQSConnection-DbavOq8_.mjs +0 -5
  110. package/dist/SQSSubscriber-BMWZ3s5q.mjs.map +0 -1
  111. package/dist/SQSSubscriber-YXPlg2rm.cjs.map +0 -1
  112. package/dist/chunk-B9dir_RE.mjs +0 -11
  113. package/dist/snsUrl-ASdc0D1v.d.cts +0 -61
  114. package/dist/snsUrl-ASdc0D1v.d.cts.map +0 -1
  115. package/dist/snsUrl-CifYhPAa.mjs +0 -79
  116. package/dist/snsUrl-CifYhPAa.mjs.map +0 -1
  117. package/dist/snsUrl-FRbRcwF0.d.mts +0 -61
  118. package/dist/snsUrl-FRbRcwF0.d.mts.map +0 -1
  119. package/dist/snsUrl-f2gU3CzK.cjs +0 -114
  120. package/dist/snsUrl-f2gU3CzK.cjs.map +0 -1
  121. package/dist/sqsUrl-BV6zS-mi.d.mts +0 -60
  122. package/dist/sqsUrl-BV6zS-mi.d.mts.map +0 -1
  123. package/dist/sqsUrl-CbAsBFHI.mjs +0 -80
  124. package/dist/sqsUrl-CbAsBFHI.mjs.map +0 -1
  125. package/dist/sqsUrl-CdisN3GU.cjs +0 -115
  126. package/dist/sqsUrl-CdisN3GU.cjs.map +0 -1
  127. package/dist/sqsUrl-DZDPHxIk.d.cts +0 -60
  128. package/dist/sqsUrl-DZDPHxIk.d.cts.map +0 -1
  129. package/dist/types-BmixGrOD.d.cts +0 -67
  130. package/dist/types-BmixGrOD.d.cts.map +0 -1
  131. package/dist/types-Byv8N9ma.cjs +0 -24
  132. package/dist/types-Byv8N9ma.cjs.map +0 -1
  133. package/dist/types-CYDt-2RQ.mjs +0 -18
  134. package/dist/types-CYDt-2RQ.mjs.map +0 -1
  135. package/dist/types-DycjsYms.d.mts +0 -67
  136. package/dist/types-DycjsYms.d.mts.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
- const require_types = require('./types-Byv8N9ma.cjs');
2
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_types = require("./types-BcZjLxVV.cjs");
3
3
  //#region src/EventConnection.ts
4
4
  var EventConnectionFactory = class {
5
5
  /**
@@ -7,34 +7,32 @@ var EventConnectionFactory = class {
7
7
  * Dynamically imports the appropriate connection implementation
8
8
  */
9
9
  static async fromConnectionString(connectionStr) {
10
- const url = new URL(connectionStr);
11
- const protocol = url.protocol.replace(":", "");
10
+ const protocol = new URL(connectionStr).protocol.replace(":", "");
12
11
  switch (protocol) {
13
- case require_types.EventPublisherType.Basic: {
12
+ case "basic": {
14
13
  const { BasicConnection } = await Promise.resolve().then(() => require("./basic/index.cjs"));
15
14
  return BasicConnection.fromConnectionString(connectionStr);
16
15
  }
17
- case require_types.EventPublisherType.RabbitMQ: {
16
+ case "rabbitmq": {
18
17
  const { RabbitMQConnection } = await Promise.resolve().then(() => require("./rabbitmq/index.cjs"));
19
18
  return RabbitMQConnection.fromConnectionString(connectionStr);
20
19
  }
21
- case require_types.EventPublisherType.SQS: {
20
+ case "sqs": {
22
21
  const { SQSConnection } = await Promise.resolve().then(() => require("./sqs/index.cjs"));
23
22
  return SQSConnection.fromConnectionString(connectionStr);
24
23
  }
25
- case require_types.EventPublisherType.SNS: {
24
+ case "sns": {
26
25
  const { SNSConnection } = await Promise.resolve().then(() => require("./sns/index.cjs"));
27
26
  return SNSConnection.fromConnectionString(connectionStr);
28
27
  }
29
- case require_types.EventPublisherType.PgBoss: {
28
+ case "pgboss": {
30
29
  const { PgBossConnection } = await Promise.resolve().then(() => require("./pgboss/index.cjs"));
31
30
  return PgBossConnection.fromConnectionString(connectionStr);
32
31
  }
33
- default: throw new Error(`Unsupported connection type: ${protocol}`);
32
+ default: throw new require_types.UnsupportedEventTransport(protocol, "connection");
34
33
  }
35
34
  }
36
35
  };
37
-
38
36
  //#endregion
39
37
  //#region src/Publisher.ts
40
38
  var Publisher = class {
@@ -45,28 +43,27 @@ var Publisher = class {
45
43
  static async fromConnectionString(connectionStr) {
46
44
  const url = new URL(connectionStr);
47
45
  switch (url.protocol.replace(":", "")) {
48
- case require_types.EventPublisherType.Basic: {
46
+ case "basic": {
49
47
  const { BasicConnection, BasicPublisher } = await Promise.resolve().then(() => require("./basic/index.cjs"));
50
- const connection = await BasicConnection.fromConnectionString(connectionStr);
51
- return new BasicPublisher(connection);
48
+ return new BasicPublisher(await BasicConnection.fromConnectionString(connectionStr));
52
49
  }
53
- case require_types.EventPublisherType.RabbitMQ: {
50
+ case "rabbitmq": {
54
51
  const { RabbitMQPublisher } = await Promise.resolve().then(() => require("./rabbitmq/index.cjs"));
55
52
  return RabbitMQPublisher.fromConnectionString(connectionStr);
56
53
  }
57
- case require_types.EventPublisherType.SQS: {
54
+ case "sqs": {
58
55
  const { SQSPublisher } = await Promise.resolve().then(() => require("./sqs/index.cjs"));
59
56
  return SQSPublisher.fromConnectionString(connectionStr);
60
57
  }
61
- case require_types.EventPublisherType.SNS: {
58
+ case "sns": {
62
59
  const { SNSPublisher } = await Promise.resolve().then(() => require("./sns/index.cjs"));
63
60
  return SNSPublisher.fromConnectionString(connectionStr);
64
61
  }
65
- case require_types.EventPublisherType.PgBoss: {
62
+ case "pgboss": {
66
63
  const { PgBossPublisher } = await Promise.resolve().then(() => require("./pgboss/index.cjs"));
67
64
  return PgBossPublisher.fromConnectionString(connectionStr);
68
65
  }
69
- default: throw new Error(`Unsupported event publisher type: ${url.protocol}`);
66
+ default: throw new require_types.UnsupportedEventTransport(url.protocol.replace(":", ""), "publisher");
70
67
  }
71
68
  }
72
69
  /**
@@ -75,36 +72,35 @@ var Publisher = class {
75
72
  */
76
73
  static async fromConnection(connection) {
77
74
  switch (connection.type) {
78
- case require_types.EventPublisherType.Basic: {
75
+ case "basic": {
79
76
  const { BasicPublisher } = await Promise.resolve().then(() => require("./basic/index.cjs"));
80
77
  const { BasicConnection } = await Promise.resolve().then(() => require("./basic/index.cjs"));
81
78
  return new BasicPublisher(connection);
82
79
  }
83
- case require_types.EventPublisherType.RabbitMQ: {
80
+ case "rabbitmq": {
84
81
  const { RabbitMQPublisher } = await Promise.resolve().then(() => require("./rabbitmq/index.cjs"));
85
82
  const { RabbitMQConnection } = await Promise.resolve().then(() => require("./rabbitmq/index.cjs"));
86
83
  return new RabbitMQPublisher(connection);
87
84
  }
88
- case require_types.EventPublisherType.SQS: {
85
+ case "sqs": {
89
86
  const { SQSPublisher } = await Promise.resolve().then(() => require("./sqs/index.cjs"));
90
87
  const { SQSConnection } = await Promise.resolve().then(() => require("./sqs/index.cjs"));
91
88
  return new SQSPublisher(connection);
92
89
  }
93
- case require_types.EventPublisherType.SNS: {
90
+ case "sns": {
94
91
  const { SNSPublisher } = await Promise.resolve().then(() => require("./sns/index.cjs"));
95
92
  const { SNSConnection } = await Promise.resolve().then(() => require("./sns/index.cjs"));
96
93
  return new SNSPublisher(connection);
97
94
  }
98
- case require_types.EventPublisherType.PgBoss: {
95
+ case "pgboss": {
99
96
  const { PgBossPublisher } = await Promise.resolve().then(() => require("./pgboss/index.cjs"));
100
97
  const { PgBossConnection } = await Promise.resolve().then(() => require("./pgboss/index.cjs"));
101
98
  return new PgBossPublisher(connection);
102
99
  }
103
- default: throw new Error(`Unsupported connection type: ${connection.type}`);
100
+ default: throw new require_types.UnsupportedEventTransport(connection.type, "publisher");
104
101
  }
105
102
  }
106
103
  };
107
-
108
104
  //#endregion
109
105
  //#region src/Subscriber.ts
110
106
  var Subscriber = class {
@@ -115,37 +111,33 @@ var Subscriber = class {
115
111
  static async fromConnectionString(connectionStr) {
116
112
  const url = new URL(connectionStr);
117
113
  switch (url.protocol.replace(":", "")) {
118
- case require_types.EventPublisherType.Basic: {
114
+ case "basic": {
119
115
  const { BasicConnection, BasicSubscriber } = await Promise.resolve().then(() => require("./basic/index.cjs"));
120
- const connection = await BasicConnection.fromConnectionString(connectionStr);
121
- return new BasicSubscriber(connection);
116
+ return new BasicSubscriber(await BasicConnection.fromConnectionString(connectionStr));
122
117
  }
123
- case require_types.EventPublisherType.RabbitMQ: {
118
+ case "rabbitmq": {
124
119
  const { RabbitMQSubscriber } = await Promise.resolve().then(() => require("./rabbitmq/index.cjs"));
125
120
  return RabbitMQSubscriber.fromConnectionString(connectionStr);
126
121
  }
127
- case require_types.EventPublisherType.SNS: {
122
+ case "sns": {
128
123
  const { SNSSubscriber } = await Promise.resolve().then(() => require("./sns/index.cjs"));
129
124
  return SNSSubscriber.fromConnectionString(connectionStr);
130
125
  }
131
- case require_types.EventPublisherType.SQS: {
132
- const url$1 = new URL(connectionStr);
133
- const topicArn = url$1.searchParams.get("topicArn");
134
- if (topicArn) {
126
+ case "sqs": {
127
+ if (new URL(connectionStr).searchParams.get("topicArn")) {
135
128
  const { SNSSubscriber } = await Promise.resolve().then(() => require("./sns/index.cjs"));
136
129
  const snsConnectionStr = connectionStr.replace("sqs://", "sns://");
137
130
  return SNSSubscriber.fromConnectionString(snsConnectionStr);
138
131
  }
139
132
  const { SQSSubscriber } = await Promise.resolve().then(() => require("./sqs/index.cjs"));
140
133
  const { SQSConnection } = await Promise.resolve().then(() => require("./sqs/index.cjs"));
141
- const connection = await SQSConnection.fromConnectionString(connectionStr);
142
- return new SQSSubscriber(connection);
134
+ return new SQSSubscriber(await SQSConnection.fromConnectionString(connectionStr));
143
135
  }
144
- case require_types.EventPublisherType.PgBoss: {
136
+ case "pgboss": {
145
137
  const { PgBossSubscriber } = await Promise.resolve().then(() => require("./pgboss/index.cjs"));
146
138
  return PgBossSubscriber.fromConnectionString(connectionStr);
147
139
  }
148
- default: throw new Error(`Unsupported event subscriber type: ${url.protocol}`);
140
+ default: throw new require_types.UnsupportedEventTransport(url.protocol.replace(":", ""), "subscriber");
149
141
  }
150
142
  }
151
143
  /**
@@ -154,39 +146,40 @@ var Subscriber = class {
154
146
  */
155
147
  static async fromConnection(connection) {
156
148
  switch (connection.type) {
157
- case require_types.EventPublisherType.Basic: {
149
+ case "basic": {
158
150
  const { BasicSubscriber } = await Promise.resolve().then(() => require("./basic/index.cjs"));
159
151
  const { BasicConnection } = await Promise.resolve().then(() => require("./basic/index.cjs"));
160
152
  return new BasicSubscriber(connection);
161
153
  }
162
- case require_types.EventPublisherType.RabbitMQ: {
154
+ case "rabbitmq": {
163
155
  const { RabbitMQSubscriber } = await Promise.resolve().then(() => require("./rabbitmq/index.cjs"));
164
156
  const { RabbitMQConnection } = await Promise.resolve().then(() => require("./rabbitmq/index.cjs"));
165
157
  return new RabbitMQSubscriber(connection);
166
158
  }
167
- case require_types.EventPublisherType.SNS: {
159
+ case "sns": {
168
160
  const { SNSSubscriber } = await Promise.resolve().then(() => require("./sns/index.cjs"));
169
161
  const { SNSConnection } = await Promise.resolve().then(() => require("./sns/index.cjs"));
170
162
  return new SNSSubscriber(connection);
171
163
  }
172
- case require_types.EventPublisherType.SQS: {
164
+ case "sqs": {
173
165
  const { SQSSubscriber } = await Promise.resolve().then(() => require("./sqs/index.cjs"));
174
166
  const { SQSConnection } = await Promise.resolve().then(() => require("./sqs/index.cjs"));
175
167
  return new SQSSubscriber(connection);
176
168
  }
177
- case require_types.EventPublisherType.PgBoss: {
169
+ case "pgboss": {
178
170
  const { PgBossSubscriber } = await Promise.resolve().then(() => require("./pgboss/index.cjs"));
179
171
  const { PgBossConnection } = await Promise.resolve().then(() => require("./pgboss/index.cjs"));
180
172
  return new PgBossSubscriber(connection);
181
173
  }
182
- default: throw new Error(`Unsupported connection type: ${connection.type}`);
174
+ default: throw new require_types.UnsupportedEventTransport(connection.type, "subscriber");
183
175
  }
184
176
  }
185
177
  };
186
-
187
178
  //#endregion
188
179
  exports.EventConnectionFactory = EventConnectionFactory;
189
180
  exports.EventPublisherType = require_types.EventPublisherType;
190
181
  exports.Publisher = Publisher;
191
182
  exports.Subscriber = Subscriber;
183
+ exports.UnsupportedEventTransport = require_types.UnsupportedEventTransport;
184
+
192
185
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["connectionStr: string","EventPublisherType","connectionStr: EventPublisherConnectionString","EventPublisherType","connection: EventConnection","connectionStr: EventSubscriberConnectionString","EventPublisherType","url","connection: EventConnection"],"sources":["../src/EventConnection.ts","../src/Publisher.ts","../src/Subscriber.ts"],"sourcesContent":["import type { EventConnection } from './types';\nimport { EventPublisherType } from './types';\n\nexport class EventConnectionFactory {\n\t/**\n\t * Create an EventConnection from a connection string\n\t * Dynamically imports the appropriate connection implementation\n\t */\n\tstatic async fromConnectionString(\n\t\tconnectionStr: string,\n\t): Promise<EventConnection> {\n\t\tconst url = new URL(connectionStr);\n\t\tconst protocol = url.protocol.replace(':', '') as EventPublisherType;\n\n\t\tswitch (protocol) {\n\t\t\tcase EventPublisherType.Basic: {\n\t\t\t\tconst { BasicConnection } = await import('./basic');\n\t\t\t\treturn BasicConnection.fromConnectionString(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.RabbitMQ: {\n\t\t\t\tconst { RabbitMQConnection } = await import('./rabbitmq');\n\t\t\t\treturn RabbitMQConnection.fromConnectionString(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.SQS: {\n\t\t\t\tconst { SQSConnection } = await import('./sqs');\n\t\t\t\treturn SQSConnection.fromConnectionString(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.SNS: {\n\t\t\t\tconst { SNSConnection } = await import('./sns');\n\t\t\t\treturn SNSConnection.fromConnectionString(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.PgBoss: {\n\t\t\t\tconst { PgBossConnection } = await import('./pgboss');\n\t\t\t\treturn PgBossConnection.fromConnectionString(connectionStr);\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unsupported connection type: ${protocol}`);\n\t\t}\n\t}\n}\n\nexport type { EventConnection } from './types';\nexport { EventPublisherType } from './types';\n","import type {\n\tEventConnection,\n\tEventPublisher,\n\tPublishableMessage,\n} from './types';\nimport { EventPublisherType } from './types';\n\nexport class Publisher {\n\t/**\n\t * Create a publisher from a connection string\n\t * This creates both a connection and a publisher\n\t */\n\tstatic async fromConnectionString<\n\t\tTMessage extends PublishableMessage<string, any>,\n\t>(\n\t\tconnectionStr: EventPublisherConnectionString,\n\t): Promise<EventPublisher<TMessage>> {\n\t\tconst url = new URL(connectionStr);\n\t\tswitch (url.protocol.replace(':', '')) {\n\t\t\tcase EventPublisherType.Basic: {\n\t\t\t\tconst { BasicConnection, BasicPublisher } = await import('./basic');\n\t\t\t\tconst connection =\n\t\t\t\t\tawait BasicConnection.fromConnectionString(connectionStr);\n\t\t\t\treturn new BasicPublisher<TMessage>(connection);\n\t\t\t}\n\t\t\tcase EventPublisherType.RabbitMQ: {\n\t\t\t\tconst { RabbitMQPublisher } = await import('./rabbitmq');\n\t\t\t\treturn RabbitMQPublisher.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.SQS: {\n\t\t\t\tconst { SQSPublisher } = await import('./sqs');\n\t\t\t\treturn SQSPublisher.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.SNS: {\n\t\t\t\tconst { SNSPublisher } = await import('./sns');\n\t\t\t\treturn SNSPublisher.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.PgBoss: {\n\t\t\t\tconst { PgBossPublisher } = await import('./pgboss');\n\t\t\t\treturn PgBossPublisher.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\t// Future implementations for EventBridge, Kafka, etc.\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unsupported event publisher type: ${url.protocol}`);\n\t\t}\n\t}\n\n\t/**\n\t * Create a publisher from an existing connection\n\t * This allows sharing connections between publishers and subscribers\n\t */\n\tstatic async fromConnection<TMessage extends PublishableMessage<string, any>>(\n\t\tconnection: EventConnection,\n\t): Promise<EventPublisher<TMessage>> {\n\t\tswitch (connection.type) {\n\t\t\tcase EventPublisherType.Basic: {\n\t\t\t\tconst { BasicPublisher } = await import('./basic');\n\t\t\t\tconst { BasicConnection } = await import('./basic');\n\t\t\t\treturn new BasicPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof BasicConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.RabbitMQ: {\n\t\t\t\tconst { RabbitMQPublisher } = await import('./rabbitmq');\n\t\t\t\tconst { RabbitMQConnection } = await import('./rabbitmq');\n\t\t\t\treturn new RabbitMQPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof RabbitMQConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.SQS: {\n\t\t\t\tconst { SQSPublisher } = await import('./sqs');\n\t\t\t\tconst { SQSConnection } = await import('./sqs');\n\t\t\t\treturn new SQSPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof SQSConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.SNS: {\n\t\t\t\tconst { SNSPublisher } = await import('./sns');\n\t\t\t\tconst { SNSConnection } = await import('./sns');\n\t\t\t\treturn new SNSPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof SNSConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.PgBoss: {\n\t\t\t\tconst { PgBossPublisher } = await import('./pgboss');\n\t\t\t\tconst { PgBossConnection } = await import('./pgboss');\n\t\t\t\treturn new PgBossPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof PgBossConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unsupported connection type: ${connection.type}`);\n\t\t}\n\t}\n}\n\nexport type EventPublisherConnectionString =\n\t`${EventPublisherType}://${string}`;\n","import type {\n\tEventConnection,\n\tEventSubscriber,\n\tPublishableMessage,\n} from './types';\nimport { EventPublisherType } from './types';\n\nexport class Subscriber {\n\t/**\n\t * Create a subscriber from a connection string\n\t * This creates both a connection and a subscriber\n\t */\n\tstatic async fromConnectionString<\n\t\tTMessage extends PublishableMessage<string, any>,\n\t>(\n\t\tconnectionStr: EventSubscriberConnectionString,\n\t): Promise<EventSubscriber<TMessage>> {\n\t\tconst url = new URL(connectionStr);\n\t\tswitch (url.protocol.replace(':', '')) {\n\t\t\tcase EventPublisherType.Basic: {\n\t\t\t\tconst { BasicConnection, BasicSubscriber } = await import('./basic');\n\t\t\t\tconst connection =\n\t\t\t\t\tawait BasicConnection.fromConnectionString(connectionStr);\n\t\t\t\treturn new BasicSubscriber<TMessage>(connection);\n\t\t\t}\n\t\t\tcase EventPublisherType.RabbitMQ: {\n\t\t\t\tconst { RabbitMQSubscriber } = await import('./rabbitmq');\n\t\t\t\treturn RabbitMQSubscriber.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.SNS: {\n\t\t\t\tconst { SNSSubscriber } = await import('./sns');\n\t\t\t\treturn SNSSubscriber.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.SQS: {\n\t\t\t\tconst url = new URL(connectionStr);\n\t\t\t\tconst topicArn = url.searchParams.get('topicArn');\n\n\t\t\t\t// If topicArn is present, use managed SNS→SQS subscription\n\t\t\t\tif (topicArn) {\n\t\t\t\t\tconst { SNSSubscriber } = await import('./sns');\n\t\t\t\t\t// Convert SQS connection string to SNS connection string\n\t\t\t\t\tconst snsConnectionStr = connectionStr.replace('sqs://', 'sns://');\n\t\t\t\t\treturn SNSSubscriber.fromConnectionString<TMessage>(snsConnectionStr);\n\t\t\t\t}\n\n\t\t\t\t// Direct SQS subscriber\n\t\t\t\tconst { SQSSubscriber } = await import('./sqs');\n\t\t\t\tconst { SQSConnection } = await import('./sqs');\n\t\t\t\tconst connection =\n\t\t\t\t\tawait SQSConnection.fromConnectionString(connectionStr);\n\t\t\t\treturn new SQSSubscriber<TMessage>(connection);\n\t\t\t}\n\t\t\tcase EventPublisherType.PgBoss: {\n\t\t\t\tconst { PgBossSubscriber } = await import('./pgboss');\n\t\t\t\treturn PgBossSubscriber.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\t// Future implementations for EventBridge, Kafka, etc.\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unsupported event subscriber type: ${url.protocol}`);\n\t\t}\n\t}\n\n\t/**\n\t * Create a subscriber from an existing connection\n\t * This allows sharing connections between publishers and subscribers\n\t */\n\tstatic async fromConnection<TMessage extends PublishableMessage<string, any>>(\n\t\tconnection: EventConnection,\n\t): Promise<EventSubscriber<TMessage>> {\n\t\tswitch (connection.type) {\n\t\t\tcase EventPublisherType.Basic: {\n\t\t\t\tconst { BasicSubscriber } = await import('./basic');\n\t\t\t\tconst { BasicConnection } = await import('./basic');\n\t\t\t\treturn new BasicSubscriber<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof BasicConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.RabbitMQ: {\n\t\t\t\tconst { RabbitMQSubscriber } = await import('./rabbitmq');\n\t\t\t\tconst { RabbitMQConnection } = await import('./rabbitmq');\n\t\t\t\treturn new RabbitMQSubscriber<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof RabbitMQConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.SNS: {\n\t\t\t\tconst { SNSSubscriber } = await import('./sns');\n\t\t\t\tconst { SNSConnection } = await import('./sns');\n\t\t\t\treturn new SNSSubscriber<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof SNSConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.SQS: {\n\t\t\t\tconst { SQSSubscriber } = await import('./sqs');\n\t\t\t\tconst { SQSConnection } = await import('./sqs');\n\t\t\t\treturn new SQSSubscriber<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof SQSConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.PgBoss: {\n\t\t\t\tconst { PgBossSubscriber } = await import('./pgboss');\n\t\t\t\tconst { PgBossConnection } = await import('./pgboss');\n\t\t\t\treturn new PgBossSubscriber<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof PgBossConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unsupported connection type: ${connection.type}`);\n\t\t}\n\t}\n}\n\nexport type EventSubscriberConnectionString =\n\t`${EventPublisherType}://${string}`;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["UnsupportedEventTransport","UnsupportedEventTransport","UnsupportedEventTransport"],"sources":["../src/EventConnection.ts","../src/Publisher.ts","../src/Subscriber.ts"],"sourcesContent":["import type { EventConnection } from './types';\nimport { EventPublisherType, UnsupportedEventTransport } from './types';\n\nexport class EventConnectionFactory {\n\t/**\n\t * Create an EventConnection from a connection string\n\t * Dynamically imports the appropriate connection implementation\n\t */\n\tstatic async fromConnectionString(\n\t\tconnectionStr: string,\n\t): Promise<EventConnection> {\n\t\tconst url = new URL(connectionStr);\n\t\tconst protocol = url.protocol.replace(':', '') as EventPublisherType;\n\n\t\tswitch (protocol) {\n\t\t\tcase EventPublisherType.Basic: {\n\t\t\t\tconst { BasicConnection } = await import('./basic');\n\t\t\t\treturn BasicConnection.fromConnectionString(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.RabbitMQ: {\n\t\t\t\tconst { RabbitMQConnection } = await import('./rabbitmq');\n\t\t\t\treturn RabbitMQConnection.fromConnectionString(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.SQS: {\n\t\t\t\tconst { SQSConnection } = await import('./sqs');\n\t\t\t\treturn SQSConnection.fromConnectionString(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.SNS: {\n\t\t\t\tconst { SNSConnection } = await import('./sns');\n\t\t\t\treturn SNSConnection.fromConnectionString(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.PgBoss: {\n\t\t\t\tconst { PgBossConnection } = await import('./pgboss');\n\t\t\t\treturn PgBossConnection.fromConnectionString(connectionStr);\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tthrow new UnsupportedEventTransport(protocol, 'connection');\n\t\t}\n\t}\n}\n\nexport type { EventConnection } from './types';\nexport { EventPublisherType } from './types';\n","import type {\n\tEventConnection,\n\tEventPublisher,\n\tPublishableMessage,\n} from './types';\nimport { EventPublisherType, UnsupportedEventTransport } from './types';\n\nexport class Publisher {\n\t/**\n\t * Create a publisher from a connection string\n\t * This creates both a connection and a publisher\n\t */\n\tstatic async fromConnectionString<\n\t\tTMessage extends PublishableMessage<string, any>,\n\t>(\n\t\tconnectionStr: EventPublisherConnectionString,\n\t): Promise<EventPublisher<TMessage>> {\n\t\tconst url = new URL(connectionStr);\n\t\tswitch (url.protocol.replace(':', '')) {\n\t\t\tcase EventPublisherType.Basic: {\n\t\t\t\tconst { BasicConnection, BasicPublisher } = await import('./basic');\n\t\t\t\tconst connection =\n\t\t\t\t\tawait BasicConnection.fromConnectionString(connectionStr);\n\t\t\t\treturn new BasicPublisher<TMessage>(connection);\n\t\t\t}\n\t\t\tcase EventPublisherType.RabbitMQ: {\n\t\t\t\tconst { RabbitMQPublisher } = await import('./rabbitmq');\n\t\t\t\treturn RabbitMQPublisher.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.SQS: {\n\t\t\t\tconst { SQSPublisher } = await import('./sqs');\n\t\t\t\treturn SQSPublisher.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.SNS: {\n\t\t\t\tconst { SNSPublisher } = await import('./sns');\n\t\t\t\treturn SNSPublisher.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.PgBoss: {\n\t\t\t\tconst { PgBossPublisher } = await import('./pgboss');\n\t\t\t\treturn PgBossPublisher.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\t// Future implementations for EventBridge, Kafka, etc.\n\t\t\tdefault:\n\t\t\t\tthrow new UnsupportedEventTransport(\n\t\t\t\t\turl.protocol.replace(':', ''),\n\t\t\t\t\t'publisher',\n\t\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Create a publisher from an existing connection\n\t * This allows sharing connections between publishers and subscribers\n\t */\n\tstatic async fromConnection<TMessage extends PublishableMessage<string, any>>(\n\t\tconnection: EventConnection,\n\t): Promise<EventPublisher<TMessage>> {\n\t\tswitch (connection.type) {\n\t\t\tcase EventPublisherType.Basic: {\n\t\t\t\tconst { BasicPublisher } = await import('./basic');\n\t\t\t\tconst { BasicConnection } = await import('./basic');\n\t\t\t\treturn new BasicPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof BasicConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.RabbitMQ: {\n\t\t\t\tconst { RabbitMQPublisher } = await import('./rabbitmq');\n\t\t\t\tconst { RabbitMQConnection } = await import('./rabbitmq');\n\t\t\t\treturn new RabbitMQPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof RabbitMQConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.SQS: {\n\t\t\t\tconst { SQSPublisher } = await import('./sqs');\n\t\t\t\tconst { SQSConnection } = await import('./sqs');\n\t\t\t\treturn new SQSPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof SQSConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.SNS: {\n\t\t\t\tconst { SNSPublisher } = await import('./sns');\n\t\t\t\tconst { SNSConnection } = await import('./sns');\n\t\t\t\treturn new SNSPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof SNSConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.PgBoss: {\n\t\t\t\tconst { PgBossPublisher } = await import('./pgboss');\n\t\t\t\tconst { PgBossConnection } = await import('./pgboss');\n\t\t\t\treturn new PgBossPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof PgBossConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tthrow new UnsupportedEventTransport(connection.type, 'publisher');\n\t\t}\n\t}\n}\n\nexport type EventPublisherConnectionString =\n\t`${EventPublisherType}://${string}`;\n","import type {\n\tEventConnection,\n\tEventSubscriber,\n\tPublishableMessage,\n} from './types';\nimport { EventPublisherType, UnsupportedEventTransport } from './types';\n\nexport class Subscriber {\n\t/**\n\t * Create a subscriber from a connection string\n\t * This creates both a connection and a subscriber\n\t */\n\tstatic async fromConnectionString<\n\t\tTMessage extends PublishableMessage<string, any>,\n\t>(\n\t\tconnectionStr: EventSubscriberConnectionString,\n\t): Promise<EventSubscriber<TMessage>> {\n\t\tconst url = new URL(connectionStr);\n\t\tswitch (url.protocol.replace(':', '')) {\n\t\t\tcase EventPublisherType.Basic: {\n\t\t\t\tconst { BasicConnection, BasicSubscriber } = await import('./basic');\n\t\t\t\tconst connection =\n\t\t\t\t\tawait BasicConnection.fromConnectionString(connectionStr);\n\t\t\t\treturn new BasicSubscriber<TMessage>(connection);\n\t\t\t}\n\t\t\tcase EventPublisherType.RabbitMQ: {\n\t\t\t\tconst { RabbitMQSubscriber } = await import('./rabbitmq');\n\t\t\t\treturn RabbitMQSubscriber.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.SNS: {\n\t\t\t\tconst { SNSSubscriber } = await import('./sns');\n\t\t\t\treturn SNSSubscriber.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.SQS: {\n\t\t\t\tconst url = new URL(connectionStr);\n\t\t\t\tconst topicArn = url.searchParams.get('topicArn');\n\n\t\t\t\t// If topicArn is present, use managed SNS→SQS subscription\n\t\t\t\tif (topicArn) {\n\t\t\t\t\tconst { SNSSubscriber } = await import('./sns');\n\t\t\t\t\t// Convert SQS connection string to SNS connection string\n\t\t\t\t\tconst snsConnectionStr = connectionStr.replace('sqs://', 'sns://');\n\t\t\t\t\treturn SNSSubscriber.fromConnectionString<TMessage>(snsConnectionStr);\n\t\t\t\t}\n\n\t\t\t\t// Direct SQS subscriber\n\t\t\t\tconst { SQSSubscriber } = await import('./sqs');\n\t\t\t\tconst { SQSConnection } = await import('./sqs');\n\t\t\t\tconst connection =\n\t\t\t\t\tawait SQSConnection.fromConnectionString(connectionStr);\n\t\t\t\treturn new SQSSubscriber<TMessage>(connection);\n\t\t\t}\n\t\t\tcase EventPublisherType.PgBoss: {\n\t\t\t\tconst { PgBossSubscriber } = await import('./pgboss');\n\t\t\t\treturn PgBossSubscriber.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\t// Future implementations for EventBridge, Kafka, etc.\n\t\t\tdefault:\n\t\t\t\tthrow new UnsupportedEventTransport(\n\t\t\t\t\turl.protocol.replace(':', ''),\n\t\t\t\t\t'subscriber',\n\t\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Create a subscriber from an existing connection\n\t * This allows sharing connections between publishers and subscribers\n\t */\n\tstatic async fromConnection<TMessage extends PublishableMessage<string, any>>(\n\t\tconnection: EventConnection,\n\t): Promise<EventSubscriber<TMessage>> {\n\t\tswitch (connection.type) {\n\t\t\tcase EventPublisherType.Basic: {\n\t\t\t\tconst { BasicSubscriber } = await import('./basic');\n\t\t\t\tconst { BasicConnection } = await import('./basic');\n\t\t\t\treturn new BasicSubscriber<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof BasicConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.RabbitMQ: {\n\t\t\t\tconst { RabbitMQSubscriber } = await import('./rabbitmq');\n\t\t\t\tconst { RabbitMQConnection } = await import('./rabbitmq');\n\t\t\t\treturn new RabbitMQSubscriber<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof RabbitMQConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.SNS: {\n\t\t\t\tconst { SNSSubscriber } = await import('./sns');\n\t\t\t\tconst { SNSConnection } = await import('./sns');\n\t\t\t\treturn new SNSSubscriber<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof SNSConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.SQS: {\n\t\t\t\tconst { SQSSubscriber } = await import('./sqs');\n\t\t\t\tconst { SQSConnection } = await import('./sqs');\n\t\t\t\treturn new SQSSubscriber<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof SQSConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.PgBoss: {\n\t\t\t\tconst { PgBossSubscriber } = await import('./pgboss');\n\t\t\t\tconst { PgBossConnection } = await import('./pgboss');\n\t\t\t\treturn new PgBossSubscriber<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof PgBossConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tthrow new UnsupportedEventTransport(connection.type, 'subscriber');\n\t\t}\n\t}\n}\n\nexport type EventSubscriberConnectionString =\n\t`${EventPublisherType}://${string}`;\n"],"mappings":"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"}
package/dist/index.d.cts CHANGED
@@ -1,7 +1,6 @@
1
- import { EventConnection, EventPublisher, EventPublisherType, EventSubscriber, ExtractPublisherMessage, MappedEvent, PublishableMessage } from "./types-BmixGrOD.cjs";
2
-
1
+ import { a as ExtractPublisherMessage, c as UnsupportedEventTransport, i as EventSubscriber, n as EventPublisher, o as MappedEvent, r as EventPublisherType, s as PublishableMessage, t as EventConnection } from "./types-gGaoT8qc.cjs";
3
2
  //#region src/EventConnection.d.ts
4
- declare class EventConnectionFactory {
3
+ export declare class EventConnectionFactory {
5
4
  /**
6
5
  * Create an EventConnection from a connection string
7
6
  * Dynamically imports the appropriate connection implementation
@@ -10,7 +9,7 @@ declare class EventConnectionFactory {
10
9
  }
11
10
  //#endregion
12
11
  //#region src/Publisher.d.ts
13
- declare class Publisher {
12
+ export declare class Publisher {
14
13
  /**
15
14
  * Create a publisher from a connection string
16
15
  * This creates both a connection and a publisher
@@ -23,10 +22,9 @@ declare class Publisher {
23
22
  static fromConnection<TMessage extends PublishableMessage<string, any>>(connection: EventConnection): Promise<EventPublisher<TMessage>>;
24
23
  }
25
24
  type EventPublisherConnectionString = `${EventPublisherType}://${string}`;
26
- //# sourceMappingURL=Publisher.d.ts.map
27
25
  //#endregion
28
26
  //#region src/Subscriber.d.ts
29
- declare class Subscriber {
27
+ export declare class Subscriber {
30
28
  /**
31
29
  * Create a subscriber from a connection string
32
30
  * This creates both a connection and a subscriber
@@ -39,8 +37,6 @@ declare class Subscriber {
39
37
  static fromConnection<TMessage extends PublishableMessage<string, any>>(connection: EventConnection): Promise<EventSubscriber<TMessage>>;
40
38
  }
41
39
  type EventSubscriberConnectionString = `${EventPublisherType}://${string}`;
42
- //# sourceMappingURL=Subscriber.d.ts.map
43
-
44
40
  //#endregion
45
- export { EventConnection, EventConnectionFactory, EventPublisher, EventPublisherConnectionString, EventPublisherType, EventSubscriber, EventSubscriberConnectionString, ExtractPublisherMessage, MappedEvent, PublishableMessage, Publisher, Subscriber };
41
+ export { type EventConnection, type EventPublisher, type EventPublisherConnectionString, EventPublisherType, type EventSubscriber, type EventSubscriberConnectionString, type ExtractPublisherMessage, type MappedEvent, type PublishableMessage, UnsupportedEventTransport };
46
42
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/EventConnection.ts","../src/Publisher.ts","../src/Subscriber.ts"],"sourcesContent":[],"mappings":";;;cAGa,sBAAA;;AAAb;;;EAO2B,OAAvB,oBAAA,CAAA,aAAA,EAAA,MAAA,CAAA,EAAA,OAAA,CAAQ,eAAR,CAAA;AAAO;;;cCHE,SAAA;EDJA;;;;EAOF,OAAA,oBAAA,CAAA,iBCGQ,kBDHR,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,aAAA,ECKM,8BDLN,CAAA,ECMP,ODNO,CCMC,cDND,CCMgB,QDNhB,CAAA,CAAA;;;;ACHX;EAAsB,OAAA,cAAA,CAAA,iBA4CwB,kBA5CxB,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,UAAA,EA6CR,eA7CQ,CAAA,EA8ClB,OA9CkB,CA8CV,cA9CU,CA8CK,QA9CL,CAAA,CAAA;;AAQL,KAiFL,8BAAA,GAjFK,GAkFb,kBAlFa,MAAA,MAAA,EAAA;;;;cCRJ,UAAA;EFJA;;;;EAOF,OAAA,oBAAA,CAAA,iBEGQ,kBFHR,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,aAAA,EEKM,+BFLN,CAAA,EEMP,OFNO,CEMC,eFND,CEMiB,QFNjB,CAAA,CAAA;;;;ACHX;EAAsB,OAAA,cAAA,CAAA,iBC2DwB,kBD3DxB,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,UAAA,EC4DR,eD5DQ,CAAA,EC6DlB,OD7DkB,CC6DV,eD7DU,CC6DM,QD7DN,CAAA,CAAA;;AAQL,KCgGL,+BAAA,GDhGK,GCiGb,kBDjGa,MAAA,MAAA,EAAA"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/EventConnection.ts","../src/Publisher.ts","../src/Subscriber.ts"],"mappings":";;qBAGa;;;;;SAKC,qBACZ,wBACE,QAAQ;;;;qBCHC;;;;;SAKC,qBACZ,iBAAiB,iCAEjB,eAAe,iCACb,QAAQ,eAAe;;;;;SAsCb,eAAe,iBAAiB,iCAC5C,YAAY,kBACV,QAAQ,eAAe;;KA2Cf,oCACR;;;qBC7FS;;;;;SAKC,qBACZ,iBAAiB,iCAEjB,eAAe,kCACb,QAAQ,gBAAgB;;;;;SAqDd,eAAe,iBAAiB,iCAC5C,YAAY,kBACV,QAAQ,gBAAgB;;KA2ChB,qCACR"}
package/dist/index.d.mts CHANGED
@@ -1,7 +1,6 @@
1
- import { EventConnection, EventPublisher, EventPublisherType, EventSubscriber, ExtractPublisherMessage, MappedEvent, PublishableMessage } from "./types-DycjsYms.mjs";
2
-
1
+ import { a as ExtractPublisherMessage, c as UnsupportedEventTransport, i as EventSubscriber, n as EventPublisher, o as MappedEvent, r as EventPublisherType, s as PublishableMessage, t as EventConnection } from "./types-gGaoT8qc.mjs";
3
2
  //#region src/EventConnection.d.ts
4
- declare class EventConnectionFactory {
3
+ export declare class EventConnectionFactory {
5
4
  /**
6
5
  * Create an EventConnection from a connection string
7
6
  * Dynamically imports the appropriate connection implementation
@@ -10,7 +9,7 @@ declare class EventConnectionFactory {
10
9
  }
11
10
  //#endregion
12
11
  //#region src/Publisher.d.ts
13
- declare class Publisher {
12
+ export declare class Publisher {
14
13
  /**
15
14
  * Create a publisher from a connection string
16
15
  * This creates both a connection and a publisher
@@ -23,10 +22,9 @@ declare class Publisher {
23
22
  static fromConnection<TMessage extends PublishableMessage<string, any>>(connection: EventConnection): Promise<EventPublisher<TMessage>>;
24
23
  }
25
24
  type EventPublisherConnectionString = `${EventPublisherType}://${string}`;
26
- //# sourceMappingURL=Publisher.d.ts.map
27
25
  //#endregion
28
26
  //#region src/Subscriber.d.ts
29
- declare class Subscriber {
27
+ export declare class Subscriber {
30
28
  /**
31
29
  * Create a subscriber from a connection string
32
30
  * This creates both a connection and a subscriber
@@ -39,8 +37,6 @@ declare class Subscriber {
39
37
  static fromConnection<TMessage extends PublishableMessage<string, any>>(connection: EventConnection): Promise<EventSubscriber<TMessage>>;
40
38
  }
41
39
  type EventSubscriberConnectionString = `${EventPublisherType}://${string}`;
42
- //# sourceMappingURL=Subscriber.d.ts.map
43
-
44
40
  //#endregion
45
- export { EventConnection, EventConnectionFactory, EventPublisher, EventPublisherConnectionString, EventPublisherType, EventSubscriber, EventSubscriberConnectionString, ExtractPublisherMessage, MappedEvent, PublishableMessage, Publisher, Subscriber };
41
+ export { type EventConnection, type EventPublisher, type EventPublisherConnectionString, EventPublisherType, type EventSubscriber, type EventSubscriberConnectionString, type ExtractPublisherMessage, type MappedEvent, type PublishableMessage, UnsupportedEventTransport };
46
42
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/EventConnection.ts","../src/Publisher.ts","../src/Subscriber.ts"],"sourcesContent":[],"mappings":";;;cAGa,sBAAA;;AAAb;;;EAO2B,OAAvB,oBAAA,CAAA,aAAA,EAAA,MAAA,CAAA,EAAA,OAAA,CAAQ,eAAR,CAAA;AAAO;;;cCHE,SAAA;EDJA;;;;EAOF,OAAA,oBAAA,CAAA,iBCGQ,kBDHR,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,aAAA,ECKM,8BDLN,CAAA,ECMP,ODNO,CCMC,cDND,CCMgB,QDNhB,CAAA,CAAA;;;;ACHX;EAAsB,OAAA,cAAA,CAAA,iBA4CwB,kBA5CxB,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,UAAA,EA6CR,eA7CQ,CAAA,EA8ClB,OA9CkB,CA8CV,cA9CU,CA8CK,QA9CL,CAAA,CAAA;;AAQL,KAiFL,8BAAA,GAjFK,GAkFb,kBAlFa,MAAA,MAAA,EAAA;;;;cCRJ,UAAA;EFJA;;;;EAOF,OAAA,oBAAA,CAAA,iBEGQ,kBFHR,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,aAAA,EEKM,+BFLN,CAAA,EEMP,OFNO,CEMC,eFND,CEMiB,QFNjB,CAAA,CAAA;;;;ACHX;EAAsB,OAAA,cAAA,CAAA,iBC2DwB,kBD3DxB,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,UAAA,EC4DR,eD5DQ,CAAA,EC6DlB,OD7DkB,CC6DV,eD7DU,CC6DM,QD7DN,CAAA,CAAA;;AAQL,KCgGL,+BAAA,GDhGK,GCiGb,kBDjGa,MAAA,MAAA,EAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/EventConnection.ts","../src/Publisher.ts","../src/Subscriber.ts"],"mappings":";;qBAGa;;;;;SAKC,qBACZ,wBACE,QAAQ;;;;qBCHC;;;;;SAKC,qBACZ,iBAAiB,iCAEjB,eAAe,iCACb,QAAQ,eAAe;;;;;SAsCb,eAAe,iBAAiB,iCAC5C,YAAY,kBACV,QAAQ,eAAe;;KA2Cf,oCACR;;;qBC7FS;;;;;SAKC,qBACZ,iBAAiB,iCAEjB,eAAe,kCACb,QAAQ,gBAAgB;;;;;SAqDd,eAAe,iBAAiB,iCAC5C,YAAY,kBACV,QAAQ,gBAAgB;;KA2ChB,qCACR"}
package/dist/index.mjs CHANGED
@@ -1,5 +1,4 @@
1
- import { EventPublisherType } from "./types-CYDt-2RQ.mjs";
2
-
1
+ import { n as UnsupportedEventTransport, t as EventPublisherType } from "./types-Bk5JM6MP.mjs";
3
2
  //#region src/EventConnection.ts
4
3
  var EventConnectionFactory = class {
5
4
  /**
@@ -7,34 +6,32 @@ var EventConnectionFactory = class {
7
6
  * Dynamically imports the appropriate connection implementation
8
7
  */
9
8
  static async fromConnectionString(connectionStr) {
10
- const url = new URL(connectionStr);
11
- const protocol = url.protocol.replace(":", "");
9
+ const protocol = new URL(connectionStr).protocol.replace(":", "");
12
10
  switch (protocol) {
13
- case EventPublisherType.Basic: {
11
+ case "basic": {
14
12
  const { BasicConnection } = await import("./basic/index.mjs");
15
13
  return BasicConnection.fromConnectionString(connectionStr);
16
14
  }
17
- case EventPublisherType.RabbitMQ: {
15
+ case "rabbitmq": {
18
16
  const { RabbitMQConnection } = await import("./rabbitmq/index.mjs");
19
17
  return RabbitMQConnection.fromConnectionString(connectionStr);
20
18
  }
21
- case EventPublisherType.SQS: {
19
+ case "sqs": {
22
20
  const { SQSConnection } = await import("./sqs/index.mjs");
23
21
  return SQSConnection.fromConnectionString(connectionStr);
24
22
  }
25
- case EventPublisherType.SNS: {
23
+ case "sns": {
26
24
  const { SNSConnection } = await import("./sns/index.mjs");
27
25
  return SNSConnection.fromConnectionString(connectionStr);
28
26
  }
29
- case EventPublisherType.PgBoss: {
27
+ case "pgboss": {
30
28
  const { PgBossConnection } = await import("./pgboss/index.mjs");
31
29
  return PgBossConnection.fromConnectionString(connectionStr);
32
30
  }
33
- default: throw new Error(`Unsupported connection type: ${protocol}`);
31
+ default: throw new UnsupportedEventTransport(protocol, "connection");
34
32
  }
35
33
  }
36
34
  };
37
-
38
35
  //#endregion
39
36
  //#region src/Publisher.ts
40
37
  var Publisher = class {
@@ -45,28 +42,27 @@ var Publisher = class {
45
42
  static async fromConnectionString(connectionStr) {
46
43
  const url = new URL(connectionStr);
47
44
  switch (url.protocol.replace(":", "")) {
48
- case EventPublisherType.Basic: {
45
+ case "basic": {
49
46
  const { BasicConnection, BasicPublisher } = await import("./basic/index.mjs");
50
- const connection = await BasicConnection.fromConnectionString(connectionStr);
51
- return new BasicPublisher(connection);
47
+ return new BasicPublisher(await BasicConnection.fromConnectionString(connectionStr));
52
48
  }
53
- case EventPublisherType.RabbitMQ: {
49
+ case "rabbitmq": {
54
50
  const { RabbitMQPublisher } = await import("./rabbitmq/index.mjs");
55
51
  return RabbitMQPublisher.fromConnectionString(connectionStr);
56
52
  }
57
- case EventPublisherType.SQS: {
53
+ case "sqs": {
58
54
  const { SQSPublisher } = await import("./sqs/index.mjs");
59
55
  return SQSPublisher.fromConnectionString(connectionStr);
60
56
  }
61
- case EventPublisherType.SNS: {
57
+ case "sns": {
62
58
  const { SNSPublisher } = await import("./sns/index.mjs");
63
59
  return SNSPublisher.fromConnectionString(connectionStr);
64
60
  }
65
- case EventPublisherType.PgBoss: {
61
+ case "pgboss": {
66
62
  const { PgBossPublisher } = await import("./pgboss/index.mjs");
67
63
  return PgBossPublisher.fromConnectionString(connectionStr);
68
64
  }
69
- default: throw new Error(`Unsupported event publisher type: ${url.protocol}`);
65
+ default: throw new UnsupportedEventTransport(url.protocol.replace(":", ""), "publisher");
70
66
  }
71
67
  }
72
68
  /**
@@ -75,36 +71,35 @@ var Publisher = class {
75
71
  */
76
72
  static async fromConnection(connection) {
77
73
  switch (connection.type) {
78
- case EventPublisherType.Basic: {
74
+ case "basic": {
79
75
  const { BasicPublisher } = await import("./basic/index.mjs");
80
76
  const { BasicConnection } = await import("./basic/index.mjs");
81
77
  return new BasicPublisher(connection);
82
78
  }
83
- case EventPublisherType.RabbitMQ: {
79
+ case "rabbitmq": {
84
80
  const { RabbitMQPublisher } = await import("./rabbitmq/index.mjs");
85
81
  const { RabbitMQConnection } = await import("./rabbitmq/index.mjs");
86
82
  return new RabbitMQPublisher(connection);
87
83
  }
88
- case EventPublisherType.SQS: {
84
+ case "sqs": {
89
85
  const { SQSPublisher } = await import("./sqs/index.mjs");
90
86
  const { SQSConnection } = await import("./sqs/index.mjs");
91
87
  return new SQSPublisher(connection);
92
88
  }
93
- case EventPublisherType.SNS: {
89
+ case "sns": {
94
90
  const { SNSPublisher } = await import("./sns/index.mjs");
95
91
  const { SNSConnection } = await import("./sns/index.mjs");
96
92
  return new SNSPublisher(connection);
97
93
  }
98
- case EventPublisherType.PgBoss: {
94
+ case "pgboss": {
99
95
  const { PgBossPublisher } = await import("./pgboss/index.mjs");
100
96
  const { PgBossConnection } = await import("./pgboss/index.mjs");
101
97
  return new PgBossPublisher(connection);
102
98
  }
103
- default: throw new Error(`Unsupported connection type: ${connection.type}`);
99
+ default: throw new UnsupportedEventTransport(connection.type, "publisher");
104
100
  }
105
101
  }
106
102
  };
107
-
108
103
  //#endregion
109
104
  //#region src/Subscriber.ts
110
105
  var Subscriber = class {
@@ -115,37 +110,33 @@ var Subscriber = class {
115
110
  static async fromConnectionString(connectionStr) {
116
111
  const url = new URL(connectionStr);
117
112
  switch (url.protocol.replace(":", "")) {
118
- case EventPublisherType.Basic: {
113
+ case "basic": {
119
114
  const { BasicConnection, BasicSubscriber } = await import("./basic/index.mjs");
120
- const connection = await BasicConnection.fromConnectionString(connectionStr);
121
- return new BasicSubscriber(connection);
115
+ return new BasicSubscriber(await BasicConnection.fromConnectionString(connectionStr));
122
116
  }
123
- case EventPublisherType.RabbitMQ: {
117
+ case "rabbitmq": {
124
118
  const { RabbitMQSubscriber } = await import("./rabbitmq/index.mjs");
125
119
  return RabbitMQSubscriber.fromConnectionString(connectionStr);
126
120
  }
127
- case EventPublisherType.SNS: {
121
+ case "sns": {
128
122
  const { SNSSubscriber } = await import("./sns/index.mjs");
129
123
  return SNSSubscriber.fromConnectionString(connectionStr);
130
124
  }
131
- case EventPublisherType.SQS: {
132
- const url$1 = new URL(connectionStr);
133
- const topicArn = url$1.searchParams.get("topicArn");
134
- if (topicArn) {
125
+ case "sqs": {
126
+ if (new URL(connectionStr).searchParams.get("topicArn")) {
135
127
  const { SNSSubscriber } = await import("./sns/index.mjs");
136
128
  const snsConnectionStr = connectionStr.replace("sqs://", "sns://");
137
129
  return SNSSubscriber.fromConnectionString(snsConnectionStr);
138
130
  }
139
131
  const { SQSSubscriber } = await import("./sqs/index.mjs");
140
132
  const { SQSConnection } = await import("./sqs/index.mjs");
141
- const connection = await SQSConnection.fromConnectionString(connectionStr);
142
- return new SQSSubscriber(connection);
133
+ return new SQSSubscriber(await SQSConnection.fromConnectionString(connectionStr));
143
134
  }
144
- case EventPublisherType.PgBoss: {
135
+ case "pgboss": {
145
136
  const { PgBossSubscriber } = await import("./pgboss/index.mjs");
146
137
  return PgBossSubscriber.fromConnectionString(connectionStr);
147
138
  }
148
- default: throw new Error(`Unsupported event subscriber type: ${url.protocol}`);
139
+ default: throw new UnsupportedEventTransport(url.protocol.replace(":", ""), "subscriber");
149
140
  }
150
141
  }
151
142
  /**
@@ -154,36 +145,36 @@ var Subscriber = class {
154
145
  */
155
146
  static async fromConnection(connection) {
156
147
  switch (connection.type) {
157
- case EventPublisherType.Basic: {
148
+ case "basic": {
158
149
  const { BasicSubscriber } = await import("./basic/index.mjs");
159
150
  const { BasicConnection } = await import("./basic/index.mjs");
160
151
  return new BasicSubscriber(connection);
161
152
  }
162
- case EventPublisherType.RabbitMQ: {
153
+ case "rabbitmq": {
163
154
  const { RabbitMQSubscriber } = await import("./rabbitmq/index.mjs");
164
155
  const { RabbitMQConnection } = await import("./rabbitmq/index.mjs");
165
156
  return new RabbitMQSubscriber(connection);
166
157
  }
167
- case EventPublisherType.SNS: {
158
+ case "sns": {
168
159
  const { SNSSubscriber } = await import("./sns/index.mjs");
169
160
  const { SNSConnection } = await import("./sns/index.mjs");
170
161
  return new SNSSubscriber(connection);
171
162
  }
172
- case EventPublisherType.SQS: {
163
+ case "sqs": {
173
164
  const { SQSSubscriber } = await import("./sqs/index.mjs");
174
165
  const { SQSConnection } = await import("./sqs/index.mjs");
175
166
  return new SQSSubscriber(connection);
176
167
  }
177
- case EventPublisherType.PgBoss: {
168
+ case "pgboss": {
178
169
  const { PgBossSubscriber } = await import("./pgboss/index.mjs");
179
170
  const { PgBossConnection } = await import("./pgboss/index.mjs");
180
171
  return new PgBossSubscriber(connection);
181
172
  }
182
- default: throw new Error(`Unsupported connection type: ${connection.type}`);
173
+ default: throw new UnsupportedEventTransport(connection.type, "subscriber");
183
174
  }
184
175
  }
185
176
  };
186
-
187
177
  //#endregion
188
- export { EventConnectionFactory, EventPublisherType, Publisher, Subscriber };
178
+ export { EventConnectionFactory, EventPublisherType, Publisher, Subscriber, UnsupportedEventTransport };
179
+
189
180
  //# sourceMappingURL=index.mjs.map