@webex/calling 3.12.0-mobius-socket.15 → 3.12.0-mobius-socket.16

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.
Files changed (55) hide show
  1. package/dist/mobius-socket/config.js +8 -8
  2. package/dist/mobius-socket/config.js.map +1 -1
  3. package/dist/mobius-socket/errors.js +2 -3
  4. package/dist/mobius-socket/errors.js.map +1 -1
  5. package/dist/mobius-socket/index.js +16 -10
  6. package/dist/mobius-socket/index.js.map +1 -1
  7. package/dist/mobius-socket/mobius-socket-events.test.js +5 -3
  8. package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -1
  9. package/dist/mobius-socket/mobius-socket.js +3 -2
  10. package/dist/mobius-socket/mobius-socket.js.map +1 -1
  11. package/dist/mobius-socket/mobius-socket.test.js +6 -4
  12. package/dist/mobius-socket/mobius-socket.test.js.map +1 -1
  13. package/dist/mobius-socket/socket/constants.js.map +1 -1
  14. package/dist/mobius-socket/socket/index.js.map +1 -1
  15. package/dist/mobius-socket/socket/socket-base.js +57 -32
  16. package/dist/mobius-socket/socket/socket-base.js.map +1 -1
  17. package/dist/mobius-socket/socket/socket.js.map +1 -1
  18. package/dist/mobius-socket/socket/socket.shim.js +3 -13
  19. package/dist/mobius-socket/socket/socket.shim.js.map +1 -1
  20. package/dist/mobius-socket/socket/types.js +7 -0
  21. package/dist/mobius-socket/socket/types.js.map +1 -0
  22. package/dist/mobius-socket/socket.test.js +36 -36
  23. package/dist/mobius-socket/socket.test.js.map +1 -1
  24. package/dist/mobius-socket/test/mocha-helpers.js.map +1 -1
  25. package/dist/mobius-socket/test/promise-tick.js +2 -3
  26. package/dist/mobius-socket/test/promise-tick.js.map +1 -1
  27. package/dist/module/mobius-socket/index.js +4 -1
  28. package/dist/module/mobius-socket/mobius-socket.js +3 -1
  29. package/dist/module/mobius-socket/socket/socket-base.js +60 -29
  30. package/dist/module/mobius-socket/socket/socket.shim.js +3 -15
  31. package/dist/module/mobius-socket/socket/types.js +1 -0
  32. package/dist/types/mobius-socket/config.d.ts +15 -12
  33. package/dist/types/mobius-socket/config.d.ts.map +1 -1
  34. package/dist/types/mobius-socket/errors.d.ts +15 -6
  35. package/dist/types/mobius-socket/errors.d.ts.map +1 -1
  36. package/dist/types/mobius-socket/index.d.ts +14 -7
  37. package/dist/types/mobius-socket/index.d.ts.map +1 -1
  38. package/dist/types/mobius-socket/mobius-socket.d.ts +27 -43
  39. package/dist/types/mobius-socket/mobius-socket.d.ts.map +1 -1
  40. package/dist/types/mobius-socket/socket/constants.d.ts +2 -2
  41. package/dist/types/mobius-socket/socket/constants.d.ts.map +1 -1
  42. package/dist/types/mobius-socket/socket/index.d.ts +4 -1
  43. package/dist/types/mobius-socket/socket/index.d.ts.map +1 -1
  44. package/dist/types/mobius-socket/socket/socket-base.d.ts +34 -28
  45. package/dist/types/mobius-socket/socket/socket-base.d.ts.map +1 -1
  46. package/dist/types/mobius-socket/socket/socket.d.ts +4 -1
  47. package/dist/types/mobius-socket/socket/socket.d.ts.map +1 -1
  48. package/dist/types/mobius-socket/socket/socket.shim.d.ts +4 -1
  49. package/dist/types/mobius-socket/socket/socket.shim.d.ts.map +1 -1
  50. package/dist/types/mobius-socket/socket/types.d.ts +69 -0
  51. package/dist/types/mobius-socket/socket/types.d.ts.map +1 -0
  52. package/package.json +2 -2
  53. package/src/mobius-socket/socket/socket.shim.ts +22 -0
  54. package/src/mobius-socket/socket/{socket.js → socket.ts} +2 -1
  55. package/src/mobius-socket/socket/socket.shim.js +0 -31
@@ -8,7 +8,20 @@ import { defaults, has, isObject } from 'lodash';
8
8
  import { BadRequest, ConnectionError, Forbidden, NotAuthorized, UnknownResponse, } from '../errors';
9
9
  import { MESSAGE_TYPES, SOCKET_READY_STATE } from './constants';
10
10
  const sockets = new WeakMap();
11
+ const UnknownResponseCtor = UnknownResponse;
12
+ const BadRequestCtor = BadRequest;
13
+ const NotAuthorizedCtor = NotAuthorized;
14
+ const ForbiddenCtor = Forbidden;
15
+ const ConnectionErrorCtor = ConnectionError;
11
16
  export default class Socket extends EventEmitter {
17
+ _domain;
18
+ _pendingResponses;
19
+ forceCloseDelay;
20
+ logger;
21
+ refreshToken;
22
+ token;
23
+ trackingId;
24
+ wssResponseTimeout;
12
25
  constructor() {
13
26
  super();
14
27
  this._domain = 'unknown-domain';
@@ -52,17 +65,18 @@ export default class Socket extends EventEmitter {
52
65
  resolve();
53
66
  return;
54
67
  }
55
- options = options || {};
56
- if (options.code && options.code !== 1000 && (options.code < 3000 || options.code > 4999)) {
57
- reject(new Error('`options.code` must be 1000 or between 3000 and 4999 (inclusive)'));
58
- return;
59
- }
60
- const originalCode = options.code;
61
- const originalReason = options.reason;
62
- options = defaults(options, {
68
+ const originalCode = options?.code;
69
+ const originalReason = options?.reason;
70
+ const resolvedOptions = defaults(options || {}, {
63
71
  code: 1000,
64
72
  reason: 'Done',
65
73
  });
74
+ if (resolvedOptions.code &&
75
+ resolvedOptions.code !== 1000 &&
76
+ (resolvedOptions.code < 3000 || resolvedOptions.code > 4999)) {
77
+ reject(new Error('`options.code` must be 1000 or between 3000 and 4999 (inclusive)'));
78
+ return;
79
+ }
66
80
  const closeTimer = safeSetTimeout(() => {
67
81
  try {
68
82
  this.logger.info(`socket,${this._domain}: no close event received, forcing closure`);
@@ -86,18 +100,21 @@ export default class Socket extends EventEmitter {
86
100
  if (socket.readyState === SOCKET_READY_STATE.CONNECTING) {
87
101
  this.logger.info(`socket,${this._domain}: socket still connecting, triggering close manually`);
88
102
  clearTimeout(closeTimer);
89
- const closeEvent = { code: options.code, reason: options.reason };
103
+ const closeEvent = {
104
+ code: resolvedOptions.code,
105
+ reason: resolvedOptions.reason,
106
+ };
90
107
  this.onclose(closeEvent);
91
108
  resolve(closeEvent);
92
109
  try {
93
- socket.close(options.code, options.reason);
110
+ socket.close(resolvedOptions.code, resolvedOptions.reason);
94
111
  }
95
112
  catch (error) {
96
113
  this.logger.info(`socket,${this._domain}: error while closing CONNECTING socket, likely due to browser incompatibility with custom close codes`, error);
97
114
  }
98
115
  }
99
116
  else {
100
- socket.close(options.code, options.reason);
117
+ socket.close(resolvedOptions.code, resolvedOptions.reason);
101
118
  }
102
119
  });
103
120
  }
@@ -117,17 +134,17 @@ export default class Socket extends EventEmitter {
117
134
  reject(new Error('Socket#open() can only be called once per instance'));
118
135
  return;
119
136
  }
120
- options = options || {};
121
- checkRequired(['forceCloseDelay', 'token', 'trackingId', 'logger'], options);
122
- Object.keys(options).forEach((key) => {
137
+ const resolvedOptions = (options || {});
138
+ checkRequired(['forceCloseDelay', 'token', 'trackingId', 'logger'], resolvedOptions);
139
+ Object.keys(resolvedOptions).forEach((key) => {
123
140
  Reflect.defineProperty(this, key, {
124
141
  enumerable: false,
125
- value: options[key],
142
+ value: resolvedOptions[key],
126
143
  });
127
144
  });
128
145
  const WebSocket = Socket.getWebSocketConstructor();
129
146
  this.logger.info(`socket,${this._domain}: creating WebSocket`);
130
- const socket = new WebSocket(url, [], options);
147
+ const socket = new WebSocket(url, [], resolvedOptions);
131
148
  socket.binaryType = 'arraybuffer';
132
149
  socket.onmessage = this.onmessage;
133
150
  socket.onclose = (event) => {
@@ -135,15 +152,15 @@ export default class Socket extends EventEmitter {
135
152
  this.logger.info(`socket,${this._domain}: closed before open`, event.code, event.reason);
136
153
  switch (event.code) {
137
154
  case 1005:
138
- return reject(new UnknownResponse(event));
155
+ return reject(new UnknownResponseCtor(event));
139
156
  case 4400:
140
- return reject(new BadRequest(event));
157
+ return reject(new BadRequestCtor(event));
141
158
  case 4401:
142
- return reject(new NotAuthorized(event));
159
+ return reject(new NotAuthorizedCtor(event));
143
160
  case 4403:
144
- return reject(new Forbidden(event));
161
+ return reject(new ForbiddenCtor(event));
145
162
  default:
146
- return reject(new ConnectionError(event));
163
+ return reject(new ConnectionErrorCtor(event));
147
164
  }
148
165
  };
149
166
  socket.onopen = () => {
@@ -166,7 +183,7 @@ export default class Socket extends EventEmitter {
166
183
  onclose(event) {
167
184
  this.logger.info(`socket,${this._domain}: closed`, event.code, event.reason);
168
185
  event = this._fixCloseCode(event);
169
- this._rejectPendingResponses(new ConnectionError(event));
186
+ this._rejectPendingResponses(new ConnectionErrorCtor(event));
170
187
  this.emit('close', event);
171
188
  this.removeAllListeners();
172
189
  }
@@ -189,14 +206,19 @@ export default class Socket extends EventEmitter {
189
206
  send(data) {
190
207
  return new Promise((resolve, reject) => {
191
208
  if (this.readyState !== SOCKET_READY_STATE.OPEN) {
192
- return reject(new Error('INVALID_STATE_ERROR'));
209
+ reject(new Error('INVALID_STATE_ERROR'));
210
+ return;
193
211
  }
194
212
  if (isObject(data)) {
195
213
  data = JSON.stringify(data);
196
214
  }
197
215
  const socket = sockets.get(this);
216
+ if (!socket) {
217
+ reject(new Error('INVALID_STATE_ERROR'));
218
+ return;
219
+ }
198
220
  socket.send(data);
199
- return resolve();
221
+ resolve();
200
222
  });
201
223
  }
202
224
  sendRequest(data, options = {}) {
@@ -211,12 +233,12 @@ export default class Socket extends EventEmitter {
211
233
  const getStatusCode = options.getStatusCode || ((response) => response?.statusCode);
212
234
  const getStatusMessage = options.getStatusMessage || ((response) => response?.statusMessage);
213
235
  const createError = options.createError ||
214
- ((response, statusCode, statusMessage) => new ConnectionError({
236
+ ((response, statusCode, statusMessage) => new ConnectionErrorCtor({
215
237
  code: statusCode,
216
238
  reason: statusMessage || response?.reason || 'Socket request failed',
217
239
  }));
218
240
  const createTimeoutError = options.createTimeoutError ||
219
- (() => new ConnectionError({
241
+ (() => new ConnectionErrorCtor({
220
242
  reason: 'Socket response not received before timeout',
221
243
  }));
222
244
  if (this._pendingResponses.has(trackingId)) {
@@ -275,7 +297,16 @@ export default class Socket extends EventEmitter {
275
297
  if (!token) {
276
298
  return Promise.reject(new Error('`token` is required for Socket#refresh()'));
277
299
  }
278
- const refreshedToken = token && typeof token.toString === 'function' ? token.toString() : token;
300
+ let refreshedToken;
301
+ if (typeof token === 'string') {
302
+ refreshedToken = token;
303
+ }
304
+ else if (token && typeof token.toString === 'function') {
305
+ refreshedToken = token.toString();
306
+ }
307
+ else {
308
+ refreshedToken = String(token);
309
+ }
279
310
  return this._authorize(refreshedToken);
280
311
  }
281
312
  _authorize(token) {
@@ -291,11 +322,11 @@ export default class Socket extends EventEmitter {
291
322
  response?.trackingId === request.trackingId,
292
323
  getStatusCode: (response) => response?.statusCode,
293
324
  getStatusMessage: (response) => response?.statusMessage,
294
- createError: (response, statusCode, statusMessage) => new NotAuthorized({
325
+ createError: (response, statusCode, statusMessage) => new NotAuthorizedCtor({
295
326
  code: statusCode,
296
327
  reason: statusMessage || 'Mobius auth failed',
297
328
  }),
298
- createTimeoutError: () => new NotAuthorized({
329
+ createTimeoutError: () => new NotAuthorizedCtor({
299
330
  reason: 'Mobius auth response not received before timeout',
300
331
  }),
301
332
  });
@@ -3,22 +3,10 @@
3
3
  */
4
4
  import Socket from './socket-base';
5
5
  Socket.getWebSocketConstructor = function getWebSocketConstructor() {
6
- let ws;
7
6
  if (typeof WebSocket !== 'undefined') {
8
- ws = WebSocket;
7
+ return WebSocket;
9
8
  }
10
- else if (typeof MozWebSocket !== 'undefined') {
11
- ws = MozWebSocket;
12
- }
13
- else if (typeof global !== 'undefined') {
14
- ws = global.WebSocket || global.MozWebSocket;
15
- }
16
- else if (typeof window !== 'undefined') {
17
- ws = window.WebSocket || window.MozWebSocket;
18
- }
19
- else if (typeof self !== 'undefined') {
20
- ws = self.WebSocket || self.MozWebSocket;
21
- }
22
- return ws;
9
+ const scope = typeof globalThis !== 'undefined' ? globalThis : undefined;
10
+ return (scope?.WebSocket || scope?.MozWebSocket);
23
11
  };
24
12
  export default Socket;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,15 +1,18 @@
1
- declare namespace _default {
2
- export { mobiusSocketConfig as mobiusSocket };
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ export interface MobiusSocketConfig {
5
+ wssResponseTimeout: string | number;
6
+ backoffTimeMax: string | number;
7
+ backoffTimeReset: string | number;
8
+ initialConnectionMaxRetries: string | number;
9
+ maxRetries: string | number;
10
+ forceCloseDelay: string | number;
11
+ beforeLogoutOptionsCloseReason: string;
12
+ dedupCacheMaxSize: string | number;
3
13
  }
14
+ declare const _default: {
15
+ mobiusSocket: MobiusSocketConfig;
16
+ };
4
17
  export default _default;
5
- declare namespace mobiusSocketConfig {
6
- const wssResponseTimeout: number;
7
- const backoffTimeMax: number;
8
- const backoffTimeReset: number;
9
- const initialConnectionMaxRetries: number;
10
- const maxRetries: number;
11
- const forceCloseDelay: number;
12
- const beforeLogoutOptionsCloseReason: string;
13
- const dedupCacheMaxSize: number;
14
- }
15
18
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/config.js"],"names":[],"mappings":";;;;;8BAOY,MAAM;;;;;2BA8BN,MAAM"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,2BAA2B,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7C,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,8BAA8B,EAAE,MAAM,CAAC;IACvC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;;;;AAoDD,wBAEE"}
@@ -1,13 +1,22 @@
1
- export class ConnectionError {
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ import { Exception } from '@webex/common';
5
+ import type { SocketCloseEvent } from './socket/types';
6
+ export declare class ConnectionError extends Exception {
2
7
  static defaultMessage: string;
3
- parse(event?: CloseEvent): string;
8
+ parse(event?: SocketCloseEvent): string | undefined;
4
9
  }
5
- export class UnknownResponse extends ConnectionError {
10
+ export declare class UnknownResponse extends ConnectionError {
11
+ static defaultMessage: string;
6
12
  }
7
- export class BadRequest extends ConnectionError {
13
+ export declare class BadRequest extends ConnectionError {
14
+ static defaultMessage: string;
8
15
  }
9
- export class NotAuthorized extends ConnectionError {
16
+ export declare class NotAuthorized extends ConnectionError {
17
+ static defaultMessage: string;
10
18
  }
11
- export class Forbidden extends ConnectionError {
19
+ export declare class Forbidden extends ConnectionError {
20
+ static defaultMessage: string;
12
21
  }
13
22
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/errors.js"],"names":[],"mappings":"AASA;IACE,8BAAsD;IAMtD,cAHW,UAAU,GACR,MAAM,CAalB;CACF;AAKD;CAGC;AAKD;CAGC;AAKD;CAEC;AAKD;CAEC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAKrD,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,MAAM,CAAC,cAAc,SAAiC;IAKtD,KAAK,CAAC,KAAK,GAAE,gBAAqB;CAYnC;AAKD,qBAAa,eAAgB,SAAQ,eAAe;IAClD,MAAM,CAAC,cAAc,SACyF;CAC/G;AAKD,qBAAa,UAAW,SAAQ,eAAe;IAC7C,MAAM,CAAC,cAAc,SACwD;CAC9E;AAKD,qBAAa,aAAc,SAAQ,eAAe;IAChD,MAAM,CAAC,cAAc,SAAsC;CAC5D;AAKD,qBAAa,SAAU,SAAQ,eAAe;IAC5C,MAAM,CAAC,cAAc,SAA4E;CAClG"}
@@ -1,9 +1,16 @@
1
- export function getMobiusSocketInstance(webex: object, mobiusSocketConfig?: object | undefined): MobiusSocket;
2
- export function resetMobiusSocketInstance(): void;
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ import '@webex/internal-plugin-device';
5
+ import '@webex/internal-plugin-feature';
6
+ import '@webex/internal-plugin-metrics';
7
+ import MobiusSocket from './mobius-socket';
8
+ import config, { MobiusSocketConfig } from './config';
9
+ export declare function getMobiusSocketInstance(webex: any, mobiusSocketConfig?: Partial<MobiusSocketConfig>): MobiusSocket;
10
+ export declare function resetMobiusSocketInstance(): void;
3
11
  export default MobiusSocket;
4
- export { default as Socket } from "./socket";
5
- import MobiusSocket from "./mobius-socket";
6
- import config from "./config";
7
- export { MobiusSocket, config };
8
- export { BadRequest, ConnectionError, Forbidden, NotAuthorized, UnknownResponse } from "./errors";
12
+ export { MobiusSocket };
13
+ export { default as Socket } from './socket';
14
+ export { config };
15
+ export { BadRequest, ConnectionError, Forbidden, NotAuthorized, UnknownResponse } from './errors';
9
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/index.js"],"names":[],"mappings":"AA0BA,+CAJW,MAAM,4CAEJ,YAAY,CAUxB;AAMD,6CAFa,IAAI,CAIhB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,+BAA+B,CAAC;AACvC,OAAO,gCAAgC,CAAC;AACxC,OAAO,gCAAgC,CAAC;AAExC,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,MAAM,EAAE,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAiBpD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,GAAG,EACV,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAC/C,YAAY,CAWd;AAMD,wBAAgB,yBAAyB,SAExC;AAED,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAC,YAAY,EAAC,CAAC;AACtB,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAC,CAAC;AAChB,OAAO,EAAC,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAC,MAAM,UAAU,CAAC"}
@@ -1,52 +1,37 @@
1
- export default MobiusSocket;
2
- declare class MobiusSocket extends EventEmitter<[never]> {
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file
3
+ */
4
+ /// <reference types="node" />
5
+ import { EventEmitter } from 'events';
6
+ declare class MobiusSocket extends EventEmitter {
3
7
  constructor(webex: any, config?: {});
4
- webex: any;
5
- config: {};
6
- logger: any;
7
- defaultSessionId: string;
8
- connected: boolean;
9
- connecting: boolean;
10
- hasEverConnected: boolean;
11
- socket: any;
12
- sockets: Map<any, any>;
13
- backoffCalls: Map<any, any>;
14
- _shutdownSwitchoverBackoffCalls: Map<any, any>;
15
- _seenAsyncEventIdsBySession: Map<any, any>;
16
- _connectPromises: Map<any, any>;
17
- mercuryTimeOffset: number | undefined;
18
- _tokenRefreshTimer: NodeJS.Timeout | undefined;
19
- _tokenRefreshInFlight: any;
20
- off(eventName: any, listener: any): MobiusSocket;
8
+ off(eventName: any, listener: any): this;
21
9
  _bindInternalEvents(): void;
22
- _attachSocketEventListeners(socket: Socket, sessionId: any): void;
23
- _getSeenAsyncEventIds(sessionId: string): Map<string, boolean>;
24
- _clearSeenAsyncEventIds(sessionId?: string | undefined): void;
25
- _trackAsyncEventAndShouldSuppressDuplicate(sessionId: string, envelope: object): boolean;
26
- _handleImminentShutdown(sessionId: string): void;
10
+ _attachSocketEventListeners(socket: any, sessionId: any): void;
11
+ _getSeenAsyncEventIds(sessionId: any): any;
12
+ _clearSeenAsyncEventIds(sessionId: any): void;
13
+ _trackAsyncEventAndShouldSuppressDuplicate(sessionId: any, envelope: any): boolean;
14
+ _handleImminentShutdown(sessionId: any): void;
27
15
  getLastError(): any;
28
- getSockets(): Map<any, any>;
29
- getSocket(sessionId?: string): Socket | undefined;
30
- getConnectedWebSocketUrl(sessionId?: string | undefined): string | undefined;
31
- send(payload: Object, sessionId?: string | undefined): Promise<any>;
32
- sendWssRequest(payload: Object, sessionIdOrOptions?: string | Object | undefined, options?: Object | undefined): Promise<Object>;
33
- isConnected(): boolean;
34
- hasConnectedSockets(sessionId?: string | undefined): boolean | undefined;
35
- hasConnectingSockets(sessionId?: string | undefined): boolean | undefined;
36
- connect(webSocketUrl?: string | undefined, sessionId?: string | undefined): Promise<void>;
37
- socketUrl: any;
38
- logout(): Promise<any>;
39
- disconnect(options?: object | undefined, sessionId?: string | undefined): Promise<void>;
40
- disconnectAll(options: object): Promise<any>;
16
+ getSockets(): any;
17
+ getSocket(sessionId?: any): any;
18
+ getConnectedWebSocketUrl(sessionId?: any): any;
19
+ send(payload: any, sessionId?: any): any;
20
+ sendWssRequest(payload: any, sessionIdOrOptions?: any, options?: {}): any;
21
+ isConnected(): any;
22
+ hasConnectedSockets(sessionId: any): boolean;
23
+ hasConnectingSockets(sessionId?: any): boolean;
24
+ connect(webSocketUrl: any, sessionId?: any): any;
25
+ logout(): Promise<void>;
26
+ disconnect(options: any, sessionId?: any): Promise<any>;
27
+ disconnectAll(options: any): Promise<void>;
41
28
  processRegistrationStatusEvent(message: any): void;
42
- localClusterServiceUrls: any;
43
29
  _createWssResponseError(response: any, statusCode: any, statusMessage: any): Error;
44
30
  _applyOverrides(event: any): void;
45
31
  _prepareUrl(webSocketUrl: any): Promise<any>;
46
32
  _attemptConnection(socketUrl: any, sessionId: any, callback: any, options?: {}): Promise<any>;
47
- lastError: any;
48
33
  _prepareAndOpenSocket(socket: any, socketUrl: any, sessionId: any, isShutdownSwitchover?: boolean): Promise<any>;
49
- _connectWithBackoff(webSocketUrl: any, sessionId: any, context?: {}): Promise<any>;
34
+ _connectWithBackoff(webSocketUrl: any, sessionId: any, context?: {}): Promise<unknown>;
50
35
  _emit(sessionId: any, eventName: any, ...args: any[]): void;
51
36
  _getEventHandlers(eventType: any): any[];
52
37
  _startTokenRefreshTimer(): void;
@@ -55,8 +40,7 @@ declare class MobiusSocket extends EventEmitter<[never]> {
55
40
  _onclose(sessionId: any, event: any, sourceSocket: any): void;
56
41
  _onmessage(sessionId: any, event: any): any;
57
42
  _setTimeOffset(sessionId: any, event: any): void;
58
- _reconnect(webSocketUrl: any, sessionId?: string): Promise<void>;
43
+ _reconnect(webSocketUrl: any, sessionId?: any): any;
59
44
  }
60
- import { EventEmitter } from "events";
61
- import Socket from "./socket";
45
+ export default MobiusSocket;
62
46
  //# sourceMappingURL=mobius-socket.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mobius-socket.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/mobius-socket.js"],"names":[],"mappings":";AA+BA;IACE,qCAyBC;IAlBC,WAAkB;IAClB,WAAoB;IACpB,YAAqC;IACrC,yBAAwD;IACxD,mBAAsB;IACtB,oBAAuB;IACvB,0BAA6B;IAC7B,YAAuB;IACvB,uBAAwB;IACxB,4BAA6B;IAC7B,+CAAgD;IAChD,2CAA4C;IAC5C,gCAAiC;IACjC,sCAAkC;IAClC,+CAAmC;IACnC,2BAAsC;IAKxC,iDAQC;IAED,4BAsCC;IAQD,oCAJW,MAAM,mBAEJ,IAAI,CAYhB;IAOD,iCAHW,MAAM,GACJ,IAAI,MAAM,EAAE,OAAO,CAAC,CAWhC;IAOD,yDAFa,IAAI,CAUhB;IAQD,sDAJW,MAAM,YACN,MAAM,GACJ,OAAO,CAqCnB;IASD,mCAHW,MAAM,GACJ,IAAI,CAmEhB;IAMD,gBAFa,GAAG,CAIf;IAMD,4BAEC;IAOD,sBAHW,MAAM,GACJ,MAAM,GAAC,SAAS,CAI5B;IAOD,0DAFa,MAAM,GAAC,SAAS,CAU5B;IAQD,cAJW,MAAM,gDAYhB;IASD,wBALW,MAAM,mFAGJ,QAAQ,MAAM,CAAC,CA2C3B;IAMD,eAFa,OAAO,CAInB;IAOD,qDAFa,OAAO,GAAC,SAAS,CAc7B;IAOD,sDAFa,OAAO,GAAC,SAAS,CAM7B;IAQD,4EAFa,QAAQ,IAAI,CAAC,CA0DzB;IA5BG,eAA6B;IA8BjC,uBASC;IAQD,0EAFa,QAAQ,IAAI,CAAC,CAkDzB;IAOD,uBAHW,MAAM,gBAoBhB;IAED,mDAEC;IADC,6BAA8D;IAGhE,mFAYC;IAED,kCASC;IAED,6CAgBC;IAED,8FAiIC;IA7DK,eAAuB;IA+D7B,iHAqCC;IAED,mFAmIC;IAED,4DAwBC;IAED,yCAqBC;IAED,gCAUC;IAED,+BAOC;IAED,qBA6CC;IAED,8DAgIC;IAED,4CAmFC;IAED,iDAKC;IAED,iEAIC;CACF"}
1
+ {"version":3,"file":"mobius-socket.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/mobius-socket.ts"],"names":[],"mappings":"AAEA;;GAEG;;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AA0BpC,cAAM,YAAa,SAAQ,YAAY;gBACzB,KAAK,KAAA,EAAE,MAAM,KAAK;IA2B9B,GAAG,CAAC,SAAS,KAAA,EAAE,QAAQ,KAAA;IAUvB,mBAAmB;IA8CnB,2BAA2B,CAAC,MAAM,KAAA,EAAE,SAAS,KAAA;IAiB7C,qBAAqB,CAAC,SAAS,KAAA;IAgB/B,uBAAuB,CAAC,SAAS,KAAA;IAgBjC,0CAA0C,CAAC,SAAS,KAAA,EAAE,QAAQ,KAAA;IA4C9D,uBAAuB,CAAC,SAAS,KAAA;IAuEjC,YAAY;IAQZ,UAAU;IASV,SAAS,CAAC,SAAS,MAAwB;IAS3C,wBAAwB,CAAC,SAAS,MAAwB;IAgB1D,IAAI,CAAC,OAAO,KAAA,EAAE,SAAS,MAAwB;IAiB/C,cAAc,CAAC,OAAO,KAAA,EAAE,kBAAkB,MAAwB,EAAE,OAAO,KAAK;IA+ChF,WAAW;IASX,mBAAmB,CAAC,SAAS,KAAA;IAmB7B,oBAAoB,CAAC,SAAS,MAAwB;IAYtD,OAAO,CAAC,YAAY,KAAA,EAAE,SAAS,MAAwB;IA0DvD,MAAM;IAiBN,UAAU,CAAC,OAAO,KAAA,EAAE,SAAS,MAAwB;IAuDrD,aAAa,CAAC,OAAO,KAAA;IAmBrB,8BAA8B,CAAC,OAAO,KAAA;IAItC,uBAAuB,CAAC,QAAQ,KAAA,EAAE,UAAU,KAAA,EAAE,aAAa,KAAA;IAc3D,eAAe,CAAC,KAAK,KAAA;IAWrB,WAAW,CAAC,YAAY,KAAA;IAkBxB,kBAAkB,CAAC,SAAS,KAAA,EAAE,SAAS,KAAA,EAAE,QAAQ,KAAA,EAAE,OAAO,KAAK;IAmI/D,qBAAqB,CAAC,MAAM,KAAA,EAAE,SAAS,KAAA,EAAE,SAAS,KAAA,EAAE,oBAAoB,UAAQ;IAuChF,mBAAmB,CAAC,YAAY,KAAA,EAAE,SAAS,KAAA,EAAE,OAAO,KAAK;IAqIzD,KAAK,CAAC,SAAS,KAAA,EAAE,SAAS,KAAA,EAAE,GAAG,IAAI,OAAA;IA0BnC,iBAAiB,CAAC,SAAS,KAAA;IAuB3B,uBAAuB;IAYvB,sBAAsB;IAStB,aAAa;IA+Cb,QAAQ,CAAC,SAAS,KAAA,EAAE,KAAK,KAAA,EAAE,YAAY,KAAA;IAkIvC,UAAU,CAAC,SAAS,KAAA,EAAE,KAAK,KAAA;IAqF3B,cAAc,CAAC,SAAS,KAAA,EAAE,KAAK,KAAA;IAO/B,UAAU,CAAC,YAAY,KAAA,EAAE,SAAS,MAAwB;CAK3D;AAED,eAAe,YAAY,CAAC"}
@@ -1,10 +1,10 @@
1
- export const SOCKET_READY_STATE: Readonly<{
1
+ export declare const SOCKET_READY_STATE: Readonly<{
2
2
  CONNECTING: 0;
3
3
  OPEN: 1;
4
4
  CLOSING: 2;
5
5
  CLOSED: 3;
6
6
  }>;
7
- export const MESSAGE_TYPES: Readonly<{
7
+ export declare const MESSAGE_TYPES: Readonly<{
8
8
  AUTH: "auth";
9
9
  EVENT_ACK: "event_ack";
10
10
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/constants.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;EAK7B,CAAC;AAEH,eAAO,MAAM,aAAa;;;EAGxB,CAAC"}
@@ -1,2 +1,5 @@
1
- export { default } from "./socket";
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ export { default } from './socket';
2
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/index.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC"}
@@ -1,38 +1,44 @@
1
- export default class Socket extends EventEmitter<[never]> {
2
- static getWebSocketConstructor(): WebSocket;
3
- constructor();
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ /// <reference types="node" />
5
+ import { EventEmitter } from 'events';
6
+ import type { SocketCloseEvent, SocketLogger, SocketMessageEvent, PendingResponseEntry, SendRequestOptions, SocketOpenOptions, SocketResponse } from './types';
7
+ export default class Socket extends EventEmitter {
4
8
  _domain: string;
5
- _pendingResponses: Map<any, any>;
6
- onmessage(event: MessageEvent): undefined;
7
- onclose(event: CloseEvent): undefined;
9
+ _pendingResponses: Map<string, PendingResponseEntry>;
10
+ forceCloseDelay: number;
11
+ logger: SocketLogger;
12
+ refreshToken?: (response: SocketResponse) => unknown;
13
+ token: string;
14
+ trackingId: string;
15
+ wssResponseTimeout?: number;
16
+ constructor();
8
17
  get binaryType(): string;
9
18
  get bufferedAmount(): number;
10
19
  get extensions(): string;
11
20
  get protocol(): string;
12
21
  get readyState(): number;
13
22
  get url(): string;
14
- close(options: {
15
- reason: string;
16
- code: number;
17
- }): Promise<any>;
18
- open(url: string, options: any): Promise<any>;
19
- send(data: mixed): Promise<any>;
20
- sendRequest(data: Object, options?: {
21
- matchesResponse?: Function | undefined;
22
- createError?: Function | undefined;
23
- createTimeoutError?: Function | undefined;
24
- getStatusCode?: Function | undefined;
25
- getStatusMessage?: Function | undefined;
26
- timeout?: number | undefined;
27
- } | undefined): Promise<Object>;
28
- _acknowledge(event: MessageEvent): Promise<any>;
29
- refresh(token: any): Promise<any>;
30
- _authorize(token: string): Promise<any>;
31
- private _createTrackingId;
23
+ static getWebSocketConstructor(): unknown;
24
+ close(options?: {
25
+ reason?: string;
26
+ code?: number;
27
+ }): Promise<void | SocketCloseEvent>;
28
+ open(url: string, options?: SocketOpenOptions): Promise<void>;
29
+ onclose(event: SocketCloseEvent): void;
30
+ onmessage(event: SocketMessageEvent<string>): void;
31
+ send(data: string | Record<string, unknown>): Promise<void>;
32
+ sendRequest(data: SocketResponse, options?: SendRequestOptions): Promise<SocketResponse>;
33
+ _acknowledge(event: SocketMessageEvent<SocketResponse>): Promise<void>;
34
+ refresh(token: string | {
35
+ toString(): string;
36
+ }): Promise<SocketResponse>;
37
+ _authorize(token: string): Promise<SocketResponse>;
38
+ _createTrackingId(): string;
32
39
  _clearPendingResponse(trackingId: string): void;
33
- _rejectPendingResponses(error: Error): void;
34
- _handlePendingResponse(response: Object): boolean;
35
- private _fixCloseCode;
40
+ _rejectPendingResponses(error: unknown): void;
41
+ _handlePendingResponse(response: SocketResponse): boolean;
42
+ _fixCloseCode(event: SocketCloseEvent): SocketCloseEvent;
36
43
  }
37
- import { EventEmitter } from "events";
38
44
  //# sourceMappingURL=socket-base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"socket-base.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/socket-base.js"],"names":[],"mappings":"AAyBA;IAoEE,kCAFa,SAAS,CAMrB;IAnED,cAQC;IANC,gBAA+B;IAC/B,iCAAkC;IAmRpC,iBAHW,YAAY,GACV,SAAS,CAqBrB;IApCD,eAHW,UAAU,GACR,SAAS,CAYrB;IAjQD,yBAEC;IAMD,6BAEC;IAMD,yBAEC;IAMD,uBAEC;IAMD,yBAEC;IAMD,kBAEC;IAoBD;QAJ2B,MAAM,EAAtB,MAAM;QACU,IAAI,EAApB,MAAM;qBAwFhB;IAYD,UARW,MAAM,8BAyFhB;IAkDD,gCAgBC;IAcD,kBAVW,MAAM;;;;;;;oBAQJ,QAAQ,MAAM,CAAC,CAiE3B;IAOD,oBAHW,YAAY,gBA2BtB;IAED,kCAQC;IAOD,kBAHW,MAAM,gBA+BhB;IAOD,0BAEC;IAOD,kCAHW,MAAM,GACJ,IAAI,CAUhB;IAOD,+BAHW,KAAK,GACH,IAAI,CAUhB;IAOD,iCAHW,MAAM,GACJ,OAAO,CAkDnB;IASD,sBAwBC;CACF"}
1
+ {"version":3,"file":"socket-base.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/socket-base.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAiBpC,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EAGf,MAAM,SAAS,CAAC;AAkBjB,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,YAAY;IAC9C,OAAO,EAAE,MAAM,CAAC;IAEhB,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAErD,eAAe,EAAG,MAAM,CAAC;IAEzB,MAAM,EAAG,YAAY,CAAC;IAEtB,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC;IAErD,KAAK,EAAG,MAAM,CAAC;IAEf,UAAU,EAAG,MAAM,CAAC;IAEpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;;IAoB5B,IAAI,UAAU,WAEb;IAMD,IAAI,cAAc,WAEjB;IAMD,IAAI,UAAU,WAEb;IAMD,IAAI,QAAQ,WAEX;IAMD,IAAI,UAAU,WAEb;IAMD,IAAI,GAAG,WAEN;IAOD,MAAM,CAAC,uBAAuB,IAAI,OAAO;IAazC,KAAK,CAAC,OAAO,CAAC,EAAE;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC;IAuGhD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAwF7C,OAAO,CAAC,KAAK,EAAE,gBAAgB;IAiB/B,SAAS,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC;IA0B3C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAsC3C,WAAW,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,GAAE,kBAAuB;IAsElE,YAAY,CAAC,KAAK,EAAE,kBAAkB,CAAC,cAAc,CAAC;IA0BtD,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG;QAAC,QAAQ,IAAI,MAAM,CAAA;KAAC;IAuB5C,UAAU,CAAC,KAAK,EAAE,MAAM;IAmCxB,iBAAiB;IASjB,qBAAqB,CAAC,UAAU,EAAE,MAAM;IAexC,uBAAuB,CAAC,KAAK,EAAE,OAAO;IAetC,sBAAsB,CAAC,QAAQ,EAAE,cAAc;IAyD/C,aAAa,CAAC,KAAK,EAAE,gBAAgB;CAyBtC"}
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ import Socket from './socket-base';
1
5
  export default Socket;
2
- import Socket from "./socket-base";
3
6
  //# sourceMappingURL=socket.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/socket.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/socket.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,MAAM,MAAM,eAAe,CAAC;AAOnC,eAAe,MAAM,CAAC"}
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ import Socket from './socket-base';
1
5
  export default Socket;
2
- import Socket from "./socket-base";
3
6
  //# sourceMappingURL=socket.shim.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"socket.shim.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/socket.shim.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"socket.shim.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/socket.shim.ts"],"names":[],"mappings":"AAEA;;GAEG;AAIH,OAAO,MAAM,MAAM,eAAe,CAAC;AAanC,eAAe,MAAM,CAAC"}