@webex/plugin-meetings 2.59.3-next.1 → 2.59.4-next.1

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 (420) hide show
  1. package/.eslintrc.js +6 -6
  2. package/LICENSE +1 -1
  3. package/README.md +1204 -1204
  4. package/UPGRADING.md +287 -287
  5. package/babel.config.js +3 -3
  6. package/browsers.js +108 -108
  7. package/dist/common/browser-detection.js +2 -2
  8. package/dist/common/browser-detection.js.map +1 -1
  9. package/dist/common/collection.js +45 -45
  10. package/dist/common/collection.js.map +1 -1
  11. package/dist/common/config.js.map +1 -1
  12. package/dist/common/errors/captcha-error.js +7 -7
  13. package/dist/common/errors/captcha-error.js.map +1 -1
  14. package/dist/common/errors/intent-to-join.js +7 -7
  15. package/dist/common/errors/intent-to-join.js.map +1 -1
  16. package/dist/common/errors/join-meeting.js +8 -8
  17. package/dist/common/errors/join-meeting.js.map +1 -1
  18. package/dist/common/errors/media.js +7 -7
  19. package/dist/common/errors/media.js.map +1 -1
  20. package/dist/common/errors/parameter.js +7 -7
  21. package/dist/common/errors/parameter.js.map +1 -1
  22. package/dist/common/errors/password-error.js +7 -7
  23. package/dist/common/errors/password-error.js.map +1 -1
  24. package/dist/common/errors/permission.js +6 -6
  25. package/dist/common/errors/permission.js.map +1 -1
  26. package/dist/common/errors/reconnection-in-progress.js +6 -6
  27. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  28. package/dist/common/errors/reconnection.js +7 -7
  29. package/dist/common/errors/reconnection.js.map +1 -1
  30. package/dist/common/errors/stats.js +7 -7
  31. package/dist/common/errors/stats.js.map +1 -1
  32. package/dist/common/errors/webex-errors.js +42 -42
  33. package/dist/common/errors/webex-errors.js.map +1 -1
  34. package/dist/common/errors/webex-meetings-error.js +12 -12
  35. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  36. package/dist/common/events/events-scope.js +10 -10
  37. package/dist/common/events/events-scope.js.map +1 -1
  38. package/dist/common/events/events.js +4 -4
  39. package/dist/common/events/events.js.map +1 -1
  40. package/dist/common/events/trigger-proxy.js.map +1 -1
  41. package/dist/common/events/util.js.map +1 -1
  42. package/dist/common/logs/logger-config.js.map +1 -1
  43. package/dist/common/logs/logger-proxy.js.map +1 -1
  44. package/dist/common/logs/request.js +18 -18
  45. package/dist/common/logs/request.js.map +1 -1
  46. package/dist/common/queue.js +18 -18
  47. package/dist/common/queue.js.map +1 -1
  48. package/dist/config.js.map +1 -1
  49. package/dist/constants.js +9 -9
  50. package/dist/constants.js.map +1 -1
  51. package/dist/controls-options-manager/constants.js.map +1 -1
  52. package/dist/controls-options-manager/enums.js.map +1 -1
  53. package/dist/controls-options-manager/index.js +83 -83
  54. package/dist/controls-options-manager/index.js.map +1 -1
  55. package/dist/controls-options-manager/util.js.map +1 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/locus-info/controlsUtils.js +27 -27
  58. package/dist/locus-info/controlsUtils.js.map +1 -1
  59. package/dist/locus-info/embeddedAppsUtils.js +14 -14
  60. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  61. package/dist/locus-info/fullState.js.map +1 -1
  62. package/dist/locus-info/hostUtils.js +19 -19
  63. package/dist/locus-info/hostUtils.js.map +1 -1
  64. package/dist/locus-info/index.js +198 -198
  65. package/dist/locus-info/index.js.map +1 -1
  66. package/dist/locus-info/infoUtils.js.map +1 -1
  67. package/dist/locus-info/mediaSharesUtils.js +50 -50
  68. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  69. package/dist/locus-info/parser.js +138 -138
  70. package/dist/locus-info/parser.js.map +1 -1
  71. package/dist/locus-info/selfUtils.js +52 -52
  72. package/dist/locus-info/selfUtils.js.map +1 -1
  73. package/dist/media/index.js +145 -145
  74. package/dist/media/index.js.map +1 -1
  75. package/dist/media/properties.js +49 -49
  76. package/dist/media/properties.js.map +1 -1
  77. package/dist/media/util.js.map +1 -1
  78. package/dist/mediaQualityMetrics/config.js.map +1 -1
  79. package/dist/meeting/effectsState.js +24 -24
  80. package/dist/meeting/effectsState.js.map +1 -1
  81. package/dist/meeting/in-meeting-actions.js +11 -11
  82. package/dist/meeting/in-meeting-actions.js.map +1 -1
  83. package/dist/meeting/index.js +1505 -1508
  84. package/dist/meeting/index.js.map +1 -1
  85. package/dist/meeting/muteState.js +85 -85
  86. package/dist/meeting/muteState.js.map +1 -1
  87. package/dist/meeting/request.js +143 -143
  88. package/dist/meeting/request.js.map +1 -1
  89. package/dist/meeting/state.js +30 -30
  90. package/dist/meeting/state.js.map +1 -1
  91. package/dist/meeting/util.js +4 -4
  92. package/dist/meeting/util.js.map +1 -1
  93. package/dist/meeting-info/collection.js +13 -13
  94. package/dist/meeting-info/collection.js.map +1 -1
  95. package/dist/meeting-info/index.js +50 -50
  96. package/dist/meeting-info/index.js.map +1 -1
  97. package/dist/meeting-info/meeting-info-v2.js +52 -52
  98. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  99. package/dist/meeting-info/request.js +14 -14
  100. package/dist/meeting-info/request.js.map +1 -1
  101. package/dist/meeting-info/util.js +9 -9
  102. package/dist/meeting-info/util.js.map +1 -1
  103. package/dist/meeting-info/utilv2.js +20 -20
  104. package/dist/meeting-info/utilv2.js.map +1 -1
  105. package/dist/meetings/collection.js +16 -16
  106. package/dist/meetings/collection.js.map +1 -1
  107. package/dist/meetings/index.js +259 -259
  108. package/dist/meetings/index.js.map +1 -1
  109. package/dist/meetings/request.js +15 -15
  110. package/dist/meetings/request.js.map +1 -1
  111. package/dist/meetings/util.js +29 -29
  112. package/dist/meetings/util.js.map +1 -1
  113. package/dist/member/index.js +214 -214
  114. package/dist/member/index.js.map +1 -1
  115. package/dist/member/member.types.js.map +1 -1
  116. package/dist/member/util.js +60 -60
  117. package/dist/member/util.js.map +1 -1
  118. package/dist/members/collection.js +11 -11
  119. package/dist/members/collection.js.map +1 -1
  120. package/dist/members/index.js +277 -277
  121. package/dist/members/index.js.map +1 -1
  122. package/dist/members/request.js +27 -27
  123. package/dist/members/request.js.map +1 -1
  124. package/dist/members/util.js +21 -21
  125. package/dist/members/util.js.map +1 -1
  126. package/dist/metrics/config.js.map +1 -1
  127. package/dist/metrics/constants.js.map +1 -1
  128. package/dist/metrics/index.js +92 -92
  129. package/dist/metrics/index.js.map +1 -1
  130. package/dist/networkQualityMonitor/index.js +65 -65
  131. package/dist/networkQualityMonitor/index.js.map +1 -1
  132. package/dist/peer-connection-manager/index.js +87 -87
  133. package/dist/peer-connection-manager/index.js.map +1 -1
  134. package/dist/peer-connection-manager/util.js +9 -9
  135. package/dist/peer-connection-manager/util.js.map +1 -1
  136. package/dist/personal-meeting-room/index.js +67 -67
  137. package/dist/personal-meeting-room/index.js.map +1 -1
  138. package/dist/personal-meeting-room/request.js +7 -7
  139. package/dist/personal-meeting-room/request.js.map +1 -1
  140. package/dist/personal-meeting-room/util.js.map +1 -1
  141. package/dist/reachability/index.js +119 -112
  142. package/dist/reachability/index.js.map +1 -1
  143. package/dist/reachability/request.js +15 -15
  144. package/dist/reachability/request.js.map +1 -1
  145. package/dist/reactions/reactions.js.map +1 -1
  146. package/dist/reactions/reactions.type.js.map +1 -1
  147. package/dist/reconnection-manager/index.js +112 -112
  148. package/dist/reconnection-manager/index.js.map +1 -1
  149. package/dist/recording-controller/enums.js.map +1 -1
  150. package/dist/recording-controller/index.js +127 -127
  151. package/dist/recording-controller/index.js.map +1 -1
  152. package/dist/recording-controller/util.js.map +1 -1
  153. package/dist/roap/collection.js.map +1 -1
  154. package/dist/roap/handler.js +27 -27
  155. package/dist/roap/handler.js.map +1 -1
  156. package/dist/roap/index.js +111 -111
  157. package/dist/roap/index.js.map +1 -1
  158. package/dist/roap/request.js +17 -17
  159. package/dist/roap/request.js.map +1 -1
  160. package/dist/roap/state.js +14 -14
  161. package/dist/roap/state.js.map +1 -1
  162. package/dist/roap/turnDiscovery.js +46 -46
  163. package/dist/roap/turnDiscovery.js.map +1 -1
  164. package/dist/roap/util.js.map +1 -1
  165. package/dist/statsAnalyzer/global.js.map +1 -1
  166. package/dist/statsAnalyzer/index.js +130 -130
  167. package/dist/statsAnalyzer/index.js.map +1 -1
  168. package/dist/statsAnalyzer/mqaUtil.js +15 -15
  169. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  170. package/dist/transcription/index.js +42 -42
  171. package/dist/transcription/index.js.map +1 -1
  172. package/internal-README.md +172 -172
  173. package/jest.config.js +3 -3
  174. package/package.json +15 -15
  175. package/process +1 -1
  176. package/src/common/browser-detection.ts +39 -39
  177. package/src/common/collection.ts +94 -94
  178. package/src/common/config.ts +9 -9
  179. package/src/common/errors/captcha-error.ts +25 -25
  180. package/src/common/errors/intent-to-join.ts +27 -27
  181. package/src/common/errors/join-meeting.ts +32 -32
  182. package/src/common/errors/media.ts +25 -25
  183. package/src/common/errors/parameter.ts +33 -33
  184. package/src/common/errors/password-error.ts +25 -25
  185. package/src/common/errors/permission.ts +24 -24
  186. package/src/common/errors/reconnection-in-progress.ts +8 -8
  187. package/src/common/errors/reconnection.ts +25 -25
  188. package/src/common/errors/stats.ts +25 -25
  189. package/src/common/errors/webex-errors.ts +140 -140
  190. package/src/common/errors/webex-meetings-error.ts +35 -35
  191. package/src/common/events/events-scope.ts +30 -30
  192. package/src/common/events/events.ts +25 -25
  193. package/src/common/events/trigger-proxy.ts +25 -25
  194. package/src/common/events/util.ts +39 -39
  195. package/src/common/logs/logger-config.ts +8 -8
  196. package/src/common/logs/logger-proxy.ts +44 -44
  197. package/src/common/logs/request.ts +65 -65
  198. package/src/common/queue.ts +50 -50
  199. package/src/config.ts +96 -96
  200. package/src/constants.ts +1121 -1121
  201. package/src/controls-options-manager/constants.ts +5 -5
  202. package/src/controls-options-manager/enums.ts +6 -6
  203. package/src/controls-options-manager/index.ts +183 -183
  204. package/src/controls-options-manager/util.ts +20 -20
  205. package/src/index.js +15 -15
  206. package/src/locus-info/controlsUtils.ts +112 -112
  207. package/src/locus-info/embeddedAppsUtils.ts +57 -57
  208. package/src/locus-info/fullState.ts +69 -69
  209. package/src/locus-info/hostUtils.ts +60 -60
  210. package/src/locus-info/index.ts +1303 -1303
  211. package/src/locus-info/infoUtils.ts +101 -101
  212. package/src/locus-info/mediaSharesUtils.ts +173 -173
  213. package/src/locus-info/parser.ts +680 -680
  214. package/src/locus-info/selfUtils.ts +428 -428
  215. package/src/media/index.ts +675 -675
  216. package/src/media/properties.ts +313 -313
  217. package/src/media/util.ts +37 -37
  218. package/src/mediaQualityMetrics/config.ts +382 -382
  219. package/src/meeting/effectsState.ts +209 -209
  220. package/src/meeting/in-meeting-actions.ts +153 -153
  221. package/src/meeting/index.ts +6537 -6537
  222. package/src/meeting/muteState.ts +365 -365
  223. package/src/meeting/request.ts +810 -810
  224. package/src/meeting/state.ts +194 -194
  225. package/src/meeting/util.ts +530 -530
  226. package/src/meeting-info/collection.ts +41 -41
  227. package/src/meeting-info/index.ts +137 -137
  228. package/src/meeting-info/meeting-info-v2.ts +273 -273
  229. package/src/meeting-info/request.ts +46 -46
  230. package/src/meeting-info/util.ts +314 -314
  231. package/src/meeting-info/utilv2.ts +324 -324
  232. package/src/meetings/collection.ts +43 -43
  233. package/src/meetings/index.ts +1128 -1128
  234. package/src/meetings/request.ts +81 -81
  235. package/src/meetings/util.ts +181 -181
  236. package/src/member/index.ts +446 -446
  237. package/src/member/member.types.ts +13 -13
  238. package/src/member/util.ts +286 -286
  239. package/src/members/collection.ts +40 -40
  240. package/src/members/index.ts +900 -900
  241. package/src/members/request.ts +175 -175
  242. package/src/members/util.ts +260 -260
  243. package/src/metrics/config.ts +485 -485
  244. package/src/metrics/constants.ts +61 -61
  245. package/src/metrics/index.ts +543 -543
  246. package/src/networkQualityMonitor/index.ts +211 -211
  247. package/src/peer-connection-manager/index.ts +847 -847
  248. package/src/peer-connection-manager/util.ts +119 -119
  249. package/src/personal-meeting-room/index.ts +157 -157
  250. package/src/personal-meeting-room/request.ts +48 -48
  251. package/src/personal-meeting-room/util.ts +49 -49
  252. package/src/reachability/index.ts +478 -478
  253. package/src/reachability/request.ts +81 -81
  254. package/src/reactions/reactions.ts +104 -104
  255. package/src/reactions/reactions.type.ts +36 -36
  256. package/src/reconnection-manager/index.ts +622 -622
  257. package/src/recording-controller/enums.ts +8 -8
  258. package/src/recording-controller/index.ts +315 -315
  259. package/src/recording-controller/util.ts +58 -58
  260. package/src/roap/collection.ts +62 -62
  261. package/src/roap/handler.ts +294 -294
  262. package/src/roap/index.ts +413 -413
  263. package/src/roap/request.ts +229 -229
  264. package/src/roap/state.ts +156 -156
  265. package/src/roap/turnDiscovery.ts +283 -283
  266. package/src/roap/util.ts +100 -100
  267. package/src/statsAnalyzer/global.ts +128 -128
  268. package/src/statsAnalyzer/index.ts +1266 -1266
  269. package/src/statsAnalyzer/mqaUtil.ts +290 -290
  270. package/src/transcription/index.ts +154 -154
  271. package/test/integration/spec/journey.js +941 -941
  272. package/test/integration/spec/space-meeting.js +457 -457
  273. package/test/integration/spec/transcription.js +55 -55
  274. package/test/unit/spec/common/browser-detection.js +119 -119
  275. package/test/unit/spec/common/queue.js +69 -69
  276. package/test/unit/spec/controls-options-manager/index.js +123 -123
  277. package/test/unit/spec/controls-options-manager/util.js +65 -65
  278. package/test/unit/spec/fixture/locus.js +406 -406
  279. package/test/unit/spec/locus-info/controlsUtils.js +82 -82
  280. package/test/unit/spec/locus-info/embeddedAppsUtils.js +104 -104
  281. package/test/unit/spec/locus-info/index.js +1272 -1272
  282. package/test/unit/spec/locus-info/infoUtils.js +138 -138
  283. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +975 -975
  284. package/test/unit/spec/locus-info/lib/SeqCmp.json +522 -522
  285. package/test/unit/spec/locus-info/lib/selfConstant.js +286 -286
  286. package/test/unit/spec/locus-info/parser.js +298 -298
  287. package/test/unit/spec/locus-info/selfUtils.js +185 -185
  288. package/test/unit/spec/media/properties.ts +305 -305
  289. package/test/unit/spec/meeting/effectsState.js +281 -281
  290. package/test/unit/spec/meeting/in-meeting-actions.ts +90 -90
  291. package/test/unit/spec/meeting/index.js +5227 -5227
  292. package/test/unit/spec/meeting/muteState.js +430 -430
  293. package/test/unit/spec/meeting/request.js +317 -317
  294. package/test/unit/spec/meeting/utils.js +319 -319
  295. package/test/unit/spec/meeting-info/meetinginfov2.js +376 -376
  296. package/test/unit/spec/meeting-info/request.js +64 -64
  297. package/test/unit/spec/meeting-info/util.js +37 -37
  298. package/test/unit/spec/meeting-info/utilv2.js +330 -330
  299. package/test/unit/spec/meetings/collection.js +52 -52
  300. package/test/unit/spec/meetings/index.js +1375 -1375
  301. package/test/unit/spec/meetings/utils.js +66 -66
  302. package/test/unit/spec/member/index.js +47 -47
  303. package/test/unit/spec/member/util.js +80 -80
  304. package/test/unit/spec/members/index.js +364 -364
  305. package/test/unit/spec/members/request.js +200 -200
  306. package/test/unit/spec/members/utils.js +42 -42
  307. package/test/unit/spec/metrics/index.js +111 -111
  308. package/test/unit/spec/networkQualityMonitor/index.js +99 -99
  309. package/test/unit/spec/peerconnection-manager/index.js +218 -218
  310. package/test/unit/spec/peerconnection-manager/utils.js +49 -49
  311. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +388 -388
  312. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +29 -29
  313. package/test/unit/spec/reachability/index.ts +50 -50
  314. package/test/unit/spec/reconnection-manager/index.js +206 -206
  315. package/test/unit/spec/recording-controller/index.js +230 -230
  316. package/test/unit/spec/recording-controller/util.js +101 -101
  317. package/test/unit/spec/roap/index.ts +128 -128
  318. package/test/unit/spec/roap/turnDiscovery.ts +372 -372
  319. package/test/unit/spec/roap/util.js +30 -30
  320. package/test/unit/spec/stats-analyzer/index.js +287 -287
  321. package/test/utils/cmr.js +104 -104
  322. package/test/utils/testUtils.js +287 -287
  323. package/test/utils/webex-config.js +77 -77
  324. package/test/utils/webex-test-users.js +82 -82
  325. package/tsconfig.json +5 -5
  326. package/dist/common/browser-detection.d.ts +0 -9
  327. package/dist/common/collection.d.ts +0 -48
  328. package/dist/common/config.d.ts +0 -2
  329. package/dist/common/errors/captcha-error.d.ts +0 -15
  330. package/dist/common/errors/intent-to-join.d.ts +0 -16
  331. package/dist/common/errors/join-meeting.d.ts +0 -17
  332. package/dist/common/errors/media.d.ts +0 -15
  333. package/dist/common/errors/parameter.d.ts +0 -15
  334. package/dist/common/errors/password-error.d.ts +0 -15
  335. package/dist/common/errors/permission.d.ts +0 -14
  336. package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
  337. package/dist/common/errors/reconnection.d.ts +0 -15
  338. package/dist/common/errors/stats.d.ts +0 -15
  339. package/dist/common/errors/webex-errors.d.ts +0 -81
  340. package/dist/common/errors/webex-meetings-error.d.ts +0 -20
  341. package/dist/common/events/events-scope.d.ts +0 -17
  342. package/dist/common/events/events.d.ts +0 -12
  343. package/dist/common/events/trigger-proxy.d.ts +0 -2
  344. package/dist/common/events/util.d.ts +0 -2
  345. package/dist/common/logs/logger-config.d.ts +0 -2
  346. package/dist/common/logs/logger-proxy.d.ts +0 -2
  347. package/dist/common/logs/request.d.ts +0 -34
  348. package/dist/common/queue.d.ts +0 -32
  349. package/dist/config.d.ts +0 -73
  350. package/dist/constants.d.ts +0 -924
  351. package/dist/controls-options-manager/constants.d.ts +0 -4
  352. package/dist/controls-options-manager/enums.d.ts +0 -5
  353. package/dist/controls-options-manager/index.d.ts +0 -120
  354. package/dist/controls-options-manager/util.d.ts +0 -7
  355. package/dist/index.d.ts +0 -4
  356. package/dist/locus-info/controlsUtils.d.ts +0 -2
  357. package/dist/locus-info/embeddedAppsUtils.d.ts +0 -2
  358. package/dist/locus-info/fullState.d.ts +0 -2
  359. package/dist/locus-info/hostUtils.d.ts +0 -2
  360. package/dist/locus-info/index.d.ts +0 -269
  361. package/dist/locus-info/infoUtils.d.ts +0 -2
  362. package/dist/locus-info/mediaSharesUtils.d.ts +0 -2
  363. package/dist/locus-info/parser.d.ts +0 -212
  364. package/dist/locus-info/selfUtils.d.ts +0 -2
  365. package/dist/media/index.d.ts +0 -32
  366. package/dist/media/properties.d.ts +0 -108
  367. package/dist/media/util.d.ts +0 -2
  368. package/dist/mediaQualityMetrics/config.d.ts +0 -233
  369. package/dist/meeting/effectsState.d.ts +0 -42
  370. package/dist/meeting/in-meeting-actions.d.ts +0 -79
  371. package/dist/meeting/index.d.ts +0 -1621
  372. package/dist/meeting/muteState.d.ts +0 -116
  373. package/dist/meeting/request.d.ts +0 -255
  374. package/dist/meeting/state.d.ts +0 -9
  375. package/dist/meeting/util.d.ts +0 -2
  376. package/dist/meeting-info/collection.d.ts +0 -20
  377. package/dist/meeting-info/index.d.ts +0 -57
  378. package/dist/meeting-info/meeting-info-v2.d.ts +0 -93
  379. package/dist/meeting-info/request.d.ts +0 -22
  380. package/dist/meeting-info/util.d.ts +0 -2
  381. package/dist/meeting-info/utilv2.d.ts +0 -2
  382. package/dist/meetings/collection.d.ts +0 -23
  383. package/dist/meetings/index.d.ts +0 -296
  384. package/dist/meetings/request.d.ts +0 -27
  385. package/dist/meetings/util.d.ts +0 -18
  386. package/dist/member/index.d.ts +0 -147
  387. package/dist/member/member.types.d.ts +0 -11
  388. package/dist/member/util.d.ts +0 -2
  389. package/dist/members/collection.d.ts +0 -24
  390. package/dist/members/index.d.ts +0 -298
  391. package/dist/members/request.d.ts +0 -50
  392. package/dist/members/util.d.ts +0 -2
  393. package/dist/metrics/config.d.ts +0 -169
  394. package/dist/metrics/constants.d.ts +0 -57
  395. package/dist/metrics/index.d.ts +0 -152
  396. package/dist/networkQualityMonitor/index.d.ts +0 -70
  397. package/dist/peer-connection-manager/index.d.ts +0 -6
  398. package/dist/peer-connection-manager/util.d.ts +0 -6
  399. package/dist/personal-meeting-room/index.d.ts +0 -47
  400. package/dist/personal-meeting-room/request.d.ts +0 -14
  401. package/dist/personal-meeting-room/util.d.ts +0 -2
  402. package/dist/reachability/index.d.ts +0 -139
  403. package/dist/reachability/request.d.ts +0 -35
  404. package/dist/reactions/reactions.d.ts +0 -4
  405. package/dist/reactions/reactions.type.d.ts +0 -32
  406. package/dist/reconnection-manager/index.d.ts +0 -112
  407. package/dist/recording-controller/enums.d.ts +0 -7
  408. package/dist/recording-controller/index.d.ts +0 -193
  409. package/dist/recording-controller/util.d.ts +0 -13
  410. package/dist/roap/collection.d.ts +0 -10
  411. package/dist/roap/handler.d.ts +0 -47
  412. package/dist/roap/index.d.ts +0 -116
  413. package/dist/roap/request.d.ts +0 -35
  414. package/dist/roap/state.d.ts +0 -9
  415. package/dist/roap/turnDiscovery.d.ts +0 -67
  416. package/dist/roap/util.d.ts +0 -2
  417. package/dist/statsAnalyzer/global.d.ts +0 -126
  418. package/dist/statsAnalyzer/index.d.ts +0 -190
  419. package/dist/statsAnalyzer/mqaUtil.d.ts +0 -22
  420. package/dist/transcription/index.d.ts +0 -64
@@ -28,11 +28,8 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/
28
28
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
29
29
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
30
30
  var _defineProperty3 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
31
- var _isString2 = _interopRequireDefault(require("lodash/isString"));
32
- var _pick2 = _interopRequireDefault(require("lodash/pick"));
33
- var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
34
- var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
35
31
  var _uuid = _interopRequireDefault(require("uuid"));
32
+ var _lodash = require("lodash");
36
33
  var _webexCore = require("@webex/webex-core");
37
34
  var _internalMediaCore = require("@webex/internal-media-core");
38
35
  var _webexErrors = require("../common/errors/webex-errors");
@@ -102,313 +99,313 @@ var MEDIA_UPDATE_TYPE = {
102
99
  SHARE: 'SHARE'
103
100
  };
104
101
 
105
- /**
106
- * MediaDirection
107
- * @typedef {Object} MediaDirection
108
- * @property {boolean} sendAudio
109
- * @property {boolean} receiveAudio
110
- * @property {boolean} sendVideo
111
- * @property {boolean} receiveVideo
112
- * @property {boolean} sendShare
113
- * @property {boolean} receiveShare
114
- * @property {boolean} isSharing
102
+ /**
103
+ * MediaDirection
104
+ * @typedef {Object} MediaDirection
105
+ * @property {boolean} sendAudio
106
+ * @property {boolean} receiveAudio
107
+ * @property {boolean} sendVideo
108
+ * @property {boolean} receiveVideo
109
+ * @property {boolean} sendShare
110
+ * @property {boolean} receiveShare
111
+ * @property {boolean} isSharing
115
112
  */
116
113
 
117
- /**
118
- * AudioVideo
119
- * @typedef {Object} AudioVideo
120
- * @property {Object} audio
121
- * @property {String} audio.deviceId
122
- * @property {Object} video
123
- * @property {String} video.deviceId
124
- * @property {String} video.localVideoQuality // [240p, 360p, 480p, 720p, 1080p]
114
+ /**
115
+ * AudioVideo
116
+ * @typedef {Object} AudioVideo
117
+ * @property {Object} audio
118
+ * @property {String} audio.deviceId
119
+ * @property {Object} video
120
+ * @property {String} video.deviceId
121
+ * @property {String} video.localVideoQuality // [240p, 360p, 480p, 720p, 1080p]
125
122
  */
126
123
 
127
- /**
128
- * SharePreferences
129
- * @typedef {Object} SharePreferences
130
- * @property {Object} [shareConstraints]
131
- * @property {Boolean} [highFrameRate]
124
+ /**
125
+ * SharePreferences
126
+ * @typedef {Object} SharePreferences
127
+ * @property {Object} [shareConstraints]
128
+ * @property {Boolean} [highFrameRate]
132
129
  */
133
130
 
134
- /**
135
- * JoinOptions
136
- * @typedef {Object} JoinOptions
137
- * @property {String} [resourceId]
138
- * @property {String} [pin]
139
- * @property {Boolean} [moderator]
140
- * @property {String|Object} [meetingQuality]
141
- * @property {String} [meetingQuality.local]
142
- * @property {String} [meetingQuality.remote]
143
- * @property {Boolean} [rejoin]
131
+ /**
132
+ * JoinOptions
133
+ * @typedef {Object} JoinOptions
134
+ * @property {String} [resourceId]
135
+ * @property {String} [pin]
136
+ * @property {Boolean} [moderator]
137
+ * @property {String|Object} [meetingQuality]
138
+ * @property {String} [meetingQuality.local]
139
+ * @property {String} [meetingQuality.remote]
140
+ * @property {Boolean} [rejoin]
144
141
  */
145
142
 
146
- /**
147
- * SendOptions
148
- * @typedef {Object} SendOptions
149
- * @property {Boolean} sendAudio
150
- * @property {Boolean} sendVideo
151
- * @property {Boolean} sendShare
143
+ /**
144
+ * SendOptions
145
+ * @typedef {Object} SendOptions
146
+ * @property {Boolean} sendAudio
147
+ * @property {Boolean} sendVideo
148
+ * @property {Boolean} sendShare
152
149
  */
153
150
 
154
- /**
155
- * Recording
156
- * @typedef {Object} Recording
157
- * @property {Object} state
158
- * @property {String} modifiedBy
151
+ /**
152
+ * Recording
153
+ * @typedef {Object} Recording
154
+ * @property {Object} state
155
+ * @property {String} modifiedBy
159
156
  */
160
157
 
161
- /**
162
- * Meeting State Change Event
163
- * Emitted when ever there is a meeting state change
164
- * @event meeting:stateChange
165
- * @instance
166
- * @type {Object}
167
- * @property {String} currentState current state of the meeting
168
- * @property {String} previousState previous state of the meeting
169
- * @memberof Meeting
158
+ /**
159
+ * Meeting State Change Event
160
+ * Emitted when ever there is a meeting state change
161
+ * @event meeting:stateChange
162
+ * @instance
163
+ * @type {Object}
164
+ * @property {String} currentState current state of the meeting
165
+ * @property {String} previousState previous state of the meeting
166
+ * @memberof Meeting
170
167
  */
171
168
 
172
- /**
173
- * Media Ready Event
174
- * Emitted when a stream is ready to be rendered
175
- * @event media:ready
176
- * @instance
177
- * @type {Object}
178
- * @property {MediaStream} stream the media stream
179
- * @property {String} type what type of stream, remote, local
180
- * @memberof Meeting
169
+ /**
170
+ * Media Ready Event
171
+ * Emitted when a stream is ready to be rendered
172
+ * @event media:ready
173
+ * @instance
174
+ * @type {Object}
175
+ * @property {MediaStream} stream the media stream
176
+ * @property {String} type what type of stream, remote, local
177
+ * @memberof Meeting
181
178
  */
182
179
 
183
- /**
184
- * Media Stopped Event
185
- * Emitted when a stream has stopped sending
186
- * @event media:stopped
187
- * @instance
188
- * @type {Object}
189
- * @property {String} type what type of stream, remote, local
190
- * @memberof Meeting
180
+ /**
181
+ * Media Stopped Event
182
+ * Emitted when a stream has stopped sending
183
+ * @event media:stopped
184
+ * @instance
185
+ * @type {Object}
186
+ * @property {String} type what type of stream, remote, local
187
+ * @memberof Meeting
191
188
  */
192
189
 
193
- /**
194
- * Meeting Ringing Event
195
- * Emitted when this client should play a ringing sound, because this member is getting an incoming meeting
196
- * or sending out an incoming meeting
197
- * @event meeting:ringing
198
- * @instance
199
- * @type {Object}
200
- * @property {String} type // INCOMING or JOIN
201
- * @property {String} id
202
- * @memberof Meeting
190
+ /**
191
+ * Meeting Ringing Event
192
+ * Emitted when this client should play a ringing sound, because this member is getting an incoming meeting
193
+ * or sending out an incoming meeting
194
+ * @event meeting:ringing
195
+ * @instance
196
+ * @type {Object}
197
+ * @property {String} type // INCOMING or JOIN
198
+ * @property {String} id
199
+ * @memberof Meeting
203
200
  */
204
201
 
205
- /**
206
- * Meeting Ringing Stop Event
207
- * Emitted when this client should stop playing a ringing sound
208
- * @event meeting:ringingStop
209
- * @instance
210
- * @type {Object}
211
- * @property {Object} type
212
- * @property {Boolean} type.remoteAnswered
213
- * @property {Boolean} type.remoteDeclined
214
- * @property {String} id
215
- * @memberof Meeting
202
+ /**
203
+ * Meeting Ringing Stop Event
204
+ * Emitted when this client should stop playing a ringing sound
205
+ * @event meeting:ringingStop
206
+ * @instance
207
+ * @type {Object}
208
+ * @property {Object} type
209
+ * @property {Boolean} type.remoteAnswered
210
+ * @property {Boolean} type.remoteDeclined
211
+ * @property {String} id
212
+ * @memberof Meeting
216
213
  */
217
214
 
218
- /**
219
- * Meeting Started Sharing Local Event
220
- * Emitted when this member starts sharing
221
- * @event meeting:startedSharingLocal
222
- * @instance
223
- * @type {Object}
224
- * @memberof Meeting
215
+ /**
216
+ * Meeting Started Sharing Local Event
217
+ * Emitted when this member starts sharing
218
+ * @event meeting:startedSharingLocal
219
+ * @instance
220
+ * @type {Object}
221
+ * @memberof Meeting
225
222
  */
226
223
 
227
- /**
228
- * Meeting Stopped Sharing Local Event
229
- * Emitted when this member stops sharing
230
- * @event meeting:stoppedSharingLocal
231
- * @instance
232
- * @type {Object}
233
- * @memberof Meeting
224
+ /**
225
+ * Meeting Stopped Sharing Local Event
226
+ * Emitted when this member stops sharing
227
+ * @event meeting:stoppedSharingLocal
228
+ * @instance
229
+ * @type {Object}
230
+ * @memberof Meeting
234
231
  */
235
232
 
236
- /**
237
- * Meeting Started Sharing Remote Event
238
- * Emitted when remote sharing starts
239
- * @event meeting:startedSharingRemote
240
- * @instance
241
- * @type {Object}
242
- * @property {Boolean} memberId id of the meeting member that started screen share
243
- * @memberof Meeting
233
+ /**
234
+ * Meeting Started Sharing Remote Event
235
+ * Emitted when remote sharing starts
236
+ * @event meeting:startedSharingRemote
237
+ * @instance
238
+ * @type {Object}
239
+ * @property {Boolean} memberId id of the meeting member that started screen share
240
+ * @memberof Meeting
244
241
  */
245
242
 
246
- /**
247
- * Meeting Stopped Sharing Remote Event
248
- * Emitted when remote screen sharing ends
249
- * @event meeting:stoppedSharingRemote
250
- * @instance
251
- * @type {Object}
252
- * @memberof Meeting
243
+ /**
244
+ * Meeting Stopped Sharing Remote Event
245
+ * Emitted when remote screen sharing ends
246
+ * @event meeting:stoppedSharingRemote
247
+ * @instance
248
+ * @type {Object}
249
+ * @memberof Meeting
253
250
  */
254
251
 
255
- /**
256
- * Meeting Locked Event
257
- * Emitted when a meeting is locked
258
- * @event meeting:locked
259
- * @instance
260
- * @type {Object}
261
- * @property {Object} info
262
- * @memberof Meeting
252
+ /**
253
+ * Meeting Locked Event
254
+ * Emitted when a meeting is locked
255
+ * @event meeting:locked
256
+ * @instance
257
+ * @type {Object}
258
+ * @property {Object} info
259
+ * @memberof Meeting
263
260
  */
264
261
 
265
- /**
266
- * Meeting Unlocked Event
267
- * Emitted when a meeting is unlocked
268
- * @event meeting:unlocked
269
- * @instance
270
- * @type {Object}
271
- * @property {Object} info
272
- * @memberof Meeting
262
+ /**
263
+ * Meeting Unlocked Event
264
+ * Emitted when a meeting is unlocked
265
+ * @event meeting:unlocked
266
+ * @instance
267
+ * @type {Object}
268
+ * @property {Object} info
269
+ * @memberof Meeting
273
270
  */
274
271
 
275
- /**
276
- * Meeting Actions Update Event
277
- * Emitted when a user can take actions on a meeting such as lock, unlock, assign host
278
- * @event meeting:actionsUpdate
279
- * @instance
280
- * @type {Object}
281
- * @property {Boolean} canLock
282
- * @property {Boolean} canUnlock
283
- * @property {Boolean} canAssignHost
284
- * @memberof Meeting
272
+ /**
273
+ * Meeting Actions Update Event
274
+ * Emitted when a user can take actions on a meeting such as lock, unlock, assign host
275
+ * @event meeting:actionsUpdate
276
+ * @instance
277
+ * @type {Object}
278
+ * @property {Boolean} canLock
279
+ * @property {Boolean} canUnlock
280
+ * @property {Boolean} canAssignHost
281
+ * @memberof Meeting
285
282
  */
286
283
 
287
- /**
288
- * Meeting Unmuted By Others Event
289
- * Emitted when a member is unmuted by another member
290
- * @event meeting:self:unmutedByOthers
291
- * @instance
292
- * @type {Object}
293
- * @property {Object} payload
294
- * @memberof Meeting
284
+ /**
285
+ * Meeting Unmuted By Others Event
286
+ * Emitted when a member is unmuted by another member
287
+ * @event meeting:self:unmutedByOthers
288
+ * @instance
289
+ * @type {Object}
290
+ * @property {Object} payload
291
+ * @memberof Meeting
295
292
  */
296
293
 
297
- /**
298
- * Meeting Muted By Others Event
299
- * Emitted when a member is muted by another member
300
- * @event meeting:self:mutedByOthers
301
- * @instance
302
- * @type {Object}
303
- * @property {Object} payload
304
- * @property {Boolean} payload.unmuteAllowed - whether the user is allowed to unmute self
305
- * @memberof Meeting
294
+ /**
295
+ * Meeting Muted By Others Event
296
+ * Emitted when a member is muted by another member
297
+ * @event meeting:self:mutedByOthers
298
+ * @instance
299
+ * @type {Object}
300
+ * @property {Object} payload
301
+ * @property {Boolean} payload.unmuteAllowed - whether the user is allowed to unmute self
302
+ * @memberof Meeting
306
303
  */
307
304
 
308
- /**
309
- * Meeting Muted By Others Event
310
- * Emitted when the host(moderator)/co-host requests a user to unmute
311
- * @event meeting:self:requestedToUnmute
312
- * @instance
313
- * @type {Object}
314
- * @property {Object} payload
315
- * @memberof Meeting
305
+ /**
306
+ * Meeting Muted By Others Event
307
+ * Emitted when the host(moderator)/co-host requests a user to unmute
308
+ * @event meeting:self:requestedToUnmute
309
+ * @instance
310
+ * @type {Object}
311
+ * @property {Object} payload
312
+ * @memberof Meeting
316
313
  */
317
314
 
318
- /**
319
- * Meeting Self Guest Admitted Event
320
- * Emitted when a joined user get admitted to the meeting by another member or host
321
- * @event meeting:self:guestAdmitted
322
- * @instance
323
- * @type {Object}
324
- * @property {Object} payload
325
- * @memberof Meeting
315
+ /**
316
+ * Meeting Self Guest Admitted Event
317
+ * Emitted when a joined user get admitted to the meeting by another member or host
318
+ * @event meeting:self:guestAdmitted
319
+ * @instance
320
+ * @type {Object}
321
+ * @property {Object} payload
322
+ * @memberof Meeting
326
323
  */
327
324
 
328
- /**
329
- * Meeting Self Lobby Waiting Event
330
- * Emitted when joined user enters the lobby and is waiting for the webex meeting to begin
331
- * @event meeting:self:lobbyWaiting
332
- * @instance
333
- * @type {Object}
334
- * @property {Object} reason Reason why user left the meeting
335
- * @memberof Meeting
325
+ /**
326
+ * Meeting Self Lobby Waiting Event
327
+ * Emitted when joined user enters the lobby and is waiting for the webex meeting to begin
328
+ * @event meeting:self:lobbyWaiting
329
+ * @instance
330
+ * @type {Object}
331
+ * @property {Object} reason Reason why user left the meeting
332
+ * @memberof Meeting
336
333
  */
337
334
 
338
- /**
339
- * Meeting Self Left State
340
- * Emitted when user is inactive for more then 40 seconds, User can rejoin the meeting again
341
- * @event meeting:self:left
342
- * @instance
343
- * @type {Object}
344
- * @property {Object} payload
345
- * @memberof Meeting
335
+ /**
336
+ * Meeting Self Left State
337
+ * Emitted when user is inactive for more then 40 seconds, User can rejoin the meeting again
338
+ * @event meeting:self:left
339
+ * @instance
340
+ * @type {Object}
341
+ * @property {Object} payload
342
+ * @memberof Meeting
346
343
  */
347
344
 
348
- /**
349
- * Reconnection Starting Event
350
- * Emitted when reconnection of media to the active meeting was successful
351
- * @event meeting:reconnectionStarting
352
- * @instance
353
- * @memberof Meeting
345
+ /**
346
+ * Reconnection Starting Event
347
+ * Emitted when reconnection of media to the active meeting was successful
348
+ * @event meeting:reconnectionStarting
349
+ * @instance
350
+ * @memberof Meeting
354
351
  */
355
352
 
356
- /**
357
- * Reconnection Success Event
358
- * Emitted when reconnection of media to the active meeting was successful
359
- * @event meeting:reconnectionSuccess
360
- * @instance
361
- * @type {Object}
362
- * @property {Object} reconnect
363
- * @memberof Meeting
353
+ /**
354
+ * Reconnection Success Event
355
+ * Emitted when reconnection of media to the active meeting was successful
356
+ * @event meeting:reconnectionSuccess
357
+ * @instance
358
+ * @type {Object}
359
+ * @property {Object} reconnect
360
+ * @memberof Meeting
364
361
  */
365
362
 
366
- /**
367
- * Reconnection Failure Event
368
- * Emitted when reconnection of media to the active meeting was successful
369
- * @event meeting:reconnectionFailure
370
- * @instance
371
- * @type {Object}
372
- * @property {Error} error
373
- * @memberof Meeting
363
+ /**
364
+ * Reconnection Failure Event
365
+ * Emitted when reconnection of media to the active meeting was successful
366
+ * @event meeting:reconnectionFailure
367
+ * @instance
368
+ * @type {Object}
369
+ * @property {Error} error
370
+ * @memberof Meeting
374
371
  */
375
372
 
376
- /**
377
- * Meeting network quality event
378
- * Emitted on each interval of retrieving stats Analyzer data
379
- * @event network:quality
380
- * @type {Object}
381
- * @property {string} mediaType {video|audio}
382
- * @property {number} networkQualityScore - {1|0} 1 indicates acceptable uplink 0 indicates unacceptable uplink based on threshold
383
- * @memberof Meeting
373
+ /**
374
+ * Meeting network quality event
375
+ * Emitted on each interval of retrieving stats Analyzer data
376
+ * @event network:quality
377
+ * @type {Object}
378
+ * @property {string} mediaType {video|audio}
379
+ * @property {number} networkQualityScore - {1|0} 1 indicates acceptable uplink 0 indicates unacceptable uplink based on threshold
380
+ * @memberof Meeting
384
381
  */
385
382
 
386
- /**
387
- * @description Meeting is the crux of the plugin
388
- * @export
389
- * @class Meeting
383
+ /**
384
+ * @description Meeting is the crux of the plugin
385
+ * @export
386
+ * @class Meeting
390
387
  */
391
388
  exports.MEDIA_UPDATE_TYPE = MEDIA_UPDATE_TYPE;
392
389
  var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
393
390
  (0, _inherits2.default)(Meeting, _StatelessWebexPlugin);
394
391
  var _super = _createSuper(Meeting);
395
- /**
396
- * @param {Object} attrs
397
- * @param {Object} options
398
- * @constructor
399
- * @memberof Meeting
392
+ /**
393
+ * @param {Object} attrs
394
+ * @param {Object} options
395
+ * @constructor
396
+ * @memberof Meeting
400
397
  */
401
398
  function Meeting(attrs, _options) {
402
399
  var _this$locusInfo, _this$locusInfo$links, _this$locusInfo$links2, _this$locusInfo$links3, _this$locusInfo2, _this$locusInfo2$full, _this$locusInfo3, _this$locusInfo4;
403
400
  var _this;
404
401
  (0, _classCallCheck2.default)(this, Meeting);
405
402
  _this = _super.call(this, {}, _options);
406
- /**
407
- * @instance
408
- * @type {Object}
409
- * @readonly
410
- * @private
411
- * @memberof Meeting
403
+ /**
404
+ * @instance
405
+ * @type {Object}
406
+ * @readonly
407
+ * @private
408
+ * @memberof Meeting
412
409
  */
413
410
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "attrs", void 0);
414
411
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "audio", void 0);
@@ -488,15 +485,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
488
485
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "selfId", void 0);
489
486
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "state", void 0);
490
487
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "namespace", _constants.MEETINGS);
491
- /**
492
- * Get local media streams based on options passed
493
- * @param {MediaDirection} mediaDirection A configurable options object for joining a meeting
494
- * @param {AudioVideo} [audioVideo] audio/video object to set audioinput and videoinput devices, see #Media.getUserMedia
495
- * @param {SharePreferences} [sharePreferences] audio/video object to set audioinput and videoinput devices, see #Media.getUserMedia
496
- * @returns {Promise} see #Media.getUserMedia
497
- * @public
498
- * @todo should be static, or moved so can be called outside of a meeting
499
- * @memberof Meeting
488
+ /**
489
+ * Get local media streams based on options passed
490
+ * @param {MediaDirection} mediaDirection A configurable options object for joining a meeting
491
+ * @param {AudioVideo} [audioVideo] audio/video object to set audioinput and videoinput devices, see #Media.getUserMedia
492
+ * @param {SharePreferences} [sharePreferences] audio/video object to set audioinput and videoinput devices, see #Media.getUserMedia
493
+ * @returns {Promise} see #Media.getUserMedia
494
+ * @public
495
+ * @todo should be static, or moved so can be called outside of a meeting
496
+ * @memberof Meeting
500
497
  */
501
498
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "getMediaStreams", function (mediaDirection) {
502
499
  var audioVideo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _constants.VIDEO_RESOLUTIONS[_this.mediaProperties.localQualityLevel];
@@ -508,7 +505,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
508
505
  _loggerProxy.default.logger.warn('Meeting:index#getMediaStreams --> Enabling `sendShare` along with `sendAudio` & `sendVideo`, on Safari, causes a failure while setting up a screen share at the same time as the camera+mic stream');
509
506
  _loggerProxy.default.logger.warn('Meeting:index#getMediaStreams --> Please use `meeting.shareScreen()` to manually start the screen share after successfully joining the meeting');
510
507
  }
511
- if (audioVideo && (0, _isString2.default)(audioVideo)) {
508
+ if (audioVideo && (0, _lodash.isString)(audioVideo)) {
512
509
  if ((0, _keys.default)(_constants.VIDEO_RESOLUTIONS).includes(audioVideo)) {
513
510
  _this.mediaProperties.setLocalQualityLevel(audioVideo);
514
511
  audioVideo = {
@@ -577,13 +574,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
577
574
  }
578
575
  return _promise.default.reject(new _media2.default('At least one of the mediaDirection value should be true'));
579
576
  });
580
- /**
581
- * Checks if the machine has at least one audio or video device
582
- * @param {Object} options
583
- * @param {Boolean} options.sendAudio
584
- * @param {Boolean} options.sendVideo
585
- * @returns {Object}
586
- * @memberof Meetings
577
+ /**
578
+ * Checks if the machine has at least one audio or video device
579
+ * @param {Object} options
580
+ * @param {Boolean} options.sendAudio
581
+ * @param {Boolean} options.sendVideo
582
+ * @returns {Object}
583
+ * @memberof Meetings
587
584
  */
588
585
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "getSupportedDevices", function (_ref3) {
589
586
  var _ref3$sendAudio = _ref3.sendAudio,
@@ -595,19 +592,19 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
595
592
  sendVideo: sendVideo
596
593
  });
597
594
  });
598
- /**
599
- * Get the devices from the Media module
600
- * @returns {Promise} resolves to an array of DeviceInfo
601
- * @memberof Meetings
595
+ /**
596
+ * Get the devices from the Media module
597
+ * @returns {Promise} resolves to an array of DeviceInfo
598
+ * @memberof Meetings
602
599
  */
603
600
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "getDevices", function () {
604
601
  return _media.default.getDevices();
605
602
  });
606
- /**
607
- * Registers for all required StatsAnalyzer events
608
- * @private
609
- * @returns {void}
610
- * @memberof Meetings
603
+ /**
604
+ * Registers for all required StatsAnalyzer events
605
+ * @private
606
+ * @returns {void}
607
+ * @memberof Meetings
611
608
  */
612
609
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "setupStatsAnalyzerEventHandlers", function () {
613
610
  _this.statsAnalyzer.on(_statsAnalyzer.EVENTS.MEDIA_QUALITY, function (options) {
@@ -672,11 +669,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
672
669
  });
673
670
  });
674
671
  });
675
- /**
676
- * emits event when the negotation is completed
677
- * @returns {void}
678
- * @private
679
- * @memberof Meeting
672
+ /**
673
+ * emits event when the negotation is completed
674
+ * @returns {void}
675
+ * @private
676
+ * @memberof Meeting
680
677
  */
681
678
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "mediaNegotiatedEvent", function () {
682
679
  // @ts-ignore - config coming from registerPlugin
@@ -688,12 +685,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
688
685
  }, _constants.EVENT_TRIGGERS.MEDIA_NEGOTIATED);
689
686
  }
690
687
  });
691
- /**
692
- * Checks if there are any queued media updates and runs the first one from
693
- * the queue if we are in a state that allows doing that.
694
- * @returns {undefined}
695
- * @public
696
- * @memberof Meeting
688
+ /**
689
+ * Checks if there are any queued media updates and runs the first one from
690
+ * the queue if we are in a state that allows doing that.
691
+ * @returns {undefined}
692
+ * @public
693
+ * @memberof Meeting
697
694
  */
698
695
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "processNextQueuedMediaUpdate", function () {
699
696
  if (_this.canUpdateMedia() && _this.queuedMediaUpdates.length > 0) {
@@ -722,11 +719,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
722
719
  }
723
720
  }
724
721
  });
725
- /**
726
- * clear the meeting data
727
- * @returns {undefined}
728
- * @public
729
- * @memberof Meeting
722
+ /**
723
+ * clear the meeting data
724
+ * @returns {undefined}
725
+ * @public
726
+ * @memberof Meeting
730
727
  */
731
728
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "clearMeetingData", function () {
732
729
  _this.audio = null;
@@ -742,11 +739,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
742
739
  _this.transcription = undefined;
743
740
  }
744
741
  });
745
- /**
746
- * starts keepAlives being sent
747
- * @returns {void}
748
- * @private
749
- * @memberof Meeting
742
+ /**
743
+ * starts keepAlives being sent
744
+ * @returns {void}
745
+ * @private
746
+ * @memberof Meeting
750
747
  */
751
748
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "startKeepAlive", function () {
752
749
  var _this$joinedWith, _this$joinedWith2;
@@ -778,11 +775,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
778
775
  });
779
776
  }, keepAliveInterval);
780
777
  });
781
- /**
782
- * stops keepAlives being sent
783
- * @returns {void}
784
- * @private
785
- * @memberof Meeting
778
+ /**
779
+ * stops keepAlives being sent
780
+ * @returns {void}
781
+ * @private
782
+ * @memberof Meeting
786
783
  */
787
784
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "stopKeepAlive", function () {
788
785
  if (!_this.keepAliveTimerId) {
@@ -792,87 +789,87 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
792
789
  _this.keepAliveTimerId = null;
793
790
  });
794
791
  _this.attrs = attrs;
795
- /**
796
- * @instance
797
- * @type {Object}
798
- * @readonly
799
- * @private
800
- * @memberof Meeting
792
+ /**
793
+ * @instance
794
+ * @type {Object}
795
+ * @readonly
796
+ * @private
797
+ * @memberof Meeting
801
798
  */
802
799
  _this.options = _options;
803
- /**
804
- * @instance
805
- * @type {String}
806
- * @readonly
807
- * @public
808
- * @memberof Meeting
800
+ /**
801
+ * @instance
802
+ * @type {String}
803
+ * @readonly
804
+ * @public
805
+ * @memberof Meeting
809
806
  */
810
807
  _this.id = _uuid.default.v4();
811
- /**
812
- * Correlation ID used for network tracking of meeting join
813
- * @instance
814
- * @type {String}
815
- * @readonly
816
- * @public
817
- * @memberof Meeting
808
+ /**
809
+ * Correlation ID used for network tracking of meeting join
810
+ * @instance
811
+ * @type {String}
812
+ * @readonly
813
+ * @public
814
+ * @memberof Meeting
818
815
  */
819
816
  _this.correlationId = _this.id;
820
- /**
821
- * @instance
822
- * @type {String}
823
- * @readonly
824
- * @public
825
- * @memberof Meeting
817
+ /**
818
+ * @instance
819
+ * @type {String}
820
+ * @readonly
821
+ * @public
822
+ * @memberof Meeting
826
823
  */
827
824
  _this.userId = attrs.userId;
828
- /**
829
- * Organization ID
830
- * @instance
831
- * @type {String}
832
- * @readonly
833
- * @public
834
- * @memberof Meeting
825
+ /**
826
+ * Organization ID
827
+ * @instance
828
+ * @type {String}
829
+ * @readonly
830
+ * @public
831
+ * @memberof Meeting
835
832
  */
836
833
  _this.orgId = attrs.orgId;
837
- /**
838
- * @instance
839
- * @type {String}
840
- * @readonly
841
- * @public
842
- * @memberof Meeting
834
+ /**
835
+ * @instance
836
+ * @type {String}
837
+ * @readonly
838
+ * @public
839
+ * @memberof Meeting
843
840
  */
844
841
  _this.resource = attrs.resource;
845
- /**
846
- * @instance
847
- * @type {String}
848
- * @readonly
849
- * @public
850
- * @memberof Meeting
842
+ /**
843
+ * @instance
844
+ * @type {String}
845
+ * @readonly
846
+ * @public
847
+ * @memberof Meeting
851
848
  */
852
849
  _this.deviceUrl = attrs.deviceUrl;
853
- /**
854
- * @description set you -1 as default values is 0 (used to idenfify if 1st roap request was sent)
855
- * @instance
856
- * @type {Number}
857
- * @readonly
858
- * @private
859
- * @memberof Meeting
850
+ /**
851
+ * @description set you -1 as default values is 0 (used to idenfify if 1st roap request was sent)
852
+ * @instance
853
+ * @type {Number}
854
+ * @readonly
855
+ * @private
856
+ * @memberof Meeting
860
857
  */
861
858
  _this.roapSeq = _constants.ROAP_SEQ_PRE;
862
- /**
863
- * @instance
864
- * @type {Object}
865
- * @readonly
866
- * @public
867
- * @memberof Meeting
859
+ /**
860
+ * @instance
861
+ * @type {Object}
862
+ * @readonly
863
+ * @public
864
+ * @memberof Meeting
868
865
  */
869
866
  // TODO: needs to be defined as a class
870
867
  _this.meetingInfo = {};
871
- /**
872
- * @instance
873
- * @type {Members}
874
- * @public
875
- * @memberof Meeting
868
+ /**
869
+ * @instance
870
+ * @type {Members}
871
+ * @public
872
+ * @memberof Meeting
876
873
  */
877
874
  // @ts-ignore - Fix type
878
875
  _this.members = new _index2.default({
@@ -880,217 +877,217 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
880
877
  }, {
881
878
  parent: _this.webex
882
879
  });
883
- /**
884
- * @instance
885
- * @type {Roap}
886
- * @readonly
887
- * @private
888
- * @memberof Meeting
880
+ /**
881
+ * @instance
882
+ * @type {Roap}
883
+ * @readonly
884
+ * @private
885
+ * @memberof Meeting
889
886
  */
890
887
  // @ts-ignore - Fix type
891
888
  _this.roap = new _index.default({}, {
892
889
  parent: _this.webex
893
890
  });
894
- /**
895
- * created later
896
- * @instance
897
- * @type {ReconnectionManager}
898
- * @readonly
899
- * @private
900
- * @memberof Meeting
891
+ /**
892
+ * created later
893
+ * @instance
894
+ * @type {ReconnectionManager}
895
+ * @readonly
896
+ * @private
897
+ * @memberof Meeting
901
898
  */
902
899
  _this.reconnectionManager = new _reconnectionManager.default((0, _assertThisInitialized2.default)(_this));
903
- /**
904
- * created later
905
- * @instance
906
- * @type {MuteState}
907
- * @private
908
- * @memberof Meeting
900
+ /**
901
+ * created later
902
+ * @instance
903
+ * @type {MuteState}
904
+ * @private
905
+ * @memberof Meeting
909
906
  */
910
907
  _this.audio = null;
911
- /**
912
- * created later
913
- * @instance
914
- * @type {MuteState}
915
- * @private
916
- * @memberof Meeting
908
+ /**
909
+ * created later
910
+ * @instance
911
+ * @type {MuteState}
912
+ * @private
913
+ * @memberof Meeting
917
914
  */
918
915
  _this.video = null;
919
- /**
920
- * created later
921
- * @instance
922
- * @type {EffectsState}
923
- * @private
924
- * @memberof Meeting
916
+ /**
917
+ * created later
918
+ * @instance
919
+ * @type {EffectsState}
920
+ * @private
921
+ * @memberof Meeting
925
922
  */
926
923
  _this.effects = null;
927
- /**
928
- * @instance
929
- * @type {MeetingStateMachine}
930
- * @readonly
931
- * @public
932
- * @memberof Meeting
924
+ /**
925
+ * @instance
926
+ * @type {MeetingStateMachine}
927
+ * @readonly
928
+ * @public
929
+ * @memberof Meeting
933
930
  */
934
931
  _this.meetingFiniteStateMachine = _state.default.create((0, _assertThisInitialized2.default)(_this));
935
- /**
936
- * @instance
937
- * @type {String}
938
- * @readonly
939
- * @public
940
- * @memberof Meeting
932
+ /**
933
+ * @instance
934
+ * @type {String}
935
+ * @readonly
936
+ * @public
937
+ * @memberof Meeting
941
938
  */
942
939
  _this.conversationUrl = null;
943
- /**
944
- * @instance
945
- * @type {String}
946
- * @readonly
947
- * @public
948
- * @memberof Meeting
940
+ /**
941
+ * @instance
942
+ * @type {String}
943
+ * @readonly
944
+ * @public
945
+ * @memberof Meeting
949
946
  */
950
947
  _this.locusUrl = attrs.locus && attrs.locus.url || null;
951
- /**
952
- * @instance
953
- * @type {String}
954
- * @readonly
955
- * @public
956
- * @memberof Meeting
948
+ /**
949
+ * @instance
950
+ * @type {String}
951
+ * @readonly
952
+ * @public
953
+ * @memberof Meeting
957
954
  */
958
955
  _this.sipUri = null;
959
- /**
960
- * @instance
961
- * @type {String}
962
- * @readonly
963
- * @public
964
- * @memberof Meeting
956
+ /**
957
+ * @instance
958
+ * @type {String}
959
+ * @readonly
960
+ * @public
961
+ * @memberof Meeting
965
962
  */
966
963
  _this.destination = attrs.destination;
967
- /**
968
- * @instance
969
- * @type {String}
970
- * @readonly
971
- * @public
972
- * @memberof Meeting
964
+ /**
965
+ * @instance
966
+ * @type {String}
967
+ * @readonly
968
+ * @public
969
+ * @memberof Meeting
973
970
  */
974
971
  _this.destinationType = attrs.destinationType;
975
- /**
976
- * @instance
977
- * @type {String}
978
- * @readonly
979
- * @public
980
- * @memberof Meeting
972
+ /**
973
+ * @instance
974
+ * @type {String}
975
+ * @readonly
976
+ * @public
977
+ * @memberof Meeting
981
978
  */
982
979
  _this.partner = null;
983
- /**
984
- * @instance
985
- * @type {String}
986
- * @readonly
987
- * @public
988
- * @memberof Meeting
980
+ /**
981
+ * @instance
982
+ * @type {String}
983
+ * @readonly
984
+ * @public
985
+ * @memberof Meeting
989
986
  */
990
987
  _this.type = null;
991
- /**
992
- * @instance
993
- * @type {String}
994
- * @readonly
995
- * @public
996
- * @memberof Meeting
988
+ /**
989
+ * @instance
990
+ * @type {String}
991
+ * @readonly
992
+ * @public
993
+ * @memberof Meeting
997
994
  */
998
995
  _this.owner = null;
999
- /**
1000
- * @instance
1001
- * @type {String}
1002
- * @readonly
1003
- * @public
1004
- * @memberof Meeting
996
+ /**
997
+ * @instance
998
+ * @type {String}
999
+ * @readonly
1000
+ * @public
1001
+ * @memberof Meeting
1005
1002
  */
1006
1003
  _this.hostId = null;
1007
- /**
1008
- * @instance
1009
- * @type {String}
1010
- * @readonly
1011
- * @public
1012
- * @memberof Meeting
1004
+ /**
1005
+ * @instance
1006
+ * @type {String}
1007
+ * @readonly
1008
+ * @public
1009
+ * @memberof Meeting
1013
1010
  */
1014
1011
  _this.policy = null;
1015
- /**
1016
- * @instance
1017
- * @type {MeetingRequest}
1018
- * @private
1019
- * @memberof Meeting
1012
+ /**
1013
+ * @instance
1014
+ * @type {MeetingRequest}
1015
+ * @private
1016
+ * @memberof Meeting
1020
1017
  */
1021
1018
  _this.meetingRequest = new _request.default({}, _options);
1022
- /**
1023
- * @instance
1024
- * @type {Array}
1025
- * @readonly
1026
- * @public
1027
- * @memberof Meeting
1019
+ /**
1020
+ * @instance
1021
+ * @type {Array}
1022
+ * @readonly
1023
+ * @public
1024
+ * @memberof Meeting
1028
1025
  */
1029
1026
  _this.mediaConnections = null;
1030
1027
 
1031
- /**
1032
- * Fetching meeting info can be done randomly 2-5 mins before meeting start
1033
- * In case it is done before the timer expires, this timeout id is reset to cancel the timer.
1034
- * @instance
1035
- * @type {Number}
1036
- * @readonly
1037
- * @private
1038
- * @memberof Meeting
1028
+ /**
1029
+ * Fetching meeting info can be done randomly 2-5 mins before meeting start
1030
+ * In case it is done before the timer expires, this timeout id is reset to cancel the timer.
1031
+ * @instance
1032
+ * @type {Number}
1033
+ * @readonly
1034
+ * @private
1035
+ * @memberof Meeting
1039
1036
  */
1040
1037
  _this.fetchMeetingInfoTimeoutId = null;
1041
1038
 
1042
- /**
1043
- * Update the MediaConnections property with new information
1044
- * @param {array} mediaConnections
1045
- * @returns {undefined}
1046
- * @private
1047
- * @memberof Meeting
1039
+ /**
1040
+ * Update the MediaConnections property with new information
1041
+ * @param {array} mediaConnections
1042
+ * @returns {undefined}
1043
+ * @private
1044
+ * @memberof Meeting
1048
1045
  */
1049
1046
  _this.updateMediaConnections = function (mediaConnections) {
1050
- if (!(0, _isEqual2.default)(_this.mediaConnections, mediaConnections)) {
1047
+ if (!(0, _lodash.isEqual)(_this.mediaConnections, mediaConnections)) {
1051
1048
  // grab last/latest item in the new mediaConnections information
1052
1049
  _this.mediaConnections = mediaConnections.slice(-1);
1053
1050
  }
1054
1051
  };
1055
- /**
1056
- * Passing only info as we send basic info for meeting added event
1057
- * @instance
1058
- * @type {MediaProperties}
1059
- * @public
1060
- * @memberof Meeting
1052
+ /**
1053
+ * Passing only info as we send basic info for meeting added event
1054
+ * @instance
1055
+ * @type {MediaProperties}
1056
+ * @public
1057
+ * @memberof Meeting
1061
1058
  */
1062
1059
  _this.mediaProperties = new _properties.default();
1063
- /**
1064
- * @instance
1065
- * @type {InMeetingActions}
1066
- * @public
1067
- * @memberof Meeting
1060
+ /**
1061
+ * @instance
1062
+ * @type {InMeetingActions}
1063
+ * @public
1064
+ * @memberof Meeting
1068
1065
  */
1069
1066
  _this.inMeetingActions = new _inMeetingActions.default();
1070
- /**
1071
- * This is deprecated, please use shareStatus instead.
1072
- * @instance
1073
- * @type {Boolean}
1074
- * @readonly
1075
- * @public
1076
- * @memberof Meeting
1077
- * @deprecated after v1.118.13
1067
+ /**
1068
+ * This is deprecated, please use shareStatus instead.
1069
+ * @instance
1070
+ * @type {Boolean}
1071
+ * @readonly
1072
+ * @public
1073
+ * @memberof Meeting
1074
+ * @deprecated after v1.118.13
1078
1075
  */
1079
1076
  _this.isSharing = false;
1080
- /**
1081
- * @instance
1082
- * @type {string}
1083
- * @readonly
1084
- * @public
1085
- * @memberof Meeting
1077
+ /**
1078
+ * @instance
1079
+ * @type {string}
1080
+ * @readonly
1081
+ * @public
1082
+ * @memberof Meeting
1086
1083
  */
1087
1084
  _this.shareStatus = _constants.SHARE_STATUS.NO_SHARE;
1088
- /**
1089
- * @instance
1090
- * @type {Boolean}
1091
- * @readonly
1092
- * @private
1093
- * @memberof Meeting
1085
+ /**
1086
+ * @instance
1087
+ * @type {Boolean}
1088
+ * @readonly
1089
+ * @private
1090
+ * @memberof Meeting
1094
1091
  */
1095
1092
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'isLocalShareLive', {
1096
1093
  get: function get() {
@@ -1107,123 +1104,123 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1107
1104
  },
1108
1105
  configurable: true
1109
1106
  });
1110
- /**
1111
- * @instance
1112
- * @type {Array}
1113
- * @readonly
1114
- * @public
1115
- * @memberof Meeting
1107
+ /**
1108
+ * @instance
1109
+ * @type {Array}
1110
+ * @readonly
1111
+ * @public
1112
+ * @memberof Meeting
1116
1113
  */
1117
1114
  _this.callEvents = [];
1118
- /**
1119
- * There is a pending floor requested by the user
1120
- * @instance
1121
- * @type {boolean}
1122
- * @private
1123
- * @memberof Meeting
1115
+ /**
1116
+ * There is a pending floor requested by the user
1117
+ * @instance
1118
+ * @type {boolean}
1119
+ * @private
1120
+ * @memberof Meeting
1124
1121
  */
1125
1122
  _this.floorGrantPending = false;
1126
- /**
1127
- * The latest status of the dial in device (can be "JOINED", "CONNECTED", "LEFT",
1128
- * "TRANSFERRING", "SUCCESS" or "")
1129
- * @instance
1130
- * @type {String}
1131
- * @private
1132
- * @memberof Meeting
1123
+ /**
1124
+ * The latest status of the dial in device (can be "JOINED", "CONNECTED", "LEFT",
1125
+ * "TRANSFERRING", "SUCCESS" or "")
1126
+ * @instance
1127
+ * @type {String}
1128
+ * @private
1129
+ * @memberof Meeting
1133
1130
  */
1134
1131
  _this.dialInDeviceStatus = _constants.PSTN_STATUS.UNKNOWN;
1135
- /**
1136
- * the url for provisioned device used to dial in
1137
- * @instance
1138
- * @type {String}
1139
- * @private
1140
- * @memberof Meeting
1132
+ /**
1133
+ * the url for provisioned device used to dial in
1134
+ * @instance
1135
+ * @type {String}
1136
+ * @private
1137
+ * @memberof Meeting
1141
1138
  */
1142
1139
  _this.dialInUrl = '';
1143
- /**
1144
- * The latest status of the dial out device (can be "JOINED", "CONNECTED", "LEFT",
1145
- * "TRANSFERRING", "SUCCESS" or "")
1146
- * @instance
1147
- * @type {String}
1148
- * @private
1149
- * @memberof Meeting
1140
+ /**
1141
+ * The latest status of the dial out device (can be "JOINED", "CONNECTED", "LEFT",
1142
+ * "TRANSFERRING", "SUCCESS" or "")
1143
+ * @instance
1144
+ * @type {String}
1145
+ * @private
1146
+ * @memberof Meeting
1150
1147
  */
1151
1148
  _this.dialOutDeviceStatus = _constants.PSTN_STATUS.UNKNOWN;
1152
- /**
1153
- * the url for provisioned device used to dial out
1154
- * @instance
1155
- * @type {String}
1156
- * @private
1157
- * @memberof Meeting
1149
+ /**
1150
+ * the url for provisioned device used to dial out
1151
+ * @instance
1152
+ * @type {String}
1153
+ * @private
1154
+ * @memberof Meeting
1158
1155
  */
1159
1156
  _this.dialOutUrl = '';
1160
- /**
1161
- * @instance
1162
- * @type {StatsAnalyzer}
1163
- * @private
1164
- * @memberof Meeting
1157
+ /**
1158
+ * @instance
1159
+ * @type {StatsAnalyzer}
1160
+ * @private
1161
+ * @memberof Meeting
1165
1162
  */
1166
1163
  _this.statsAnalyzer = null;
1167
- /**
1168
- * @instance
1169
- * @type {NetworkQualityMonitor}
1170
- * @private
1171
- * @memberof Meeting
1164
+ /**
1165
+ * @instance
1166
+ * @type {NetworkQualityMonitor}
1167
+ * @private
1168
+ * @memberof Meeting
1172
1169
  */
1173
1170
  _this.networkQualityMonitor = null;
1174
- /**
1175
- * @instance
1176
- * @type {String}
1177
- * @readonly
1178
- * @public
1179
- * @memberof Meeting
1171
+ /**
1172
+ * @instance
1173
+ * @type {String}
1174
+ * @readonly
1175
+ * @public
1176
+ * @memberof Meeting
1180
1177
  */
1181
1178
  _this.networkStatus = null;
1182
- /**
1183
- * Passing only info as we send basic info for meeting added event
1184
- * @instance
1185
- * @type {MeetingRequest}
1186
- * @private
1187
- * @memberof Meeting
1179
+ /**
1180
+ * Passing only info as we send basic info for meeting added event
1181
+ * @instance
1182
+ * @type {MeetingRequest}
1183
+ * @private
1184
+ * @memberof Meeting
1188
1185
  */
1189
1186
  // @ts-ignore - Fix type
1190
1187
  _this.locusInfo = new _locusInfo.default(_this.updateMeetingObject.bind((0, _assertThisInitialized2.default)(_this)), _this.webex, _this.id);
1191
1188
 
1192
1189
  // We had to add listeners first before setting up the locus instance
1193
- /**
1194
- * @instance
1195
- * @type {Recording}
1196
- * @readonly
1197
- * @public
1198
- * @memberof Meeting
1190
+ /**
1191
+ * @instance
1192
+ * @type {Recording}
1193
+ * @readonly
1194
+ * @public
1195
+ * @memberof Meeting
1199
1196
  */
1200
1197
  _this.recording = null;
1201
1198
 
1202
- /**
1203
- * Promise that exists if joining, and resolves upon method completion.
1204
- * @instance
1205
- * @type {Promise}
1206
- * @private
1207
- * @memberof Meeting
1199
+ /**
1200
+ * Promise that exists if joining, and resolves upon method completion.
1201
+ * @instance
1202
+ * @type {Promise}
1203
+ * @private
1204
+ * @memberof Meeting
1208
1205
  */
1209
1206
  _this.deferJoin = undefined;
1210
1207
 
1211
- /**
1212
- * Staus of websocket connection/mercury connection.
1213
- * @instance
1214
- * @type {Boolean}
1215
- * @private
1216
- * @memberof Meeting
1208
+ /**
1209
+ * Staus of websocket connection/mercury connection.
1210
+ * @instance
1211
+ * @type {Boolean}
1212
+ * @private
1213
+ * @memberof Meeting
1217
1214
  */
1218
1215
  // @ts-ignore - Fix type
1219
1216
  _this.hasWebsocketConnected = _this.webex.internal.mercury.connected;
1220
1217
 
1221
- /**
1222
- * Last sent render information
1223
- * @instance
1224
- * @type {Object}
1225
- * @private
1226
- * @memberof Meeting
1218
+ /**
1219
+ * Last sent render information
1220
+ * @instance
1221
+ * @type {Object}
1222
+ * @private
1223
+ * @memberof Meeting
1227
1224
  */
1228
1225
  _this.lastVideoLayoutInfo = {
1229
1226
  layoutType: undefined,
@@ -1231,73 +1228,73 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1231
1228
  content: undefined
1232
1229
  };
1233
1230
 
1234
- /**
1235
- * Queue of pending media updates requested by the app
1236
- * @instance
1237
- * @type {Array}
1238
- * @private
1239
- * @memberof Meeting
1231
+ /**
1232
+ * Queue of pending media updates requested by the app
1233
+ * @instance
1234
+ * @type {Array}
1235
+ * @private
1236
+ * @memberof Meeting
1240
1237
  */
1241
1238
  _this.queuedMediaUpdates = [];
1242
1239
 
1243
- /**
1244
- * Meeting transcription object
1245
- * @instance
1246
- * @type {Transcription}
1247
- * @private
1248
- * @memberof Meeting
1240
+ /**
1241
+ * Meeting transcription object
1242
+ * @instance
1243
+ * @type {Transcription}
1244
+ * @private
1245
+ * @memberof Meeting
1249
1246
  */
1250
1247
  _this.transcription = undefined;
1251
1248
 
1252
- /**
1253
- * Password status. If it's PASSWORD_STATUS.REQUIRED then verifyPassword() needs to be called
1254
- * with the correct password before calling join()
1255
- * @instance
1256
- * @type {PASSWORD_STATUS}
1257
- * @public
1258
- * @memberof Meeting
1249
+ /**
1250
+ * Password status. If it's PASSWORD_STATUS.REQUIRED then verifyPassword() needs to be called
1251
+ * with the correct password before calling join()
1252
+ * @instance
1253
+ * @type {PASSWORD_STATUS}
1254
+ * @public
1255
+ * @memberof Meeting
1259
1256
  */
1260
1257
  _this.passwordStatus = _constants.PASSWORD_STATUS.UNKNOWN;
1261
1258
 
1262
- /**
1263
- * Information about required captcha. If null, then no captcha is required. status. If it's PASSWORD_STATUS.REQUIRED then verifyPassword() needs to be called
1264
- * with the correct password before calling join()
1265
- * @instance
1266
- * @type {Object}
1267
- * @property {string} captchaId captcha id
1268
- * @property {string} verificationImageURL Url of the captcha image
1269
- * @property {string} verificationAudioURL Url of the captcha audio file
1270
- * @property {string} refreshURL Url used for refreshing the captcha (don't use it directly, call refreshCaptcha() instead)
1271
- * @public
1272
- * @memberof Meeting
1259
+ /**
1260
+ * Information about required captcha. If null, then no captcha is required. status. If it's PASSWORD_STATUS.REQUIRED then verifyPassword() needs to be called
1261
+ * with the correct password before calling join()
1262
+ * @instance
1263
+ * @type {Object}
1264
+ * @property {string} captchaId captcha id
1265
+ * @property {string} verificationImageURL Url of the captcha image
1266
+ * @property {string} verificationAudioURL Url of the captcha audio file
1267
+ * @property {string} refreshURL Url used for refreshing the captcha (don't use it directly, call refreshCaptcha() instead)
1268
+ * @public
1269
+ * @memberof Meeting
1273
1270
  */
1274
1271
  _this.requiredCaptcha = null;
1275
1272
 
1276
- /**
1277
- * Indicates the reason for last failure to obtain meeting.meetingInfo. MEETING_INFO_FAILURE_REASON.NONE if meeting info was
1278
- * retrieved successfully
1279
- * @instance
1280
- * @type {MEETING_INFO_FAILURE_REASON}
1281
- * @private
1282
- * @memberof Meeting
1273
+ /**
1274
+ * Indicates the reason for last failure to obtain meeting.meetingInfo. MEETING_INFO_FAILURE_REASON.NONE if meeting info was
1275
+ * retrieved successfully
1276
+ * @instance
1277
+ * @type {MEETING_INFO_FAILURE_REASON}
1278
+ * @private
1279
+ * @memberof Meeting
1283
1280
  */
1284
1281
  _this.meetingInfoFailureReason = undefined;
1285
1282
 
1286
- /**
1287
- * Repeating timer used to send keepAlives when in lobby
1288
- * @instance
1289
- * @type {String}
1290
- * @private
1291
- * @memberof Meeting
1283
+ /**
1284
+ * Repeating timer used to send keepAlives when in lobby
1285
+ * @instance
1286
+ * @type {String}
1287
+ * @private
1288
+ * @memberof Meeting
1292
1289
  */
1293
1290
  _this.keepAliveTimerId = null;
1294
1291
 
1295
- /**
1296
- * The class that helps to control recording functions: start, stop, pause, resume, etc
1297
- * @instance
1298
- * @type {RecordingController}
1299
- * @public
1300
- * @memberof Meeting
1292
+ /**
1293
+ * The class that helps to control recording functions: start, stop, pause, resume, etc
1294
+ * @instance
1295
+ * @type {RecordingController}
1296
+ * @public
1297
+ * @memberof Meeting
1301
1298
  */
1302
1299
  _this.recordingController = new _recordingController.default(_this.meetingRequest, {
1303
1300
  serviceUrl: (_this$locusInfo = _this.locusInfo) === null || _this$locusInfo === void 0 ? void 0 : (_this$locusInfo$links = _this$locusInfo.links) === null || _this$locusInfo$links === void 0 ? void 0 : (_this$locusInfo$links2 = _this$locusInfo$links.services) === null || _this$locusInfo$links2 === void 0 ? void 0 : (_this$locusInfo$links3 = _this$locusInfo$links2.record) === null || _this$locusInfo$links3 === void 0 ? void 0 : _this$locusInfo$links3.url,
@@ -1306,12 +1303,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1306
1303
  displayHints: []
1307
1304
  });
1308
1305
 
1309
- /**
1310
- * The class that helps to control recording functions: start, stop, pause, resume, etc
1311
- * @instance
1312
- * @type {ControlsOptionsManager}
1313
- * @public
1314
- * @memberof Meeting
1306
+ /**
1307
+ * The class that helps to control recording functions: start, stop, pause, resume, etc
1308
+ * @instance
1309
+ * @type {ControlsOptionsManager}
1310
+ * @public
1311
+ * @memberof Meeting
1315
1312
  */
1316
1313
  _this.controlsOptionsManager = new _controlsOptionsManager.default(_this.meetingRequest, {
1317
1314
  locusUrl: (_this$locusInfo4 = _this.locusInfo) === null || _this$locusInfo4 === void 0 ? void 0 : _this$locusInfo4.url,
@@ -1323,14 +1320,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1323
1320
  return _this;
1324
1321
  }
1325
1322
 
1326
- /**
1327
- * Fetches meeting information.
1328
- * @param {Object} options
1329
- * @param {String} [options.password] optional
1330
- * @param {String} [options.captchaCode] optional
1331
- * @public
1332
- * @memberof Meeting
1333
- * @returns {Promise}
1323
+ /**
1324
+ * Fetches meeting information.
1325
+ * @param {Object} options
1326
+ * @param {String} [options.password] optional
1327
+ * @param {String} [options.captchaCode] optional
1328
+ * @public
1329
+ * @memberof Meeting
1330
+ * @returns {Promise}
1334
1331
  */
1335
1332
  (0, _createClass2.default)(Meeting, [{
1336
1333
  key: "fetchMeetingInfo",
@@ -1433,14 +1430,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1433
1430
  }
1434
1431
  return fetchMeetingInfo;
1435
1432
  }()
1436
- /**
1437
- * Checks if the supplied password/host key is correct. It returns a promise with information whether the
1438
- * password and captcha code were correct or not.
1439
- * @param {String} password - this can be either a password or a host key, can be undefined if only captcha was required
1440
- * @param {String} captchaCode - can be undefined if captcha was not required by the server
1441
- * @public
1442
- * @memberof Meeting
1443
- * @returns {Promise<{isPasswordValid: boolean, requiredCaptcha: boolean, failureReason: MEETING_INFO_FAILURE_REASON}>}
1433
+ /**
1434
+ * Checks if the supplied password/host key is correct. It returns a promise with information whether the
1435
+ * password and captcha code were correct or not.
1436
+ * @param {String} password - this can be either a password or a host key, can be undefined if only captcha was required
1437
+ * @param {String} captchaCode - can be undefined if captcha was not required by the server
1438
+ * @public
1439
+ * @memberof Meeting
1440
+ * @returns {Promise<{isPasswordValid: boolean, requiredCaptcha: boolean, failureReason: MEETING_INFO_FAILURE_REASON}>}
1444
1441
  */
1445
1442
  }, {
1446
1443
  key: "verifyPassword",
@@ -1468,12 +1465,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1468
1465
  });
1469
1466
  }
1470
1467
 
1471
- /**
1472
- * Refreshes the captcha. As a result the meeting will have new captcha id, image and audio.
1473
- * If the refresh operation fails, meeting remains with the old captcha properties.
1474
- * @public
1475
- * @memberof Meeting
1476
- * @returns {Promise}
1468
+ /**
1469
+ * Refreshes the captcha. As a result the meeting will have new captcha id, image and audio.
1470
+ * If the refresh operation fails, meeting remains with the old captcha properties.
1471
+ * @public
1472
+ * @memberof Meeting
1473
+ * @returns {Promise}
1477
1474
  */
1478
1475
  }, {
1479
1476
  key: "refreshCaptcha",
@@ -1502,11 +1499,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1502
1499
  });
1503
1500
  }
1504
1501
 
1505
- /**
1506
- * Proxy function for all the listener set ups
1507
- * @returns {undefined}
1508
- * @private
1509
- * @memberof Meeting
1502
+ /**
1503
+ * Proxy function for all the listener set ups
1504
+ * @returns {undefined}
1505
+ * @private
1506
+ * @memberof Meeting
1510
1507
  */
1511
1508
  }, {
1512
1509
  key: "setUpLocusInfoListeners",
@@ -1529,11 +1526,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1529
1526
  this.setUpLocusInfoMediaInactiveListener();
1530
1527
  }
1531
1528
 
1532
- /**
1533
- * Set up the locus info listener for meetings disconnected due to inactivity
1534
- * @returns {undefined}
1535
- * @private
1536
- * @memberof Meeting
1529
+ /**
1530
+ * Set up the locus info listener for meetings disconnected due to inactivity
1531
+ * @returns {undefined}
1532
+ * @private
1533
+ * @memberof Meeting
1537
1534
  */
1538
1535
  }, {
1539
1536
  key: "setUpLocusInfoMediaInactiveListener",
@@ -1569,11 +1566,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1569
1566
  });
1570
1567
  }
1571
1568
 
1572
- /**
1573
- * Set up the locus info listener for assign host permissions on a meeting
1574
- * @returns {undefined}
1575
- * @private
1576
- * @memberof Meeting
1569
+ /**
1570
+ * Set up the locus info listener for assign host permissions on a meeting
1571
+ * @returns {undefined}
1572
+ * @private
1573
+ * @memberof Meeting
1577
1574
  */
1578
1575
  }, {
1579
1576
  key: "setUpLocusInfoAssignHostListener",
@@ -1592,11 +1589,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1592
1589
  });
1593
1590
  }
1594
1591
 
1595
- /**
1596
- * Set up the internal locus info full state object listener
1597
- * @returns {undefined}
1598
- * @private
1599
- * @memberof Meeting
1592
+ /**
1593
+ * Set up the internal locus info full state object listener
1594
+ * @returns {undefined}
1595
+ * @private
1596
+ * @memberof Meeting
1600
1597
  */
1601
1598
  }, {
1602
1599
  key: "setUpLocusFullStateListener",
@@ -1615,16 +1612,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1615
1612
  });
1616
1613
  }
1617
1614
 
1618
- /**
1619
- * get the metrics payload pre
1620
- * @param {Object} options
1621
- * @param {String} options.event
1622
- * @param {String} options.trackingId
1623
- * @param {Object} options.locus
1624
- * @param {Array} options.mediaConnections
1625
- * @param {Object} options.errors
1626
- * @returns {Object}
1627
- * @memberof Meeting
1615
+ /**
1616
+ * get the metrics payload pre
1617
+ * @param {Object} options
1618
+ * @param {String} options.event
1619
+ * @param {String} options.trackingId
1620
+ * @param {Object} options.locus
1621
+ * @param {Array} options.mediaConnections
1622
+ * @param {Object} options.errors
1623
+ * @returns {Object}
1624
+ * @memberof Meeting
1628
1625
  */
1629
1626
  }, {
1630
1627
  key: "getAnalyzerMetricsPrePayload",
@@ -1724,53 +1721,53 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1724
1721
  return null;
1725
1722
  }
1726
1723
 
1727
- /**
1728
- * Send the metrics to call-analyzer dashboard
1729
- * @param {Object} options
1730
- * @param {String} options.event
1731
- * @param {String} options.trackingId
1732
- * @param {Object} options.locus
1733
- * @param {Object} options.errors
1734
- * @returns {Promise}
1735
- * @private
1736
- * @memberof Meeting
1724
+ /**
1725
+ * Send the metrics to call-analyzer dashboard
1726
+ * @param {Object} options
1727
+ * @param {String} options.event
1728
+ * @param {String} options.trackingId
1729
+ * @param {Object} options.locus
1730
+ * @param {Object} options.errors
1731
+ * @returns {Promise}
1732
+ * @private
1733
+ * @memberof Meeting
1737
1734
  */
1738
1735
  }, {
1739
1736
  key: "sendCallAnalyzerMetrics",
1740
1737
  value: function sendCallAnalyzerMetrics(options) {
1741
- var payload = this.getAnalyzerMetricsPrePayload(_objectSpread(_objectSpread({}, (0, _pick2.default)(this.config.metrics, ['clientType', 'subClientType'])), options));
1738
+ var payload = this.getAnalyzerMetricsPrePayload(_objectSpread(_objectSpread({}, (0, _lodash.pick)(this.config.metrics, ['clientType', 'subClientType'])), options));
1742
1739
 
1743
1740
  // @ts-ignore - fix type
1744
1741
  return this.webex.internal.metrics.submitCallDiagnosticEvents(payload);
1745
1742
  }
1746
1743
 
1747
- /**
1748
- * Send the metrics to Media Quality Analyzer dashboard
1749
- * @param {Object} options
1750
- * @param {String} options.event
1751
- * @param {String} options.trackingId
1752
- * @param {Object} options.locus
1753
- * @returns {Promise}
1754
- * @private
1755
- * @memberof Meeting
1744
+ /**
1745
+ * Send the metrics to Media Quality Analyzer dashboard
1746
+ * @param {Object} options
1747
+ * @param {String} options.event
1748
+ * @param {String} options.trackingId
1749
+ * @param {Object} options.locus
1750
+ * @returns {Promise}
1751
+ * @private
1752
+ * @memberof Meeting
1756
1753
  */
1757
1754
  }, {
1758
1755
  key: "sendMediaQualityAnalyzerMetrics",
1759
1756
  value: function sendMediaQualityAnalyzerMetrics(options) {
1760
1757
  var payload = this.getAnalyzerMetricsPrePayload(_objectSpread(_objectSpread({
1761
1758
  type: _constants.MQA_STATS.CA_TYPE
1762
- }, (0, _pick2.default)(this.config.metrics, ['clientType', 'subClientType'])), options));
1759
+ }, (0, _lodash.pick)(this.config.metrics, ['clientType', 'subClientType'])), options));
1763
1760
 
1764
1761
  // @ts-ignore
1765
1762
  return this.webex.internal.metrics.submitCallDiagnosticEvents(payload);
1766
1763
  }
1767
1764
 
1768
- /**
1769
- * sets the network status on meeting object
1770
- * @param {String} networkStatus
1771
- * @private
1772
- * @returns {undefined}
1773
- * @memberof Meeting
1765
+ /**
1766
+ * sets the network status on meeting object
1767
+ * @param {String} networkStatus
1768
+ * @private
1769
+ * @returns {undefined}
1770
+ * @memberof Meeting
1774
1771
  */
1775
1772
  }, {
1776
1773
  key: "setNetworkStatus",
@@ -1789,13 +1786,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1789
1786
  this.networkStatus = networkStatus;
1790
1787
  }
1791
1788
 
1792
- /**
1793
- * Set up the locus info self listener
1794
- * update self value for members and updates the member
1795
- * notifies consumer with members:self:update {activeSelfId endedSelfId}
1796
- * @returns {undefined}
1797
- * @private
1798
- * @memberof Meeting
1789
+ /**
1790
+ * Set up the locus info self listener
1791
+ * update self value for members and updates the member
1792
+ * notifies consumer with members:self:update {activeSelfId endedSelfId}
1793
+ * @returns {undefined}
1794
+ * @private
1795
+ * @memberof Meeting
1799
1796
  */
1800
1797
  }, {
1801
1798
  key: "setUpLocusSelfListener",
@@ -1814,12 +1811,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1814
1811
  });
1815
1812
  }
1816
1813
 
1817
- /**
1818
- * Notify any changes on the pstn devices
1819
- * @param {Object} payload
1820
- * @returns {undefined}
1821
- * @private
1822
- * @memberof Meeting
1814
+ /**
1815
+ * Notify any changes on the pstn devices
1816
+ * @param {Object} payload
1817
+ * @returns {undefined}
1818
+ * @private
1819
+ * @memberof Meeting
1823
1820
  */
1824
1821
  }, {
1825
1822
  key: "pstnUpdate",
@@ -1868,13 +1865,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1868
1865
  }
1869
1866
  }
1870
1867
 
1871
- /**
1872
- * Set up the locus info host listener
1873
- * update host value for members and updates the member
1874
- * notifies consumer with members:host:update: {activeHostId, endedHostId}
1875
- * @returns {undefined}
1876
- * @private
1877
- * @memberof Meeting
1868
+ /**
1869
+ * Set up the locus info host listener
1870
+ * update host value for members and updates the member
1871
+ * notifies consumer with members:host:update: {activeHostId, endedHostId}
1872
+ * @returns {undefined}
1873
+ * @private
1874
+ * @memberof Meeting
1878
1875
  */
1879
1876
  }, {
1880
1877
  key: "setUpLocusHostListener",
@@ -1885,13 +1882,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1885
1882
  });
1886
1883
  }
1887
1884
 
1888
- /**
1889
- * Set up the locus info participants update listener
1890
- * update members collection value for members
1891
- * notifies consumer with members:update
1892
- * @returns {undefined}
1893
- * @private
1894
- * @memberof Meeting
1885
+ /**
1886
+ * Set up the locus info participants update listener
1887
+ * update members collection value for members
1888
+ * notifies consumer with members:update
1889
+ * @returns {undefined}
1890
+ * @private
1891
+ * @memberof Meeting
1895
1892
  */
1896
1893
  }, {
1897
1894
  key: "setUpLocusParticipantsListener",
@@ -1902,23 +1899,23 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1902
1899
  });
1903
1900
  }
1904
1901
 
1905
- /**
1906
- * Set up the locus info recording update listener
1907
- * update recording value for the meeting
1908
- * notifies consumer with:
1909
- * meeting:recording:started
1910
- * meeting:recording:stopped
1911
- * meeting:recording:paused
1912
- * meeting:recording:resumed
1913
- *
1914
- * Set up the locus info meeeting container listener
1915
- * update meetingContainerUrl value for the meeting
1916
- * notifies consumer with:
1917
- * meeting:meetingContainer:update
1918
- *
1919
- * @returns {undefined}
1920
- * @private
1921
- * @memberof Meeting
1902
+ /**
1903
+ * Set up the locus info recording update listener
1904
+ * update recording value for the meeting
1905
+ * notifies consumer with:
1906
+ * meeting:recording:started
1907
+ * meeting:recording:stopped
1908
+ * meeting:recording:paused
1909
+ * meeting:recording:resumed
1910
+ *
1911
+ * Set up the locus info meeeting container listener
1912
+ * update meetingContainerUrl value for the meeting
1913
+ * notifies consumer with:
1914
+ * meeting:meetingContainer:update
1915
+ *
1916
+ * @returns {undefined}
1917
+ * @private
1918
+ * @memberof Meeting
1922
1919
  */
1923
1920
  }, {
1924
1921
  key: "setupLocusControlsListener",
@@ -1994,13 +1991,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1994
1991
  });
1995
1992
  }
1996
1993
 
1997
- /**
1998
- * Set up the locus info media shares listener
1999
- * update content and whiteboard sharing id value for members, and updates the member
2000
- * notifies consumer with members:content:update {activeContentSharingId, endedContentSharingId}
2001
- * @returns {undefined}
2002
- * @private
2003
- * @memberof Meeting
1994
+ /**
1995
+ * Set up the locus info media shares listener
1996
+ * update content and whiteboard sharing id value for members, and updates the member
1997
+ * notifies consumer with members:content:update {activeContentSharingId, endedContentSharingId}
1998
+ * @returns {undefined}
1999
+ * @private
2000
+ * @memberof Meeting
2004
2001
  */
2005
2002
  }, {
2006
2003
  key: "setUpLocusMediaSharesListener",
@@ -2172,12 +2169,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2172
2169
  });
2173
2170
  }
2174
2171
 
2175
- /**
2176
- * Set up the locus info url listener
2177
- * update locus_url value for members
2178
- * @returns {undefined}
2179
- * @private
2180
- * @memberof Meeting
2172
+ /**
2173
+ * Set up the locus info url listener
2174
+ * update locus_url value for members
2175
+ * @returns {undefined}
2176
+ * @private
2177
+ * @memberof Meeting
2181
2178
  */
2182
2179
  }, {
2183
2180
  key: "setUpLocusUrlListener",
@@ -2193,14 +2190,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2193
2190
  });
2194
2191
  }
2195
2192
 
2196
- /**
2197
- * Set up the locus info service link listener
2198
- * update the locusInfo for recording controller
2199
- * does not currently re-emit the event as it's internal only
2200
- * payload is unused
2201
- * @returns {undefined}
2202
- * @private
2203
- * @memberof Meeting
2193
+ /**
2194
+ * Set up the locus info service link listener
2195
+ * update the locusInfo for recording controller
2196
+ * does not currently re-emit the event as it's internal only
2197
+ * payload is unused
2198
+ * @returns {undefined}
2199
+ * @private
2200
+ * @memberof Meeting
2204
2201
  */
2205
2202
  }, {
2206
2203
  key: "setUpLocusServicesListener",
@@ -2213,11 +2210,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2213
2210
  });
2214
2211
  }
2215
2212
 
2216
- /**
2217
- * Set up the locus info meeting info listener
2218
- * @returns {undefined}
2219
- * @private
2220
- * @memberof meeting
2213
+ /**
2214
+ * Set up the locus info meeting info listener
2215
+ * @returns {undefined}
2216
+ * @private
2217
+ * @memberof meeting
2221
2218
  */
2222
2219
  }, {
2223
2220
  key: "setUpLocusInfoMeetingInfoListener",
@@ -2284,11 +2281,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2284
2281
  });
2285
2282
  }
2286
2283
 
2287
- /**
2288
- * Set up the locus info embedded apps listener
2289
- * @returns {undefined}
2290
- * @private
2291
- * @memberof meeting
2284
+ /**
2285
+ * Set up the locus info embedded apps listener
2286
+ * @returns {undefined}
2287
+ * @private
2288
+ * @memberof meeting
2292
2289
  */
2293
2290
  }, {
2294
2291
  key: "setUpLocusEmbeddedAppsListener",
@@ -2304,11 +2301,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2304
2301
  });
2305
2302
  }
2306
2303
 
2307
- /**
2308
- * Internal function to listen to the self object changes
2309
- * @returns {undefined}
2310
- * @private
2311
- * @memberof Meeting
2304
+ /**
2305
+ * Internal function to listen to the self object changes
2306
+ * @returns {undefined}
2307
+ * @private
2308
+ * @memberof Meeting
2312
2309
  */
2313
2310
  }, {
2314
2311
  key: "setUpLocusInfoSelfListener",
@@ -2430,11 +2427,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2430
2427
  });
2431
2428
  }
2432
2429
 
2433
- /**
2434
- * Add LocusInfo nested object listeners (from child to parent)
2435
- * @returns {undefined}
2436
- * @private
2437
- * @memberof Meeting
2430
+ /**
2431
+ * Add LocusInfo nested object listeners (from child to parent)
2432
+ * @returns {undefined}
2433
+ * @private
2434
+ * @memberof Meeting
2438
2435
  */
2439
2436
  }, {
2440
2437
  key: "setUpLocusInfoMeetingListener",
@@ -2496,13 +2493,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2496
2493
  });
2497
2494
  }
2498
2495
 
2499
- /**
2500
- * Set meeting values rather than events
2501
- * @param {Object} object
2502
- * @returns {undefined}
2503
- * @private
2504
- * @memberof Meeting
2505
- * // TODO: is this function necessary?
2496
+ /**
2497
+ * Set meeting values rather than events
2498
+ * @param {Object} object
2499
+ * @returns {undefined}
2500
+ * @private
2501
+ * @memberof Meeting
2502
+ * // TODO: is this function necessary?
2506
2503
  */
2507
2504
  }, {
2508
2505
  key: "updateMeetingObject",
@@ -2518,16 +2515,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2518
2515
  }
2519
2516
  }
2520
2517
 
2521
- /**
2522
- * Invite a guest to the call that isn't normally part of this call
2523
- * @param {Object} invitee
2524
- * @param {String} invitee.emailAddress
2525
- * @param {String} invitee.email
2526
- * @param {String} invitee.phoneNumber
2527
- * @param {Boolean} [alertIfActive]
2528
- * @returns {Promise} see #members.addMember
2529
- * @public
2530
- * @memberof Meeting
2518
+ /**
2519
+ * Invite a guest to the call that isn't normally part of this call
2520
+ * @param {Object} invitee
2521
+ * @param {String} invitee.emailAddress
2522
+ * @param {String} invitee.email
2523
+ * @param {String} invitee.phoneNumber
2524
+ * @param {Boolean} [alertIfActive]
2525
+ * @returns {Promise} see #members.addMember
2526
+ * @public
2527
+ * @memberof Meeting
2531
2528
  */
2532
2529
  }, {
2533
2530
  key: "invite",
@@ -2536,13 +2533,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2536
2533
  return this.members.addMember(invitee, alertIfActive);
2537
2534
  }
2538
2535
 
2539
- /**
2540
- * Cancel an outgoing phone call invitation made during a meeting
2541
- * @param {Object} invitee
2542
- * @param {String} invitee.phoneNumber
2543
- * @returns {Promise} see #members.cancelPhoneInvite
2544
- * @public
2545
- * @memberof Meeting
2536
+ /**
2537
+ * Cancel an outgoing phone call invitation made during a meeting
2538
+ * @param {Object} invitee
2539
+ * @param {String} invitee.phoneNumber
2540
+ * @returns {Promise} see #members.cancelPhoneInvite
2541
+ * @public
2542
+ * @memberof Meeting
2546
2543
  */
2547
2544
  }, {
2548
2545
  key: "cancelPhoneInvite",
@@ -2550,12 +2547,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2550
2547
  return this.members.cancelPhoneInvite(invitee);
2551
2548
  }
2552
2549
 
2553
- /**
2554
- * Admit the guest(s) to the call once they are waiting
2555
- * @param {Array} memberIds
2556
- * @returns {Promise} see #members.admitMembers
2557
- * @public
2558
- * @memberof Meeting
2550
+ /**
2551
+ * Admit the guest(s) to the call once they are waiting
2552
+ * @param {Array} memberIds
2553
+ * @returns {Promise} see #members.admitMembers
2554
+ * @public
2555
+ * @memberof Meeting
2559
2556
  */
2560
2557
  }, {
2561
2558
  key: "admit",
@@ -2563,12 +2560,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2563
2560
  return this.members.admitMembers(memberIds);
2564
2561
  }
2565
2562
 
2566
- /**
2567
- * Remove the member from the meeting, boot them
2568
- * @param {String} memberId
2569
- * @returns {Promise} see #members.removeMember
2570
- * @public
2571
- * @memberof Meeting
2563
+ /**
2564
+ * Remove the member from the meeting, boot them
2565
+ * @param {String} memberId
2566
+ * @returns {Promise} see #members.removeMember
2567
+ * @public
2568
+ * @memberof Meeting
2572
2569
  */
2573
2570
  }, {
2574
2571
  key: "remove",
@@ -2576,13 +2573,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2576
2573
  return this.members.removeMember(memberId);
2577
2574
  }
2578
2575
 
2579
- /**
2580
- * Mute another member from the meeting
2581
- * @param {String} memberId
2582
- * @param {Boolean} mute
2583
- * @returns {Promise} see #members.muteMember
2584
- * @public
2585
- * @memberof Meeting
2576
+ /**
2577
+ * Mute another member from the meeting
2578
+ * @param {String} memberId
2579
+ * @param {Boolean} mute
2580
+ * @returns {Promise} see #members.muteMember
2581
+ * @public
2582
+ * @memberof Meeting
2586
2583
  */
2587
2584
  }, {
2588
2585
  key: "mute",
@@ -2591,13 +2588,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2591
2588
  return this.members.muteMember(memberId, _mute);
2592
2589
  }
2593
2590
 
2594
- /**
2595
- * Transfer the moderator role to another eligible member
2596
- * @param {String} memberId
2597
- * @param {Boolean} moderator
2598
- * @returns {Promise} see #members.transferHostToMember
2599
- * @public
2600
- * @memberof Meeting
2591
+ /**
2592
+ * Transfer the moderator role to another eligible member
2593
+ * @param {String} memberId
2594
+ * @param {Boolean} moderator
2595
+ * @returns {Promise} see #members.transferHostToMember
2596
+ * @public
2597
+ * @memberof Meeting
2601
2598
  */
2602
2599
  }, {
2603
2600
  key: "transfer",
@@ -2606,11 +2603,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2606
2603
  return this.members.transferHostToMember(memberId, moderator);
2607
2604
  }
2608
2605
 
2609
- /**
2610
- * Reference to the Members object
2611
- * @returns {Members}
2612
- * @public
2613
- * @memberof Meeting
2606
+ /**
2607
+ * Reference to the Members object
2608
+ * @returns {Members}
2609
+ * @public
2610
+ * @memberof Meeting
2614
2611
  */
2615
2612
  }, {
2616
2613
  key: "getMembers",
@@ -2618,11 +2615,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2618
2615
  return this.members;
2619
2616
  }
2620
2617
 
2621
- /**
2622
- * Truthy when a meeting has an audio connection established
2623
- * @returns {Boolean} true if meeting audio is connected otherwise false
2624
- * @public
2625
- * @memberof Meeting
2618
+ /**
2619
+ * Truthy when a meeting has an audio connection established
2620
+ * @returns {Boolean} true if meeting audio is connected otherwise false
2621
+ * @public
2622
+ * @memberof Meeting
2626
2623
  */
2627
2624
  }, {
2628
2625
  key: "isAudioConnected",
@@ -2630,11 +2627,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2630
2627
  return !!this.audio;
2631
2628
  }
2632
2629
 
2633
- /**
2634
- * Convenience function to tell whether a meeting is muted
2635
- * @returns {Boolean} if meeting audio muted or not
2636
- * @public
2637
- * @memberof Meeting
2630
+ /**
2631
+ * Convenience function to tell whether a meeting is muted
2632
+ * @returns {Boolean} if meeting audio muted or not
2633
+ * @public
2634
+ * @memberof Meeting
2638
2635
  */
2639
2636
  }, {
2640
2637
  key: "isAudioMuted",
@@ -2642,11 +2639,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2642
2639
  return this.audio && this.audio.isMuted();
2643
2640
  }
2644
2641
 
2645
- /**
2646
- * Convenience function to tell if the end user last changed the audio state
2647
- * @returns {Boolean} if audio was manipulated by the end user
2648
- * @public
2649
- * @memberof Meeting
2642
+ /**
2643
+ * Convenience function to tell if the end user last changed the audio state
2644
+ * @returns {Boolean} if audio was manipulated by the end user
2645
+ * @public
2646
+ * @memberof Meeting
2650
2647
  */
2651
2648
  }, {
2652
2649
  key: "isAudioSelf",
@@ -2654,11 +2651,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2654
2651
  return this.audio && this.audio.isSelf();
2655
2652
  }
2656
2653
 
2657
- /**
2658
- * Truthy when a meeting has a video connection established
2659
- * @returns {Boolean} true if meeting video connected otherwise false
2660
- * @public
2661
- * @memberof Meeting
2654
+ /**
2655
+ * Truthy when a meeting has a video connection established
2656
+ * @returns {Boolean} true if meeting video connected otherwise false
2657
+ * @public
2658
+ * @memberof Meeting
2662
2659
  */
2663
2660
  }, {
2664
2661
  key: "isVideoConnected",
@@ -2666,11 +2663,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2666
2663
  return !!this.video;
2667
2664
  }
2668
2665
 
2669
- /**
2670
- * Convenience function to tell whether video is muted
2671
- * @returns {Boolean} if meeting video is muted or not
2672
- * @public
2673
- * @memberof Meeting
2666
+ /**
2667
+ * Convenience function to tell whether video is muted
2668
+ * @returns {Boolean} if meeting video is muted or not
2669
+ * @public
2670
+ * @memberof Meeting
2674
2671
  */
2675
2672
  }, {
2676
2673
  key: "isVideoMuted",
@@ -2678,11 +2675,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2678
2675
  return this.video && this.video.isMuted();
2679
2676
  }
2680
2677
 
2681
- /**
2682
- * Convenience function to tell whether the end user changed the video state
2683
- * @returns {Boolean} if meeting video is muted or not
2684
- * @public
2685
- * @memberof Meeting
2678
+ /**
2679
+ * Convenience function to tell whether the end user changed the video state
2680
+ * @returns {Boolean} if meeting video is muted or not
2681
+ * @public
2682
+ * @memberof Meeting
2686
2683
  */
2687
2684
  }, {
2688
2685
  key: "isVideoSelf",
@@ -2690,18 +2687,18 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2690
2687
  return this.video && this.video.isSelf();
2691
2688
  }
2692
2689
 
2693
- /**
2694
- * Sets the meeting info on the class instance
2695
- * @param {Object} meetingInfo
2696
- * @param {Object} meetingInfo.body
2697
- * @param {String} meetingInfo.body.conversationUrl
2698
- * @param {String} meetingInfo.body.locusUrl
2699
- * @param {String} meetingInfo.body.sipUri
2700
- * @param {Object} meetingInfo.body.owner
2701
- * @param {Object | String} destination locus object with meeting data or destination string (sip url, meeting link, etc)
2702
- * @returns {undefined}
2703
- * @private
2704
- * @memberof Meeting
2690
+ /**
2691
+ * Sets the meeting info on the class instance
2692
+ * @param {Object} meetingInfo
2693
+ * @param {Object} meetingInfo.body
2694
+ * @param {String} meetingInfo.body.conversationUrl
2695
+ * @param {String} meetingInfo.body.locusUrl
2696
+ * @param {String} meetingInfo.body.sipUri
2697
+ * @param {Object} meetingInfo.body.owner
2698
+ * @param {Object | String} destination locus object with meeting data or destination string (sip url, meeting link, etc)
2699
+ * @returns {undefined}
2700
+ * @private
2701
+ * @memberof Meeting
2705
2702
  */
2706
2703
  }, {
2707
2704
  key: "parseMeetingInfo",
@@ -2735,15 +2732,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2735
2732
  }
2736
2733
  }
2737
2734
 
2738
- /**
2739
- * Sets the first locus info on the class instance
2740
- * @param {Object} locus
2741
- * @param {String} locus.url
2742
- * @param {Array} locus.participants
2743
- * @param {Object} locus.self
2744
- * @returns {undefined}
2745
- * @private
2746
- * @memberof Meeting
2735
+ /**
2736
+ * Sets the first locus info on the class instance
2737
+ * @param {Object} locus
2738
+ * @param {String} locus.url
2739
+ * @param {Array} locus.participants
2740
+ * @param {Object} locus.self
2741
+ * @returns {undefined}
2742
+ * @private
2743
+ * @memberof Meeting
2747
2744
  */
2748
2745
  }, {
2749
2746
  key: "parseLocus",
@@ -2766,13 +2763,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2766
2763
  }
2767
2764
  }
2768
2765
 
2769
- /**
2770
- * Sets the sip uri on the class instance
2771
- * uses meeting info as precedence
2772
- * @param {String} sipUri
2773
- * @returns {undefined}
2774
- * @private
2775
- * @memberof Meeting
2766
+ /**
2767
+ * Sets the sip uri on the class instance
2768
+ * uses meeting info as precedence
2769
+ * @param {String} sipUri
2770
+ * @returns {undefined}
2771
+ * @private
2772
+ * @memberof Meeting
2776
2773
  */
2777
2774
  }, {
2778
2775
  key: "setSipUri",
@@ -2781,12 +2778,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2781
2778
  this.sipUri = sipUri;
2782
2779
  }
2783
2780
 
2784
- /**
2785
- * Set the roap seq on the class instance
2786
- * @param {Number} seq
2787
- * @returns {undefined}
2788
- * @private
2789
- * @memberof Meeting
2781
+ /**
2782
+ * Set the roap seq on the class instance
2783
+ * @param {Number} seq
2784
+ * @returns {undefined}
2785
+ * @private
2786
+ * @memberof Meeting
2790
2787
  */
2791
2788
  }, {
2792
2789
  key: "setRoapSeq",
@@ -2796,18 +2793,18 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2796
2793
  }
2797
2794
  }
2798
2795
 
2799
- /**
2800
- * Set the locus info the class instance
2801
- * @param {Object} locus
2802
- * @param {Array} locus.mediaConnections
2803
- * @param {String} locus.locusUrl
2804
- * @param {String} locus.locusId
2805
- * @param {String} locus.mediaId
2806
- * @param {Object} locus.host
2807
- * @todo change name to genertic parser
2808
- * @returns {undefined}
2809
- * @private
2810
- * @memberof Meeting
2796
+ /**
2797
+ * Set the locus info the class instance
2798
+ * @param {Object} locus
2799
+ * @param {Array} locus.mediaConnections
2800
+ * @param {String} locus.locusUrl
2801
+ * @param {String} locus.locusId
2802
+ * @param {String} locus.mediaId
2803
+ * @param {Object} locus.host
2804
+ * @todo change name to genertic parser
2805
+ * @returns {undefined}
2806
+ * @private
2807
+ * @memberof Meeting
2811
2808
  */
2812
2809
  }, {
2813
2810
  key: "setLocus",
@@ -2826,13 +2823,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2826
2823
  this.locusInfo.initialSetup(mtgLocus);
2827
2824
  }
2828
2825
 
2829
- /**
2830
- * Sets the remote stream on the class instance and emits and
2831
- * event to developers
2832
- * @param {Object} pc The remote stream peer connection
2833
- * @returns {undefined}
2834
- * @public
2835
- * @memberof Meeting
2826
+ /**
2827
+ * Sets the remote stream on the class instance and emits and
2828
+ * event to developers
2829
+ * @param {Object} pc The remote stream peer connection
2830
+ * @returns {undefined}
2831
+ * @public
2832
+ * @memberof Meeting
2836
2833
  */
2837
2834
  }, {
2838
2835
  key: "setRemoteStream",
@@ -2920,12 +2917,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2920
2917
  };
2921
2918
  }
2922
2919
 
2923
- /**
2924
- * Upload logs for the current meeting
2925
- * @param {object} options file name and function name
2926
- * @returns {undefined}
2927
- * @public
2928
- * @memberof Meeting
2920
+ /**
2921
+ * Upload logs for the current meeting
2922
+ * @param {object} options file name and function name
2923
+ * @returns {undefined}
2924
+ * @public
2925
+ * @memberof Meeting
2929
2926
  */
2930
2927
  }, {
2931
2928
  key: "uploadLogs",
@@ -2937,13 +2934,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2937
2934
  _triggerProxy.default.trigger(this, options, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
2938
2935
  }
2939
2936
 
2940
- /**
2941
- * Removes remote audio and video stream on the class instance and triggers an event
2942
- * to developers
2943
- * @returns {undefined}
2944
- * @public
2945
- * @memberof Meeting
2946
- * @deprecated after v1.89.3
2937
+ /**
2938
+ * Removes remote audio and video stream on the class instance and triggers an event
2939
+ * to developers
2940
+ * @returns {undefined}
2941
+ * @public
2942
+ * @memberof Meeting
2943
+ * @deprecated after v1.89.3
2947
2944
  */
2948
2945
  }, {
2949
2946
  key: "unsetRemoteStream",
@@ -2952,9 +2949,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2952
2949
  this.mediaProperties.unsetRemoteMedia();
2953
2950
  }
2954
2951
 
2955
- /**
2956
- * Removes remote audio, video and share tracks from class instance's mediaProperties
2957
- * @returns {undefined}
2952
+ /**
2953
+ * Removes remote audio, video and share tracks from class instance's mediaProperties
2954
+ * @returns {undefined}
2958
2955
  */
2959
2956
  }, {
2960
2957
  key: "unsetRemoteTracks",
@@ -2962,13 +2959,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2962
2959
  this.mediaProperties.unsetRemoteTracks();
2963
2960
  }
2964
2961
 
2965
- /**
2966
- * Removes the remote stream on the class instance and triggers an event
2967
- * to developers
2968
- * @returns {undefined}
2969
- * @public
2970
- * @memberof Meeting
2971
- * @deprecated after v1.89.3
2962
+ /**
2963
+ * Removes the remote stream on the class instance and triggers an event
2964
+ * to developers
2965
+ * @returns {undefined}
2966
+ * @public
2967
+ * @memberof Meeting
2968
+ * @deprecated after v1.89.3
2972
2969
  */
2973
2970
  }, {
2974
2971
  key: "closeRemoteStream",
@@ -2977,11 +2974,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2977
2974
  this.closeRemoteTracks();
2978
2975
  }
2979
2976
 
2980
- /**
2981
- * Removes the remote tracks on the class instance and triggers an event
2982
- * to developers
2983
- * @returns {undefined}
2984
- * @memberof Meeting
2977
+ /**
2978
+ * Removes the remote tracks on the class instance and triggers an event
2979
+ * to developers
2980
+ * @returns {undefined}
2981
+ * @memberof Meeting
2985
2982
  */
2986
2983
  }, {
2987
2984
  key: "closeRemoteTracks",
@@ -2992,11 +2989,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2992
2989
  remoteVideoTrack = _this$mediaProperties.remoteVideoTrack,
2993
2990
  remoteShare = _this$mediaProperties.remoteShare;
2994
2991
 
2995
- /**
2996
- * Triggers an event to the developer
2997
- * @param {string} mediaType Type of media that was stopped
2998
- * @returns {void}
2999
- * @inner
2992
+ /**
2993
+ * Triggers an event to the developer
2994
+ * @param {string} mediaType Type of media that was stopped
2995
+ * @returns {void}
2996
+ * @inner
3000
2997
  */
3001
2998
  // eslint-disable-next-line @typescript-eslint/no-shadow
3002
2999
  var triggerMediaStoppedEvent = function triggerMediaStoppedEvent(mediaType) {
@@ -3008,12 +3005,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3008
3005
  });
3009
3006
  };
3010
3007
 
3011
- /**
3012
- * Stops a media track and emits an event
3013
- * @param {MediaStreamTrack} track Media track to stop
3014
- * @param {string} type Media track type
3015
- * @returns {Promise}
3016
- * @inner
3008
+ /**
3009
+ * Stops a media track and emits an event
3010
+ * @param {MediaStreamTrack} track Media track to stop
3011
+ * @param {string} type Media track type
3012
+ * @returns {Promise}
3013
+ * @inner
3017
3014
  */
3018
3015
  // eslint-disable-next-line arrow-body-style
3019
3016
  var stopTrack = function stopTrack(track, type) {
@@ -3030,11 +3027,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3030
3027
  return _promise.default.all([stopTrack(remoteAudioTrack, _constants.EVENT_TYPES.REMOTE_AUDIO), stopTrack(remoteVideoTrack, _constants.EVENT_TYPES.REMOTE_VIDEO), stopTrack(remoteShare, _constants.EVENT_TYPES.REMOTE_SHARE)]);
3031
3028
  }
3032
3029
 
3033
- /**
3034
- * Emits the 'media:ready' event with a local stream that consists of 1 local audio and 1 local video track
3035
- * @returns {undefined}
3036
- * @private
3037
- * @memberof Meeting
3030
+ /**
3031
+ * Emits the 'media:ready' event with a local stream that consists of 1 local audio and 1 local video track
3032
+ * @returns {undefined}
3033
+ * @private
3034
+ * @memberof Meeting
3038
3035
  */
3039
3036
  }, {
3040
3037
  key: "sendLocalMediaReadyEvent",
@@ -3048,13 +3045,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3048
3045
  });
3049
3046
  }
3050
3047
 
3051
- /**
3052
- * Sets the local audio track on the class and emits an event to the developer
3053
- * @param {MediaStreamTrack} audioTrack
3054
- * @param {Boolean} emitEvent if true, a media ready event is emitted to the developer
3055
- * @returns {undefined}
3056
- * @private
3057
- * @memberof Meeting
3048
+ /**
3049
+ * Sets the local audio track on the class and emits an event to the developer
3050
+ * @param {MediaStreamTrack} audioTrack
3051
+ * @param {Boolean} emitEvent if true, a media ready event is emitted to the developer
3052
+ * @returns {undefined}
3053
+ * @private
3054
+ * @memberof Meeting
3058
3055
  */
3059
3056
  }, {
3060
3057
  key: "setLocalAudioTrack",
@@ -3075,13 +3072,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3075
3072
  }
3076
3073
  }
3077
3074
 
3078
- /**
3079
- * Sets the local video track on the class and emits an event to the developer
3080
- * @param {MediaStreamTrack} videoTrack
3081
- * @param {Boolean} emitEvent if true, a media ready event is emitted to the developer
3082
- * @returns {undefined}
3083
- * @private
3084
- * @memberof Meeting
3075
+ /**
3076
+ * Sets the local video track on the class and emits an event to the developer
3077
+ * @param {MediaStreamTrack} videoTrack
3078
+ * @param {Boolean} emitEvent if true, a media ready event is emitted to the developer
3079
+ * @returns {undefined}
3080
+ * @private
3081
+ * @memberof Meeting
3085
3082
  */
3086
3083
  }, {
3087
3084
  key: "setLocalVideoTrack",
@@ -3118,12 +3115,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3118
3115
  }
3119
3116
  }
3120
3117
 
3121
- /**
3122
- * Sets the local media stream on the class and emits an event to the developer
3123
- * @param {Stream} localStream the local media stream
3124
- * @returns {undefined}
3125
- * @public
3126
- * @memberof Meeting
3118
+ /**
3119
+ * Sets the local media stream on the class and emits an event to the developer
3120
+ * @param {Stream} localStream the local media stream
3121
+ * @returns {undefined}
3122
+ * @public
3123
+ * @memberof Meeting
3127
3124
  */
3128
3125
  }, {
3129
3126
  key: "setLocalTracks",
@@ -3138,12 +3135,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3138
3135
  }
3139
3136
  }
3140
3137
 
3141
- /**
3142
- * Sets the local media stream on the class and emits an event to the developer
3143
- * @param {MediaStream} localShare the local media stream
3144
- * @returns {undefined}
3145
- * @public
3146
- * @memberof Meeting
3138
+ /**
3139
+ * Sets the local media stream on the class and emits an event to the developer
3140
+ * @param {MediaStream} localShare the local media stream
3141
+ * @returns {undefined}
3142
+ * @public
3143
+ * @memberof Meeting
3147
3144
  */
3148
3145
  }, {
3149
3146
  key: "setLocalShareTrack",
@@ -3178,12 +3175,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3178
3175
  }
3179
3176
  }
3180
3177
 
3181
- /**
3182
- * Closes the local stream from the class and emits an event to the developer
3183
- * @returns {undefined}
3184
- * @event media:stopped
3185
- * @public
3186
- * @memberof Meeting
3178
+ /**
3179
+ * Closes the local stream from the class and emits an event to the developer
3180
+ * @returns {undefined}
3181
+ * @event media:stopped
3182
+ * @public
3183
+ * @memberof Meeting
3187
3184
  */
3188
3185
  }, {
3189
3186
  key: "closeLocalStream",
@@ -3212,12 +3209,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3212
3209
  });
3213
3210
  }
3214
3211
 
3215
- /**
3216
- * Closes the local stream from the class and emits an event to the developer
3217
- * @returns {undefined}
3218
- * @event media:stopped
3219
- * @public
3220
- * @memberof Meeting
3212
+ /**
3213
+ * Closes the local stream from the class and emits an event to the developer
3214
+ * @returns {undefined}
3215
+ * @event media:stopped
3216
+ * @public
3217
+ * @memberof Meeting
3221
3218
  */
3222
3219
  }, {
3223
3220
  key: "closeLocalShare",
@@ -3239,11 +3236,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3239
3236
  });
3240
3237
  }
3241
3238
 
3242
- /**
3243
- * Removes the local stream from the class and emits an event to the developer
3244
- * @returns {undefined}
3245
- * @public
3246
- * @memberof Meeting
3239
+ /**
3240
+ * Removes the local stream from the class and emits an event to the developer
3241
+ * @returns {undefined}
3242
+ * @public
3243
+ * @memberof Meeting
3247
3244
  */
3248
3245
  }, {
3249
3246
  key: "unsetLocalVideoTrack",
@@ -3251,11 +3248,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3251
3248
  this.mediaProperties.unsetLocalVideoTrack();
3252
3249
  }
3253
3250
 
3254
- /**
3255
- * Removes the local share from the class and emits an event to the developer
3256
- * @returns {undefined}
3257
- * @public
3258
- * @memberof Meeting
3251
+ /**
3252
+ * Removes the local share from the class and emits an event to the developer
3253
+ * @returns {undefined}
3254
+ * @public
3255
+ * @memberof Meeting
3259
3256
  */
3260
3257
  }, {
3261
3258
  key: "unsetLocalShareTrack",
@@ -3263,11 +3260,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3263
3260
  this.mediaProperties.unsetLocalShareTrack();
3264
3261
  }
3265
3262
 
3266
- /**
3267
- * sets up listner for mercury event
3268
- * @returns {undefined}
3269
- * @public
3270
- * @memberof Meeting
3263
+ /**
3264
+ * sets up listner for mercury event
3265
+ * @returns {undefined}
3266
+ * @public
3267
+ * @memberof Meeting
3271
3268
  */
3272
3269
  }, {
3273
3270
  key: "setMercuryListener",
@@ -3305,12 +3302,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3305
3302
  });
3306
3303
  }
3307
3304
 
3308
- /**
3309
- * Close the peer connections and remove them from the class. Triggers an event
3310
- * when each is closed.
3311
- * @returns {Promise} returns a resolved promise with an array of closed peer connections
3312
- * @public
3313
- * @memberof Meeting
3305
+ /**
3306
+ * Close the peer connections and remove them from the class. Triggers an event
3307
+ * when each is closed.
3308
+ * @returns {Promise} returns a resolved promise with an array of closed peer connections
3309
+ * @public
3310
+ * @memberof Meeting
3314
3311
  */
3315
3312
  }, {
3316
3313
  key: "closePeerConnections",
@@ -3318,13 +3315,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3318
3315
  return _peerConnectionManager.default.close(this.mediaProperties.peerConnection);
3319
3316
  }
3320
3317
 
3321
- /**
3322
- * Unsets the peer connections on the class
3323
- * warning DO NOT CALL WITHOUT CLOSING PEER CONNECTIONS FIRST
3324
- * @param {PeerConnection} peerConnection
3325
- * @returns {undefined}
3326
- * @public
3327
- * @memberof Meeting
3318
+ /**
3319
+ * Unsets the peer connections on the class
3320
+ * warning DO NOT CALL WITHOUT CLOSING PEER CONNECTIONS FIRST
3321
+ * @param {PeerConnection} peerConnection
3322
+ * @returns {undefined}
3323
+ * @public
3324
+ * @memberof Meeting
3328
3325
  */
3329
3326
  }, {
3330
3327
  key: "unsetPeerConnections",
@@ -3337,12 +3334,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3337
3334
  }
3338
3335
  }
3339
3336
 
3340
- /**
3341
- * Convenience method to set the correlation id for the Meeting
3342
- * @param {String} id correlation id to set on the class
3343
- * @returns {undefined}
3344
- * @private
3345
- * @memberof Meeting
3337
+ /**
3338
+ * Convenience method to set the correlation id for the Meeting
3339
+ * @param {String} id correlation id to set on the class
3340
+ * @returns {undefined}
3341
+ * @private
3342
+ * @memberof Meeting
3346
3343
  */
3347
3344
  }, {
3348
3345
  key: "setCorrelationId",
@@ -3350,11 +3347,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3350
3347
  this.correlationId = id;
3351
3348
  }
3352
3349
 
3353
- /**
3354
- * Mute the audio for a meeting
3355
- * @returns {Promise} resolves the data from muting audio {mute, self} or rejects if there is no audio set
3356
- * @public
3357
- * @memberof Meeting
3350
+ /**
3351
+ * Mute the audio for a meeting
3352
+ * @returns {Promise} resolves the data from muting audio {mute, self} or rejects if there is no audio set
3353
+ * @public
3354
+ * @memberof Meeting
3358
3355
  */
3359
3356
  }, {
3360
3357
  key: "muteAudio",
@@ -3400,11 +3397,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3400
3397
  });
3401
3398
  }
3402
3399
 
3403
- /**
3404
- * Unmute meeting audio
3405
- * @returns {Promise} resolves data from muting audio {mute, self} or rejects if there is no audio set
3406
- * @public
3407
- * @memberof Meeting
3400
+ /**
3401
+ * Unmute meeting audio
3402
+ * @returns {Promise} resolves data from muting audio {mute, self} or rejects if there is no audio set
3403
+ * @public
3404
+ * @memberof Meeting
3408
3405
  */
3409
3406
  }, {
3410
3407
  key: "unmuteAudio",
@@ -3450,11 +3447,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3450
3447
  });
3451
3448
  }
3452
3449
 
3453
- /**
3454
- * Mute the video for a meeting
3455
- * @returns {Promise} resolves data from muting video {mute, self} or rejects if there is no video set
3456
- * @public
3457
- * @memberof Meeting
3450
+ /**
3451
+ * Mute the video for a meeting
3452
+ * @returns {Promise} resolves data from muting video {mute, self} or rejects if there is no video set
3453
+ * @public
3454
+ * @memberof Meeting
3458
3455
  */
3459
3456
  }, {
3460
3457
  key: "muteVideo",
@@ -3498,11 +3495,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3498
3495
  });
3499
3496
  }
3500
3497
 
3501
- /**
3502
- * Unmute meeting video
3503
- * @returns {Promise} resolves data from muting video {mute, self} or rejects if there is no video set
3504
- * @public
3505
- * @memberof Meeting
3498
+ /**
3499
+ * Unmute meeting video
3500
+ * @returns {Promise} resolves data from muting video {mute, self} or rejects if there is no video set
3501
+ * @public
3502
+ * @memberof Meeting
3506
3503
  */
3507
3504
  }, {
3508
3505
  key: "unmuteVideo",
@@ -3546,30 +3543,30 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3546
3543
  });
3547
3544
  }
3548
3545
 
3549
- /**
3550
- * Shorthand function to join AND set up media
3551
- * @param {Object} options - options to join with media
3552
- * @param {JoinOptions} [options.joinOptions] - see #join()
3553
- * @param {MediaDirection} options.mediaSettings - see #addMedia()
3554
- * @param {AudioVideo} [options.audioVideoOptions] - see #getMediaStreams()
3555
- * @returns {Promise} -- {join: see join(), media: see addMedia(), local: see getMediaStreams()}
3556
- * @public
3557
- * @memberof Meeting
3558
- * @example
3559
- * joinWithMedia({
3560
- * joinOptions: {resourceId: 'resourceId' },
3561
- * mediaSettings: {
3562
- * sendAudio: true,
3563
- * sendVideo: true,
3564
- * sendShare: false,
3565
- * receiveVideo:true,
3566
- * receiveAudio: true,
3567
- * receiveShare: true
3568
- * }
3569
- * audioVideoOptions: {
3570
- * audio: 'audioDeviceId',
3571
- * video: 'videoDeviceId'
3572
- * }})
3546
+ /**
3547
+ * Shorthand function to join AND set up media
3548
+ * @param {Object} options - options to join with media
3549
+ * @param {JoinOptions} [options.joinOptions] - see #join()
3550
+ * @param {MediaDirection} options.mediaSettings - see #addMedia()
3551
+ * @param {AudioVideo} [options.audioVideoOptions] - see #getMediaStreams()
3552
+ * @returns {Promise} -- {join: see join(), media: see addMedia(), local: see getMediaStreams()}
3553
+ * @public
3554
+ * @memberof Meeting
3555
+ * @example
3556
+ * joinWithMedia({
3557
+ * joinOptions: {resourceId: 'resourceId' },
3558
+ * mediaSettings: {
3559
+ * sendAudio: true,
3560
+ * sendVideo: true,
3561
+ * sendShare: false,
3562
+ * receiveVideo:true,
3563
+ * receiveAudio: true,
3564
+ * receiveShare: true
3565
+ * }
3566
+ * audioVideoOptions: {
3567
+ * audio: 'audioDeviceId',
3568
+ * video: 'videoDeviceId'
3569
+ * }})
3573
3570
  */
3574
3571
  }, {
3575
3572
  key: "joinWithMedia",
@@ -3611,13 +3608,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3611
3608
  });
3612
3609
  }
3613
3610
 
3614
- /**
3615
- * Initiates the reconnection of the media in the meeting
3616
- *
3617
- * @param {object} options
3618
- * @returns {Promise} resolves with {reconnect} or errors with {error}
3619
- * @public
3620
- * @memberof Meeting
3611
+ /**
3612
+ * Initiates the reconnection of the media in the meeting
3613
+ *
3614
+ * @param {object} options
3615
+ * @returns {Promise} resolves with {reconnect} or errors with {error}
3616
+ * @public
3617
+ * @memberof Meeting
3621
3618
  */
3622
3619
  }, {
3623
3620
  key: "reconnect",
@@ -3679,10 +3676,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3679
3676
  });
3680
3677
  }
3681
3678
 
3682
- /**
3683
- * Check if the meeting supports the Webex Assistant feature
3684
- * @returns {boolean}
3685
- * @throws TranscriptionNotSupportedError
3679
+ /**
3680
+ * Check if the meeting supports the Webex Assistant feature
3681
+ * @returns {boolean}
3682
+ * @throws TranscriptionNotSupportedError
3686
3683
  */
3687
3684
  }, {
3688
3685
  key: "isTranscriptionSupported",
@@ -3695,10 +3692,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3695
3692
  return false;
3696
3693
  }
3697
3694
 
3698
- /**
3699
- * Monitor the Low-Latency Mercury (LLM) web socket connection on `onError` and `onClose` states
3700
- * @private
3701
- * @returns {void}
3695
+ /**
3696
+ * Monitor the Low-Latency Mercury (LLM) web socket connection on `onError` and `onClose` states
3697
+ * @private
3698
+ * @returns {void}
3702
3699
  */
3703
3700
  }, {
3704
3701
  key: "monitorTranscriptionSocketConnection",
@@ -3719,10 +3716,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3719
3716
  });
3720
3717
  }
3721
3718
 
3722
- /**
3723
- * Request for a WebSocket Url, open and monitor the WebSocket connection
3724
- * @private
3725
- * @returns {Promise<void>} a promise to open the WebSocket connection
3719
+ /**
3720
+ * Request for a WebSocket Url, open and monitor the WebSocket connection
3721
+ * @private
3722
+ * @returns {Promise<void>} a promise to open the WebSocket connection
3726
3723
  */
3727
3724
  }, {
3728
3725
  key: "receiveTranscription",
@@ -3785,10 +3782,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3785
3782
  }
3786
3783
  return receiveTranscription;
3787
3784
  }()
3788
- /**
3789
- * stop recieving Transcription by closing
3790
- * the web socket connection properly
3791
- * @returns {void}
3785
+ /**
3786
+ * stop recieving Transcription by closing
3787
+ * the web socket connection properly
3788
+ * @returns {void}
3792
3789
  */
3793
3790
  }, {
3794
3791
  key: "stopReceivingTranscription",
@@ -3798,11 +3795,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3798
3795
  }
3799
3796
  }
3800
3797
 
3801
- /**
3802
- * triggers an event to notify that the user
3803
- * will not receive any more transcription
3804
- * @private
3805
- * @returns{void}
3798
+ /**
3799
+ * triggers an event to notify that the user
3800
+ * will not receive any more transcription
3801
+ * @private
3802
+ * @returns{void}
3806
3803
  */
3807
3804
  }, {
3808
3805
  key: "triggerStopReceivingTranscriptionEvent",
@@ -3814,17 +3811,17 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3814
3811
  }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_RECEIVING_TRANSCRIPTION);
3815
3812
  }
3816
3813
 
3817
- /**
3818
- * Specify joining via audio (option: pstn), video, screenshare
3819
- * @param {JoinOptions} options A configurable options object for joining a meeting
3820
- * @returns {Promise} the join response
3821
- * @public
3822
- * @memberof Meeting
3823
- * Scenario A: Joining own claimed personal meeting room
3824
- * Scenario B: Joining other's claimed personal meeting room, do pass pin (if desired to join as host, or nullify), do pass moderator
3825
- * Scenario C: Joining an unclaimed personal meeting room, -do not- pass pin or moderator on first try, -do- pass pin and moderator
3826
- * if joining as host on second loop, pass pin and pass moderator if joining as guest on second loop
3827
- * Scenario D: Joining any other way (sip, pstn, conversationUrl, link just need to specify resourceId)
3814
+ /**
3815
+ * Specify joining via audio (option: pstn), video, screenshare
3816
+ * @param {JoinOptions} options A configurable options object for joining a meeting
3817
+ * @returns {Promise} the join response
3818
+ * @public
3819
+ * @memberof Meeting
3820
+ * Scenario A: Joining own claimed personal meeting room
3821
+ * Scenario B: Joining other's claimed personal meeting room, do pass pin (if desired to join as host, or nullify), do pass moderator
3822
+ * Scenario C: Joining an unclaimed personal meeting room, -do not- pass pin or moderator on first try, -do- pass pin and moderator
3823
+ * if joining as host on second loop, pass pin and pass moderator if joining as guest on second loop
3824
+ * Scenario D: Joining any other way (sip, pstn, conversationUrl, link just need to specify resourceId)
3828
3825
  */
3829
3826
  }, {
3830
3827
  key: "join",
@@ -3994,12 +3991,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3994
3991
  });
3995
3992
  }
3996
3993
 
3997
- /**
3998
- * Use phone for meeting audio
3999
- * @param {String} phoneNumber If provided, it will dial-out using this number. If not provided, dial-in will be used
4000
- * @returns {Promise} Resolves once the dial-in or dial-out request has completed, or rejects if it failed
4001
- * @public
4002
- * @memberof Meeting
3994
+ /**
3995
+ * Use phone for meeting audio
3996
+ * @param {String} phoneNumber If provided, it will dial-out using this number. If not provided, dial-in will be used
3997
+ * @returns {Promise} Resolves once the dial-in or dial-out request has completed, or rejects if it failed
3998
+ * @public
3999
+ * @memberof Meeting
4003
4000
  */
4004
4001
  }, {
4005
4002
  key: "usePhoneAudio",
@@ -4010,12 +4007,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4010
4007
  return this.dialOutPstn(phoneNumber);
4011
4008
  }
4012
4009
 
4013
- /**
4014
- * Determines if the given pstnStatus is in a state which implies the phone is provisioned
4015
- * @param {String} pstnStatus
4016
- * @returns {Boolean}
4017
- * @private
4018
- * @memberof Meeting
4010
+ /**
4011
+ * Determines if the given pstnStatus is in a state which implies the phone is provisioned
4012
+ * @param {String} pstnStatus
4013
+ * @returns {Boolean}
4014
+ * @private
4015
+ * @memberof Meeting
4019
4016
  */
4020
4017
  }, {
4021
4018
  key: "isPhoneProvisioned",
@@ -4023,11 +4020,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4023
4020
  return [_constants.PSTN_STATUS.JOINED, _constants.PSTN_STATUS.CONNECTED, _constants.PSTN_STATUS.SUCCESS].includes(pstnStatus);
4024
4021
  }
4025
4022
 
4026
- /**
4027
- * Enable dial-in for audio
4028
- * @returns {Promise} Resolves once the dial-in request has completed, or rejects if it failed
4029
- * @private
4030
- * @memberof Meeting
4023
+ /**
4024
+ * Enable dial-in for audio
4025
+ * @returns {Promise} Resolves once the dial-in request has completed, or rejects if it failed
4026
+ * @private
4027
+ * @memberof Meeting
4031
4028
  */
4032
4029
  }, {
4033
4030
  key: "dialInPstn",
@@ -4061,12 +4058,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4061
4058
  });
4062
4059
  }
4063
4060
 
4064
- /**
4065
- * Enable dial-out for audio
4066
- * @param {String} phoneNumber Phone number to dial out to
4067
- * @returns {Promise} Resolves once the dial-out request has completed (it doesn't wait for the user to answer the phone), or rejects if it failed
4068
- * @private
4069
- * @memberof Meeting
4061
+ /**
4062
+ * Enable dial-out for audio
4063
+ * @param {String} phoneNumber Phone number to dial out to
4064
+ * @returns {Promise} Resolves once the dial-out request has completed (it doesn't wait for the user to answer the phone), or rejects if it failed
4065
+ * @private
4066
+ * @memberof Meeting
4070
4067
  */
4071
4068
  }, {
4072
4069
  key: "dialOutPstn",
@@ -4101,12 +4098,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4101
4098
  });
4102
4099
  }
4103
4100
 
4104
- /**
4105
- * Disconnect meeting audio via phone.
4106
- * @returns {Promise} Resolves once the phone audio disconnection has completed
4107
- * @public
4108
- * @memberof Meeting
4109
- * @returns {Promise}
4101
+ /**
4102
+ * Disconnect meeting audio via phone.
4103
+ * @returns {Promise} Resolves once the phone audio disconnection has completed
4104
+ * @public
4105
+ * @memberof Meeting
4106
+ * @returns {Promise}
4110
4107
  */
4111
4108
  }, {
4112
4109
  key: "disconnectPhoneAudio",
@@ -4114,12 +4111,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4114
4111
  return _promise.default.all([this.isPhoneProvisioned(this.dialInDeviceStatus) ? _util.default.disconnectPhoneAudio(this, this.dialInUrl) : _promise.default.resolve(), this.isPhoneProvisioned(this.dialOutDeviceStatus) ? _util.default.disconnectPhoneAudio(this, this.dialOutUrl) : _promise.default.resolve()]);
4115
4112
  }
4116
4113
 
4117
- /**
4118
- * Moves the call to the specified resourceId
4119
- * @param {String} resourceId
4120
- * @returns {Promise} once the move has been completed
4121
- * @public
4122
- * @memberof Meeting
4114
+ /**
4115
+ * Moves the call to the specified resourceId
4116
+ * @param {String} resourceId
4117
+ * @returns {Promise} once the move has been completed
4118
+ * @public
4119
+ * @memberof Meeting
4123
4120
  */
4124
4121
  }, {
4125
4122
  key: "moveTo",
@@ -4233,12 +4230,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4233
4230
  });
4234
4231
  }
4235
4232
 
4236
- /**
4237
- * Moves the call from the specified resourceId, back to computer
4238
- * @param {String} resourceId
4239
- * @returns {Promise} once the move has been completed
4240
- * @public
4241
- * @memberof Meeting
4233
+ /**
4234
+ * Moves the call from the specified resourceId, back to computer
4235
+ * @param {String} resourceId
4236
+ * @returns {Promise} once the move has been completed
4237
+ * @public
4238
+ * @memberof Meeting
4242
4239
  */
4243
4240
  }, {
4244
4241
  key: "moveFrom",
@@ -4277,16 +4274,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4277
4274
  }, {
4278
4275
  key: "addMedia",
4279
4276
  value:
4280
- /**
4281
- * Specify joining via audio (option: pstn), video, screenshare
4282
- * @param {Object} options A configurable options object for joining a meeting
4283
- * @param {Object} options.resourceId pass the deviceId
4284
- * @param {MediaDirection} options.mediaSettings pass media options
4285
- * @param {MediaStream} options.localStream
4286
- * @param {MediaStream} options.localShare
4287
- * @returns {Promise}
4288
- * @public
4289
- * @memberof Meeting
4277
+ /**
4278
+ * Specify joining via audio (option: pstn), video, screenshare
4279
+ * @param {Object} options A configurable options object for joining a meeting
4280
+ * @param {Object} options.resourceId pass the deviceId
4281
+ * @param {MediaDirection} options.mediaSettings pass media options
4282
+ * @param {MediaStream} options.localStream
4283
+ * @param {MediaStream} options.localShare
4284
+ * @returns {Promise}
4285
+ * @public
4286
+ * @memberof Meeting
4290
4287
  */
4291
4288
  function addMedia() {
4292
4289
  var _this39 = this;
@@ -4466,9 +4463,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4466
4463
  });
4467
4464
  }
4468
4465
 
4469
- /**
4470
- * Informs if the peer connection is in a state that can be updated with updateMedia (audio/video/share)
4471
- * @returns {Boolean}
4466
+ /**
4467
+ * Informs if the peer connection is in a state that can be updated with updateMedia (audio/video/share)
4468
+ * @returns {Boolean}
4472
4469
  */
4473
4470
  }, {
4474
4471
  key: "canUpdateMedia",
@@ -4476,13 +4473,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4476
4473
  return this.mediaProperties.peerConnection.signalingState === _constants.SDP.STABLE && !_collection.default.isBusy(this.correlationId);
4477
4474
  }
4478
4475
 
4479
- /**
4480
- * Enqueues a media update operation.
4481
- * @param {String} mediaUpdateType one of MEDIA_UPDATE_TYPE values
4482
- * @param {Object} options
4483
- * @returns {Promise}
4484
- * @private
4485
- * @memberof Meeting
4476
+ /**
4477
+ * Enqueues a media update operation.
4478
+ * @param {String} mediaUpdateType one of MEDIA_UPDATE_TYPE values
4479
+ * @param {Object} options
4480
+ * @returns {Promise}
4481
+ * @private
4482
+ * @memberof Meeting
4486
4483
  */
4487
4484
  }, {
4488
4485
  key: "enqueueMediaUpdate",
@@ -4502,17 +4499,17 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4502
4499
  }, {
4503
4500
  key: "updateMedia",
4504
4501
  value:
4505
- /**
4506
- * A confluence of updateAudio, updateVideo, and updateShare
4507
- * this function re-establishes all of the media streams with new options
4508
- * @param {Object} options
4509
- * @param {MediaStream} options.localStream
4510
- * @param {MediaStream} options.localShare
4511
- * @param {MediaDirection} options.mediaSettings
4512
- * @returns {Promise}
4513
- * @todo fix setRemoteStream for updateMedia
4514
- * @public
4515
- * @memberof Meeting
4502
+ /**
4503
+ * A confluence of updateAudio, updateVideo, and updateShare
4504
+ * this function re-establishes all of the media streams with new options
4505
+ * @param {Object} options
4506
+ * @param {MediaStream} options.localStream
4507
+ * @param {MediaStream} options.localShare
4508
+ * @param {MediaDirection} options.mediaSettings
4509
+ * @returns {Promise}
4510
+ * @todo fix setRemoteStream for updateMedia
4511
+ * @public
4512
+ * @memberof Meeting
4516
4513
  */
4517
4514
  function updateMedia() {
4518
4515
  var _this41 = this;
@@ -4574,15 +4571,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4574
4571
  });
4575
4572
  }
4576
4573
 
4577
- /**
4578
- * Update the main audio track with new parameters
4579
- * @param {Object} options
4580
- * @param {boolean} options.sendAudio
4581
- * @param {boolean} options.receiveAudio
4582
- * @param {MediaStream} options.stream Stream that contains the audio track to update
4583
- * @returns {Promise}
4584
- * @public
4585
- * @memberof Meeting
4574
+ /**
4575
+ * Update the main audio track with new parameters
4576
+ * @param {Object} options
4577
+ * @param {boolean} options.sendAudio
4578
+ * @param {boolean} options.receiveAudio
4579
+ * @param {MediaStream} options.stream Stream that contains the audio track to update
4580
+ * @returns {Promise}
4581
+ * @public
4582
+ * @memberof Meeting
4586
4583
  */
4587
4584
  }, {
4588
4585
  key: "updateAudio",
@@ -4669,15 +4666,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4669
4666
  }
4670
4667
  return updateAudio;
4671
4668
  }()
4672
- /**
4673
- * Update the main video track with new parameters
4674
- * @param {Object} options
4675
- * @param {boolean} options.sendVideo
4676
- * @param {boolean} options.receiveVideo
4677
- * @param {MediaStream} options.stream Stream that contains the video track to update
4678
- * @returns {Promise}
4679
- * @public
4680
- * @memberof Meeting
4669
+ /**
4670
+ * Update the main video track with new parameters
4671
+ * @param {Object} options
4672
+ * @param {boolean} options.sendVideo
4673
+ * @param {boolean} options.receiveVideo
4674
+ * @param {MediaStream} options.stream Stream that contains the video track to update
4675
+ * @returns {Promise}
4676
+ * @public
4677
+ * @memberof Meeting
4681
4678
  */
4682
4679
  }, {
4683
4680
  key: "updateVideo",
@@ -4724,13 +4721,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4724
4721
  });
4725
4722
  }
4726
4723
 
4727
- /**
4728
- * Internal function when stopping a share stream, cleanup
4729
- * @param {boolean} sendShare
4730
- * @param {boolean} previousShareStatus
4731
- * @returns {Promise}
4732
- * @private
4733
- * @memberof Meeting
4724
+ /**
4725
+ * Internal function when stopping a share stream, cleanup
4726
+ * @param {boolean} sendShare
4727
+ * @param {boolean} previousShareStatus
4728
+ * @returns {Promise}
4729
+ * @private
4730
+ * @memberof Meeting
4734
4731
  */
4735
4732
  }, {
4736
4733
  key: "checkForStopShare",
@@ -4748,14 +4745,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4748
4745
  return _promise.default.resolve();
4749
4746
  }
4750
4747
 
4751
- /**
4752
- * Update the share streams, can be used to start sharing
4753
- * @param {Object} options
4754
- * @param {boolean} options.sendShare
4755
- * @param {boolean} options.receiveShare
4756
- * @returns {Promise}
4757
- * @public
4758
- * @memberof Meeting
4748
+ /**
4749
+ * Update the share streams, can be used to start sharing
4750
+ * @param {Object} options
4751
+ * @param {boolean} options.sendShare
4752
+ * @param {boolean} options.receiveShare
4753
+ * @returns {Promise}
4754
+ * @public
4755
+ * @memberof Meeting
4759
4756
  */
4760
4757
  }, {
4761
4758
  key: "updateShare",
@@ -4823,14 +4820,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4823
4820
  });
4824
4821
  }
4825
4822
 
4826
- /**
4827
- * Do all the attach media pre set up before executing the actual attach
4828
- * @param {MediaStream} localStream
4829
- * @param {MediaStream} localShare
4830
- * @param {MediaDirection} mediaSettings
4831
- * @returns {undefined}
4832
- * @private
4833
- * @memberof Meeting
4823
+ /**
4824
+ * Do all the attach media pre set up before executing the actual attach
4825
+ * @param {MediaStream} localStream
4826
+ * @param {MediaStream} localShare
4827
+ * @param {MediaDirection} mediaSettings
4828
+ * @returns {undefined}
4829
+ * @private
4830
+ * @memberof Meeting
4834
4831
  */
4835
4832
  }, {
4836
4833
  key: "preMedia",
@@ -4848,12 +4845,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4848
4845
  this.setLocalShareTrack(localShare);
4849
4846
  }
4850
4847
 
4851
- /**
4852
- * Acknowledge the meeting, outgoing or incoming
4853
- * @param {String} type
4854
- * @returns {Promise} resolve {message, ringing, response}
4855
- * @public
4856
- * @memberof Meeting
4848
+ /**
4849
+ * Acknowledge the meeting, outgoing or incoming
4850
+ * @param {String} type
4851
+ * @returns {Promise} resolve {message, ringing, response}
4852
+ * @public
4853
+ * @memberof Meeting
4857
4854
  */
4858
4855
  }, {
4859
4856
  key: "acknowledge",
@@ -4887,12 +4884,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4887
4884
  });
4888
4885
  }
4889
4886
 
4890
- /**
4891
- * Decline this meeting
4892
- * @param {String} reason
4893
- * @returns {undefined}
4894
- * @public
4895
- * @memberof Meeting
4887
+ /**
4888
+ * Decline this meeting
4889
+ * @param {String} reason
4890
+ * @returns {undefined}
4891
+ * @public
4892
+ * @memberof Meeting
4896
4893
  */
4897
4894
  }, {
4898
4895
  key: "decline",
@@ -4907,13 +4904,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4907
4904
  });
4908
4905
  }
4909
4906
 
4910
- /**
4911
- * Leave the current meeting
4912
- * @param {Object} options leave options
4913
- * @param {String} options.resourceId the device with which to leave from, empty if just the computer
4914
- * @returns {Promise}
4915
- * @public
4916
- * @memberof Meeting
4907
+ /**
4908
+ * Leave the current meeting
4909
+ * @param {Object} options leave options
4910
+ * @param {String} options.resourceId the device with which to leave from, empty if just the computer
4911
+ * @returns {Promise}
4912
+ * @public
4913
+ * @memberof Meeting
4917
4914
  */
4918
4915
  }, {
4919
4916
  key: "leave",
@@ -4972,13 +4969,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4972
4969
  });
4973
4970
  }
4974
4971
 
4975
- /**
4976
- * Start sharing whiteboard given channelUrl
4977
- * @param {string} channelUrl whiteboard url
4978
- * @param {String} resourceToken token created by authorize media injector
4979
- * @returns {Promise}
4980
- * @public
4981
- * @memberof Meeting
4972
+ /**
4973
+ * Start sharing whiteboard given channelUrl
4974
+ * @param {string} channelUrl whiteboard url
4975
+ * @param {String} resourceToken token created by authorize media injector
4976
+ * @returns {Promise}
4977
+ * @public
4978
+ * @memberof Meeting
4982
4979
  */
4983
4980
  }, {
4984
4981
  key: "startWhiteboardShare",
@@ -5025,12 +5022,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5025
5022
  return _promise.default.reject(new _parameter.default('Cannot share without whiteboard.'));
5026
5023
  }
5027
5024
 
5028
- /**
5029
- * Stop sharing whiteboard given channelUrl
5030
- * @param {string} channelUrl whiteboard url
5031
- * @returns {Promise}
5032
- * @public
5033
- * @memberof Meeting
5025
+ /**
5026
+ * Stop sharing whiteboard given channelUrl
5027
+ * @param {string} channelUrl whiteboard url
5028
+ * @returns {Promise}
5029
+ * @public
5030
+ * @memberof Meeting
5034
5031
  */
5035
5032
  }, {
5036
5033
  key: "stopWhiteboardShare",
@@ -5068,11 +5065,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5068
5065
  return _promise.default.reject(new _parameter.default('Cannot stop share without whiteboard.'));
5069
5066
  }
5070
5067
 
5071
- /**
5072
- * Sends a request to Locus to obtain the screen share floor
5073
- * @returns {Promise} see #meetingRequest.changeMeetingFloor
5074
- * @private
5075
- * @memberof Meeting
5068
+ /**
5069
+ * Sends a request to Locus to obtain the screen share floor
5070
+ * @returns {Promise} see #meetingRequest.changeMeetingFloor
5071
+ * @private
5072
+ * @memberof Meeting
5076
5073
  */
5077
5074
  }, {
5078
5075
  key: "requestScreenShareFloor",
@@ -5109,11 +5106,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5109
5106
  return _promise.default.reject(new _parameter.default('Cannot share without content.'));
5110
5107
  }
5111
5108
 
5112
- /**
5113
- * Stops the screen share
5114
- * @returns {Promise} see #updateShare
5115
- * @public
5116
- * @memberof Meeting
5109
+ /**
5110
+ * Stops the screen share
5111
+ * @returns {Promise} see #updateShare
5112
+ * @public
5113
+ * @memberof Meeting
5117
5114
  */
5118
5115
  // Internal only, temporarily allows optional params
5119
5116
  // eslint-disable-next-line valid-jsdoc
@@ -5127,11 +5124,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5127
5124
  }, options));
5128
5125
  }
5129
5126
 
5130
- /**
5131
- * Sends a request to Locus to release the screen share floor.
5132
- * @returns {Promise} see #meetingRequest.changeMeetingFloor
5133
- * @private
5134
- * @memberof Meeting
5127
+ /**
5128
+ * Sends a request to Locus to release the screen share floor.
5129
+ * @returns {Promise} see #meetingRequest.changeMeetingFloor
5130
+ * @private
5131
+ * @memberof Meeting
5135
5132
  */
5136
5133
  }, {
5137
5134
  key: "releaseScreenShareFloor",
@@ -5173,11 +5170,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5173
5170
  return _promise.default.reject(new _parameter.default('Cannot stop share without content'));
5174
5171
  }
5175
5172
 
5176
- /**
5177
- * Intiate a recording of this meeting
5178
- * @returns {Promise}
5179
- * @public
5180
- * @memberof Meeting
5173
+ /**
5174
+ * Intiate a recording of this meeting
5175
+ * @returns {Promise}
5176
+ * @public
5177
+ * @memberof Meeting
5181
5178
  */
5182
5179
  }, {
5183
5180
  key: "startRecording",
@@ -5185,12 +5182,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5185
5182
  return this.recordingController.startRecording();
5186
5183
  }
5187
5184
 
5188
- /**
5189
- * set the mute on entry flag for participants if you're the host
5190
- * @returns {Promise}
5191
- * @param {boolean} enabled
5192
- * @public
5193
- * @memberof Meeting
5185
+ /**
5186
+ * set the mute on entry flag for participants if you're the host
5187
+ * @returns {Promise}
5188
+ * @param {boolean} enabled
5189
+ * @public
5190
+ * @memberof Meeting
5194
5191
  */
5195
5192
  }, {
5196
5193
  key: "setMuteOnEntry",
@@ -5198,12 +5195,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5198
5195
  return this.controlsOptionsManager.setMuteOnEntry(enabled);
5199
5196
  }
5200
5197
 
5201
- /**
5202
- * set the disallow unmute flag for participants if you're the host
5203
- * @returns {Promise}
5204
- * @param {boolean} enabled
5205
- * @public
5206
- * @memberof Meeting
5198
+ /**
5199
+ * set the disallow unmute flag for participants if you're the host
5200
+ * @returns {Promise}
5201
+ * @param {boolean} enabled
5202
+ * @public
5203
+ * @memberof Meeting
5207
5204
  */
5208
5205
  }, {
5209
5206
  key: "setDisallowUnmute",
@@ -5211,11 +5208,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5211
5208
  return this.controlsOptionsManager.setDisallowUnmute(enabled);
5212
5209
  }
5213
5210
 
5214
- /**
5215
- * End the recording of this meeting
5216
- * @returns {Promise}
5217
- * @public
5218
- * @memberof Meeting
5211
+ /**
5212
+ * End the recording of this meeting
5213
+ * @returns {Promise}
5214
+ * @public
5215
+ * @memberof Meeting
5219
5216
  */
5220
5217
  }, {
5221
5218
  key: "stopRecording",
@@ -5223,11 +5220,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5223
5220
  return this.recordingController.stopRecording();
5224
5221
  }
5225
5222
 
5226
- /**
5227
- * Pauses the recording of this meeting
5228
- * @returns {Promise}
5229
- * @public
5230
- * @memberof Meeting
5223
+ /**
5224
+ * Pauses the recording of this meeting
5225
+ * @returns {Promise}
5226
+ * @public
5227
+ * @memberof Meeting
5231
5228
  */
5232
5229
  }, {
5233
5230
  key: "pauseRecording",
@@ -5235,11 +5232,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5235
5232
  return this.recordingController.pauseRecording();
5236
5233
  }
5237
5234
 
5238
- /**
5239
- * Resumes the recording of this meeting
5240
- * @returns {Promise}
5241
- * @public
5242
- * @memberof Meeting
5235
+ /**
5236
+ * Resumes the recording of this meeting
5237
+ * @returns {Promise}
5238
+ * @public
5239
+ * @memberof Meeting
5243
5240
  */
5244
5241
  }, {
5245
5242
  key: "resumeRecording",
@@ -5247,11 +5244,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5247
5244
  return this.recordingController.resumeRecording();
5248
5245
  }
5249
5246
 
5250
- /**
5251
- * Locks the current meeting if possible
5252
- * @returns {Promise}
5253
- * @public
5254
- * @memberof Meeting
5247
+ /**
5248
+ * Locks the current meeting if possible
5249
+ * @returns {Promise}
5250
+ * @public
5251
+ * @memberof Meeting
5255
5252
  */
5256
5253
  }, {
5257
5254
  key: "lockMeeting",
@@ -5259,11 +5256,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5259
5256
  return _util.default.lockMeeting(this.inMeetingActions, this.meetingRequest, this.locusUrl);
5260
5257
  }
5261
5258
 
5262
- /**
5263
- * Unlocks the current meeting if possible
5264
- * @returns {Promise}
5265
- * @public
5266
- * @memberof Meeting
5259
+ /**
5260
+ * Unlocks the current meeting if possible
5261
+ * @returns {Promise}
5262
+ * @public
5263
+ * @memberof Meeting
5267
5264
  */
5268
5265
  }, {
5269
5266
  key: "unlockMeeting",
@@ -5271,12 +5268,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5271
5268
  return _util.default.unlockMeeting(this.inMeetingActions, this.meetingRequest, this.locusUrl);
5272
5269
  }
5273
5270
 
5274
- /**
5275
- * Logs an error message and returns a rejected promise with same message
5276
- * @param {String} message
5277
- * @returns {Promise}
5278
- * @private
5279
- * @memberof Meeting
5271
+ /**
5272
+ * Logs an error message and returns a rejected promise with same message
5273
+ * @param {String} message
5274
+ * @returns {Promise}
5275
+ * @private
5276
+ * @memberof Meeting
5280
5277
  */
5281
5278
  }, {
5282
5279
  key: "rejectWithErrorLog",
@@ -5285,12 +5282,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5285
5282
  return _promise.default.reject(new Error(message));
5286
5283
  }
5287
5284
 
5288
- /**
5289
- * Sends DTMF tones to the current meeting
5290
- * @param {String} tones a string of one or more DTMF tones to send
5291
- * @returns {Promise}
5292
- * @public
5293
- * @memberof Meeting
5285
+ /**
5286
+ * Sends DTMF tones to the current meeting
5287
+ * @param {String} tones a string of one or more DTMF tones to send
5288
+ * @returns {Promise}
5289
+ * @public
5290
+ * @memberof Meeting
5294
5291
  */
5295
5292
  }, {
5296
5293
  key: "sendDTMF",
@@ -5308,19 +5305,19 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5308
5305
  return this.rejectWithErrorLog('Meeting:index#sendDTMF --> cannot send DTMF, meeting does not have a connection to the "locus" call control service. Have you joined?');
5309
5306
  }
5310
5307
 
5311
- /**
5312
- * Sends request to change layout type for the current meeting for the specific participant/device only
5313
- * @param {String} [layoutType] a layout type that should be available in meeting constants {@link #layout_types}
5314
- * @param {Object} renderInfo preferred dimensions for the remote main and content streams (server can ignore it)
5315
- * @param {Object} renderInfo.main preferred dimensions for the remote main video stream
5316
- * @param {Number} renderInfo.main.width preferred width of main video stream
5317
- * @param {Number} renderInfo.main.height preferred height of main video stream
5318
- * @param {Object} renderInfo.content preferred dimensions for the remote content share stream
5319
- * @param {Number} renderInfo.content.width preferred width of content share stream
5320
- * @param {Number} renderInfo.content.height preferred height of content share stream
5321
- * @returns {Promise}
5322
- * @public
5323
- * @memberof Meeting
5308
+ /**
5309
+ * Sends request to change layout type for the current meeting for the specific participant/device only
5310
+ * @param {String} [layoutType] a layout type that should be available in meeting constants {@link #layout_types}
5311
+ * @param {Object} renderInfo preferred dimensions for the remote main and content streams (server can ignore it)
5312
+ * @param {Object} renderInfo.main preferred dimensions for the remote main video stream
5313
+ * @param {Number} renderInfo.main.width preferred width of main video stream
5314
+ * @param {Number} renderInfo.main.height preferred height of main video stream
5315
+ * @param {Object} renderInfo.content preferred dimensions for the remote content share stream
5316
+ * @param {Number} renderInfo.content.width preferred width of content share stream
5317
+ * @param {Number} renderInfo.content.height preferred height of content share stream
5318
+ * @returns {Promise}
5319
+ * @public
5320
+ * @memberof Meeting
5324
5321
  */
5325
5322
  }, {
5326
5323
  key: "changeVideoLayout",
@@ -5333,7 +5330,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5333
5330
  mediaDirection = _this$mediaProperties3.mediaDirection,
5334
5331
  remoteShare = _this$mediaProperties3.remoteShare,
5335
5332
  remoteVideoTrack = _this$mediaProperties3.remoteVideoTrack;
5336
- var layoutInfo = (0, _cloneDeep2.default)(this.lastVideoLayoutInfo);
5333
+ var layoutInfo = (0, _lodash.cloneDeep)(this.lastVideoLayoutInfo);
5337
5334
 
5338
5335
  // TODO: We need a real time value for Audio, Video and Share send indicator
5339
5336
  if (mediaDirection.receiveVideo !== true || !remoteVideoTrack) {
@@ -5373,11 +5370,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5373
5370
  return this.rejectWithErrorLog('Meeting:index#changeVideoLayout --> unable to send renderInfo for content, you are not receiving remote share');
5374
5371
  }
5375
5372
  }
5376
- if ((0, _isEqual2.default)(layoutInfo, this.lastVideoLayoutInfo)) {
5373
+ if ((0, _lodash.isEqual)(layoutInfo, this.lastVideoLayoutInfo)) {
5377
5374
  // nothing changed, no need to send any request
5378
5375
  return _promise.default.resolve();
5379
5376
  }
5380
- this.lastVideoLayoutInfo = (0, _cloneDeep2.default)(layoutInfo);
5377
+ this.lastVideoLayoutInfo = (0, _lodash.cloneDeep)(layoutInfo);
5381
5378
  this.locusInfo.once(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_LAYOUT_UPDATED, function (envelope) {
5382
5379
  _triggerProxy.default.trigger(_this52, {
5383
5380
  file: 'meeting/index',
@@ -5402,10 +5399,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5402
5399
  });
5403
5400
  }
5404
5401
 
5405
- /**
5406
- * Sets the quality of the local video stream
5407
- * @param {String} level {LOW|MEDIUM|HIGH}
5408
- * @returns {Promise<MediaStream>} localStream
5402
+ /**
5403
+ * Sets the quality of the local video stream
5404
+ * @param {String} level {LOW|MEDIUM|HIGH}
5405
+ * @returns {Promise<MediaStream>} localStream
5409
5406
  */
5410
5407
  }, {
5411
5408
  key: "setLocalVideoQuality",
@@ -5465,10 +5462,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5465
5462
  }());
5466
5463
  }
5467
5464
 
5468
- /**
5469
- * Sets the quality level of the remote incoming media
5470
- * @param {String} level {LOW|MEDIUM|HIGH}
5471
- * @returns {Promise}
5465
+ /**
5466
+ * Sets the quality level of the remote incoming media
5467
+ * @param {String} level {LOW|MEDIUM|HIGH}
5468
+ * @returns {Promise}
5472
5469
  */
5473
5470
  }, {
5474
5471
  key: "setRemoteQualityLevel",
@@ -5494,11 +5491,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5494
5491
  });
5495
5492
  }
5496
5493
 
5497
- /**
5498
- * This is deprecated, please use setLocalVideoQuality for setting local and setRemoteQualityLevel for remote
5499
- * @param {String} level {LOW|MEDIUM|HIGH}
5500
- * @returns {Promise}
5501
- * @deprecated After FHD support
5494
+ /**
5495
+ * This is deprecated, please use setLocalVideoQuality for setting local and setRemoteQualityLevel for remote
5496
+ * @param {String} level {LOW|MEDIUM|HIGH}
5497
+ * @returns {Promise}
5498
+ * @deprecated After FHD support
5502
5499
  */
5503
5500
  }, {
5504
5501
  key: "setMeetingQuality",
@@ -5543,15 +5540,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5543
5540
  });
5544
5541
  }
5545
5542
 
5546
- /**
5547
- * @param {Object} options parameter
5548
- * @param {Boolean} options.sendAudio send audio from the display share
5549
- * @param {Boolean} options.sendShare send video from the display share
5550
- * @param {Object} options.sharePreferences
5551
- * @param {MediaTrackConstraints} options.sharePreferences.shareConstraints constraints to apply to video
5552
- * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints}
5553
- * @param {Boolean} options.sharePreferences.highFrameRate if shareConstraints isn't provided, set default values based off of this boolean
5554
- * @returns {Promise}
5543
+ /**
5544
+ * @param {Object} options parameter
5545
+ * @param {Boolean} options.sendAudio send audio from the display share
5546
+ * @param {Boolean} options.sendShare send video from the display share
5547
+ * @param {Object} options.sharePreferences
5548
+ * @param {MediaTrackConstraints} options.sharePreferences.shareConstraints constraints to apply to video
5549
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints}
5550
+ * @param {Boolean} options.sharePreferences.highFrameRate if shareConstraints isn't provided, set default values based off of this boolean
5551
+ * @returns {Promise}
5555
5552
  */
5556
5553
  }, {
5557
5554
  key: "shareScreen",
@@ -5594,12 +5591,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5594
5591
  });
5595
5592
  }
5596
5593
 
5597
- /**
5598
- * Functionality for when a share is ended.
5599
- * @private
5600
- * @memberof Meeting
5601
- * @param {MediaStream} localShare
5602
- * @returns {undefined}
5594
+ /**
5595
+ * Functionality for when a share is ended.
5596
+ * @private
5597
+ * @memberof Meeting
5598
+ * @param {MediaStream} localShare
5599
+ * @returns {undefined}
5603
5600
  */
5604
5601
  }, {
5605
5602
  key: "handleShareTrackEnded",
@@ -5626,16 +5623,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5626
5623
  });
5627
5624
  }
5628
5625
 
5629
- /**
5630
- * Emits the 'network:quality' event
5631
- * 1 indicates an acceptable uplink network.
5632
- * 0 indicates an unacceptable uplink network based on a predefined threshold
5633
- * @returns {undefined}
5634
- * @param {Object} res - payload of emitNetworkQuality
5635
- * @property {string} mediaType {video|audio}
5636
- * @property {number} networkQualityScore - {1|0}
5637
- * @private
5638
- * @memberof Meeting
5626
+ /**
5627
+ * Emits the 'network:quality' event
5628
+ * 1 indicates an acceptable uplink network.
5629
+ * 0 indicates an unacceptable uplink network based on a predefined threshold
5630
+ * @returns {undefined}
5631
+ * @param {Object} res - payload of emitNetworkQuality
5632
+ * @property {string} mediaType {video|audio}
5633
+ * @property {number} networkQualityScore - {1|0}
5634
+ * @private
5635
+ * @memberof Meeting
5639
5636
  */
5640
5637
  }, {
5641
5638
  key: "sendNetworkQualityEvent",
@@ -5649,12 +5646,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5649
5646
  });
5650
5647
  }
5651
5648
 
5652
- /**
5653
- * Handle logging the media
5654
- * @param {Object} audioTrack The audio track
5655
- * @param {Object} videoTrack The video track
5656
- * @private
5657
- * @returns {undefined}
5649
+ /**
5650
+ * Handle logging the media
5651
+ * @param {Object} audioTrack The audio track
5652
+ * @param {Object} videoTrack The video track
5653
+ * @private
5654
+ * @returns {undefined}
5658
5655
  */
5659
5656
  }, {
5660
5657
  key: "handleMediaLogging",
@@ -5665,9 +5662,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5665
5662
  _util.default.handleAudioLogging(audioTrack);
5666
5663
  }
5667
5664
 
5668
- /**
5669
- * @param {string} typeMedia 'audio' or 'video'
5670
- * @returns {undefined}
5665
+ /**
5666
+ * @param {string} typeMedia 'audio' or 'video'
5667
+ * @returns {undefined}
5671
5668
  */
5672
5669
  }, {
5673
5670
  key: "setStartSetupDelay",
@@ -5676,9 +5673,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5676
5673
  this["endSetupDelay".concat(typeMedia)] = undefined;
5677
5674
  }
5678
5675
 
5679
- /**
5680
- * @param {string} typeMedia 'audio' or 'video'
5681
- * @returns {undefined}
5676
+ /**
5677
+ * @param {string} typeMedia 'audio' or 'video'
5678
+ * @returns {undefined}
5682
5679
  */
5683
5680
  }, {
5684
5681
  key: "setEndSetupDelay",
@@ -5686,9 +5683,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5686
5683
  this["endSetupDelay".concat(typeMedia)] = performance.now();
5687
5684
  }
5688
5685
 
5689
- /**
5690
- * @param {string} typeMedia 'audio' or 'video'
5691
- * @returns {string} duration between start and end of setup
5686
+ /**
5687
+ * @param {string} typeMedia 'audio' or 'video'
5688
+ * @returns {string} duration between start and end of setup
5692
5689
  */
5693
5690
  }, {
5694
5691
  key: "getSetupDelayDuration",
@@ -5698,9 +5695,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5698
5695
  return start && end ? end - start : undefined;
5699
5696
  }
5700
5697
 
5701
- /**
5702
- * @param {string} typeMedia 'audio' or 'video'
5703
- * @returns {undefined}
5698
+ /**
5699
+ * @param {string} typeMedia 'audio' or 'video'
5700
+ * @returns {undefined}
5704
5701
  */
5705
5702
  }, {
5706
5703
  key: "setStartSendingMediaDelay",
@@ -5709,9 +5706,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5709
5706
  this["endSendingMediaDelay".concat(typeMedia)] = undefined;
5710
5707
  }
5711
5708
 
5712
- /**
5713
- * @param {string} typeMedia 'audio' or 'video'
5714
- * @returns {undefined}
5709
+ /**
5710
+ * @param {string} typeMedia 'audio' or 'video'
5711
+ * @returns {undefined}
5715
5712
  */
5716
5713
  }, {
5717
5714
  key: "setEndSendingMediaDelay",
@@ -5719,9 +5716,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5719
5716
  this["endSendingMediaDelay".concat(typeMedia)] = performance.now();
5720
5717
  }
5721
5718
 
5722
- /**
5723
- * @param {string} typeMedia 'audio' or 'video'
5724
- * @returns {string} duration between join response and first media tx
5719
+ /**
5720
+ * @param {string} typeMedia 'audio' or 'video'
5721
+ * @returns {string} duration between join response and first media tx
5725
5722
  */
5726
5723
  }, {
5727
5724
  key: "getSendingMediaDelayDuration",
@@ -5731,9 +5728,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5731
5728
  return start && end ? end - start : undefined;
5732
5729
  }
5733
5730
 
5734
- /**
5735
- *
5736
- * @returns {undefined}
5731
+ /**
5732
+ *
5733
+ * @returns {undefined}
5737
5734
  */
5738
5735
  }, {
5739
5736
  key: "setStartLocalSDPGenRemoteSDPRecvDelay",
@@ -5744,9 +5741,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5744
5741
  }
5745
5742
  }
5746
5743
 
5747
- /**
5748
- *
5749
- * @returns {undefined}
5744
+ /**
5745
+ *
5746
+ * @returns {undefined}
5750
5747
  */
5751
5748
  }, {
5752
5749
  key: "setEndLocalSDPGenRemoteSDPRecvDelay",
@@ -5756,9 +5753,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5756
5753
  }
5757
5754
  }
5758
5755
 
5759
- /**
5760
- *
5761
- * @returns {string} duration between local SDP generation and remote SDP reception
5756
+ /**
5757
+ *
5758
+ * @returns {string} duration between local SDP generation and remote SDP reception
5762
5759
  */
5763
5760
  }, {
5764
5761
  key: "getLocalSDPGenRemoteSDPRecvDelay",
@@ -5772,9 +5769,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5772
5769
  return undefined;
5773
5770
  }
5774
5771
 
5775
- /**
5776
- *
5777
- * @returns {undefined}
5772
+ /**
5773
+ *
5774
+ * @returns {undefined}
5778
5775
  */
5779
5776
  }, {
5780
5777
  key: "setStartCallInitiateJoinReq",
@@ -5783,9 +5780,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5783
5780
  this.endCallInitiateJoinReq = undefined;
5784
5781
  }
5785
5782
 
5786
- /**
5787
- *
5788
- * @returns {undefined}
5783
+ /**
5784
+ *
5785
+ * @returns {undefined}
5789
5786
  */
5790
5787
  }, {
5791
5788
  key: "setEndCallInitiateJoinReq",
@@ -5793,9 +5790,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5793
5790
  this.endCallInitiateJoinReq = performance.now();
5794
5791
  }
5795
5792
 
5796
- /**
5797
- *
5798
- * @returns {string} duration between call initiate and sending join request to locus
5793
+ /**
5794
+ *
5795
+ * @returns {string} duration between call initiate and sending join request to locus
5799
5796
  */
5800
5797
  }, {
5801
5798
  key: "getCallInitiateJoinReq",
@@ -5809,9 +5806,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5809
5806
  return undefined;
5810
5807
  }
5811
5808
 
5812
- /**
5813
- *
5814
- * @returns {undefined}
5809
+ /**
5810
+ *
5811
+ * @returns {undefined}
5815
5812
  */
5816
5813
  }, {
5817
5814
  key: "setStartJoinReqResp",
@@ -5820,9 +5817,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5820
5817
  this.endJoinReqResp = undefined;
5821
5818
  }
5822
5819
 
5823
- /**
5824
- *
5825
- * @returns {undefined}
5820
+ /**
5821
+ *
5822
+ * @returns {undefined}
5826
5823
  */
5827
5824
  }, {
5828
5825
  key: "setEndJoinReqResp",
@@ -5830,9 +5827,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5830
5827
  this.endJoinReqResp = performance.now();
5831
5828
  }
5832
5829
 
5833
- /**
5834
- *
5835
- * @returns {string} duration between sending locus join request and receiving join response
5830
+ /**
5831
+ *
5832
+ * @returns {string} duration between sending locus join request and receiving join response
5836
5833
  */
5837
5834
  }, {
5838
5835
  key: "getJoinReqResp",
@@ -5846,9 +5843,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5846
5843
  return undefined;
5847
5844
  }
5848
5845
 
5849
- /**
5850
- *
5851
- * @returns {string} duration between call initiate and successful locus join (even if it is in lobby)
5846
+ /**
5847
+ *
5848
+ * @returns {string} duration between call initiate and successful locus join (even if it is in lobby)
5852
5849
  */
5853
5850
  }, {
5854
5851
  key: "getTotalJmt",
@@ -5858,11 +5855,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5858
5855
  return start && end ? end - start : undefined;
5859
5856
  }
5860
5857
 
5861
- /**
5862
- * End the current meeting for all
5863
- * @returns {Promise}
5864
- * @public
5865
- * @memberof Meeting
5858
+ /**
5859
+ * End the current meeting for all
5860
+ * @returns {Promise}
5861
+ * @public
5862
+ * @memberof Meeting
5866
5863
  */
5867
5864
  }, {
5868
5865
  key: "endMeetingForAll",
@@ -5911,22 +5908,22 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5911
5908
  }, {
5912
5909
  key: "isBnrEnabled",
5913
5910
  value:
5914
- /**
5915
- * Internal API to return status of BNR
5916
- * @returns {Boolean}
5917
- * @public
5918
- * @memberof Meeting
5911
+ /**
5912
+ * Internal API to return status of BNR
5913
+ * @returns {Boolean}
5914
+ * @public
5915
+ * @memberof Meeting
5919
5916
  */
5920
5917
  function isBnrEnabled() {
5921
5918
  return this.effects && this.effects.isBnrEnabled();
5922
5919
  }
5923
5920
 
5924
- /**
5925
- * Internal API to obtain BNR enabled MediaStream
5926
- * @returns {Promise<MediaStreamTrack>}
5927
- * @private
5928
- * @param {MedaiStreamTrack} audioTrack from updateAudio
5929
- * @memberof Meeting
5921
+ /**
5922
+ * Internal API to obtain BNR enabled MediaStream
5923
+ * @returns {Promise<MediaStreamTrack>}
5924
+ * @private
5925
+ * @param {MedaiStreamTrack} audioTrack from updateAudio
5926
+ * @memberof Meeting
5930
5927
  */
5931
5928
  }, {
5932
5929
  key: "internal_enableBNR",
@@ -5960,11 +5957,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5960
5957
  }
5961
5958
  return internal_enableBNR;
5962
5959
  }()
5963
- /**
5964
- * Enable the audio track with BNR for a meeting
5965
- * @returns {Promise} resolves the data from enable bnr or rejects if there is no audio or audio is muted
5966
- * @public
5967
- * @memberof Meeting
5960
+ /**
5961
+ * Enable the audio track with BNR for a meeting
5962
+ * @returns {Promise} resolves the data from enable bnr or rejects if there is no audio or audio is muted
5963
+ * @public
5964
+ * @memberof Meeting
5968
5965
  */
5969
5966
  }, {
5970
5967
  key: "enableBNR",
@@ -5989,11 +5986,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5989
5986
  });
5990
5987
  }
5991
5988
 
5992
- /**
5993
- * Disable the BNR for an audio track
5994
- * @returns {Promise} resolves the data from disable bnr or rejects if there is no audio set
5995
- * @public
5996
- * @memberof Meeting
5989
+ /**
5990
+ * Disable the BNR for an audio track
5991
+ * @returns {Promise} resolves the data from disable bnr or rejects if there is no audio set
5992
+ * @public
5993
+ * @memberof Meeting
5997
5994
  */
5998
5995
  }, {
5999
5996
  key: "disableBNR",
@@ -6020,14 +6017,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
6020
6017
  }, {
6021
6018
  key: "sendReaction",
6022
6019
  value:
6023
- /**
6024
- * Send a reaction inside the meeting.
6025
- *
6026
- * @param {ReactionType} reactionType - type of reaction to be sent. Example: "thumbs_up"
6027
- * @param {SkinToneType} skinToneType - skin tone for the reaction. Example: "medium_dark"
6028
- * @returns {Promise}
6029
- * @public
6030
- * @memberof Meeting
6020
+ /**
6021
+ * Send a reaction inside the meeting.
6022
+ *
6023
+ * @param {ReactionType} reactionType - type of reaction to be sent. Example: "thumbs_up"
6024
+ * @param {SkinToneType} skinToneType - skin tone for the reaction. Example: "medium_dark"
6025
+ * @returns {Promise}
6026
+ * @public
6027
+ * @memberof Meeting
6031
6028
  */
6032
6029
  function sendReaction(reactionType, skinToneType) {
6033
6030
  var _this$locusInfo5, _this$locusInfo5$cont, _this$locusInfo5$cont2;