stayge-ws-client-sdk 0.1.2 → 0.1.4

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.
@@ -35,14 +35,16 @@ var WebSocketClientImpl = class {
35
35
  this.onDisconnectCallback = null;
36
36
  this.onMessageCallback = null;
37
37
  this.reconnectAttempts = 0;
38
- this.isConnected = false;
39
38
  }
40
39
  connect() {
41
40
  this.ws = new WebSocket(this.url);
42
41
  this.ws.onopen = () => {
43
42
  console.log("WebSocketClient:onopen");
44
- this.isConnected = true;
45
43
  this.reconnectAttempts = 0;
44
+ if (!this.ws) {
45
+ console.error("WebSocketClient:onopen: ws is null");
46
+ return;
47
+ }
46
48
  if (this.onConnectCallback) {
47
49
  this.onConnectCallback();
48
50
  }
@@ -73,7 +75,6 @@ var WebSocketClientImpl = class {
73
75
  console.log("WebSocketClient:disconnect");
74
76
  this.ws?.close();
75
77
  this.ws = null;
76
- this.isConnected = false;
77
78
  }
78
79
  subscribe(topic) {
79
80
  console.log("WebSocketClient:subscribe");
@@ -104,10 +105,6 @@ var WebSocketClientImpl = class {
104
105
  }
105
106
  reconnect() {
106
107
  console.log("WebSocketClient:reconnect");
107
- if (this.isConnected && this.onDisconnectCallback) {
108
- this.onDisconnectCallback();
109
- }
110
- this.isConnected = false;
111
108
  const delay = Math.min(1e3 * Math.pow(2, this.reconnectAttempts), 1e4);
112
109
  this.reconnectAttempts++;
113
110
  setTimeout(() => {
@@ -9,14 +9,16 @@ var WebSocketClientImpl = class {
9
9
  this.onDisconnectCallback = null;
10
10
  this.onMessageCallback = null;
11
11
  this.reconnectAttempts = 0;
12
- this.isConnected = false;
13
12
  }
14
13
  connect() {
15
14
  this.ws = new WebSocket(this.url);
16
15
  this.ws.onopen = () => {
17
16
  console.log("WebSocketClient:onopen");
18
- this.isConnected = true;
19
17
  this.reconnectAttempts = 0;
18
+ if (!this.ws) {
19
+ console.error("WebSocketClient:onopen: ws is null");
20
+ return;
21
+ }
20
22
  if (this.onConnectCallback) {
21
23
  this.onConnectCallback();
22
24
  }
@@ -47,7 +49,6 @@ var WebSocketClientImpl = class {
47
49
  console.log("WebSocketClient:disconnect");
48
50
  this.ws?.close();
49
51
  this.ws = null;
50
- this.isConnected = false;
51
52
  }
52
53
  subscribe(topic) {
53
54
  console.log("WebSocketClient:subscribe");
@@ -78,10 +79,6 @@ var WebSocketClientImpl = class {
78
79
  }
79
80
  reconnect() {
80
81
  console.log("WebSocketClient:reconnect");
81
- if (this.isConnected && this.onDisconnectCallback) {
82
- this.onDisconnectCallback();
83
- }
84
- this.isConnected = false;
85
82
  const delay = Math.min(1e3 * Math.pow(2, this.reconnectAttempts), 1e4);
86
83
  this.reconnectAttempts++;
87
84
  setTimeout(() => {
@@ -35,14 +35,16 @@ var WebSocketClientImpl = class {
35
35
  this.onDisconnectCallback = null;
36
36
  this.onMessageCallback = null;
37
37
  this.reconnectAttempts = 0;
38
- this.isConnected = false;
39
38
  }
40
39
  connect() {
41
40
  this.ws = new WebSocket(this.url);
42
41
  this.ws.onopen = () => {
43
42
  console.log("WebSocketClient:onopen");
44
- this.isConnected = true;
45
43
  this.reconnectAttempts = 0;
44
+ if (!this.ws) {
45
+ console.error("WebSocketClient:onopen: ws is null");
46
+ return;
47
+ }
46
48
  if (this.onConnectCallback) {
47
49
  this.onConnectCallback();
48
50
  }
@@ -73,7 +75,6 @@ var WebSocketClientImpl = class {
73
75
  console.log("WebSocketClient:disconnect");
74
76
  this.ws?.close();
75
77
  this.ws = null;
76
- this.isConnected = false;
77
78
  }
78
79
  subscribe(topic) {
79
80
  console.log("WebSocketClient:subscribe");
@@ -104,10 +105,6 @@ var WebSocketClientImpl = class {
104
105
  }
105
106
  reconnect() {
106
107
  console.log("WebSocketClient:reconnect");
107
- if (this.isConnected && this.onDisconnectCallback) {
108
- this.onDisconnectCallback();
109
- }
110
- this.isConnected = false;
111
108
  const delay = Math.min(1e3 * Math.pow(2, this.reconnectAttempts), 1e4);
112
109
  this.reconnectAttempts++;
113
110
  setTimeout(() => {
@@ -9,14 +9,16 @@ var WebSocketClientImpl = class {
9
9
  this.onDisconnectCallback = null;
10
10
  this.onMessageCallback = null;
11
11
  this.reconnectAttempts = 0;
12
- this.isConnected = false;
13
12
  }
14
13
  connect() {
15
14
  this.ws = new WebSocket(this.url);
16
15
  this.ws.onopen = () => {
17
16
  console.log("WebSocketClient:onopen");
18
- this.isConnected = true;
19
17
  this.reconnectAttempts = 0;
18
+ if (!this.ws) {
19
+ console.error("WebSocketClient:onopen: ws is null");
20
+ return;
21
+ }
20
22
  if (this.onConnectCallback) {
21
23
  this.onConnectCallback();
22
24
  }
@@ -47,7 +49,6 @@ var WebSocketClientImpl = class {
47
49
  console.log("WebSocketClient:disconnect");
48
50
  this.ws?.close();
49
51
  this.ws = null;
50
- this.isConnected = false;
51
52
  }
52
53
  subscribe(topic) {
53
54
  console.log("WebSocketClient:subscribe");
@@ -78,10 +79,6 @@ var WebSocketClientImpl = class {
78
79
  }
79
80
  reconnect() {
80
81
  console.log("WebSocketClient:reconnect");
81
- if (this.isConnected && this.onDisconnectCallback) {
82
- this.onDisconnectCallback();
83
- }
84
- this.isConnected = false;
85
82
  const delay = Math.min(1e3 * Math.pow(2, this.reconnectAttempts), 1e4);
86
83
  this.reconnectAttempts++;
87
84
  setTimeout(() => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stayge-ws-client-sdk",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Stayge WebSocket Client SDK",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",
@@ -11,7 +11,6 @@ export class WebSocketClientImpl implements WebSocketClient {
11
11
  private onMessageCallback: ((message: MessageFromServer) => void) | null =
12
12
  null;
13
13
  private reconnectAttempts = 0;
14
- private isConnected = false;
15
14
 
16
15
  constructor(
17
16
  private url: string,
@@ -24,9 +23,13 @@ export class WebSocketClientImpl implements WebSocketClient {
24
23
 
25
24
  this.ws.onopen = () => {
26
25
  console.log("WebSocketClient:onopen");
27
- this.isConnected = true;
28
26
  this.reconnectAttempts = 0;
29
27
 
28
+ if (!this.ws) {
29
+ console.error("WebSocketClient:onopen: ws is null");
30
+ return;
31
+ }
32
+
30
33
  if (this.onConnectCallback) {
31
34
  this.onConnectCallback();
32
35
  }
@@ -50,6 +53,8 @@ export class WebSocketClientImpl implements WebSocketClient {
50
53
 
51
54
  this.ws.onclose = () => {
52
55
  console.error("WebSocketClient:onclose");
56
+
57
+ // exponential backoff
53
58
  if (this.onDisconnectCallback) {
54
59
  this.onDisconnectCallback();
55
60
  }
@@ -62,7 +67,6 @@ export class WebSocketClientImpl implements WebSocketClient {
62
67
  console.log("WebSocketClient:disconnect");
63
68
  this.ws?.close();
64
69
  this.ws = null;
65
- this.isConnected = false;
66
70
  }
67
71
 
68
72
  subscribe(topic: string) {
@@ -99,13 +103,6 @@ export class WebSocketClientImpl implements WebSocketClient {
99
103
 
100
104
  private reconnect() {
101
105
  console.log("WebSocketClient:reconnect");
102
- if (this.isConnected && this.onDisconnectCallback) {
103
- this.onDisconnectCallback();
104
- }
105
-
106
- this.isConnected = false;
107
-
108
- // exponential backoff
109
106
  const delay = Math.min(1000 * Math.pow(2, this.reconnectAttempts), 10000);
110
107
  this.reconnectAttempts++;
111
108