@webex/plugin-meetings 3.0.0-beta.2 → 3.0.0-beta.20

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 (365) hide show
  1. package/UPGRADING.md +9 -9
  2. package/browsers.js +19 -24
  3. package/dist/breakouts/breakout.js +116 -0
  4. package/dist/breakouts/breakout.js.map +1 -0
  5. package/dist/breakouts/collection.js +23 -0
  6. package/dist/breakouts/collection.js.map +1 -0
  7. package/dist/breakouts/index.js +226 -0
  8. package/dist/breakouts/index.js.map +1 -0
  9. package/dist/common/browser-detection.js +1 -20
  10. package/dist/common/browser-detection.js.map +1 -1
  11. package/dist/common/collection.js +5 -20
  12. package/dist/common/collection.js.map +1 -1
  13. package/dist/common/config.js +0 -7
  14. package/dist/common/config.js.map +1 -1
  15. package/dist/common/errors/captcha-error.js +10 -24
  16. package/dist/common/errors/captcha-error.js.map +1 -1
  17. package/dist/common/errors/intent-to-join.js +11 -24
  18. package/dist/common/errors/intent-to-join.js.map +1 -1
  19. package/dist/common/errors/join-meeting.js +12 -25
  20. package/dist/common/errors/join-meeting.js.map +1 -1
  21. package/dist/common/errors/media.js +10 -24
  22. package/dist/common/errors/media.js.map +1 -1
  23. package/dist/common/errors/parameter.js +5 -33
  24. package/dist/common/errors/parameter.js.map +1 -1
  25. package/dist/common/errors/password-error.js +10 -24
  26. package/dist/common/errors/password-error.js.map +1 -1
  27. package/dist/common/errors/permission.js +9 -23
  28. package/dist/common/errors/permission.js.map +1 -1
  29. package/dist/common/errors/reconnection-in-progress.js +0 -17
  30. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  31. package/dist/common/errors/reconnection.js +10 -24
  32. package/dist/common/errors/reconnection.js.map +1 -1
  33. package/dist/common/errors/stats.js +10 -24
  34. package/dist/common/errors/stats.js.map +1 -1
  35. package/dist/common/errors/webex-errors.js +6 -41
  36. package/dist/common/errors/webex-errors.js.map +1 -1
  37. package/dist/common/errors/webex-meetings-error.js +5 -25
  38. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  39. package/dist/common/events/events-scope.js +0 -22
  40. package/dist/common/events/events-scope.js.map +1 -1
  41. package/dist/common/events/events.js +0 -23
  42. package/dist/common/events/events.js.map +1 -1
  43. package/dist/common/events/trigger-proxy.js +0 -12
  44. package/dist/common/events/trigger-proxy.js.map +1 -1
  45. package/dist/common/events/util.js +0 -15
  46. package/dist/common/events/util.js.map +1 -1
  47. package/dist/common/logs/logger-config.js +0 -4
  48. package/dist/common/logs/logger-config.js.map +1 -1
  49. package/dist/common/logs/logger-proxy.js +1 -8
  50. package/dist/common/logs/logger-proxy.js.map +1 -1
  51. package/dist/common/logs/request.js +37 -60
  52. package/dist/common/logs/request.js.map +1 -1
  53. package/dist/common/queue.js +4 -14
  54. package/dist/common/queue.js.map +1 -1
  55. package/dist/config.js +6 -6
  56. package/dist/config.js.map +1 -1
  57. package/dist/constants.js +88 -46
  58. package/dist/constants.js.map +1 -1
  59. package/dist/index.js +1 -17
  60. package/dist/index.js.map +1 -1
  61. package/dist/locus-info/controlsUtils.js +12 -29
  62. package/dist/locus-info/controlsUtils.js.map +1 -1
  63. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  64. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  65. package/dist/locus-info/fullState.js +0 -15
  66. package/dist/locus-info/fullState.js.map +1 -1
  67. package/dist/locus-info/hostUtils.js +4 -12
  68. package/dist/locus-info/hostUtils.js.map +1 -1
  69. package/dist/locus-info/index.js +184 -190
  70. package/dist/locus-info/index.js.map +1 -1
  71. package/dist/locus-info/infoUtils.js +3 -37
  72. package/dist/locus-info/infoUtils.js.map +1 -1
  73. package/dist/locus-info/mediaSharesUtils.js +12 -38
  74. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  75. package/dist/locus-info/parser.js +92 -118
  76. package/dist/locus-info/parser.js.map +1 -1
  77. package/dist/locus-info/selfUtils.js +34 -91
  78. package/dist/locus-info/selfUtils.js.map +1 -1
  79. package/dist/media/index.js +67 -111
  80. package/dist/media/index.js.map +1 -1
  81. package/dist/media/properties.js +80 -114
  82. package/dist/media/properties.js.map +1 -1
  83. package/dist/media/util.js +2 -9
  84. package/dist/media/util.js.map +1 -1
  85. package/dist/mediaQualityMetrics/config.js +10 -12
  86. package/dist/mediaQualityMetrics/config.js.map +1 -1
  87. package/dist/meeting/effectsState.js +125 -190
  88. package/dist/meeting/effectsState.js.map +1 -1
  89. package/dist/meeting/in-meeting-actions.js +5 -14
  90. package/dist/meeting/in-meeting-actions.js.map +1 -1
  91. package/dist/meeting/index.js +1692 -1925
  92. package/dist/meeting/index.js.map +1 -1
  93. package/dist/meeting/muteState.js +36 -77
  94. package/dist/meeting/muteState.js.map +1 -1
  95. package/dist/meeting/request.js +224 -230
  96. package/dist/meeting/request.js.map +1 -1
  97. package/dist/meeting/request.type.js +7 -0
  98. package/dist/meeting/request.type.js.map +1 -0
  99. package/dist/meeting/state.js +21 -31
  100. package/dist/meeting/state.js.map +1 -1
  101. package/dist/meeting/util.js +43 -215
  102. package/dist/meeting/util.js.map +1 -1
  103. package/dist/meeting-info/collection.js +6 -25
  104. package/dist/meeting-info/collection.js.map +1 -1
  105. package/dist/meeting-info/index.js +14 -32
  106. package/dist/meeting-info/index.js.map +1 -1
  107. package/dist/meeting-info/meeting-info-v2.js +193 -268
  108. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  109. package/dist/meeting-info/request.js +3 -15
  110. package/dist/meeting-info/request.js.map +1 -1
  111. package/dist/meeting-info/util.js +98 -183
  112. package/dist/meeting-info/util.js.map +1 -1
  113. package/dist/meeting-info/utilv2.js +137 -228
  114. package/dist/meeting-info/utilv2.js.map +1 -1
  115. package/dist/meetings/collection.js +5 -20
  116. package/dist/meetings/collection.js.map +1 -1
  117. package/dist/meetings/index.js +490 -560
  118. package/dist/meetings/index.js.map +1 -1
  119. package/dist/meetings/request.js +24 -41
  120. package/dist/meetings/request.js.map +1 -1
  121. package/dist/meetings/util.js +99 -155
  122. package/dist/meetings/util.js.map +1 -1
  123. package/dist/member/index.js +78 -86
  124. package/dist/member/index.js.map +1 -1
  125. package/dist/member/util.js +31 -68
  126. package/dist/member/util.js.map +1 -1
  127. package/dist/members/collection.js +3 -12
  128. package/dist/members/collection.js.map +1 -1
  129. package/dist/members/index.js +93 -200
  130. package/dist/members/index.js.map +1 -1
  131. package/dist/members/request.js +16 -39
  132. package/dist/members/request.js.map +1 -1
  133. package/dist/members/util.js +9 -38
  134. package/dist/members/util.js.map +1 -1
  135. package/dist/metrics/config.js +0 -2
  136. package/dist/metrics/config.js.map +1 -1
  137. package/dist/metrics/constants.js +1 -2
  138. package/dist/metrics/constants.js.map +1 -1
  139. package/dist/metrics/index.js +55 -135
  140. package/dist/metrics/index.js.map +1 -1
  141. package/dist/multistream/mediaRequestManager.js +57 -32
  142. package/dist/multistream/mediaRequestManager.js.map +1 -1
  143. package/dist/multistream/multistreamMedia.js +15 -21
  144. package/dist/multistream/multistreamMedia.js.map +1 -1
  145. package/dist/multistream/receiveSlot.js +10 -50
  146. package/dist/multistream/receiveSlot.js.map +1 -1
  147. package/dist/multistream/receiveSlotManager.js +45 -82
  148. package/dist/multistream/receiveSlotManager.js.map +1 -1
  149. package/dist/multistream/remoteMedia.js +18 -58
  150. package/dist/multistream/remoteMedia.js.map +1 -1
  151. package/dist/multistream/remoteMediaGroup.js +6 -40
  152. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  153. package/dist/multistream/remoteMediaManager.js +362 -416
  154. package/dist/multistream/remoteMediaManager.js.map +1 -1
  155. package/dist/networkQualityMonitor/index.js +36 -57
  156. package/dist/networkQualityMonitor/index.js.map +1 -1
  157. package/dist/personal-meeting-room/index.js +21 -45
  158. package/dist/personal-meeting-room/index.js.map +1 -1
  159. package/dist/personal-meeting-room/request.js +1 -31
  160. package/dist/personal-meeting-room/request.js.map +1 -1
  161. package/dist/personal-meeting-room/util.js +0 -13
  162. package/dist/personal-meeting-room/util.js.map +1 -1
  163. package/dist/reachability/index.js +138 -182
  164. package/dist/reachability/index.js.map +1 -1
  165. package/dist/reachability/request.js +3 -18
  166. package/dist/reachability/request.js.map +1 -1
  167. package/dist/reactions/constants.js +13 -0
  168. package/dist/reactions/constants.js.map +1 -0
  169. package/dist/reactions/reactions.js +109 -0
  170. package/dist/reactions/reactions.js.map +1 -0
  171. package/dist/reactions/reactions.type.js +36 -0
  172. package/dist/reactions/reactions.type.js.map +1 -0
  173. package/dist/reconnection-manager/index.js +322 -455
  174. package/dist/reconnection-manager/index.js.map +1 -1
  175. package/dist/recording-controller/enums.js +17 -0
  176. package/dist/recording-controller/enums.js.map +1 -0
  177. package/dist/recording-controller/index.js +343 -0
  178. package/dist/recording-controller/index.js.map +1 -0
  179. package/dist/recording-controller/util.js +63 -0
  180. package/dist/recording-controller/util.js.map +1 -0
  181. package/dist/roap/index.js +39 -64
  182. package/dist/roap/index.js.map +1 -1
  183. package/dist/roap/request.js +94 -113
  184. package/dist/roap/request.js.map +1 -1
  185. package/dist/roap/turnDiscovery.js +85 -94
  186. package/dist/roap/turnDiscovery.js.map +1 -1
  187. package/dist/statsAnalyzer/global.js +0 -2
  188. package/dist/statsAnalyzer/global.js.map +1 -1
  189. package/dist/statsAnalyzer/index.js +85 -175
  190. package/dist/statsAnalyzer/index.js.map +1 -1
  191. package/dist/statsAnalyzer/mqaUtil.js +72 -53
  192. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  193. package/dist/transcription/index.js +22 -47
  194. package/dist/transcription/index.js.map +1 -1
  195. package/internal-README.md +7 -6
  196. package/package.json +25 -20
  197. package/src/breakouts/README.md +190 -0
  198. package/src/breakouts/breakout.ts +110 -0
  199. package/src/breakouts/collection.ts +19 -0
  200. package/src/breakouts/index.ts +225 -0
  201. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  202. package/src/common/collection.ts +9 -7
  203. package/src/common/{config.js → config.ts} +1 -1
  204. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  205. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  206. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  207. package/src/common/errors/{media.js → media.ts} +11 -7
  208. package/src/common/errors/parameter.ts +11 -7
  209. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  210. package/src/common/errors/{permission.js → permission.ts} +10 -6
  211. package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
  212. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  213. package/src/common/errors/{stats.js → stats.ts} +11 -7
  214. package/src/common/errors/{webex-errors.js → webex-errors.ts} +8 -7
  215. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  216. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  217. package/src/common/events/{events.js → events.ts} +5 -1
  218. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  219. package/src/common/events/{util.js → util.ts} +2 -3
  220. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  221. package/src/common/logs/logger-proxy.ts +44 -0
  222. package/src/common/logs/{request.js → request.ts} +22 -9
  223. package/src/common/queue.ts +1 -2
  224. package/src/{config.js → config.ts} +17 -12
  225. package/src/constants.ts +40 -1
  226. package/src/index.js +1 -1
  227. package/src/locus-info/controlsUtils.ts +114 -0
  228. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  229. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  230. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  231. package/src/locus-info/{index.js → index.ts} +148 -64
  232. package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
  233. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +17 -17
  234. package/src/locus-info/{parser.js → parser.ts} +67 -79
  235. package/src/locus-info/{selfUtils.js → selfUtils.ts} +123 -68
  236. package/src/media/{index.js → index.ts} +181 -131
  237. package/src/media/{properties.js → properties.ts} +47 -28
  238. package/src/media/{util.js → util.ts} +2 -2
  239. package/src/mediaQualityMetrics/{config.js → config.ts} +46 -46
  240. package/src/meeting/{effectsState.js → effectsState.ts} +47 -41
  241. package/src/meeting/in-meeting-actions.ts +15 -3
  242. package/src/meeting/{index.js → index.ts} +2263 -1427
  243. package/src/meeting/{muteState.js → muteState.ts} +78 -42
  244. package/src/meeting/{request.js → request.ts} +292 -142
  245. package/src/meeting/request.type.ts +13 -0
  246. package/src/meeting/{state.js → state.ts} +50 -35
  247. package/src/meeting/{util.js → util.ts} +112 -115
  248. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  249. package/src/meeting-info/{index.js → index.ts} +42 -36
  250. package/src/meeting-info/meeting-info-v2.ts +273 -0
  251. package/src/meeting-info/{request.js → request.ts} +14 -4
  252. package/src/meeting-info/{util.js → util.ts} +60 -51
  253. package/src/meeting-info/{utilv2.js → utilv2.ts} +65 -58
  254. package/src/meetings/{collection.js → collection.ts} +6 -3
  255. package/src/meetings/index.ts +1159 -0
  256. package/src/meetings/{request.js → request.ts} +32 -25
  257. package/src/meetings/{util.js → util.ts} +34 -32
  258. package/src/member/{index.js → index.ts} +102 -56
  259. package/src/member/{util.js → util.ts} +52 -25
  260. package/src/members/{collection.js → collection.ts} +2 -2
  261. package/src/members/{index.js → index.ts} +219 -142
  262. package/src/members/{request.js → request.ts} +60 -16
  263. package/src/members/{util.js → util.ts} +50 -48
  264. package/src/metrics/{config.js → config.ts} +254 -83
  265. package/src/metrics/{constants.js → constants.ts} +0 -2
  266. package/src/metrics/{index.js → index.ts} +106 -74
  267. package/src/multistream/mediaRequestManager.ts +81 -15
  268. package/src/multistream/multistreamMedia.ts +5 -0
  269. package/src/multistream/receiveSlot.ts +18 -12
  270. package/src/multistream/receiveSlotManager.ts +23 -21
  271. package/src/multistream/remoteMedia.ts +15 -5
  272. package/src/multistream/remoteMediaGroup.ts +4 -3
  273. package/src/multistream/remoteMediaManager.ts +153 -37
  274. package/src/networkQualityMonitor/{index.js → index.ts} +37 -25
  275. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  276. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  277. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  278. package/src/reachability/{index.js → index.ts} +99 -83
  279. package/src/reachability/request.ts +39 -33
  280. package/src/reactions/constants.ts +4 -0
  281. package/src/reactions/reactions.ts +104 -0
  282. package/src/reactions/reactions.type.ts +62 -0
  283. package/src/reconnection-manager/{index.js → index.ts} +195 -102
  284. package/src/recording-controller/enums.ts +8 -0
  285. package/src/recording-controller/index.ts +315 -0
  286. package/src/recording-controller/util.ts +58 -0
  287. package/src/roap/{index.js → index.ts} +73 -56
  288. package/src/roap/request.ts +157 -0
  289. package/src/roap/turnDiscovery.ts +77 -37
  290. package/src/statsAnalyzer/{global.js → global.ts} +30 -33
  291. package/src/statsAnalyzer/{index.js → index.ts} +468 -192
  292. package/src/statsAnalyzer/mqaUtil.ts +290 -0
  293. package/src/transcription/{index.js → index.ts} +46 -39
  294. package/test/integration/spec/journey.js +664 -463
  295. package/test/integration/spec/space-meeting.js +320 -206
  296. package/test/integration/spec/transcription.js +7 -8
  297. package/test/unit/spec/breakouts/breakout.ts +119 -0
  298. package/test/unit/spec/breakouts/collection.ts +15 -0
  299. package/test/unit/spec/breakouts/index.ts +293 -0
  300. package/test/unit/spec/common/browser-detection.js +9 -28
  301. package/test/unit/spec/fixture/locus.js +92 -90
  302. package/test/unit/spec/locus-info/controlsUtils.js +25 -5
  303. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  304. package/test/unit/spec/locus-info/index.js +104 -2
  305. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  306. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  307. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  308. package/test/unit/spec/locus-info/parser.js +3 -9
  309. package/test/unit/spec/locus-info/selfConstant.js +97 -103
  310. package/test/unit/spec/locus-info/selfUtils.js +105 -12
  311. package/test/unit/spec/media/index.ts +31 -47
  312. package/test/unit/spec/media/properties.ts +9 -9
  313. package/test/unit/spec/meeting/effectsState.js +39 -45
  314. package/test/unit/spec/meeting/in-meeting-actions.ts +5 -2
  315. package/test/unit/spec/meeting/index.js +2017 -742
  316. package/test/unit/spec/meeting/muteState.js +42 -33
  317. package/test/unit/spec/meeting/request.js +115 -44
  318. package/test/unit/spec/meeting/utils.js +104 -171
  319. package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
  320. package/test/unit/spec/meeting-info/request.js +7 -9
  321. package/test/unit/spec/meeting-info/util.js +11 -12
  322. package/test/unit/spec/meeting-info/utilv2.js +110 -74
  323. package/test/unit/spec/meetings/collection.js +1 -1
  324. package/test/unit/spec/meetings/index.js +439 -257
  325. package/test/unit/spec/meetings/utils.js +14 -12
  326. package/test/unit/spec/member/index.js +0 -1
  327. package/test/unit/spec/member/util.js +31 -7
  328. package/test/unit/spec/members/index.js +104 -54
  329. package/test/unit/spec/members/request.js +29 -20
  330. package/test/unit/spec/members/utils.js +8 -5
  331. package/test/unit/spec/metrics/index.js +16 -21
  332. package/test/unit/spec/multistream/mediaRequestManager.ts +316 -50
  333. package/test/unit/spec/multistream/receiveSlot.ts +6 -6
  334. package/test/unit/spec/multistream/receiveSlotManager.ts +13 -13
  335. package/test/unit/spec/multistream/remoteMedia.ts +10 -2
  336. package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
  337. package/test/unit/spec/multistream/remoteMediaManager.ts +412 -65
  338. package/test/unit/spec/networkQualityMonitor/index.js +21 -15
  339. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  340. package/test/unit/spec/reachability/index.ts +58 -26
  341. package/test/unit/spec/reconnection-manager/index.js +102 -9
  342. package/test/unit/spec/recording-controller/index.js +231 -0
  343. package/test/unit/spec/recording-controller/util.js +102 -0
  344. package/test/unit/spec/roap/index.ts +2 -1
  345. package/test/unit/spec/roap/request.ts +114 -0
  346. package/test/unit/spec/roap/turnDiscovery.ts +64 -45
  347. package/test/unit/spec/stats-analyzer/index.js +27 -22
  348. package/test/utils/cmr.js +44 -42
  349. package/test/utils/testUtils.js +83 -74
  350. package/test/utils/webex-config.js +18 -18
  351. package/test/utils/webex-test-users.js +54 -50
  352. package/tsconfig.json +6 -0
  353. package/dist/media/internal-media-core-wrapper.js +0 -22
  354. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  355. package/dist/peer-connection-manager/util.js +0 -124
  356. package/dist/peer-connection-manager/util.js.map +0 -1
  357. package/src/common/logs/logger-proxy.js +0 -33
  358. package/src/locus-info/controlsUtils.js +0 -102
  359. package/src/media/internal-media-core-wrapper.ts +0 -9
  360. package/src/meeting-info/meeting-info-v2.js +0 -255
  361. package/src/meetings/index.js +0 -1015
  362. package/src/peer-connection-manager/util.ts +0 -117
  363. package/src/roap/request.js +0 -127
  364. package/src/statsAnalyzer/mqaUtil.js +0 -173
  365. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
@@ -1,52 +1,33 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = void 0;
12
-
13
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
14
-
15
10
  var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
16
-
17
11
  var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
18
-
19
12
  var _now = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/date/now"));
20
-
21
13
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
22
-
23
14
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
24
-
25
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
26
-
27
15
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/toConsumableArray"));
28
-
29
16
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
30
-
31
17
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
32
-
33
18
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
34
-
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
35
20
  var _uniq2 = _interopRequireDefault(require("lodash/uniq"));
36
-
37
21
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
38
-
39
22
  var _constants = require("../constants");
40
-
41
23
  var _request = _interopRequireDefault(require("./request"));
42
-
43
24
  var DEFAULT_TIMEOUT = 3000;
44
25
  var VIDEO_MESH_TIMEOUT = 1000;
26
+
45
27
  /**
46
28
  * @class Reachability
47
29
  * @export
48
30
  */
49
-
50
31
  var Reachability = /*#__PURE__*/function () {
51
32
  /**
52
33
  * Creates an instance of Reachability.
@@ -55,7 +36,12 @@ var Reachability = /*#__PURE__*/function () {
55
36
  */
56
37
  function Reachability(webex) {
57
38
  (0, _classCallCheck2.default)(this, Reachability);
39
+ (0, _defineProperty2.default)(this, "namespace", _constants.REACHABILITY.namespace);
40
+ (0, _defineProperty2.default)(this, "webex", void 0);
41
+ (0, _defineProperty2.default)(this, "reachabilityRequest", void 0);
42
+ (0, _defineProperty2.default)(this, "clusterLatencyResults", void 0);
58
43
  this.webex = webex;
44
+
59
45
  /**
60
46
  * internal request object for the server
61
47
  * @instance
@@ -63,8 +49,8 @@ var Reachability = /*#__PURE__*/function () {
63
49
  * @private
64
50
  * @memberof Reachability
65
51
  */
66
-
67
52
  this.reachabilityRequest = new _request.default(this.webex);
53
+
68
54
  /**
69
55
  * internal object of clusters latency results
70
56
  * @instance
@@ -72,9 +58,9 @@ var Reachability = /*#__PURE__*/function () {
72
58
  * @private
73
59
  * @memberof Reachability
74
60
  */
75
-
76
61
  this.clusterLatencyResults = {};
77
62
  }
63
+
78
64
  /**
79
65
  * fetches reachability data
80
66
  * @returns {Object} reachability data
@@ -82,73 +68,49 @@ var Reachability = /*#__PURE__*/function () {
82
68
  * @async
83
69
  * @memberof Reachability
84
70
  */
85
-
86
-
87
71
  (0, _createClass2.default)(Reachability, [{
88
72
  key: "gatherReachability",
89
73
  value: function () {
90
74
  var _gatherReachability = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
91
- var _window, _window$localStorage;
92
-
93
75
  var clusters, results;
94
76
  return _regenerator.default.wrap(function _callee$(_context) {
95
- while (1) {
96
- switch (_context.prev = _context.next) {
97
- case 0:
98
- this.setup(); // Remove stored reachability results to ensure no stale data
99
-
100
- if (!((_window = window) !== null && _window !== void 0 && (_window$localStorage = _window.localStorage) !== null && _window$localStorage !== void 0 && _window$localStorage.removeItem)) {
101
- _context.next = 5;
102
- break;
103
- }
104
-
105
- window.localStorage.removeItem(_constants.REACHABILITY.localStorage);
106
- _context.next = 7;
107
- break;
108
-
109
- case 5:
110
- _loggerProxy.default.logger.error('Reachability:index#gatherReachability --> Error in accessing LocalStorage.');
111
-
112
- return _context.abrupt("return", {});
113
-
114
- case 7:
115
- _context.prev = 7;
116
- _context.next = 10;
117
- return this.reachabilityRequest.getClusters();
118
-
119
- case 10:
120
- clusters = _context.sent;
121
- _context.next = 13;
122
- return this.performReachabilityCheck(clusters);
123
-
124
- case 13:
125
- results = _context.sent;
126
- window.localStorage.setItem(_constants.REACHABILITY.localStorage, (0, _stringify.default)(results));
127
-
128
- _loggerProxy.default.logger.log('Reachability:index#gatherReachability --> Reachability checks completed');
129
-
130
- return _context.abrupt("return", results);
131
-
132
- case 19:
133
- _context.prev = 19;
134
- _context.t0 = _context["catch"](7);
135
-
136
- _loggerProxy.default.logger.error("Reachability:index#gatherReachability --> Error in calling getClusters(): ".concat(_context.t0));
137
-
138
- return _context.abrupt("return", {});
139
-
140
- case 23:
141
- case "end":
142
- return _context.stop();
143
- }
77
+ while (1) switch (_context.prev = _context.next) {
78
+ case 0:
79
+ this.setup();
80
+
81
+ // Remove stored reachability results to ensure no stale data
82
+ // @ts-ignore
83
+ _context.next = 3;
84
+ return this.webex.boundedStorage.del(this.namespace, _constants.REACHABILITY.localStorage);
85
+ case 3:
86
+ _context.prev = 3;
87
+ _context.next = 6;
88
+ return this.reachabilityRequest.getClusters();
89
+ case 6:
90
+ clusters = _context.sent;
91
+ _context.next = 9;
92
+ return this.performReachabilityCheck(clusters);
93
+ case 9:
94
+ results = _context.sent;
95
+ _context.next = 12;
96
+ return this.webex.boundedStorage.put(this.namespace, _constants.REACHABILITY.localStorage, (0, _stringify.default)(results));
97
+ case 12:
98
+ _loggerProxy.default.logger.log('Reachability:index#gatherReachability --> Reachability checks completed');
99
+ return _context.abrupt("return", results);
100
+ case 16:
101
+ _context.prev = 16;
102
+ _context.t0 = _context["catch"](3);
103
+ _loggerProxy.default.logger.error("Reachability:index#gatherReachability --> Error in calling getClusters(): ".concat(_context.t0));
104
+ return _context.abrupt("return", {});
105
+ case 20:
106
+ case "end":
107
+ return _context.stop();
144
108
  }
145
- }, _callee, this, [[7, 19]]);
109
+ }, _callee, this, [[3, 16]]);
146
110
  }));
147
-
148
111
  function gatherReachability() {
149
112
  return _gatherReachability.apply(this, arguments);
150
113
  }
151
-
152
114
  return gatherReachability;
153
115
  }()
154
116
  /**
@@ -157,28 +119,42 @@ var Reachability = /*#__PURE__*/function () {
157
119
  * @public
158
120
  * @memberof Reachability
159
121
  */
160
-
161
122
  }, {
162
123
  key: "isAnyClusterReachable",
163
- value: function isAnyClusterReachable() {
164
- var reachable = false;
165
- var reachabilityData = window.localStorage.getItem(_constants.REACHABILITY.localStorage);
166
-
167
- if (reachabilityData) {
168
- try {
169
- var reachabilityResults = JSON.parse(reachabilityData);
170
- reachable = (0, _values.default)(reachabilityResults).some(function (result) {
171
- var _result$udp, _result$tcp;
172
-
173
- return ((_result$udp = result.udp) === null || _result$udp === void 0 ? void 0 : _result$udp.reachable) === 'true' || ((_result$tcp = result.tcp) === null || _result$tcp === void 0 ? void 0 : _result$tcp.reachable) === 'true';
174
- });
175
- } catch (e) {
176
- _loggerProxy.default.logger.error("Roap:request#attachReachabilityData --> Error in parsing reachability data: ".concat(e));
177
- }
124
+ value: function () {
125
+ var _isAnyClusterReachable = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
126
+ var reachable, reachabilityData, reachabilityResults;
127
+ return _regenerator.default.wrap(function _callee2$(_context2) {
128
+ while (1) switch (_context2.prev = _context2.next) {
129
+ case 0:
130
+ reachable = false; // @ts-ignore
131
+ _context2.next = 3;
132
+ return this.webex.boundedStorage.get(this.namespace, _constants.REACHABILITY.localStorage).catch(function () {});
133
+ case 3:
134
+ reachabilityData = _context2.sent;
135
+ if (reachabilityData) {
136
+ try {
137
+ reachabilityResults = JSON.parse(reachabilityData);
138
+ reachable = (0, _values.default)(reachabilityResults).some(function (result) {
139
+ var _result$udp, _result$tcp;
140
+ return ((_result$udp = result.udp) === null || _result$udp === void 0 ? void 0 : _result$udp.reachable) === 'true' || ((_result$tcp = result.tcp) === null || _result$tcp === void 0 ? void 0 : _result$tcp.reachable) === 'true';
141
+ });
142
+ } catch (e) {
143
+ _loggerProxy.default.logger.error("Roap:request#attachReachabilityData --> Error in parsing reachability data: ".concat(e));
144
+ }
145
+ }
146
+ return _context2.abrupt("return", reachable);
147
+ case 6:
148
+ case "end":
149
+ return _context2.stop();
150
+ }
151
+ }, _callee2, this);
152
+ }));
153
+ function isAnyClusterReachable() {
154
+ return _isAnyClusterReachable.apply(this, arguments);
178
155
  }
179
-
180
- return reachable;
181
- }
156
+ return isAnyClusterReachable;
157
+ }()
182
158
  /**
183
159
  * Generate peerConnection config settings
184
160
  * @param {object} cluster
@@ -186,7 +162,6 @@ var Reachability = /*#__PURE__*/function () {
186
162
  * @private
187
163
  * @memberof Reachability
188
164
  */
189
-
190
165
  }, {
191
166
  key: "buildPeerConnectionConfig",
192
167
  value: function buildPeerConnectionConfig(cluster) {
@@ -203,6 +178,7 @@ var Reachability = /*#__PURE__*/function () {
203
178
  iceTransportPolicy: 'all'
204
179
  };
205
180
  }
181
+
206
182
  /**
207
183
  * Creates an RTCPeerConnection
208
184
  * @param {object} cluster
@@ -210,23 +186,23 @@ var Reachability = /*#__PURE__*/function () {
210
186
  * @private
211
187
  * @memberof Reachability
212
188
  */
213
-
214
189
  }, {
215
190
  key: "createPeerConnection",
216
191
  value: function createPeerConnection(cluster) {
217
192
  var key = cluster.key,
218
- config = cluster.config;
219
-
193
+ config = cluster.config;
220
194
  try {
221
195
  var peerConnection = new window.RTCPeerConnection(config);
196
+
197
+ // @ts-ignore
222
198
  peerConnection.key = key;
223
199
  return peerConnection;
224
200
  } catch (peerConnectionError) {
225
201
  _loggerProxy.default.logger.log("Reachability:index#createPeerConnection --> Error creating peerConnection: ".concat(peerConnectionError));
226
-
227
202
  return null;
228
203
  }
229
204
  }
205
+
230
206
  /**
231
207
  * Gets total elapsed time
232
208
  * @param {RTCPeerConnection} peerConnection
@@ -234,7 +210,6 @@ var Reachability = /*#__PURE__*/function () {
234
210
  * @private
235
211
  * @memberof Reachability
236
212
  */
237
-
238
213
  }, {
239
214
  key: "getElapsedTime",
240
215
  value: function getElapsedTime(peerConnection) {
@@ -242,6 +217,7 @@ var Reachability = /*#__PURE__*/function () {
242
217
  delete peerConnection.begin;
243
218
  return (0, _now.default)() - startTime;
244
219
  }
220
+
245
221
  /**
246
222
  * creates offer and generates localSDP
247
223
  * @param {object} clusterList cluster List
@@ -249,65 +225,59 @@ var Reachability = /*#__PURE__*/function () {
249
225
  * @private
250
226
  * @memberof Reachability
251
227
  */
252
-
253
228
  }, {
254
229
  key: "getLocalSDPForClusters",
255
230
  value: function getLocalSDPForClusters(clusterList) {
256
231
  var _this = this;
257
-
258
232
  var clusters = (0, _toConsumableArray2.default)((0, _keys.default)(clusterList));
259
233
  clusters = clusters.map( /*#__PURE__*/function () {
260
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(key) {
234
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(key) {
261
235
  var cluster, config, peerConnection, description;
262
- return _regenerator.default.wrap(function _callee2$(_context2) {
263
- while (1) {
264
- switch (_context2.prev = _context2.next) {
265
- case 0:
266
- cluster = clusterList[key];
267
- config = _this.buildPeerConnectionConfig(cluster);
268
- peerConnection = _this.createPeerConnection({
269
- key: key,
270
- config: config
271
- });
272
- _context2.next = 5;
273
- return peerConnection.createOffer({
274
- offerToReceiveAudio: true
275
- });
276
-
277
- case 5:
278
- description = _context2.sent;
279
- peerConnection.begin = (0, _now.default)();
280
- peerConnection.setLocalDescription(description);
281
- return _context2.abrupt("return", _this.iceGatheringState(peerConnection, cluster.isVideoMesh ? VIDEO_MESH_TIMEOUT : DEFAULT_TIMEOUT).catch(function (iceGatheringStateError) {
282
- _loggerProxy.default.logger.log("Reachability:index#getLocalSDPForClusters --> Error in getLocalSDP : ".concat(iceGatheringStateError));
283
- }));
284
-
285
- case 9:
286
- case "end":
287
- return _context2.stop();
288
- }
236
+ return _regenerator.default.wrap(function _callee3$(_context3) {
237
+ while (1) switch (_context3.prev = _context3.next) {
238
+ case 0:
239
+ cluster = clusterList[key];
240
+ config = _this.buildPeerConnectionConfig(cluster);
241
+ peerConnection = _this.createPeerConnection({
242
+ key: key,
243
+ config: config
244
+ });
245
+ _context3.next = 5;
246
+ return peerConnection.createOffer({
247
+ offerToReceiveAudio: true
248
+ });
249
+ case 5:
250
+ description = _context3.sent;
251
+ // @ts-ignore
252
+ peerConnection.begin = (0, _now.default)();
253
+ peerConnection.setLocalDescription(description);
254
+ return _context3.abrupt("return", _this.iceGatheringState(peerConnection, cluster.isVideoMesh ? VIDEO_MESH_TIMEOUT : DEFAULT_TIMEOUT).catch(function (iceGatheringStateError) {
255
+ _loggerProxy.default.logger.log("Reachability:index#getLocalSDPForClusters --> Error in getLocalSDP : ".concat(iceGatheringStateError));
256
+ }));
257
+ case 9:
258
+ case "end":
259
+ return _context3.stop();
289
260
  }
290
- }, _callee2);
261
+ }, _callee3);
291
262
  }));
292
-
293
263
  return function (_x) {
294
264
  return _ref.apply(this, arguments);
295
265
  };
296
266
  }());
297
267
  return _promise.default.all(clusters).then(this.parseIceResultsToReachabilityResults).then(function (reachabilityLatencyResults) {
298
- _this.logUnreachableClusters(); // return results
299
-
268
+ _this.logUnreachableClusters();
300
269
 
270
+ // return results
301
271
  return reachabilityLatencyResults;
302
272
  });
303
273
  }
274
+
304
275
  /**
305
276
  * Get list of all unreachable clusters
306
277
  * @returns {array} Unreachable clusters
307
278
  * @private
308
279
  * @memberof Reachability
309
280
  */
310
-
311
281
  }, {
312
282
  key: "getUnreachablClusters",
313
283
  value: function getUnreachablClusters() {
@@ -315,13 +285,13 @@ var Reachability = /*#__PURE__*/function () {
315
285
  var clusters = this.clusterLatencyResults;
316
286
  (0, _keys.default)(clusters).forEach(function (key) {
317
287
  var cluster = clusters[key];
318
-
319
288
  if (cluster.unreachable && !cluster.reachable) {
320
289
  unreachableList.push(key);
321
290
  }
322
291
  });
323
292
  return unreachableList;
324
293
  }
294
+
325
295
  /**
326
296
  * Attach an event handler for the icegatheringstatechange
327
297
  * event and measure latency.
@@ -330,24 +300,23 @@ var Reachability = /*#__PURE__*/function () {
330
300
  * @private
331
301
  * @memberof Reachability
332
302
  */
333
-
334
303
  }, {
335
304
  key: "handleIceGatheringStateChange",
336
305
  value: function handleIceGatheringStateChange(peerConnection) {
337
306
  var _this2 = this;
338
-
339
307
  peerConnection.onicegatheringstatechange = function () {
340
308
  var COMPLETE = _constants.ICE_GATHERING_STATE.COMPLETE;
341
-
342
309
  if (peerConnection.iceConnectionState === COMPLETE) {
343
310
  var elapsed = _this2.getElapsedTime(peerConnection);
344
311
 
345
- _loggerProxy.default.logger.log("Reachability:index#onIceGatheringStateChange --> Successfully pinged ".concat(peerConnection.key, ":"), elapsed);
346
-
312
+ // @ts-ignore
313
+ _loggerProxy.default.logger.log( // @ts-ignore
314
+ "Reachability:index#onIceGatheringStateChange --> Successfully pinged ".concat(peerConnection.key, ":"), elapsed);
347
315
  _this2.setLatencyAndClose(peerConnection, elapsed);
348
316
  }
349
317
  };
350
318
  }
319
+
351
320
  /**
352
321
  * Attach an event handler for the icecandidate
353
322
  * event and measure latency.
@@ -356,24 +325,21 @@ var Reachability = /*#__PURE__*/function () {
356
325
  * @private
357
326
  * @memberof Reachability
358
327
  */
359
-
360
328
  }, {
361
329
  key: "handleOnIceCandidate",
362
330
  value: function handleOnIceCandidate(peerConnection) {
363
331
  var _this3 = this;
364
-
365
332
  peerConnection.onicecandidate = function (e) {
366
333
  var SERVER_REFLEXIVE = 'srflx';
367
-
368
334
  if (e.candidate && String(e.candidate.type).toLowerCase() === SERVER_REFLEXIVE) {
369
335
  var elapsed = _this3.getElapsedTime(peerConnection);
370
-
371
- _loggerProxy.default.logger.log("Reachability:index#onIceCandidate --> Successfully pinged ".concat(peerConnection.key, ":"), elapsed);
372
-
336
+ _loggerProxy.default.logger.log( // @ts-ignore
337
+ "Reachability:index#onIceCandidate --> Successfully pinged ".concat(peerConnection.key, ":"), elapsed);
373
338
  _this3.setLatencyAndClose(peerConnection, elapsed);
374
339
  }
375
340
  };
376
341
  }
342
+
377
343
  /**
378
344
  * An event handler on an RTCPeerConnection when the state of the ICE
379
345
  * candidate gathering process changes. Used to measure connection
@@ -383,61 +349,59 @@ var Reachability = /*#__PURE__*/function () {
383
349
  * @param {number} timeout
384
350
  * @returns {Promise}
385
351
  */
386
-
387
352
  }, {
388
353
  key: "iceGatheringState",
389
354
  value: function iceGatheringState(peerConnection, timeout) {
390
355
  var _this4 = this;
391
-
392
356
  var ELAPSED = 'elapsed';
393
357
  return new _promise.default(function (resolve) {
394
358
  var peerConnectionProxy = new window.Proxy(peerConnection, {
395
359
  get: function get(target, property) {
396
360
  var targetMember = target[property];
397
-
398
361
  if (typeof targetMember === 'function') {
399
362
  return targetMember.bind(target);
400
363
  }
401
-
402
364
  return targetMember;
403
365
  },
404
366
  set: function set(target, property, value) {
405
367
  // only intercept elapsed property
406
368
  if (property === ELAPSED) {
369
+ // @ts-ignore
407
370
  resolve({
408
371
  clusterId: peerConnection.key,
409
372
  elapsed: value
410
373
  });
411
374
  return true;
412
- } // pass thru
413
-
375
+ }
414
376
 
377
+ // pass thru
415
378
  return window.Reflect.set(target, property, value);
416
379
  }
417
- }); // Using peerConnection proxy so handle functions below
418
- // won't be coupled to our promise implementation
380
+ });
419
381
 
382
+ // Using peerConnection proxy so handle functions below
383
+ // won't be coupled to our promise implementation
420
384
  _this4.handleIceGatheringStateChange(peerConnectionProxy);
385
+ _this4.handleOnIceCandidate(peerConnectionProxy);
421
386
 
422
- _this4.handleOnIceCandidate(peerConnectionProxy); // Set maximum timeout
423
-
424
-
387
+ // Set maximum timeout
425
388
  window.setTimeout(function () {
426
- var CLOSED = _constants.CONNECTION_STATE.CLOSED; // Close any open peerConnections
389
+ var CLOSED = _constants.CONNECTION_STATE.CLOSED;
427
390
 
391
+ // Close any open peerConnections
428
392
  if (peerConnectionProxy.connectionState !== CLOSED) {
429
393
  _this4.setLatencyAndClose(peerConnectionProxy, null);
430
394
  }
431
395
  }, timeout);
432
396
  });
433
397
  }
398
+
434
399
  /**
435
400
  * Make a log of unreachable clusters.
436
401
  * @returns {undefined}
437
402
  * @private
438
403
  * @memberof Reachability
439
404
  */
440
-
441
405
  }, {
442
406
  key: "logUnreachableClusters",
443
407
  value: function logUnreachableClusters() {
@@ -446,6 +410,7 @@ var Reachability = /*#__PURE__*/function () {
446
410
  _loggerProxy.default.logger.log("Reachability:index#logUnreachableClusters --> No ice candidate for ".concat(cluster, "."));
447
411
  });
448
412
  }
413
+
449
414
  /**
450
415
  * Calculates time to establish connection
451
416
  * @param {array} iceResults iceResults
@@ -453,16 +418,14 @@ var Reachability = /*#__PURE__*/function () {
453
418
  * @private
454
419
  * @memberof Reachability
455
420
  */
456
-
457
421
  }, {
458
422
  key: "parseIceResultsToReachabilityResults",
459
423
  value: function parseIceResultsToReachabilityResults(iceResults) {
460
424
  var reachabilityMap = {};
461
425
  iceResults.forEach(function (_ref2) {
462
426
  var clusterId = _ref2.clusterId,
463
- elapsed = _ref2.elapsed;
427
+ elapsed = _ref2.elapsed;
464
428
  var latencyResult;
465
-
466
429
  if (elapsed === null) {
467
430
  latencyResult = {
468
431
  reachable: 'false'
@@ -473,7 +436,6 @@ var Reachability = /*#__PURE__*/function () {
473
436
  latencyInMilliseconds: elapsed.toString()
474
437
  };
475
438
  }
476
-
477
439
  reachabilityMap[clusterId] = {
478
440
  udp: latencyResult,
479
441
  tcp: latencyResult
@@ -481,6 +443,7 @@ var Reachability = /*#__PURE__*/function () {
481
443
  });
482
444
  return reachabilityMap;
483
445
  }
446
+
484
447
  /**
485
448
  * fetches reachability data
486
449
  * @param {object} clusterList
@@ -488,33 +451,29 @@ var Reachability = /*#__PURE__*/function () {
488
451
  * @private
489
452
  * @memberof Reachability
490
453
  */
491
-
492
454
  }, {
493
455
  key: "performReachabilityCheck",
494
456
  value: function performReachabilityCheck(clusterList) {
495
457
  var _this5 = this;
496
-
497
458
  if (!clusterList || !(0, _keys.default)(clusterList).length) {
498
459
  return _promise.default.resolve({});
499
460
  }
500
-
501
461
  return new _promise.default(function (resolve) {
502
462
  _this5.getLocalSDPForClusters(clusterList).then(function (localSDPData) {
503
463
  if (!localSDPData || !(0, _keys.default)(localSDPData).length) {
504
464
  // TODO: handle the error condition properly and try retry
505
465
  _loggerProxy.default.logger.log('Reachability:index#performReachabilityCheck --> Local SDP is empty or has missing elements..returning');
506
-
507
466
  resolve({});
508
467
  } else {
509
468
  resolve(localSDPData);
510
469
  }
511
470
  }).catch(function (error) {
512
471
  _loggerProxy.default.logger.error("Reachability:index#performReachabilityCheck --> Error in getLocalSDPForClusters: ".concat(error));
513
-
514
472
  resolve({});
515
473
  });
516
474
  });
517
475
  }
476
+
518
477
  /**
519
478
  * Records latency and closes the peerConnection
520
479
  * @param {RTCPeerConnection} peerConnection
@@ -523,40 +482,38 @@ var Reachability = /*#__PURE__*/function () {
523
482
  * @private
524
483
  * @memberof Reachability
525
484
  */
526
-
527
485
  }, {
528
486
  key: "setLatencyAndClose",
529
487
  value: function setLatencyAndClose(peerConnection, elapsed) {
530
488
  var _intialState;
531
-
532
489
  var REACHABLE = 'reachable';
533
490
  var UNREACHABLE = 'unreachable';
534
491
  var CLOSED = _constants.CONNECTION_STATE.CLOSED;
492
+ // @ts-ignore
535
493
  var key = peerConnection.key;
536
494
  var resultKey = elapsed === null ? UNREACHABLE : REACHABLE;
537
495
  var intialState = (_intialState = {}, (0, _defineProperty2.default)(_intialState, REACHABLE, 0), (0, _defineProperty2.default)(_intialState, UNREACHABLE, 0), _intialState);
538
-
539
496
  if (peerConnection.connectionState === CLOSED) {
540
497
  _loggerProxy.default.logger.log("Reachability:index#setLatencyAndClose --> Attempting to set latency of ".concat(elapsed, " on closed peerConnection."));
541
-
542
498
  return;
543
499
  }
544
-
545
500
  this.clusterLatencyResults[key] = this.clusterLatencyResults[key] || intialState;
546
- this.clusterLatencyResults[key][resultKey] += 1; // Set to null in case this fired from
547
- // an event other than onIceCandidate
501
+ this.clusterLatencyResults[key][resultKey] += 1;
548
502
 
503
+ // Set to null in case this fired from
504
+ // an event other than onIceCandidate
549
505
  peerConnection.onicecandidate = null;
550
506
  peerConnection.close();
507
+ // @ts-ignore
551
508
  peerConnection.elapsed = elapsed;
552
509
  }
510
+
553
511
  /**
554
512
  * utility function
555
513
  * @returns {undefined}
556
514
  * @private
557
515
  * @memberof Reachability
558
516
  */
559
-
560
517
  }, {
561
518
  key: "setup",
562
519
  value: function setup() {
@@ -565,6 +522,5 @@ var Reachability = /*#__PURE__*/function () {
565
522
  }]);
566
523
  return Reachability;
567
524
  }();
568
-
569
525
  exports.default = Reachability;
570
526
  //# sourceMappingURL=index.js.map