amqp-connection-manager 3.6.0 → 3.7.0
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/README.md +7 -5
- package/dist/cjs/AmqpConnectionManager.js +34 -0
- package/dist/cjs/ChannelWrapper.js +55 -9
- package/dist/cjs/index.js +7 -2
- package/dist/esm/AmqpConnectionManager.d.ts +16 -2
- package/dist/esm/AmqpConnectionManager.js +35 -1
- package/dist/esm/AmqpConnectionManager.js.map +1 -1
- package/dist/esm/ChannelWrapper.d.ts +16 -3
- package/dist/esm/ChannelWrapper.js +55 -9
- package/dist/esm/ChannelWrapper.js.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +6 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -2,13 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://npmjs.org/package/amqp-connection-manager)
|
|
4
4
|

|
|
5
|
-
[](https://coveralls.io/github/jwalton/node-amqp-connection-manager?branch=master)
|
|
6
5
|
[](https://github.com/semantic-release/semantic-release)
|
|
7
6
|
|
|
8
|
-
[](https://david-dm.org/jwalton/node-amqp-connection-manager)
|
|
9
|
-
[](https://david-dm.org/jwalton/node-amqp-connection-manager#info=devDependencies)
|
|
10
|
-
[](https://david-dm.org/jwalton/node-amqp-connection-manager#info=peerDependencies)
|
|
11
|
-
|
|
12
7
|
Connection management for amqplib. This is a wrapper around [amqplib](http://www.squaremobius.net/amqp.node/) which provides automatic reconnects.
|
|
13
8
|
|
|
14
9
|
## Features
|
|
@@ -139,6 +134,7 @@ Options:
|
|
|
139
134
|
arbitrary data in.
|
|
140
135
|
- `options.json` if true, then ChannelWrapper assumes all messages passed to `publish()` and `sendToQueue()`
|
|
141
136
|
are plain JSON objects. These will be encoded automatically before being sent.
|
|
137
|
+
- `options.publishTimeout` - a default timeout for messages published to this channel.
|
|
142
138
|
|
|
143
139
|
### AmqpConnectionManager#isConnected()
|
|
144
140
|
|
|
@@ -183,6 +179,12 @@ callback) which resolves when the message is confirmed to have been delivered to
|
|
|
183
179
|
either the broker refuses the message, or if `close()` is called on the ChannelWrapper before the message can be
|
|
184
180
|
delivered.
|
|
185
181
|
|
|
182
|
+
Both of these functions take an additional option when passing options:
|
|
183
|
+
|
|
184
|
+
- `timeout` - If specified, if a messages is not acked by the amqp broker within the specified number of milliseconds,
|
|
185
|
+
the message will be rejected. Note that the message _may_ still end up getting delivered after the timeout, as we
|
|
186
|
+
have no way to cancel the in-flight request.
|
|
187
|
+
|
|
186
188
|
### ChannelWrapper#ack and ChannelWrapper#nack
|
|
187
189
|
|
|
188
190
|
These are just aliases for calling `ack()` and `nack()` on the underlying channel. They do nothing if the underlying
|
|
@@ -72,7 +72,41 @@ class AmqpConnectionManager extends events_1.EventEmitter {
|
|
|
72
72
|
// There will be one listener per channel, and there could be a lot of channels, so disable warnings from node.
|
|
73
73
|
this.setMaxListeners(0);
|
|
74
74
|
this._findServers = options.findServers || (() => Promise.resolve(urls));
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Start the connect retries and await the first connect result. Even if the initial connect fails or timeouts, the
|
|
78
|
+
* reconnect attempts will continue in the background.
|
|
79
|
+
* @param [options={}] -
|
|
80
|
+
* @param [options.timeout] - Time to wait for initial connect
|
|
81
|
+
*/
|
|
82
|
+
async connect({ timeout } = {}) {
|
|
75
83
|
this._connect();
|
|
84
|
+
let reject;
|
|
85
|
+
const onDisconnect = ({ err }) => {
|
|
86
|
+
// Ignore disconnects caused by dead servers etc., but throw on operational errors like bad credentials.
|
|
87
|
+
if (err.isOperational) {
|
|
88
|
+
reject(err);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
try {
|
|
92
|
+
await Promise.race([
|
|
93
|
+
(0, events_1.once)(this, 'connect'),
|
|
94
|
+
new Promise((_resolve, innerReject) => {
|
|
95
|
+
reject = innerReject;
|
|
96
|
+
this.on('disconnect', onDisconnect);
|
|
97
|
+
}),
|
|
98
|
+
...(timeout
|
|
99
|
+
? [
|
|
100
|
+
(0, helpers_js_1.wait)(timeout).promise.then(() => {
|
|
101
|
+
throw new Error('amqp-connection-manager: connect timeout');
|
|
102
|
+
}),
|
|
103
|
+
]
|
|
104
|
+
: []),
|
|
105
|
+
]);
|
|
106
|
+
}
|
|
107
|
+
finally {
|
|
108
|
+
this.removeListener('disconnect', onDisconnect);
|
|
109
|
+
}
|
|
76
110
|
}
|
|
77
111
|
// `options` here are any options that can be passed to ChannelWrapper.
|
|
78
112
|
createChannel(options = {}) {
|
|
@@ -78,6 +78,7 @@ class ChannelWrapper extends events_1.EventEmitter {
|
|
|
78
78
|
this._onDisconnect = this._onDisconnect.bind(this);
|
|
79
79
|
this._connectionManager = connectionManager;
|
|
80
80
|
this.name = options.name;
|
|
81
|
+
this._publishTimeout = options.publishTimeout;
|
|
81
82
|
this._json = (_a = options.json) !== null && _a !== void 0 ? _a : false;
|
|
82
83
|
// Array of setup functions to call.
|
|
83
84
|
this._setups = [];
|
|
@@ -180,15 +181,17 @@ class ChannelWrapper extends events_1.EventEmitter {
|
|
|
180
181
|
*/
|
|
181
182
|
publish(exchange, routingKey, content, options, done) {
|
|
182
183
|
return promise_breaker_1.default.addCallback(done, new Promise((resolve, reject) => {
|
|
183
|
-
|
|
184
|
+
const { timeout, ...opts } = options || {};
|
|
185
|
+
this._enqueueMessage({
|
|
184
186
|
type: 'publish',
|
|
185
187
|
exchange,
|
|
186
188
|
routingKey,
|
|
187
189
|
content,
|
|
188
|
-
options,
|
|
189
190
|
resolve,
|
|
190
191
|
reject,
|
|
191
|
-
|
|
192
|
+
options: opts,
|
|
193
|
+
isTimedout: false,
|
|
194
|
+
}, timeout || this._publishTimeout);
|
|
192
195
|
this._startWorker();
|
|
193
196
|
}));
|
|
194
197
|
}
|
|
@@ -203,17 +206,38 @@ class ChannelWrapper extends events_1.EventEmitter {
|
|
|
203
206
|
*/
|
|
204
207
|
sendToQueue(queue, content, options, done) {
|
|
205
208
|
return promise_breaker_1.default.addCallback(done, new Promise((resolve, reject) => {
|
|
206
|
-
|
|
209
|
+
const { timeout, ...opts } = options || {};
|
|
210
|
+
this._enqueueMessage({
|
|
207
211
|
type: 'sendToQueue',
|
|
208
212
|
queue,
|
|
209
213
|
content,
|
|
210
|
-
options,
|
|
211
214
|
resolve,
|
|
212
215
|
reject,
|
|
213
|
-
|
|
214
|
-
|
|
216
|
+
options: opts,
|
|
217
|
+
isTimedout: false,
|
|
218
|
+
}, timeout || this._publishTimeout);
|
|
219
|
+
this._startWorker();
|
|
215
220
|
}));
|
|
216
221
|
}
|
|
222
|
+
_enqueueMessage(message, timeout) {
|
|
223
|
+
if (timeout) {
|
|
224
|
+
message.timeout = setTimeout(() => {
|
|
225
|
+
let idx = this._messages.indexOf(message);
|
|
226
|
+
if (idx !== -1) {
|
|
227
|
+
this._messages.splice(idx, 1);
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
idx = this._unconfirmedMessages.indexOf(message);
|
|
231
|
+
if (idx !== -1) {
|
|
232
|
+
this._unconfirmedMessages.splice(idx, 1);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
message.isTimedout = true;
|
|
236
|
+
message.reject(new Error('timeout'));
|
|
237
|
+
}, timeout);
|
|
238
|
+
}
|
|
239
|
+
this._messages.push(message);
|
|
240
|
+
}
|
|
217
241
|
// Called whenever we connect to the broker.
|
|
218
242
|
async _onConnect({ connection }) {
|
|
219
243
|
this._irrecoverableCode = undefined;
|
|
@@ -287,11 +311,21 @@ class ChannelWrapper extends events_1.EventEmitter {
|
|
|
287
311
|
this._working = false;
|
|
288
312
|
if (this._messages.length !== 0) {
|
|
289
313
|
// Reject any unsent messages.
|
|
290
|
-
this._messages.forEach((message) =>
|
|
314
|
+
this._messages.forEach((message) => {
|
|
315
|
+
if (message.timeout) {
|
|
316
|
+
clearTimeout(message.timeout);
|
|
317
|
+
}
|
|
318
|
+
message.reject(new Error('Channel closed'));
|
|
319
|
+
});
|
|
291
320
|
}
|
|
292
321
|
if (this._unconfirmedMessages.length !== 0) {
|
|
293
322
|
// Reject any unconfirmed messages.
|
|
294
|
-
this._unconfirmedMessages.forEach((message) =>
|
|
323
|
+
this._unconfirmedMessages.forEach((message) => {
|
|
324
|
+
if (message.timeout) {
|
|
325
|
+
clearTimeout(message.timeout);
|
|
326
|
+
}
|
|
327
|
+
message.reject(new Error('Channel closed'));
|
|
328
|
+
});
|
|
295
329
|
}
|
|
296
330
|
this._connectionManager.removeListener('connect', this._onConnect);
|
|
297
331
|
this._connectionManager.removeListener('disconnect', this._onDisconnect);
|
|
@@ -379,6 +413,12 @@ class ChannelWrapper extends events_1.EventEmitter {
|
|
|
379
413
|
case 'publish': {
|
|
380
414
|
let thisCanSend = true;
|
|
381
415
|
thisCanSend = this._channelHasRoom = channel.publish(message.exchange, message.routingKey, encodedMessage, message.options, (err) => {
|
|
416
|
+
if (message.isTimedout) {
|
|
417
|
+
return;
|
|
418
|
+
}
|
|
419
|
+
if (message.timeout) {
|
|
420
|
+
clearTimeout(message.timeout);
|
|
421
|
+
}
|
|
382
422
|
if (err) {
|
|
383
423
|
this._messageRejected(message, err);
|
|
384
424
|
}
|
|
@@ -391,6 +431,12 @@ class ChannelWrapper extends events_1.EventEmitter {
|
|
|
391
431
|
case 'sendToQueue': {
|
|
392
432
|
let thisCanSend = true;
|
|
393
433
|
thisCanSend = this._channelHasRoom = channel.sendToQueue(message.queue, encodedMessage, message.options, (err) => {
|
|
434
|
+
if (message.isTimedout) {
|
|
435
|
+
return;
|
|
436
|
+
}
|
|
437
|
+
if (message.timeout) {
|
|
438
|
+
clearTimeout(message.timeout);
|
|
439
|
+
}
|
|
394
440
|
if (err) {
|
|
395
441
|
this._messageRejected(message, err);
|
|
396
442
|
}
|
package/dist/cjs/index.js
CHANGED
|
@@ -3,10 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.connect = void 0;
|
|
6
|
+
exports.AmqpConnectionManagerClass = exports.connect = void 0;
|
|
7
7
|
const AmqpConnectionManager_js_1 = __importDefault(require("./AmqpConnectionManager.js"));
|
|
8
|
+
exports.AmqpConnectionManagerClass = AmqpConnectionManager_js_1.default;
|
|
8
9
|
function connect(urls, options) {
|
|
9
|
-
|
|
10
|
+
const conn = new AmqpConnectionManager_js_1.default(urls, options);
|
|
11
|
+
conn.connect().catch(() => {
|
|
12
|
+
/* noop */
|
|
13
|
+
});
|
|
14
|
+
return conn;
|
|
10
15
|
}
|
|
11
16
|
exports.connect = connect;
|
|
12
17
|
const amqp = { connect };
|
|
@@ -59,6 +59,7 @@ export interface IAmqpConnectionManager {
|
|
|
59
59
|
addListener(event: 'disconnect', listener: (arg: {
|
|
60
60
|
err: Error;
|
|
61
61
|
}) => void): this;
|
|
62
|
+
listeners(eventName: string | symbol): Function[];
|
|
62
63
|
on(event: string, listener: (...args: any[]) => void): this;
|
|
63
64
|
on(event: 'connect', listener: ConnectListener): this;
|
|
64
65
|
on(event: 'blocked', listener: (arg: {
|
|
@@ -96,13 +97,17 @@ export interface IAmqpConnectionManager {
|
|
|
96
97
|
err: Error;
|
|
97
98
|
}) => void): this;
|
|
98
99
|
removeListener(event: string, listener: (...args: any[]) => void): this;
|
|
100
|
+
connect(options?: {
|
|
101
|
+
timeout?: number;
|
|
102
|
+
}): Promise<void>;
|
|
103
|
+
reconnect(): void;
|
|
99
104
|
createChannel(options?: CreateChannelOpts): ChannelWrapper;
|
|
100
105
|
close(): Promise<void>;
|
|
101
106
|
isConnected(): boolean;
|
|
102
107
|
/** The current connection. */
|
|
103
|
-
|
|
108
|
+
readonly connection: Connection | undefined;
|
|
104
109
|
/** Returns the number of registered channels. */
|
|
105
|
-
|
|
110
|
+
readonly channelCount: number;
|
|
106
111
|
}
|
|
107
112
|
export default class AmqpConnectionManager extends EventEmitter implements IAmqpConnectionManager {
|
|
108
113
|
private _channels;
|
|
@@ -148,6 +153,15 @@ export default class AmqpConnectionManager extends EventEmitter implements IAmqp
|
|
|
148
153
|
* Note that if this is supplied, then `urls` is ignored.
|
|
149
154
|
*/
|
|
150
155
|
constructor(urls: ConnectionUrl | ConnectionUrl[] | undefined | null, options?: AmqpConnectionManagerOptions);
|
|
156
|
+
/**
|
|
157
|
+
* Start the connect retries and await the first connect result. Even if the initial connect fails or timeouts, the
|
|
158
|
+
* reconnect attempts will continue in the background.
|
|
159
|
+
* @param [options={}] -
|
|
160
|
+
* @param [options.timeout] - Time to wait for initial connect
|
|
161
|
+
*/
|
|
162
|
+
connect({ timeout }?: {
|
|
163
|
+
timeout?: number;
|
|
164
|
+
}): Promise<void>;
|
|
151
165
|
createChannel(options?: CreateChannelOpts): ChannelWrapper;
|
|
152
166
|
close(): Promise<void>;
|
|
153
167
|
isConnected(): boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import amqp from 'amqplib';
|
|
2
|
-
import { EventEmitter } from 'events';
|
|
2
|
+
import { EventEmitter, once } from 'events';
|
|
3
3
|
import pb from 'promise-breaker';
|
|
4
4
|
import { URL } from 'url';
|
|
5
5
|
import ChannelWrapper from './ChannelWrapper.js';
|
|
@@ -67,7 +67,41 @@ export default class AmqpConnectionManager extends EventEmitter {
|
|
|
67
67
|
// There will be one listener per channel, and there could be a lot of channels, so disable warnings from node.
|
|
68
68
|
this.setMaxListeners(0);
|
|
69
69
|
this._findServers = options.findServers || (() => Promise.resolve(urls));
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Start the connect retries and await the first connect result. Even if the initial connect fails or timeouts, the
|
|
73
|
+
* reconnect attempts will continue in the background.
|
|
74
|
+
* @param [options={}] -
|
|
75
|
+
* @param [options.timeout] - Time to wait for initial connect
|
|
76
|
+
*/
|
|
77
|
+
async connect({ timeout } = {}) {
|
|
70
78
|
this._connect();
|
|
79
|
+
let reject;
|
|
80
|
+
const onDisconnect = ({ err }) => {
|
|
81
|
+
// Ignore disconnects caused by dead servers etc., but throw on operational errors like bad credentials.
|
|
82
|
+
if (err.isOperational) {
|
|
83
|
+
reject(err);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
try {
|
|
87
|
+
await Promise.race([
|
|
88
|
+
once(this, 'connect'),
|
|
89
|
+
new Promise((_resolve, innerReject) => {
|
|
90
|
+
reject = innerReject;
|
|
91
|
+
this.on('disconnect', onDisconnect);
|
|
92
|
+
}),
|
|
93
|
+
...(timeout
|
|
94
|
+
? [
|
|
95
|
+
wait(timeout).promise.then(() => {
|
|
96
|
+
throw new Error('amqp-connection-manager: connect timeout');
|
|
97
|
+
}),
|
|
98
|
+
]
|
|
99
|
+
: []),
|
|
100
|
+
]);
|
|
101
|
+
}
|
|
102
|
+
finally {
|
|
103
|
+
this.removeListener('disconnect', onDisconnect);
|
|
104
|
+
}
|
|
71
105
|
}
|
|
72
106
|
// `options` here are any options that can be passed to ChannelWrapper.
|
|
73
107
|
createChannel(options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmqpConnectionManager.js","sourceRoot":"","sources":["../../src/AmqpConnectionManager.ts"],"names":[],"mappings":"AAAA,OAAO,IAAoB,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"AmqpConnectionManager.js","sourceRoot":"","sources":["../../src/AmqpConnectionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,14 @@ export interface CreateChannelOpts {
|
|
|
18
18
|
* These will be encoded automatically before being sent.
|
|
19
19
|
*/
|
|
20
20
|
json?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Default publish timeout in ms. Messages not published within the given time are rejected with a timeout error.
|
|
23
|
+
*/
|
|
24
|
+
publishTimeout?: number;
|
|
25
|
+
}
|
|
26
|
+
interface PublishOptions extends Options.Publish {
|
|
27
|
+
/** Message will be rejected after timeout ms */
|
|
28
|
+
timeout?: number;
|
|
21
29
|
}
|
|
22
30
|
interface ConsumerOptions extends amqplib.Options.Consume {
|
|
23
31
|
prefetch?: number;
|
|
@@ -77,6 +85,10 @@ export default class ChannelWrapper extends EventEmitter {
|
|
|
77
85
|
* True if the underlying channel has room for more messages.
|
|
78
86
|
*/
|
|
79
87
|
private _channelHasRoom;
|
|
88
|
+
/**
|
|
89
|
+
* Default publish timeout
|
|
90
|
+
*/
|
|
91
|
+
private _publishTimeout?;
|
|
80
92
|
name?: string;
|
|
81
93
|
addListener(event: string, listener: (...args: any[]) => void): this;
|
|
82
94
|
addListener(event: 'connect', listener: () => void): this;
|
|
@@ -140,7 +152,7 @@ export default class ChannelWrapper extends EventEmitter {
|
|
|
140
152
|
* @param {function} [done] - Optional callback.
|
|
141
153
|
* @returns {void | Promise} - Resolves when complete.
|
|
142
154
|
*/
|
|
143
|
-
removeSetup(setup: SetupFunc, teardown?:
|
|
155
|
+
removeSetup(setup: SetupFunc, teardown?: SetupFunc, done?: pb.Callback<void>): Promise<void>;
|
|
144
156
|
/**
|
|
145
157
|
* Returns a Promise which resolves when this channel next connects.
|
|
146
158
|
* (Mainly here for unit testing...)
|
|
@@ -149,8 +161,9 @@ export default class ChannelWrapper extends EventEmitter {
|
|
|
149
161
|
* @returns - Resolves when connected.
|
|
150
162
|
*/
|
|
151
163
|
waitForConnect(done?: pb.Callback<void>): Promise<void>;
|
|
152
|
-
publish(exchange: string, routingKey: string, content: Buffer | string | unknown, options?:
|
|
153
|
-
sendToQueue(queue: string, content: Buffer | string | unknown, options?:
|
|
164
|
+
publish(exchange: string, routingKey: string, content: Buffer | string | unknown, options?: PublishOptions, done?: pb.Callback<boolean>): Promise<boolean>;
|
|
165
|
+
sendToQueue(queue: string, content: Buffer | string | unknown, options?: PublishOptions, done?: pb.Callback<boolean>): Promise<boolean>;
|
|
166
|
+
private _enqueueMessage;
|
|
154
167
|
/**
|
|
155
168
|
* Create a new ChannelWrapper.
|
|
156
169
|
*
|
|
@@ -73,6 +73,7 @@ export default class ChannelWrapper extends EventEmitter {
|
|
|
73
73
|
this._onDisconnect = this._onDisconnect.bind(this);
|
|
74
74
|
this._connectionManager = connectionManager;
|
|
75
75
|
this.name = options.name;
|
|
76
|
+
this._publishTimeout = options.publishTimeout;
|
|
76
77
|
this._json = (_a = options.json) !== null && _a !== void 0 ? _a : false;
|
|
77
78
|
// Array of setup functions to call.
|
|
78
79
|
this._setups = [];
|
|
@@ -175,15 +176,17 @@ export default class ChannelWrapper extends EventEmitter {
|
|
|
175
176
|
*/
|
|
176
177
|
publish(exchange, routingKey, content, options, done) {
|
|
177
178
|
return pb.addCallback(done, new Promise((resolve, reject) => {
|
|
178
|
-
|
|
179
|
+
const { timeout, ...opts } = options || {};
|
|
180
|
+
this._enqueueMessage({
|
|
179
181
|
type: 'publish',
|
|
180
182
|
exchange,
|
|
181
183
|
routingKey,
|
|
182
184
|
content,
|
|
183
|
-
options,
|
|
184
185
|
resolve,
|
|
185
186
|
reject,
|
|
186
|
-
|
|
187
|
+
options: opts,
|
|
188
|
+
isTimedout: false,
|
|
189
|
+
}, timeout || this._publishTimeout);
|
|
187
190
|
this._startWorker();
|
|
188
191
|
}));
|
|
189
192
|
}
|
|
@@ -198,17 +201,38 @@ export default class ChannelWrapper extends EventEmitter {
|
|
|
198
201
|
*/
|
|
199
202
|
sendToQueue(queue, content, options, done) {
|
|
200
203
|
return pb.addCallback(done, new Promise((resolve, reject) => {
|
|
201
|
-
|
|
204
|
+
const { timeout, ...opts } = options || {};
|
|
205
|
+
this._enqueueMessage({
|
|
202
206
|
type: 'sendToQueue',
|
|
203
207
|
queue,
|
|
204
208
|
content,
|
|
205
|
-
options,
|
|
206
209
|
resolve,
|
|
207
210
|
reject,
|
|
208
|
-
|
|
209
|
-
|
|
211
|
+
options: opts,
|
|
212
|
+
isTimedout: false,
|
|
213
|
+
}, timeout || this._publishTimeout);
|
|
214
|
+
this._startWorker();
|
|
210
215
|
}));
|
|
211
216
|
}
|
|
217
|
+
_enqueueMessage(message, timeout) {
|
|
218
|
+
if (timeout) {
|
|
219
|
+
message.timeout = setTimeout(() => {
|
|
220
|
+
let idx = this._messages.indexOf(message);
|
|
221
|
+
if (idx !== -1) {
|
|
222
|
+
this._messages.splice(idx, 1);
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
idx = this._unconfirmedMessages.indexOf(message);
|
|
226
|
+
if (idx !== -1) {
|
|
227
|
+
this._unconfirmedMessages.splice(idx, 1);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
message.isTimedout = true;
|
|
231
|
+
message.reject(new Error('timeout'));
|
|
232
|
+
}, timeout);
|
|
233
|
+
}
|
|
234
|
+
this._messages.push(message);
|
|
235
|
+
}
|
|
212
236
|
// Called whenever we connect to the broker.
|
|
213
237
|
async _onConnect({ connection }) {
|
|
214
238
|
this._irrecoverableCode = undefined;
|
|
@@ -282,11 +306,21 @@ export default class ChannelWrapper extends EventEmitter {
|
|
|
282
306
|
this._working = false;
|
|
283
307
|
if (this._messages.length !== 0) {
|
|
284
308
|
// Reject any unsent messages.
|
|
285
|
-
this._messages.forEach((message) =>
|
|
309
|
+
this._messages.forEach((message) => {
|
|
310
|
+
if (message.timeout) {
|
|
311
|
+
clearTimeout(message.timeout);
|
|
312
|
+
}
|
|
313
|
+
message.reject(new Error('Channel closed'));
|
|
314
|
+
});
|
|
286
315
|
}
|
|
287
316
|
if (this._unconfirmedMessages.length !== 0) {
|
|
288
317
|
// Reject any unconfirmed messages.
|
|
289
|
-
this._unconfirmedMessages.forEach((message) =>
|
|
318
|
+
this._unconfirmedMessages.forEach((message) => {
|
|
319
|
+
if (message.timeout) {
|
|
320
|
+
clearTimeout(message.timeout);
|
|
321
|
+
}
|
|
322
|
+
message.reject(new Error('Channel closed'));
|
|
323
|
+
});
|
|
290
324
|
}
|
|
291
325
|
this._connectionManager.removeListener('connect', this._onConnect);
|
|
292
326
|
this._connectionManager.removeListener('disconnect', this._onDisconnect);
|
|
@@ -374,6 +408,12 @@ export default class ChannelWrapper extends EventEmitter {
|
|
|
374
408
|
case 'publish': {
|
|
375
409
|
let thisCanSend = true;
|
|
376
410
|
thisCanSend = this._channelHasRoom = channel.publish(message.exchange, message.routingKey, encodedMessage, message.options, (err) => {
|
|
411
|
+
if (message.isTimedout) {
|
|
412
|
+
return;
|
|
413
|
+
}
|
|
414
|
+
if (message.timeout) {
|
|
415
|
+
clearTimeout(message.timeout);
|
|
416
|
+
}
|
|
377
417
|
if (err) {
|
|
378
418
|
this._messageRejected(message, err);
|
|
379
419
|
}
|
|
@@ -386,6 +426,12 @@ export default class ChannelWrapper extends EventEmitter {
|
|
|
386
426
|
case 'sendToQueue': {
|
|
387
427
|
let thisCanSend = true;
|
|
388
428
|
thisCanSend = this._channelHasRoom = channel.sendToQueue(message.queue, encodedMessage, message.options, (err) => {
|
|
429
|
+
if (message.isTimedout) {
|
|
430
|
+
return;
|
|
431
|
+
}
|
|
432
|
+
if (message.timeout) {
|
|
433
|
+
clearTimeout(message.timeout);
|
|
434
|
+
}
|
|
389
435
|
if (err) {
|
|
390
436
|
this._messageRejected(message, err);
|
|
391
437
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelWrapper.js","sourceRoot":"","sources":["../../src/ChannelWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGjC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAqDpC,MAAM,oBAAoB,GAAG;IACzB,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG,EAAE,uBAAuB;CAC/B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,YAAY;IAqOpD;;;;;;;;;;;;;OAaG;IACH,YAAY,iBAAyC,EAAE,UAA6B,EAAE;;QAClF,KAAK,EAAE,CAAC;QAhPZ;;WAEG;QACK,eAAU,GAA8B,SAAS,CAAC;QAE1D,qCAAqC;QAC7B,cAAS,GAAc,EAAE,CAAC;QAClC,iDAAiD;QACzC,yBAAoB,GAAc,EAAE,CAAC;QAG7C,iEAAiE;QACzD,eAAU,GAAe,EAAE,CAAC;QASpC;;;WAGG;QACK,aAAQ,GAAG,KAAK,CAAC;QAEzB;;;;WAIG;QACK,kBAAa,GAAG,CAAC,CAAC;QAE1B;;WAEG;QACK,oBAAe,GAAG,IAAI,CAAC;QA4M3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAEzB,IAAI,CAAC,KAAK,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,KAAK,CAAC;QAEnC,oCAAoC;QACpC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACpC;QAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC;QAChD,IAAI,UAAU,EAAE;YACZ,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;SACnC;QACD,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAzND,WAAW,CAAC,KAAa,EAAE,QAAkC;QACzD,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAMD,EAAE,CAAC,KAAa,EAAE,QAAkC;QAChD,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;IAMD,IAAI,CAAC,KAAa,EAAE,QAAkC;QAClD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAMD,eAAe,CAAC,KAAa,EAAE,QAAkC;QAC7D,OAAO,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IASD,mBAAmB,CAAC,KAAa,EAAE,QAAkC;QACjE,OAAO,KAAK,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,KAAgB,EAAE,IAAwB;QAC/C,OAAO,EAAE,CAAC,WAAW,CACjB,IAAI,EACJ,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACH,OAAO,SAAS,CAAC;aACpB;QACL,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAED;;;;;;;;;;OAUG;IACH,WAAW,CACP,KAAgB,EAChB,QAA4B,EAC5B,IAAwB;QAExB,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;YAEvD,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACpD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CACjF,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,IAAwB;QACnC,OAAO,EAAE,CAAC,WAAW,CACjB,IAAI,EACJ,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU;YAC7B,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;YACnB,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAChE,CAAC;IACN,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO,CACH,QAAgB,EAChB,UAAkB,EAClB,OAAkC,EAClC,OAAiC,EACjC,IAA2B;QAE3B,OAAO,EAAE,CAAC,WAAW,CACjB,IAAI,EACJ,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,SAAS;gBACf,QAAQ;gBACR,UAAU;gBACV,OAAO;gBACP,OAAO;gBACP,OAAO;gBACP,MAAM;aACT,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAED;;;;;;;;OAQG;IACH,WAAW,CACP,KAAa,EACb,OAAkC,EAClC,OAAyB,EACzB,IAA2B;QAE3B,OAAO,EAAE,CAAC,WAAW,CACjB,IAAI,EACJ,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,aAAa;gBACnB,KAAK;gBACL,OAAO;gBACP,OAAO;gBACP,OAAO;gBACP,MAAM;aACT,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAyCD,4CAA4C;IACpC,KAAK,CAAC,UAAU,CAAC,EAAE,UAAU,EAAsC;QACvE,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QAEpC,IAAI;YACA,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,oBAAoB,EAAE,CAAC;YAExD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;YAElD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACzB,yEAAyE;YACzE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1C,IAAI,GAAG,CAAC,IAAI,KAAK,uBAAuB,EAAE;oBACtC,mEAAmE;oBACnE,OAAO;iBACV;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACjD,CAAC,CAAC,CACL,CACJ;iBACI,IAAI,CAAC,GAAG,EAAE;gBACP,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/E,CAAC,CAAC;iBACD,IAAI,CAAC,GAAG,EAAE;gBACP,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAChC,CAAC,CAAC,CAAC;YACP,MAAM,IAAI,CAAC,UAAU,CAAC;YAEtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,uDAAuD;gBACvD,OAAO;aACV;YAED,uDAAuD;YACvD,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxB;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;SAC7B;IACL,CAAC;IAED,sCAAsC;IAC9B,eAAe,CAAC,OAA+B;QACnD,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;YAC3B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;SAC7B;QACD,sDAAsD;IAC1D,CAAC;IAED,0CAA0C;IAClC,eAAe;QACnB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,sDAAsD;IAC9C,aAAa,CAAC,EAAqC;QACvD,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,4FAA4F;QAC5F,oDAAoD;QACpD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,gEAAgE;IAChE,WAAW;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,wBAAwB;IACxB,EAAE;IACF,oEAAoE;IACpE,EAAE;IACF,KAAK;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7B,8BAA8B;gBAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;aACpF;YACD,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxC,mCAAmC;gBACnC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1C,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAC9C,CAAC;aACL;YAED,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACnE,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,SAAS,CAAC;YACrE,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAE1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEnB,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,cAAc;QAClB,OAAO,CACH,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAC3F,CAAC;IACN,CAAC;IAED,gFAAgF;IACxE,YAAY;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACnD;IACL,CAAC;IAED,oDAAoD;IAC5C,oBAAoB;QACxB,OAAO,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/F,CAAC;IAEO,gBAAgB,CAAC,OAAgB,EAAE,MAAe;QACtD,wBAAwB,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAC7D,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAEO,gBAAgB,CAAC,OAAgB,EAAE,GAAU;QACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAC/C,+FAA+F;YAC/F,gBAAgB;YAChB,wBAAwB,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;YAC7D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAChC;aAAM;YACH,8FAA8F;YAC9F,8DAA8D;YAC9D,wBAAwB,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;YAC7D,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACvB;IACL,CAAC;IAEO,kBAAkB,CAAC,OAA2B;QAClD,IAAI,cAAsB,CAAC;QAE3B,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;SACzD;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YACpC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACzC;aAAM,IAAI,OAAO,YAAY,MAAM,EAAE;YAClC,cAAc,GAAG,OAAO,CAAC;SAC5B;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAQ,OAAe,CAAC,QAAQ,KAAK,UAAU,EAAE;YACvF,cAAc,GAAG,MAAM,CAAC,IAAI,CAAE,OAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC7D;aAAM;YACH,OAAO,CAAC,IAAI,CACR,8EAA8E,CACjF,CAAC;YACF,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;SACzD;QAED,OAAO,cAAc,CAAC;IAC1B,CAAC;IAEO,sBAAsB,CAAC,YAAoB;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IACI,CAAC,OAAO;YACR,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,CAAC,IAAI,CAAC,QAAQ;YACd,YAAY,KAAK,IAAI,CAAC,aAAa,EACrC;YACE,sCAAsC;YACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,OAAO;SACV;QAED,IAAI;YACA,0EAA0E;YAC1E,IAAI,SAAS,GAAG,sBAAsB,CAAC;YACvC,OAAO,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE;gBACvE,SAAS,EAAE,CAAC;gBAEZ,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACvC,IAAI,CAAC,OAAO,EAAE;oBACV,MAAM;iBACT;gBAED,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAExC,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAEhE,QAAQ,OAAO,CAAC,IAAI,EAAE;oBAClB,KAAK,SAAS,CAAC,CAAC;wBACZ,IAAI,WAAW,GAAG,IAAI,CAAC;wBACvB,WAAW,GAAG,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,OAAO,CAChD,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,UAAU,EAClB,cAAc,EACd,OAAO,CAAC,OAAO,EACf,CAAC,GAAG,EAAE,EAAE;4BACJ,IAAI,GAAG,EAAE;gCACL,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;6BACvC;iCAAM;gCACH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;6BAC/C;wBACL,CAAC,CACJ,CAAC;wBACF,MAAM;qBACT;oBACD,KAAK,aAAa,CAAC,CAAC;wBAChB,IAAI,WAAW,GAAG,IAAI,CAAC;wBACvB,WAAW,GAAG,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,WAAW,CACpD,OAAO,CAAC,KAAK,EACb,cAAc,EACd,OAAO,CAAC,OAAO,EACf,CAAC,GAAG,EAAE,EAAE;4BACJ,IAAI,GAAG,EAAE;gCACL,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;6BACvC;iCAAM;gCACH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;6BAC/C;wBACL,CAAC,CACJ,CAAC;wBACF,MAAM;qBACT;oBACD,0BAA0B;oBAC1B;wBACI,MAAM,IAAI,KAAK,CAAC,0BAA2B,OAAe,CAAC,IAAI,EAAE,CAAC,CAAC;iBAC1E;aACJ;YAED,wDAAwD;YACxD,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnD,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAC;aACjE;YAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YAEtB,0BAA0B;SAC7B;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SAC3B;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CACT,KAAa,EACb,SAAgC,EAChC,UAA2B,EAAE;QAE7B,MAAM,QAAQ,GAAa;YACvB,WAAW,EAAE,IAAI;YACjB,KAAK;YACL,SAAS;YACT,OAAO;SACV,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,QAAkB;QACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,OAAO;SACV;QAED,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAClD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC9B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;SAC3C;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAC/C,QAAQ,CAAC,KAAK,EACd,CAAC,GAAG,EAAE,EAAE;YACJ,IAAI,CAAC,GAAG,EAAE;gBACN,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC5B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC5C,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;wBAChE,iDAAiD;wBACjD,gDAAgD;wBAChD,mDAAmD;wBACnD,gDAAgD;wBAChD,8BAA8B;wBAC9B,OAAO;qBACV;oBACD,MAAM,GAAG,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,OAAO;aACV;YACD,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,EACD,OAAO,CACV,CAAC;QACF,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,QAAkB;QAC/C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACrC,yBAAyB;YACzB,OAAO;SACV;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,OAAO;SACV;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,MAAM,OAAO,CAAC,GAAG,CACb,SAAS,CAAC,MAAM,CAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YACtC,IAAI,QAAQ,CAAC,WAAW,EAAE;gBACtB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;aAClD;YACD,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CACT,CAAC;IACN,CAAC;IAED,+CAA+C;IAC/C,GAAG,CAAC,OAAwB,EAAE,OAAiB;QAC3C,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,kDAAkD;IAClD,MAAM;QACF,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC,OAAwB,EAAE,OAAiB,EAAE,OAAiB;QAC/D,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,kDAAkD;IAClD,OAAO,CAAC,OAAiB;QACrB,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,qDAAqD;IACrD,KAAK,CAAC,UAAU,CAAC,KAAa;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SAChD;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACrC;IACL,CAAC;IAED,qDAAqD;IACrD,KAAK,CAAC,UAAU,CAAC,KAAa;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SAChD;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACrC;IACL,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,WAAW,CACb,KAAa,EACb,OAAqC;QAErC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SAC1D;aAAM;YACH,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;SACvD;IACL,CAAC;IAED,oDAAoD;IACpD,6EAA6E;IAC7E,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,MAAc,EAAE,OAAe,EAAE,IAAU;QACtE,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAC/D;IACL,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,WAAW,CACb,KAAa,EACb,OAA6B;QAE7B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SAC1D;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACrC;IACL,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,cAAc,CAChB,QAAgB,EAChB,IAAkE,EAClE,OAAgC;QAEhC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;SACtE;aAAM;YACH,OAAO,EAAE,QAAQ,EAAE,CAAC;SACvB;IACL,CAAC;IAED,8CAA8C;IAC9C,KAAK,CAAC,GAAG,CAAC,KAAa,EAAE,OAAqB;QAC1C,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SAClD;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACrC;IACL,CAAC;CACJ;AAED,SAAS,wBAAwB,CAAC,GAAc,EAAE,OAAgB;IAC9D,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;KAC9D;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"ChannelWrapper.js","sourceRoot":"","sources":["../../src/ChannelWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGjC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAkEpC,MAAM,oBAAoB,GAAG;IACzB,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG,EAAE,uBAAuB;CAC/B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,YAAY;IAuQpD;;;;;;;;;;;;;OAaG;IACH,YAAY,iBAAyC,EAAE,UAA6B,EAAE;;QAClF,KAAK,EAAE,CAAC;QAlRZ;;WAEG;QACK,eAAU,GAA8B,SAAS,CAAC;QAE1D,qCAAqC;QAC7B,cAAS,GAAc,EAAE,CAAC;QAClC,iDAAiD;QACzC,yBAAoB,GAAc,EAAE,CAAC;QAG7C,iEAAiE;QACzD,eAAU,GAAe,EAAE,CAAC;QASpC;;;WAGG;QACK,aAAQ,GAAG,KAAK,CAAC;QAEzB;;;;WAIG;QACK,kBAAa,GAAG,CAAC,CAAC;QAE1B;;WAEG;QACK,oBAAe,GAAG,IAAI,CAAC;QA8O3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAEzB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,KAAK,CAAC;QAEnC,oCAAoC;QACpC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACpC;QAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC;QAChD,IAAI,UAAU,EAAE;YACZ,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;SACnC;QACD,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAvPD,WAAW,CAAC,KAAa,EAAE,QAAkC;QACzD,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAMD,EAAE,CAAC,KAAa,EAAE,QAAkC;QAChD,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;IAMD,IAAI,CAAC,KAAa,EAAE,QAAkC;QAClD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAMD,eAAe,CAAC,KAAa,EAAE,QAAkC;QAC7D,OAAO,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IASD,mBAAmB,CAAC,KAAa,EAAE,QAAkC;QACjE,OAAO,KAAK,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,KAAgB,EAAE,IAAwB;QAC/C,OAAO,EAAE,CAAC,WAAW,CACjB,IAAI,EACJ,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACH,OAAO,SAAS,CAAC;aACpB;QACL,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAED;;;;;;;;;;OAUG;IACH,WAAW,CACP,KAAgB,EAChB,QAAoB,EACpB,IAAwB;QAExB,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;YAEvD,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACpD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CACjF,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,IAAwB;QACnC,OAAO,EAAE,CAAC,WAAW,CACjB,IAAI,EACJ,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU;YAC7B,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;YACnB,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAChE,CAAC;IACN,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO,CACH,QAAgB,EAChB,UAAkB,EAClB,OAAkC,EAClC,OAAwB,EACxB,IAA2B;QAE3B,OAAO,EAAE,CAAC,WAAW,CACjB,IAAI,EACJ,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,eAAe,CAChB;gBACI,IAAI,EAAE,SAAS;gBACf,QAAQ;gBACR,UAAU;gBACV,OAAO;gBACP,OAAO;gBACP,MAAM;gBACN,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,KAAK;aACpB,EACD,OAAO,IAAI,IAAI,CAAC,eAAe,CAClC,CAAC;YACF,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAED;;;;;;;;OAQG;IACH,WAAW,CACP,KAAa,EACb,OAAkC,EAClC,OAAwB,EACxB,IAA2B;QAE3B,OAAO,EAAE,CAAC,WAAW,CACjB,IAAI,EACJ,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,eAAe,CAChB;gBACI,IAAI,EAAE,aAAa;gBACnB,KAAK;gBACL,OAAO;gBACP,OAAO;gBACP,MAAM;gBACN,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,KAAK;aACpB,EACD,OAAO,IAAI,IAAI,CAAC,eAAe,CAClC,CAAC;YACF,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAEO,eAAe,CAAC,OAAgB,EAAE,OAAgB;QACtD,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC1C,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;oBACZ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;iBACjC;qBAAM;oBACH,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACjD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;wBACZ,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;qBAC5C;iBACJ;gBACD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YACzC,CAAC,EAAE,OAAO,CAAC,CAAC;SACf;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IA0CD,4CAA4C;IACpC,KAAK,CAAC,UAAU,CAAC,EAAE,UAAU,EAAsC;QACvE,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QAEpC,IAAI;YACA,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,oBAAoB,EAAE,CAAC;YAExD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;YAElD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACzB,yEAAyE;YACzE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1C,IAAI,GAAG,CAAC,IAAI,KAAK,uBAAuB,EAAE;oBACtC,mEAAmE;oBACnE,OAAO;iBACV;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACjD,CAAC,CAAC,CACL,CACJ;iBACI,IAAI,CAAC,GAAG,EAAE;gBACP,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/E,CAAC,CAAC;iBACD,IAAI,CAAC,GAAG,EAAE;gBACP,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAChC,CAAC,CAAC,CAAC;YACP,MAAM,IAAI,CAAC,UAAU,CAAC;YAEtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,uDAAuD;gBACvD,OAAO;aACV;YAED,uDAAuD;YACvD,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxB;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;SAC7B;IACL,CAAC;IAED,sCAAsC;IAC9B,eAAe,CAAC,OAA+B;QACnD,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;YAC3B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;SAC7B;QACD,sDAAsD;IAC1D,CAAC;IAED,0CAA0C;IAClC,eAAe;QACnB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,sDAAsD;IAC9C,aAAa,CAAC,EAAqC;QACvD,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,4FAA4F;QAC5F,oDAAoD;QACpD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,gEAAgE;IAChE,WAAW;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,wBAAwB;IACxB,EAAE;IACF,oEAAoE;IACpE,EAAE;IACF,KAAK;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7B,8BAA8B;gBAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC/B,IAAI,OAAO,CAAC,OAAO,EAAE;wBACjB,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;qBACjC;oBACD,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;aACN;YACD,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxC,mCAAmC;gBACnC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC1C,IAAI,OAAO,CAAC,OAAO,EAAE;wBACjB,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;qBACjC;oBACD,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;aACN;YAED,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACnE,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,SAAS,CAAC;YACrE,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAE1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEnB,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,cAAc;QAClB,OAAO,CACH,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAC3F,CAAC;IACN,CAAC;IAED,gFAAgF;IACxE,YAAY;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACnD;IACL,CAAC;IAED,oDAAoD;IAC5C,oBAAoB;QACxB,OAAO,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/F,CAAC;IAEO,gBAAgB,CAAC,OAAgB,EAAE,MAAe;QACtD,wBAAwB,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAC7D,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAEO,gBAAgB,CAAC,OAAgB,EAAE,GAAU;QACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAC/C,+FAA+F;YAC/F,gBAAgB;YAChB,wBAAwB,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;YAC7D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAChC;aAAM;YACH,8FAA8F;YAC9F,8DAA8D;YAC9D,wBAAwB,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;YAC7D,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACvB;IACL,CAAC;IAEO,kBAAkB,CAAC,OAA2B;QAClD,IAAI,cAAsB,CAAC;QAE3B,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;SACzD;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YACpC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACzC;aAAM,IAAI,OAAO,YAAY,MAAM,EAAE;YAClC,cAAc,GAAG,OAAO,CAAC;SAC5B;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAQ,OAAe,CAAC,QAAQ,KAAK,UAAU,EAAE;YACvF,cAAc,GAAG,MAAM,CAAC,IAAI,CAAE,OAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC7D;aAAM;YACH,OAAO,CAAC,IAAI,CACR,8EAA8E,CACjF,CAAC;YACF,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;SACzD;QAED,OAAO,cAAc,CAAC;IAC1B,CAAC;IAEO,sBAAsB,CAAC,YAAoB;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IACI,CAAC,OAAO;YACR,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,CAAC,IAAI,CAAC,QAAQ;YACd,YAAY,KAAK,IAAI,CAAC,aAAa,EACrC;YACE,sCAAsC;YACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,OAAO;SACV;QAED,IAAI;YACA,0EAA0E;YAC1E,IAAI,SAAS,GAAG,sBAAsB,CAAC;YACvC,OAAO,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE;gBACvE,SAAS,EAAE,CAAC;gBAEZ,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACvC,IAAI,CAAC,OAAO,EAAE;oBACV,MAAM;iBACT;gBAED,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAExC,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAEhE,QAAQ,OAAO,CAAC,IAAI,EAAE;oBAClB,KAAK,SAAS,CAAC,CAAC;wBACZ,IAAI,WAAW,GAAG,IAAI,CAAC;wBACvB,WAAW,GAAG,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,OAAO,CAChD,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,UAAU,EAClB,cAAc,EACd,OAAO,CAAC,OAAO,EACf,CAAC,GAAG,EAAE,EAAE;4BACJ,IAAI,OAAO,CAAC,UAAU,EAAE;gCACpB,OAAO;6BACV;4BAED,IAAI,OAAO,CAAC,OAAO,EAAE;gCACjB,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;6BACjC;4BAED,IAAI,GAAG,EAAE;gCACL,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;6BACvC;iCAAM;gCACH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;6BAC/C;wBACL,CAAC,CACJ,CAAC;wBACF,MAAM;qBACT;oBACD,KAAK,aAAa,CAAC,CAAC;wBAChB,IAAI,WAAW,GAAG,IAAI,CAAC;wBACvB,WAAW,GAAG,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,WAAW,CACpD,OAAO,CAAC,KAAK,EACb,cAAc,EACd,OAAO,CAAC,OAAO,EACf,CAAC,GAAG,EAAE,EAAE;4BACJ,IAAI,OAAO,CAAC,UAAU,EAAE;gCACpB,OAAO;6BACV;4BAED,IAAI,OAAO,CAAC,OAAO,EAAE;gCACjB,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;6BACjC;4BAED,IAAI,GAAG,EAAE;gCACL,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;6BACvC;iCAAM;gCACH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;6BAC/C;wBACL,CAAC,CACJ,CAAC;wBACF,MAAM;qBACT;oBACD,0BAA0B;oBAC1B;wBACI,MAAM,IAAI,KAAK,CAAC,0BAA2B,OAAe,CAAC,IAAI,EAAE,CAAC,CAAC;iBAC1E;aACJ;YAED,wDAAwD;YACxD,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnD,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAC;aACjE;YAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YAEtB,0BAA0B;SAC7B;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SAC3B;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CACT,KAAa,EACb,SAAgC,EAChC,UAA2B,EAAE;QAE7B,MAAM,QAAQ,GAAa;YACvB,WAAW,EAAE,IAAI;YACjB,KAAK;YACL,SAAS;YACT,OAAO;SACV,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,QAAkB;QACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,OAAO;SACV;QAED,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAClD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC9B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;SAC3C;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAC/C,QAAQ,CAAC,KAAK,EACd,CAAC,GAAG,EAAE,EAAE;YACJ,IAAI,CAAC,GAAG,EAAE;gBACN,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC5B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC5C,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;wBAChE,iDAAiD;wBACjD,gDAAgD;wBAChD,mDAAmD;wBACnD,gDAAgD;wBAChD,8BAA8B;wBAC9B,OAAO;qBACV;oBACD,MAAM,GAAG,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,OAAO;aACV;YACD,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,EACD,OAAO,CACV,CAAC;QACF,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,QAAkB;QAC/C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACrC,yBAAyB;YACzB,OAAO;SACV;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,OAAO;SACV;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,MAAM,OAAO,CAAC,GAAG,CACb,SAAS,CAAC,MAAM,CAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YACtC,IAAI,QAAQ,CAAC,WAAW,EAAE;gBACtB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;aAClD;YACD,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CACT,CAAC;IACN,CAAC;IAED,+CAA+C;IAC/C,GAAG,CAAC,OAAwB,EAAE,OAAiB;QAC3C,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,kDAAkD;IAClD,MAAM;QACF,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC,OAAwB,EAAE,OAAiB,EAAE,OAAiB;QAC/D,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,kDAAkD;IAClD,OAAO,CAAC,OAAiB;QACrB,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,qDAAqD;IACrD,KAAK,CAAC,UAAU,CAAC,KAAa;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SAChD;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACrC;IACL,CAAC;IAED,qDAAqD;IACrD,KAAK,CAAC,UAAU,CAAC,KAAa;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SAChD;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACrC;IACL,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,WAAW,CACb,KAAa,EACb,OAAqC;QAErC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SAC1D;aAAM;YACH,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;SACvD;IACL,CAAC;IAED,oDAAoD;IACpD,6EAA6E;IAC7E,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,MAAc,EAAE,OAAe,EAAE,IAAU;QACtE,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAC/D;IACL,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,WAAW,CACb,KAAa,EACb,OAA6B;QAE7B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SAC1D;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACrC;IACL,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,cAAc,CAChB,QAAgB,EAChB,IAAkE,EAClE,OAAgC;QAEhC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;SACtE;aAAM;YACH,OAAO,EAAE,QAAQ,EAAE,CAAC;SACvB;IACL,CAAC;IAED,8CAA8C;IAC9C,KAAK,CAAC,GAAG,CAAC,KAAa,EAAE,OAAqB;QAC1C,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SAClD;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACrC;IACL,CAAC;CACJ;AAED,SAAS,wBAAwB,CAAC,GAAc,EAAE,OAAgB;IAC9D,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;KAC9D;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { AmqpConnectionManagerOptions, ConnectionUrl, IAmqpConnectionManager } from './AmqpConnectionManager.js';
|
|
1
|
+
import AmqpConnectionManager, { AmqpConnectionManagerOptions, ConnectionUrl, IAmqpConnectionManager } from './AmqpConnectionManager.js';
|
|
2
2
|
export type { AmqpConnectionManagerOptions, ConnectionUrl, IAmqpConnectionManager as AmqpConnectionManager, } from './AmqpConnectionManager.js';
|
|
3
3
|
export type { CreateChannelOpts, default as ChannelWrapper, SetupFunc } from './ChannelWrapper.js';
|
|
4
4
|
export declare function connect(urls: ConnectionUrl | ConnectionUrl[] | undefined | null, options?: AmqpConnectionManagerOptions): IAmqpConnectionManager;
|
|
5
|
+
export { AmqpConnectionManager as AmqpConnectionManagerClass };
|
|
5
6
|
declare const amqp: {
|
|
6
7
|
connect: typeof connect;
|
|
7
8
|
};
|
package/dist/esm/index.js
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import AmqpConnectionManager from './AmqpConnectionManager.js';
|
|
2
2
|
export function connect(urls, options) {
|
|
3
|
-
|
|
3
|
+
const conn = new AmqpConnectionManager(urls, options);
|
|
4
|
+
conn.connect().catch(() => {
|
|
5
|
+
/* noop */
|
|
6
|
+
});
|
|
7
|
+
return conn;
|
|
4
8
|
}
|
|
9
|
+
export { AmqpConnectionManager as AmqpConnectionManagerClass };
|
|
5
10
|
const amqp = { connect };
|
|
6
11
|
export default amqp;
|
|
7
12
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,qBAIN,MAAM,4BAA4B,CAAC;AASpC,MAAM,UAAU,OAAO,CACnB,IAAwD,EACxD,OAAsC;IAEtC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,qBAIN,MAAM,4BAA4B,CAAC;AASpC,MAAM,UAAU,OAAO,CACnB,IAAwD,EACxD,OAAsC;IAEtC,MAAM,IAAI,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtD,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;QACtB,UAAU;IACd,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,OAAO,EAAE,qBAAqB,IAAI,0BAA0B,EAAE,CAAC;AAE/D,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC;AAEzB,eAAe,IAAI,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "amqp-connection-manager",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.7.0",
|
|
4
4
|
"description": "Auto-reconnect and round robin support for amqplib.",
|
|
5
5
|
"module": "./dist/esm/index.js",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -16,9 +16,7 @@
|
|
|
16
16
|
"dist/**/*"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"promise-breaker": "^5.0.0"
|
|
20
|
-
"ts-node": "^10.2.1",
|
|
21
|
-
"typescript": "^4.3.5"
|
|
19
|
+
"promise-breaker": "^5.0.0"
|
|
22
20
|
},
|
|
23
21
|
"peerDependencies": {
|
|
24
22
|
"amqplib": "*"
|
|
@@ -59,7 +57,9 @@
|
|
|
59
57
|
"pretty-quick": "^3.1.1",
|
|
60
58
|
"promise-tools": "^2.1.0",
|
|
61
59
|
"semantic-release": "^17.1.1",
|
|
62
|
-
"ts-jest": "^27.0.5"
|
|
60
|
+
"ts-jest": "^27.0.5",
|
|
61
|
+
"ts-node": "^10.2.1",
|
|
62
|
+
"typescript": "^4.3.5"
|
|
63
63
|
},
|
|
64
64
|
"engines": {
|
|
65
65
|
"node": ">=10.0.0",
|