quidproquo-web 0.0.129 → 0.0.131
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/lib/commonjs/index.js +0 -1
- package/lib/commonjs/services/WebsocketService.d.ts +5 -1
- package/lib/commonjs/services/WebsocketService.js +12 -15
- package/lib/commonjs/services/index.js +0 -1
- package/package.json +1 -1
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/services/WebsocketService.js.map +0 -1
- package/lib/commonjs/services/index.js.map +0 -1
package/lib/commonjs/index.js
CHANGED
|
@@ -7,16 +7,19 @@ export declare enum WebsocketServiceEvent {
|
|
|
7
7
|
export type SubscriptionHandle = {
|
|
8
8
|
type: WebsocketServiceEvent;
|
|
9
9
|
};
|
|
10
|
+
type WebsocketSendPayload = string | ArrayBufferLike | Blob | ArrayBufferView;
|
|
10
11
|
export type WebSocketServiceSubscriptionFunction = (websocketService: WebsocketService, data?: string) => any;
|
|
11
12
|
export declare class WebsocketService {
|
|
12
13
|
private url;
|
|
13
14
|
private socket;
|
|
14
15
|
private eventListeners;
|
|
15
16
|
private isDestroyed;
|
|
17
|
+
private pendingMessages;
|
|
16
18
|
private subscriptions;
|
|
17
19
|
constructor(url: string);
|
|
18
20
|
destroy(): void;
|
|
19
21
|
close(): void;
|
|
22
|
+
isConnected(): boolean;
|
|
20
23
|
subscribe(subscriptionType: WebsocketServiceEvent, callback: WebSocketServiceSubscriptionFunction): SubscriptionHandle;
|
|
21
24
|
unsubscribe(subscriptionHandle: SubscriptionHandle): boolean;
|
|
22
25
|
unsubscribeAll(): void;
|
|
@@ -29,5 +32,6 @@ export declare class WebsocketService {
|
|
|
29
32
|
private onMessage;
|
|
30
33
|
private onError;
|
|
31
34
|
private notifySubscribers;
|
|
32
|
-
send(data:
|
|
35
|
+
send(data: WebsocketSendPayload): void;
|
|
33
36
|
}
|
|
37
|
+
export {};
|
|
@@ -14,6 +14,7 @@ class WebsocketService {
|
|
|
14
14
|
this.socket = null;
|
|
15
15
|
this.eventListeners = {};
|
|
16
16
|
this.isDestroyed = false;
|
|
17
|
+
this.pendingMessages = [];
|
|
17
18
|
this.subscriptions = {
|
|
18
19
|
[WebsocketServiceEvent.OPEN]: new Map(),
|
|
19
20
|
[WebsocketServiceEvent.CLOSE]: new Map(),
|
|
@@ -33,21 +34,15 @@ class WebsocketService {
|
|
|
33
34
|
var _a;
|
|
34
35
|
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.close();
|
|
35
36
|
}
|
|
36
|
-
|
|
37
|
+
isConnected() {
|
|
37
38
|
var _a;
|
|
39
|
+
return ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === WebSocket.OPEN;
|
|
40
|
+
}
|
|
41
|
+
subscribe(subscriptionType, callback) {
|
|
38
42
|
const subscriptionHandle = {
|
|
39
43
|
type: subscriptionType
|
|
40
44
|
};
|
|
41
45
|
this.subscriptions[subscriptionType].set(subscriptionHandle, callback);
|
|
42
|
-
// If we are already open, then call the callback immediately
|
|
43
|
-
if (subscriptionType === WebsocketServiceEvent.OPEN && ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === WebSocket.OPEN) {
|
|
44
|
-
try {
|
|
45
|
-
callback(this);
|
|
46
|
-
}
|
|
47
|
-
catch (e) {
|
|
48
|
-
console.error('Error in Websocket onConnect callback: ', e);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
46
|
return subscriptionHandle;
|
|
52
47
|
}
|
|
53
48
|
unsubscribe(subscriptionHandle) {
|
|
@@ -82,7 +77,6 @@ class WebsocketService {
|
|
|
82
77
|
for (const event in this.eventListeners) {
|
|
83
78
|
if (this.eventListeners.hasOwnProperty(event)) {
|
|
84
79
|
for (const listener of this.eventListeners[event]) {
|
|
85
|
-
console.log('remove', event);
|
|
86
80
|
this.socket.removeEventListener(event, listener);
|
|
87
81
|
}
|
|
88
82
|
}
|
|
@@ -99,8 +93,13 @@ class WebsocketService {
|
|
|
99
93
|
}, 1000);
|
|
100
94
|
}
|
|
101
95
|
onConnect() {
|
|
102
|
-
console.log(`WebSocket connected: ${this.url}`);
|
|
103
96
|
this.notifySubscribers(this.subscriptions.open);
|
|
97
|
+
// Send any pending messages once we are connected
|
|
98
|
+
const messages = this.pendingMessages;
|
|
99
|
+
this.pendingMessages = [];
|
|
100
|
+
messages.forEach((message) => {
|
|
101
|
+
this.send(message);
|
|
102
|
+
});
|
|
104
103
|
}
|
|
105
104
|
onClose() {
|
|
106
105
|
this.removeAllEventListeners();
|
|
@@ -119,14 +118,12 @@ class WebsocketService {
|
|
|
119
118
|
});
|
|
120
119
|
}
|
|
121
120
|
send(data) {
|
|
122
|
-
var _a;
|
|
123
121
|
if (this.socket && this.socket.readyState === WebSocket.OPEN) {
|
|
124
122
|
this.socket.send(data);
|
|
125
123
|
}
|
|
126
124
|
else {
|
|
127
|
-
|
|
125
|
+
this.pendingMessages.push(data);
|
|
128
126
|
}
|
|
129
127
|
}
|
|
130
128
|
}
|
|
131
129
|
exports.WebsocketService = WebsocketService;
|
|
132
|
-
//# sourceMappingURL=WebsocketService.js.map
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WebsocketService.js","sourceRoot":"","sources":["../../../src/services/WebsocketService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC"}
|