redis-smq-common 9.0.0-next.1 → 9.0.0-next.10
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 +81 -0
- package/README.md +18 -10
- package/dist/cjs/src/event-bus/errors/index.d.ts +0 -1
- package/dist/cjs/src/event-bus/errors/index.d.ts.map +1 -1
- package/dist/cjs/src/event-bus/errors/index.js +0 -1
- package/dist/cjs/src/event-bus/errors/index.js.map +1 -1
- package/dist/cjs/src/event-bus/event-bus-redis.d.ts +15 -10
- package/dist/cjs/src/event-bus/event-bus-redis.d.ts.map +1 -1
- package/dist/cjs/src/event-bus/event-bus-redis.js +99 -106
- package/dist/cjs/src/event-bus/event-bus-redis.js.map +1 -1
- package/dist/cjs/src/event-bus/event-bus.d.ts +8 -11
- package/dist/cjs/src/event-bus/event-bus.d.ts.map +1 -1
- package/dist/cjs/src/event-bus/event-bus.js +21 -64
- package/dist/cjs/src/event-bus/event-bus.js.map +1 -1
- package/dist/cjs/src/event-bus/index.d.ts +0 -2
- package/dist/cjs/src/event-bus/index.d.ts.map +1 -1
- package/dist/cjs/src/event-bus/index.js +0 -2
- package/dist/cjs/src/event-bus/index.js.map +1 -1
- package/dist/cjs/src/event-bus/types/event-bus.d.ts +8 -4
- package/dist/cjs/src/event-bus/types/event-bus.d.ts.map +1 -1
- package/dist/cjs/src/logger/console-logger/console-logger.d.ts +7 -4
- package/dist/cjs/src/logger/console-logger/console-logger.d.ts.map +1 -1
- package/dist/cjs/src/logger/console-logger/console-logger.js +25 -20
- package/dist/cjs/src/logger/console-logger/console-logger.js.map +1 -1
- package/dist/cjs/src/logger/console-logger/console-message-formatter.d.ts +4 -3
- package/dist/cjs/src/logger/console-logger/console-message-formatter.d.ts.map +1 -1
- package/dist/cjs/src/logger/console-logger/console-message-formatter.js +9 -16
- package/dist/cjs/src/logger/console-logger/console-message-formatter.js.map +1 -1
- package/dist/cjs/src/logger/console-logger/types/console-logger.d.ts +0 -1
- package/dist/cjs/src/logger/console-logger/types/console-logger.d.ts.map +1 -1
- package/dist/cjs/src/logger/logger.d.ts +1 -9
- package/dist/cjs/src/logger/logger.d.ts.map +1 -1
- package/dist/cjs/src/logger/logger.js +3 -60
- package/dist/cjs/src/logger/logger.js.map +1 -1
- package/dist/cjs/src/redis-client/clients/node-redis/node-redis-client-multi.d.ts +5 -6
- package/dist/cjs/src/redis-client/clients/node-redis/node-redis-client-multi.d.ts.map +1 -1
- package/dist/cjs/src/redis-client/clients/node-redis/node-redis-client-multi.js.map +1 -1
- package/dist/cjs/src/redis-client/clients/node-redis/node-redis-client.d.ts +1 -1
- package/dist/cjs/src/redis-client/clients/node-redis/node-redis-client.d.ts.map +1 -1
- package/dist/cjs/src/redis-client/clients/node-redis/node-redis-client.js +32 -47
- package/dist/cjs/src/redis-client/clients/node-redis/node-redis-client.js.map +1 -1
- package/dist/cjs/src/redis-client/index.d.ts +1 -2
- package/dist/cjs/src/redis-client/index.d.ts.map +1 -1
- package/dist/cjs/src/redis-client/index.js +1 -2
- package/dist/cjs/src/redis-client/index.js.map +1 -1
- package/dist/cjs/src/redis-client/redis-client-factory.d.ts +7 -3
- package/dist/cjs/src/redis-client/redis-client-factory.d.ts.map +1 -1
- package/dist/cjs/src/redis-client/redis-client-factory.js +81 -3
- package/dist/cjs/src/redis-client/redis-client-factory.js.map +1 -1
- package/dist/cjs/src/redis-client/types/index.d.ts +1 -0
- package/dist/cjs/src/redis-client/types/index.d.ts.map +1 -1
- package/dist/cjs/src/redis-client/types/index.js +1 -0
- package/dist/cjs/src/redis-client/types/index.js.map +1 -1
- package/dist/cjs/src/redis-client/types/watch-transaction.d.ts +14 -0
- package/dist/cjs/src/redis-client/types/watch-transaction.d.ts.map +1 -0
- package/dist/cjs/src/redis-client/types/watch-transaction.js +3 -0
- package/dist/cjs/src/redis-client/types/watch-transaction.js.map +1 -0
- package/dist/cjs/src/redis-client/with-watch-transaction.d.ts +5 -0
- package/dist/cjs/src/redis-client/with-watch-transaction.d.ts.map +1 -0
- package/dist/cjs/src/redis-client/with-watch-transaction.js +67 -0
- package/dist/cjs/src/redis-client/with-watch-transaction.js.map +1 -0
- package/dist/cjs/src/worker/worker-resource-group.d.ts +1 -1
- package/dist/cjs/src/worker/worker-resource-group.d.ts.map +1 -1
- package/dist/cjs/src/worker/worker-resource-group.js.map +1 -1
- package/dist/cjs/src/worker/worker.js +1 -1
- package/dist/cjs/src/worker/worker.js.map +1 -1
- package/dist/esm/src/event-bus/errors/index.d.ts +0 -1
- package/dist/esm/src/event-bus/errors/index.d.ts.map +1 -1
- package/dist/esm/src/event-bus/errors/index.js +0 -1
- package/dist/esm/src/event-bus/errors/index.js.map +1 -1
- package/dist/esm/src/event-bus/event-bus-redis.d.ts +15 -10
- package/dist/esm/src/event-bus/event-bus-redis.d.ts.map +1 -1
- package/dist/esm/src/event-bus/event-bus-redis.js +98 -105
- package/dist/esm/src/event-bus/event-bus-redis.js.map +1 -1
- package/dist/esm/src/event-bus/event-bus.d.ts +8 -11
- package/dist/esm/src/event-bus/event-bus.d.ts.map +1 -1
- package/dist/esm/src/event-bus/event-bus.js +20 -62
- package/dist/esm/src/event-bus/event-bus.js.map +1 -1
- package/dist/esm/src/event-bus/index.d.ts +0 -2
- package/dist/esm/src/event-bus/index.d.ts.map +1 -1
- package/dist/esm/src/event-bus/index.js +0 -2
- package/dist/esm/src/event-bus/index.js.map +1 -1
- package/dist/esm/src/event-bus/types/event-bus.d.ts +8 -4
- package/dist/esm/src/event-bus/types/event-bus.d.ts.map +1 -1
- package/dist/esm/src/logger/console-logger/console-logger.d.ts +7 -4
- package/dist/esm/src/logger/console-logger/console-logger.d.ts.map +1 -1
- package/dist/esm/src/logger/console-logger/console-logger.js +26 -20
- package/dist/esm/src/logger/console-logger/console-logger.js.map +1 -1
- package/dist/esm/src/logger/console-logger/console-message-formatter.d.ts +4 -3
- package/dist/esm/src/logger/console-logger/console-message-formatter.d.ts.map +1 -1
- package/dist/esm/src/logger/console-logger/console-message-formatter.js +9 -16
- package/dist/esm/src/logger/console-logger/console-message-formatter.js.map +1 -1
- package/dist/esm/src/logger/console-logger/types/console-logger.d.ts +0 -1
- package/dist/esm/src/logger/console-logger/types/console-logger.d.ts.map +1 -1
- package/dist/esm/src/logger/logger.d.ts +1 -9
- package/dist/esm/src/logger/logger.d.ts.map +1 -1
- package/dist/esm/src/logger/logger.js +2 -59
- package/dist/esm/src/logger/logger.js.map +1 -1
- package/dist/esm/src/redis-client/clients/node-redis/node-redis-client-multi.d.ts +5 -6
- package/dist/esm/src/redis-client/clients/node-redis/node-redis-client-multi.d.ts.map +1 -1
- package/dist/esm/src/redis-client/clients/node-redis/node-redis-client-multi.js.map +1 -1
- package/dist/esm/src/redis-client/clients/node-redis/node-redis-client.d.ts +1 -1
- package/dist/esm/src/redis-client/clients/node-redis/node-redis-client.d.ts.map +1 -1
- package/dist/esm/src/redis-client/clients/node-redis/node-redis-client.js +32 -47
- package/dist/esm/src/redis-client/clients/node-redis/node-redis-client.js.map +1 -1
- package/dist/esm/src/redis-client/index.d.ts +1 -2
- package/dist/esm/src/redis-client/index.d.ts.map +1 -1
- package/dist/esm/src/redis-client/index.js +1 -2
- package/dist/esm/src/redis-client/index.js.map +1 -1
- package/dist/esm/src/redis-client/redis-client-factory.d.ts +7 -3
- package/dist/esm/src/redis-client/redis-client-factory.d.ts.map +1 -1
- package/dist/esm/src/redis-client/redis-client-factory.js +51 -4
- package/dist/esm/src/redis-client/redis-client-factory.js.map +1 -1
- package/dist/esm/src/redis-client/types/index.d.ts +1 -0
- package/dist/esm/src/redis-client/types/index.d.ts.map +1 -1
- package/dist/esm/src/redis-client/types/index.js +1 -0
- package/dist/esm/src/redis-client/types/index.js.map +1 -1
- package/dist/esm/src/redis-client/types/watch-transaction.d.ts +14 -0
- package/dist/esm/src/redis-client/types/watch-transaction.d.ts.map +1 -0
- package/dist/esm/src/redis-client/types/watch-transaction.js +2 -0
- package/dist/esm/src/redis-client/types/watch-transaction.js.map +1 -0
- package/dist/esm/src/redis-client/with-watch-transaction.d.ts +5 -0
- package/dist/esm/src/redis-client/with-watch-transaction.d.ts.map +1 -0
- package/dist/esm/src/redis-client/with-watch-transaction.js +61 -0
- package/dist/esm/src/redis-client/with-watch-transaction.js.map +1 -0
- package/dist/esm/src/worker/worker-resource-group.d.ts +1 -1
- package/dist/esm/src/worker/worker-resource-group.d.ts.map +1 -1
- package/dist/esm/src/worker/worker-resource-group.js.map +1 -1
- package/dist/esm/src/worker/worker.js +2 -2
- package/dist/esm/src/worker/worker.js.map +1 -1
- package/package.json +7 -7
- package/dist/cjs/src/event-bus/errors/event-bus-instance-lock.error.d.ts +0 -4
- package/dist/cjs/src/event-bus/errors/event-bus-instance-lock.error.d.ts.map +0 -1
- package/dist/cjs/src/event-bus/errors/event-bus-instance-lock.error.js +0 -8
- package/dist/cjs/src/event-bus/errors/event-bus-instance-lock.error.js.map +0 -1
- package/dist/cjs/src/event-bus/event-bus-redis-factory.d.ts +0 -15
- package/dist/cjs/src/event-bus/event-bus-redis-factory.d.ts.map +0 -1
- package/dist/cjs/src/event-bus/event-bus-redis-factory.js +0 -59
- package/dist/cjs/src/event-bus/event-bus-redis-factory.js.map +0 -1
- package/dist/cjs/src/event-bus/with-event-bus.d.ts +0 -5
- package/dist/cjs/src/event-bus/with-event-bus.d.ts.map +0 -1
- package/dist/cjs/src/event-bus/with-event-bus.js +0 -8
- package/dist/cjs/src/event-bus/with-event-bus.js.map +0 -1
- package/dist/cjs/src/redis-client/create-redis-client.d.ts +0 -4
- package/dist/cjs/src/redis-client/create-redis-client.d.ts.map +0 -1
- package/dist/cjs/src/redis-client/create-redis-client.js +0 -85
- package/dist/cjs/src/redis-client/create-redis-client.js.map +0 -1
- package/dist/cjs/src/redis-client/with-redis-client.d.ts +0 -5
- package/dist/cjs/src/redis-client/with-redis-client.d.ts.map +0 -1
- package/dist/cjs/src/redis-client/with-redis-client.js +0 -8
- package/dist/cjs/src/redis-client/with-redis-client.js.map +0 -1
- package/dist/esm/src/event-bus/errors/event-bus-instance-lock.error.d.ts +0 -4
- package/dist/esm/src/event-bus/errors/event-bus-instance-lock.error.d.ts.map +0 -1
- package/dist/esm/src/event-bus/errors/event-bus-instance-lock.error.js +0 -4
- package/dist/esm/src/event-bus/errors/event-bus-instance-lock.error.js.map +0 -1
- package/dist/esm/src/event-bus/event-bus-redis-factory.d.ts +0 -15
- package/dist/esm/src/event-bus/event-bus-redis-factory.d.ts.map +0 -1
- package/dist/esm/src/event-bus/event-bus-redis-factory.js +0 -56
- package/dist/esm/src/event-bus/event-bus-redis-factory.js.map +0 -1
- package/dist/esm/src/event-bus/with-event-bus.d.ts +0 -5
- package/dist/esm/src/event-bus/with-event-bus.d.ts.map +0 -1
- package/dist/esm/src/event-bus/with-event-bus.js +0 -5
- package/dist/esm/src/event-bus/with-event-bus.js.map +0 -1
- package/dist/esm/src/redis-client/create-redis-client.d.ts +0 -4
- package/dist/esm/src/redis-client/create-redis-client.d.ts.map +0 -1
- package/dist/esm/src/redis-client/create-redis-client.js +0 -51
- package/dist/esm/src/redis-client/create-redis-client.js.map +0 -1
- package/dist/esm/src/redis-client/with-redis-client.d.ts +0 -5
- package/dist/esm/src/redis-client/with-redis-client.d.ts.map +0 -1
- package/dist/esm/src/redis-client/with-redis-client.js +0 -5
- package/dist/esm/src/redis-client/with-redis-client.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,87 @@
|
|
|
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.0-next.10](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.9...v9.0.0-next.10) (2025-10-26)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package redis-smq-common
|
|
9
|
+
|
|
10
|
+
## [9.0.0-next.9](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.8...v9.0.0-next.9) (2025-10-21)
|
|
11
|
+
|
|
12
|
+
### 📝 Documentation
|
|
13
|
+
|
|
14
|
+
- **redis-smq-common:** standardize markdown formatting in API documentation ([445296c](https://github.com/weyoss/redis-smq/commit/445296cd091e1e6a77116238cc4b0327323f9f8a))
|
|
15
|
+
|
|
16
|
+
## [9.0.0-next.8](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.7...v9.0.0-next.8) (2025-10-18)
|
|
17
|
+
|
|
18
|
+
**Note:** Version bump only for package redis-smq-common
|
|
19
|
+
|
|
20
|
+
## [9.0.0-next.7](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.6...v9.0.0-next.7) (2025-10-13)
|
|
21
|
+
|
|
22
|
+
**Note:** Version bump only for package redis-smq-common
|
|
23
|
+
|
|
24
|
+
## [9.0.0-next.6](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.5...v9.0.0-next.6) (2025-10-13)
|
|
25
|
+
|
|
26
|
+
**Note:** Version bump only for package redis-smq-common
|
|
27
|
+
|
|
28
|
+
## [9.0.0-next.5](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.4...v9.0.0-next.5) (2025-10-12)
|
|
29
|
+
|
|
30
|
+
### 📝 Documentation
|
|
31
|
+
|
|
32
|
+
- add GitHub note callouts in README files ([86e855a](https://github.com/weyoss/redis-smq/commit/86e855ae7aea91e3295301671b8da3249164ea40))
|
|
33
|
+
- **redis-smq-common:** update docs and clean up ([21cedc6](https://github.com/weyoss/redis-smq/commit/21cedc648fb8df7cc58ea44fe16790ccacbb92a5))
|
|
34
|
+
- standardize "next" branch reference ([15f3e4f](https://github.com/weyoss/redis-smq/commit/15f3e4f4347fd4f76f9dc167dd72f174f178ab8e))
|
|
35
|
+
- update README files for next branch with pre-release badges and doc links ([463250b](https://github.com/weyoss/redis-smq/commit/463250bbd754d44ae6741abcf4e2d62995aef620))
|
|
36
|
+
|
|
37
|
+
### ♻️ Code Refactoring
|
|
38
|
+
|
|
39
|
+
- **redis-smq-common:** upgrade node-redis client to v5 ([0746f52](https://github.com/weyoss/redis-smq/commit/0746f52a3080bb80398b4a8ce8847910806363ab))
|
|
40
|
+
|
|
41
|
+
## [9.0.0-next.4](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.3...v9.0.0-next.4) (2025-10-09)
|
|
42
|
+
|
|
43
|
+
### ⚠ BREAKING CHANGES
|
|
44
|
+
|
|
45
|
+
- **redis-smq-common:** consolidate Redis client creation logic into factory class
|
|
46
|
+
- **redis-smq-common:** simplify logger architecture, improve namespace handling
|
|
47
|
+
|
|
48
|
+
### ✨ Features
|
|
49
|
+
|
|
50
|
+
- **redis-smq-common:** add child logger creation ([20c4c80](https://github.com/weyoss/redis-smq/commit/20c4c803ee48f3bf9aeb3c23e9846adfa1138bb8))
|
|
51
|
+
- **redis-smq-common:** add WATCH/MULTI/EXEC transaction helper with retry logic ([7d8420b](https://github.com/weyoss/redis-smq/commit/7d8420bf356532c56cc8ebefb0754c79ae4bb16f))
|
|
52
|
+
|
|
53
|
+
### 📝 Documentation
|
|
54
|
+
|
|
55
|
+
- **redis-smq-common:** add API documentation for WATCH transaction helper ([053ada5](https://github.com/weyoss/redis-smq/commit/053ada52cfe52f2c57123647d81826e89e20d8e1))
|
|
56
|
+
- **redis-smq-common:** restructure and expand logger documentation ([1b2e341](https://github.com/weyoss/redis-smq/commit/1b2e34106b42a91289fa373c855076ec295dedf3))
|
|
57
|
+
- **redis-smq-common:** update API reference ([be62a09](https://github.com/weyoss/redis-smq/commit/be62a09a5748743ae89c143925c22e8db7b15aea))
|
|
58
|
+
- **redis-smq-common:** update error classes reference ([f74e2d4](https://github.com/weyoss/redis-smq/commit/f74e2d47eb028917f6a1917f33b6226cd5233d59))
|
|
59
|
+
- **redis-smq-common:** update Redis client documentation ([78abf35](https://github.com/weyoss/redis-smq/commit/78abf35841fd8fe78f0217916ba0b8d0dd1a165f))
|
|
60
|
+
|
|
61
|
+
### ♻️ Code Refactoring
|
|
62
|
+
|
|
63
|
+
- **redis-smq-common:** clean up ConsoleLogger ([7900592](https://github.com/weyoss/redis-smq/commit/7900592344cbffad324705edc311ea5b8c98f26f))
|
|
64
|
+
- **redis-smq-common:** consolidate Redis client creation logic into factory class ([0742c5d](https://github.com/weyoss/redis-smq/commit/0742c5d0be7c0bc6a3b8b5c07d576ab09d32a97d))
|
|
65
|
+
- **redis-smq-common:** redesign event bus architecture with Runnable base class ([1e5fcb4](https://github.com/weyoss/redis-smq/commit/1e5fcb46905b6374109762258562f08c2d0f0e7c))
|
|
66
|
+
- **redis-smq-common:** remove isFormatted method ([cd3523c](https://github.com/weyoss/redis-smq/commit/cd3523cfa80e792ef45b817f408903dd970a3546))
|
|
67
|
+
- **redis-smq-common:** simplify logger architecture, improve namespace handling ([64d30c2](https://github.com/weyoss/redis-smq/commit/64d30c2ab0ecb59aefc939e89d1d6b3cac390c61))
|
|
68
|
+
- **redis-smq-common:** update copyright headers ([d14cde3](https://github.com/weyoss/redis-smq/commit/d14cde3e13d3d28b8a3868d07a0b7b1098cd1cd2))
|
|
69
|
+
- **redis-smq-common:** update test utilities to use RedisClientFactory ([fa077d5](https://github.com/weyoss/redis-smq/commit/fa077d506f6d04231e1c5454b93ab196e664c833))
|
|
70
|
+
- **redis-smq-common:** use RedisClientFactory in EventBusRedis ([b7a16c6](https://github.com/weyoss/redis-smq/commit/b7a16c640814d817b1f8bfeb881e9543ff93ef17))
|
|
71
|
+
- **redis-smq:** integrate connection pooling and reorganize error handling ([fa61afb](https://github.com/weyoss/redis-smq/commit/fa61afbd7c2538383b086c200b275749c5b96314))
|
|
72
|
+
|
|
73
|
+
## [9.0.0-next.3](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.2...v9.0.0-next.3) (2025-09-09)
|
|
74
|
+
|
|
75
|
+
### 📝 Documentation
|
|
76
|
+
|
|
77
|
+
- **redis-smq-common:** update console logger documentation ([be75a62](https://github.com/weyoss/redis-smq/commit/be75a622faeb36cb198e4de84cba076d4cc157f1))
|
|
78
|
+
|
|
79
|
+
### ♻️ Code Refactoring
|
|
80
|
+
|
|
81
|
+
- **redis-smq-common:** remove custom date format support from console logger ([92f8dd9](https://github.com/weyoss/redis-smq/commit/92f8dd9eec5baf162fce3974c0d69c41595b5164))
|
|
82
|
+
|
|
83
|
+
## [9.0.0-next.2](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.1...v9.0.0-next.2) (2025-09-07)
|
|
84
|
+
|
|
85
|
+
**Note:** Version bump only for package redis-smq-common
|
|
86
|
+
|
|
6
87
|
## [9.0.0-next.1](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.0...v9.0.0-next.1) (2025-09-06)
|
|
7
88
|
|
|
8
89
|
**Note:** Version bump only for package redis-smq-common
|
package/README.md
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
# RedisSMQ Common Library
|
|
2
2
|
|
|
3
|
-
[!
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
> [!NOTE]
|
|
4
|
+
> You are viewing the documentation for the "next" branch. These docs describe unreleased changes published under the npm "next" dist-tag.
|
|
5
|
+
> For the latest stable documentation, see:
|
|
6
|
+
>
|
|
7
|
+
> - Master (stable) README: https://github.com/weyoss/redis-smq/tree/master/packages/redis-smq-common
|
|
8
|
+
> - Latest release notes/tags: https://github.com/weyoss/redis-smq/releases/latest
|
|
9
|
+
> - Install stable packages with @latest; pre-release with @next.
|
|
10
|
+
|
|
11
|
+
[](https://www.npmjs.com/package/redis-smq-common?activeTab=versions)
|
|
12
|
+
[](https://app.codecov.io/github/weyoss/redis-smq/tree/next/packages/redis-smq-common)
|
|
13
|
+
|
|
14
|
+
A shared foundation for the RedisSMQ ecosystem.
|
|
15
|
+
This package provides essential components and utilities used by RedisSMQ and related packages, helping you configure
|
|
8
16
|
Redis clients, structure logging, and reuse core types across the stack.
|
|
9
17
|
|
|
10
18
|
- Used by: `redis-smq`, `redis-smq-rest-api`, `redis-smq-web-server`, and `redis-smq-web-ui`
|
|
@@ -24,9 +32,9 @@ Redis clients, structure logging, and reuse core types across the stack.
|
|
|
24
32
|
Install the package:
|
|
25
33
|
|
|
26
34
|
```bash
|
|
27
|
-
npm install redis-smq-common
|
|
35
|
+
npm install redis-smq-common@next
|
|
28
36
|
# or
|
|
29
|
-
pnpm add redis-smq-common
|
|
37
|
+
pnpm add redis-smq-common@next
|
|
30
38
|
```
|
|
31
39
|
|
|
32
40
|
This package works with multiple Redis clients. Install one of the supported clients based on your needs:
|
|
@@ -47,13 +55,13 @@ Note: Redis clients are optional peer dependencies; pick one and configure it in
|
|
|
47
55
|
|
|
48
56
|
## Version compatibility
|
|
49
57
|
|
|
50
|
-
Always use matching versions of the RedisSMQ packages across your project to avoid runtime/API mismatches.
|
|
58
|
+
Always use matching versions of the RedisSMQ packages across your project to avoid runtime/API mismatches.
|
|
51
59
|
See the monorepo documentation for Version Compatibility guidance.
|
|
52
60
|
|
|
53
61
|
## Documentation
|
|
54
62
|
|
|
55
63
|
For in-depth guides and API references, see the documentation:
|
|
56
|
-
https://github.com/weyoss/redis-smq/tree/
|
|
64
|
+
https://github.com/weyoss/redis-smq/tree/next/packages/redis-smq-common/docs
|
|
57
65
|
|
|
58
66
|
## Related packages
|
|
59
67
|
|
|
@@ -68,4 +76,4 @@ Issues and pull requests are welcome. Please read the repository’s CONTRIBUTIN
|
|
|
68
76
|
|
|
69
77
|
## License
|
|
70
78
|
|
|
71
|
-
This project is licensed under is released under the [MIT License](
|
|
79
|
+
This project is licensed under is released under the [MIT License](/LICENSE).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/event-bus/errors/index.ts"],"names":[],"mappings":"AASA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oCAAoC,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/event-bus/errors/index.ts"],"names":[],"mappings":"AASA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oCAAoC,CAAC"}
|
|
@@ -16,5 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./event-bus.error.js"), exports);
|
|
18
18
|
__exportStar(require("./event-bus-not-connected.error.js"), exports);
|
|
19
|
-
__exportStar(require("./event-bus-instance-lock.error.js"), exports);
|
|
20
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/event-bus/errors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AASA,uDAAqC;AACrC,qEAAmD
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/event-bus/errors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AASA,uDAAqC;AACrC,qEAAmD"}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import { ICallback } from '../async/index.js';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
protected pubClient:
|
|
7
|
-
protected subClient:
|
|
8
|
-
|
|
2
|
+
import { IEventBusRedisConfig, TEventBusEvent } from './types/index.js';
|
|
3
|
+
import { RedisClientFactory } from '../redis-client/index.js';
|
|
4
|
+
import { EventBus } from './event-bus.js';
|
|
5
|
+
export declare class EventBusRedis<Events extends TEventBusEvent> extends EventBus<Events> {
|
|
6
|
+
protected pubClient: RedisClientFactory;
|
|
7
|
+
protected subClient: RedisClientFactory;
|
|
8
|
+
private readonly subscribedEvents;
|
|
9
|
+
constructor(config: IEventBusRedisConfig);
|
|
9
10
|
emit<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>): boolean;
|
|
10
11
|
on<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
11
12
|
once<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
12
|
-
removeAllListeners<E extends keyof Events>(event?: Extract<E, string>): this;
|
|
13
13
|
removeListener<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
removeAllListeners<E extends keyof Events>(event?: Extract<E, string>): this;
|
|
15
|
+
private ensureSubscribed;
|
|
16
|
+
private ensureUnsubscribed;
|
|
17
|
+
private syncSubscriptionsWithListeners;
|
|
18
|
+
private getListenerEventNames;
|
|
19
|
+
protected goingUp(): ((cb: ICallback<void>) => void)[];
|
|
20
|
+
protected goingDown(): ((cb: ICallback<void>) => void)[];
|
|
16
21
|
}
|
|
17
22
|
//# sourceMappingURL=event-bus-redis.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus-redis.d.ts","sourceRoot":"","sources":["../../../../src/event-bus/event-bus-redis.ts"],"names":[],"mappings":"
|
|
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/B,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,EAClC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAC7B,OAAO;IAeD,EAAE,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;IAM/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;IAYE,kBAAkB,CAAC,CAAC,SAAS,MAAM,MAAM,EAChD,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,GACzB,IAAI;IAWP,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"}
|
|
@@ -1,137 +1,130 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EventBusRedis = void 0;
|
|
4
|
-
const index_js_1 = require("../
|
|
5
|
-
const index_js_2 = require("
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
this.
|
|
12
|
-
this.pubClient
|
|
13
|
-
this.
|
|
14
|
-
|
|
15
|
-
});
|
|
16
|
-
this.subClient = subClient;
|
|
17
|
-
this.subClient.on('message', (channel, message) => {
|
|
18
|
-
this.eventEmitter.emit(String(channel), ...JSON.parse(message));
|
|
19
|
-
});
|
|
20
|
-
this.subClient.on('error', (err) => {
|
|
21
|
-
this.eventEmitter.emit('error', err);
|
|
22
|
-
});
|
|
23
|
-
this.connected = true;
|
|
4
|
+
const index_js_1 = require("../redis-client/index.js");
|
|
5
|
+
const index_js_2 = require("./errors/index.js");
|
|
6
|
+
const event_bus_js_1 = require("./event-bus.js");
|
|
7
|
+
class EventBusRedis extends event_bus_js_1.EventBus {
|
|
8
|
+
constructor(config) {
|
|
9
|
+
super(config);
|
|
10
|
+
this.subscribedEvents = new Set();
|
|
11
|
+
this.pubClient = new index_js_1.RedisClientFactory(config.redis);
|
|
12
|
+
this.pubClient.on('error', (err) => this.handleError(err));
|
|
13
|
+
this.subClient = new index_js_1.RedisClientFactory(config.redis);
|
|
14
|
+
this.subClient.on('error', (err) => this.handleError(err));
|
|
24
15
|
}
|
|
25
16
|
emit(event, ...args) {
|
|
26
|
-
if (
|
|
27
|
-
|
|
17
|
+
if (event === 'error') {
|
|
18
|
+
return super.emit(event, ...args);
|
|
19
|
+
}
|
|
20
|
+
if (!this.isRunning()) {
|
|
21
|
+
this.eventEmitter.emit('error', new index_js_2.EventBusNotConnectedError());
|
|
28
22
|
return false;
|
|
29
23
|
}
|
|
30
|
-
this.pubClient
|
|
24
|
+
this.pubClient
|
|
25
|
+
.getInstance()
|
|
26
|
+
.publish(String(event), JSON.stringify(args), () => void 0);
|
|
31
27
|
return true;
|
|
32
28
|
}
|
|
33
29
|
on(event, listener) {
|
|
34
|
-
if (event === 'error') {
|
|
35
|
-
super.on('error', listener);
|
|
36
|
-
return this;
|
|
37
|
-
}
|
|
38
|
-
if (!this.connected) {
|
|
39
|
-
this.eventEmitter.emit('error', new index_js_4.EventBusNotConnectedError());
|
|
40
|
-
return this;
|
|
41
|
-
}
|
|
42
|
-
this.subClient.subscribe(String(event));
|
|
43
30
|
super.on(event, listener);
|
|
31
|
+
this.ensureSubscribed(String(event));
|
|
44
32
|
return this;
|
|
45
33
|
}
|
|
46
34
|
once(event, listener) {
|
|
47
|
-
if (event === 'error') {
|
|
48
|
-
super.once('error', listener);
|
|
49
|
-
return this;
|
|
50
|
-
}
|
|
51
|
-
if (!this.connected) {
|
|
52
|
-
this.eventEmitter.emit('error', new index_js_4.EventBusNotConnectedError());
|
|
53
|
-
return this;
|
|
54
|
-
}
|
|
55
|
-
this.subClient.subscribe(String(event));
|
|
56
35
|
super.once(event, listener);
|
|
36
|
+
this.ensureSubscribed(String(event));
|
|
37
|
+
return this;
|
|
38
|
+
}
|
|
39
|
+
removeListener(event, listener) {
|
|
40
|
+
super.removeListener(event, listener);
|
|
41
|
+
if (event !== 'error' &&
|
|
42
|
+
this.eventEmitter.listenerCount(String(event)) === 0) {
|
|
43
|
+
this.ensureUnsubscribed(String(event));
|
|
44
|
+
}
|
|
57
45
|
return this;
|
|
58
46
|
}
|
|
59
47
|
removeAllListeners(event) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
48
|
+
super.removeAllListeners(event);
|
|
49
|
+
if (event && event !== 'error') {
|
|
50
|
+
this.ensureUnsubscribed(String(event));
|
|
63
51
|
}
|
|
64
|
-
if (!
|
|
65
|
-
this.
|
|
66
|
-
return this;
|
|
52
|
+
else if (!event) {
|
|
53
|
+
this.ensureUnsubscribed();
|
|
67
54
|
}
|
|
68
|
-
if (event)
|
|
69
|
-
this.subClient.unsubscribe(String(event));
|
|
70
|
-
else
|
|
71
|
-
this.subClient.unsubscribe();
|
|
72
|
-
super.removeAllListeners(event);
|
|
73
55
|
return this;
|
|
74
56
|
}
|
|
75
|
-
|
|
76
|
-
if (
|
|
77
|
-
|
|
78
|
-
|
|
57
|
+
ensureSubscribed(eventName) {
|
|
58
|
+
if (eventName !== 'error' &&
|
|
59
|
+
this.isRunning() &&
|
|
60
|
+
!this.subscribedEvents.has(eventName)) {
|
|
61
|
+
this.subClient.getInstance().subscribe(eventName);
|
|
62
|
+
this.subscribedEvents.add(eventName);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
ensureUnsubscribed(eventName) {
|
|
66
|
+
if (eventName === 'error')
|
|
67
|
+
return;
|
|
68
|
+
if (!eventName) {
|
|
69
|
+
if (this.subscribedEvents.size > 0) {
|
|
70
|
+
this.subClient.getInstance().unsubscribe();
|
|
71
|
+
this.subscribedEvents.clear();
|
|
72
|
+
}
|
|
73
|
+
return;
|
|
79
74
|
}
|
|
80
|
-
if (
|
|
81
|
-
this.
|
|
82
|
-
|
|
75
|
+
if (this.subscribedEvents.has(eventName)) {
|
|
76
|
+
this.subClient.getInstance().unsubscribe(eventName);
|
|
77
|
+
this.subscribedEvents.delete(eventName);
|
|
83
78
|
}
|
|
84
|
-
super.removeListener(event, listener);
|
|
85
|
-
return this;
|
|
86
79
|
}
|
|
87
|
-
|
|
88
|
-
if (this.
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
], () => {
|
|
93
|
-
this.connected = false;
|
|
94
|
-
cb();
|
|
95
|
-
});
|
|
80
|
+
syncSubscriptionsWithListeners() {
|
|
81
|
+
if (!this.isRunning())
|
|
82
|
+
return;
|
|
83
|
+
for (const name of this.getListenerEventNames()) {
|
|
84
|
+
this.ensureSubscribed(name);
|
|
96
85
|
}
|
|
97
|
-
else
|
|
98
|
-
cb();
|
|
99
86
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
(
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
87
|
+
getListenerEventNames() {
|
|
88
|
+
return this.eventEmitter
|
|
89
|
+
.eventNames()
|
|
90
|
+
.map((n) => String(n))
|
|
91
|
+
.filter((n) => n !== 'error');
|
|
92
|
+
}
|
|
93
|
+
goingUp() {
|
|
94
|
+
return super.goingUp().concat([
|
|
95
|
+
(cb) => this.pubClient.init(cb),
|
|
96
|
+
(cb) => {
|
|
97
|
+
this.subClient.init((err) => {
|
|
98
|
+
if (err)
|
|
99
|
+
return cb(err);
|
|
100
|
+
this.subClient
|
|
101
|
+
.getInstance()
|
|
102
|
+
.on('message', (channel, message) => {
|
|
103
|
+
try {
|
|
104
|
+
this.eventEmitter.emit(channel, ...JSON.parse(message));
|
|
105
|
+
}
|
|
106
|
+
catch (parseError) {
|
|
107
|
+
const err = parseError instanceof Error
|
|
108
|
+
? parseError
|
|
109
|
+
: new index_js_2.EventBusError(String(parseError));
|
|
110
|
+
this.handleError(err);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
this.syncSubscriptionsWithListeners();
|
|
117
114
|
cb();
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
]
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
cb(
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
const instance = new EventBusRedis(pubClient, subClient);
|
|
132
|
-
cb(null, instance);
|
|
133
|
-
}
|
|
134
|
-
});
|
|
115
|
+
});
|
|
116
|
+
},
|
|
117
|
+
]);
|
|
118
|
+
}
|
|
119
|
+
goingDown() {
|
|
120
|
+
return [
|
|
121
|
+
(cb) => {
|
|
122
|
+
this.ensureUnsubscribed();
|
|
123
|
+
cb();
|
|
124
|
+
},
|
|
125
|
+
(cb) => this.subClient.shutdown(cb),
|
|
126
|
+
(cb) => this.pubClient.shutdown(cb),
|
|
127
|
+
].concat(super.goingDown());
|
|
135
128
|
}
|
|
136
129
|
}
|
|
137
130
|
exports.EventBusRedis = EventBusRedis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus-redis.js","sourceRoot":"","sources":["../../../../src/event-bus/event-bus-redis.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"event-bus-redis.js","sourceRoot":"","sources":["../../../../src/event-bus/event-bus-redis.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
+
import { IEventBusConfig, TEventBusEvent } from './types/index.js';
|
|
2
|
+
import { Runnable } from '../runnable/index.js';
|
|
3
|
+
import { ILogger } from '../logger/index.js';
|
|
1
4
|
import { ICallback } from '../async/index.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
protected
|
|
6
|
-
protected constructor();
|
|
5
|
+
export declare class EventBus<Events extends TEventBusEvent> extends Runnable<Events> {
|
|
6
|
+
private readonly logger;
|
|
7
|
+
constructor(config?: IEventBusConfig);
|
|
8
|
+
protected getLogger(): ILogger;
|
|
7
9
|
emit<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>): boolean;
|
|
8
|
-
|
|
9
|
-
once<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
10
|
-
removeAllListeners<E extends keyof Events>(event?: Extract<E, string>): this;
|
|
11
|
-
removeListener<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
12
|
-
shutdown(cb: ICallback<void>): void;
|
|
13
|
-
static createInstance<T extends TEventBusEvent>(cb: ICallback<IEventBus<T>>): void;
|
|
10
|
+
protected goingDown(): ((cb: ICallback<void>) => void)[];
|
|
14
11
|
}
|
|
15
12
|
//# 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":"
|
|
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;AAQ9C,qBAAa,QAAQ,CAAC,MAAM,SAAS,cAAc,CAAE,SAAQ,QAAQ,CAAC,MAAM,CAAC;IAC3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAErB,MAAM,GAAE,eAAoB;cAKrB,SAAS,IAAI,OAAO;IAS9B,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,EAClC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAC7B,OAAO;cAcS,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;CAQlE"}
|
|
@@ -1,77 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EventBus = void 0;
|
|
4
|
-
const index_js_1 = require("
|
|
5
|
-
const index_js_2 = require("
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
const index_js_1 = require("./errors/index.js");
|
|
5
|
+
const index_js_2 = require("../runnable/index.js");
|
|
6
|
+
const index_js_3 = require("../logger/index.js");
|
|
7
|
+
class EventBus extends index_js_2.Runnable {
|
|
8
|
+
constructor(config = {}) {
|
|
8
9
|
super();
|
|
9
|
-
this.
|
|
10
|
-
this.connected = true;
|
|
10
|
+
this.logger = (0, index_js_3.createLogger)(config === null || config === void 0 ? void 0 : config.logger);
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
this.eventEmitter.emit('error', new index_js_2.EventBusNotConnectedError());
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
return super.emit(event, ...args);
|
|
18
|
-
}
|
|
19
|
-
on(event, listener) {
|
|
20
|
-
if (event === 'error') {
|
|
21
|
-
super.on('error', listener);
|
|
22
|
-
return this;
|
|
23
|
-
}
|
|
24
|
-
if (!this.connected) {
|
|
25
|
-
this.eventEmitter.emit('error', new index_js_2.EventBusNotConnectedError());
|
|
26
|
-
return this;
|
|
27
|
-
}
|
|
28
|
-
super.on(event, listener);
|
|
29
|
-
return this;
|
|
30
|
-
}
|
|
31
|
-
once(event, listener) {
|
|
32
|
-
if (event === 'error') {
|
|
33
|
-
super.once('error', listener);
|
|
34
|
-
return this;
|
|
35
|
-
}
|
|
36
|
-
if (!this.connected) {
|
|
37
|
-
this.eventEmitter.emit('error', new index_js_2.EventBusNotConnectedError());
|
|
38
|
-
return this;
|
|
39
|
-
}
|
|
40
|
-
super.once(event, listener);
|
|
41
|
-
return this;
|
|
42
|
-
}
|
|
43
|
-
removeAllListeners(event) {
|
|
44
|
-
if (event === 'error') {
|
|
45
|
-
super.removeAllListeners('error');
|
|
46
|
-
return this;
|
|
47
|
-
}
|
|
48
|
-
if (!this.connected) {
|
|
49
|
-
this.eventEmitter.emit('error', new index_js_2.EventBusNotConnectedError());
|
|
50
|
-
return this;
|
|
51
|
-
}
|
|
52
|
-
super.removeAllListeners(event);
|
|
53
|
-
return this;
|
|
12
|
+
getLogger() {
|
|
13
|
+
return this.logger;
|
|
54
14
|
}
|
|
55
|
-
|
|
15
|
+
emit(event, ...args) {
|
|
56
16
|
if (event === 'error') {
|
|
57
|
-
super.
|
|
58
|
-
return this;
|
|
17
|
+
return super.emit(event, ...args);
|
|
59
18
|
}
|
|
60
|
-
if (!this.
|
|
61
|
-
this.eventEmitter.emit('error', new
|
|
62
|
-
return
|
|
19
|
+
if (!this.isRunning()) {
|
|
20
|
+
this.eventEmitter.emit('error', new index_js_1.EventBusNotConnectedError());
|
|
21
|
+
return false;
|
|
63
22
|
}
|
|
64
|
-
super.
|
|
65
|
-
return this;
|
|
66
|
-
}
|
|
67
|
-
shutdown(cb) {
|
|
68
|
-
if (this.connected)
|
|
69
|
-
this.connected = false;
|
|
70
|
-
cb();
|
|
23
|
+
return super.emit(event, ...args);
|
|
71
24
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
25
|
+
goingDown() {
|
|
26
|
+
return [
|
|
27
|
+
(cb) => {
|
|
28
|
+
super.removeAllListeners();
|
|
29
|
+
cb();
|
|
30
|
+
},
|
|
31
|
+
].concat(super.goingDown());
|
|
75
32
|
}
|
|
76
33
|
}
|
|
77
34
|
exports.EventBus = EventBus;
|