@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.
- package/dist/PgBossConnection-CywKoAZU.cjs +2 -0
- package/dist/PgBossConnection-DjoqT84r.mjs +2 -0
- package/dist/RabbitMQConnection-C9eccBL8.cjs +2 -0
- package/dist/RabbitMQConnection-CAp7VqyT.mjs +2 -0
- package/dist/SNSConnection-BWDC1wAF.cjs +2 -0
- package/dist/SNSConnection-ezQvVrDv.mjs +2 -0
- package/dist/{SQSSubscriber-BMWZ3s5q.mjs → SQSSubscriber-BXLE_1L3.mjs} +73 -7
- package/dist/SQSSubscriber-BXLE_1L3.mjs.map +1 -0
- package/dist/{SQSSubscriber-YXPlg2rm.cjs → SQSSubscriber-DtRUaZB3.cjs} +91 -14
- package/dist/SQSSubscriber-DtRUaZB3.cjs.map +1 -0
- package/dist/basic/index.cjs +7 -8
- package/dist/basic/index.cjs.map +1 -1
- package/dist/basic/index.d.cts +4 -10
- package/dist/basic/index.d.cts.map +1 -1
- package/dist/basic/index.d.mts +4 -10
- package/dist/basic/index.d.mts.map +1 -1
- package/dist/basic/index.mjs +5 -6
- package/dist/basic/index.mjs.map +1 -1
- package/dist/index.cjs +39 -46
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -9
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +5 -9
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +38 -47
- package/dist/index.mjs.map +1 -1
- package/dist/pgboss/index.cjs +98 -21
- package/dist/pgboss/index.cjs.map +1 -1
- package/dist/pgboss/index.d.cts +11 -10
- package/dist/pgboss/index.d.cts.map +1 -1
- package/dist/pgboss/index.d.mts +11 -10
- package/dist/pgboss/index.d.mts.map +1 -1
- package/dist/pgboss/index.mjs +95 -21
- package/dist/pgboss/index.mjs.map +1 -1
- package/dist/rabbitmq/index.cjs +135 -22
- package/dist/rabbitmq/index.cjs.map +1 -1
- package/dist/rabbitmq/index.d.cts +11 -10
- package/dist/rabbitmq/index.d.cts.map +1 -1
- package/dist/rabbitmq/index.d.mts +11 -10
- package/dist/rabbitmq/index.d.mts.map +1 -1
- package/dist/rabbitmq/index.mjs +130 -22
- package/dist/rabbitmq/index.mjs.map +1 -1
- package/dist/{chunk-CsX-DzYB.cjs → rolldown-runtime-C0BPl7ul.cjs} +17 -16
- package/dist/rolldown-runtime-D7D4PA-g.mjs +13 -0
- package/dist/sns/index.cjs +106 -34
- package/dist/sns/index.cjs.map +1 -1
- package/dist/sns/index.d.cts +14 -11
- package/dist/sns/index.d.cts.map +1 -1
- package/dist/sns/index.d.mts +14 -11
- package/dist/sns/index.d.mts.map +1 -1
- package/dist/sns/index.mjs +88 -18
- package/dist/sns/index.mjs.map +1 -1
- package/dist/sns/snsUrl.cjs +91 -6
- package/dist/sns/snsUrl.cjs.map +1 -0
- package/dist/sns/snsUrl.d.cts +57 -2
- package/dist/sns/snsUrl.d.cts.map +1 -0
- package/dist/sns/snsUrl.d.mts +57 -2
- package/dist/sns/snsUrl.d.mts.map +1 -0
- package/dist/sns/snsUrl.mjs +81 -2
- package/dist/sns/snsUrl.mjs.map +1 -0
- package/dist/sqs/index.cjs +34 -24
- package/dist/sqs/index.cjs.map +1 -1
- package/dist/sqs/index.d.cts +19 -11
- package/dist/sqs/index.d.cts.map +1 -1
- package/dist/sqs/index.d.mts +19 -11
- package/dist/sqs/index.d.mts.map +1 -1
- package/dist/sqs/index.mjs +22 -15
- package/dist/sqs/index.mjs.map +1 -1
- package/dist/sqs/sqsUrl.cjs +92 -6
- package/dist/sqs/sqsUrl.cjs.map +1 -0
- package/dist/sqs/sqsUrl.d.cts +56 -2
- package/dist/sqs/sqsUrl.d.cts.map +1 -0
- package/dist/sqs/sqsUrl.d.mts +56 -2
- package/dist/sqs/sqsUrl.d.mts.map +1 -0
- package/dist/sqs/sqsUrl.mjs +82 -2
- package/dist/sqs/sqsUrl.mjs.map +1 -0
- package/dist/types-BcZjLxVV.cjs +51 -0
- package/dist/types-BcZjLxVV.cjs.map +1 -0
- package/dist/types-Bk5JM6MP.mjs +40 -0
- package/dist/types-Bk5JM6MP.mjs.map +1 -0
- package/dist/types-gGaoT8qc.d.cts +149 -0
- package/dist/types-gGaoT8qc.d.cts.map +1 -0
- package/dist/types-gGaoT8qc.d.mts +149 -0
- package/dist/types-gGaoT8qc.d.mts.map +1 -0
- package/package.json +12 -12
- package/dist/PgBossConnection-23soZ_aM.cjs +0 -80
- package/dist/PgBossConnection-23soZ_aM.cjs.map +0 -1
- package/dist/PgBossConnection-CCXhoNzb.cjs +0 -4
- package/dist/PgBossConnection-DvNbd4Zk.mjs +0 -74
- package/dist/PgBossConnection-DvNbd4Zk.mjs.map +0 -1
- package/dist/PgBossConnection-_gdM40JB.mjs +0 -4
- package/dist/RabbitMQConnection-BKEdCUro.cjs +0 -113
- package/dist/RabbitMQConnection-BKEdCUro.cjs.map +0 -1
- package/dist/RabbitMQConnection-CCOqDDnb.cjs +0 -4
- package/dist/RabbitMQConnection-DJEyM-Bu.mjs +0 -4
- package/dist/RabbitMQConnection-DJgUPc19.mjs +0 -107
- package/dist/RabbitMQConnection-DJgUPc19.mjs.map +0 -1
- package/dist/SNSConnection-B2K86hpz.cjs +0 -75
- package/dist/SNSConnection-B2K86hpz.cjs.map +0 -1
- package/dist/SNSConnection-BVo84FeW.mjs +0 -5
- package/dist/SNSConnection-DIHRjrQF.cjs +0 -5
- package/dist/SNSConnection-v9jjF99w.mjs +0 -69
- package/dist/SNSConnection-v9jjF99w.mjs.map +0 -1
- package/dist/SQSConnection-4tBMkVZE.mjs +0 -69
- package/dist/SQSConnection-4tBMkVZE.mjs.map +0 -1
- package/dist/SQSConnection-BBLAvF-1.cjs +0 -5
- package/dist/SQSConnection-BaC7rGhI.cjs +0 -75
- package/dist/SQSConnection-BaC7rGhI.cjs.map +0 -1
- package/dist/SQSConnection-DbavOq8_.mjs +0 -5
- package/dist/SQSSubscriber-BMWZ3s5q.mjs.map +0 -1
- package/dist/SQSSubscriber-YXPlg2rm.cjs.map +0 -1
- package/dist/chunk-B9dir_RE.mjs +0 -11
- package/dist/snsUrl-ASdc0D1v.d.cts +0 -61
- package/dist/snsUrl-ASdc0D1v.d.cts.map +0 -1
- package/dist/snsUrl-CifYhPAa.mjs +0 -79
- package/dist/snsUrl-CifYhPAa.mjs.map +0 -1
- package/dist/snsUrl-FRbRcwF0.d.mts +0 -61
- package/dist/snsUrl-FRbRcwF0.d.mts.map +0 -1
- package/dist/snsUrl-f2gU3CzK.cjs +0 -114
- package/dist/snsUrl-f2gU3CzK.cjs.map +0 -1
- package/dist/sqsUrl-BV6zS-mi.d.mts +0 -60
- package/dist/sqsUrl-BV6zS-mi.d.mts.map +0 -1
- package/dist/sqsUrl-CbAsBFHI.mjs +0 -80
- package/dist/sqsUrl-CbAsBFHI.mjs.map +0 -1
- package/dist/sqsUrl-CdisN3GU.cjs +0 -115
- package/dist/sqsUrl-CdisN3GU.cjs.map +0 -1
- package/dist/sqsUrl-DZDPHxIk.d.cts +0 -60
- package/dist/sqsUrl-DZDPHxIk.d.cts.map +0 -1
- package/dist/types-BmixGrOD.d.cts +0 -67
- package/dist/types-BmixGrOD.d.cts.map +0 -1
- package/dist/types-Byv8N9ma.cjs +0 -24
- package/dist/types-Byv8N9ma.cjs.map +0 -1
- package/dist/types-CYDt-2RQ.mjs +0 -18
- package/dist/types-CYDt-2RQ.mjs.map +0 -1
- package/dist/types-DycjsYms.d.mts +0 -67
- package/dist/types-DycjsYms.d.mts.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
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
|
|
11
|
-
const protocol = url.protocol.replace(":", "");
|
|
10
|
+
const protocol = new URL(connectionStr).protocol.replace(":", "");
|
|
12
11
|
switch (protocol) {
|
|
13
|
-
case
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
46
|
+
case "basic": {
|
|
49
47
|
const { BasicConnection, BasicPublisher } = await Promise.resolve().then(() => require("./basic/index.cjs"));
|
|
50
|
-
|
|
51
|
-
return new BasicPublisher(connection);
|
|
48
|
+
return new BasicPublisher(await BasicConnection.fromConnectionString(connectionStr));
|
|
52
49
|
}
|
|
53
|
-
case
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
114
|
+
case "basic": {
|
|
119
115
|
const { BasicConnection, BasicSubscriber } = await Promise.resolve().then(() => require("./basic/index.cjs"));
|
|
120
|
-
|
|
121
|
-
return new BasicSubscriber(connection);
|
|
116
|
+
return new BasicSubscriber(await BasicConnection.fromConnectionString(connectionStr));
|
|
122
117
|
}
|
|
123
|
-
case
|
|
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
|
|
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
|
|
132
|
-
|
|
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
|
-
|
|
142
|
-
return new SQSSubscriber(connection);
|
|
134
|
+
return new SQSSubscriber(await SQSConnection.fromConnectionString(connectionStr));
|
|
143
135
|
}
|
|
144
|
-
case
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
package/dist/index.cjs.map
CHANGED
|
@@ -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 {
|
|
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,
|
|
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
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/EventConnection.ts","../src/Publisher.ts","../src/Subscriber.ts"],"
|
|
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 {
|
|
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,
|
|
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
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/EventConnection.ts","../src/Publisher.ts","../src/Subscriber.ts"],"
|
|
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-
|
|
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
|
|
11
|
-
const protocol = url.protocol.replace(":", "");
|
|
9
|
+
const protocol = new URL(connectionStr).protocol.replace(":", "");
|
|
12
10
|
switch (protocol) {
|
|
13
|
-
case
|
|
11
|
+
case "basic": {
|
|
14
12
|
const { BasicConnection } = await import("./basic/index.mjs");
|
|
15
13
|
return BasicConnection.fromConnectionString(connectionStr);
|
|
16
14
|
}
|
|
17
|
-
case
|
|
15
|
+
case "rabbitmq": {
|
|
18
16
|
const { RabbitMQConnection } = await import("./rabbitmq/index.mjs");
|
|
19
17
|
return RabbitMQConnection.fromConnectionString(connectionStr);
|
|
20
18
|
}
|
|
21
|
-
case
|
|
19
|
+
case "sqs": {
|
|
22
20
|
const { SQSConnection } = await import("./sqs/index.mjs");
|
|
23
21
|
return SQSConnection.fromConnectionString(connectionStr);
|
|
24
22
|
}
|
|
25
|
-
case
|
|
23
|
+
case "sns": {
|
|
26
24
|
const { SNSConnection } = await import("./sns/index.mjs");
|
|
27
25
|
return SNSConnection.fromConnectionString(connectionStr);
|
|
28
26
|
}
|
|
29
|
-
case
|
|
27
|
+
case "pgboss": {
|
|
30
28
|
const { PgBossConnection } = await import("./pgboss/index.mjs");
|
|
31
29
|
return PgBossConnection.fromConnectionString(connectionStr);
|
|
32
30
|
}
|
|
33
|
-
default: throw new
|
|
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
|
|
45
|
+
case "basic": {
|
|
49
46
|
const { BasicConnection, BasicPublisher } = await import("./basic/index.mjs");
|
|
50
|
-
|
|
51
|
-
return new BasicPublisher(connection);
|
|
47
|
+
return new BasicPublisher(await BasicConnection.fromConnectionString(connectionStr));
|
|
52
48
|
}
|
|
53
|
-
case
|
|
49
|
+
case "rabbitmq": {
|
|
54
50
|
const { RabbitMQPublisher } = await import("./rabbitmq/index.mjs");
|
|
55
51
|
return RabbitMQPublisher.fromConnectionString(connectionStr);
|
|
56
52
|
}
|
|
57
|
-
case
|
|
53
|
+
case "sqs": {
|
|
58
54
|
const { SQSPublisher } = await import("./sqs/index.mjs");
|
|
59
55
|
return SQSPublisher.fromConnectionString(connectionStr);
|
|
60
56
|
}
|
|
61
|
-
case
|
|
57
|
+
case "sns": {
|
|
62
58
|
const { SNSPublisher } = await import("./sns/index.mjs");
|
|
63
59
|
return SNSPublisher.fromConnectionString(connectionStr);
|
|
64
60
|
}
|
|
65
|
-
case
|
|
61
|
+
case "pgboss": {
|
|
66
62
|
const { PgBossPublisher } = await import("./pgboss/index.mjs");
|
|
67
63
|
return PgBossPublisher.fromConnectionString(connectionStr);
|
|
68
64
|
}
|
|
69
|
-
default: throw new
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
113
|
+
case "basic": {
|
|
119
114
|
const { BasicConnection, BasicSubscriber } = await import("./basic/index.mjs");
|
|
120
|
-
|
|
121
|
-
return new BasicSubscriber(connection);
|
|
115
|
+
return new BasicSubscriber(await BasicConnection.fromConnectionString(connectionStr));
|
|
122
116
|
}
|
|
123
|
-
case
|
|
117
|
+
case "rabbitmq": {
|
|
124
118
|
const { RabbitMQSubscriber } = await import("./rabbitmq/index.mjs");
|
|
125
119
|
return RabbitMQSubscriber.fromConnectionString(connectionStr);
|
|
126
120
|
}
|
|
127
|
-
case
|
|
121
|
+
case "sns": {
|
|
128
122
|
const { SNSSubscriber } = await import("./sns/index.mjs");
|
|
129
123
|
return SNSSubscriber.fromConnectionString(connectionStr);
|
|
130
124
|
}
|
|
131
|
-
case
|
|
132
|
-
|
|
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
|
-
|
|
142
|
-
return new SQSSubscriber(connection);
|
|
133
|
+
return new SQSSubscriber(await SQSConnection.fromConnectionString(connectionStr));
|
|
143
134
|
}
|
|
144
|
-
case
|
|
135
|
+
case "pgboss": {
|
|
145
136
|
const { PgBossSubscriber } = await import("./pgboss/index.mjs");
|
|
146
137
|
return PgBossSubscriber.fromConnectionString(connectionStr);
|
|
147
138
|
}
|
|
148
|
-
default: throw new
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|