websocket-ts 2.2.1 → 2.3.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/LICENSE +1 -1
- package/README.md +77 -64
- package/dist/cjs/src/backoff/exponentialbackoff.js +1 -1
- package/dist/cjs/src/backoff/exponentialbackoff.js.map +1 -1
- package/dist/cjs/src/index.d.ts +1 -1
- package/dist/cjs/src/index.d.ts.map +1 -1
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/websocket.d.ts +9 -3
- package/dist/cjs/src/websocket.d.ts.map +1 -1
- package/dist/cjs/src/websocket.js +7 -3
- package/dist/cjs/src/websocket.js.map +1 -1
- package/dist/cjs/src/websocket_builder.d.ts +9 -9
- package/dist/cjs/src/websocket_builder.d.ts.map +1 -1
- package/dist/cjs/src/websocket_builder.js +6 -6
- package/dist/cjs/src/websocket_builder.js.map +1 -1
- package/dist/cjs/src/websocket_event.d.ts +18 -7
- package/dist/cjs/src/websocket_event.d.ts.map +1 -1
- package/dist/cjs/src/websocket_event.js +8 -9
- package/dist/cjs/src/websocket_event.js.map +1 -1
- package/dist/cjs/src/websocket_retry_options.d.ts +1 -1
- package/dist/esm/src/backoff/exponentialbackoff.js +1 -1
- package/dist/esm/src/backoff/exponentialbackoff.js.map +1 -1
- package/dist/esm/src/index.d.ts +1 -1
- package/dist/esm/src/index.d.ts.map +1 -1
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/websocket.d.ts +9 -3
- package/dist/esm/src/websocket.d.ts.map +1 -1
- package/dist/esm/src/websocket.js +7 -3
- package/dist/esm/src/websocket.js.map +1 -1
- package/dist/esm/src/websocket_builder.d.ts +9 -9
- package/dist/esm/src/websocket_builder.d.ts.map +1 -1
- package/dist/esm/src/websocket_builder.js +6 -6
- package/dist/esm/src/websocket_builder.js.map +1 -1
- package/dist/esm/src/websocket_event.d.ts +18 -7
- package/dist/esm/src/websocket_event.d.ts.map +1 -1
- package/dist/esm/src/websocket_event.js +8 -9
- package/dist/esm/src/websocket_event.js.map +1 -1
- package/dist/esm/src/websocket_retry_options.d.ts +1 -1
- package/package.json +18 -18
- package/src/backoff/exponentialbackoff.ts +1 -1
- package/src/index.ts +1 -1
- package/src/websocket.ts +16 -5
- package/src/websocket_builder.ts +10 -10
- package/src/websocket_event.ts +22 -7
- package/src/websocket_retry_options.ts +1 -1
- package/tsconfig.esm.json +1 -1
- package/websocket-ts-2.2.1.tgz +0 -0
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -1,30 +1,33 @@
|
|
|
1
|
-
<div>
|
|
2
|
-
|
|
3
|
-
<img src="https://raw.githubusercontent.com/jjxxs/websocket-ts/gh-pages/websocket-ts-logo.svg" alt="websocket-ts" width="300" height="65" />
|
|
4
|
-
</div>
|
|
5
|
-
<p align="center">
|
|
6
|
-
<img src="https://github.com/jjxxs/websocket-ts/actions/workflows/build.yml/badge.svg" alt="Build Status" />
|
|
7
|
-
<img src="https://github.com/jjxxs/websocket-ts/actions/workflows/test.yml/badge.svg" alt="Build Status" />
|
|
8
|
-
<a href="https://coveralls.io/github/jjxxs/websocket-ts?branch=master">
|
|
9
|
-
<img src="https://coveralls.io/repos/github/jjxxs/websocket-ts/badge.svg?branch=master&service=github" alt="Coverage Status" />
|
|
10
|
-
</a>
|
|
11
|
-
<a href="https://github.com/jjxxs/websocket-ts/releases/latest">
|
|
12
|
-
<img src="https://img.shields.io/github/v/release/jjxxs/websocket-ts" alt="Release" />
|
|
13
|
-
</a>
|
|
14
|
-
<a href="/LICENSE">
|
|
15
|
-
<img src="https://img.shields.io/github/license/jjxxs/websocket-ts" alt="License" />
|
|
16
|
-
</a>
|
|
17
|
-
</p>
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="https://raw.githubusercontent.com/jjxxs/websocket-ts/gh-pages/websocket-ts-logo.svg" alt="websocket-ts" width="300" height="65" />
|
|
18
3
|
</div>
|
|
19
|
-
|
|
4
|
+
|
|
20
5
|
<div align="center">
|
|
21
6
|
A <b>WebSocket</b> for browsers with <b>auto-reconnect</b> and <b>message buffering</b> written in <b>TypeScript</b>.
|
|
7
|
+
</div>
|
|
8
|
+
|
|
9
|
+
<div align="center">
|
|
10
|
+
|
|
11
|
+
[](https://github.com/jjxxs/websocket-ts/actions/workflows/build.yml)
|
|
12
|
+
[](https://github.com/jjxxs/websocket-ts/actions/workflows/test.yml)
|
|
13
|
+
[](https://coveralls.io/github/jjxxs/websocket-ts?branch=master)
|
|
14
|
+
[](https://npm-stat.com/charts.html?package=websocket-ts)
|
|
15
|
+
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
<div align="center">
|
|
19
|
+
|
|
20
|
+
[](https://www.npmjs.org/package/websocket-ts)
|
|
21
|
+
[](https://bundlejs.com/?q=websocket-ts)
|
|
22
|
+
[](https://snyk.io/test/npm/websocket-ts)
|
|
23
|
+
[](/LICENSE)
|
|
24
|
+
|
|
22
25
|
</div>
|
|
23
26
|
|
|
24
27
|
## Features
|
|
25
28
|
|
|
26
|
-
- **Lightweight & Standalone**: No dependencies, 2.
|
|
27
|
-
- **Browser-native**: Utilizes WebSocket API, offers direct access.
|
|
29
|
+
- **Lightweight & Standalone**: No dependencies, 2.5 kB minified & gzipped.
|
|
30
|
+
- **Browser-native**: Utilizes native WebSocket API, offers direct access to the underlying connection.
|
|
28
31
|
- **Smart Reconnect**: Optional auto-reconnect and message buffering.
|
|
29
32
|
- **Easy Setup**: Optional builder class for quick initialization.
|
|
30
33
|
- **Well-Tested**: High test coverage, well-documented for extensibility.
|
|
@@ -35,11 +38,11 @@ A <b>WebSocket</b> for browsers with <b>auto-reconnect</b> and <b>message buffer
|
|
|
35
38
|
Install `websocket-ts` with npm:
|
|
36
39
|
|
|
37
40
|
```bash
|
|
38
|
-
|
|
41
|
+
npm install websocket-ts
|
|
39
42
|
```
|
|
40
43
|
|
|
41
44
|
## Quickstart
|
|
42
|
-
This example
|
|
45
|
+
This example creates a WebSocket with message buffering and automatic reconnection.
|
|
43
46
|
The created websocket will echo back any received messages. It will buffer messages when disconnected
|
|
44
47
|
and attempt to reconnect every 1 second.
|
|
45
48
|
|
|
@@ -71,7 +74,7 @@ ws.addEventListener(WebsocketEvent.message, echoOnMessage);
|
|
|
71
74
|
```
|
|
72
75
|
|
|
73
76
|
## Usage
|
|
74
|
-
This
|
|
77
|
+
This section demonstrates how to use `websocket-ts` in your project using the provided `WebsocketBuilder` class.
|
|
75
78
|
|
|
76
79
|
For a more detailed description of the API, please refer to the [API Documentation](https://jjxxs.github.io/websocket-ts/).
|
|
77
80
|
|
|
@@ -85,32 +88,32 @@ const ws = new WebsocketBuilder("ws://localhost:42421").build();
|
|
|
85
88
|
|
|
86
89
|
#### Events
|
|
87
90
|
|
|
88
|
-
There are six events
|
|
91
|
+
There are six events you can listen for:
|
|
89
92
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
93
|
+
| Event | Description |
|
|
94
|
+
|---|---|
|
|
95
|
+
| `open` | Connection opened |
|
|
96
|
+
| `close` | Connection closed |
|
|
97
|
+
| `error` | An error occurred |
|
|
98
|
+
| `message` | Message received |
|
|
99
|
+
| `retry` | Reconnect attempt |
|
|
100
|
+
| `reconnect` | Successful reconnect |
|
|
101
|
+
|
|
102
|
+
You can use either `WebsocketEvent.open` or the string `"open"` when registering listeners.
|
|
100
103
|
|
|
101
104
|
#### Add Event Listeners
|
|
102
105
|
Event listeners receive the websocket instance (`i`) and the triggering event (`ev`) as arguments.
|
|
103
106
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
107
|
+
```typescript
|
|
108
|
+
const ws = new WebsocketBuilder("ws://localhost:42421")
|
|
109
|
+
.onOpen((i, ev) => console.log("opened"))
|
|
110
|
+
.onClose((i, ev) => console.log("closed"))
|
|
111
|
+
.onError((i, ev) => console.log("error"))
|
|
112
|
+
.onMessage((i, ev) => console.log("message"))
|
|
113
|
+
.onRetry((i, ev) => console.log("retry"))
|
|
114
|
+
.onReconnect((i, ev) => console.log("reconnect"))
|
|
115
|
+
.build();
|
|
116
|
+
```
|
|
114
117
|
|
|
115
118
|
#### Remove Event Listeners
|
|
116
119
|
|
|
@@ -134,13 +137,13 @@ ws.send("Hello World!");
|
|
|
134
137
|
|
|
135
138
|
#### Reconnect & Backoff (Optional)
|
|
136
139
|
|
|
137
|
-
|
|
138
|
-
This
|
|
139
|
-
your own by implementing the `Backoff` interface. If no
|
|
140
|
+
To automatically reconnect after a disconnection, provide a `Backoff` strategy.
|
|
141
|
+
This controls the delay between reconnection attempts. There are three built-in `Backoff` implementations, or you can create
|
|
142
|
+
your own by implementing the `Backoff` interface. If no backoff is provided, the websocket will not attempt to reconnect.
|
|
140
143
|
|
|
141
144
|
##### ConstantBackoff
|
|
142
145
|
|
|
143
|
-
|
|
146
|
+
`ConstantBackoff` uses a fixed delay between each reconnection attempt.
|
|
144
147
|
To set a constant 1-second wait time, use:
|
|
145
148
|
|
|
146
149
|
```typescript
|
|
@@ -149,11 +152,11 @@ const ws = new WebsocketBuilder("ws://localhost:42421")
|
|
|
149
152
|
.build();
|
|
150
153
|
```
|
|
151
154
|
|
|
152
|
-
|
|
155
|
+
#### LinearBackoff
|
|
153
156
|
|
|
154
|
-
|
|
157
|
+
`LinearBackoff` increases the delay between reconnection attempts linearly,
|
|
155
158
|
up to an optional maximum. For example, to start with a 0-second delay and increase by
|
|
156
|
-
10
|
|
159
|
+
10 seconds for each retry, capping at 60 seconds, use:
|
|
157
160
|
|
|
158
161
|
```typescript
|
|
159
162
|
const ws = new WebsocketBuilder("ws://localhost:42421")
|
|
@@ -163,9 +166,9 @@ const ws = new WebsocketBuilder("ws://localhost:42421")
|
|
|
163
166
|
|
|
164
167
|
##### ExponentialBackoff
|
|
165
168
|
|
|
166
|
-
|
|
169
|
+
`ExponentialBackoff` doubles the delay between each reconnection attempt, up
|
|
167
170
|
to a specified maximum. This approach is inspired by the binary exponential backoff algorithm
|
|
168
|
-
commonly used in networking. For example, to
|
|
171
|
+
commonly used in networking. For example, to use a base of 1000ms with a maximum exponent of 6:
|
|
169
172
|
|
|
170
173
|
```typescript
|
|
171
174
|
const ws = new WebsocketBuilder("ws://localhost:42421")
|
|
@@ -175,18 +178,16 @@ const ws = new WebsocketBuilder("ws://localhost:42421")
|
|
|
175
178
|
|
|
176
179
|
#### Buffer (Optional)
|
|
177
180
|
|
|
178
|
-
To buffer outgoing messages when the websocket is disconnected,
|
|
179
|
-
|
|
181
|
+
To buffer outgoing messages when the websocket is disconnected, provide a `Queue`.
|
|
182
|
+
The queue temporarily stores messages and sends them in order when
|
|
180
183
|
the websocket (re)connects. Two built-in `Queue` implementations are available, or you can
|
|
181
|
-
create your own by implementing the `Queue` interface. If no queue is provided, messages
|
|
184
|
+
create your own by implementing the `Queue` interface. If no queue is provided, messages
|
|
182
185
|
won't be buffered.
|
|
183
186
|
|
|
184
187
|
##### RingQueue
|
|
185
188
|
|
|
186
|
-
|
|
187
|
-
the oldest element is removed to
|
|
188
|
-
removes the oldest element. For instance, to set up a `RingQueue` with a 100-element capacity,
|
|
189
|
-
use:
|
|
189
|
+
`RingQueue` is a fixed-capacity, first-in-first-out (FIFO) queue. When it reaches capacity,
|
|
190
|
+
the oldest element is removed to make room for new ones. For instance, to set up a `RingQueue` with a 100-element capacity:
|
|
190
191
|
|
|
191
192
|
```typescript
|
|
192
193
|
const ws = new WebsocketBuilder("ws://localhost:42421")
|
|
@@ -196,8 +197,8 @@ const ws = new WebsocketBuilder("ws://localhost:42421")
|
|
|
196
197
|
|
|
197
198
|
##### ArrayQueue
|
|
198
199
|
|
|
199
|
-
|
|
200
|
-
|
|
200
|
+
`ArrayQueue` is an unbounded first-in-first-out (FIFO) queue.
|
|
201
|
+
To use an `ArrayQueue`:
|
|
201
202
|
|
|
202
203
|
```typescript
|
|
203
204
|
const ws = new WebsocketBuilder("ws://localhost:42421")
|
|
@@ -205,8 +206,20 @@ const ws = new WebsocketBuilder("ws://localhost:42421")
|
|
|
205
206
|
.build();
|
|
206
207
|
```
|
|
207
208
|
|
|
209
|
+
#### URL Provider (Optional)
|
|
210
|
+
|
|
211
|
+
By default, the URL is a static string. To use a different URL between connection attempts, provide
|
|
212
|
+
a function instead. The function is called on each connection attempt, including the initial one and
|
|
213
|
+
any retries. This enables use cases like load balancing, auth token rotation, and failover.
|
|
214
|
+
|
|
215
|
+
```typescript
|
|
216
|
+
const ws = new WebsocketBuilder(() => `ws://localhost:42421?token=${getToken()}`)
|
|
217
|
+
.withBackoff(new ConstantBackoff(1000))
|
|
218
|
+
.build();
|
|
219
|
+
```
|
|
220
|
+
|
|
208
221
|
## Build & Tests
|
|
209
222
|
|
|
210
|
-
To compile the project,
|
|
223
|
+
To compile the project, run `npm run build`.
|
|
211
224
|
|
|
212
|
-
To run tests, use `npm run test`.
|
|
225
|
+
To run tests, use `npm run test`.
|
|
@@ -43,7 +43,7 @@ var ExponentialBackoff = /** @class */ (function () {
|
|
|
43
43
|
throw new Error("Base must be a positive integer or zero");
|
|
44
44
|
}
|
|
45
45
|
if (expMax !== undefined && (!Number.isInteger(expMax) || expMax < 0)) {
|
|
46
|
-
throw new Error("ExpMax must be
|
|
46
|
+
throw new Error("ExpMax must be undefined, a positive integer, or zero");
|
|
47
47
|
}
|
|
48
48
|
this.base = base;
|
|
49
49
|
this.expMax = expMax;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exponentialbackoff.js","sourceRoot":"","sources":["../../../../src/backoff/exponentialbackoff.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH;IAME;;;;OAIG;IACH,4BAAY,IAAY,EAAE,MAAe;QAPjC,aAAQ,GAAW,CAAC,CAAC;QAQ3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"exponentialbackoff.js","sourceRoot":"","sources":["../../../../src/backoff/exponentialbackoff.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH;IAME;;;;OAIG;IACH,4BAAY,IAAY,EAAE,MAAe;QAPjC,aAAQ,GAAW,CAAC,CAAC;QAQ3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED,sBAAI,uCAAO;aAAX;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;;;OAAA;IAED,sBAAI,uCAAO;aAAX;YACE,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;;;OAAA;IAED,iCAAI,GAAJ;QACE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,CAAC;YACJ,IAAI,CAAC,MAAM,KAAK,SAAS;gBACvB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;gBACZ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,kCAAK,GAAL;QACE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IACH,yBAAC;AAAD,CAAC,AA7CD,IA6CC;AA7CY,gDAAkB"}
|
package/dist/cjs/src/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export { LinearBackoff } from "./backoff/linearbackoff";
|
|
|
5
5
|
export { Queue } from "./queue/queue";
|
|
6
6
|
export { ArrayQueue } from "./queue/array_queue";
|
|
7
7
|
export { RingQueue } from "./queue/ring_queue";
|
|
8
|
-
export { Websocket } from "./websocket";
|
|
8
|
+
export { UrlProvider, Websocket } from "./websocket";
|
|
9
9
|
export { WebsocketBuffer } from "./websocket_buffer";
|
|
10
10
|
export { WebsocketBuilder } from "./websocket_builder";
|
|
11
11
|
export { WebsocketEvent, RetryEventDetail, ReconnectEventDetail, WebsocketEventMap, WebsocketEventListener, WebsocketEventListenerParams, WebsocketEventListenerOptions, WebsocketEventListenerWithOptions, WebsocketEventListeners, } from "./websocket_event";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;AACA,6DAA4D;AAAnD,kHAAA,eAAe,OAAA;AACxB,mEAAkE;AAAzD,wHAAA,kBAAkB,OAAA;AAC3B,yDAAwD;AAA/C,8GAAA,aAAa,OAAA;AAEtB,mDAAiD;AAAxC,yGAAA,UAAU,OAAA;AACnB,iDAA+C;AAAtC,uGAAA,SAAS,OAAA;AAClB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;AACA,6DAA4D;AAAnD,kHAAA,eAAe,OAAA;AACxB,mEAAkE;AAAzD,wHAAA,kBAAkB,OAAA;AAC3B,yDAAwD;AAA/C,8GAAA,aAAa,OAAA;AAEtB,mDAAiD;AAAxC,yGAAA,UAAU,OAAA;AACnB,iDAA+C;AAAtC,uGAAA,SAAS,OAAA;AAClB,yCAAqD;AAA/B,sGAAA,SAAS,OAAA;AAE/B,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AACzB,qDAU2B;AATzB,iHAAA,cAAc,OAAA"}
|
|
@@ -2,11 +2,17 @@ import { Backoff } from "./backoff/backoff";
|
|
|
2
2
|
import { WebsocketBuffer } from "./websocket_buffer";
|
|
3
3
|
import { WebsocketEvent, WebsocketEventListener, WebsocketEventListenerOptions } from "./websocket_event";
|
|
4
4
|
import { WebsocketOptions } from "./websocket_options";
|
|
5
|
+
/**
|
|
6
|
+
* A URL or a function that returns a URL. When a function is provided, it is called on each connection attempt,
|
|
7
|
+
* enabling use cases like load balancing, auth token rotation, and failover.
|
|
8
|
+
*/
|
|
9
|
+
export type UrlProvider = string | (() => string);
|
|
5
10
|
/**
|
|
6
11
|
* A websocket wrapper that can be configured to reconnect automatically and buffer messages when the websocket is not connected.
|
|
7
12
|
*/
|
|
8
13
|
export declare class Websocket {
|
|
9
|
-
private readonly
|
|
14
|
+
private readonly _urlProvider;
|
|
15
|
+
private _url;
|
|
10
16
|
private readonly _protocols?;
|
|
11
17
|
private _closedByUser;
|
|
12
18
|
private _lastConnection?;
|
|
@@ -16,11 +22,11 @@ export declare class Websocket {
|
|
|
16
22
|
/**
|
|
17
23
|
* Creates a new websocket.
|
|
18
24
|
*
|
|
19
|
-
* @param url to connect to.
|
|
25
|
+
* @param url to connect to, or a function that returns a URL.
|
|
20
26
|
* @param protocols optional protocols to use.
|
|
21
27
|
* @param options optional options to use.
|
|
22
28
|
*/
|
|
23
|
-
constructor(url:
|
|
29
|
+
constructor(url: UrlProvider, protocols?: string | string[], options?: WebsocketOptions);
|
|
24
30
|
/**
|
|
25
31
|
* Getter for the url.
|
|
26
32
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../src/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAGL,cAAc,EACd,sBAAsB,EACtB,6BAA6B,EAI9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../src/websocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ var Websocket = /** @class */ (function () {
|
|
|
18
18
|
/**
|
|
19
19
|
* Creates a new websocket.
|
|
20
20
|
*
|
|
21
|
-
* @param url to connect to.
|
|
21
|
+
* @param url to connect to, or a function that returns a URL.
|
|
22
22
|
* @param protocols optional protocols to use.
|
|
23
23
|
* @param options optional options to use.
|
|
24
24
|
*/
|
|
@@ -54,7 +54,7 @@ var Websocket = /** @class */ (function () {
|
|
|
54
54
|
this.handleMessageEvent = function (event) {
|
|
55
55
|
return _this.handleEvent(websocket_event_1.WebsocketEvent.message, event);
|
|
56
56
|
};
|
|
57
|
-
this.
|
|
57
|
+
this._urlProvider = url;
|
|
58
58
|
this._protocols = protocols;
|
|
59
59
|
// make a copy of the options to prevent the user from changing them
|
|
60
60
|
this._options = {
|
|
@@ -305,7 +305,11 @@ var Websocket = /** @class */ (function () {
|
|
|
305
305
|
* @return the created browser-native websocket which is also stored in the '_underlyingWebsocket' property.
|
|
306
306
|
*/
|
|
307
307
|
Websocket.prototype.tryConnect = function () {
|
|
308
|
-
this.
|
|
308
|
+
this._url =
|
|
309
|
+
typeof this._urlProvider === "function"
|
|
310
|
+
? this._urlProvider()
|
|
311
|
+
: this._urlProvider;
|
|
312
|
+
this._underlyingWebsocket = new WebSocket(this._url, this.protocols); // create new browser-native websocket and add all event listeners
|
|
309
313
|
this._underlyingWebsocket.addEventListener(websocket_event_1.WebsocketEvent.open, this.handleOpenEvent);
|
|
310
314
|
this._underlyingWebsocket.addEventListener(websocket_event_1.WebsocketEvent.close, this.handleCloseEvent);
|
|
311
315
|
this._underlyingWebsocket.addEventListener(websocket_event_1.WebsocketEvent.error, this.handleErrorEvent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/websocket.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAS2B;
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/websocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Backoff } from "./backoff/backoff";
|
|
2
2
|
import { WebsocketEvent, WebsocketEventListener, WebsocketEventListenerOptions } from "./websocket_event";
|
|
3
|
-
import { Websocket } from "./websocket";
|
|
3
|
+
import { UrlProvider, Websocket } from "./websocket";
|
|
4
4
|
import { WebsocketBuffer } from "./websocket_buffer";
|
|
5
5
|
/**
|
|
6
6
|
* Builder for websockets.
|
|
@@ -12,15 +12,15 @@ export declare class WebsocketBuilder {
|
|
|
12
12
|
/**
|
|
13
13
|
* Creates a new WebsocketBuilder.
|
|
14
14
|
*
|
|
15
|
-
* @param url the url to connect to
|
|
15
|
+
* @param url the url to connect to, or a function that returns a URL
|
|
16
16
|
*/
|
|
17
|
-
constructor(url:
|
|
17
|
+
constructor(url: UrlProvider);
|
|
18
18
|
/**
|
|
19
19
|
* Getter for the url.
|
|
20
20
|
*
|
|
21
|
-
* @returns the url
|
|
21
|
+
* @returns the url or url provider
|
|
22
22
|
*/
|
|
23
|
-
get url():
|
|
23
|
+
get url(): UrlProvider;
|
|
24
24
|
/**
|
|
25
25
|
* Adds protocols to the websocket. Subsequent calls to this method will override the previously set protocols.
|
|
26
26
|
*
|
|
@@ -46,15 +46,15 @@ export declare class WebsocketBuilder {
|
|
|
46
46
|
*/
|
|
47
47
|
get maxRetries(): number | undefined;
|
|
48
48
|
/**
|
|
49
|
-
* Sets
|
|
49
|
+
* Sets whether to reconnect immediately after a connection has been lost, ignoring the backoff strategy for the first retry.
|
|
50
50
|
*
|
|
51
|
-
* @param instantReconnect
|
|
51
|
+
* @param instantReconnect whether to reconnect immediately after a connection has been lost
|
|
52
52
|
*/
|
|
53
53
|
withInstantReconnect(instantReconnect: boolean | undefined): WebsocketBuilder;
|
|
54
54
|
/**
|
|
55
|
-
* Getter for
|
|
55
|
+
* Getter for whether to reconnect immediately after a connection has been lost, ignoring the backoff strategy for the first retry.
|
|
56
56
|
*
|
|
57
|
-
* @returns
|
|
57
|
+
* @returns whether to reconnect immediately after a connection has been lost, undefined if no value has been set
|
|
58
58
|
*/
|
|
59
59
|
get instantReconnect(): boolean | undefined;
|
|
60
60
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket_builder.d.ts","sourceRoot":"","sources":["../../../src/websocket_builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"websocket_builder.d.ts","sourceRoot":"","sources":["../../../src/websocket_builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IAEnC,OAAO,CAAC,UAAU,CAAC,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAC,CAAmB;IAEpC;;;;OAIG;gBACS,GAAG,EAAE,WAAW;IAI5B;;;;OAIG;IACH,IAAI,GAAG,IAAI,WAAW,CAErB;IAED;;;;OAIG;IACI,aAAa,CAClB,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GACvC,gBAAgB;IAKnB;;;;OAIG;IACH,IAAI,SAAS,IAAI,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAE7C;IAED;;;;OAIG;IACI,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB;IAQvE;;;;OAIG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED;;;;OAIG;IACI,oBAAoB,CACzB,gBAAgB,EAAE,OAAO,GAAG,SAAS,GACpC,gBAAgB;IAQnB;;;;OAIG;IACH,IAAI,gBAAgB,IAAI,OAAO,GAAG,SAAS,CAE1C;IAED;;;;OAIG;IACI,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,gBAAgB;IAQlE;;;;OAIG;IACH,IAAI,OAAO,IAAI,OAAO,GAAG,SAAS,CAEjC;IAED;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,gBAAgB;IAKxE;;;;OAIG;IACH,IAAI,MAAM,IAAI,eAAe,GAAG,SAAS,CAExC;IAED;;;;;;OAMG;IACI,MAAM,CACX,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,EACrD,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;;;OAMG;IACI,OAAO,CACZ,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,KAAK,CAAC,EACtD,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;;;OAMG;IACI,OAAO,CACZ,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,KAAK,CAAC,EACtD,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;;;OAMG;IACI,SAAS,CACd,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,OAAO,CAAC,EACxD,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;;;OAMG;IACI,OAAO,CACZ,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,KAAK,CAAC,EACtD,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;;;OAMG;IACI,WAAW,CAChB,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,SAAS,CAAC,EAC1D,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;OAIG;IACI,KAAK,IAAI,SAAS;IAIzB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;CAsBpB"}
|
|
@@ -30,7 +30,7 @@ var WebsocketBuilder = /** @class */ (function () {
|
|
|
30
30
|
/**
|
|
31
31
|
* Creates a new WebsocketBuilder.
|
|
32
32
|
*
|
|
33
|
-
* @param url the url to connect to
|
|
33
|
+
* @param url the url to connect to, or a function that returns a URL
|
|
34
34
|
*/
|
|
35
35
|
function WebsocketBuilder(url) {
|
|
36
36
|
this._url = url;
|
|
@@ -39,7 +39,7 @@ var WebsocketBuilder = /** @class */ (function () {
|
|
|
39
39
|
/**
|
|
40
40
|
* Getter for the url.
|
|
41
41
|
*
|
|
42
|
-
* @returns the url
|
|
42
|
+
* @returns the url or url provider
|
|
43
43
|
*/
|
|
44
44
|
get: function () {
|
|
45
45
|
return this._url;
|
|
@@ -92,9 +92,9 @@ var WebsocketBuilder = /** @class */ (function () {
|
|
|
92
92
|
configurable: true
|
|
93
93
|
});
|
|
94
94
|
/**
|
|
95
|
-
* Sets
|
|
95
|
+
* Sets whether to reconnect immediately after a connection has been lost, ignoring the backoff strategy for the first retry.
|
|
96
96
|
*
|
|
97
|
-
* @param instantReconnect
|
|
97
|
+
* @param instantReconnect whether to reconnect immediately after a connection has been lost
|
|
98
98
|
*/
|
|
99
99
|
WebsocketBuilder.prototype.withInstantReconnect = function (instantReconnect) {
|
|
100
100
|
var _a;
|
|
@@ -103,9 +103,9 @@ var WebsocketBuilder = /** @class */ (function () {
|
|
|
103
103
|
};
|
|
104
104
|
Object.defineProperty(WebsocketBuilder.prototype, "instantReconnect", {
|
|
105
105
|
/**
|
|
106
|
-
* Getter for
|
|
106
|
+
* Getter for whether to reconnect immediately after a connection has been lost, ignoring the backoff strategy for the first retry.
|
|
107
107
|
*
|
|
108
|
-
* @returns
|
|
108
|
+
* @returns whether to reconnect immediately after a connection has been lost, undefined if no value has been set
|
|
109
109
|
*/
|
|
110
110
|
get: function () {
|
|
111
111
|
var _a, _b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket_builder.js","sourceRoot":"","sources":["../../../src/websocket_builder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,qDAI2B;AAC3B,
|
|
1
|
+
{"version":3,"file":"websocket_builder.js","sourceRoot":"","sources":["../../../src/websocket_builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,19 +2,30 @@ import { Websocket } from "./websocket";
|
|
|
2
2
|
/**
|
|
3
3
|
* Events that can be fired by the websocket.
|
|
4
4
|
*/
|
|
5
|
-
export declare
|
|
5
|
+
export declare const WebsocketEvent: {
|
|
6
6
|
/** Fired when the connection is opened. */
|
|
7
|
-
open
|
|
7
|
+
readonly open: "open";
|
|
8
8
|
/** Fired when the connection is closed. */
|
|
9
|
-
close
|
|
9
|
+
readonly close: "close";
|
|
10
10
|
/** Fired when the connection has been closed because of an error, such as when some data couldn't be sent. */
|
|
11
|
-
error
|
|
11
|
+
readonly error: "error";
|
|
12
12
|
/** Fired when a message is received. */
|
|
13
|
-
message
|
|
13
|
+
readonly message: "message";
|
|
14
14
|
/** Fired when the websocket tries to reconnect after a connection loss. */
|
|
15
|
-
retry
|
|
15
|
+
readonly retry: "retry";
|
|
16
16
|
/** Fired when the websocket successfully reconnects after a connection loss. */
|
|
17
|
-
reconnect
|
|
17
|
+
readonly reconnect: "reconnect";
|
|
18
|
+
};
|
|
19
|
+
/** Union of all event type strings, allowing plain strings like "open" as event types. */
|
|
20
|
+
export type WebsocketEvent = (typeof WebsocketEvent)[keyof typeof WebsocketEvent];
|
|
21
|
+
/** Provides member types (e.g. WebsocketEvent.open) for use as generic type arguments. */
|
|
22
|
+
export declare namespace WebsocketEvent {
|
|
23
|
+
type open = typeof WebsocketEvent.open;
|
|
24
|
+
type close = typeof WebsocketEvent.close;
|
|
25
|
+
type error = typeof WebsocketEvent.error;
|
|
26
|
+
type message = typeof WebsocketEvent.message;
|
|
27
|
+
type retry = typeof WebsocketEvent.retry;
|
|
28
|
+
type reconnect = typeof WebsocketEvent.reconnect;
|
|
18
29
|
}
|
|
19
30
|
/***
|
|
20
31
|
* Details/properties of a retry-event.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket_event.d.ts","sourceRoot":"","sources":["../../../src/websocket_event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"websocket_event.d.ts","sourceRoot":"","sources":["../../../src/websocket_event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,cAAc;IACzB,2CAA2C;;IAG3C,2CAA2C;;IAG3C,8GAA8G;;IAG9G,wCAAwC;;IAGxC,2EAA2E;;IAG3E,gFAAgF;;CAExE,CAAC;AAEX,0FAA0F;AAC1F,MAAM,MAAM,cAAc,GACxB,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEvD,0FAA0F;AAE1F,yBAAiB,cAAc,CAAC;IAC9B,KAAY,IAAI,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;IAC9C,KAAY,KAAK,GAAG,OAAO,cAAc,CAAC,KAAK,CAAC;IAChD,KAAY,KAAK,GAAG,OAAO,cAAc,CAAC,KAAK,CAAC;IAChD,KAAY,OAAO,GAAG,OAAO,cAAc,CAAC,OAAO,CAAC;IACpD,KAAY,KAAK,GAAG,OAAO,cAAc,CAAC,KAAK,CAAC;IAChD,KAAY,SAAS,GAAG,OAAO,cAAc,CAAC,SAAS,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,2GAA2G;IAC3G,QAAQ,CAAC,cAAc,EAAE,IAAI,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IAC7B,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnC,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAC9B,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IACvC,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAC;CAC/D,CAAC;AAEF;;KAEK;AACL,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,cAAc,IAAI,CAC7D,QAAQ,EAAE,SAAS,EACnB,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC,KACrB,OAAO,CAAC;AAEb,MAAM,MAAM,4BAA4B,CAAC,CAAC,SAAS,cAAc,IAAI,UAAU,CAC7E,sBAAsB,CAAC,CAAC,CAAC,CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,oBAAoB,GAC9D,uBAAuB,CAAC;AAE1B;;GAEG;AACH,MAAM,MAAM,iCAAiC,CAAC,CAAC,SAAS,cAAc,IAAI;IACxE,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,6BAA6B,CAAC;CAClD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;KACnC,CAAC,IAAI,cAAc,GAAG,iCAAiC,CAAC,CAAC,CAAC,EAAE;CAC9D,CAAC"}
|
|
@@ -4,19 +4,18 @@ exports.WebsocketEvent = void 0;
|
|
|
4
4
|
/**
|
|
5
5
|
* Events that can be fired by the websocket.
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
(function (WebsocketEvent) {
|
|
7
|
+
exports.WebsocketEvent = {
|
|
9
8
|
/** Fired when the connection is opened. */
|
|
10
|
-
|
|
9
|
+
open: "open",
|
|
11
10
|
/** Fired when the connection is closed. */
|
|
12
|
-
|
|
11
|
+
close: "close",
|
|
13
12
|
/** Fired when the connection has been closed because of an error, such as when some data couldn't be sent. */
|
|
14
|
-
|
|
13
|
+
error: "error",
|
|
15
14
|
/** Fired when a message is received. */
|
|
16
|
-
|
|
15
|
+
message: "message",
|
|
17
16
|
/** Fired when the websocket tries to reconnect after a connection loss. */
|
|
18
|
-
|
|
17
|
+
retry: "retry",
|
|
19
18
|
/** Fired when the websocket successfully reconnects after a connection loss. */
|
|
20
|
-
|
|
21
|
-
}
|
|
19
|
+
reconnect: "reconnect",
|
|
20
|
+
};
|
|
22
21
|
//# sourceMappingURL=websocket_event.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket_event.js","sourceRoot":"","sources":["../../../src/websocket_event.ts"],"names":[],"mappings":";;;AAEA;;GAEG;
|
|
1
|
+
{"version":3,"file":"websocket_event.js","sourceRoot":"","sources":["../../../src/websocket_event.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,cAAc,GAAG;IAC5B,2CAA2C;IAC3C,IAAI,EAAE,MAAM;IAEZ,2CAA2C;IAC3C,KAAK,EAAE,OAAO;IAEd,8GAA8G;IAC9G,KAAK,EAAE,OAAO;IAEd,wCAAwC;IACxC,OAAO,EAAE,SAAS;IAElB,2EAA2E;IAC3E,KAAK,EAAE,OAAO;IAEd,gFAAgF;IAChF,SAAS,EAAE,WAAW;CACd,CAAC"}
|