@casual-simulation/websocket 3.1.14-alpha.3661157217 → 3.2.7-alpha.6777319727
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/ReconnectableSocket.d.ts +7 -2
- package/ReconnectableSocket.js +15 -7
- package/ReconnectableSocket.js.map +1 -1
- package/WebSocketManager.d.ts +1 -1
- package/WebSocketManager.js +11 -11
- package/WebSocketManager.js.map +1 -1
- package/package.json +2 -2
package/ReconnectableSocket.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Observable, Subject } from 'rxjs';
|
|
2
|
-
export
|
|
2
|
+
export type CloseReason = CloseReasonClosed | CloseReasonOther;
|
|
3
3
|
export interface CloseReasonBase {
|
|
4
4
|
reason: string;
|
|
5
5
|
code: number;
|
|
@@ -26,6 +26,10 @@ export interface ReconnectableSocketInterface {
|
|
|
26
26
|
onClose: Observable<CloseReason>;
|
|
27
27
|
onMessage: Observable<MessageEvent>;
|
|
28
28
|
onError: Observable<Event>;
|
|
29
|
+
/**
|
|
30
|
+
* The HTTP origin that the connection is for.
|
|
31
|
+
*/
|
|
32
|
+
get origin(): string;
|
|
29
33
|
send(data: string | ArrayBuffer | ArrayBufferView): void;
|
|
30
34
|
open(): void;
|
|
31
35
|
close(): void;
|
|
@@ -46,8 +50,9 @@ export declare class ReconnectableSocket implements ReconnectableSocketInterface
|
|
|
46
50
|
get onError(): Subject<Event>;
|
|
47
51
|
get onMessage(): Subject<MessageEvent<any>>;
|
|
48
52
|
get socket(): WebSocket;
|
|
53
|
+
get origin(): string;
|
|
49
54
|
send(data: string | ArrayBuffer | ArrayBufferView): void;
|
|
50
|
-
constructor(url: string);
|
|
55
|
+
constructor(url: string | URL);
|
|
51
56
|
open(): void;
|
|
52
57
|
close(): void;
|
|
53
58
|
protected _handleMessage(event: MessageEvent): void;
|
package/ReconnectableSocket.js
CHANGED
|
@@ -3,13 +3,6 @@ import { Subject } from 'rxjs';
|
|
|
3
3
|
* Defines a websocket connection that will automatically try to reconnect if the connection is lost.
|
|
4
4
|
*/
|
|
5
5
|
export class ReconnectableSocket {
|
|
6
|
-
constructor(url) {
|
|
7
|
-
this._onOpen = new Subject();
|
|
8
|
-
this._onClose = new Subject();
|
|
9
|
-
this._onError = new Subject();
|
|
10
|
-
this._onMessage = new Subject();
|
|
11
|
-
this._url = url;
|
|
12
|
-
}
|
|
13
6
|
get onOpen() {
|
|
14
7
|
return this._onOpen;
|
|
15
8
|
}
|
|
@@ -25,9 +18,24 @@ export class ReconnectableSocket {
|
|
|
25
18
|
get socket() {
|
|
26
19
|
return this._socket;
|
|
27
20
|
}
|
|
21
|
+
get origin() {
|
|
22
|
+
return this._url.origin;
|
|
23
|
+
}
|
|
28
24
|
send(data) {
|
|
29
25
|
this._socket.send(data);
|
|
30
26
|
}
|
|
27
|
+
constructor(url) {
|
|
28
|
+
this._onOpen = new Subject();
|
|
29
|
+
this._onClose = new Subject();
|
|
30
|
+
this._onError = new Subject();
|
|
31
|
+
this._onMessage = new Subject();
|
|
32
|
+
if (typeof url === 'string') {
|
|
33
|
+
this._url = new URL(url);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this._url = url;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
31
39
|
open() {
|
|
32
40
|
if (!this._socket ||
|
|
33
41
|
this._socket.readyState === WebSocket.CLOSED ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReconnectableSocket.js","sourceRoot":"","sources":["ReconnectableSocket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ReconnectableSocket.js","sourceRoot":"","sources":["ReconnectableSocket.ts"],"names":[],"mappings":"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"}
|
package/WebSocketManager.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ export declare class SocketManager {
|
|
|
26
26
|
* @param user The user account to use for connecting.
|
|
27
27
|
* @param url The URL to connect to.
|
|
28
28
|
*/
|
|
29
|
-
constructor(url?: string);
|
|
29
|
+
constructor(url?: string | URL);
|
|
30
30
|
init(): void;
|
|
31
31
|
/**
|
|
32
32
|
* Toggles whether the socket manager should be forcing the user's
|
package/WebSocketManager.js
CHANGED
|
@@ -6,17 +6,6 @@ const RECONNECT_TIME = 5000;
|
|
|
6
6
|
* Defines a class that is able to manage the creation and lifecycle of a WebSocket.
|
|
7
7
|
*/
|
|
8
8
|
export class SocketManager {
|
|
9
|
-
/**
|
|
10
|
-
* Creates a new SocketManager.
|
|
11
|
-
* @param user The user account to use for connecting.
|
|
12
|
-
* @param url The URL to connect to.
|
|
13
|
-
*/
|
|
14
|
-
constructor(url) {
|
|
15
|
-
// Whether this manager has forced the user to be offline or not.
|
|
16
|
-
this._forcedOffline = false;
|
|
17
|
-
this._connectionStateChanged = new BehaviorSubject(false);
|
|
18
|
-
this._url = url;
|
|
19
|
-
}
|
|
20
9
|
/**
|
|
21
10
|
* Gets an observable that resolves with the connection state of the socket.
|
|
22
11
|
*/
|
|
@@ -44,6 +33,17 @@ export class SocketManager {
|
|
|
44
33
|
get socket() {
|
|
45
34
|
return this._socket;
|
|
46
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Creates a new SocketManager.
|
|
38
|
+
* @param user The user account to use for connecting.
|
|
39
|
+
* @param url The URL to connect to.
|
|
40
|
+
*/
|
|
41
|
+
constructor(url) {
|
|
42
|
+
// Whether this manager has forced the user to be offline or not.
|
|
43
|
+
this._forcedOffline = false;
|
|
44
|
+
this._connectionStateChanged = new BehaviorSubject(false);
|
|
45
|
+
this._url = url;
|
|
46
|
+
}
|
|
47
47
|
init() {
|
|
48
48
|
console.log('[WebSocketManager] Starting...');
|
|
49
49
|
this._socket = new ReconnectableSocket(this._url);
|
package/WebSocketManager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketManager.js","sourceRoot":"","sources":["WebSocketManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,eAAe,EAAiB,MAAM,MAAM,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,cAAc,GAAG,IAAI,CAAC;AAE5B;;GAEG;AACH,MAAM,OAAO,aAAa;
|
|
1
|
+
{"version":3,"file":"WebSocketManager.js","sourceRoot":"","sources":["WebSocketManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,eAAe,EAAiB,MAAM,MAAM,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,cAAc,GAAG,IAAI,CAAC;AAE5B;;GAEG;AACH,MAAM,OAAO,aAAa;IAStB;;OAEG;IACH,IAAI,sBAAsB;QACtB,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAW,aAAa,CAAC,KAAc;QACnC,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;QAC3C,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;SACxB;aAAM;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACvB;IACL,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,YAAY,GAAkB;QAzC9B,iEAAiE;QACzD,mBAAc,GAAY,KAAK,CAAC;QAyCpC,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IACpB,CAAC;IAED,IAAI;QACA,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,CAAC,OAAO,CAAC,OAAO;aACf,IAAI,CACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,EACjC,YAAY,CAAC,cAAc,CAAC,EAC5B,GAAG,CAAC,GAAG,EAAE;YACL,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC,CAAC,CACL;aACA,SAAS,EAAE,CAAC;QAEjB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YACrC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC7C,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE;YAChC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,kBAAkB;QACd,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;IAC7C,CAAC;CACJ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@casual-simulation/websocket",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.7-alpha.6777319727",
|
|
4
4
|
"description": "Minimal WebSocket implementation",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"author": "Casual Simulation, Inc.",
|
|
@@ -36,5 +36,5 @@
|
|
|
36
36
|
"publishConfig": {
|
|
37
37
|
"access": "public"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "cb79f312a97a8425a573a851f99f1774f50589ff"
|
|
40
40
|
}
|