@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
@@ -12,46 +12,46 @@ exports.default = void 0;
12
12
  var mobiusSocketConfig = {
13
13
  /**
14
14
  * Milliseconds to wait for websocket request/response messages, including auth.
15
- * @type {number}
15
+ * Type: string | number
16
16
  */
17
17
  wssResponseTimeout: process.env.MOBIUS_SOCKET_RESPONSE_TIMEOUT || process.env.MOBIUS_SOCKET_AUTH_RESPONSE_TIMEOUT || 10000,
18
18
  /**
19
19
  * Maximum milliseconds between connection attempts
20
- * @type {Number}
20
+ * Type: string | number
21
21
  */
22
22
  backoffTimeMax: process.env.MOBIUS_SOCKET_BACKOFF_TIME_MAX || 32000,
23
23
  /**
24
24
  * Initial milliseconds between connection attempts
25
- * @type {Number}
25
+ * Type: string | number
26
26
  */
27
27
  backoffTimeReset: process.env.MOBIUS_SOCKET_BACKOFF_TIME_RESET || 1000,
28
28
  /**
29
29
  * Maximum number of retries for the initial connect() flow before rejecting.
30
- * @type {Number}
30
+ * Type: string | number
31
31
  */
32
32
  initialConnectionMaxRetries: process.env.MOBIUS_SOCKET_INITIAL_CONNECTION_MAX_RETRIES || 0,
33
33
  /**
34
34
  * Maximum number of retries for reconnect attempts after the socket has connected once.
35
35
  * A value of 0 means unlimited reconnect retries.
36
- * @type {Number}
36
+ * Type: string | number
37
37
  */
38
38
  maxRetries: process.env.MOBIUS_SOCKET_MAX_RETRIES || 0,
39
39
  /**
40
40
  * Milliseconds to wait for a close frame before declaring the socket dead and
41
41
  * discarding it
42
- * @type {number}
42
+ * Type: string | number
43
43
  */
44
44
  forceCloseDelay: process.env.MOBIUS_SOCKET_FORCE_CLOSE_DELAY || 2000,
45
45
  /**
46
46
  * When logging out, use default reason which can trigger a reconnect,
47
47
  * or set to something else, like `done (permanent)` to prevent reconnect
48
- * @type {String}
48
+ * Type: string
49
49
  */
50
50
  beforeLogoutOptionsCloseReason: process.env.MOBIUS_SOCKET_LOGOUT_REASON || 'done (forced)',
51
51
  /**
52
52
  * Maximum number of eventIds to retain in the dedup cache for suppressing
53
53
  * duplicate async_event messages retransmitted by the server.
54
- * @type {Number}
54
+ * Type: string | number
55
55
  */
56
56
  dedupCacheMaxSize: process.env.MOBIUS_SOCKET_DEDUP_CACHE_MAX_SIZE || 1000
57
57
  };
@@ -1 +1 @@
1
- {"version":3,"names":["mobiusSocketConfig","wssResponseTimeout","process","env","MOBIUS_SOCKET_RESPONSE_TIMEOUT","MOBIUS_SOCKET_AUTH_RESPONSE_TIMEOUT","backoffTimeMax","MOBIUS_SOCKET_BACKOFF_TIME_MAX","backoffTimeReset","MOBIUS_SOCKET_BACKOFF_TIME_RESET","initialConnectionMaxRetries","MOBIUS_SOCKET_INITIAL_CONNECTION_MAX_RETRIES","maxRetries","MOBIUS_SOCKET_MAX_RETRIES","forceCloseDelay","MOBIUS_SOCKET_FORCE_CLOSE_DELAY","beforeLogoutOptionsCloseReason","MOBIUS_SOCKET_LOGOUT_REASON","dedupCacheMaxSize","MOBIUS_SOCKET_DEDUP_CACHE_MAX_SIZE","_default","exports","default","mobiusSocket"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nconst mobiusSocketConfig = {\n /**\n * Milliseconds to wait for websocket request/response messages, including auth.\n * @type {number}\n */\n wssResponseTimeout:\n process.env.MOBIUS_SOCKET_RESPONSE_TIMEOUT ||\n process.env.MOBIUS_SOCKET_AUTH_RESPONSE_TIMEOUT ||\n 10000,\n /**\n * Maximum milliseconds between connection attempts\n * @type {Number}\n */\n backoffTimeMax: process.env.MOBIUS_SOCKET_BACKOFF_TIME_MAX || 32000,\n /**\n * Initial milliseconds between connection attempts\n * @type {Number}\n */\n backoffTimeReset: process.env.MOBIUS_SOCKET_BACKOFF_TIME_RESET || 1000,\n /**\n * Maximum number of retries for the initial connect() flow before rejecting.\n * @type {Number}\n */\n initialConnectionMaxRetries: process.env.MOBIUS_SOCKET_INITIAL_CONNECTION_MAX_RETRIES || 0,\n /**\n * Maximum number of retries for reconnect attempts after the socket has connected once.\n * A value of 0 means unlimited reconnect retries.\n * @type {Number}\n */\n maxRetries: process.env.MOBIUS_SOCKET_MAX_RETRIES || 0,\n /**\n * Milliseconds to wait for a close frame before declaring the socket dead and\n * discarding it\n * @type {number}\n */\n forceCloseDelay: process.env.MOBIUS_SOCKET_FORCE_CLOSE_DELAY || 2000,\n /**\n * When logging out, use default reason which can trigger a reconnect,\n * or set to something else, like `done (permanent)` to prevent reconnect\n * @type {String}\n */\n beforeLogoutOptionsCloseReason: process.env.MOBIUS_SOCKET_LOGOUT_REASON || 'done (forced)',\n /**\n * Maximum number of eventIds to retain in the dedup cache for suppressing\n * duplicate async_event messages retransmitted by the server.\n * @type {Number}\n */\n dedupCacheMaxSize: process.env.MOBIUS_SOCKET_DEDUP_CACHE_MAX_SIZE || 1000,\n};\n\nexport default {\n mobiusSocket: mobiusSocketConfig,\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;;AAEA,IAAMA,kBAAkB,GAAG;EACzB;AACF;AACA;AACA;EACEC,kBAAkB,EAChBC,OAAO,CAACC,GAAG,CAACC,8BAA8B,IAC1CF,OAAO,CAACC,GAAG,CAACE,mCAAmC,IAC/C,KAAK;EACP;AACF;AACA;AACA;EACEC,cAAc,EAAEJ,OAAO,CAACC,GAAG,CAACI,8BAA8B,IAAI,KAAK;EACnE;AACF;AACA;AACA;EACEC,gBAAgB,EAAEN,OAAO,CAACC,GAAG,CAACM,gCAAgC,IAAI,IAAI;EACtE;AACF;AACA;AACA;EACEC,2BAA2B,EAAER,OAAO,CAACC,GAAG,CAACQ,4CAA4C,IAAI,CAAC;EAC1F;AACF;AACA;AACA;AACA;EACEC,UAAU,EAAEV,OAAO,CAACC,GAAG,CAACU,yBAAyB,IAAI,CAAC;EACtD;AACF;AACA;AACA;AACA;EACEC,eAAe,EAAEZ,OAAO,CAACC,GAAG,CAACY,+BAA+B,IAAI,IAAI;EACpE;AACF;AACA;AACA;AACA;EACEC,8BAA8B,EAAEd,OAAO,CAACC,GAAG,CAACc,2BAA2B,IAAI,eAAe;EAC1F;AACF;AACA;AACA;AACA;EACEC,iBAAiB,EAAEhB,OAAO,CAACC,GAAG,CAACgB,kCAAkC,IAAI;AACvE,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa;EACbC,YAAY,EAAEvB;AAChB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["mobiusSocketConfig","wssResponseTimeout","process","env","MOBIUS_SOCKET_RESPONSE_TIMEOUT","MOBIUS_SOCKET_AUTH_RESPONSE_TIMEOUT","backoffTimeMax","MOBIUS_SOCKET_BACKOFF_TIME_MAX","backoffTimeReset","MOBIUS_SOCKET_BACKOFF_TIME_RESET","initialConnectionMaxRetries","MOBIUS_SOCKET_INITIAL_CONNECTION_MAX_RETRIES","maxRetries","MOBIUS_SOCKET_MAX_RETRIES","forceCloseDelay","MOBIUS_SOCKET_FORCE_CLOSE_DELAY","beforeLogoutOptionsCloseReason","MOBIUS_SOCKET_LOGOUT_REASON","dedupCacheMaxSize","MOBIUS_SOCKET_DEDUP_CACHE_MAX_SIZE","_default","exports","default","mobiusSocket"],"sources":["config.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport interface MobiusSocketConfig {\n wssResponseTimeout: string | number;\n backoffTimeMax: string | number;\n backoffTimeReset: string | number;\n initialConnectionMaxRetries: string | number;\n maxRetries: string | number;\n forceCloseDelay: string | number;\n beforeLogoutOptionsCloseReason: string;\n dedupCacheMaxSize: string | number;\n}\n\nconst mobiusSocketConfig: MobiusSocketConfig = {\n /**\n * Milliseconds to wait for websocket request/response messages, including auth.\n * Type: string | number\n */\n wssResponseTimeout:\n process.env.MOBIUS_SOCKET_RESPONSE_TIMEOUT ||\n process.env.MOBIUS_SOCKET_AUTH_RESPONSE_TIMEOUT ||\n 10000,\n /**\n * Maximum milliseconds between connection attempts\n * Type: string | number\n */\n backoffTimeMax: process.env.MOBIUS_SOCKET_BACKOFF_TIME_MAX || 32000,\n /**\n * Initial milliseconds between connection attempts\n * Type: string | number\n */\n backoffTimeReset: process.env.MOBIUS_SOCKET_BACKOFF_TIME_RESET || 1000,\n /**\n * Maximum number of retries for the initial connect() flow before rejecting.\n * Type: string | number\n */\n initialConnectionMaxRetries: process.env.MOBIUS_SOCKET_INITIAL_CONNECTION_MAX_RETRIES || 0,\n /**\n * Maximum number of retries for reconnect attempts after the socket has connected once.\n * A value of 0 means unlimited reconnect retries.\n * Type: string | number\n */\n maxRetries: process.env.MOBIUS_SOCKET_MAX_RETRIES || 0,\n /**\n * Milliseconds to wait for a close frame before declaring the socket dead and\n * discarding it\n * Type: string | number\n */\n forceCloseDelay: process.env.MOBIUS_SOCKET_FORCE_CLOSE_DELAY || 2000,\n /**\n * When logging out, use default reason which can trigger a reconnect,\n * or set to something else, like `done (permanent)` to prevent reconnect\n * Type: string\n */\n beforeLogoutOptionsCloseReason: process.env.MOBIUS_SOCKET_LOGOUT_REASON || 'done (forced)',\n /**\n * Maximum number of eventIds to retain in the dedup cache for suppressing\n * duplicate async_event messages retransmitted by the server.\n * Type: string | number\n */\n dedupCacheMaxSize: process.env.MOBIUS_SOCKET_DEDUP_CACHE_MAX_SIZE || 1000,\n};\n\nexport default {\n mobiusSocket: mobiusSocketConfig,\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;;AAaA,IAAMA,kBAAsC,GAAG;EAC7C;AACF;AACA;AACA;EACEC,kBAAkB,EAChBC,OAAO,CAACC,GAAG,CAACC,8BAA8B,IAC1CF,OAAO,CAACC,GAAG,CAACE,mCAAmC,IAC/C,KAAK;EACP;AACF;AACA;AACA;EACEC,cAAc,EAAEJ,OAAO,CAACC,GAAG,CAACI,8BAA8B,IAAI,KAAK;EACnE;AACF;AACA;AACA;EACEC,gBAAgB,EAAEN,OAAO,CAACC,GAAG,CAACM,gCAAgC,IAAI,IAAI;EACtE;AACF;AACA;AACA;EACEC,2BAA2B,EAAER,OAAO,CAACC,GAAG,CAACQ,4CAA4C,IAAI,CAAC;EAC1F;AACF;AACA;AACA;AACA;EACEC,UAAU,EAAEV,OAAO,CAACC,GAAG,CAACU,yBAAyB,IAAI,CAAC;EACtD;AACF;AACA;AACA;AACA;EACEC,eAAe,EAAEZ,OAAO,CAACC,GAAG,CAACY,+BAA+B,IAAI,IAAI;EACpE;AACF;AACA;AACA;AACA;EACEC,8BAA8B,EAAEd,OAAO,CAACC,GAAG,CAACc,2BAA2B,IAAI,eAAe;EAC1F;AACF;AACA;AACA;AACA;EACEC,iBAAiB,EAAEhB,OAAO,CAACC,GAAG,CAACgB,kCAAkC,IAAI;AACvE,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa;EACbC,YAAY,EAAEvB;AAChB,CAAC","ignoreList":[]}
@@ -18,7 +18,7 @@ var _common = require("@webex/common");
18
18
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
19
19
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /*!
20
20
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
21
- */
21
+ */ // @ts-expect-error `@webex/common` is still JS-only and does not ship declarations.
22
22
  /**
23
23
  * Exception thrown when a websocket gets closed
24
24
  */
@@ -32,8 +32,7 @@ var ConnectionError = exports.ConnectionError = /*#__PURE__*/function (_Exceptio
32
32
  key: "parse",
33
33
  value:
34
34
  /**
35
- * @param {CloseEvent} event
36
- * @returns {string}
35
+ * @param event
37
36
  */
38
37
  function parse() {
39
38
  var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -1 +1 @@
1
- {"version":3,"names":["_common","require","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","ConnectionError","exports","_Exception","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","parse","event","length","undefined","_defineProperties","code","reason","Exception","_defineProperty2","UnknownResponse","_ConnectionError2","BadRequest","_ConnectionError3","NotAuthorized","_ConnectionError4","Forbidden","_ConnectionError5"],"sources":["errors.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Exception} from '@webex/common';\n\n/**\n * Exception thrown when a websocket gets closed\n */\nexport class ConnectionError extends Exception {\n static defaultMessage = 'Failed to connect to socket';\n\n /**\n * @param {CloseEvent} event\n * @returns {string}\n */\n parse(event = {}) {\n Object.defineProperties(this, {\n code: {\n value: event.code,\n },\n reason: {\n value: event.reason,\n },\n });\n\n return event.reason;\n }\n}\n\n/**\n * thrown for CloseCode 4400\n */\nexport class UnknownResponse extends ConnectionError {\n static defaultMessage =\n 'UnknownResponse is produced by IE when we receive a 4XXX. You probably want to treat this like a NotFound';\n}\n\n/**\n * thrown for CloseCode 4400\n */\nexport class BadRequest extends ConnectionError {\n static defaultMessage =\n 'BadRequest usually implies an attempt to use service account credentials';\n}\n\n/**\n * thrown for CloseCode 4401\n */\nexport class NotAuthorized extends ConnectionError {\n static defaultMessage = 'Please refresh your access token';\n}\n\n/**\n * thrown for CloseCode 4403\n */\nexport class Forbidden extends ConnectionError {\n static defaultMessage = 'Forbidden usually implies these credentials are not entitled for Webex';\n}\n\n// /**\n// * thrown for CloseCode 4404\n// */\n// export class NotFound extends ConnectionError {\n// static defaultMessage = `Please refresh your Mercury registration (typically via a WDM refresh)`;\n// }\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_common","require","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","ConnectionError","exports","_Exception","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","parse","event","length","undefined","_defineProperties","code","reason","Exception","_defineProperty2","UnknownResponse","_ConnectionError2","BadRequest","_ConnectionError3","NotAuthorized","_ConnectionError4","Forbidden","_ConnectionError5"],"sources":["errors.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n// @ts-expect-error `@webex/common` is still JS-only and does not ship declarations.\nimport {Exception} from '@webex/common';\nimport type {SocketCloseEvent} from './socket/types';\n\n/**\n * Exception thrown when a websocket gets closed\n */\nexport class ConnectionError extends Exception {\n static defaultMessage = 'Failed to connect to socket';\n\n /**\n * @param event\n */\n parse(event: SocketCloseEvent = {}) {\n Object.defineProperties(this, {\n code: {\n value: event.code,\n },\n reason: {\n value: event.reason,\n },\n });\n\n return event.reason;\n }\n}\n\n/**\n * thrown for CloseCode 4400\n */\nexport class UnknownResponse extends ConnectionError {\n static defaultMessage =\n 'UnknownResponse is produced by IE when we receive a 4XXX. You probably want to treat this like a NotFound';\n}\n\n/**\n * thrown for CloseCode 4400\n */\nexport class BadRequest extends ConnectionError {\n static defaultMessage =\n 'BadRequest usually implies an attempt to use service account credentials';\n}\n\n/**\n * thrown for CloseCode 4401\n */\nexport class NotAuthorized extends ConnectionError {\n static defaultMessage = 'Please refresh your access token';\n}\n\n/**\n * thrown for CloseCode 4403\n */\nexport class Forbidden extends ConnectionError {\n static defaultMessage = 'Forbidden usually implies these credentials are not entitled for Webex';\n}\n\n// /**\n// * thrown for CloseCode 4404\n// */\n// export class NotFound extends ConnectionError {\n// static defaultMessage = `Please refresh your Mercury registration (typically via a WDM refresh)`;\n// }\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,10 @@
1
1
  "use strict";
2
2
 
3
+ var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
4
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
5
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
6
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
7
+ var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
3
8
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
9
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
5
10
  _Object$defineProperty(exports, "__esModule", {
@@ -56,6 +61,7 @@ _Object$defineProperty(exports, "config", {
56
61
  exports.default = void 0;
57
62
  exports.getMobiusSocketInstance = getMobiusSocketInstance;
58
63
  exports.resetMobiusSocketInstance = resetMobiusSocketInstance;
64
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
59
65
  require("@webex/internal-plugin-device");
60
66
  require("@webex/internal-plugin-feature");
61
67
  require("@webex/internal-plugin-metrics");
@@ -63,36 +69,36 @@ var _mobiusSocket = _interopRequireDefault(require("./mobius-socket"));
63
69
  var _config = _interopRequireDefault(require("./config"));
64
70
  var _socket = _interopRequireDefault(require("./socket"));
65
71
  var _errors = require("./errors");
66
- /*!
72
+ function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
73
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } /*!
67
74
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
68
75
  */
69
-
70
76
  /**
71
77
  * Creates a calling-owned Mobius socket client for the provided Webex instance.
72
78
  *
73
- * @param {object} webex
74
- * @param {object} [mobiusSocketConfig]
75
- * @returns {MobiusSocket}
79
+ * @param webex
80
+ * @param [mobiusSocketConfig]
81
+ * @returns
76
82
  */
77
83
  var mobiusSocketInstance; // Keeping just one instance of MobiusSocket since there won't be multiple connections
78
84
 
79
85
  /**
80
86
  * Creates or returns the singleton Mobius socket client for the provided Webex instance.
81
- * @param {object} webex - The Webex SDK instance
82
- * @param {object} [mobiusSocketConfig] - Optional configuration overrides
83
- * @returns {MobiusSocket} The singleton MobiusSocket instance
87
+ * @param webex - The Webex SDK instance
88
+ * @param [mobiusSocketConfig] - Optional configuration overrides
89
+ * @returns The singleton MobiusSocket instance
84
90
  */
85
91
  function getMobiusSocketInstance(webex, mobiusSocketConfig) {
86
92
  if (mobiusSocketInstance) {
87
93
  return mobiusSocketInstance;
88
94
  }
89
- mobiusSocketInstance = new _mobiusSocket.default(webex, mobiusSocketConfig || _config.default.mobiusSocket);
95
+ mobiusSocketInstance = new _mobiusSocket.default(webex, _objectSpread(_objectSpread({}, _config.default.mobiusSocket), mobiusSocketConfig));
90
96
  return mobiusSocketInstance;
91
97
  }
92
98
 
93
99
  /**
94
100
  * Resets the singleton MobiusSocket instance, allowing a new one to be created.
95
- * @returns {void}
101
+ * @returns
96
102
  */
97
103
  function resetMobiusSocketInstance() {
98
104
  mobiusSocketInstance = undefined;
@@ -1 +1 @@
1
- {"version":3,"names":["require","_mobiusSocket","_interopRequireDefault","_config","_socket","_errors","mobiusSocketInstance","getMobiusSocketInstance","webex","mobiusSocketConfig","MobiusSocket","config","mobiusSocket","resetMobiusSocketInstance","undefined","_default","exports","default"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-device';\nimport '@webex/internal-plugin-feature';\nimport '@webex/internal-plugin-metrics';\n\nimport MobiusSocket from './mobius-socket';\nimport config from './config';\n\n/**\n * Creates a calling-owned Mobius socket client for the provided Webex instance.\n *\n * @param {object} webex\n * @param {object} [mobiusSocketConfig]\n * @returns {MobiusSocket}\n */\nlet mobiusSocketInstance; // Keeping just one instance of MobiusSocket since there won't be multiple connections\n\n/**\n * Creates or returns the singleton Mobius socket client for the provided Webex instance.\n * @param {object} webex - The Webex SDK instance\n * @param {object} [mobiusSocketConfig] - Optional configuration overrides\n * @returns {MobiusSocket} The singleton MobiusSocket instance\n */\nexport function getMobiusSocketInstance(webex, mobiusSocketConfig) {\n if (mobiusSocketInstance) {\n return mobiusSocketInstance;\n }\n\n mobiusSocketInstance = new MobiusSocket(webex, mobiusSocketConfig || config.mobiusSocket);\n\n return mobiusSocketInstance;\n}\n\n/**\n * Resets the singleton MobiusSocket instance, allowing a new one to be created.\n * @returns {void}\n */\nexport function resetMobiusSocketInstance() {\n mobiusSocketInstance = undefined;\n}\n\nexport default MobiusSocket;\nexport {MobiusSocket};\nexport {default as Socket} from './socket';\nexport {config};\nexport {BadRequest, ConnectionError, Forbidden, NotAuthorized, UnknownResponse} from './errors';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAEA,IAAAC,aAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAD,sBAAA,CAAAF,OAAA;AAqCA,IAAAI,OAAA,GAAAF,sBAAA,CAAAF,OAAA;AAEA,IAAAK,OAAA,GAAAL,OAAA;AAhDA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIM,oBAAoB,CAAC,CAAC;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,uBAAuBA,CAACC,KAAK,EAAEC,kBAAkB,EAAE;EACjE,IAAIH,oBAAoB,EAAE;IACxB,OAAOA,oBAAoB;EAC7B;EAEAA,oBAAoB,GAAG,IAAII,qBAAY,CAACF,KAAK,EAAEC,kBAAkB,IAAIE,eAAM,CAACC,YAAY,CAAC;EAEzF,OAAON,oBAAoB;AAC7B;;AAEA;AACA;AACA;AACA;AACO,SAASO,yBAAyBA,CAAA,EAAG;EAC1CP,oBAAoB,GAAGQ,SAAS;AAClC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcP,qBAAY","ignoreList":[]}
1
+ {"version":3,"names":["require","_mobiusSocket","_interopRequireDefault","_config","_socket","_errors","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","mobiusSocketInstance","getMobiusSocketInstance","webex","mobiusSocketConfig","MobiusSocket","config","mobiusSocket","resetMobiusSocketInstance","undefined","_default","exports"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-device';\nimport '@webex/internal-plugin-feature';\nimport '@webex/internal-plugin-metrics';\n\nimport MobiusSocket from './mobius-socket';\nimport config, {MobiusSocketConfig} from './config';\n\n/**\n * Creates a calling-owned Mobius socket client for the provided Webex instance.\n *\n * @param webex\n * @param [mobiusSocketConfig]\n * @returns\n */\nlet mobiusSocketInstance: MobiusSocket | undefined; // Keeping just one instance of MobiusSocket since there won't be multiple connections\n\n/**\n * Creates or returns the singleton Mobius socket client for the provided Webex instance.\n * @param webex - The Webex SDK instance\n * @param [mobiusSocketConfig] - Optional configuration overrides\n * @returns The singleton MobiusSocket instance\n */\nexport function getMobiusSocketInstance(\n webex: any,\n mobiusSocketConfig?: Partial<MobiusSocketConfig>\n): MobiusSocket {\n if (mobiusSocketInstance) {\n return mobiusSocketInstance;\n }\n\n mobiusSocketInstance = new MobiusSocket(webex, {\n ...config.mobiusSocket,\n ...mobiusSocketConfig,\n });\n\n return mobiusSocketInstance;\n}\n\n/**\n * Resets the singleton MobiusSocket instance, allowing a new one to be created.\n * @returns\n */\nexport function resetMobiusSocketInstance() {\n mobiusSocketInstance = undefined;\n}\n\nexport default MobiusSocket;\nexport {MobiusSocket};\nexport {default as Socket} from './socket';\nexport {config};\nexport {BadRequest, ConnectionError, Forbidden, NotAuthorized, UnknownResponse} from './errors';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAEA,IAAAC,aAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAD,sBAAA,CAAAF,OAAA;AA2CA,IAAAI,OAAA,GAAAF,sBAAA,CAAAF,OAAA;AAEA,IAAAK,OAAA,GAAAL,OAAA;AAAgG,SAAAM,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAH,CAAA,OAAAI,6BAAA,QAAAC,CAAA,GAAAD,6BAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAM,gCAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAe,MAAA,CAAAZ,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAiB,iCAAA,GAAAC,wBAAA,CAAAnB,CAAA,EAAAkB,iCAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAe,MAAA,CAAAZ,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAmB,sBAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAM,gCAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA,IAtDhG;AACA;AACA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIqB,oBAA8C,CAAC,CAAC;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,uBAAuBA,CACrCC,KAAU,EACVC,kBAAgD,EAClC;EACd,IAAIH,oBAAoB,EAAE;IACxB,OAAOA,oBAAoB;EAC7B;EAEAA,oBAAoB,GAAG,IAAII,qBAAY,CAACF,KAAK,EAAAZ,aAAA,CAAAA,aAAA,KACxCe,eAAM,CAACC,YAAY,GACnBH,kBAAkB,CACtB,CAAC;EAEF,OAAOH,oBAAoB;AAC7B;;AAEA;AACA;AACA;AACA;AACO,SAASO,yBAAyBA,CAAA,EAAG;EAC1CP,oBAAoB,GAAGQ,SAAS;AAClC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAd,OAAA,GAEcQ,qBAAY","ignoreList":[]}
@@ -130,7 +130,9 @@ describe('plugin-mobiusSocket', function () {
130
130
  if (mockWebSocket && typeof mockWebSocket.close === 'function') {
131
131
  try {
132
132
  mockWebSocket.close();
133
- } catch (e) {}
133
+ } catch (e) {
134
+ // Ignore cleanup errors in tests.
135
+ }
134
136
  }
135
137
  // Restore stubs
136
138
  if (_index.Socket.getWebSocketConstructor.restore) {
@@ -214,12 +216,12 @@ describe('plugin-mobiusSocket', function () {
214
216
  var promise = mobiusSocket.connect();
215
217
  mockWebSocket.open();
216
218
  return promise.then(function () {
217
- var promise = mobiusSocket.disconnect();
219
+ var disconnectPromise = mobiusSocket.disconnect();
218
220
  mockWebSocket.emit('close', {
219
221
  code: 1000,
220
222
  reason: 'Done'
221
223
  });
222
- return promise;
224
+ return disconnectPromise;
223
225
  }).then(function () {
224
226
  return _testHelperChai.assert.calledOnce(spy);
225
227
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_crypto","require","_sinon","_interopRequireDefault","_testHelperChai","_testHelperMockWebex","_testHelperMockWebSocket","_index","_interopRequireWildcard","_constants","_promiseTick","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t2","hasOwnProperty","call","_Object$defineProperty2","_Object$getOwnPropertyDescriptor","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty3","_Object$getOwnPropertyDescriptors","_Object$defineProperties","crypto","randomUUID","_defineProperty2","value","configurable","describe","createUuid","mobiusSocket","mockWebSocket","originalSendSpy","socketOpenStub","usingFakeTimers","webex","fakeTestMessage","id","data","eventType","timestamp","_now","trackingId","concat","statusStartTypingMessage","actor","conversationId","sessionId","emitAuthResponse","_ref","undefined","_ref$statusCode","statusCode","_ref$statusMessage","statusMessage","sendSpy","send","lastCall","authRequest","JSON","parse","args","emit","_stringify","type","subtype","MESSAGE_TYPES","AUTH","beforeEach","jest","useFakeTimers","doNotFake","afterEach","_asyncToGenerator2","_regenerator","mark","_callee","_t","wrap","_context","prev","next","useRealTimers","_connectPromises","promise","catch","disconnectAll","clear","close","Socket","getWebSocketConstructor","restore","stop","MockWebex","internal","device","registered","metrics","submitClientMetrics","sinon","stub","logger","console","callsFake","_len","Array","_key","_construct2","MockWebSocket","origOpen","prototype","open","_len2","_key2","_apply","process","nextTick","MobiusSocket","mobiusConfig","defaultSessionId","it","firstListener","secondListener","on","off","assert","notCalled","spy","connect","then","called","disconnect","code","reason","calledOnce","calledTwice","resolveTest","rejectTest","bufferStateSpy","onlineSpy","_len3","_key3","_wrap2","fn","_this","_len4","sendArgs","_key4","isTrue","connecting","isFalse","connected","lengthOf","readyState","promiseTick","_promise","resolve","reject","events","action","def","description","_reconnect","offlineSpy","permanentSpy","transientSpy","replacedSpy","resetHistory","calledWith","url","fake","processTestEvent","startSpy","stopSpy"],"sources":["mobius-socket-events.test.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {randomUUID} from 'crypto';\nimport sinon from 'sinon';\nimport {assert} from '@webex/test-helper-chai';\nimport MockWebex from '@webex/test-helper-mock-webex';\nimport MockWebSocket from '@webex/test-helper-mock-web-socket';\nimport {wrap} from 'lodash';\nimport MobiusSocket, {config as mobiusConfig, Socket} from './index';\nimport {MESSAGE_TYPES} from './socket/constants';\n\nimport promiseTick from './test/promise-tick';\n\nif (!crypto.randomUUID) {\n Object.defineProperty(crypto, 'randomUUID', {\n value: randomUUID,\n configurable: true,\n });\n}\n\ndescribe('plugin-mobiusSocket', () => {\n const createUuid = () => crypto.randomUUID();\n\n describe('MobiusSocket', () => {\n describe('Events', () => {\n let mobiusSocket;\n let mockWebSocket;\n let originalSendSpy;\n let socketOpenStub;\n let usingFakeTimers;\n let webex;\n\n const fakeTestMessage = {\n id: createUuid(),\n data: {\n eventType: 'fake.test',\n },\n timestamp: Date.now(),\n trackingId: `suffix_${createUuid()}_${Date.now()}`,\n };\n\n const statusStartTypingMessage = {\n id: createUuid(),\n data: {\n eventType: 'status.start_typing',\n actor: {\n id: 'actorId',\n },\n conversationId: createUuid(),\n },\n timestamp: Date.now(),\n trackingId: `suffix_${createUuid()}_${Date.now()}`,\n sessionId: 'mobius-websocket-session',\n };\n\n const emitAuthResponse = ({statusCode = 200, statusMessage = 'OK'} = {}) => {\n const sendSpy = mockWebSocket.send.lastCall ? mockWebSocket.send : originalSendSpy;\n const authRequest = JSON.parse(sendSpy.lastCall.args[0]);\n\n mockWebSocket.emit('message', {\n data: JSON.stringify({\n type: 'response_event',\n subtype: MESSAGE_TYPES.AUTH,\n trackingId: authRequest.trackingId,\n statusCode,\n statusMessage,\n }),\n });\n };\n\n beforeEach(() => {\n jest.useFakeTimers({doNotFake: ['nextTick']});\n usingFakeTimers = true;\n });\n\n afterEach(async () => {\n if (usingFakeTimers) {\n jest.useRealTimers();\n usingFakeTimers = false;\n }\n if (mobiusSocket) {\n if (mobiusSocket._connectPromises) {\n mobiusSocket._connectPromises.forEach((promise) => {\n promise.catch(() => {});\n });\n }\n try {\n await mobiusSocket.disconnectAll();\n } catch (e) {}\n if (mobiusSocket._connectPromises) {\n mobiusSocket._connectPromises.clear();\n }\n }\n if (mockWebSocket && typeof mockWebSocket.close === 'function') {\n try {\n mockWebSocket.close();\n } catch (e) {}\n }\n // Restore stubs\n if (Socket.getWebSocketConstructor.restore) {\n Socket.getWebSocketConstructor.restore();\n }\n if (socketOpenStub && socketOpenStub.restore) {\n socketOpenStub.restore();\n }\n });\n\n beforeEach(() => {\n webex = new MockWebex();\n\n webex.internal.device.registered = true;\n webex.internal.metrics.submitClientMetrics = sinon.stub();\n webex.trackingId = 'fakeTrackingId';\n\n webex.logger = console;\n\n sinon.stub(Socket, 'getWebSocketConstructor').callsFake(\n () =>\n function (...args) {\n mockWebSocket = new MockWebSocket(...args);\n originalSendSpy = mockWebSocket.send;\n\n return mockWebSocket;\n }\n );\n\n const origOpen = Socket.prototype.open;\n\n socketOpenStub = sinon.stub(Socket.prototype, 'open').callsFake(function (...args) {\n const promise = Reflect.apply(origOpen, this, args);\n\n process.nextTick(() => {\n mockWebSocket.open();\n // Simulate Mobius auth response after socket open\n process.nextTick(() => {\n emitAuthResponse();\n });\n });\n\n return promise;\n });\n\n mobiusSocket = new MobiusSocket(webex, {...mobiusConfig.mobiusSocket});\n mobiusSocket.defaultSessionId = 'mobius-websocket-session';\n });\n\n it('removes all listeners for an event when off() is called without a listener', () => {\n const firstListener = sinon.stub();\n const secondListener = sinon.stub();\n\n mobiusSocket.on('event:fake.test', firstListener);\n mobiusSocket.on('event:fake.test', secondListener);\n\n mobiusSocket.off('event:fake.test');\n mobiusSocket.emit('event:fake.test', fakeTestMessage);\n\n assert.notCalled(firstListener);\n assert.notCalled(secondListener);\n });\n\n afterEach(() => {\n if (socketOpenStub) {\n socketOpenStub.restore();\n }\n\n if (Socket.getWebSocketConstructor.restore) {\n Socket.getWebSocketConstructor.restore();\n }\n });\n\n describe('when connected', () => {\n it('emits the `online` event', () => {\n const spy = sinon.spy();\n\n mobiusSocket.on('online', spy);\n const promise = mobiusSocket.connect();\n\n return promise.then(() => assert.called(spy));\n });\n });\n\n describe('when disconnected', () => {\n it('emits the `offline` event', () => {\n const spy = sinon.spy();\n\n mobiusSocket.on('offline', spy);\n const promise = mobiusSocket.connect();\n\n mockWebSocket.open();\n\n return promise\n .then(() => {\n const promise = mobiusSocket.disconnect();\n\n mockWebSocket.emit('close', {\n code: 1000,\n reason: 'Done',\n });\n\n return promise;\n })\n .then(() => assert.calledOnce(spy));\n });\n\n describe('when reconnected', () => {\n it('emits the `online` event', () => {\n const spy = sinon.spy();\n\n mobiusSocket.on('online', spy);\n\n const promise = mobiusSocket.connect();\n\n mockWebSocket.open();\n\n return promise\n .then(() => assert.calledOnce(spy))\n .then(() => mockWebSocket.emit('close', {code: 1000, reason: 'Idle'}))\n .then(() => mobiusSocket.connect())\n .then(() => assert.calledTwice(spy));\n });\n });\n });\n\n describe('when `mercury.buffer_state` is received', () => {\n // This test is here because the buffer states message may arrive before\n // the mobiusSocket Promise resolves.\n it('gets emitted', () => {\n let sendSpy;\n let resolveTest;\n let rejectTest;\n const bufferStateSpy = sinon.spy();\n const onlineSpy = sinon.spy();\n\n mobiusSocket.on('event:mercury.buffer_state', bufferStateSpy);\n mobiusSocket.on('online', onlineSpy);\n\n Socket.getWebSocketConstructor.callsFake(\n () =>\n function (...args) {\n mockWebSocket = new MockWebSocket(...args);\n sendSpy = mockWebSocket.send;\n mockWebSocket.send = wrap(mockWebSocket.send, function (fn, ...sendArgs) {\n process.nextTick(() => {\n Reflect.apply(fn, this, sendArgs);\n });\n });\n\n process.nextTick(() => {\n assert.isTrue(mobiusSocket.connecting, 'MobiusSocket is still connecting');\n assert.isFalse(mobiusSocket.connected, 'MobiusSocket has not yet connected');\n assert.notCalled(onlineSpy);\n assert.lengthOf(sendSpy.args, 0, 'The client has not yet sent the auth message');\n // set websocket readystate to 1 to allow a successful send message\n mockWebSocket.readyState = 1;\n mockWebSocket.emit('open');\n mockWebSocket.emit('message', {\n data: JSON.stringify({\n id: createUuid(),\n data: {\n eventType: 'mercury.buffer_state',\n },\n }),\n });\n // using lengthOf because notCalled doesn't allow the helpful\n // string assertion\n assert.lengthOf(\n sendSpy.args,\n 0,\n 'The client has not acked the buffer_state message'\n );\n\n promiseTick(1)\n .then(() => {\n assert.calledOnce(bufferStateSpy);\n resolveTest();\n })\n .catch(rejectTest);\n });\n\n return mockWebSocket;\n }\n );\n\n return new Promise((resolve, reject) => {\n resolveTest = resolve;\n rejectTest = reject;\n mobiusSocket.connect().catch(() => {});\n });\n });\n });\n\n describe('when a CloseEvent is received', () => {\n const events = [\n {\n code: 1000,\n reason: 'idle',\n action: 'reconnect',\n },\n {\n code: 1000,\n reason: 'done (forced)',\n action: 'reconnect',\n },\n {\n code: 1000,\n reason: 'pong not received',\n action: 'close',\n },\n {\n code: 1000,\n reason: 'pong mismatch',\n action: 'close',\n },\n {\n code: 1000,\n action: 'close',\n },\n {\n code: 1003,\n action: 'close',\n },\n {\n code: 1001,\n action: 'reconnect',\n },\n {\n code: 1005,\n action: 'reconnect',\n },\n {\n code: 1006,\n action: 'reconnect',\n },\n {\n code: 1011,\n action: 'reconnect',\n },\n {\n code: 4000,\n action: 'replace',\n },\n {\n action: 'close',\n },\n ];\n\n events.forEach((def) => {\n const {action, reason, code} = def;\n let description;\n\n if (code && reason) {\n description = `with code \\`${code}\\` and reason \\`${reason}\\``;\n } else if (code) {\n description = `with code \\`${code}\\``;\n } else if (reason) {\n description = `with reason \\`${reason}\\``;\n }\n\n describe(`when an event ${description} is received`, () => {\n it(`takes the ${action} action`, () => {\n if (mobiusSocket._reconnect.restore) {\n mobiusSocket._reconnect.restore();\n }\n\n sinon.spy(mobiusSocket, 'connect');\n\n const offlineSpy = sinon.spy();\n const permanentSpy = sinon.spy();\n const transientSpy = sinon.spy();\n const replacedSpy = sinon.spy();\n\n mobiusSocket.on('offline', offlineSpy);\n mobiusSocket.on('offline.permanent', permanentSpy);\n mobiusSocket.on('offline.transient', transientSpy);\n mobiusSocket.on('offline.replaced', replacedSpy);\n\n const promise = mobiusSocket.connect();\n\n mockWebSocket.open();\n\n return promise\n .then(() => {\n // Make sure mobiusSocket.connect has a call count of zero\n mobiusSocket.connect.resetHistory();\n\n mockWebSocket.emit('close', {code, reason});\n\n return promiseTick(1);\n })\n .then(() => {\n assert.called(offlineSpy);\n assert.calledWith(offlineSpy, {\n code,\n reason,\n sessionId: 'mobius-websocket-session',\n });\n switch (action) {\n case 'close':\n assert.called(permanentSpy);\n assert.notCalled(transientSpy);\n assert.notCalled(replacedSpy);\n break;\n case 'reconnect':\n assert.notCalled(permanentSpy);\n assert.called(transientSpy);\n assert.notCalled(replacedSpy);\n break;\n case 'replace':\n assert.notCalled(permanentSpy);\n assert.notCalled(transientSpy);\n assert.called(replacedSpy);\n break;\n default:\n assert(false, 'unreachable code reached');\n }\n assert.isFalse(mobiusSocket.connected, 'MobiusSocket is not connected');\n if (action === 'reconnect') {\n assert.called(mobiusSocket.connect);\n assert.calledWith(mobiusSocket.connect, mockWebSocket.url);\n assert.isTrue(mobiusSocket.connecting, 'MobiusSocket is connecting');\n\n // Block until reconnect completes so logs don't overlap\n return mobiusSocket.connect();\n }\n\n assert.notCalled(mobiusSocket.connect);\n assert.isFalse(mobiusSocket.connecting, 'MobiusSocket is not connecting');\n\n return Promise.resolve();\n });\n });\n });\n });\n });\n\n describe('when a MessageEvent is received', () => {\n it('processes the Event via any autowired event handlers', () => {\n webex.fake = {\n processTestEvent: sinon.spy(),\n };\n\n const promise = mobiusSocket.connect();\n\n mockWebSocket.open();\n\n return promise\n .then(() => {\n mockWebSocket.emit('message', {data: JSON.stringify(fakeTestMessage)});\n\n return promiseTick(1);\n })\n .then(() => {\n assert.called(webex.fake.processTestEvent);\n });\n });\n\n it('emits the MobiusSocket envelope', () => {\n const startSpy = sinon.spy();\n const stopSpy = sinon.spy();\n\n mobiusSocket.on('event:status.start_typing', startSpy);\n mobiusSocket.on('event:status.stop_typing', stopSpy);\n\n const promise = mobiusSocket.connect();\n\n mockWebSocket.open();\n\n return promise\n .then(() => {\n mockWebSocket.emit('message', {data: JSON.stringify(statusStartTypingMessage)});\n\n return promiseTick(1);\n })\n .then(() => {\n assert.calledOnce(startSpy);\n assert.notCalled(stopSpy);\n assert.calledWith(startSpy, statusStartTypingMessage);\n });\n });\n\n it(\"emits the MobiusSocket envelope named by the MobiusSocket event's eventType\", () => {\n const startSpy = sinon.spy();\n const stopSpy = sinon.spy();\n\n mobiusSocket.on('event:status.start_typing', startSpy);\n mobiusSocket.on('event:status.stop_typing', stopSpy);\n\n const promise = mobiusSocket.connect();\n\n mockWebSocket.open();\n\n return promise\n .then(() => {\n mockWebSocket.emit('message', {data: JSON.stringify(statusStartTypingMessage)});\n\n return promiseTick(1);\n })\n .then(() => {\n assert.calledOnce(startSpy);\n assert.notCalled(stopSpy);\n assert.calledWith(startSpy, statusStartTypingMessage);\n });\n });\n });\n\n // Mobius does not use sequence numbers, so sequence-mismatch tests are not applicable\n });\n });\n\n /*\n // On mobiusSocket:\n online\n offline\n offline.transient\n offline.permanent\n offline.replaced\n event\n event:locus.participant_joined\n mockWebSocket.connection-failed\n mockWebSocket.sequence-mismatch\n\n // On webex:\n mobiusSocket.online\n mobiusSocket.offline\n mobiusSocket.offline.transient\n mobiusSocket.offline.permanent\n mobiusSocket.offline.replaced\n mobiusSocket.event\n mobiusSocket.event:locus.participant_joined\n mobiusSocket.mockWebSocket.connection-failed\n mobiusSocket.mockWebSocket.sequence-mismatch\n\n // TODO go through all it(`emits...`) and make sure corresponding tests are here\n */\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_crypto","require","_sinon","_interopRequireDefault","_testHelperChai","_testHelperMockWebex","_testHelperMockWebSocket","_index","_interopRequireWildcard","_constants","_promiseTick","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t2","hasOwnProperty","call","_Object$defineProperty2","_Object$getOwnPropertyDescriptor","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty3","_Object$getOwnPropertyDescriptors","_Object$defineProperties","crypto","randomUUID","_defineProperty2","value","configurable","describe","createUuid","mobiusSocket","mockWebSocket","originalSendSpy","socketOpenStub","usingFakeTimers","webex","fakeTestMessage","id","data","eventType","timestamp","_now","trackingId","concat","statusStartTypingMessage","actor","conversationId","sessionId","emitAuthResponse","_ref","undefined","_ref$statusCode","statusCode","_ref$statusMessage","statusMessage","sendSpy","send","lastCall","authRequest","JSON","parse","args","emit","_stringify","type","subtype","MESSAGE_TYPES","AUTH","beforeEach","jest","useFakeTimers","doNotFake","afterEach","_asyncToGenerator2","_regenerator","mark","_callee","_t","wrap","_context","prev","next","useRealTimers","_connectPromises","promise","catch","disconnectAll","clear","close","Socket","getWebSocketConstructor","restore","stop","MockWebex","internal","device","registered","metrics","submitClientMetrics","sinon","stub","logger","console","callsFake","_len","Array","_key","_construct2","MockWebSocket","origOpen","prototype","open","_len2","_key2","_apply","process","nextTick","MobiusSocket","mobiusConfig","defaultSessionId","it","firstListener","secondListener","on","off","assert","notCalled","spy","connect","then","called","disconnectPromise","disconnect","code","reason","calledOnce","calledTwice","resolveTest","rejectTest","bufferStateSpy","onlineSpy","_len3","_key3","_wrap2","fn","_this","_len4","sendArgs","_key4","isTrue","connecting","isFalse","connected","lengthOf","readyState","promiseTick","_promise","resolve","reject","events","action","def","description","_reconnect","offlineSpy","permanentSpy","transientSpy","replacedSpy","resetHistory","calledWith","url","fake","processTestEvent","startSpy","stopSpy"],"sources":["mobius-socket-events.test.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {randomUUID} from 'crypto';\nimport sinon from 'sinon';\nimport {assert} from '@webex/test-helper-chai';\nimport MockWebex from '@webex/test-helper-mock-webex';\nimport MockWebSocket from '@webex/test-helper-mock-web-socket';\nimport {wrap} from 'lodash';\nimport MobiusSocket, {config as mobiusConfig, Socket} from './index';\nimport {MESSAGE_TYPES} from './socket/constants';\n\nimport promiseTick from './test/promise-tick';\n\nif (!crypto.randomUUID) {\n Object.defineProperty(crypto, 'randomUUID', {\n value: randomUUID,\n configurable: true,\n });\n}\n\ndescribe('plugin-mobiusSocket', () => {\n const createUuid = () => crypto.randomUUID();\n\n describe('MobiusSocket', () => {\n describe('Events', () => {\n let mobiusSocket;\n let mockWebSocket;\n let originalSendSpy;\n let socketOpenStub;\n let usingFakeTimers;\n let webex;\n\n const fakeTestMessage = {\n id: createUuid(),\n data: {\n eventType: 'fake.test',\n },\n timestamp: Date.now(),\n trackingId: `suffix_${createUuid()}_${Date.now()}`,\n };\n\n const statusStartTypingMessage = {\n id: createUuid(),\n data: {\n eventType: 'status.start_typing',\n actor: {\n id: 'actorId',\n },\n conversationId: createUuid(),\n },\n timestamp: Date.now(),\n trackingId: `suffix_${createUuid()}_${Date.now()}`,\n sessionId: 'mobius-websocket-session',\n };\n\n const emitAuthResponse = ({statusCode = 200, statusMessage = 'OK'} = {}) => {\n const sendSpy = mockWebSocket.send.lastCall ? mockWebSocket.send : originalSendSpy;\n const authRequest = JSON.parse(sendSpy.lastCall.args[0]);\n\n mockWebSocket.emit('message', {\n data: JSON.stringify({\n type: 'response_event',\n subtype: MESSAGE_TYPES.AUTH,\n trackingId: authRequest.trackingId,\n statusCode,\n statusMessage,\n }),\n });\n };\n\n beforeEach(() => {\n jest.useFakeTimers({doNotFake: ['nextTick']});\n usingFakeTimers = true;\n });\n\n afterEach(async () => {\n if (usingFakeTimers) {\n jest.useRealTimers();\n usingFakeTimers = false;\n }\n if (mobiusSocket) {\n if (mobiusSocket._connectPromises) {\n mobiusSocket._connectPromises.forEach((promise) => {\n promise.catch(() => {});\n });\n }\n try {\n await mobiusSocket.disconnectAll();\n } catch (e) {\n // Ignore cleanup errors in tests.\n }\n if (mobiusSocket._connectPromises) {\n mobiusSocket._connectPromises.clear();\n }\n }\n if (mockWebSocket && typeof mockWebSocket.close === 'function') {\n try {\n mockWebSocket.close();\n } catch (e) {\n // Ignore cleanup errors in tests.\n }\n }\n // Restore stubs\n if (Socket.getWebSocketConstructor.restore) {\n Socket.getWebSocketConstructor.restore();\n }\n if (socketOpenStub && socketOpenStub.restore) {\n socketOpenStub.restore();\n }\n });\n\n beforeEach(() => {\n webex = new MockWebex();\n\n webex.internal.device.registered = true;\n webex.internal.metrics.submitClientMetrics = sinon.stub();\n webex.trackingId = 'fakeTrackingId';\n\n webex.logger = console;\n\n sinon.stub(Socket, 'getWebSocketConstructor').callsFake(\n () =>\n function (...args) {\n mockWebSocket = new MockWebSocket(...args);\n originalSendSpy = mockWebSocket.send;\n\n return mockWebSocket;\n }\n );\n\n const origOpen = Socket.prototype.open;\n\n socketOpenStub = sinon.stub(Socket.prototype, 'open').callsFake(function (...args) {\n const promise = Reflect.apply(origOpen, this, args);\n\n process.nextTick(() => {\n mockWebSocket.open();\n // Simulate Mobius auth response after socket open\n process.nextTick(() => {\n emitAuthResponse();\n });\n });\n\n return promise;\n });\n\n mobiusSocket = new MobiusSocket(webex, {...mobiusConfig.mobiusSocket});\n mobiusSocket.defaultSessionId = 'mobius-websocket-session';\n });\n\n it('removes all listeners for an event when off() is called without a listener', () => {\n const firstListener = sinon.stub();\n const secondListener = sinon.stub();\n\n mobiusSocket.on('event:fake.test', firstListener);\n mobiusSocket.on('event:fake.test', secondListener);\n\n mobiusSocket.off('event:fake.test');\n mobiusSocket.emit('event:fake.test', fakeTestMessage);\n\n assert.notCalled(firstListener);\n assert.notCalled(secondListener);\n });\n\n afterEach(() => {\n if (socketOpenStub) {\n socketOpenStub.restore();\n }\n\n if (Socket.getWebSocketConstructor.restore) {\n Socket.getWebSocketConstructor.restore();\n }\n });\n\n describe('when connected', () => {\n it('emits the `online` event', () => {\n const spy = sinon.spy();\n\n mobiusSocket.on('online', spy);\n const promise = mobiusSocket.connect();\n\n return promise.then(() => assert.called(spy));\n });\n });\n\n describe('when disconnected', () => {\n it('emits the `offline` event', () => {\n const spy = sinon.spy();\n\n mobiusSocket.on('offline', spy);\n const promise = mobiusSocket.connect();\n\n mockWebSocket.open();\n\n return promise\n .then(() => {\n const disconnectPromise = mobiusSocket.disconnect();\n\n mockWebSocket.emit('close', {\n code: 1000,\n reason: 'Done',\n });\n\n return disconnectPromise;\n })\n .then(() => assert.calledOnce(spy));\n });\n\n describe('when reconnected', () => {\n it('emits the `online` event', () => {\n const spy = sinon.spy();\n\n mobiusSocket.on('online', spy);\n\n const promise = mobiusSocket.connect();\n\n mockWebSocket.open();\n\n return promise\n .then(() => assert.calledOnce(spy))\n .then(() => mockWebSocket.emit('close', {code: 1000, reason: 'Idle'}))\n .then(() => mobiusSocket.connect())\n .then(() => assert.calledTwice(spy));\n });\n });\n });\n\n describe('when `mercury.buffer_state` is received', () => {\n // This test is here because the buffer states message may arrive before\n // the mobiusSocket Promise resolves.\n it('gets emitted', () => {\n let sendSpy;\n let resolveTest;\n let rejectTest;\n const bufferStateSpy = sinon.spy();\n const onlineSpy = sinon.spy();\n\n mobiusSocket.on('event:mercury.buffer_state', bufferStateSpy);\n mobiusSocket.on('online', onlineSpy);\n\n Socket.getWebSocketConstructor.callsFake(\n () =>\n function (...args) {\n mockWebSocket = new MockWebSocket(...args);\n sendSpy = mockWebSocket.send;\n mockWebSocket.send = wrap(mockWebSocket.send, function (fn, ...sendArgs) {\n process.nextTick(() => {\n Reflect.apply(fn, this, sendArgs);\n });\n });\n\n process.nextTick(() => {\n assert.isTrue(mobiusSocket.connecting, 'MobiusSocket is still connecting');\n assert.isFalse(mobiusSocket.connected, 'MobiusSocket has not yet connected');\n assert.notCalled(onlineSpy);\n assert.lengthOf(sendSpy.args, 0, 'The client has not yet sent the auth message');\n // set websocket readystate to 1 to allow a successful send message\n mockWebSocket.readyState = 1;\n mockWebSocket.emit('open');\n mockWebSocket.emit('message', {\n data: JSON.stringify({\n id: createUuid(),\n data: {\n eventType: 'mercury.buffer_state',\n },\n }),\n });\n // using lengthOf because notCalled doesn't allow the helpful\n // string assertion\n assert.lengthOf(\n sendSpy.args,\n 0,\n 'The client has not acked the buffer_state message'\n );\n\n promiseTick(1)\n .then(() => {\n assert.calledOnce(bufferStateSpy);\n resolveTest();\n })\n .catch(rejectTest);\n });\n\n return mockWebSocket;\n }\n );\n\n return new Promise((resolve, reject) => {\n resolveTest = resolve;\n rejectTest = reject;\n mobiusSocket.connect().catch(() => {});\n });\n });\n });\n\n describe('when a CloseEvent is received', () => {\n const events = [\n {\n code: 1000,\n reason: 'idle',\n action: 'reconnect',\n },\n {\n code: 1000,\n reason: 'done (forced)',\n action: 'reconnect',\n },\n {\n code: 1000,\n reason: 'pong not received',\n action: 'close',\n },\n {\n code: 1000,\n reason: 'pong mismatch',\n action: 'close',\n },\n {\n code: 1000,\n action: 'close',\n },\n {\n code: 1003,\n action: 'close',\n },\n {\n code: 1001,\n action: 'reconnect',\n },\n {\n code: 1005,\n action: 'reconnect',\n },\n {\n code: 1006,\n action: 'reconnect',\n },\n {\n code: 1011,\n action: 'reconnect',\n },\n {\n code: 4000,\n action: 'replace',\n },\n {\n action: 'close',\n },\n ];\n\n events.forEach((def) => {\n const {action, reason, code} = def;\n let description;\n\n if (code && reason) {\n description = `with code \\`${code}\\` and reason \\`${reason}\\``;\n } else if (code) {\n description = `with code \\`${code}\\``;\n } else if (reason) {\n description = `with reason \\`${reason}\\``;\n }\n\n describe(`when an event ${description} is received`, () => {\n it(`takes the ${action} action`, () => {\n if (mobiusSocket._reconnect.restore) {\n mobiusSocket._reconnect.restore();\n }\n\n sinon.spy(mobiusSocket, 'connect');\n\n const offlineSpy = sinon.spy();\n const permanentSpy = sinon.spy();\n const transientSpy = sinon.spy();\n const replacedSpy = sinon.spy();\n\n mobiusSocket.on('offline', offlineSpy);\n mobiusSocket.on('offline.permanent', permanentSpy);\n mobiusSocket.on('offline.transient', transientSpy);\n mobiusSocket.on('offline.replaced', replacedSpy);\n\n const promise = mobiusSocket.connect();\n\n mockWebSocket.open();\n\n return promise\n .then(() => {\n // Make sure mobiusSocket.connect has a call count of zero\n mobiusSocket.connect.resetHistory();\n\n mockWebSocket.emit('close', {code, reason});\n\n return promiseTick(1);\n })\n .then(() => {\n assert.called(offlineSpy);\n assert.calledWith(offlineSpy, {\n code,\n reason,\n sessionId: 'mobius-websocket-session',\n });\n switch (action) {\n case 'close':\n assert.called(permanentSpy);\n assert.notCalled(transientSpy);\n assert.notCalled(replacedSpy);\n break;\n case 'reconnect':\n assert.notCalled(permanentSpy);\n assert.called(transientSpy);\n assert.notCalled(replacedSpy);\n break;\n case 'replace':\n assert.notCalled(permanentSpy);\n assert.notCalled(transientSpy);\n assert.called(replacedSpy);\n break;\n default:\n assert(false, 'unreachable code reached');\n }\n assert.isFalse(mobiusSocket.connected, 'MobiusSocket is not connected');\n if (action === 'reconnect') {\n assert.called(mobiusSocket.connect);\n assert.calledWith(mobiusSocket.connect, mockWebSocket.url);\n assert.isTrue(mobiusSocket.connecting, 'MobiusSocket is connecting');\n\n // Block until reconnect completes so logs don't overlap\n return mobiusSocket.connect();\n }\n\n assert.notCalled(mobiusSocket.connect);\n assert.isFalse(mobiusSocket.connecting, 'MobiusSocket is not connecting');\n\n return Promise.resolve();\n });\n });\n });\n });\n });\n\n describe('when a MessageEvent is received', () => {\n it('processes the Event via any autowired event handlers', () => {\n webex.fake = {\n processTestEvent: sinon.spy(),\n };\n\n const promise = mobiusSocket.connect();\n\n mockWebSocket.open();\n\n return promise\n .then(() => {\n mockWebSocket.emit('message', {data: JSON.stringify(fakeTestMessage)});\n\n return promiseTick(1);\n })\n .then(() => {\n assert.called(webex.fake.processTestEvent);\n });\n });\n\n it('emits the MobiusSocket envelope', () => {\n const startSpy = sinon.spy();\n const stopSpy = sinon.spy();\n\n mobiusSocket.on('event:status.start_typing', startSpy);\n mobiusSocket.on('event:status.stop_typing', stopSpy);\n\n const promise = mobiusSocket.connect();\n\n mockWebSocket.open();\n\n return promise\n .then(() => {\n mockWebSocket.emit('message', {data: JSON.stringify(statusStartTypingMessage)});\n\n return promiseTick(1);\n })\n .then(() => {\n assert.calledOnce(startSpy);\n assert.notCalled(stopSpy);\n assert.calledWith(startSpy, statusStartTypingMessage);\n });\n });\n\n it(\"emits the MobiusSocket envelope named by the MobiusSocket event's eventType\", () => {\n const startSpy = sinon.spy();\n const stopSpy = sinon.spy();\n\n mobiusSocket.on('event:status.start_typing', startSpy);\n mobiusSocket.on('event:status.stop_typing', stopSpy);\n\n const promise = mobiusSocket.connect();\n\n mockWebSocket.open();\n\n return promise\n .then(() => {\n mockWebSocket.emit('message', {data: JSON.stringify(statusStartTypingMessage)});\n\n return promiseTick(1);\n })\n .then(() => {\n assert.calledOnce(startSpy);\n assert.notCalled(stopSpy);\n assert.calledWith(startSpy, statusStartTypingMessage);\n });\n });\n });\n\n // Mobius does not use sequence numbers, so sequence-mismatch tests are not applicable\n });\n });\n\n /*\n // On mobiusSocket:\n online\n offline\n offline.transient\n offline.permanent\n offline.replaced\n event\n event:locus.participant_joined\n mockWebSocket.connection-failed\n mockWebSocket.sequence-mismatch\n\n // On webex:\n mobiusSocket.online\n mobiusSocket.offline\n mobiusSocket.offline.transient\n mobiusSocket.offline.permanent\n mobiusSocket.offline.replaced\n mobiusSocket.event\n mobiusSocket.event:locus.participant_joined\n mobiusSocket.mockWebSocket.connection-failed\n mobiusSocket.mockWebSocket.sequence-mismatch\n\n // TODO go through all it(`emits...`) and make sure corresponding tests are here\n */\n});\n"],"mappings":"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","ignoreList":[]}
@@ -44,7 +44,8 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
44
44
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
45
45
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
46
46
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
47
- function _superPropGet(t, o, e, r) { var p = (0, _get2.default)((0, _getPrototypeOf2.default)(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; } /* eslint-disable require-jsdoc */ /*!
47
+ function _superPropGet(t, o, e, r) { var p = (0, _get2.default)((0, _getPrototypeOf2.default)(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; } // @ts-nocheck
48
+ /* eslint-disable require-jsdoc */ /*!
48
49
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file
49
50
  */
50
51
  var normalReconnectReasons = ['idle', 'done (forced)'];
@@ -1150,7 +1151,7 @@ var MobiusSocket = /*#__PURE__*/function (_EventEmitter) {
1150
1151
  var namespace = handler.namespace,
1151
1152
  name = handler.name;
1152
1153
  return new _promise.default(function (resolve) {
1153
- return resolve((_this12.webex[namespace] || _this12.webex.internal[namespace])[name](data));
1154
+ resolve((_this12.webex[namespace] || _this12.webex.internal[namespace])[name](data));
1154
1155
  }).catch(function (reason) {
1155
1156
  return _this12.logger.error("".concat(MOBIUS_SOCKET_NAMESPACE, ": error occurred in autowired event handler for ").concat(eventType, " from ").concat(sessionId), reason);
1156
1157
  });