redis-smq 9.0.0-next.8 → 9.0.0-next.9
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 +14 -0
- package/dist/cjs/src/errors/index.d.ts +1 -0
- package/dist/cjs/src/errors/index.d.ts.map +1 -1
- package/dist/cjs/src/errors/index.js +1 -0
- package/dist/cjs/src/errors/index.js.map +1 -1
- package/dist/cjs/src/errors/routing-key-required.error.d.ts +4 -0
- package/dist/cjs/src/errors/routing-key-required.error.d.ts.map +1 -0
- package/dist/cjs/src/errors/routing-key-required.error.js +8 -0
- package/dist/cjs/src/errors/routing-key-required.error.js.map +1 -0
- package/dist/cjs/src/producer/producer.d.ts +8 -8
- package/dist/cjs/src/producer/producer.d.ts.map +1 -1
- package/dist/cjs/src/producer/producer.js +104 -120
- package/dist/cjs/src/producer/producer.js.map +1 -1
- package/dist/cjs/src/producer/pub-sub-target-resolver.d.ts +27 -0
- package/dist/cjs/src/producer/pub-sub-target-resolver.d.ts.map +1 -0
- package/dist/cjs/src/producer/pub-sub-target-resolver.js +186 -0
- package/dist/cjs/src/producer/pub-sub-target-resolver.js.map +1 -0
- package/dist/esm/src/errors/index.d.ts +1 -0
- package/dist/esm/src/errors/index.d.ts.map +1 -1
- package/dist/esm/src/errors/index.js +1 -0
- package/dist/esm/src/errors/index.js.map +1 -1
- package/dist/esm/src/errors/routing-key-required.error.d.ts +4 -0
- package/dist/esm/src/errors/routing-key-required.error.d.ts.map +1 -0
- package/dist/esm/src/errors/routing-key-required.error.js +4 -0
- package/dist/esm/src/errors/routing-key-required.error.js.map +1 -0
- package/dist/esm/src/producer/producer.d.ts +8 -8
- package/dist/esm/src/producer/producer.d.ts.map +1 -1
- package/dist/esm/src/producer/producer.js +105 -121
- package/dist/esm/src/producer/producer.js.map +1 -1
- package/dist/esm/src/producer/pub-sub-target-resolver.d.ts +27 -0
- package/dist/esm/src/producer/pub-sub-target-resolver.d.ts.map +1 -0
- package/dist/esm/src/producer/pub-sub-target-resolver.js +184 -0
- package/dist/esm/src/producer/pub-sub-target-resolver.js.map +1 -0
- package/package.json +2 -2
- package/dist/cjs/src/producer/queue-consumer-groups-cache.d.ts +0 -27
- package/dist/cjs/src/producer/queue-consumer-groups-cache.d.ts.map +0 -1
- package/dist/cjs/src/producer/queue-consumer-groups-cache.js +0 -212
- package/dist/cjs/src/producer/queue-consumer-groups-cache.js.map +0 -1
- package/dist/esm/src/producer/queue-consumer-groups-cache.d.ts +0 -27
- package/dist/esm/src/producer/queue-consumer-groups-cache.d.ts.map +0 -1
- package/dist/esm/src/producer/queue-consumer-groups-cache.js +0 -211
- package/dist/esm/src/producer/queue-consumer-groups-cache.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,20 @@
|
|
|
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.9](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.8...v9.0.0-next.9) (2025-10-21)
|
|
7
|
+
|
|
8
|
+
### 🐛 Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **redis-smq:** add missing RoutingKeyRequiredError class ([2a76b66](https://github.com/weyoss/redis-smq/commit/2a76b668a698cd79f8cb437a642d5062067cd149))
|
|
11
|
+
|
|
12
|
+
### 📝 Documentation
|
|
13
|
+
|
|
14
|
+
- **redis-smq:** update documentation and improve md formatting ([c659b9f](https://github.com/weyoss/redis-smq/commit/c659b9f8f4b026d731ddaf94228ce871ee56f14a))
|
|
15
|
+
|
|
16
|
+
### ♻️ Code Refactoring
|
|
17
|
+
|
|
18
|
+
- **redis-smq:** rename QueueConsumerGroupsCache to PubSubTargetResolver, clean up Producer docs ([1ea5669](https://github.com/weyoss/redis-smq/commit/1ea566959e97b0b695cea85b9f2117903273320d))
|
|
19
|
+
|
|
6
20
|
## [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)
|
|
7
21
|
|
|
8
22
|
### ✨ Features
|
|
@@ -59,4 +59,5 @@ export * from './queue-has-bound-exchanges.error.js';
|
|
|
59
59
|
export * from './namespace-mismatch.error.js';
|
|
60
60
|
export * from './exchange-not-found.error.js';
|
|
61
61
|
export * from './queue-already-bound.js';
|
|
62
|
+
export * from './routing-key-required.error.js';
|
|
62
63
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/errors/index.ts"],"names":[],"mappings":"AASA,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,yCAAyC,CAAC;AACxD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,kDAAkD,CAAC;AACjE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0CAA0C,CAAC;AACzD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0CAA0C,CAAC;AACzD,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,qBAAqB,CAAC;AACpC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/errors/index.ts"],"names":[],"mappings":"AASA,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,yCAAyC,CAAC;AACxD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,kDAAkD,CAAC;AACjE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0CAA0C,CAAC;AACzD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0CAA0C,CAAC;AACzD,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,qBAAqB,CAAC;AACpC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC"}
|
|
@@ -75,4 +75,5 @@ __exportStar(require("./queue-has-bound-exchanges.error.js"), exports);
|
|
|
75
75
|
__exportStar(require("./namespace-mismatch.error.js"), exports);
|
|
76
76
|
__exportStar(require("./exchange-not-found.error.js"), exports);
|
|
77
77
|
__exportStar(require("./queue-already-bound.js"), exports);
|
|
78
|
+
__exportStar(require("./routing-key-required.error.js"), exports);
|
|
78
79
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/errors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AASA,sDAAoC;AACpC,kEAAgD;AAChD,0EAAwD;AACxD,uEAAqD;AACrD,uEAAqD;AACrD,0EAAwD;AACxD,gEAA8C;AAC9C,oFAAkE;AAClE,2EAAyD;AACzD,oEAAkD;AAClD,iEAA+C;AAC/C,+DAA6C;AAC7C,+DAA6C;AAC7C,+DAA6C;AAC7C,+DAA6C;AAC7C,6DAA2C;AAC3C,oEAAkD;AAClD,mFAAiE;AACjE,gFAA8D;AAC9D,qDAAmC;AACnC,8DAA4C;AAC5C,sDAAoC;AACpC,6DAA2C;AAC3C,2EAAyD;AACzD,gFAA8D;AAC9D,gFAA8D;AAC9D,uEAAqD;AACrD,6DAA2C;AAC3C,2EAAyD;AACzD,kEAAgD;AAChD,4EAA0D;AAC1D,6DAA2C;AAC3C,6DAA2C;AAC3C,2DAAyC;AACzC,sEAAoD;AACpD,6DAA2C;AAC3C,sEAAoD;AACpD,uEAAqD;AACrD,2EAAyD;AACzD,sDAAoC;AACpC,4EAA0D;AAC1D,qEAAmD;AACnD,6DAA2C;AAC3C,gFAA8D;AAC9D,kEAAgD;AAChD,sEAAoD;AACpD,2DAAyC;AACzC,gFAA8D;AAC9D,8EAA4D;AAC5D,qEAAmD;AACnD,4DAA0C;AAC1C,oEAAkD;AAClD,wDAAsC;AACtC,8DAA4C;AAC5C,yEAAuD;AACvD,gEAA8C;AAC9C,yEAAuD;AACvD,uEAAqD;AACrD,gEAA8C;AAC9C,gEAA8C;AAC9C,2DAAyC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/errors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AASA,sDAAoC;AACpC,kEAAgD;AAChD,0EAAwD;AACxD,uEAAqD;AACrD,uEAAqD;AACrD,0EAAwD;AACxD,gEAA8C;AAC9C,oFAAkE;AAClE,2EAAyD;AACzD,oEAAkD;AAClD,iEAA+C;AAC/C,+DAA6C;AAC7C,+DAA6C;AAC7C,+DAA6C;AAC7C,+DAA6C;AAC7C,6DAA2C;AAC3C,oEAAkD;AAClD,mFAAiE;AACjE,gFAA8D;AAC9D,qDAAmC;AACnC,8DAA4C;AAC5C,sDAAoC;AACpC,6DAA2C;AAC3C,2EAAyD;AACzD,gFAA8D;AAC9D,gFAA8D;AAC9D,uEAAqD;AACrD,6DAA2C;AAC3C,2EAAyD;AACzD,kEAAgD;AAChD,4EAA0D;AAC1D,6DAA2C;AAC3C,6DAA2C;AAC3C,2DAAyC;AACzC,sEAAoD;AACpD,6DAA2C;AAC3C,sEAAoD;AACpD,uEAAqD;AACrD,2EAAyD;AACzD,sDAAoC;AACpC,4EAA0D;AAC1D,qEAAmD;AACnD,6DAA2C;AAC3C,gFAA8D;AAC9D,kEAAgD;AAChD,sEAAoD;AACpD,2DAAyC;AACzC,gFAA8D;AAC9D,8EAA4D;AAC5D,qEAAmD;AACnD,4DAA0C;AAC1C,oEAAkD;AAClD,wDAAsC;AACtC,8DAA4C;AAC5C,yEAAuD;AACvD,gEAA8C;AAC9C,yEAAuD;AACvD,uEAAqD;AACrD,gEAA8C;AAC9C,gEAA8C;AAC9C,2DAAyC;AACzC,kEAAgD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing-key-required.error.d.ts","sourceRoot":"","sources":["../../../../src/errors/routing-key-required.error.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,qBAAa,uBAAwB,SAAQ,aAAa;CAAG"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RoutingKeyRequiredError = void 0;
|
|
4
|
+
const producer_error_js_1 = require("./producer.error.js");
|
|
5
|
+
class RoutingKeyRequiredError extends producer_error_js_1.ProducerError {
|
|
6
|
+
}
|
|
7
|
+
exports.RoutingKeyRequiredError = RoutingKeyRequiredError;
|
|
8
|
+
//# sourceMappingURL=routing-key-required.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing-key-required.error.js","sourceRoot":"","sources":["../../../../src/errors/routing-key-required.error.ts"],"names":[],"mappings":";;;AASA,2DAAoD;AAEpD,MAAa,uBAAwB,SAAQ,iCAAa;CAAG;AAA7D,0DAA6D"}
|
|
@@ -4,27 +4,27 @@ import { ExchangeDirect, ExchangeFanout, ExchangeTopic, IExchangeParsedParams }
|
|
|
4
4
|
import { ProducibleMessage } from '../message/index.js';
|
|
5
5
|
import { MessageEnvelope } from '../message/message-envelope.js';
|
|
6
6
|
import { IQueueParams } from '../queue-manager/index.js';
|
|
7
|
-
import {
|
|
7
|
+
import { PubSubTargetResolver } from './pub-sub-target-resolver.js';
|
|
8
8
|
export declare class Producer extends Runnable<TProducerEvent> {
|
|
9
9
|
protected fanoutExchange: ExchangeFanout;
|
|
10
10
|
protected directExchange: ExchangeDirect;
|
|
11
11
|
protected topicExchange: ExchangeTopic;
|
|
12
12
|
protected logger: ILogger;
|
|
13
|
-
protected
|
|
13
|
+
protected pubSubTargetResolver: PubSubTargetResolver | null;
|
|
14
14
|
protected redisClient: IRedisClient | null;
|
|
15
15
|
constructor();
|
|
16
16
|
produce(msg: ProducibleMessage, cb: ICallback<string[]>): void;
|
|
17
17
|
protected getLogger(): ILogger;
|
|
18
18
|
protected getRedisClient(): IRedisClient;
|
|
19
|
-
protected
|
|
20
|
-
protected
|
|
19
|
+
protected _runPubSubTargetResolver: (cb: ICallback) => void;
|
|
20
|
+
protected _shutdownPubSubTargetResolver: (cb: ICallback) => void;
|
|
21
21
|
protected goingUp(): ((cb: ICallback) => void)[];
|
|
22
22
|
protected up(cb: ICallback<boolean>): void;
|
|
23
23
|
protected goingDown(): ((cb: ICallback) => void)[];
|
|
24
24
|
protected down(cb: ICallback<boolean>): void;
|
|
25
|
-
protected
|
|
26
|
-
protected
|
|
27
|
-
protected
|
|
28
|
-
protected
|
|
25
|
+
protected getPubSubTargetResolver(): PubSubTargetResolver;
|
|
26
|
+
protected _dispatch(message: MessageEnvelope, queue: IQueueParams, cb: ICallback<string>): void;
|
|
27
|
+
protected _produceToQueue(message: ProducibleMessage, queue: IQueueParams, cb: ICallback<string[]>): void;
|
|
28
|
+
protected _matchExchangeQueues(exchange: IExchangeParsedParams, routingKey: string | null, cb: ICallback<IQueueParams[]>): void;
|
|
29
29
|
}
|
|
30
30
|
//# sourceMappingURL=producer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"producer.d.ts","sourceRoot":"","sources":["../../../../src/producer/producer.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,SAAS,EACT,OAAO,EACP,YAAY,EAEZ,QAAQ,EACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"producer.d.ts","sourceRoot":"","sources":["../../../../src/producer/producer.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,SAAS,EACT,OAAO,EACP,YAAY,EAEZ,QAAQ,EACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAYpD,OAAO,EAEL,cAAc,EACd,cAAc,EACd,aAAa,EACb,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAoBpE,qBAAa,QAAS,SAAQ,QAAQ,CAAC,cAAc,CAAC;IACpD,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IACzC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IACzC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IACnE,SAAS,CAAC,WAAW,EAAE,YAAY,GAAG,IAAI,CAAQ;;IAwElD,OAAO,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI;cAsF3C,SAAS,IAAI,OAAO;IAWvC,SAAS,CAAC,cAAc,IAAI,YAAY;IAiBxC,SAAS,CAAC,wBAAwB,GAAI,IAAI,SAAS,KAAG,IAAI,CAWxD;IAOF,SAAS,CAAC,6BAA6B,GAAI,IAAI,SAAS,KAAG,IAAI,CAW7D;cAQiB,OAAO,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC,EAAE;cA6BtC,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC;cAczB,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC,EAAE;cAyBxC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI;IAkBrD,SAAS,CAAC,uBAAuB,IAAI,oBAAoB;IA0BzD,SAAS,CAAC,SAAS,CACjB,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,GACpB,IAAI;IAsEP,SAAS,CAAC,eAAe,CACvB,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,GACtB,IAAI;IAkFP,SAAS,CAAC,oBAAoB,CAC5B,QAAQ,EAAE,qBAAqB,EAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,EAAE,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC,GAC5B,IAAI;CAcR"}
|
|
@@ -10,98 +10,95 @@ const index_js_3 = require("../exchange/index.js");
|
|
|
10
10
|
const message_envelope_js_1 = require("../message/message-envelope.js");
|
|
11
11
|
const _publish_message_js_1 = require("./_/_publish-message.js");
|
|
12
12
|
const event_bus_publisher_js_1 = require("./event-bus-publisher.js");
|
|
13
|
-
const
|
|
13
|
+
const pub_sub_target_resolver_js_1 = require("./pub-sub-target-resolver.js");
|
|
14
14
|
class Producer extends redis_smq_common_1.Runnable {
|
|
15
15
|
constructor() {
|
|
16
16
|
super();
|
|
17
|
-
this.
|
|
17
|
+
this.pubSubTargetResolver = null;
|
|
18
18
|
this.redisClient = null;
|
|
19
|
-
this.
|
|
20
|
-
this.logger.debug('
|
|
21
|
-
this.
|
|
22
|
-
this.
|
|
19
|
+
this._runPubSubTargetResolver = (cb) => {
|
|
20
|
+
this.logger.debug('Starting PubSubTargetResolver...');
|
|
21
|
+
this.pubSubTargetResolver = new pub_sub_target_resolver_js_1.PubSubTargetResolver(this);
|
|
22
|
+
this.pubSubTargetResolver.run((err) => {
|
|
23
23
|
if (err) {
|
|
24
|
-
this.logger.error('Failed to
|
|
24
|
+
this.logger.error('Failed to start PubSubTargetResolver.', err);
|
|
25
25
|
}
|
|
26
26
|
else {
|
|
27
|
-
this.logger.debug('
|
|
27
|
+
this.logger.debug('PubSubTargetResolver has been started.');
|
|
28
28
|
}
|
|
29
29
|
cb(err);
|
|
30
30
|
});
|
|
31
31
|
};
|
|
32
|
-
this.
|
|
33
|
-
if (this.
|
|
34
|
-
this.logger.debug('Shutting down
|
|
35
|
-
this.
|
|
36
|
-
this.logger.debug('
|
|
37
|
-
this.
|
|
32
|
+
this._shutdownPubSubTargetResolver = (cb) => {
|
|
33
|
+
if (this.pubSubTargetResolver) {
|
|
34
|
+
this.logger.debug('Shutting down PubSubTargetResolver...');
|
|
35
|
+
this.pubSubTargetResolver.shutdown(() => {
|
|
36
|
+
this.logger.debug('PubSubTargetResolver has been shut down.');
|
|
37
|
+
this.pubSubTargetResolver = null;
|
|
38
38
|
cb();
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
42
|
-
this.logger.debug('No queue consumer groups handler to shut down');
|
|
43
42
|
cb();
|
|
44
43
|
}
|
|
45
44
|
};
|
|
46
|
-
this.logger = (0, redis_smq_common_1.createLogger)(index_js_1.Configuration.getConfig().logger, this.constructor.name
|
|
47
|
-
this.logger.info(`Producer instance created
|
|
45
|
+
this.logger = (0, redis_smq_common_1.createLogger)(index_js_1.Configuration.getConfig().logger, this.constructor.name);
|
|
46
|
+
this.logger.info(`Producer instance created [ID: ${this.getId()}]`);
|
|
48
47
|
this.directExchange = new index_js_3.ExchangeDirect();
|
|
49
48
|
this.topicExchange = new index_js_3.ExchangeTopic();
|
|
50
49
|
this.fanoutExchange = new index_js_3.ExchangeFanout();
|
|
51
50
|
if (index_js_1.Configuration.getConfig().eventBus.enabled) {
|
|
52
|
-
this.logger.debug('Event bus is enabled
|
|
51
|
+
this.logger.debug('Event bus is enabled. Initializing event publisher.');
|
|
53
52
|
(0, event_bus_publisher_js_1.eventBusPublisher)(this);
|
|
54
53
|
}
|
|
55
54
|
else {
|
|
56
|
-
this.logger.debug('Event bus is disabled
|
|
55
|
+
this.logger.debug('Event bus is disabled. Skipping event publisher.');
|
|
57
56
|
}
|
|
58
57
|
}
|
|
59
58
|
produce(msg, cb) {
|
|
60
59
|
if (!this.isRunning()) {
|
|
61
|
-
this.logger.error('Cannot produce message
|
|
60
|
+
this.logger.error('Cannot produce message. Producer is not running.');
|
|
62
61
|
return cb(new index_js_2.ProducerNotRunningError());
|
|
63
62
|
}
|
|
64
|
-
const
|
|
65
|
-
if (
|
|
66
|
-
return this.
|
|
63
|
+
const queueParams = msg.getQueue();
|
|
64
|
+
if (queueParams) {
|
|
65
|
+
return this._produceToQueue(msg, queueParams, cb);
|
|
67
66
|
}
|
|
68
|
-
const
|
|
69
|
-
if (!
|
|
70
|
-
this.logger.error('
|
|
67
|
+
const exchangeParams = msg.getExchange();
|
|
68
|
+
if (!exchangeParams) {
|
|
69
|
+
this.logger.error('Message can not be produced without a queue or an exchange.');
|
|
71
70
|
return cb(new index_js_2.MessageExchangeRequiredError());
|
|
72
71
|
}
|
|
73
|
-
this.logger.debug(`
|
|
74
|
-
this.
|
|
75
|
-
this.matchExchangeQueues(ep, msg.getExchangeRoutingKey(), (err, queues) => {
|
|
72
|
+
this.logger.debug(`Looking up queues for exchange [${exchangeParams.name}@${exchangeParams.ns}]...`);
|
|
73
|
+
this._matchExchangeQueues(exchangeParams, msg.getExchangeRoutingKey(), (err, queues) => {
|
|
76
74
|
if (err) {
|
|
77
|
-
this.logger.error('Failed to
|
|
75
|
+
this.logger.error('Failed to match queues for exchange.', err);
|
|
78
76
|
return cb(err);
|
|
79
77
|
}
|
|
80
78
|
if (!(queues === null || queues === void 0 ? void 0 : queues.length)) {
|
|
81
|
-
this.logger.error(
|
|
79
|
+
this.logger.error(`No queues found for exchange [${exchangeParams.name}@${exchangeParams.ns}].`);
|
|
82
80
|
return cb(new index_js_2.NoMatchedQueuesForMessageExchangeError());
|
|
83
81
|
}
|
|
84
|
-
this.logger.info(`Found ${queues.length} matching queues for exchange
|
|
82
|
+
this.logger.info(`Found [${queues.length}] matching queues for exchange.`);
|
|
85
83
|
const messageIds = [];
|
|
86
84
|
redis_smq_common_1.async.eachOf(queues, (queue, index, done) => {
|
|
87
|
-
this.logger.debug(`Producing message
|
|
88
|
-
this.
|
|
85
|
+
this.logger.debug(`Producing message to queue [${queue.name}@${queue.ns}] (${index + 1}/${queues.length}).`);
|
|
86
|
+
this._produceToQueue(msg, queue, (err, reply) => {
|
|
89
87
|
if (err) {
|
|
90
|
-
this.logger.error(`Failed to produce message
|
|
88
|
+
this.logger.error(`Failed to produce message to queue [${queue.name}@${queue.ns}].`, err);
|
|
91
89
|
return done(err);
|
|
92
90
|
}
|
|
93
91
|
if (reply) {
|
|
94
|
-
this.logger.debug(`Successfully produced ${reply.length} messages for queue ${queue.name}@${queue.ns}`);
|
|
95
92
|
messageIds.push(...reply);
|
|
96
93
|
}
|
|
97
94
|
done();
|
|
98
95
|
});
|
|
99
96
|
}, (err) => {
|
|
100
97
|
if (err) {
|
|
101
|
-
this.logger.error('
|
|
98
|
+
this.logger.error('An error occurred while producing messages to one or more queues.', err);
|
|
102
99
|
return cb(err);
|
|
103
100
|
}
|
|
104
|
-
this.logger.info(`Successfully produced ${messageIds.length} messages across ${queues.length} queues
|
|
101
|
+
this.logger.info(`Successfully produced [${messageIds.length}] messages across [${queues.length}] queues.`);
|
|
105
102
|
cb(null, messageIds);
|
|
106
103
|
});
|
|
107
104
|
});
|
|
@@ -111,38 +108,41 @@ class Producer extends redis_smq_common_1.Runnable {
|
|
|
111
108
|
}
|
|
112
109
|
getRedisClient() {
|
|
113
110
|
if (!this.redisClient)
|
|
114
|
-
throw new index_js_2.ProducerError('Redis
|
|
111
|
+
throw new index_js_2.ProducerError('Redis client is not available.');
|
|
115
112
|
return this.redisClient;
|
|
116
113
|
}
|
|
117
114
|
goingUp() {
|
|
118
|
-
this.logger.info(`Producer ${this.getId()} is
|
|
115
|
+
this.logger.info(`Producer [ID: ${this.getId()}] is going up...`);
|
|
119
116
|
return super.goingUp().concat([
|
|
120
117
|
(cb) => {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
118
|
+
redis_connection_pool_js_1.RedisConnectionPool.getInstance().acquire(connection_pool_js_1.ERedisConnectionAcquisitionMode.SHARED, (err, client) => {
|
|
119
|
+
if (err)
|
|
120
|
+
cb(err);
|
|
121
|
+
else {
|
|
122
|
+
this.redisClient = client !== null && client !== void 0 ? client : null;
|
|
123
|
+
cb();
|
|
124
|
+
}
|
|
125
|
+
});
|
|
125
126
|
},
|
|
126
127
|
(cb) => {
|
|
127
|
-
this.logger.debug(`Emitting producer.goingUp event for producer ${this.id}`);
|
|
128
128
|
this.emit('producer.goingUp', this.id);
|
|
129
129
|
cb();
|
|
130
130
|
},
|
|
131
|
-
this.
|
|
131
|
+
this._runPubSubTargetResolver,
|
|
132
132
|
]);
|
|
133
133
|
}
|
|
134
134
|
up(cb) {
|
|
135
135
|
super.up(() => {
|
|
136
|
-
this.logger.info(`Producer ${this.getId()} is
|
|
136
|
+
this.logger.info(`Producer [ID: ${this.getId()}] is up.`);
|
|
137
137
|
this.emit('producer.up', this.id);
|
|
138
138
|
cb(null, true);
|
|
139
139
|
});
|
|
140
140
|
}
|
|
141
141
|
goingDown() {
|
|
142
|
-
this.logger.info(`Producer ${this.getId()} is
|
|
142
|
+
this.logger.info(`Producer [ID: ${this.getId()}] is going down...`);
|
|
143
143
|
this.emit('producer.goingDown', this.id);
|
|
144
144
|
return [
|
|
145
|
-
this.
|
|
145
|
+
this._shutdownPubSubTargetResolver,
|
|
146
146
|
(cb) => {
|
|
147
147
|
if (this.redisClient) {
|
|
148
148
|
redis_connection_pool_js_1.RedisConnectionPool.getInstance().release(this.redisClient);
|
|
@@ -154,44 +154,23 @@ class Producer extends redis_smq_common_1.Runnable {
|
|
|
154
154
|
}
|
|
155
155
|
down(cb) {
|
|
156
156
|
super.down(() => {
|
|
157
|
-
this.logger.info(`Producer ${this.getId()} is
|
|
157
|
+
this.logger.info(`Producer [ID: ${this.getId()}] is down.`);
|
|
158
158
|
this.emit('producer.down', this.id);
|
|
159
159
|
cb(null, true);
|
|
160
160
|
});
|
|
161
161
|
}
|
|
162
|
-
|
|
163
|
-
if (!this.
|
|
164
|
-
|
|
165
|
-
this.logger.error('Queue consumer groups handler not initialized', error);
|
|
166
|
-
throw error;
|
|
162
|
+
getPubSubTargetResolver() {
|
|
163
|
+
if (!this.pubSubTargetResolver) {
|
|
164
|
+
throw new redis_smq_common_1.PanicError('Expected PubSubTargetResolver to be running.');
|
|
167
165
|
}
|
|
168
|
-
return this.
|
|
166
|
+
return this.pubSubTargetResolver;
|
|
169
167
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
.getMessageState()
|
|
174
|
-
.getId();
|
|
168
|
+
_dispatch(message, queue, cb) {
|
|
169
|
+
message.setDestinationQueue(queue);
|
|
170
|
+
const messageId = message.getId();
|
|
175
171
|
const queueName = `${queue.name}@${queue.ns}`;
|
|
176
|
-
this.logger.debug(`Producing message item ${messageId} for queue ${queueName}${message.isSchedulable() ? ' (scheduled)' : ''}`);
|
|
177
|
-
const handleResult = (err) => {
|
|
178
|
-
if (err) {
|
|
179
|
-
this.logger.error(`Failed to produce message ${messageId} for queue ${queueName}`, err);
|
|
180
|
-
cb(err);
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
const action = message.isSchedulable() ? 'scheduled' : 'published';
|
|
184
|
-
this.logger.info(`Message (ID ${messageId}) has been ${action} to queue ${queueName}`);
|
|
185
|
-
if (!message.isSchedulable()) {
|
|
186
|
-
this.logger.debug(`Emitting messagePublished event for message ${messageId}`);
|
|
187
|
-
this.emit('producer.messagePublished', messageId, { queueParams: queue, groupId: message.getConsumerGroupId() }, this.id);
|
|
188
|
-
}
|
|
189
|
-
cb(null, messageId);
|
|
190
|
-
}
|
|
191
|
-
};
|
|
192
172
|
const ts = Date.now();
|
|
193
173
|
if (message.isSchedulable()) {
|
|
194
|
-
this.logger.debug(`Scheduling message ${messageId} for future delivery`);
|
|
195
174
|
message
|
|
196
175
|
.getMessageState()
|
|
197
176
|
.setScheduledAt(ts)
|
|
@@ -199,76 +178,81 @@ class Producer extends redis_smq_common_1.Runnable {
|
|
|
199
178
|
.incrScheduledTimes();
|
|
200
179
|
}
|
|
201
180
|
else {
|
|
202
|
-
this.logger.debug(`Enqueueing message ${messageId} for immediate delivery`);
|
|
203
181
|
message.getMessageState().setPublishedAt(ts);
|
|
204
182
|
}
|
|
205
|
-
(0, _publish_message_js_1._publishMessage)(this.getRedisClient(), message, this.logger,
|
|
183
|
+
(0, _publish_message_js_1._publishMessage)(this.getRedisClient(), message, this.logger, (err) => {
|
|
184
|
+
if (err) {
|
|
185
|
+
this.logger.error(`Failed to dispatch message [${messageId}] to queue [${queueName}].`, err);
|
|
186
|
+
cb(err);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
const action = message.isSchedulable() ? 'scheduled' : 'published';
|
|
190
|
+
this.logger.info(`Message [${messageId}] has been ${action} to queue [${queueName}].`);
|
|
191
|
+
if (!message.isSchedulable()) {
|
|
192
|
+
this.emit('producer.messagePublished', messageId, {
|
|
193
|
+
queueParams: queue,
|
|
194
|
+
groupId: message.getConsumerGroupId(),
|
|
195
|
+
}, this.id);
|
|
196
|
+
}
|
|
197
|
+
cb(null, messageId);
|
|
198
|
+
}
|
|
199
|
+
});
|
|
206
200
|
}
|
|
207
|
-
|
|
201
|
+
_produceToQueue(message, queue, cb) {
|
|
208
202
|
const queueName = `${queue.name}@${queue.ns}`;
|
|
209
|
-
|
|
210
|
-
const { isPubSub, queueConsumerGroups } = this.getQueueConsumerGroupsHandler().getConsumerGroups(queue);
|
|
203
|
+
const { isPubSub, targets } = this.getPubSubTargetResolver().resolveTargets(queue);
|
|
211
204
|
if (isPubSub) {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
cb(new index_js_2.QueueHasNoConsumerGroupsError());
|
|
216
|
-
return;
|
|
205
|
+
if (!targets.length) {
|
|
206
|
+
this.logger.error(`Queue [${queueName}] is PUB/SUB but has no consumer groups.`);
|
|
207
|
+
return cb(new index_js_2.QueueHasNoConsumerGroupsError());
|
|
217
208
|
}
|
|
218
209
|
const ids = [];
|
|
219
|
-
this.logger.debug(`
|
|
220
|
-
redis_smq_common_1.async.eachOf(
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
else {
|
|
229
|
-
this.logger.debug(`Successfully produced message ${reply} for consumer group ${group}`);
|
|
230
|
-
ids.push(String(reply));
|
|
231
|
-
done();
|
|
232
|
-
}
|
|
210
|
+
this.logger.debug(`Fanning out message to [${targets.length}] consumer groups for queue [${queueName}].`);
|
|
211
|
+
redis_smq_common_1.async.eachOf(targets, (groupId, _, done) => {
|
|
212
|
+
const msg = new message_envelope_js_1.MessageEnvelope(message).setConsumerGroupId(groupId);
|
|
213
|
+
this._dispatch(msg, queue, (err, reply) => {
|
|
214
|
+
if (err)
|
|
215
|
+
return done(err);
|
|
216
|
+
if (reply)
|
|
217
|
+
ids.push(reply);
|
|
218
|
+
done();
|
|
233
219
|
});
|
|
234
220
|
}, (err) => {
|
|
235
221
|
if (err) {
|
|
236
|
-
this.logger.error(`Failed to produce messages
|
|
237
|
-
cb(err);
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
this.logger.info(`Successfully produced ${ids.length} messages for queue ${queueName}`);
|
|
241
|
-
cb(null, ids);
|
|
222
|
+
this.logger.error(`Failed to produce messages to one or more consumer groups for queue [${queueName}].`, err);
|
|
223
|
+
return cb(err);
|
|
242
224
|
}
|
|
225
|
+
this.logger.info(`Successfully produced [${ids.length}] messages to queue [${queueName}].`);
|
|
226
|
+
cb(null, ids);
|
|
243
227
|
});
|
|
244
228
|
}
|
|
245
229
|
else {
|
|
246
|
-
this.logger.debug(`Queue ${queueName} has no consumer groups, producing message directly`);
|
|
247
230
|
const msg = new message_envelope_js_1.MessageEnvelope(message);
|
|
248
|
-
this.
|
|
231
|
+
this._dispatch(msg, queue, (err, reply) => {
|
|
249
232
|
if (err) {
|
|
250
|
-
this.logger.error(`Failed to produce message
|
|
251
|
-
cb(err);
|
|
252
|
-
}
|
|
253
|
-
else {
|
|
254
|
-
this.logger.info(`Successfully produced message ${reply} for queue ${queueName}`);
|
|
255
|
-
cb(null, [String(reply)]);
|
|
233
|
+
this.logger.error(`Failed to produce message to queue [${queueName}].`, err);
|
|
234
|
+
return cb(err);
|
|
256
235
|
}
|
|
236
|
+
this.logger.info(`Successfully produced message [${reply}] to queue [${queueName}].`);
|
|
237
|
+
cb(null, reply ? [reply] : []);
|
|
257
238
|
});
|
|
258
239
|
}
|
|
259
240
|
}
|
|
260
|
-
|
|
241
|
+
_matchExchangeQueues(exchange, routingKey, cb) {
|
|
261
242
|
if (exchange.type === index_js_3.EExchangeType.DIRECT) {
|
|
262
243
|
if (!routingKey)
|
|
263
|
-
return cb(new index_js_2.
|
|
244
|
+
return cb(new index_js_2.RoutingKeyRequiredError());
|
|
264
245
|
return this.directExchange.matchQueues(exchange, routingKey, cb);
|
|
265
246
|
}
|
|
266
247
|
if (exchange.type === index_js_3.EExchangeType.TOPIC) {
|
|
267
248
|
if (!routingKey)
|
|
268
|
-
return cb(new index_js_2.
|
|
249
|
+
return cb(new index_js_2.RoutingKeyRequiredError());
|
|
269
250
|
return this.topicExchange.matchQueues(exchange, routingKey, cb);
|
|
270
251
|
}
|
|
271
|
-
|
|
252
|
+
if (exchange.type === index_js_3.EExchangeType.FANOUT) {
|
|
253
|
+
return this.fanoutExchange.matchQueues(exchange, cb);
|
|
254
|
+
}
|
|
255
|
+
cb(new index_js_2.ProducerError(`Unsupported exchange type.`));
|
|
272
256
|
}
|
|
273
257
|
}
|
|
274
258
|
exports.Producer = Producer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"producer.js","sourceRoot":"","sources":["../../../../src/producer/producer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"producer.js","sourceRoot":"","sources":["../../../../src/producer/producer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { EventBusRedis, ICallback, ILogger, Runnable, TRedisClientEvent } from 'redis-smq-common';
|
|
2
|
+
import { IQueueParams, IQueueProperties } from '../queue-manager/index.js';
|
|
3
|
+
import { Producer } from './producer.js';
|
|
4
|
+
export declare class PubSubTargetResolver extends Runnable<Pick<TRedisClientEvent, 'error'>> {
|
|
5
|
+
protected eventBus: EventBusRedis<import("redis-smq-common").TEventBusEvent>;
|
|
6
|
+
protected producerId: string;
|
|
7
|
+
protected logger: ILogger;
|
|
8
|
+
protected pubSubTargets: Record<string, string[]>;
|
|
9
|
+
constructor(producer: Producer);
|
|
10
|
+
resolveTargets(queue: IQueueParams): {
|
|
11
|
+
isPubSub: boolean;
|
|
12
|
+
targets: string[];
|
|
13
|
+
};
|
|
14
|
+
protected getLogger(): ILogger;
|
|
15
|
+
protected goingUp(): ((cb: ICallback<void>) => void)[];
|
|
16
|
+
protected goingDown(): ((cb: ICallback<void>) => void)[];
|
|
17
|
+
protected onConsumerGroupCreated: (queue: IQueueParams, groupId: string) => void;
|
|
18
|
+
protected onConsumerGroupDeleted: (queue: IQueueParams, groupId: string) => void;
|
|
19
|
+
protected onQueueCreated: (queue: IQueueParams, properties: IQueueProperties) => void;
|
|
20
|
+
protected onQueueDeleted: (queue: IQueueParams) => void;
|
|
21
|
+
protected subscribeToEvents: (cb: ICallback<void>) => void;
|
|
22
|
+
protected unsubscribeFromEvents: (cb: ICallback) => void;
|
|
23
|
+
protected loadAndCacheInitialTargets: (cb: ICallback<void>) => void;
|
|
24
|
+
protected clearCache: (cb: ICallback<void>) => void;
|
|
25
|
+
private getQueueKey;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=pub-sub-target-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pub-sub-target-resolver.d.ts","sourceRoot":"","sources":["../../../../src/producer/pub-sub-target-resolver.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,aAAa,EACb,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAEL,YAAY,EACZ,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAgBzC,qBAAa,oBAAqB,SAAQ,QAAQ,CAChD,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CACjC;IACC,SAAS,CAAC,QAAQ,2DAAC;IACnB,SAAS,CAAC,UAAU,SAAC;IACrB,SAAS,CAAC,MAAM,UAAC;IAQjB,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM;gBAE3C,QAAQ,EAAE,QAAQ;IAgC9B,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG;QACnC,QAAQ,EAAE,OAAO,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB;cAsBkB,SAAS,IAAI,OAAO;cAIpB,OAAO,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;cAW5C,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;IAajE,SAAS,CAAC,sBAAsB,GAAI,OAAO,YAAY,EAAE,SAAS,MAAM,UAgBtE;IAMF,SAAS,CAAC,sBAAsB,GAAI,OAAO,YAAY,EAAE,SAAS,MAAM,UAgBtE;IAMF,SAAS,CAAC,cAAc,GACtB,OAAO,YAAY,EACnB,YAAY,gBAAgB,UAW5B;IAMF,SAAS,CAAC,cAAc,GAAI,OAAO,YAAY,UAO7C;IAKF,SAAS,CAAC,iBAAiB,GAAI,IAAI,SAAS,CAAC,IAAI,CAAC,KAAG,IAAI,CAQvD;IAKF,SAAS,CAAC,qBAAqB,GAAI,IAAI,SAAS,KAAG,IAAI,CAcrD;IAWF,SAAS,CAAC,0BAA0B,GAAI,IAAI,SAAS,CAAC,IAAI,CAAC,KAAG,IAAI,CA2EhE;IAKF,SAAS,CAAC,UAAU,GAAI,IAAI,SAAS,CAAC,IAAI,CAAC,KAAG,IAAI,CAMhD;IAOF,OAAO,CAAC,WAAW;CAGpB"}
|