qws-browser 1.1.1 → 2.0.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 +2 -0
- package/dist/browser/messageencode.d.ts +2 -1
- package/dist/browser/messageencode.d.ts.map +1 -0
- package/dist/browser/messageencode.js +30 -25
- package/dist/browser/messageencode.js.map +1 -0
- package/dist/browser/wrappedws.d.ts +3 -2
- package/dist/browser/wrappedws.d.ts.map +1 -0
- package/dist/browser/wrappedws.js +14 -20
- package/dist/browser/wrappedws.js.map +1 -0
- package/dist/common/discriminator.d.ts +2 -1
- package/dist/common/discriminator.d.ts.map +1 -0
- package/dist/common/discriminator.js +2 -2
- package/dist/common/discriminator.js.map +1 -0
- package/dist/common/logger.d.ts +11 -10
- package/dist/common/logger.d.ts.map +1 -0
- package/dist/common/logger.js +8 -13
- package/dist/common/logger.js.map +1 -0
- package/dist/common/message.d.ts +18 -27
- package/dist/common/message.d.ts.map +1 -0
- package/dist/common/message.js +2 -2
- package/dist/common/message.js.map +1 -0
- package/dist/common/queryparser.d.ts +1 -4
- package/dist/common/queryparser.d.ts.map +1 -0
- package/dist/common/queryparser.js +6 -82
- package/dist/common/queryparser.js.map +1 -0
- package/dist/common/queue.d.ts +4 -3
- package/dist/common/queue.d.ts.map +1 -0
- package/dist/common/queue.js +10 -12
- package/dist/common/queue.js.map +1 -0
- package/dist/common/queuews.d.ts +12 -11
- package/dist/common/queuews.d.ts.map +1 -0
- package/dist/common/queuews.js +68 -81
- package/dist/common/queuews.js.map +1 -0
- package/dist/common/router.d.ts +9 -0
- package/dist/common/router.d.ts.map +1 -0
- package/dist/common/router.js +8 -0
- package/dist/common/router.js.map +1 -0
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -25
- package/dist/index.js.map +1 -0
- package/package.json +29 -30
package/dist/common/queue.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const messageencode_1 = require("../browser/messageencode");
|
|
1
|
+
import { serializeMessage } from '../browser/messageencode.js';
|
|
4
2
|
/**
|
|
5
3
|
* FIFO data structure implementation for outgoing qws messages
|
|
6
4
|
* Implements acknowledgment system, so no messages are deleted until acknowledged,
|
|
7
5
|
* but new messages may be added while waiting for ack.
|
|
8
6
|
*/
|
|
9
|
-
class QwsMessageQueue {
|
|
7
|
+
export default class QwsMessageQueue {
|
|
10
8
|
constructor() {
|
|
11
|
-
this.messages =
|
|
9
|
+
this.messages = new Map();
|
|
12
10
|
this.readIdx = 0;
|
|
13
11
|
this.ackIdx = 0;
|
|
14
12
|
this.writeIdx = 0;
|
|
@@ -23,8 +21,8 @@ class QwsMessageQueue {
|
|
|
23
21
|
produce(message) {
|
|
24
22
|
const idx = this.writeIdx;
|
|
25
23
|
message.headers.idx = idx;
|
|
26
|
-
const data =
|
|
27
|
-
this.messages
|
|
24
|
+
const data = serializeMessage(message);
|
|
25
|
+
this.messages.set(idx, data);
|
|
28
26
|
this.numUnsentMessages += 1;
|
|
29
27
|
this.numUnsentBytes += data.size;
|
|
30
28
|
this.numUnackMessages += 1;
|
|
@@ -38,7 +36,7 @@ class QwsMessageQueue {
|
|
|
38
36
|
*/
|
|
39
37
|
consume() {
|
|
40
38
|
const idx = this.readIdx;
|
|
41
|
-
const ret = this.messages
|
|
39
|
+
const ret = this.messages.get(idx);
|
|
42
40
|
this.numUnsentMessages -= 1;
|
|
43
41
|
this.numUnsentBytes -= ret.size;
|
|
44
42
|
this.readIdx += 1;
|
|
@@ -50,8 +48,8 @@ class QwsMessageQueue {
|
|
|
50
48
|
acknowledge(idx) {
|
|
51
49
|
while (this.ackIdx <= idx) {
|
|
52
50
|
this.numUnackMessages -= 1;
|
|
53
|
-
this.numUnackBytes -= this.messages
|
|
54
|
-
|
|
51
|
+
this.numUnackBytes -= this.messages.get(this.ackIdx).size;
|
|
52
|
+
this.messages.delete(this.ackIdx);
|
|
55
53
|
this.ackIdx += 1;
|
|
56
54
|
}
|
|
57
55
|
}
|
|
@@ -62,8 +60,8 @@ class QwsMessageQueue {
|
|
|
62
60
|
while (this.readIdx > idx) {
|
|
63
61
|
this.readIdx -= 1;
|
|
64
62
|
this.numUnsentMessages += 1;
|
|
65
|
-
this.numUnsentBytes += this.messages
|
|
63
|
+
this.numUnsentBytes += this.messages.get(this.readIdx).size;
|
|
66
64
|
}
|
|
67
65
|
}
|
|
68
66
|
}
|
|
69
|
-
|
|
67
|
+
//# sourceMappingURL=queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/common/queue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/D;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAWlC;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAElB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAA0B;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC1B,OAAO,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;QAC1B,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE7B,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC;QAEhC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnB,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QAEpC,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,GAAW;QACrB,OAAO,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC;YAC3D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC;QAC/D,CAAC;IACH,CAAC;CACF"}
|
package/dist/common/queuews.d.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import RouteRecognizer from '
|
|
2
|
-
import { Binary } from './discriminator';
|
|
3
|
-
import { QwsMessageExtraHeaders, BinaryQwsMessageHeaders, JsonQwsMessageHeaders, ReadyQwsMessageHeaders, QwsParams } from './message';
|
|
4
|
-
import WebSocketMessageQueue from './queue';
|
|
5
|
-
import WrappedWebSocket from '../browser/wrappedws';
|
|
1
|
+
import RouteRecognizer from './router.js';
|
|
2
|
+
import { Binary } from './discriminator.js';
|
|
3
|
+
import { QwsMessageExtraHeaders, BinaryQwsMessageHeaders, JsonQwsMessageHeaders, ReadyQwsMessageHeaders, QwsParams } from './message.js';
|
|
4
|
+
import WebSocketMessageQueue from './queue.js';
|
|
5
|
+
import WrappedWebSocket from '../browser/wrappedws.js';
|
|
6
6
|
/**
|
|
7
7
|
* Callback types
|
|
8
8
|
*/
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
export
|
|
12
|
-
export
|
|
9
|
+
export type ConnectCallback = () => void | number | Promise<void> | Promise<number>;
|
|
10
|
+
export type BinCallback = (body: Binary, headers?: BinaryQwsMessageHeaders, params?: QwsParams) => void | Promise<void>;
|
|
11
|
+
export type JsonCallback<T> = (body: T, headers?: JsonQwsMessageHeaders, params?: QwsParams) => void | Promise<void>;
|
|
12
|
+
export type ReadyCallback = (headers?: ReadyQwsMessageHeaders) => void | Promise<void>;
|
|
13
13
|
/**
|
|
14
14
|
* Connection options
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
type QWebSocketOptions = {
|
|
17
17
|
name?: string;
|
|
18
18
|
extraConnectArgs?: Record<string, unknown>;
|
|
19
19
|
reconnect?: boolean;
|
|
@@ -60,7 +60,7 @@ export default class QWebSocket {
|
|
|
60
60
|
setUp(): void;
|
|
61
61
|
flush(): void;
|
|
62
62
|
send(body: Binary | Record<string, unknown>, extraHeaders?: QwsMessageExtraHeaders): number;
|
|
63
|
-
sendToRoute(route: string, body: Binary | Record<string, unknown>, extraHeaders?: QwsMessageExtraHeaders): number;
|
|
63
|
+
sendToRoute(route: string | undefined, body: Binary | Record<string, unknown>, extraHeaders?: QwsMessageExtraHeaders): number;
|
|
64
64
|
/**
|
|
65
65
|
* Closes WS and sets promise resolution as callback.
|
|
66
66
|
* Overwrites any manually set up callback for onClose.
|
|
@@ -68,3 +68,4 @@ export default class QWebSocket {
|
|
|
68
68
|
close(): Promise<void>;
|
|
69
69
|
}
|
|
70
70
|
export {};
|
|
71
|
+
//# sourceMappingURL=queuews.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queuews.d.ts","sourceRoot":"","sources":["../../src/common/queuews.ts"],"names":[],"mappings":"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"}
|
package/dist/common/queuews.js
CHANGED
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const route_recognizer_1 = __importDefault(require("route-recognizer"));
|
|
8
|
-
const queue_1 = __importDefault(require("./queue"));
|
|
9
|
-
const wrappedws_1 = __importDefault(require("../browser/wrappedws"));
|
|
10
|
-
const queryparser_1 = require("./queryparser");
|
|
11
|
-
const logger_1 = __importDefault(require("./logger"));
|
|
1
|
+
import autoBind from 'auto-bind';
|
|
2
|
+
import RouteRecognizer from './router.js';
|
|
3
|
+
import WebSocketMessageQueue from './queue.js';
|
|
4
|
+
import WrappedWebSocket from '../browser/wrappedws.js';
|
|
5
|
+
import { addQueryParamsToUrl } from './queryparser.js';
|
|
6
|
+
import logger from './logger.js';
|
|
12
7
|
const decodeErrorMessage = (event) => {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (event) {
|
|
17
|
-
return event.toString();
|
|
8
|
+
const { message } = (event ?? {});
|
|
9
|
+
if (message) {
|
|
10
|
+
return message;
|
|
18
11
|
}
|
|
19
|
-
|
|
12
|
+
// best-effort description of arbitrary error values
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
14
|
+
return event ? String(event) : 'Unknown error';
|
|
20
15
|
};
|
|
21
16
|
const defaultOpts = {
|
|
22
17
|
extraConnectArgs: {},
|
|
@@ -27,7 +22,7 @@ const defaultOpts = {
|
|
|
27
22
|
/**
|
|
28
23
|
* Actual queued WebSocket
|
|
29
24
|
*/
|
|
30
|
-
class QWebSocket {
|
|
25
|
+
export default class QWebSocket {
|
|
31
26
|
constructor(wsOrUrl, options = {}) {
|
|
32
27
|
this.wsOrUrl = wsOrUrl;
|
|
33
28
|
this.options = {
|
|
@@ -36,15 +31,14 @@ class QWebSocket {
|
|
|
36
31
|
};
|
|
37
32
|
this.name = options.name || 'websocket';
|
|
38
33
|
this.callbacks = {
|
|
39
|
-
onBin: new
|
|
40
|
-
onJson: new
|
|
34
|
+
onBin: new RouteRecognizer(),
|
|
35
|
+
onJson: new RouteRecognizer(),
|
|
41
36
|
};
|
|
42
|
-
this.queue = new
|
|
37
|
+
this.queue = new WebSocketMessageQueue();
|
|
43
38
|
this.reconnectionAttempts = 0;
|
|
44
39
|
this.needed = true;
|
|
45
|
-
this.wws = null;
|
|
46
40
|
this.ready = false;
|
|
47
|
-
(
|
|
41
|
+
autoBind(this);
|
|
48
42
|
this.setUp();
|
|
49
43
|
}
|
|
50
44
|
/**
|
|
@@ -82,7 +76,6 @@ class QWebSocket {
|
|
|
82
76
|
*/
|
|
83
77
|
// eslint-disable-next-line max-lines-per-function
|
|
84
78
|
setUp() {
|
|
85
|
-
var _a, _b, _c, _d;
|
|
86
79
|
if (this.wws && this.wws.readyState <= 1) {
|
|
87
80
|
return;
|
|
88
81
|
}
|
|
@@ -90,49 +83,44 @@ class QWebSocket {
|
|
|
90
83
|
const { reconnect, reconnectNumTries, reconnectIntervalMillis, extraConnectArgs } = this.options;
|
|
91
84
|
// timeout for too many reconnection attempts
|
|
92
85
|
if (reconnect && this.reconnectionAttempts > reconnectNumTries) {
|
|
93
|
-
|
|
94
|
-
|
|
86
|
+
logger.error(`${this.name}: Connection timed out, should re-connect entirely`);
|
|
87
|
+
void this.callbacks.onError?.(`WS connection timeout, max tries (${reconnectNumTries}) exceeded`);
|
|
95
88
|
return;
|
|
96
89
|
}
|
|
97
90
|
/**
|
|
98
91
|
* Actual WebSocket opening
|
|
99
92
|
*/
|
|
100
|
-
if (this.wsOrUrl instanceof WebSocket ||
|
|
93
|
+
if (this.wsOrUrl instanceof WebSocket || this.wsOrUrl?.constructor?.name === 'WebSocket') {
|
|
101
94
|
const ws = this.wsOrUrl;
|
|
102
|
-
this.wws = new
|
|
95
|
+
this.wws = new WrappedWebSocket(ws);
|
|
103
96
|
// TODO what if this is a reconnect? No reconnection was attempted, it's just the old reference
|
|
104
97
|
}
|
|
105
98
|
else {
|
|
106
|
-
const connectUrl =
|
|
99
|
+
const connectUrl = addQueryParamsToUrl(this.wsOrUrl, {
|
|
107
100
|
...extraConnectArgs,
|
|
108
101
|
idx: this.queue.ackIdx,
|
|
109
102
|
});
|
|
110
|
-
this.wws = new
|
|
103
|
+
this.wws = new WrappedWebSocket(connectUrl);
|
|
111
104
|
}
|
|
112
105
|
this.wws.onWsError(async (event) => {
|
|
113
|
-
var _a, _b, _c, _d;
|
|
114
106
|
// ws error will prompt reconnection which can time out, don't reject instantly
|
|
115
107
|
const message = decodeErrorMessage(event);
|
|
116
|
-
|
|
108
|
+
logger.error(`${this.name}: WS error occurred: ${message}`);
|
|
117
109
|
if (reconnect) {
|
|
118
|
-
await
|
|
110
|
+
await this.callbacks.onErroneousDisconnect?.(message);
|
|
119
111
|
}
|
|
120
112
|
else {
|
|
121
|
-
await
|
|
113
|
+
await this.callbacks.onError?.(message);
|
|
122
114
|
}
|
|
123
115
|
});
|
|
124
116
|
this.wws.onWsOpen(async () => {
|
|
125
|
-
var _a, _b;
|
|
126
117
|
this.reconnectionAttempts = 0;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
else {
|
|
131
|
-
logger_1.default.info(`${this.name}: Connection established`);
|
|
132
|
-
}
|
|
118
|
+
logger.info(reconnect
|
|
119
|
+
? `${this.name}: Connection established after ${this.reconnectionAttempts} tries`
|
|
120
|
+
: `${this.name}: Connection established`);
|
|
133
121
|
try {
|
|
134
122
|
// call post-connect method, this may give previously acked messages
|
|
135
|
-
const readyIdx = await
|
|
123
|
+
const readyIdx = await this.callbacks.onConnect?.();
|
|
136
124
|
// send back readiness ack
|
|
137
125
|
this.wws.send({
|
|
138
126
|
headers: {
|
|
@@ -141,21 +129,20 @@ class QWebSocket {
|
|
|
141
129
|
},
|
|
142
130
|
});
|
|
143
131
|
}
|
|
144
|
-
catch (
|
|
132
|
+
catch (error) {
|
|
145
133
|
// error occurred during initialization phase, send error right away, no "ready" message
|
|
146
134
|
this.wws.send({
|
|
147
135
|
headers: {
|
|
148
136
|
type: 'err',
|
|
149
|
-
error: decodeErrorMessage(
|
|
137
|
+
error: decodeErrorMessage(error),
|
|
150
138
|
},
|
|
151
139
|
});
|
|
152
140
|
}
|
|
153
141
|
});
|
|
154
142
|
this.wws.onReady(async (message) => {
|
|
155
|
-
var _a, _b;
|
|
156
143
|
// ready to send messages from given message index
|
|
157
144
|
const { readyIdx } = message.headers;
|
|
158
|
-
|
|
145
|
+
logger.info(`${this.name}: Socket ready to send${readyIdx ? `from chunk ${readyIdx}` : ''}`);
|
|
159
146
|
// if server sent chunk index to resume from, move queue cursors appropriately
|
|
160
147
|
if (readyIdx !== undefined) {
|
|
161
148
|
this.queue.acknowledge(readyIdx - 1);
|
|
@@ -166,14 +153,14 @@ class QWebSocket {
|
|
|
166
153
|
this.flush();
|
|
167
154
|
try {
|
|
168
155
|
// call post-ready method
|
|
169
|
-
await
|
|
156
|
+
await this.callbacks.onReady?.(message.headers);
|
|
170
157
|
}
|
|
171
|
-
catch (
|
|
158
|
+
catch (error) {
|
|
172
159
|
// error occurred during initialization phase, send error right away, no "ready" message
|
|
173
160
|
this.wws.send({
|
|
174
161
|
headers: {
|
|
175
162
|
type: 'err',
|
|
176
|
-
error: decodeErrorMessage(
|
|
163
|
+
error: decodeErrorMessage(error),
|
|
177
164
|
},
|
|
178
165
|
});
|
|
179
166
|
}
|
|
@@ -184,10 +171,11 @@ class QWebSocket {
|
|
|
184
171
|
try {
|
|
185
172
|
// check callback
|
|
186
173
|
const routeResults = this.callbacks.onBin.recognize(headers.route || '');
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
const
|
|
190
|
-
|
|
174
|
+
const route = routeResults?.[0];
|
|
175
|
+
if (route) {
|
|
176
|
+
const handler = route.handler;
|
|
177
|
+
const params = route.params;
|
|
178
|
+
await handler?.(body, headers, params);
|
|
191
179
|
}
|
|
192
180
|
// send back acknowledgment
|
|
193
181
|
this.wws.send({
|
|
@@ -197,12 +185,12 @@ class QWebSocket {
|
|
|
197
185
|
},
|
|
198
186
|
});
|
|
199
187
|
}
|
|
200
|
-
catch (
|
|
188
|
+
catch (error) {
|
|
201
189
|
// error occurred during processing binary message, send error
|
|
202
190
|
this.wws.send({
|
|
203
191
|
headers: {
|
|
204
192
|
type: 'err',
|
|
205
|
-
error: decodeErrorMessage(
|
|
193
|
+
error: decodeErrorMessage(error),
|
|
206
194
|
},
|
|
207
195
|
});
|
|
208
196
|
}
|
|
@@ -213,10 +201,11 @@ class QWebSocket {
|
|
|
213
201
|
try {
|
|
214
202
|
// check callback
|
|
215
203
|
const routeResults = this.callbacks.onJson.recognize(headers.route || '');
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
const
|
|
219
|
-
|
|
204
|
+
const route = routeResults?.[0];
|
|
205
|
+
if (route) {
|
|
206
|
+
const handler = route.handler;
|
|
207
|
+
const params = route.params;
|
|
208
|
+
await handler?.(body, headers, params);
|
|
220
209
|
}
|
|
221
210
|
// send back acknowledgment
|
|
222
211
|
this.wws.send({
|
|
@@ -226,12 +215,12 @@ class QWebSocket {
|
|
|
226
215
|
},
|
|
227
216
|
});
|
|
228
217
|
}
|
|
229
|
-
catch (
|
|
218
|
+
catch (error) {
|
|
230
219
|
// error occurred during processing json message, send error
|
|
231
220
|
this.wws.send({
|
|
232
221
|
headers: {
|
|
233
222
|
type: 'err',
|
|
234
|
-
error: decodeErrorMessage(
|
|
223
|
+
error: decodeErrorMessage(error),
|
|
235
224
|
},
|
|
236
225
|
});
|
|
237
226
|
}
|
|
@@ -244,36 +233,34 @@ class QWebSocket {
|
|
|
244
233
|
}
|
|
245
234
|
});
|
|
246
235
|
this.wws.onErr(async (message) => {
|
|
247
|
-
var _a, _b;
|
|
248
236
|
// handle error
|
|
249
|
-
|
|
250
|
-
await
|
|
237
|
+
logger.error(`${this.name}: Error occurred: ${message.headers.error}`);
|
|
238
|
+
await this.callbacks.onError?.(message.headers.error);
|
|
251
239
|
});
|
|
252
240
|
this.wws.onWsClose(async () => {
|
|
253
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
254
241
|
if (reconnect && this.needed) {
|
|
255
242
|
// if locally closed, needed should be false
|
|
256
243
|
// if it's true, it means we lost the connection and should try to re-connect
|
|
257
|
-
|
|
244
|
+
logger.info(`${this.name}: Closed pre-maturely, trying to reconnect after ${reconnectIntervalMillis}ms...`);
|
|
258
245
|
setTimeout(() => this.setUp(), reconnectIntervalMillis);
|
|
259
|
-
await
|
|
246
|
+
await this.callbacks.onErroneousDisconnect?.('Closed pre-maturely');
|
|
260
247
|
}
|
|
261
248
|
else if (reconnect && this.queue.numUnackMessages) {
|
|
262
249
|
// if there are still messages left to be sent and we should reconnect
|
|
263
|
-
|
|
250
|
+
logger.info(`${this.name}: Closed with messages still in queue, reconnecting in ${reconnectIntervalMillis}ms...`);
|
|
264
251
|
setTimeout(() => this.setUp(), reconnectIntervalMillis);
|
|
265
|
-
await
|
|
252
|
+
await this.callbacks.onErroneousDisconnect?.('Closed with messages still in queue');
|
|
266
253
|
}
|
|
267
254
|
else if (this.queue.numUnackMessages) {
|
|
268
255
|
// if there are still messages left to be sent, but we should not reconnect
|
|
269
|
-
|
|
270
|
-
await
|
|
271
|
-
await
|
|
256
|
+
logger.info(`${this.name}: Closed with messages still in queue`);
|
|
257
|
+
await this.callbacks.onError?.('Closed with messages still in queue');
|
|
258
|
+
await this.callbacks.onClose?.();
|
|
272
259
|
}
|
|
273
260
|
else {
|
|
274
261
|
// all is well
|
|
275
|
-
|
|
276
|
-
await
|
|
262
|
+
logger.info(`${this.name}: Closed correctly`);
|
|
263
|
+
await this.callbacks.onClose?.();
|
|
277
264
|
}
|
|
278
265
|
});
|
|
279
266
|
}
|
|
@@ -286,13 +273,13 @@ class QWebSocket {
|
|
|
286
273
|
if (this.queue.numUnsentMessages) {
|
|
287
274
|
// pop a message
|
|
288
275
|
const [idx, data] = this.queue.consume();
|
|
289
|
-
|
|
276
|
+
logger.debug(`${this.name}: Sending chunk ${idx} of size ${data.size}`);
|
|
290
277
|
this.wws.sendRaw(data);
|
|
291
|
-
|
|
278
|
+
logger.debug(`${this.name}: MQ decreased to size ${this.queue.numUnsentMessages} messages / ${this.queue.numUnsentBytes} bytes`);
|
|
292
279
|
this.flush();
|
|
293
280
|
}
|
|
294
281
|
else {
|
|
295
|
-
|
|
282
|
+
logger.debug(`${this.name}: Flushing complete, no ws messages backed up`);
|
|
296
283
|
// if not needed anymore after flush, close it
|
|
297
284
|
// send close event to ws, don't de-cache yet, wait for event
|
|
298
285
|
if (!this.queue.numUnackMessages && !this.needed) {
|
|
@@ -330,8 +317,8 @@ class QWebSocket {
|
|
|
330
317
|
const { numUnsentMessages } = this.queue;
|
|
331
318
|
const idx = this.queue.produce(message);
|
|
332
319
|
// ready state should either be CONNECTING or OPEN at this point to flush instantly
|
|
333
|
-
if (this.wws.readyState === WebSocket.OPEN
|
|
334
|
-
this.flush();
|
|
320
|
+
if (!numUnsentMessages && this.ready && this.wws.readyState === WebSocket.OPEN) {
|
|
321
|
+
void this.flush();
|
|
335
322
|
}
|
|
336
323
|
return idx;
|
|
337
324
|
}
|
|
@@ -345,7 +332,7 @@ class QWebSocket {
|
|
|
345
332
|
// wrap original onClose to resolve this promise
|
|
346
333
|
const { onClose } = this.callbacks;
|
|
347
334
|
this.callbacks.onClose = async () => {
|
|
348
|
-
await
|
|
335
|
+
await onClose?.();
|
|
349
336
|
resolve();
|
|
350
337
|
};
|
|
351
338
|
// flush if any messages in queue
|
|
@@ -353,4 +340,4 @@ class QWebSocket {
|
|
|
353
340
|
});
|
|
354
341
|
}
|
|
355
342
|
}
|
|
356
|
-
|
|
343
|
+
//# sourceMappingURL=queuews.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queuews.js","sourceRoot":"","sources":["../../src/common/queuews.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,eAAe,MAAM,aAAa,CAAC;AAe1C,OAAO,qBAAqB,MAAM,YAAY,CAAC;AAC/C,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAU,EAAE;IACpD,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAyB,CAAC;IAC1D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,oDAAoD;IACpD,gEAAgE;IAChE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;AACjD,CAAC,CAAC;AAsBF,MAAM,WAAW,GAA+B;IAC9C,gBAAgB,EAAE,EAAE;IACpB,SAAS,EAAE,IAAI;IACf,iBAAiB,EAAE,EAAE;IACrB,uBAAuB,EAAE,IAAI;CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAqB7B,YAAY,OAA2B,EAAE,UAA6B,EAAE;QACtE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,WAAW;YACd,GAAG,OAAO;SACX,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG;YACf,KAAK,EAAE,IAAI,eAAe,EAAE;YAC5B,MAAM,EAAE,IAAI,eAAe,EAAE;SAC9B,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACzC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED;;OAEG;IAEH,SAAS,CAAC,QAAyB;QACjC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,QAAQ,CAAC;IACtC,CAAC;IAED,UAAU,CAAC,YAAoB,EAAE,QAAqB;QACpD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,QAAqB;QACzB,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,WAAW,CAAI,YAAoB,EAAE,QAAyB;QAC5D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,CAAI,QAAyB;QACjC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,QAAuB;QAC7B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC;IACpC,CAAC;IAED,qBAAqB,CAAC,QAAoB;QACxC,IAAI,CAAC,SAAS,CAAC,qBAAqB,GAAG,QAAQ,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,QAAmC;QACzC,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,QAAoB;QAC1B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC;IACpC,CAAC;IAED;;OAEG;IAEH,kDAAkD;IAClD,KAAK;QACH,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC;QAC/B,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAEjG,6CAA6C;QAC7C,IAAI,SAAS,IAAI,IAAI,CAAC,oBAAoB,GAAG,iBAAkB,EAAE,CAAC;YAChE,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,oDAAoD,CAAC,CAAC;YAC/E,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,qCAAqC,iBAAiB,YAAY,CAAC,CAAC;YAClG,OAAO;QACT,CAAC;QAED;;WAEG;QACH,IAAI,IAAI,CAAC,OAAO,YAAY,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;YACzF,MAAM,EAAE,GAAG,IAAI,CAAC,OAAoB,CAAC;YACrC,IAAI,CAAC,GAAG,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACpC,+FAA+F;QACjG,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE;gBACnD,GAAG,gBAAgB;gBACnB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,GAAG,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACjC,+EAA+E;YAC/E,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,wBAAwB,OAAO,EAAE,CAAC,CAAC;YAE5D,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC3B,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CACT,SAAS;gBACP,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,kCAAkC,IAAI,CAAC,oBAAoB,QAAQ;gBACjF,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,0BAA0B,CAC3C,CAAC;YAEF,IAAI,CAAC;gBACH,oEAAoE;gBACpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC;gBAEpD,0BAA0B;gBAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,OAAO;wBACb,QAAQ;qBACT;iBACiB,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wFAAwF;gBACxF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC;qBACjC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAwB,EAAE,EAAE;YAClD,kDAAkD;YAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,yBAAyB,QAAQ,CAAC,CAAC,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7F,8EAA8E;YAC9E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,wCAAwC;YACxC,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,IAAI,CAAC;gBACH,yBAAyB;gBACzB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wFAAwF;gBACxF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC;qBACjC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,OAAyB,EAAE,EAAE;YACjD,0BAA0B;YAC1B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;YAElC,IAAI,CAAC;gBACH,iBAAiB;gBACjB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBACzE,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,OAAO,GAAG,KAAK,CAAC,OAAsB,CAAC;oBAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAmB,CAAC;oBACzC,MAAM,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBACzC,CAAC;gBAED,2BAA2B;gBAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,KAAK;wBACX,MAAM,EAAE,OAAO,CAAC,GAAG;qBACpB;iBACe,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,8DAA8D;gBAC9D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC;qBACjC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,OAAuB,EAAE,EAAE;YAChD,0BAA0B;YAC1B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;YAElC,IAAI,CAAC;gBACH,iBAAiB;gBACjB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC1E,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,OAAO,GAAG,KAAK,CAAC,OAAgC,CAAC;oBACvD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAmB,CAAC;oBACzC,MAAM,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBACzC,CAAC;gBAED,2BAA2B;gBAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,KAAK;wBACX,MAAM,EAAE,OAAO,CAAC,GAAG;qBACpB;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4DAA4D;gBAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC;qBACjC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAsB,EAAE,EAAE;YACxC,0BAA0B;YAC1B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,OAAwB,EAAE,EAAE;YAChD,eAAe;YACf,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,qBAAqB,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACvE,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;YAC5B,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC7B,4CAA4C;gBAC5C,6EAA6E;gBAC7E,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,oDAAoD,uBAAuB,OAAO,CAAC,CAAC;gBAC5G,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,uBAAuB,CAAC,CAAC;gBACxD,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,qBAAqB,CAAC,CAAC;YACtE,CAAC;iBAAM,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBACpD,sEAAsE;gBACtE,MAAM,CAAC,IAAI,CACT,GAAG,IAAI,CAAC,IAAI,0DAA0D,uBAAuB,OAAO,CACrG,CAAC;gBACF,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,uBAAuB,CAAC,CAAC;gBACxD,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,qCAAqC,CAAC,CAAC;YACtF,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBACvC,2EAA2E;gBAC3E,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,uCAAuC,CAAC,CAAC;gBACjE,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,qCAAqC,CAAC,CAAC;gBACtE,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,cAAc;gBACd,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,oBAAoB,CAAC,CAAC;gBAC9C,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,yBAAyB;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,gCAAgC;QAChC,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YACjC,gBAAgB;YAChB,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,mBAAmB,GAAG,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,CAAC,KAAK,CACV,GAAG,IAAI,CAAC,IAAI,0BAA0B,IAAI,CAAC,KAAK,CAAC,iBAAiB,eAAe,IAAI,CAAC,KAAK,CAAC,cAAc,QAAQ,CACnH,CAAC;YACF,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,+CAA+C,CAAC,CAAC;YAC1E,8CAA8C;YAC9C,6DAA6D;YAC7D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAsC,EAAE,eAAuC,EAAE;QACpF,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACzD,CAAC;IAED,WAAW,CACT,KAAyB,EACzB,IAAsC,EACtC,eAAuC,EAAE;QAEzC,iDAAiD;QACjD,IAAI,OAA0B,CAAC;QAE/B,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;YACzB,OAAO,GAAG;gBACR,OAAO,EAAE;oBACP,IAAI,EAAE,KAAK;oBACX,KAAK;oBACL,GAAG,YAAY;iBAChB;gBACD,IAAI;aACL,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,GAAG;gBACR,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,KAAK;oBACL,GAAG,YAAY;iBAChB;gBACD,IAAI;aACa,CAAC;QACtB,CAAC;QAED,4BAA4B;QAC5B,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAExC,mFAAmF;QACnF,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC/E,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YAEpB,gDAAgD;YAChD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,IAAI,EAAE;gBAClC,MAAM,OAAO,EAAE,EAAE,CAAC;gBAClB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YAEF,iCAAiC;YACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import RouteRecognizerModule from 'route-recognizer';
|
|
2
|
+
/**
|
|
3
|
+
* route-recognizer is a UMD bundle: under Node.js ESM its default import is the class itself,
|
|
4
|
+
* while its typings declare an ES default export. Re-expose it with correct typing.
|
|
5
|
+
*/
|
|
6
|
+
declare const RouteRecognizer: typeof RouteRecognizerModule.default;
|
|
7
|
+
type RouteRecognizer = InstanceType<typeof RouteRecognizer>;
|
|
8
|
+
export default RouteRecognizer;
|
|
9
|
+
//# sourceMappingURL=router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/common/router.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,kBAAkB,CAAC;AAErD;;;GAGG;AACH,QAAA,MAAM,eAAe,EAAuC,OAAO,qBAAqB,CAAC,OAAO,CAAC;AACjG,KAAK,eAAe,GAAG,YAAY,CAAC,OAAO,eAAe,CAAC,CAAC;AAE5D,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import RouteRecognizerModule from 'route-recognizer';
|
|
2
|
+
/**
|
|
3
|
+
* route-recognizer is a UMD bundle: under Node.js ESM its default import is the class itself,
|
|
4
|
+
* while its typings declare an ES default export. Re-expose it with correct typing.
|
|
5
|
+
*/
|
|
6
|
+
const RouteRecognizer = RouteRecognizerModule;
|
|
7
|
+
export default RouteRecognizer;
|
|
8
|
+
//# sourceMappingURL=router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/common/router.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,kBAAkB,CAAC;AAErD;;;GAGG;AACH,MAAM,eAAe,GAAG,qBAAwE,CAAC;AAGjG,eAAe,eAAe,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
export * from './common/
|
|
3
|
-
export * from './common/
|
|
4
|
-
export * from './
|
|
5
|
-
export
|
|
6
|
-
|
|
1
|
+
export * from './common/logger.js';
|
|
2
|
+
export * from './common/message.js';
|
|
3
|
+
export * from './common/queuews.js';
|
|
4
|
+
export * from './browser/messageencode.js';
|
|
5
|
+
export { default } from './common/queuews.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,25 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
-
};
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
const queuews_1 = __importDefault(require("./common/queuews"));
|
|
21
|
-
__exportStar(require("./common/logger"), exports);
|
|
22
|
-
__exportStar(require("./common/message"), exports);
|
|
23
|
-
__exportStar(require("./common/queuews"), exports);
|
|
24
|
-
__exportStar(require("./browser/messageencode"), exports);
|
|
25
|
-
exports.default = queuews_1.default;
|
|
1
|
+
export * from './common/logger.js';
|
|
2
|
+
export * from './common/message.js';
|
|
3
|
+
export * from './common/queuews.js';
|
|
4
|
+
export * from './browser/messageencode.js';
|
|
5
|
+
export { default } from './common/queuews.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC"}
|