cdsclient-lib 0.0.2 → 0.0.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.
- package/README.md +19 -20
- package/dist/lib/cjs/client.d.ts +304 -0
- package/dist/lib/cjs/client.js +916 -0
- package/dist/lib/cjs/client.js.map +1 -0
- package/dist/lib/cjs/enums.d.ts +23 -0
- package/dist/lib/cjs/enums.js +28 -0
- package/dist/lib/cjs/enums.js.map +1 -0
- package/dist/lib/cjs/errors.d.ts +20 -0
- package/dist/lib/cjs/errors.js +25 -0
- package/dist/lib/cjs/errors.js.map +1 -0
- package/dist/lib/cjs/event/channelstates.d.ts +24 -0
- package/dist/lib/cjs/event/channelstates.js +28 -0
- package/dist/lib/cjs/event/channelstates.js.map +1 -0
- package/dist/lib/cjs/event/eventprovider.d.ts +40 -0
- package/dist/lib/cjs/event/eventprovider.js +62 -0
- package/dist/lib/cjs/event/eventprovider.js.map +1 -0
- package/dist/lib/cjs/event/events.d.ts +32 -0
- package/dist/lib/cjs/event/events.js +38 -0
- package/dist/lib/cjs/event/events.js.map +1 -0
- package/dist/lib/cjs/index.d.ts +23 -0
- package/dist/lib/cjs/index.js +68 -0
- package/dist/lib/cjs/index.js.map +1 -0
- package/dist/lib/cjs/interfaces.d.ts +162 -0
- package/dist/lib/cjs/interfaces.js +20 -0
- package/dist/lib/cjs/interfaces.js.map +1 -0
- package/dist/lib/cjs/models.d.ts +198 -0
- package/dist/lib/cjs/models.js +234 -0
- package/dist/lib/cjs/models.js.map +1 -0
- package/dist/lib/cjs/wsclient.d.ts +99 -0
- package/dist/lib/cjs/wsclient.js +330 -0
- package/dist/lib/cjs/wsclient.js.map +1 -0
- package/dist/lib/es6/client.d.ts +304 -0
- package/dist/lib/es6/client.js +876 -0
- package/dist/lib/es6/client.js.map +1 -0
- package/dist/lib/es6/enums.d.ts +23 -0
- package/dist/lib/es6/enums.js +25 -0
- package/dist/lib/es6/enums.js.map +1 -0
- package/dist/lib/es6/errors.d.ts +20 -0
- package/dist/lib/es6/errors.js +25 -0
- package/dist/lib/es6/errors.js.map +1 -0
- package/dist/lib/es6/event/channelstates.d.ts +24 -0
- package/dist/lib/es6/event/channelstates.js +25 -0
- package/dist/lib/es6/event/channelstates.js.map +1 -0
- package/dist/lib/es6/event/eventprovider.d.ts +40 -0
- package/dist/lib/es6/event/eventprovider.js +57 -0
- package/dist/lib/es6/event/eventprovider.js.map +1 -0
- package/dist/lib/es6/event/events.d.ts +32 -0
- package/dist/lib/es6/event/events.js +35 -0
- package/dist/lib/es6/event/events.js.map +1 -0
- package/dist/lib/es6/index.d.ts +23 -0
- package/dist/lib/es6/index.js +23 -0
- package/dist/lib/es6/index.js.map +1 -0
- package/dist/lib/es6/interfaces.d.ts +162 -0
- package/dist/lib/es6/interfaces.js +19 -0
- package/dist/lib/es6/interfaces.js.map +1 -0
- package/dist/lib/es6/models.d.ts +198 -0
- package/dist/lib/es6/models.js +201 -0
- package/dist/lib/es6/models.js.map +1 -0
- package/dist/lib/es6/wsclient.d.ts +99 -0
- package/dist/lib/es6/wsclient.js +292 -0
- package/dist/lib/es6/wsclient.js.map +1 -0
- package/package.json +28 -14
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright © 2024 Rajdeep Rath. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* This codebase is open-source and provided for use exclusively with the Cloudisense platform,
|
|
5
|
+
* as governed by its End-User License Agreement (EULA). Unauthorized use, reproduction,
|
|
6
|
+
* or distribution of this code outside of the Cloudisense ecosystem is strictly prohibited.
|
|
7
|
+
*
|
|
8
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
* You may not use this file except in compliance with the License.
|
|
10
|
+
* A copy of the License is available at:
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* This code may include third-party open-source libraries subject to their respective licenses.
|
|
14
|
+
* Such licenses are referenced in the source files or accompanying documentation.
|
|
15
|
+
*
|
|
16
|
+
* For questions or permissions beyond the scope of this notice, please contact Rajdeep Rath.
|
|
17
|
+
*/
|
|
18
|
+
import { IServiceSocket, ISocketServiceObject } from "./interfaces";
|
|
19
|
+
import { ChannelEventProvider } from "./event/eventprovider";
|
|
20
|
+
declare const Deferred: any;
|
|
21
|
+
export declare class RequestRecord {
|
|
22
|
+
defer: typeof Deferred;
|
|
23
|
+
timestamp: number;
|
|
24
|
+
constructor(defer: typeof Deferred, timestamp: number);
|
|
25
|
+
}
|
|
26
|
+
export declare class WSClient extends ChannelEventProvider implements IServiceSocket {
|
|
27
|
+
host: string;
|
|
28
|
+
port: number;
|
|
29
|
+
authtoken: string;
|
|
30
|
+
queryparams?: string | undefined;
|
|
31
|
+
private _connectTimeout;
|
|
32
|
+
private _connected;
|
|
33
|
+
private _wsEndPoint;
|
|
34
|
+
private _client;
|
|
35
|
+
private _disconnectFlag;
|
|
36
|
+
private _requests;
|
|
37
|
+
private _cleanupId;
|
|
38
|
+
constructor(config: ISocketServiceObject);
|
|
39
|
+
private getSocketEndPoint;
|
|
40
|
+
/**
|
|
41
|
+
* Returns host IP/address of the socket endpoint
|
|
42
|
+
* @returns IP/hostname
|
|
43
|
+
*/
|
|
44
|
+
getHost(): string;
|
|
45
|
+
/**
|
|
46
|
+
* Returns port number for websocket client
|
|
47
|
+
* @returns port number
|
|
48
|
+
*/
|
|
49
|
+
getPort(): number;
|
|
50
|
+
/**
|
|
51
|
+
* Connects websocket service to backend
|
|
52
|
+
*
|
|
53
|
+
* @returns Promise which is resolved when connection is successful else rejected
|
|
54
|
+
*
|
|
55
|
+
*/
|
|
56
|
+
connectService(): Promise<any>;
|
|
57
|
+
/**
|
|
58
|
+
* Disconnects websocket on demand and cleans the websocket object + handlers
|
|
59
|
+
*/
|
|
60
|
+
disconnectService(): void;
|
|
61
|
+
/**
|
|
62
|
+
* Clears up websocket callback handlers
|
|
63
|
+
*/
|
|
64
|
+
private _clear_handlers;
|
|
65
|
+
/**
|
|
66
|
+
* Checks to see whether socket is conencted or not.
|
|
67
|
+
* @returns true is socket is conencted, false otherwise
|
|
68
|
+
*/
|
|
69
|
+
is_connected(): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Builds JSON request format for RPC with Cloudisense backend
|
|
72
|
+
*
|
|
73
|
+
* @param requestid
|
|
74
|
+
* @param intent
|
|
75
|
+
* @param params
|
|
76
|
+
* @returns
|
|
77
|
+
*/
|
|
78
|
+
private buildRequest;
|
|
79
|
+
/**
|
|
80
|
+
* Makes RPC request to server with an intent and parameter map
|
|
81
|
+
* `
|
|
82
|
+
* @param methodName
|
|
83
|
+
* @param params
|
|
84
|
+
*/
|
|
85
|
+
doRPC(intent: string, params?: object): Promise<any>;
|
|
86
|
+
/**
|
|
87
|
+
* Cleans up old/delayed requests from the requests queue
|
|
88
|
+
* by looking up request timestamp. Requests are thereby rejected
|
|
89
|
+
* with a timeout error.
|
|
90
|
+
*/
|
|
91
|
+
private cleanup_requests;
|
|
92
|
+
/**
|
|
93
|
+
* Determined whether a RPC was successful or not and accordingly
|
|
94
|
+
* resolves or rejects the client promise
|
|
95
|
+
* @param response
|
|
96
|
+
*/
|
|
97
|
+
private resolve_request;
|
|
98
|
+
}
|
|
99
|
+
export {};
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright © 2024 Rajdeep Rath. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* This codebase is open-source and provided for use exclusively with the Cloudisense platform,
|
|
6
|
+
* as governed by its End-User License Agreement (EULA). Unauthorized use, reproduction,
|
|
7
|
+
* or distribution of this code outside of the Cloudisense ecosystem is strictly prohibited.
|
|
8
|
+
*
|
|
9
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10
|
+
* You may not use this file except in compliance with the License.
|
|
11
|
+
* A copy of the License is available at:
|
|
12
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
*
|
|
14
|
+
* This code may include third-party open-source libraries subject to their respective licenses.
|
|
15
|
+
* Such licenses are referenced in the source files or accompanying documentation.
|
|
16
|
+
*
|
|
17
|
+
* For questions or permissions beyond the scope of this notice, please contact Rajdeep Rath.
|
|
18
|
+
*/
|
|
19
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
20
|
+
if (k2 === undefined) k2 = k;
|
|
21
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
22
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
23
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
24
|
+
}
|
|
25
|
+
Object.defineProperty(o, k2, desc);
|
|
26
|
+
}) : (function(o, m, k, k2) {
|
|
27
|
+
if (k2 === undefined) k2 = k;
|
|
28
|
+
o[k2] = m[k];
|
|
29
|
+
}));
|
|
30
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
31
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
32
|
+
}) : function(o, v) {
|
|
33
|
+
o["default"] = v;
|
|
34
|
+
});
|
|
35
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
36
|
+
var ownKeys = function(o) {
|
|
37
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
38
|
+
var ar = [];
|
|
39
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
40
|
+
return ar;
|
|
41
|
+
};
|
|
42
|
+
return ownKeys(o);
|
|
43
|
+
};
|
|
44
|
+
return function (mod) {
|
|
45
|
+
if (mod && mod.__esModule) return mod;
|
|
46
|
+
var result = {};
|
|
47
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
48
|
+
__setModuleDefault(result, mod);
|
|
49
|
+
return result;
|
|
50
|
+
};
|
|
51
|
+
})();
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
exports.WSClient = exports.RequestRecord = void 0;
|
|
54
|
+
const nanoid_1 = require("nanoid");
|
|
55
|
+
const eventprovider_1 = require("./event/eventprovider");
|
|
56
|
+
const CHANNEL_STATES = __importStar(require("./event/channelstates"));
|
|
57
|
+
const Deferred = require('promise-deferred');
|
|
58
|
+
//var deferred = new Deferred();
|
|
59
|
+
const REQUEST_DELAYED_TIME_MILLISECONDS = 10000;
|
|
60
|
+
class RequestRecord {
|
|
61
|
+
constructor(defer, timestamp) {
|
|
62
|
+
this.defer = defer;
|
|
63
|
+
this.timestamp = timestamp;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.RequestRecord = RequestRecord;
|
|
67
|
+
class WSClient extends eventprovider_1.ChannelEventProvider {
|
|
68
|
+
constructor(config) {
|
|
69
|
+
super();
|
|
70
|
+
this._connectTimeout = 5000;
|
|
71
|
+
this._connected = false;
|
|
72
|
+
this._disconnectFlag = false;
|
|
73
|
+
this._requests = new Map();
|
|
74
|
+
this.host = config.host;
|
|
75
|
+
this.port = config.port;
|
|
76
|
+
this.authtoken = config.authtoken;
|
|
77
|
+
this._wsEndPoint = "ws" + "://" + this.host + ":" + this.port + "/" + "ws" + "?" + "token=" + this.authtoken;
|
|
78
|
+
/* Auto cleanup */
|
|
79
|
+
this._cleanupId = setInterval(() => this.cleanup_requests(), 30000);
|
|
80
|
+
}
|
|
81
|
+
getSocketEndPoint() {
|
|
82
|
+
return this._wsEndPoint;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Returns host IP/address of the socket endpoint
|
|
86
|
+
* @returns IP/hostname
|
|
87
|
+
*/
|
|
88
|
+
getHost() {
|
|
89
|
+
return this.host;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Returns port number for websocket client
|
|
93
|
+
* @returns port number
|
|
94
|
+
*/
|
|
95
|
+
getPort() {
|
|
96
|
+
return this.port;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Connects websocket service to backend
|
|
100
|
+
*
|
|
101
|
+
* @returns Promise which is resolved when connection is successful else rejected
|
|
102
|
+
*
|
|
103
|
+
*/
|
|
104
|
+
connectService() {
|
|
105
|
+
return new Promise((resolve, reject) => {
|
|
106
|
+
let resolved = false;
|
|
107
|
+
if (!this.is_connected()) {
|
|
108
|
+
if (this._client === undefined) {
|
|
109
|
+
this._client = new WebSocket(this._wsEndPoint);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Handle socket error
|
|
113
|
+
*/
|
|
114
|
+
this._client.onerror = (error) => {
|
|
115
|
+
this._connected = false;
|
|
116
|
+
this._onChannelState.dispatch(CHANNEL_STATES.STATE_CHANNEL_ERROR);
|
|
117
|
+
console.error('Socket Error: ' + error.toString());
|
|
118
|
+
if (!resolved) {
|
|
119
|
+
reject(error);
|
|
120
|
+
resolved = true;
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Handle socket connect
|
|
125
|
+
*/
|
|
126
|
+
this._client.onopen = (e) => {
|
|
127
|
+
this._onChannelState.dispatch(CHANNEL_STATES.STATE_CHANNEL_CONNECTED);
|
|
128
|
+
this._connected = true;
|
|
129
|
+
if (!resolved) {
|
|
130
|
+
resolve(this);
|
|
131
|
+
resolved = true;
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Handle socket close
|
|
136
|
+
*/
|
|
137
|
+
this._client.onclose = (event) => {
|
|
138
|
+
this._connected = false;
|
|
139
|
+
if (this._disconnectFlag && event.wasClean) {
|
|
140
|
+
this._onChannelState.dispatch(CHANNEL_STATES.STATE_CHANNEL_DISCONNECTED);
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
this._onChannelState.dispatch(CHANNEL_STATES.STATE_CHANNEL_CONNECTION_LOST);
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
/**
|
|
147
|
+
* Handle socket message
|
|
148
|
+
*/
|
|
149
|
+
this._client.onmessage = (event) => {
|
|
150
|
+
if (typeof event.data === "string") {
|
|
151
|
+
const message = event.data;
|
|
152
|
+
console.debug("Received: '" + message + "'");
|
|
153
|
+
try {
|
|
154
|
+
let data = JSON.parse(message);
|
|
155
|
+
if (data.hasOwnProperty('type') && data["type"] == "rpc") {
|
|
156
|
+
this.resolve_request(data);
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
this._onChannelData.dispatch(data);
|
|
160
|
+
this._onChannelState.dispatch(CHANNEL_STATES.STATE_CHANNEL_DATA);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
catch (e) {
|
|
164
|
+
throw new TypeError("Unexpected message type (not JSON) : " + String(e));
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
else if (event.data instanceof Blob) {
|
|
168
|
+
throw new TypeError("Invalid message type [Blob]");
|
|
169
|
+
}
|
|
170
|
+
else if (event.data instanceof ArrayBuffer) {
|
|
171
|
+
throw new TypeError("Invalid message type [ArrayBuffer]");
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
setTimeout(() => {
|
|
175
|
+
if (!resolved) {
|
|
176
|
+
reject("Connect timeout");
|
|
177
|
+
resolved = true;
|
|
178
|
+
}
|
|
179
|
+
}, this._connectTimeout);
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Disconnects websocket on demand and cleans the websocket object + handlers
|
|
185
|
+
*/
|
|
186
|
+
disconnectService() {
|
|
187
|
+
if (this.is_connected()) {
|
|
188
|
+
// use flag to see if disconnect was requested or automatic
|
|
189
|
+
this._disconnectFlag = true;
|
|
190
|
+
setTimeout(() => {
|
|
191
|
+
this._disconnectFlag = false;
|
|
192
|
+
}, 3000);
|
|
193
|
+
try {
|
|
194
|
+
this._client.close();
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
throw error;
|
|
198
|
+
}
|
|
199
|
+
finally {
|
|
200
|
+
this._clear_handlers();
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
throw new Error("socket is not connected");
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Clears up websocket callback handlers
|
|
209
|
+
*/
|
|
210
|
+
_clear_handlers() {
|
|
211
|
+
if (this._client != null && this._client != undefined) {
|
|
212
|
+
this._client.onmessage = null;
|
|
213
|
+
this._client.onopen = null;
|
|
214
|
+
this._client.onerror = null;
|
|
215
|
+
this._client.onclose = null;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Checks to see whether socket is conencted or not.
|
|
220
|
+
* @returns true is socket is conencted, false otherwise
|
|
221
|
+
*/
|
|
222
|
+
is_connected() {
|
|
223
|
+
if (this._connected === undefined) {
|
|
224
|
+
return false;
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
return this._connected;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Builds JSON request format for RPC with Cloudisense backend
|
|
232
|
+
*
|
|
233
|
+
* @param requestid
|
|
234
|
+
* @param intent
|
|
235
|
+
* @param params
|
|
236
|
+
* @returns
|
|
237
|
+
*/
|
|
238
|
+
buildRequest(requestid, intent, params) {
|
|
239
|
+
return {
|
|
240
|
+
"requestid": requestid,
|
|
241
|
+
"intent": intent,
|
|
242
|
+
"type": "rpc",
|
|
243
|
+
"params": params
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Makes RPC request to server with an intent and parameter map
|
|
248
|
+
* `
|
|
249
|
+
* @param methodName
|
|
250
|
+
* @param params
|
|
251
|
+
*/
|
|
252
|
+
doRPC(intent, params) {
|
|
253
|
+
if (params == undefined || params == null) {
|
|
254
|
+
params = {};
|
|
255
|
+
}
|
|
256
|
+
let requestid = (0, nanoid_1.nanoid)();
|
|
257
|
+
let request = this.buildRequest(requestid, intent, params);
|
|
258
|
+
let deferred = new Deferred();
|
|
259
|
+
let record = new RequestRecord(deferred, new Date().getUTCMilliseconds());
|
|
260
|
+
if (this.is_connected()) {
|
|
261
|
+
try {
|
|
262
|
+
setTimeout(() => {
|
|
263
|
+
this._client.send(JSON.stringify(request));
|
|
264
|
+
}, 10);
|
|
265
|
+
}
|
|
266
|
+
catch (err) {
|
|
267
|
+
console.error("Unable to send request");
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
console.error("Socket is not connected");
|
|
272
|
+
}
|
|
273
|
+
;
|
|
274
|
+
this._requests.set(requestid, record);
|
|
275
|
+
return deferred.promise;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Cleans up old/delayed requests from the requests queue
|
|
279
|
+
* by looking up request timestamp. Requests are thereby rejected
|
|
280
|
+
* with a timeout error.
|
|
281
|
+
*/
|
|
282
|
+
cleanup_requests() {
|
|
283
|
+
const now = new Date().getUTCMilliseconds();
|
|
284
|
+
this._requests.forEach((value, requestid, map) => {
|
|
285
|
+
const record = value;
|
|
286
|
+
const request_timestamp = record.timestamp;
|
|
287
|
+
if (now - request_timestamp > REQUEST_DELAYED_TIME_MILLISECONDS) {
|
|
288
|
+
try {
|
|
289
|
+
const defer = record.defer;
|
|
290
|
+
defer.reject("RPC Timed out");
|
|
291
|
+
}
|
|
292
|
+
catch (e) {
|
|
293
|
+
console.error(e);
|
|
294
|
+
}
|
|
295
|
+
finally {
|
|
296
|
+
map.delete(requestid);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Determined whether a RPC was successful or not and accordingly
|
|
303
|
+
* resolves or rejects the client promise
|
|
304
|
+
* @param response
|
|
305
|
+
*/
|
|
306
|
+
resolve_request(response) {
|
|
307
|
+
var _a;
|
|
308
|
+
let requestid = response["requestid"];
|
|
309
|
+
try {
|
|
310
|
+
let response_timestamp = response["timestamp"];
|
|
311
|
+
let def = (_a = this._requests.get(requestid)) === null || _a === void 0 ? void 0 : _a.defer;
|
|
312
|
+
if (response["status"] == "success") {
|
|
313
|
+
let data = response["data"];
|
|
314
|
+
def.resolve(data);
|
|
315
|
+
}
|
|
316
|
+
else if (response["status"] == "error") {
|
|
317
|
+
let error_message = response["message"];
|
|
318
|
+
def.reject(error_message);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
catch (e) {
|
|
322
|
+
console.error("Error processing request");
|
|
323
|
+
}
|
|
324
|
+
finally {
|
|
325
|
+
this._requests.delete(requestid);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
exports.WSClient = WSClient;
|
|
330
|
+
//# sourceMappingURL=wsclient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wsclient.js","sourceRoot":"","sources":["../../../src/wsclient.ts"],"names":[],"mappings":"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"}
|