@warlock.js/herald 4.0.102 → 4.0.103
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/cjs/communicators/communicator.d.ts +11 -1
- package/cjs/communicators/communicator.d.ts.map +1 -1
- package/cjs/communicators/communicator.js +13 -0
- package/cjs/communicators/communicator.js.map +1 -1
- package/cjs/contracts/channel.contract.d.ts +12 -1
- package/cjs/contracts/channel.contract.d.ts.map +1 -1
- package/cjs/contracts/communicator-driver.contract.d.ts +29 -1
- package/cjs/contracts/communicator-driver.contract.d.ts.map +1 -1
- package/cjs/drivers/rabbitmq/rabbitmq-channel.d.ts +8 -0
- package/cjs/drivers/rabbitmq/rabbitmq-channel.d.ts.map +1 -1
- package/cjs/drivers/rabbitmq/rabbitmq-channel.js +20 -8
- package/cjs/drivers/rabbitmq/rabbitmq-channel.js.map +1 -1
- package/cjs/drivers/rabbitmq/rabbitmq-driver.d.ts +22 -0
- package/cjs/drivers/rabbitmq/rabbitmq-driver.d.ts.map +1 -1
- package/cjs/drivers/rabbitmq/rabbitmq-driver.js +46 -2
- package/cjs/drivers/rabbitmq/rabbitmq-driver.js.map +1 -1
- package/cjs/index.d.ts +1 -0
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +1 -1
- package/cjs/message-managers/event-consumer.d.ts +41 -0
- package/cjs/message-managers/event-consumer.d.ts.map +1 -0
- package/cjs/message-managers/event-consumer.js +46 -0
- package/cjs/message-managers/event-consumer.js.map +1 -0
- package/cjs/message-managers/event-message.d.ts +46 -0
- package/cjs/message-managers/event-message.d.ts.map +1 -0
- package/cjs/message-managers/event-message.js +32 -0
- package/cjs/message-managers/event-message.js.map +1 -0
- package/cjs/message-managers/index.d.ts +4 -0
- package/cjs/message-managers/index.d.ts.map +1 -0
- package/cjs/message-managers/prepare-consumer-subscription.d.ts +4 -0
- package/cjs/message-managers/prepare-consumer-subscription.d.ts.map +1 -0
- package/cjs/message-managers/prepare-consumer-subscription.js +39 -0
- package/cjs/message-managers/prepare-consumer-subscription.js.map +1 -0
- package/cjs/message-managers/types.d.ts +20 -0
- package/cjs/message-managers/types.d.ts.map +1 -0
- package/cjs/types.d.ts +3 -1
- package/cjs/types.d.ts.map +1 -1
- package/cjs/utils/connect-to-communicator.d.ts +2 -2
- package/cjs/utils/connect-to-communicator.d.ts.map +1 -1
- package/cjs/utils/connect-to-communicator.js +2 -2
- package/cjs/utils/connect-to-communicator.js.map +1 -1
- package/esm/communicators/communicator.d.ts +11 -1
- package/esm/communicators/communicator.d.ts.map +1 -1
- package/esm/communicators/communicator.js +13 -0
- package/esm/communicators/communicator.js.map +1 -1
- package/esm/contracts/channel.contract.d.ts +12 -1
- package/esm/contracts/channel.contract.d.ts.map +1 -1
- package/esm/contracts/communicator-driver.contract.d.ts +29 -1
- package/esm/contracts/communicator-driver.contract.d.ts.map +1 -1
- package/esm/drivers/rabbitmq/rabbitmq-channel.d.ts +8 -0
- package/esm/drivers/rabbitmq/rabbitmq-channel.d.ts.map +1 -1
- package/esm/drivers/rabbitmq/rabbitmq-channel.js +20 -8
- package/esm/drivers/rabbitmq/rabbitmq-channel.js.map +1 -1
- package/esm/drivers/rabbitmq/rabbitmq-driver.d.ts +22 -0
- package/esm/drivers/rabbitmq/rabbitmq-driver.d.ts.map +1 -1
- package/esm/drivers/rabbitmq/rabbitmq-driver.js +46 -2
- package/esm/drivers/rabbitmq/rabbitmq-driver.js.map +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -1
- package/esm/message-managers/event-consumer.d.ts +41 -0
- package/esm/message-managers/event-consumer.d.ts.map +1 -0
- package/esm/message-managers/event-consumer.js +46 -0
- package/esm/message-managers/event-consumer.js.map +1 -0
- package/esm/message-managers/event-message.d.ts +46 -0
- package/esm/message-managers/event-message.d.ts.map +1 -0
- package/esm/message-managers/event-message.js +32 -0
- package/esm/message-managers/event-message.js.map +1 -0
- package/esm/message-managers/index.d.ts +4 -0
- package/esm/message-managers/index.d.ts.map +1 -0
- package/esm/message-managers/prepare-consumer-subscription.d.ts +4 -0
- package/esm/message-managers/prepare-consumer-subscription.d.ts.map +1 -0
- package/esm/message-managers/prepare-consumer-subscription.js +39 -0
- package/esm/message-managers/prepare-consumer-subscription.js.map +1 -0
- package/esm/message-managers/types.d.ts +20 -0
- package/esm/message-managers/types.d.ts.map +1 -0
- package/esm/types.d.ts +3 -1
- package/esm/types.d.ts.map +1 -1
- package/esm/utils/connect-to-communicator.d.ts +2 -2
- package/esm/utils/connect-to-communicator.d.ts.map +1 -1
- package/esm/utils/connect-to-communicator.js +2 -2
- package/esm/utils/connect-to-communicator.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { CommunicatorDriverContract } from "../contracts";
|
|
2
|
-
import type { ChannelOptions } from "../types";
|
|
3
2
|
import type { ChannelContract } from "../contracts/channel.contract";
|
|
3
|
+
import { EventMessage } from "../message-managers/event-message";
|
|
4
|
+
import { EventConsumerClass } from "../message-managers/types";
|
|
5
|
+
import type { ChannelOptions } from "../types";
|
|
4
6
|
/**
|
|
5
7
|
* Options for creating a Communicator
|
|
6
8
|
*/
|
|
@@ -42,6 +44,14 @@ export declare class Communicator {
|
|
|
42
44
|
* @param options - Communicator configuration
|
|
43
45
|
*/
|
|
44
46
|
constructor(options: CommunicatorOptions);
|
|
47
|
+
/**
|
|
48
|
+
* Subscribe the given consumer
|
|
49
|
+
*/
|
|
50
|
+
subscribe(consumer: EventConsumerClass): () => void;
|
|
51
|
+
/**
|
|
52
|
+
* Publish the given event message
|
|
53
|
+
*/
|
|
54
|
+
publish(event: EventMessage): void;
|
|
45
55
|
/**
|
|
46
56
|
* Get or create a channel
|
|
47
57
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"communicator.d.ts","sourceRoot":"","sources":["../../src/communicators/communicator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"communicator.d.ts","sourceRoot":"","sources":["../../src/communicators/communicator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,MAAM,EAAE,0BAA0B,CAAC;IACnC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,YAAY;IACvB,gDAAgD;IAChD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,4BAA4B;IAC5B,SAAgB,MAAM,EAAE,0BAA0B,CAAC;IAEnD,+CAA+C;IAC/C,SAAgB,SAAS,EAAE,OAAO,CAAC;IAEnC;;;;OAIG;gBACgB,OAAO,EAAE,mBAAmB;IAM/C;;OAEG;IACI,SAAS,CAAC,QAAQ,EAAE,kBAAkB;IAM7C;;OAEG;IACI,OAAO,CAAC,KAAK,EAAE,YAAY;IAIlC;;;;;;;;;;;;;;;;;;OAkBG;IACI,OAAO,CAAC,QAAQ,GAAG,OAAO,EAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GACjC,eAAe,CAAC,QAAQ,CAAC;IAI5B;;OAEG;IACH,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC;;OAEG;IACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3C;;OAEG;IACU,WAAW;CAGzB"}
|
|
@@ -32,6 +32,19 @@ class Communicator {
|
|
|
32
32
|
this.driver = options.driver;
|
|
33
33
|
this.isDefault = Boolean(options.isDefault);
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Subscribe the given consumer
|
|
37
|
+
*/
|
|
38
|
+
subscribe(consumer) {
|
|
39
|
+
this.driver.subscribe(consumer);
|
|
40
|
+
return () => this.driver.unsubscribe(consumer);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Publish the given event message
|
|
44
|
+
*/
|
|
45
|
+
publish(event) {
|
|
46
|
+
this.driver.publish(event);
|
|
47
|
+
}
|
|
35
48
|
/**
|
|
36
49
|
* Get or create a channel
|
|
37
50
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"communicator.js","sources":["../../src/communicators/communicator.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"communicator.js","sources":["../../src/communicators/communicator.ts"],"sourcesContent":[null],"names":[],"mappings":"aAkBA;;;;;;;;;;;;;;;;AAgBG;MACU,YAAY,CAAA;;AAEP,IAAA,IAAI,CAAS;;AAGb,IAAA,MAAM,CAA6B;;AAGnC,IAAA,SAAS,CAAU;AAEnC;;;;AAIG;AACH,IAAA,WAAA,CAAmB,OAA4B,EAAA;AAC7C,QAAA,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KAC7C;AAED;;AAEG;AACI,IAAA,SAAS,CAAC,QAA4B,EAAA;AAC3C,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEhC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;KAChD;AAED;;AAEG;AACI,IAAA,OAAO,CAAC,KAAmB,EAAA;AAChC,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KAC5B;AAED;;;;;;;;;;;;;;;;;;AAkBG;IACI,OAAO,CACZ,IAAY,EACZ,OAAkC,EAAA;QAElC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAW,IAAI,EAAE,OAAO,CAAC,CAAC;KACrD;AAED;;AAEG;AACH,IAAA,IAAW,WAAW,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;KAChC;AAED;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;AAClB,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;KAC7B;AAED;;AAEG;AACI,IAAA,MAAM,UAAU,GAAA;AACrB,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;KAChC;AAED;;AAEG;AACI,IAAA,MAAM,cAAc,GAAA;AACzB,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;KACpC;AAED;;AAEG;AACI,IAAA,MAAM,aAAa,GAAA;AACxB,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;KACnC;AAED;;AAEG;AACI,IAAA,MAAM,WAAW,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;KAClC;AACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChannelOptions, ChannelStats, MessageHandler, PublishOptions, RequestOptions, ResponseHandler,
|
|
1
|
+
import type { ChannelOptions, ChannelStats, MessageHandler, PublishOptions, RequestOptions, ResponseHandler, SubscribeOptions, Subscription } from "../types";
|
|
2
2
|
/**
|
|
3
3
|
* Channel contract - represents a queue (RabbitMQ) or topic (Kafka)
|
|
4
4
|
*
|
|
@@ -91,6 +91,17 @@ export interface ChannelContract<TPayload = unknown> {
|
|
|
91
91
|
* ```
|
|
92
92
|
*/
|
|
93
93
|
subscribe(handler: MessageHandler<TPayload>, options?: SubscribeOptions): Promise<Subscription>;
|
|
94
|
+
/**
|
|
95
|
+
* Unsubscribe a consumer by its ID
|
|
96
|
+
*
|
|
97
|
+
* @param consumerId - The consumer ID to unsubscribe
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ```typescript
|
|
101
|
+
* await channel.unsubscribeById("consumer-uuid");
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
unsubscribeById(consumerId: string): Promise<void>;
|
|
94
105
|
/**
|
|
95
106
|
* Request-Response pattern (RPC)
|
|
96
107
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/channel.contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,
|
|
1
|
+
{"version":3,"file":"channel.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/channel.contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,YAAY,EACb,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,eAAe,CAAC,QAAQ,GAAG,OAAO;IACjD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE3C;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5E;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEhG;;;;;;;;;OASG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,SAAS,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE9F;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,SAAS,GAAG,OAAO,EACzB,OAAO,EAAE,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,GAC5C,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB;;;;;;;;;;OAUG;IACH,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IAE/B;;;;;;;;;;;;OAYG;IACH,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzB;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3B;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { type EventMessage } from "../message-managers/event-message";
|
|
2
|
+
import { EventConsumerClass } from "../message-managers/types";
|
|
3
|
+
import type { ChannelOptions, CommunicatorDriverType, CommunicatorEvent, CommunicatorEventListener, HealthCheckResult } from "../types";
|
|
1
4
|
import type { ChannelContract } from "./channel.contract";
|
|
2
|
-
import type { ChannelOptions, CommunicatorEvent, CommunicatorEventListener, CommunicatorDriverType, HealthCheckResult } from "../types";
|
|
3
5
|
/**
|
|
4
6
|
* Communicator Driver Contract
|
|
5
7
|
*
|
|
@@ -82,6 +84,32 @@ export interface CommunicatorDriverContract {
|
|
|
82
84
|
* @param listener - Callback to remove
|
|
83
85
|
*/
|
|
84
86
|
off(event: CommunicatorEvent, listener: CommunicatorEventListener): void;
|
|
87
|
+
/**
|
|
88
|
+
* Subscribe the given consumer class to the driver
|
|
89
|
+
*
|
|
90
|
+
* @param consumer - Consumer class to subscribe
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```typescript
|
|
94
|
+
* driver.subscribe(UserUpdatedConsumer);
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
subscribe(consumer: EventConsumerClass): void;
|
|
98
|
+
/**
|
|
99
|
+
* Unsubscribe the given consumer class from the driver
|
|
100
|
+
*
|
|
101
|
+
* @param consumer - Consumer class to unsubscribe
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```typescript
|
|
105
|
+
* driver.unsubscribe(UserUpdatedConsumer);
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
unsubscribe(consumer: EventConsumerClass): void;
|
|
109
|
+
/**
|
|
110
|
+
* Publish the given event message
|
|
111
|
+
*/
|
|
112
|
+
publish(event: EventMessage): void;
|
|
85
113
|
/**
|
|
86
114
|
* Get or create a channel
|
|
87
115
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"communicator-driver.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/communicator-driver.contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"communicator-driver.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/communicator-driver.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAE9B;;;;;;;;;;OAUG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;;;;;;;;OASG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAExE;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAEzE;;;;;;;;;OASG;IACH,SAAS,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAE9C;;;;;;;;;OASG;IACH,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAEhD;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,QAAQ,GAAG,OAAO,EACxB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GACjC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE7B;;;;;;;;;;;;;;OAcG;IACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC;;;;;;;;;OASG;IACH,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/B;;;;;;;;;;;;;;OAcG;IACH,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE1C;;;;OAIG;IACH,eAAe,IAAI,MAAM,EAAE,CAAC;IAE5B;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C"}
|
|
@@ -38,6 +38,14 @@ export declare class RabbitMQChannel<TPayload = unknown> implements ChannelContr
|
|
|
38
38
|
* - If handler explicitly calls ack/nack/reject → respects that call
|
|
39
39
|
*/
|
|
40
40
|
subscribe(handler: MessageHandler<TPayload>, options?: SubscribeOptions): Promise<Subscription>;
|
|
41
|
+
/**
|
|
42
|
+
* Unsubscribe by consumer ID
|
|
43
|
+
*/
|
|
44
|
+
unsubscribeById(consumerId: string): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Stop consuming subscriptions
|
|
47
|
+
*/
|
|
48
|
+
stopConsuming(): Promise<void>;
|
|
41
49
|
/**
|
|
42
50
|
* Send message to dead-letter queue
|
|
43
51
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rabbitmq-channel.d.ts","sourceRoot":"","sources":["../../../src/drivers/rabbitmq/rabbitmq-channel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EAGZ,cAAc,EAEd,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,YAAY,EACb,MAAM,aAAa,CAAC;AAErB;;;;;;GAMG;AACH,qBAAa,eAAe,CAAC,QAAQ,GAAG,OAAO,CAAE,YAAW,eAAe,CAAC,QAAQ,CAAC;IACnF,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAElD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAM;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2C;IACzE,OAAO,CAAC,QAAQ,CAAS;IAEzB;;OAEG;gBACgB,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC;IAMrF;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBpC;;OAEG;IACU,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAkDhF;;OAEG;IACU,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxF;;;;;;;OAOG;IACU,SAAS,CACpB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,EACjC,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"rabbitmq-channel.d.ts","sourceRoot":"","sources":["../../../src/drivers/rabbitmq/rabbitmq-channel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EAGZ,cAAc,EAEd,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,YAAY,EACb,MAAM,aAAa,CAAC;AAErB;;;;;;GAMG;AACH,qBAAa,eAAe,CAAC,QAAQ,GAAG,OAAO,CAAE,YAAW,eAAe,CAAC,QAAQ,CAAC;IACnF,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAElD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAM;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2C;IACzE,OAAO,CAAC,QAAQ,CAAS;IAEzB;;OAEG;gBACgB,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC;IAMrF;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBpC;;OAEG;IACU,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAkDhF;;OAEG;IACU,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxF;;;;;;;OAOG;IACU,SAAS,CACpB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,EACjC,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,YAAY,CAAC;IA+KxB;;OAEG;IACU,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/D;;OAEG;IACU,aAAa;IAI1B;;OAEG;YACW,gBAAgB;IAe9B;;OAEG;IACU,OAAO,CAAC,SAAS,GAAG,OAAO,EACtC,OAAO,EAAE,QAAQ,EACjB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC;IAiDrB;;OAEG;IACU,OAAO,CAAC,SAAS,GAAG,OAAO,EACtC,OAAO,EAAE,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,GAC5C,OAAO,CAAC,YAAY,CAAC;IAQxB;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;IAY3C;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAOrC;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IASvC;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAerC"}
|
|
@@ -101,7 +101,8 @@ class RabbitMQChannel {
|
|
|
101
101
|
*/
|
|
102
102
|
async subscribe(handler, options) {
|
|
103
103
|
await this.assert();
|
|
104
|
-
|
|
104
|
+
// Use consumerId from options if provided, otherwise generate a random one
|
|
105
|
+
const subscriptionId = options?.consumerId ?? node_crypto.randomUUID();
|
|
105
106
|
// Set prefetch if specified
|
|
106
107
|
if (options?.prefetch) {
|
|
107
108
|
await this.amqpChannel.prefetch(options.prefetch);
|
|
@@ -123,16 +124,11 @@ class RabbitMQChannel {
|
|
|
123
124
|
let payload = content.payload;
|
|
124
125
|
// Validate with schema if provided
|
|
125
126
|
if (this.options.schema) {
|
|
126
|
-
const
|
|
127
|
+
const context = {
|
|
127
128
|
allValues: payload,
|
|
128
|
-
parent: null,
|
|
129
129
|
value: payload,
|
|
130
|
-
key: "",
|
|
131
|
-
path: "",
|
|
132
|
-
translateRule: (t) => t.rule?.defaultErrorMessage ?? "Validation failed",
|
|
133
|
-
translateAttribute: (t) => t.attribute ?? "",
|
|
134
130
|
};
|
|
135
|
-
const result = await this.options.schema
|
|
131
|
+
const result = await seal.v.validate(this.options.schema, payload, { context });
|
|
136
132
|
if (!result.isValid) {
|
|
137
133
|
// Reject invalid messages
|
|
138
134
|
this.amqpChannel.nack(msg, false, false);
|
|
@@ -251,6 +247,22 @@ class RabbitMQChannel {
|
|
|
251
247
|
this.subscriptions.set(subscriptionId, subscription);
|
|
252
248
|
return subscription;
|
|
253
249
|
}
|
|
250
|
+
/**
|
|
251
|
+
* Unsubscribe by consumer ID
|
|
252
|
+
*/
|
|
253
|
+
async unsubscribeById(consumerId) {
|
|
254
|
+
const subscription = this.subscriptions.get(consumerId);
|
|
255
|
+
if (subscription) {
|
|
256
|
+
await subscription.unsubscribe();
|
|
257
|
+
this.subscriptions.delete(consumerId);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Stop consuming subscriptions
|
|
262
|
+
*/
|
|
263
|
+
async stopConsuming() {
|
|
264
|
+
this.amqpChannel.pauseAllSubscriptions();
|
|
265
|
+
}
|
|
254
266
|
/**
|
|
255
267
|
* Send message to dead-letter queue
|
|
256
268
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rabbitmq-channel.js","sources":["../../../src/drivers/rabbitmq/rabbitmq-channel.ts"],"sourcesContent":[null],"names":["v","randomUUID"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rabbitmq-channel.js","sources":["../../../src/drivers/rabbitmq/rabbitmq-channel.ts"],"sourcesContent":[null],"names":["v","randomUUID"],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { ChannelContract, CommunicatorDriverContract } from "../../contracts";
|
|
2
|
+
import { EventMessage } from "../../message-managers/event-message";
|
|
3
|
+
import { EventConsumerClass } from "../../message-managers/types";
|
|
2
4
|
import type { ChannelOptions, CommunicatorEvent, CommunicatorEventListener, HealthCheckResult, RabbitMQConnectionOptions } from "../../types";
|
|
3
5
|
/**
|
|
4
6
|
* RabbitMQ Driver
|
|
@@ -24,6 +26,7 @@ import type { ChannelOptions, CommunicatorEvent, CommunicatorEventListener, Heal
|
|
|
24
26
|
*/
|
|
25
27
|
export declare class RabbitMQDriver implements CommunicatorDriverContract {
|
|
26
28
|
readonly name: "rabbitmq";
|
|
29
|
+
readonly consumers: EventConsumerClass[];
|
|
27
30
|
private readonly options;
|
|
28
31
|
private readonly events;
|
|
29
32
|
private readonly channels;
|
|
@@ -40,6 +43,25 @@ export declare class RabbitMQDriver implements CommunicatorDriverContract {
|
|
|
40
43
|
* Whether connected to RabbitMQ
|
|
41
44
|
*/
|
|
42
45
|
get isConnected(): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Subscribe the given consumer class to the driver
|
|
48
|
+
*
|
|
49
|
+
* @param consumer - Consumer class to subscribe
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* driver.subscribe(UserUpdatedConsumer);
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
subscribe(Consumer: EventConsumerClass): void;
|
|
57
|
+
/**
|
|
58
|
+
* Unsubscribe the given consumer
|
|
59
|
+
*/
|
|
60
|
+
unsubscribe(Consumer: EventConsumerClass): void;
|
|
61
|
+
/**
|
|
62
|
+
* Publish the given event message
|
|
63
|
+
*/
|
|
64
|
+
publish(event: EventMessage): void;
|
|
43
65
|
/**
|
|
44
66
|
* Connect to RabbitMQ
|
|
45
67
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rabbitmq-driver.d.ts","sourceRoot":"","sources":["../../../src/drivers/rabbitmq/rabbitmq-driver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"rabbitmq-driver.d.ts","sourceRoot":"","sources":["../../../src/drivers/rabbitmq/rabbitmq-driver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AAqDrB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,cAAe,YAAW,0BAA0B;IAC/D,SAAgB,IAAI,aAAuB;IAE3C,SAAgB,SAAS,EAAE,kBAAkB,EAAE,CAAM;IAErD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2C;IAEpE,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,YAAY,CAAS;IAE7B;;;;OAIG;gBACgB,OAAO,EAAE,yBAAyB;IAIrD;;OAEG;IACH,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED;;;;;;;;;OASG;IACI,SAAS,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAUpD;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAUtD;;OAEG;IACI,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAIzC;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoErC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;OAEG;YACW,eAAe;IAkB7B;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBxC;;OAEG;IACI,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,yBAAyB,GAAG,IAAI;IAI9E;;OAEG;IACI,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,yBAAyB,GAAG,IAAI;IAI/E;;OAEG;IACI,OAAO,CAAC,QAAQ,GAAG,OAAO,EAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GACjC,eAAe,CAAC,QAAQ,CAAC;IAc5B;;OAEG;IACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5C;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3C;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;IA6BtD;;OAEG;IACI,eAAe,IAAI,MAAM,EAAE;IAIlC;;OAEG;IACU,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtD;;OAEG;IACI,aAAa,IAAI,GAAG;IAI3B;;OAEG;IACI,gBAAgB,IAAI,GAAG;CAG/B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var node_events=require('node:events'),rabbitmqChannel=require('./rabbitmq-channel.js');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}// ============================================================
|
|
1
|
+
'use strict';var node_events=require('node:events'),prepareConsumerSubscription=require('../../message-managers/prepare-consumer-subscription.js'),rabbitmqChannel=require('./rabbitmq-channel.js');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}// ============================================================
|
|
2
2
|
// Lazy-loaded amqplib Module
|
|
3
3
|
// ============================================================
|
|
4
4
|
/**
|
|
@@ -65,6 +65,7 @@ loadAmqplibModule();
|
|
|
65
65
|
*/
|
|
66
66
|
class RabbitMQDriver {
|
|
67
67
|
name = "rabbitmq";
|
|
68
|
+
consumers = [];
|
|
68
69
|
options;
|
|
69
70
|
events = new node_events.EventEmitter();
|
|
70
71
|
channels = new Map();
|
|
@@ -85,6 +86,44 @@ class RabbitMQDriver {
|
|
|
85
86
|
get isConnected() {
|
|
86
87
|
return this._isConnected;
|
|
87
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Subscribe the given consumer class to the driver
|
|
91
|
+
*
|
|
92
|
+
* @param consumer - Consumer class to subscribe
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```typescript
|
|
96
|
+
* driver.subscribe(UserUpdatedConsumer);
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
subscribe(Consumer) {
|
|
100
|
+
if (this.isConnected) {
|
|
101
|
+
this.channel(Consumer.eventName).subscribe(prepareConsumerSubscription.prepareConsumerSubscription(Consumer), {
|
|
102
|
+
consumerId: Consumer.consumerId,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
this.consumers.push(Consumer);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Unsubscribe the given consumer
|
|
111
|
+
*/
|
|
112
|
+
unsubscribe(Consumer) {
|
|
113
|
+
if (this.isConnected) {
|
|
114
|
+
this.channel(Consumer.eventName).unsubscribeById(Consumer.consumerId);
|
|
115
|
+
}
|
|
116
|
+
const index = this.consumers.indexOf(Consumer);
|
|
117
|
+
if (index > -1) {
|
|
118
|
+
this.consumers.splice(index, 1);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Publish the given event message
|
|
123
|
+
*/
|
|
124
|
+
publish(event) {
|
|
125
|
+
this.channels.get(event.eventName)?.publish(event.serialize());
|
|
126
|
+
}
|
|
88
127
|
/**
|
|
89
128
|
* Connect to RabbitMQ
|
|
90
129
|
*/
|
|
@@ -120,6 +159,10 @@ class RabbitMQDriver {
|
|
|
120
159
|
}
|
|
121
160
|
this._isConnected = true;
|
|
122
161
|
this.events.emit("connected");
|
|
162
|
+
for (const consumer of this.consumers) {
|
|
163
|
+
this.subscribe(consumer);
|
|
164
|
+
}
|
|
165
|
+
this.consumers.length = 0;
|
|
123
166
|
// Handle connection close
|
|
124
167
|
this.connection.on("close", () => {
|
|
125
168
|
this._isConnected = false;
|
|
@@ -236,7 +279,8 @@ class RabbitMQDriver {
|
|
|
236
279
|
async stopConsuming() {
|
|
237
280
|
// Cancel all consumers
|
|
238
281
|
for (const channel of this.channels.values()) {
|
|
239
|
-
// Channel implementations should handle this
|
|
282
|
+
// Channel implementations should handle this // Need to add pauseAllSubscriptions() to RabbitMQChannel
|
|
283
|
+
// await channel.stopConsuming();
|
|
240
284
|
}
|
|
241
285
|
}
|
|
242
286
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rabbitmq-driver.js","sources":["../../../src/drivers/rabbitmq/rabbitmq-driver.ts"],"sourcesContent":[null],"names":["EventEmitter","RabbitMQChannel"],"mappings":"
|
|
1
|
+
{"version":3,"file":"rabbitmq-driver.js","sources":["../../../src/drivers/rabbitmq/rabbitmq-driver.ts"],"sourcesContent":[null],"names":["EventEmitter","prepareConsumerSubscription","RabbitMQChannel"],"mappings":"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"}
|
package/cjs/index.d.ts
CHANGED
package/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,aAAa,CAAC;AAG5B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,WAAW,CAAC;AAG1B,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,aAAa,CAAC;AAG5B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,WAAW,CAAC;AAG1B,cAAc,SAAS,CAAC;AAGxB,cAAc,oBAAoB,CAAC"}
|
package/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var communicator=require('./communicators/communicator.js'),communicatorRegistry=require('./communicators/communicator-registry.js'),rabbitmqDriver=require('./drivers/rabbitmq/rabbitmq-driver.js'),rabbitmqChannel=require('./drivers/rabbitmq/rabbitmq-channel.js'),connectToCommunicator=require('./utils/connect-to-communicator.js');exports.Communicator=communicator.Communicator;exports.MissingCommunicatorError=communicatorRegistry.MissingCommunicatorError;exports.communicatorRegistry=communicatorRegistry.communicatorRegistry;exports.RabbitMQDriver=rabbitmqDriver.RabbitMQDriver;exports.RabbitMQChannel=rabbitmqChannel.RabbitMQChannel;exports.communicatorChannel=connectToCommunicator.communicatorChannel;exports.communicators=connectToCommunicator.communicators;exports.connectToCommunicator=connectToCommunicator.connectToCommunicator;//# sourceMappingURL=index.js.map
|
|
1
|
+
'use strict';var communicator=require('./communicators/communicator.js'),communicatorRegistry=require('./communicators/communicator-registry.js'),rabbitmqDriver=require('./drivers/rabbitmq/rabbitmq-driver.js'),rabbitmqChannel=require('./drivers/rabbitmq/rabbitmq-channel.js'),connectToCommunicator=require('./utils/connect-to-communicator.js'),eventConsumer=require('./message-managers/event-consumer.js'),eventMessage=require('./message-managers/event-message.js');exports.Communicator=communicator.Communicator;exports.MissingCommunicatorError=communicatorRegistry.MissingCommunicatorError;exports.communicatorRegistry=communicatorRegistry.communicatorRegistry;exports.RabbitMQDriver=rabbitmqDriver.RabbitMQDriver;exports.RabbitMQChannel=rabbitmqChannel.RabbitMQChannel;exports.communicatorChannel=connectToCommunicator.communicatorChannel;exports.communicators=connectToCommunicator.communicators;exports.connectToCommunicator=connectToCommunicator.connectToCommunicator;exports.EventConsumer=eventConsumer.EventConsumer;exports.EventMessage=eventMessage.EventMessage;//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This class is used to be part of the Herald Event Consumer Manager.
|
|
3
|
+
* It should be used to consume events from Either RabbitMQ or Kafka through Herald
|
|
4
|
+
*
|
|
5
|
+
* It's highly recommended using it instead of declaring manual channel namd and subscribing to event
|
|
6
|
+
*/
|
|
7
|
+
import { ValidationResult, type ObjectValidator } from "@warlock.js/seal";
|
|
8
|
+
import { ConsumedEventMessage } from "./types";
|
|
9
|
+
export declare abstract class EventConsumer<Payload = Record<string, any>> {
|
|
10
|
+
/**
|
|
11
|
+
* Event name
|
|
12
|
+
*/
|
|
13
|
+
static eventName: string;
|
|
14
|
+
static consumerId: `${string}-${string}-${string}-${string}-${string}`;
|
|
15
|
+
get eventName(): string;
|
|
16
|
+
/**
|
|
17
|
+
* Min version accepted to be consumed by this class
|
|
18
|
+
*/
|
|
19
|
+
static minVersion?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Max version accepted to be consumed by this class
|
|
22
|
+
*/
|
|
23
|
+
static maxVersion?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Payload validation to auto reject the received event before accessing it in the handle method
|
|
26
|
+
*/
|
|
27
|
+
schema?: ObjectValidator;
|
|
28
|
+
/**
|
|
29
|
+
* The method that will be called when the event is received
|
|
30
|
+
*/
|
|
31
|
+
abstract handle(payload: Payload, event: ConsumedEventMessage): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Determine whether this is accepted version to be used by this consumer
|
|
34
|
+
*/
|
|
35
|
+
static isAcceptedVersion(version: number): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Validate the given data
|
|
38
|
+
*/
|
|
39
|
+
validate(data: Payload): Promise<ValidationResult | void>;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=event-consumer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-consumer.d.ts","sourceRoot":"","sources":["../../src/message-managers/event-consumer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,8BAAsB,aAAa,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC/D;;OAEG;IACH,OAAc,SAAS,EAAE,MAAM,CAAC;IAEhC,OAAc,UAAU,sDAAgB;IAExC,IAAW,SAAS,WAEnB;IAED;;OAEG;IACH,OAAc,UAAU,CAAC,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,OAAc,UAAU,CAAC,EAAE,MAAM,CAAC;IAElC;;OAEG;IACI,MAAM,CAAC,EAAE,eAAe,CAAC;IAEhC;;OAEG;aACa,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAEpF;;OAEG;WACW,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOzD;;OAEG;IACU,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;CAKvE"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use strict';var seal=require('@warlock.js/seal'),crypto=require('crypto');/**
|
|
2
|
+
* This class is used to be part of the Herald Event Consumer Manager.
|
|
3
|
+
* It should be used to consume events from Either RabbitMQ or Kafka through Herald
|
|
4
|
+
*
|
|
5
|
+
* It's highly recommended using it instead of declaring manual channel namd and subscribing to event
|
|
6
|
+
*/
|
|
7
|
+
class EventConsumer {
|
|
8
|
+
/**
|
|
9
|
+
* Event name
|
|
10
|
+
*/
|
|
11
|
+
static eventName;
|
|
12
|
+
static consumerId = crypto.randomUUID();
|
|
13
|
+
get eventName() {
|
|
14
|
+
return this.constructor.eventName;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Min version accepted to be consumed by this class
|
|
18
|
+
*/
|
|
19
|
+
static minVersion;
|
|
20
|
+
/**
|
|
21
|
+
* Max version accepted to be consumed by this class
|
|
22
|
+
*/
|
|
23
|
+
static maxVersion;
|
|
24
|
+
/**
|
|
25
|
+
* Payload validation to auto reject the received event before accessing it in the handle method
|
|
26
|
+
*/
|
|
27
|
+
schema;
|
|
28
|
+
/**
|
|
29
|
+
* Determine whether this is accepted version to be used by this consumer
|
|
30
|
+
*/
|
|
31
|
+
static isAcceptedVersion(version) {
|
|
32
|
+
if (this.minVersion && version < this.minVersion)
|
|
33
|
+
return false;
|
|
34
|
+
if (this.maxVersion && version > this.maxVersion)
|
|
35
|
+
return false;
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Validate the given data
|
|
40
|
+
*/
|
|
41
|
+
async validate(data) {
|
|
42
|
+
if (!this.schema)
|
|
43
|
+
return;
|
|
44
|
+
return await seal.v.validate(this.schema, data);
|
|
45
|
+
}
|
|
46
|
+
}exports.EventConsumer=EventConsumer;//# sourceMappingURL=event-consumer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-consumer.js","sources":["../../src/message-managers/event-consumer.ts"],"sourcesContent":[null],"names":["randomUUID","v"],"mappings":"2EAAA;;;;;AAKG;MAKmB,aAAa,CAAA;AACjC;;AAEG;IACI,OAAO,SAAS,CAAS;AAEzB,IAAA,OAAO,UAAU,GAAGA,iBAAU,EAAE,CAAC;AAExC,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAQ,IAAI,CAAC,WAAoC,CAAC,SAAS,CAAC;KAC7D;AAED;;AAEG;IACI,OAAO,UAAU,CAAU;AAElC;;AAEG;IACI,OAAO,UAAU,CAAU;AAElC;;AAEG;AACI,IAAA,MAAM,CAAmB;AAOhC;;AAEG;IACI,OAAO,iBAAiB,CAAC,OAAe,EAAA;QAC7C,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU;AAAE,YAAA,OAAO,KAAK,CAAC;QAC/D,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU;AAAE,YAAA,OAAO,KAAK,CAAC;AAE/D,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,MAAM,QAAQ,CAAC,IAAa,EAAA;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEzB,OAAO,MAAMC,MAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KAC5C;"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This class is used to be part of the Herald Event Message Manager.
|
|
3
|
+
* It should be used to trigger events to Either RabbitMQ or Kafka through Herald
|
|
4
|
+
*
|
|
5
|
+
* It's highly recommended using it instead of declaring manual channel namd and publishing data
|
|
6
|
+
*/
|
|
7
|
+
import { type ObjectValidator } from "@warlock.js/seal";
|
|
8
|
+
export declare abstract class EventMessage {
|
|
9
|
+
/**
|
|
10
|
+
* Event Name
|
|
11
|
+
*/
|
|
12
|
+
abstract eventName: string;
|
|
13
|
+
/**
|
|
14
|
+
* Event version
|
|
15
|
+
*/
|
|
16
|
+
version?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Additional metadata (if any)
|
|
19
|
+
*/
|
|
20
|
+
metadata?: Record<string, any>;
|
|
21
|
+
/**
|
|
22
|
+
* Event Message id
|
|
23
|
+
*/
|
|
24
|
+
messageId?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Schema of payload that will be used to determine whether this event should be published
|
|
27
|
+
*/
|
|
28
|
+
schema?: ObjectValidator;
|
|
29
|
+
/**
|
|
30
|
+
* Data that will be sent with the event (Payload)
|
|
31
|
+
*/
|
|
32
|
+
abstract toJSON(): Record<string, any>;
|
|
33
|
+
/**
|
|
34
|
+
* Serialize the event to be ready for publishing
|
|
35
|
+
*/
|
|
36
|
+
serialize(): {
|
|
37
|
+
payload: Record<string, any>;
|
|
38
|
+
metadata: Record<string, any>;
|
|
39
|
+
messageId: string;
|
|
40
|
+
eventName: string;
|
|
41
|
+
version: number;
|
|
42
|
+
occurredAt: Date;
|
|
43
|
+
__through: string;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=event-message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-message.d.ts","sourceRoot":"","sources":["../../src/message-managers/event-message.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,8BAAsB,YAAY;IAChC;;OAEG;IACH,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC;;OAEG;IACI,OAAO,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACI,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEtC;;OAEG;IACI,SAAS,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACI,MAAM,CAAC,EAAE,eAAe,CAAC;IAEhC;;OAEG;aACa,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE7C;;OAEG;IACI,SAAS;;;;;;;;;CAWjB"}
|