redis-smq-common 9.0.6-next.1 → 9.0.6
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/CHANGELOG.md +20 -0
- package/README.md +14 -14
- package/dist/cjs/src/event-bus/event-bus-redis.d.ts +1 -1
- package/dist/cjs/src/event-bus/event-bus-redis.d.ts.map +1 -1
- package/dist/cjs/src/event-bus/event-bus-redis.js +12 -7
- package/dist/cjs/src/event-bus/event-bus-redis.js.map +1 -1
- package/dist/cjs/src/event-bus/event-bus.d.ts +7 -1
- package/dist/cjs/src/event-bus/event-bus.d.ts.map +1 -1
- package/dist/cjs/src/event-bus/event-bus.js +29 -2
- package/dist/cjs/src/event-bus/event-bus.js.map +1 -1
- package/dist/esm/src/event-bus/event-bus-redis.d.ts +1 -1
- package/dist/esm/src/event-bus/event-bus-redis.d.ts.map +1 -1
- package/dist/esm/src/event-bus/event-bus-redis.js +12 -7
- package/dist/esm/src/event-bus/event-bus-redis.js.map +1 -1
- package/dist/esm/src/event-bus/event-bus.d.ts +7 -1
- package/dist/esm/src/event-bus/event-bus.d.ts.map +1 -1
- package/dist/esm/src/event-bus/event-bus.js +30 -2
- package/dist/esm/src/event-bus/event-bus.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,26 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [9.0.6](https://github.com/weyoss/redis-smq/compare/v9.0.6-next.2...v9.0.6) (2025-12-27)
|
|
7
|
+
|
|
8
|
+
### 🚀 Chore
|
|
9
|
+
|
|
10
|
+
- update READMEs after merging 'origin/next' into 'master' ([a1905cb](https://github.com/weyoss/redis-smq/commit/a1905cb56c43f62d9a4a41b82c319e17a9ef32e1))
|
|
11
|
+
|
|
12
|
+
## [9.0.6-next.2](https://github.com/weyoss/redis-smq/compare/v9.0.6-next.1...v9.0.6-next.2) (2025-12-26)
|
|
13
|
+
|
|
14
|
+
### 📝 Documentation
|
|
15
|
+
|
|
16
|
+
- **redis-smq-common:** update class EventBus/EventBusRedis refs ([67726ab](https://github.com/weyoss/redis-smq/commit/67726ab6d4026548177861c9af8b73aebd8bbda4))
|
|
17
|
+
|
|
18
|
+
### ♻️ Code Refactoring
|
|
19
|
+
|
|
20
|
+
- **redis-smq-common:** add namespace support to EventBus classes ([da4124d](https://github.com/weyoss/redis-smq/commit/da4124df63065dac73d950d298b9ddfa672c29ad))
|
|
21
|
+
|
|
22
|
+
### ✅ Tests
|
|
23
|
+
|
|
24
|
+
- **redis-smq-common:** add test for EventBus custom namespace usage ([54cd0b6](https://github.com/weyoss/redis-smq/commit/54cd0b6a653d1d743599b23ebf1a49e2f82e57a6))
|
|
25
|
+
|
|
6
26
|
## [9.0.6-next.1](https://github.com/weyoss/redis-smq/compare/v9.0.6-next.0...v9.0.6-next.1) (2025-12-25)
|
|
7
27
|
|
|
8
28
|
**Note:** Version bump only for package redis-smq-common
|
package/README.md
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
# RedisSMQ Common Library
|
|
2
2
|
|
|
3
3
|
> [!NOTE]
|
|
4
|
-
> You are viewing the documentation for the "
|
|
5
|
-
> For
|
|
4
|
+
> You are viewing the documentation for the "master" branch. These docs describe the latest stable release.
|
|
5
|
+
> For pre-release documentation, see:
|
|
6
6
|
>
|
|
7
|
-
> -
|
|
7
|
+
> - Next (pre-release) README: https://github.com/weyoss/redis-smq/tree/next/packages/redis-smq-common
|
|
8
8
|
> - Latest release notes/tags: https://github.com/weyoss/redis-smq/releases/latest
|
|
9
9
|
> - Install stable packages with @latest; pre-release with @next.
|
|
10
10
|
|
|
11
|
-
[](https://github.com/weyoss/redis-smq/releases/latest)
|
|
12
|
+
[](https://app.codecov.io/github/weyoss/redis-smq/tree/master/packages/redis-smq-common)
|
|
13
13
|
|
|
14
14
|
A shared foundation for the RedisSMQ ecosystem.
|
|
15
15
|
This package provides essential components and utilities used by RedisSMQ and related packages, helping you configure
|
|
@@ -32,9 +32,9 @@ Redis clients, structure logging, and reuse core types across the stack.
|
|
|
32
32
|
Install the package:
|
|
33
33
|
|
|
34
34
|
```bash
|
|
35
|
-
npm install redis-smq-common
|
|
35
|
+
npm install redis-smq-common
|
|
36
36
|
# or
|
|
37
|
-
pnpm add redis-smq-common
|
|
37
|
+
pnpm add redis-smq-common
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
This package works with multiple Redis clients. Install one of the supported clients based on your needs:
|
|
@@ -55,19 +55,19 @@ Note: Redis clients are optional peer dependencies; pick one and configure it in
|
|
|
55
55
|
|
|
56
56
|
## Version compatibility
|
|
57
57
|
|
|
58
|
-
Always install matching versions of RedisSMQ packages to ensure compatibility. See [version compatibility](https://github.com/weyoss/redis-smq/tree/
|
|
58
|
+
Always install matching versions of RedisSMQ packages to ensure compatibility. See [version compatibility](https://github.com/weyoss/redis-smq/tree/master/packages/redis-smq/docs/version-compatibility.md) for details.
|
|
59
59
|
|
|
60
60
|
## Documentation
|
|
61
61
|
|
|
62
|
-
For in-depth guides and API references, see [the documentation page](https://github.com/weyoss/redis-smq/tree/
|
|
62
|
+
For in-depth guides and API references, see [the documentation page](https://github.com/weyoss/redis-smq/tree/master/packages/redis-smq-common/docs/README.md).
|
|
63
63
|
|
|
64
64
|
## Related packages
|
|
65
65
|
|
|
66
|
-
- [redis-smq](https://github.com/weyoss/redis-smq/tree/
|
|
67
|
-
- [redis-smq-rest-api](https://github.com/weyoss/redis-smq/tree/
|
|
68
|
-
- [redis-smq-web-server](https://github.com/weyoss/redis-smq/tree/
|
|
69
|
-
- [redis-smq-web-ui](https://github.com/weyoss/redis-smq/tree/
|
|
66
|
+
- [redis-smq](https://github.com/weyoss/redis-smq/tree/master/packages/redis-smq/README.md): Core message queue for Node.js
|
|
67
|
+
- [redis-smq-rest-api](https://github.com/weyoss/redis-smq/tree/master/packages/redis-smq-rest-api/README.md): REST API with OpenAPI v3 and Swagger UI
|
|
68
|
+
- [redis-smq-web-server](https://github.com/weyoss/redis-smq/tree/master/packages/redis-smq-web-server/README.md): Web server for hosting the UI and proxying/serving the API
|
|
69
|
+
- [redis-smq-web-ui](https://github.com/weyoss/redis-smq/tree/master/packages/redis-smq-web-ui/README.md): SPA for monitoring and managing RedisSMQ
|
|
70
70
|
|
|
71
71
|
## License
|
|
72
72
|
|
|
73
|
-
RedisSMQ Common Library is released under the [MIT License](https://github.com/weyoss/redis-smq/tree/
|
|
73
|
+
RedisSMQ Common Library is released under the [MIT License](https://github.com/weyoss/redis-smq/tree/master/LICENSE).
|
|
@@ -6,7 +6,7 @@ export declare class EventBusRedis<Events extends TEventBusEvent> extends EventB
|
|
|
6
6
|
protected pubClient: RedisClientFactory;
|
|
7
7
|
protected subClient: RedisClientFactory;
|
|
8
8
|
private readonly subscribedEvents;
|
|
9
|
-
constructor(config: IEventBusRedisConfig);
|
|
9
|
+
constructor(config: IEventBusRedisConfig, namespace?: string);
|
|
10
10
|
emit<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>): boolean;
|
|
11
11
|
on<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
12
12
|
once<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus-redis.d.ts","sourceRoot":"","sources":["../../../../src/event-bus/event-bus-redis.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,qBAAa,aAAa,CACxB,MAAM,SAAS,cAAc,CAC7B,SAAQ,QAAQ,CAAC,MAAM,CAAC;IACxB,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACxC,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC;IAGxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;gBAE1C,MAAM,EAAE,oBAAoB;IAS/
|
|
1
|
+
{"version":3,"file":"event-bus-redis.d.ts","sourceRoot":"","sources":["../../../../src/event-bus/event-bus-redis.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,qBAAa,aAAa,CACxB,MAAM,SAAS,cAAc,CAC7B,SAAQ,QAAQ,CAAC,MAAM,CAAC;IACxB,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACxC,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC;IAGxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;gBAE1C,MAAM,EAAE,oBAAoB,EAAE,SAAS,SAAK;IAS/C,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,EAClC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAC7B,OAAO;IAgBD,EAAE,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;IAO/D,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;IAOjE,cAAc,CAAC,CAAC,SAAS,MAAM,MAAM,EAC5C,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAClB,IAAI;IAaE,kBAAkB,CAAC,CAAC,SAAS,MAAM,MAAM,EAChD,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,GACzB,IAAI;IAYP,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,8BAA8B;IAQtC,OAAO,CAAC,qBAAqB;cAOV,OAAO,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;cA2B5C,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;CAWlE"}
|
|
@@ -5,8 +5,8 @@ const index_js_1 = require("../redis-client/index.js");
|
|
|
5
5
|
const index_js_2 = require("./errors/index.js");
|
|
6
6
|
const event_bus_js_1 = require("./event-bus.js");
|
|
7
7
|
class EventBusRedis extends event_bus_js_1.EventBus {
|
|
8
|
-
constructor(config) {
|
|
9
|
-
super(config);
|
|
8
|
+
constructor(config, namespace = '') {
|
|
9
|
+
super(config, namespace);
|
|
10
10
|
this.subscribedEvents = new Set();
|
|
11
11
|
this.pubClient = new index_js_1.RedisClientFactory(config.redis);
|
|
12
12
|
this.pubClient.on('error', (err) => this.handleError(err));
|
|
@@ -21,33 +21,38 @@ class EventBusRedis extends event_bus_js_1.EventBus {
|
|
|
21
21
|
this.eventEmitter.emit('error', new index_js_2.EventBusNotConnectedError());
|
|
22
22
|
return false;
|
|
23
23
|
}
|
|
24
|
+
const namespacedEvent = this.toNamespacedEvent(String(event));
|
|
24
25
|
this.pubClient
|
|
25
26
|
.getInstance()
|
|
26
|
-
.publish(
|
|
27
|
+
.publish(namespacedEvent, JSON.stringify(args), () => void 0);
|
|
27
28
|
return true;
|
|
28
29
|
}
|
|
29
30
|
on(event, listener) {
|
|
30
31
|
super.on(event, listener);
|
|
31
|
-
this.
|
|
32
|
+
const namespacedEvent = this.toNamespacedEvent(String(event));
|
|
33
|
+
this.ensureSubscribed(namespacedEvent);
|
|
32
34
|
return this;
|
|
33
35
|
}
|
|
34
36
|
once(event, listener) {
|
|
35
37
|
super.once(event, listener);
|
|
36
|
-
this.
|
|
38
|
+
const namespacedEvent = this.toNamespacedEvent(String(event));
|
|
39
|
+
this.ensureSubscribed(namespacedEvent);
|
|
37
40
|
return this;
|
|
38
41
|
}
|
|
39
42
|
removeListener(event, listener) {
|
|
40
43
|
super.removeListener(event, listener);
|
|
41
44
|
if (event !== 'error' &&
|
|
42
45
|
this.eventEmitter.listenerCount(String(event)) === 0) {
|
|
43
|
-
this.
|
|
46
|
+
const namespacedEvent = this.toNamespacedEvent(String(event));
|
|
47
|
+
this.ensureUnsubscribed(namespacedEvent);
|
|
44
48
|
}
|
|
45
49
|
return this;
|
|
46
50
|
}
|
|
47
51
|
removeAllListeners(event) {
|
|
48
52
|
super.removeAllListeners(event);
|
|
49
53
|
if (event && event !== 'error') {
|
|
50
|
-
this.
|
|
54
|
+
const namespacedEvent = this.toNamespacedEvent(String(event));
|
|
55
|
+
this.ensureUnsubscribed(namespacedEvent);
|
|
51
56
|
}
|
|
52
57
|
else if (!event) {
|
|
53
58
|
this.ensureUnsubscribed();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus-redis.js","sourceRoot":"","sources":["../../../../src/event-bus/event-bus-redis.ts"],"names":[],"mappings":";;;AAWA,uDAA8D;AAC9D,gDAA6E;AAC7E,iDAA0C;AAE1C,MAAa,aAEX,SAAQ,uBAAgB;IAOxB,YAAY,MAA4B;
|
|
1
|
+
{"version":3,"file":"event-bus-redis.js","sourceRoot":"","sources":["../../../../src/event-bus/event-bus-redis.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,15 @@ import { ILogger } from '../logger/index.js';
|
|
|
4
4
|
import { ICallback } from '../async/index.js';
|
|
5
5
|
export declare class EventBus<Events extends TEventBusEvent> extends Runnable<Events> {
|
|
6
6
|
private readonly logger;
|
|
7
|
-
|
|
7
|
+
private readonly namespace;
|
|
8
|
+
constructor(config?: IEventBusConfig, namespace?: string);
|
|
8
9
|
protected getLogger(): ILogger;
|
|
10
|
+
protected toNamespacedEvent(event: string): string;
|
|
9
11
|
emit<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>): boolean;
|
|
12
|
+
on<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
13
|
+
once<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
14
|
+
removeListener<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
15
|
+
removeAllListeners<E extends keyof Events>(event?: E): this;
|
|
10
16
|
protected goingDown(): ((cb: ICallback<void>) => void)[];
|
|
11
17
|
}
|
|
12
18
|
//# sourceMappingURL=event-bus.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../../../src/event-bus/event-bus.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAgB,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../../../src/event-bus/event-bus.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAgB,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAK9C,qBAAa,QAAQ,CAAC,MAAM,SAAS,cAAc,CAAE,SAAQ,QAAQ,CAAC,MAAM,CAAC;IAC3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,MAAM,GAAE,eAAoB,EAAE,SAAS,SAAK;cAMrC,SAAS,IAAI,OAAO;IAQvC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAUzC,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,EAClC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAC7B,OAAO;IAmBD,EAAE,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;IAW/D,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;IAMjE,cAAc,CAAC,CAAC,SAAS,MAAM,MAAM,EAC5C,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAClB,IAAI;IASE,kBAAkB,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI;cAUjD,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;CAQlE"}
|
|
@@ -5,13 +5,17 @@ const index_js_1 = require("./errors/index.js");
|
|
|
5
5
|
const index_js_2 = require("../runnable/index.js");
|
|
6
6
|
const index_js_3 = require("../logger/index.js");
|
|
7
7
|
class EventBus extends index_js_2.Runnable {
|
|
8
|
-
constructor(config = {}) {
|
|
8
|
+
constructor(config = {}, namespace = '') {
|
|
9
9
|
super();
|
|
10
10
|
this.logger = (0, index_js_3.createLogger)(config === null || config === void 0 ? void 0 : config.logger);
|
|
11
|
+
this.namespace = namespace ? `${namespace}:` : '';
|
|
11
12
|
}
|
|
12
13
|
getLogger() {
|
|
13
14
|
return this.logger;
|
|
14
15
|
}
|
|
16
|
+
toNamespacedEvent(event) {
|
|
17
|
+
return event === 'error' ? 'error' : `${this.namespace}${event}`;
|
|
18
|
+
}
|
|
15
19
|
emit(event, ...args) {
|
|
16
20
|
if (event === 'error') {
|
|
17
21
|
return super.emit(event, ...args);
|
|
@@ -20,7 +24,30 @@ class EventBus extends index_js_2.Runnable {
|
|
|
20
24
|
this.eventEmitter.emit('error', new index_js_1.EventBusNotConnectedError());
|
|
21
25
|
return false;
|
|
22
26
|
}
|
|
23
|
-
|
|
27
|
+
const namespacedEvent = this.toNamespacedEvent(String(event));
|
|
28
|
+
this.eventEmitter.emit(namespacedEvent, ...args);
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
on(event, listener) {
|
|
32
|
+
const namespacedEvent = this.toNamespacedEvent(String(event));
|
|
33
|
+
this.eventEmitter.on(namespacedEvent, listener);
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
once(event, listener) {
|
|
37
|
+
const namespacedEvent = this.toNamespacedEvent(String(event));
|
|
38
|
+
this.eventEmitter.once(namespacedEvent, listener);
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
removeListener(event, listener) {
|
|
42
|
+
const namespacedEvent = this.toNamespacedEvent(String(event));
|
|
43
|
+
this.eventEmitter.removeListener(namespacedEvent, listener);
|
|
44
|
+
return this;
|
|
45
|
+
}
|
|
46
|
+
removeAllListeners(event) {
|
|
47
|
+
const namespacedEvent = event
|
|
48
|
+
? this.toNamespacedEvent(String(event))
|
|
49
|
+
: undefined;
|
|
50
|
+
return super.removeAllListeners(namespacedEvent);
|
|
24
51
|
}
|
|
25
52
|
goingDown() {
|
|
26
53
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../../src/event-bus/event-bus.ts"],"names":[],"mappings":";;;AASA,gDAA8D;AAE9D,mDAAgD;AAChD,iDAA2D;
|
|
1
|
+
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../../src/event-bus/event-bus.ts"],"names":[],"mappings":";;;AASA,gDAA8D;AAE9D,mDAAgD;AAChD,iDAA2D;AAM3D,MAAa,QAAwC,SAAQ,mBAAgB;IAI3E,YAAY,SAA0B,EAAE,EAAE,SAAS,GAAG,EAAE;QACtD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,IAAA,uBAAY,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,CAAC;IAEkB,SAAS;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAMS,iBAAiB,CAAC,KAAa;QACvC,OAAO,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,EAAE,CAAC;IACnE,CAAC;IAQQ,IAAI,CACX,KAAQ,EACR,GAAG,IAA2B;QAE9B,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,oCAAyB,EAAE,CAAC,CAAC;YACjE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAOQ,EAAE,CAAyB,KAAQ,EAAE,QAAmB;QAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAOQ,IAAI,CAAyB,KAAQ,EAAE,QAAmB;QACjE,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,cAAc,CACrB,KAAQ,EACR,QAAmB;QAEnB,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAKQ,kBAAkB,CAAyB,KAAS;QAC3D,MAAM,eAAe,GAAG,KAAK;YAC3B,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,KAAK,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC;IAKkB,SAAS;QAC1B,OAAO;YACL,CAAC,EAAa,EAAE,EAAE;gBAChB,KAAK,CAAC,kBAAkB,EAAE,CAAC;gBAC3B,EAAE,EAAE,CAAC;YACP,CAAC;SACF,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF;AAjGD,4BAiGC"}
|
|
@@ -6,7 +6,7 @@ export declare class EventBusRedis<Events extends TEventBusEvent> extends EventB
|
|
|
6
6
|
protected pubClient: RedisClientFactory;
|
|
7
7
|
protected subClient: RedisClientFactory;
|
|
8
8
|
private readonly subscribedEvents;
|
|
9
|
-
constructor(config: IEventBusRedisConfig);
|
|
9
|
+
constructor(config: IEventBusRedisConfig, namespace?: string);
|
|
10
10
|
emit<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>): boolean;
|
|
11
11
|
on<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
12
12
|
once<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus-redis.d.ts","sourceRoot":"","sources":["../../../../src/event-bus/event-bus-redis.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,qBAAa,aAAa,CACxB,MAAM,SAAS,cAAc,CAC7B,SAAQ,QAAQ,CAAC,MAAM,CAAC;IACxB,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACxC,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC;IAGxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;gBAE1C,MAAM,EAAE,oBAAoB;IAS/
|
|
1
|
+
{"version":3,"file":"event-bus-redis.d.ts","sourceRoot":"","sources":["../../../../src/event-bus/event-bus-redis.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,qBAAa,aAAa,CACxB,MAAM,SAAS,cAAc,CAC7B,SAAQ,QAAQ,CAAC,MAAM,CAAC;IACxB,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACxC,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC;IAGxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;gBAE1C,MAAM,EAAE,oBAAoB,EAAE,SAAS,SAAK;IAS/C,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,EAClC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAC7B,OAAO;IAgBD,EAAE,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;IAO/D,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;IAOjE,cAAc,CAAC,CAAC,SAAS,MAAM,MAAM,EAC5C,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAClB,IAAI;IAaE,kBAAkB,CAAC,CAAC,SAAS,MAAM,MAAM,EAChD,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,GACzB,IAAI;IAYP,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,8BAA8B;IAQtC,OAAO,CAAC,qBAAqB;cAOV,OAAO,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;cA2B5C,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;CAWlE"}
|
|
@@ -5,8 +5,8 @@ export class EventBusRedis extends EventBus {
|
|
|
5
5
|
pubClient;
|
|
6
6
|
subClient;
|
|
7
7
|
subscribedEvents = new Set();
|
|
8
|
-
constructor(config) {
|
|
9
|
-
super(config);
|
|
8
|
+
constructor(config, namespace = '') {
|
|
9
|
+
super(config, namespace);
|
|
10
10
|
this.pubClient = new RedisClientFactory(config.redis);
|
|
11
11
|
this.pubClient.on('error', (err) => this.handleError(err));
|
|
12
12
|
this.subClient = new RedisClientFactory(config.redis);
|
|
@@ -20,33 +20,38 @@ export class EventBusRedis extends EventBus {
|
|
|
20
20
|
this.eventEmitter.emit('error', new EventBusNotConnectedError());
|
|
21
21
|
return false;
|
|
22
22
|
}
|
|
23
|
+
const namespacedEvent = this.toNamespacedEvent(String(event));
|
|
23
24
|
this.pubClient
|
|
24
25
|
.getInstance()
|
|
25
|
-
.publish(
|
|
26
|
+
.publish(namespacedEvent, JSON.stringify(args), () => void 0);
|
|
26
27
|
return true;
|
|
27
28
|
}
|
|
28
29
|
on(event, listener) {
|
|
29
30
|
super.on(event, listener);
|
|
30
|
-
this.
|
|
31
|
+
const namespacedEvent = this.toNamespacedEvent(String(event));
|
|
32
|
+
this.ensureSubscribed(namespacedEvent);
|
|
31
33
|
return this;
|
|
32
34
|
}
|
|
33
35
|
once(event, listener) {
|
|
34
36
|
super.once(event, listener);
|
|
35
|
-
this.
|
|
37
|
+
const namespacedEvent = this.toNamespacedEvent(String(event));
|
|
38
|
+
this.ensureSubscribed(namespacedEvent);
|
|
36
39
|
return this;
|
|
37
40
|
}
|
|
38
41
|
removeListener(event, listener) {
|
|
39
42
|
super.removeListener(event, listener);
|
|
40
43
|
if (event !== 'error' &&
|
|
41
44
|
this.eventEmitter.listenerCount(String(event)) === 0) {
|
|
42
|
-
this.
|
|
45
|
+
const namespacedEvent = this.toNamespacedEvent(String(event));
|
|
46
|
+
this.ensureUnsubscribed(namespacedEvent);
|
|
43
47
|
}
|
|
44
48
|
return this;
|
|
45
49
|
}
|
|
46
50
|
removeAllListeners(event) {
|
|
47
51
|
super.removeAllListeners(event);
|
|
48
52
|
if (event && event !== 'error') {
|
|
49
|
-
this.
|
|
53
|
+
const namespacedEvent = this.toNamespacedEvent(String(event));
|
|
54
|
+
this.ensureUnsubscribed(namespacedEvent);
|
|
50
55
|
}
|
|
51
56
|
else if (!event) {
|
|
52
57
|
this.ensureUnsubscribed();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus-redis.js","sourceRoot":"","sources":["../../../../src/event-bus/event-bus-redis.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,OAAO,aAEX,SAAQ,QAAgB;IACd,SAAS,CAAqB;IAC9B,SAAS,CAAqB;IAGvB,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEtD,YAAY,MAA4B;
|
|
1
|
+
{"version":3,"file":"event-bus-redis.js","sourceRoot":"","sources":["../../../../src/event-bus/event-bus-redis.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,15 @@ import { ILogger } from '../logger/index.js';
|
|
|
4
4
|
import { ICallback } from '../async/index.js';
|
|
5
5
|
export declare class EventBus<Events extends TEventBusEvent> extends Runnable<Events> {
|
|
6
6
|
private readonly logger;
|
|
7
|
-
|
|
7
|
+
private readonly namespace;
|
|
8
|
+
constructor(config?: IEventBusConfig, namespace?: string);
|
|
8
9
|
protected getLogger(): ILogger;
|
|
10
|
+
protected toNamespacedEvent(event: string): string;
|
|
9
11
|
emit<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>): boolean;
|
|
12
|
+
on<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
13
|
+
once<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
14
|
+
removeListener<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
15
|
+
removeAllListeners<E extends keyof Events>(event?: E): this;
|
|
10
16
|
protected goingDown(): ((cb: ICallback<void>) => void)[];
|
|
11
17
|
}
|
|
12
18
|
//# sourceMappingURL=event-bus.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../../../src/event-bus/event-bus.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAgB,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../../../src/event-bus/event-bus.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAgB,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAK9C,qBAAa,QAAQ,CAAC,MAAM,SAAS,cAAc,CAAE,SAAQ,QAAQ,CAAC,MAAM,CAAC;IAC3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,MAAM,GAAE,eAAoB,EAAE,SAAS,SAAK;cAMrC,SAAS,IAAI,OAAO;IAQvC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAUzC,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,EAClC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAC7B,OAAO;IAmBD,EAAE,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;IAW/D,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;IAMjE,cAAc,CAAC,CAAC,SAAS,MAAM,MAAM,EAC5C,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAClB,IAAI;IASE,kBAAkB,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI;cAUjD,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;CAQlE"}
|
|
@@ -3,13 +3,18 @@ import { Runnable } from '../runnable/index.js';
|
|
|
3
3
|
import { createLogger } from '../logger/index.js';
|
|
4
4
|
export class EventBus extends Runnable {
|
|
5
5
|
logger;
|
|
6
|
-
|
|
6
|
+
namespace;
|
|
7
|
+
constructor(config = {}, namespace = '') {
|
|
7
8
|
super();
|
|
8
9
|
this.logger = createLogger(config?.logger);
|
|
10
|
+
this.namespace = namespace ? `${namespace}:` : '';
|
|
9
11
|
}
|
|
10
12
|
getLogger() {
|
|
11
13
|
return this.logger;
|
|
12
14
|
}
|
|
15
|
+
toNamespacedEvent(event) {
|
|
16
|
+
return event === 'error' ? 'error' : `${this.namespace}${event}`;
|
|
17
|
+
}
|
|
13
18
|
emit(event, ...args) {
|
|
14
19
|
if (event === 'error') {
|
|
15
20
|
return super.emit(event, ...args);
|
|
@@ -18,7 +23,30 @@ export class EventBus extends Runnable {
|
|
|
18
23
|
this.eventEmitter.emit('error', new EventBusNotConnectedError());
|
|
19
24
|
return false;
|
|
20
25
|
}
|
|
21
|
-
|
|
26
|
+
const namespacedEvent = this.toNamespacedEvent(String(event));
|
|
27
|
+
this.eventEmitter.emit(namespacedEvent, ...args);
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
on(event, listener) {
|
|
31
|
+
const namespacedEvent = this.toNamespacedEvent(String(event));
|
|
32
|
+
this.eventEmitter.on(namespacedEvent, listener);
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
once(event, listener) {
|
|
36
|
+
const namespacedEvent = this.toNamespacedEvent(String(event));
|
|
37
|
+
this.eventEmitter.once(namespacedEvent, listener);
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
removeListener(event, listener) {
|
|
41
|
+
const namespacedEvent = this.toNamespacedEvent(String(event));
|
|
42
|
+
this.eventEmitter.removeListener(namespacedEvent, listener);
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
removeAllListeners(event) {
|
|
46
|
+
const namespacedEvent = event
|
|
47
|
+
? this.toNamespacedEvent(String(event))
|
|
48
|
+
: undefined;
|
|
49
|
+
return super.removeAllListeners(namespacedEvent);
|
|
22
50
|
}
|
|
23
51
|
goingDown() {
|
|
24
52
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../../src/event-bus/event-bus.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAW,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../../src/event-bus/event-bus.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED