velocious 1.0.386 → 1.0.387
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/build/src/http-client/websocket-client.d.ts +9 -359
- package/build/src/http-client/websocket-client.d.ts.map +1 -1
- package/build/src/http-client/websocket-client.js +15 -929
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/build/src/http-client/websocket-channel.d.ts +0 -95
- package/build/src/http-client/websocket-channel.d.ts.map +0 -1
- package/build/src/http-client/websocket-channel.js +0 -164
- package/build/src/http-client/websocket-connection.d.ts +0 -110
- package/build/src/http-client/websocket-connection.d.ts.map +0 -1
- package/build/src/http-client/websocket-connection.js +0 -163
|
@@ -1,365 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Velocious's WebSocket client. The cross-platform connection/session/channel
|
|
3
|
+
* machinery lives in snapreq's `SnapReqWebSocketClient`; this thin subclass only
|
|
4
|
+
* pre-wires the two Velocious-specific defaults: the local development websocket
|
|
5
|
+
* URL and frontend-model transport deserialization inside `response.json()`.
|
|
6
|
+
* @augments SnapReqWebSocketClient
|
|
4
7
|
*/
|
|
5
|
-
export default class VelociousWebsocketClient {
|
|
8
|
+
export default class VelociousWebsocketClient extends SnapReqWebSocketClient {
|
|
6
9
|
/**
|
|
7
|
-
* @param {
|
|
8
|
-
* @param {boolean} [args.autoReconnect] - Enable auto-reconnect with exponential backoff.
|
|
9
|
-
* @param {boolean} [args.debug] - Whether debug.
|
|
10
|
-
* @param {{getIsOnline?: () => boolean | Promise<boolean>, subscribe?: (callback: (isOnline: boolean) => void) => (() => void) | {remove: () => void}}} [args.networkMonitor] - Optional online-state adapter. When provided, auto-reconnect can wait for the network to report online before reconnecting, and open sockets are closed when the monitor reports offline.
|
|
11
|
-
* @param {number[]} [args.reconnectDelays] - Backoff delays in ms (default: [1000, 2000, 4000, 8000, 15000]).
|
|
12
|
-
* @param {{get: () => string | null | undefined | Promise<string | null | undefined>, set: (sessionId: string) => void | Promise<void>, clear: () => void | Promise<void>}} [args.sessionStore] - Optional sessionId persistence hook. When provided, the client writes every `session-established` / `session-resumed` id via `store.set(id)` and clears it on `session-gone`. Before the first `connect()`, the client reads any persisted id via `store.get()` and attempts resumption. Apps should back this by whatever persistence layer survives page reloads (localStorage, a cookie, SQLite, etc.).
|
|
13
|
-
* @param {string} [args.url] Full websocket URL (default: ws://127.0.0.1:3006/websocket)
|
|
10
|
+
* @param {Partial<ConstructorParameters<typeof SnapReqWebSocketClient>[0]>} [args] - Options forwarded to `SnapReqWebSocketClient`.
|
|
14
11
|
*/
|
|
15
|
-
constructor(
|
|
16
|
-
autoReconnect?: boolean | undefined;
|
|
17
|
-
debug?: boolean | undefined;
|
|
18
|
-
networkMonitor?: {
|
|
19
|
-
getIsOnline?: () => boolean | Promise<boolean>;
|
|
20
|
-
subscribe?: (callback: (isOnline: boolean) => void) => (() => void) | {
|
|
21
|
-
remove: () => void;
|
|
22
|
-
};
|
|
23
|
-
} | undefined;
|
|
24
|
-
reconnectDelays?: number[] | undefined;
|
|
25
|
-
sessionStore?: {
|
|
26
|
-
get: () => string | null | undefined | Promise<string | null | undefined>;
|
|
27
|
-
set: (sessionId: string) => void | Promise<void>;
|
|
28
|
-
clear: () => void | Promise<void>;
|
|
29
|
-
} | undefined;
|
|
30
|
-
url?: string | undefined;
|
|
31
|
-
});
|
|
32
|
-
/** @type {Map<string, {reject: (error: unknown) => void, resolve: (response: VelociousWebsocketResponse) => void}>} */
|
|
33
|
-
pendingRequests: Map<string, {
|
|
34
|
-
reject: (error: unknown) => void;
|
|
35
|
-
resolve: (response: VelociousWebsocketResponse) => void;
|
|
36
|
-
}>;
|
|
37
|
-
/** @type {Map<string, {reject: (error: unknown) => void, resolve: (value?: void) => void}>} */
|
|
38
|
-
pendingSubscriptions: Map<string, {
|
|
39
|
-
reject: (error: unknown) => void;
|
|
40
|
-
resolve: (value?: void) => void;
|
|
41
|
-
}>;
|
|
42
|
-
/** @type {Map<string, {callbacks: Set<(payload: any) => void>, channel: string, params: Record<string, any> | undefined, ready: Promise<void>}>} */
|
|
43
|
-
listeners: Map<string, {
|
|
44
|
-
callbacks: Set<(payload: any) => void>;
|
|
45
|
-
channel: string;
|
|
46
|
-
params: Record<string, any> | undefined;
|
|
47
|
-
ready: Promise<void>;
|
|
48
|
-
}>;
|
|
49
|
-
/** @type {boolean} */
|
|
50
|
-
autoReconnect: boolean;
|
|
51
|
-
debug: boolean;
|
|
52
|
-
/** @type {number | null} */
|
|
53
|
-
disconnectedSince: number | null;
|
|
54
|
-
/** @type {number} */
|
|
55
|
-
reconnectAttempt: number;
|
|
56
|
-
/** @type {number} */
|
|
57
|
-
connectionAttempts: number;
|
|
58
|
-
/** @type {number[]} */
|
|
59
|
-
reconnectDelays: number[];
|
|
60
|
-
/** @type {ReturnType<typeof setTimeout> | null} */
|
|
61
|
-
reconnectTimer: ReturnType<typeof setTimeout> | null;
|
|
62
|
-
url: string;
|
|
63
|
-
nextID: number;
|
|
64
|
-
/** @type {(() => void | Promise<void>) | null} */
|
|
65
|
-
onReconnect: (() => void | Promise<void>) | null;
|
|
66
|
-
/** @type {Record<string, any>} */
|
|
67
|
-
_metadata: Record<string, any>;
|
|
68
|
-
/** @type {Map<string, VelociousWebsocketClientConnection>} */
|
|
69
|
-
_connections: Map<string, VelociousWebsocketClientConnection>;
|
|
70
|
-
/** @type {Map<string, VelociousWebsocketClientSubscription>} */
|
|
71
|
-
_channelSubscriptions: Map<string, VelociousWebsocketClientSubscription>;
|
|
72
|
-
_nextConnectionIdSeq: number;
|
|
73
|
-
_nextSubscriptionIdSeq: number;
|
|
74
|
-
/** @type {string | null} - sessionId received from `session-established`; sent on reconnect for resumption. */
|
|
75
|
-
_sessionId: string | null;
|
|
76
|
-
/** @type {boolean} - true between a reconnect and the session-resumed / session-gone reply. */
|
|
77
|
-
_awaitingResume: boolean;
|
|
78
|
-
/** @type {boolean} - true once the current socket has an active session ready for app messages. */
|
|
79
|
-
_sessionReady: boolean;
|
|
80
|
-
/** @type {string | null} - provisional session id announced before a resume attempt finishes. */
|
|
81
|
-
_pendingSessionId: string | null;
|
|
82
|
-
/** @type {Promise<void> | null} */
|
|
83
|
-
_sessionReadyPromise: Promise<void> | null;
|
|
84
|
-
/** @type {(() => void) | null} */
|
|
85
|
-
_resolveSessionReady: (() => void) | null;
|
|
86
|
-
/** @type {unknown | null} */
|
|
87
|
-
_sessionReadyError: unknown | null;
|
|
88
|
-
/** @type {{get: () => string | null | undefined | Promise<string | null | undefined>, set: (sessionId: string) => void | Promise<void>, clear: () => void | Promise<void>} | undefined} */
|
|
89
|
-
_sessionStore: {
|
|
90
|
-
get: () => string | null | undefined | Promise<string | null | undefined>;
|
|
91
|
-
set: (sessionId: string) => void | Promise<void>;
|
|
92
|
-
clear: () => void | Promise<void>;
|
|
93
|
-
} | undefined;
|
|
94
|
-
/** @type {boolean} - true once the sessionStore has been consulted for a restored id. */
|
|
95
|
-
_sessionStoreRestored: boolean;
|
|
96
|
-
/** @type {{getIsOnline?: () => boolean | Promise<boolean>, subscribe?: (callback: (isOnline: boolean) => void) => (() => void) | {remove: () => void}} | undefined} */
|
|
97
|
-
_networkMonitor: {
|
|
98
|
-
getIsOnline?: () => boolean | Promise<boolean>;
|
|
99
|
-
subscribe?: (callback: (isOnline: boolean) => void) => (() => void) | {
|
|
100
|
-
remove: () => void;
|
|
101
|
-
};
|
|
102
|
-
} | undefined;
|
|
103
|
-
/** @type {null | (() => void) | {remove: () => void}} */
|
|
104
|
-
_networkMonitorSubscription: null | (() => void) | {
|
|
105
|
-
remove: () => void;
|
|
106
|
-
};
|
|
107
|
-
/** @type {boolean} */
|
|
108
|
-
_waitingForOnline: boolean;
|
|
109
|
-
/** @returns {boolean} */
|
|
110
|
-
isOpen(): boolean;
|
|
111
|
-
/** @returns {boolean} */
|
|
112
|
-
isSessionReady(): boolean;
|
|
113
|
-
/**
|
|
114
|
-
* Opens a 1:1 `WebsocketConnection` of the given type against the
|
|
115
|
-
* server. Requires the socket to already be connected (call
|
|
116
|
-
* `connect()` first).
|
|
117
|
-
*
|
|
118
|
-
* @param {string} connectionType - Name the server registered the class under.
|
|
119
|
-
* @param {{params?: Record<string, any>, onConnect?: () => void, onMessage?: (body: any) => void, onDisconnect?: () => void, onResume?: () => void, onClose?: (reason: string) => void}} [options]
|
|
120
|
-
* @returns {VelociousWebsocketClientConnection}
|
|
121
|
-
*/
|
|
122
|
-
openConnection(connectionType: string, options?: {
|
|
123
|
-
params?: Record<string, any>;
|
|
124
|
-
onConnect?: () => void;
|
|
125
|
-
onMessage?: (body: any) => void;
|
|
126
|
-
onDisconnect?: () => void;
|
|
127
|
-
onResume?: () => void;
|
|
128
|
-
onClose?: (reason: string) => void;
|
|
129
|
-
}): VelociousWebsocketClientConnection;
|
|
130
|
-
/**
|
|
131
|
-
* Drops a connection handle from the registry. Called by
|
|
132
|
-
* `VelociousWebsocketClientConnection.close()` after it notifies
|
|
133
|
-
* the server, and by the session-destroyed cleanup path.
|
|
134
|
-
*
|
|
135
|
-
* @param {string} connectionId
|
|
136
|
-
* @returns {void}
|
|
137
|
-
*/
|
|
138
|
-
_removeConnection(connectionId: string): void;
|
|
139
|
-
/**
|
|
140
|
-
* Subscribes to a named WebsocketChannel. If the socket is not yet
|
|
141
|
-
* open, the subscription is queued and sent once a connection is
|
|
142
|
-
* established.
|
|
143
|
-
*
|
|
144
|
-
* @param {string} channelType - Name the server registered the channel under.
|
|
145
|
-
* @param {{params?: Record<string, any>, lastEventId?: string, onMessage?: (body: any) => void, onDisconnect?: () => void, onResume?: () => void, onClose?: (reason: string) => void}} [options]
|
|
146
|
-
* @returns {VelociousWebsocketClientSubscription}
|
|
147
|
-
*/
|
|
148
|
-
subscribeChannel(channelType: string, options?: {
|
|
149
|
-
params?: Record<string, any>;
|
|
150
|
-
lastEventId?: string;
|
|
151
|
-
onMessage?: (body: any) => void;
|
|
152
|
-
onDisconnect?: () => void;
|
|
153
|
-
onResume?: () => void;
|
|
154
|
-
onClose?: (reason: string) => void;
|
|
155
|
-
}): VelociousWebsocketClientSubscription;
|
|
156
|
-
/**
|
|
157
|
-
* @param {string} subscriptionId
|
|
158
|
-
* @returns {void}
|
|
159
|
-
*/
|
|
160
|
-
_removeChannelSubscription(subscriptionId: string): void;
|
|
161
|
-
/**
|
|
162
|
-
* @param {VelociousWebsocketClientSubscription} subscription
|
|
163
|
-
* @returns {void}
|
|
164
|
-
*/
|
|
165
|
-
_sendChannelSubscribe(subscription: VelociousWebsocketClientSubscription): void;
|
|
166
|
-
/** @returns {void} */
|
|
167
|
-
_sendPendingChannelSubscriptions(): void;
|
|
168
|
-
/** @returns {Promise<boolean>} */
|
|
169
|
-
_isOnline(): Promise<boolean>;
|
|
170
|
-
/** @returns {Promise<boolean>} */
|
|
171
|
-
_shouldWaitForOnline(): Promise<boolean>;
|
|
172
|
-
/** @returns {void} */
|
|
173
|
-
_ensureNetworkMonitorSubscription(): void;
|
|
174
|
-
/** @returns {void} */
|
|
175
|
-
_teardownNetworkMonitorSubscription(): void;
|
|
176
|
-
/**
|
|
177
|
-
* Sets a global metadata value that is sent to the server.
|
|
178
|
-
* For WebSocket connections, a metadata update message is sent immediately.
|
|
179
|
-
* @param {string} key - Metadata key.
|
|
180
|
-
* @param {any} value - Metadata value (null to clear).
|
|
181
|
-
* @returns {void}
|
|
182
|
-
*/
|
|
183
|
-
setMetadata(key: string, value: any): void;
|
|
184
|
-
/** @returns {Record<string, any>} - Current metadata. */
|
|
185
|
-
getMetadata(): Record<string, any>;
|
|
186
|
-
/**
|
|
187
|
-
* Ensure a websocket connection is open.
|
|
188
|
-
* Auto-reconnect and online gating are enabled by default.
|
|
189
|
-
* Pass `autoReconnect: false` or `waitForOnline: false` only when a caller
|
|
190
|
-
* explicitly needs lower-level behavior.
|
|
191
|
-
* @param {{autoReconnect?: boolean, waitForOnline?: boolean, resetReconnectState?: boolean}} [options]
|
|
192
|
-
* @returns {Promise<void>} - Resolves when complete.
|
|
193
|
-
*/
|
|
194
|
-
connect({ autoReconnect, waitForOnline, resetReconnectState }?: {
|
|
195
|
-
autoReconnect?: boolean;
|
|
196
|
-
waitForOnline?: boolean;
|
|
197
|
-
resetReconnectState?: boolean;
|
|
198
|
-
}): Promise<void>;
|
|
199
|
-
connectPromise: Promise<any> | undefined;
|
|
200
|
-
socket: WebSocket | undefined;
|
|
201
|
-
/**
|
|
202
|
-
* Close the websocket and clear pending state.
|
|
203
|
-
* @returns {Promise<void>} - Resolves when complete.
|
|
204
|
-
*/
|
|
205
|
-
close(): Promise<void>;
|
|
206
|
-
/**
|
|
207
|
-
* Disable auto-reconnect and close the websocket.
|
|
208
|
-
* @returns {Promise<void>} - Resolves when closed.
|
|
209
|
-
*/
|
|
210
|
-
disconnectAndStopReconnect(): Promise<void>;
|
|
211
|
-
/**
|
|
212
|
-
* Close the raw socket without disabling auto-reconnect. Used by tests to
|
|
213
|
-
* simulate an unexpected network drop and verify reconnection behavior.
|
|
214
|
-
* @returns {Promise<void>} - Resolves when the socket has closed.
|
|
215
|
-
*/
|
|
216
|
-
dropConnection(): Promise<void>;
|
|
217
|
-
/**
|
|
218
|
-
* Perform a POST request over the websocket.
|
|
219
|
-
* @param {string} path - Path.
|
|
220
|
-
* @param {any} [body] - Request body.
|
|
221
|
-
* @param {{headers?: Record<string, string>}} [options] - Request options such as headers.
|
|
222
|
-
* @returns {Promise<VelociousWebsocketResponse>} - Resolves with the post.
|
|
223
|
-
*/
|
|
224
|
-
post(path: string, body?: any, options?: {
|
|
225
|
-
headers?: Record<string, string>;
|
|
226
|
-
}): Promise<VelociousWebsocketResponse>;
|
|
227
|
-
/**
|
|
228
|
-
* Perform a GET request over the websocket.
|
|
229
|
-
* @param {string} path - Path.
|
|
230
|
-
* @param {{headers?: Record<string, string>}} [options] - Request options such as headers.
|
|
231
|
-
* @returns {Promise<VelociousWebsocketResponse>} - Resolves with the get.
|
|
232
|
-
*/
|
|
233
|
-
get(path: string, options?: {
|
|
234
|
-
headers?: Record<string, string>;
|
|
235
|
-
}): Promise<VelociousWebsocketResponse>;
|
|
236
|
-
/**
|
|
237
|
-
* Subscribe to a channel for server-sent events.
|
|
238
|
-
* @param {string} channel - Channel name.
|
|
239
|
-
* @param {(payload: any) => void} callback - Callback function.
|
|
240
|
-
* @returns {() => void} unsubscribe function
|
|
241
|
-
*/
|
|
242
|
-
on(channel: string, callback: (payload: any) => void): () => void;
|
|
243
|
-
/**
|
|
244
|
-
* Returns a snapshot of the client's connection state.
|
|
245
|
-
* @returns {{disconnectedSince: number | null, isOpen: boolean, listenerCount: number}}
|
|
246
|
-
*/
|
|
247
|
-
state(): {
|
|
248
|
-
disconnectedSince: number | null;
|
|
249
|
-
isOpen: boolean;
|
|
250
|
-
listenerCount: number;
|
|
251
|
-
};
|
|
252
|
-
/**
|
|
253
|
-
* Subscribe to a channel for server-sent events with optional params.
|
|
254
|
-
* @param {string} channel - Channel name.
|
|
255
|
-
* @param {{lastEventId?: string, params?: Record<string, any>}} options - Subscription options.
|
|
256
|
-
* @param {(payload: any, message?: Record<string, any>) => void} callback - Callback function.
|
|
257
|
-
* @returns {(() => void) & {ready: Promise<void>}} - Unsubscribe function with readiness promise.
|
|
258
|
-
*/
|
|
259
|
-
subscribe(channel: string, options: {
|
|
260
|
-
lastEventId?: string;
|
|
261
|
-
params?: Record<string, any>;
|
|
262
|
-
}, callback: (payload: any, message?: Record<string, any>) => void): (() => void) & {
|
|
263
|
-
ready: Promise<void>;
|
|
264
|
-
};
|
|
265
|
-
/**
|
|
266
|
-
* Subscribe to a channel and wait until the server acknowledges the subscription.
|
|
267
|
-
* @param {string} channel - Channel name.
|
|
268
|
-
* @param {{lastEventId?: string, params?: Record<string, any>}} options - Subscription options.
|
|
269
|
-
* @param {(payload: any, message?: Record<string, any>) => void} callback - Callback function.
|
|
270
|
-
* @returns {Promise<(() => void) & {ready: Promise<void>}>} - Ready unsubscribe handle.
|
|
271
|
-
*/
|
|
272
|
-
subscribeAndWait(channel: string, options: {
|
|
273
|
-
lastEventId?: string;
|
|
274
|
-
params?: Record<string, any>;
|
|
275
|
-
}, callback: (payload: any, message?: Record<string, any>) => void): Promise<(() => void) & {
|
|
276
|
-
ready: Promise<void>;
|
|
277
|
-
}>;
|
|
278
|
-
/**
|
|
279
|
-
* @private
|
|
280
|
-
* @param {string} method - HTTP method.
|
|
281
|
-
* @param {string} path - Path.
|
|
282
|
-
* @param {object} [options] - Options object.
|
|
283
|
-
* @param {any} [options.body] - Request body.
|
|
284
|
-
* @param {Record<string, string>} [options.headers] - Header list.
|
|
285
|
-
* @returns {Promise<VelociousWebsocketResponse>} - Resolves with the request.
|
|
286
|
-
*/
|
|
287
|
-
private request;
|
|
288
|
-
/**
|
|
289
|
-
* @private
|
|
290
|
-
* @param {MessageEvent<any>} event - Event payload.
|
|
291
|
-
*/
|
|
292
|
-
private onMessage;
|
|
293
|
-
/**
|
|
294
|
-
* @private
|
|
295
|
-
* @param {string} channel - Channel name.
|
|
296
|
-
* @param {Record<string, any> | undefined} params - Subscription params.
|
|
297
|
-
* @returns {string} - Stable subscription key.
|
|
298
|
-
*/
|
|
299
|
-
private _subscriptionKey;
|
|
300
|
-
/**
|
|
301
|
-
* Reject all pending requests when the socket closes. Schedules reconnect if enabled.
|
|
302
|
-
* @private
|
|
303
|
-
*/
|
|
304
|
-
private onClose;
|
|
305
|
-
/**
|
|
306
|
-
* @param {Record<string, any>} payload - Payload data.
|
|
307
|
-
* @returns {void}
|
|
308
|
-
*/
|
|
309
|
-
_sendMessage(payload: Record<string, any>): void;
|
|
310
|
-
/** @returns {void} */
|
|
311
|
-
_cancelPendingReconnect(): void;
|
|
312
|
-
/** @returns {void} */
|
|
313
|
-
_scheduleReconnect(): void;
|
|
314
|
-
/** @returns {Promise<void>} */
|
|
315
|
-
_attemptReconnect(): Promise<void>;
|
|
316
|
-
/**
|
|
317
|
-
* Re-sends subscribe messages for all active listeners after reconnection.
|
|
318
|
-
* @returns {void}
|
|
319
|
-
*/
|
|
320
|
-
_resubscribeActiveListeners(): void;
|
|
321
|
-
/**
|
|
322
|
-
* @private
|
|
323
|
-
* @param {...any} args - Options object.
|
|
324
|
-
* @returns {void} - No return value.
|
|
325
|
-
*/
|
|
326
|
-
private _debug;
|
|
327
|
-
/**
|
|
328
|
-
* @private
|
|
329
|
-
* @param {string} sessionId - Id to persist through the configured sessionStore.
|
|
330
|
-
* @returns {void}
|
|
331
|
-
*/
|
|
332
|
-
private _persistSessionId;
|
|
333
|
-
/**
|
|
334
|
-
* @private
|
|
335
|
-
* @returns {void}
|
|
336
|
-
*/
|
|
337
|
-
private _clearPersistedSessionId;
|
|
338
|
-
/** @returns {Promise<void>} */
|
|
339
|
-
_waitForSessionReady(): Promise<void>;
|
|
340
|
-
/** @returns {void} */
|
|
341
|
-
_markSessionReady(): void;
|
|
342
|
-
/**
|
|
343
|
-
* @param {unknown} [error]
|
|
344
|
-
* @returns {void}
|
|
345
|
-
*/
|
|
346
|
-
_resetSessionReadyState(error?: unknown): void;
|
|
347
|
-
}
|
|
348
|
-
declare class VelociousWebsocketResponse {
|
|
349
|
-
/**
|
|
350
|
-
* @param {object} message - Message text.
|
|
351
|
-
*/
|
|
352
|
-
constructor(message: object);
|
|
353
|
-
body: any;
|
|
354
|
-
headers: Record<string, any>;
|
|
355
|
-
id: string | number | null | undefined;
|
|
356
|
-
statusCode: number;
|
|
357
|
-
statusMessage: string;
|
|
358
|
-
type: string | undefined;
|
|
359
|
-
/** @returns {any} - The json. */
|
|
360
|
-
json(): any;
|
|
12
|
+
constructor(args?: Partial<ConstructorParameters<typeof SnapReqWebSocketClient>[0]>);
|
|
361
13
|
}
|
|
362
|
-
import
|
|
363
|
-
import VelociousWebsocketClientSubscription from "./websocket-channel.js";
|
|
364
|
-
export {};
|
|
14
|
+
import SnapReqWebSocketClient from "snapreq/websocket";
|
|
365
15
|
//# sourceMappingURL=websocket-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../../../src/http-client/websocket-client.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../../../src/http-client/websocket-client.js"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH;IACE;;OAEG;IACH,mBAFW,OAAO,CAAC,qBAAqB,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,EAQ1E;CACF;mCAvBkC,mBAAmB"}
|