@webex/plugin-meetings 3.0.0-beta.3 → 3.0.0-beta.300

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 (601) hide show
  1. package/README.md +46 -8
  2. package/UPGRADING.md +9 -9
  3. package/browsers.js +19 -24
  4. package/dist/annotation/annotation.types.js +7 -0
  5. package/dist/annotation/annotation.types.js.map +1 -0
  6. package/dist/annotation/constants.js +49 -0
  7. package/dist/annotation/constants.js.map +1 -0
  8. package/dist/annotation/index.js +342 -0
  9. package/dist/annotation/index.js.map +1 -0
  10. package/dist/breakouts/breakout.js +216 -0
  11. package/dist/breakouts/breakout.js.map +1 -0
  12. package/dist/breakouts/collection.js +23 -0
  13. package/dist/breakouts/collection.js.map +1 -0
  14. package/dist/breakouts/edit-lock-error.js +52 -0
  15. package/dist/breakouts/edit-lock-error.js.map +1 -0
  16. package/dist/breakouts/events.js +45 -0
  17. package/dist/breakouts/events.js.map +1 -0
  18. package/dist/breakouts/index.js +1048 -0
  19. package/dist/breakouts/index.js.map +1 -0
  20. package/dist/breakouts/request.js +78 -0
  21. package/dist/breakouts/request.js.map +1 -0
  22. package/dist/breakouts/utils.js +67 -0
  23. package/dist/breakouts/utils.js.map +1 -0
  24. package/dist/common/browser-detection.js +1 -20
  25. package/dist/common/browser-detection.js.map +1 -1
  26. package/dist/common/collection.js +5 -20
  27. package/dist/common/collection.js.map +1 -1
  28. package/dist/common/config.js +0 -7
  29. package/dist/common/config.js.map +1 -1
  30. package/dist/common/errors/captcha-error.js +10 -24
  31. package/dist/common/errors/captcha-error.js.map +1 -1
  32. package/dist/common/errors/intent-to-join.js +11 -24
  33. package/dist/common/errors/intent-to-join.js.map +1 -1
  34. package/dist/common/errors/join-meeting.js +12 -25
  35. package/dist/common/errors/join-meeting.js.map +1 -1
  36. package/dist/common/errors/media.js +10 -24
  37. package/dist/common/errors/media.js.map +1 -1
  38. package/dist/common/errors/no-meeting-info.js +51 -0
  39. package/dist/common/errors/no-meeting-info.js.map +1 -0
  40. package/dist/common/errors/parameter.js +5 -33
  41. package/dist/common/errors/parameter.js.map +1 -1
  42. package/dist/common/errors/password-error.js +10 -24
  43. package/dist/common/errors/password-error.js.map +1 -1
  44. package/dist/common/errors/permission.js +9 -23
  45. package/dist/common/errors/permission.js.map +1 -1
  46. package/dist/common/errors/reclaim-host-role-errors.js +158 -0
  47. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  48. package/dist/common/errors/reconnection-in-progress.js +0 -17
  49. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  50. package/dist/common/errors/reconnection.js +10 -24
  51. package/dist/common/errors/reconnection.js.map +1 -1
  52. package/dist/common/errors/stats.js +10 -24
  53. package/dist/common/errors/stats.js.map +1 -1
  54. package/dist/common/errors/webex-errors.js +54 -48
  55. package/dist/common/errors/webex-errors.js.map +1 -1
  56. package/dist/common/errors/webex-meetings-error.js +5 -25
  57. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  58. package/dist/common/events/events-scope.js +0 -22
  59. package/dist/common/events/events-scope.js.map +1 -1
  60. package/dist/common/events/events.js +0 -23
  61. package/dist/common/events/events.js.map +1 -1
  62. package/dist/common/events/trigger-proxy.js +0 -12
  63. package/dist/common/events/trigger-proxy.js.map +1 -1
  64. package/dist/common/events/util.js +0 -15
  65. package/dist/common/events/util.js.map +1 -1
  66. package/dist/common/logs/logger-config.js +0 -4
  67. package/dist/common/logs/logger-config.js.map +1 -1
  68. package/dist/common/logs/logger-proxy.js +1 -8
  69. package/dist/common/logs/logger-proxy.js.map +1 -1
  70. package/dist/common/logs/request.js +41 -60
  71. package/dist/common/logs/request.js.map +1 -1
  72. package/dist/common/queue.js +28 -23
  73. package/dist/common/queue.js.map +1 -1
  74. package/dist/config.js +9 -15
  75. package/dist/config.js.map +1 -1
  76. package/dist/constants.js +315 -68
  77. package/dist/constants.js.map +1 -1
  78. package/dist/controls-options-manager/constants.js +14 -0
  79. package/dist/controls-options-manager/constants.js.map +1 -0
  80. package/dist/controls-options-manager/enums.js +27 -0
  81. package/dist/controls-options-manager/enums.js.map +1 -0
  82. package/dist/controls-options-manager/index.js +297 -0
  83. package/dist/controls-options-manager/index.js.map +1 -0
  84. package/dist/controls-options-manager/types.js +7 -0
  85. package/dist/controls-options-manager/types.js.map +1 -0
  86. package/dist/controls-options-manager/util.js +319 -0
  87. package/dist/controls-options-manager/util.js.map +1 -0
  88. package/dist/index.js +114 -17
  89. package/dist/index.js.map +1 -1
  90. package/dist/interpretation/collection.js +23 -0
  91. package/dist/interpretation/collection.js.map +1 -0
  92. package/dist/interpretation/index.js +366 -0
  93. package/dist/interpretation/index.js.map +1 -0
  94. package/dist/interpretation/siLanguage.js +25 -0
  95. package/dist/interpretation/siLanguage.js.map +1 -0
  96. package/dist/locus-info/controlsUtils.js +101 -29
  97. package/dist/locus-info/controlsUtils.js.map +1 -1
  98. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  99. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  100. package/dist/locus-info/fullState.js +0 -15
  101. package/dist/locus-info/fullState.js.map +1 -1
  102. package/dist/locus-info/hostUtils.js +4 -12
  103. package/dist/locus-info/hostUtils.js.map +1 -1
  104. package/dist/locus-info/index.js +561 -246
  105. package/dist/locus-info/index.js.map +1 -1
  106. package/dist/locus-info/infoUtils.js +10 -38
  107. package/dist/locus-info/infoUtils.js.map +1 -1
  108. package/dist/locus-info/mediaSharesUtils.js +68 -38
  109. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  110. package/dist/locus-info/parser.js +314 -163
  111. package/dist/locus-info/parser.js.map +1 -1
  112. package/dist/locus-info/selfUtils.js +110 -92
  113. package/dist/locus-info/selfUtils.js.map +1 -1
  114. package/dist/media/index.js +103 -231
  115. package/dist/media/index.js.map +1 -1
  116. package/dist/media/properties.js +137 -222
  117. package/dist/media/properties.js.map +1 -1
  118. package/dist/media/util.js +2 -9
  119. package/dist/media/util.js.map +1 -1
  120. package/dist/mediaQualityMetrics/config.js +505 -495
  121. package/dist/mediaQualityMetrics/config.js.map +1 -1
  122. package/dist/meeting/in-meeting-actions.js +93 -14
  123. package/dist/meeting/in-meeting-actions.js.map +1 -1
  124. package/dist/meeting/index.js +4624 -3740
  125. package/dist/meeting/index.js.map +1 -1
  126. package/dist/meeting/locusMediaRequest.js +292 -0
  127. package/dist/meeting/locusMediaRequest.js.map +1 -0
  128. package/dist/meeting/muteState.js +249 -184
  129. package/dist/meeting/muteState.js.map +1 -1
  130. package/dist/meeting/request.js +400 -346
  131. package/dist/meeting/request.js.map +1 -1
  132. package/dist/meeting/request.type.js +7 -0
  133. package/dist/meeting/request.type.js.map +1 -0
  134. package/dist/meeting/state.js +21 -31
  135. package/dist/meeting/state.js.map +1 -1
  136. package/dist/meeting/util.js +598 -586
  137. package/dist/meeting/util.js.map +1 -1
  138. package/dist/meeting-info/collection.js +6 -25
  139. package/dist/meeting-info/collection.js.map +1 -1
  140. package/dist/meeting-info/index.js +87 -39
  141. package/dist/meeting-info/index.js.map +1 -1
  142. package/dist/meeting-info/meeting-info-v2.js +349 -283
  143. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  144. package/dist/meeting-info/request.js +3 -15
  145. package/dist/meeting-info/request.js.map +1 -1
  146. package/dist/meeting-info/util.js +98 -183
  147. package/dist/meeting-info/util.js.map +1 -1
  148. package/dist/meeting-info/utilv2.js +143 -234
  149. package/dist/meeting-info/utilv2.js.map +1 -1
  150. package/dist/meetings/collection.js +26 -19
  151. package/dist/meetings/collection.js.map +1 -1
  152. package/dist/meetings/index.js +813 -596
  153. package/dist/meetings/index.js.map +1 -1
  154. package/dist/meetings/meetings.types.js +7 -0
  155. package/dist/meetings/meetings.types.js.map +1 -0
  156. package/dist/meetings/request.js +26 -41
  157. package/dist/meetings/request.js.map +1 -1
  158. package/dist/meetings/util.js +183 -156
  159. package/dist/meetings/util.js.map +1 -1
  160. package/dist/member/index.js +135 -85
  161. package/dist/member/index.js.map +1 -1
  162. package/dist/member/types.js +25 -0
  163. package/dist/member/types.js.map +1 -0
  164. package/dist/member/util.js +158 -88
  165. package/dist/member/util.js.map +1 -1
  166. package/dist/members/collection.js +13 -12
  167. package/dist/members/collection.js.map +1 -1
  168. package/dist/members/index.js +194 -204
  169. package/dist/members/index.js.map +1 -1
  170. package/dist/members/request.js +113 -68
  171. package/dist/members/request.js.map +1 -1
  172. package/dist/members/types.js +15 -0
  173. package/dist/members/types.js.map +1 -0
  174. package/dist/members/util.js +324 -259
  175. package/dist/members/util.js.map +1 -1
  176. package/dist/metrics/constants.js +14 -7
  177. package/dist/metrics/constants.js.map +1 -1
  178. package/dist/metrics/index.js +11 -558
  179. package/dist/metrics/index.js.map +1 -1
  180. package/dist/multistream/mediaRequestManager.js +263 -50
  181. package/dist/multistream/mediaRequestManager.js.map +1 -1
  182. package/dist/multistream/receiveSlot.js +58 -65
  183. package/dist/multistream/receiveSlot.js.map +1 -1
  184. package/dist/multistream/receiveSlotManager.js +76 -95
  185. package/dist/multistream/receiveSlotManager.js.map +1 -1
  186. package/dist/multistream/remoteMedia.js +62 -76
  187. package/dist/multistream/remoteMedia.js.map +1 -1
  188. package/dist/multistream/remoteMediaGroup.js +66 -43
  189. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  190. package/dist/multistream/remoteMediaManager.js +536 -439
  191. package/dist/multistream/remoteMediaManager.js.map +1 -1
  192. package/dist/multistream/sendSlotManager.js +233 -0
  193. package/dist/multistream/sendSlotManager.js.map +1 -0
  194. package/dist/networkQualityMonitor/index.js +40 -59
  195. package/dist/networkQualityMonitor/index.js.map +1 -1
  196. package/dist/personal-meeting-room/index.js +21 -45
  197. package/dist/personal-meeting-room/index.js.map +1 -1
  198. package/dist/personal-meeting-room/request.js +1 -31
  199. package/dist/personal-meeting-room/request.js.map +1 -1
  200. package/dist/personal-meeting-room/util.js +0 -13
  201. package/dist/personal-meeting-room/util.js.map +1 -1
  202. package/dist/reachability/index.js +322 -200
  203. package/dist/reachability/index.js.map +1 -1
  204. package/dist/reachability/request.js +20 -26
  205. package/dist/reachability/request.js.map +1 -1
  206. package/dist/reactions/constants.js +13 -0
  207. package/dist/reactions/constants.js.map +1 -0
  208. package/dist/reactions/reactions.js +109 -0
  209. package/dist/reactions/reactions.js.map +1 -0
  210. package/dist/reactions/reactions.type.js +36 -0
  211. package/dist/reactions/reactions.type.js.map +1 -0
  212. package/dist/reconnection-manager/index.js +388 -476
  213. package/dist/reconnection-manager/index.js.map +1 -1
  214. package/dist/recording-controller/enums.js +17 -0
  215. package/dist/recording-controller/enums.js.map +1 -0
  216. package/dist/recording-controller/index.js +362 -0
  217. package/dist/recording-controller/index.js.map +1 -0
  218. package/dist/recording-controller/util.js +64 -0
  219. package/dist/recording-controller/util.js.map +1 -0
  220. package/dist/roap/index.js +99 -94
  221. package/dist/roap/index.js.map +1 -1
  222. package/dist/roap/request.js +131 -135
  223. package/dist/roap/request.js.map +1 -1
  224. package/dist/roap/turnDiscovery.js +151 -101
  225. package/dist/roap/turnDiscovery.js.map +1 -1
  226. package/dist/rtcMetrics/constants.js +12 -0
  227. package/dist/rtcMetrics/constants.js.map +1 -0
  228. package/dist/rtcMetrics/index.js +117 -0
  229. package/dist/rtcMetrics/index.js.map +1 -0
  230. package/dist/statsAnalyzer/global.js +1 -95
  231. package/dist/statsAnalyzer/global.js.map +1 -1
  232. package/dist/statsAnalyzer/index.js +416 -497
  233. package/dist/statsAnalyzer/index.js.map +1 -1
  234. package/dist/statsAnalyzer/mqaUtil.js +145 -88
  235. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  236. package/dist/transcription/index.js +22 -47
  237. package/dist/transcription/index.js.map +1 -1
  238. package/dist/types/annotation/annotation.types.d.ts +42 -0
  239. package/dist/types/annotation/constants.d.ts +31 -0
  240. package/dist/types/annotation/index.d.ts +117 -0
  241. package/dist/types/breakouts/breakout.d.ts +8 -0
  242. package/dist/types/breakouts/collection.d.ts +5 -0
  243. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  244. package/dist/types/breakouts/events.d.ts +8 -0
  245. package/dist/types/breakouts/index.d.ts +5 -0
  246. package/dist/types/breakouts/request.d.ts +22 -0
  247. package/dist/types/breakouts/utils.d.ts +15 -0
  248. package/dist/types/common/browser-detection.d.ts +9 -0
  249. package/dist/types/common/collection.d.ts +48 -0
  250. package/dist/types/common/config.d.ts +2 -0
  251. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  252. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  253. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  254. package/dist/types/common/errors/media.d.ts +15 -0
  255. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  256. package/dist/types/common/errors/parameter.d.ts +15 -0
  257. package/dist/types/common/errors/password-error.d.ts +15 -0
  258. package/dist/types/common/errors/permission.d.ts +14 -0
  259. package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
  260. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  261. package/dist/types/common/errors/reconnection.d.ts +15 -0
  262. package/dist/types/common/errors/stats.d.ts +15 -0
  263. package/dist/types/common/errors/webex-errors.d.ts +93 -0
  264. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  265. package/dist/types/common/events/events-scope.d.ts +17 -0
  266. package/dist/types/common/events/events.d.ts +12 -0
  267. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  268. package/dist/types/common/events/util.d.ts +2 -0
  269. package/dist/types/common/logs/logger-config.d.ts +2 -0
  270. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  271. package/dist/types/common/logs/request.d.ts +36 -0
  272. package/dist/types/common/queue.d.ts +34 -0
  273. package/dist/types/config.d.ts +71 -0
  274. package/dist/types/constants.d.ts +1066 -0
  275. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  276. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  277. package/dist/types/controls-options-manager/index.d.ts +136 -0
  278. package/dist/types/controls-options-manager/types.d.ts +43 -0
  279. package/dist/types/controls-options-manager/util.d.ts +1 -0
  280. package/dist/types/index.d.ts +7 -0
  281. package/dist/types/interpretation/collection.d.ts +5 -0
  282. package/dist/types/interpretation/index.d.ts +5 -0
  283. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  284. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  285. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  286. package/dist/types/locus-info/fullState.d.ts +2 -0
  287. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  288. package/dist/types/locus-info/index.d.ts +322 -0
  289. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  290. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  291. package/dist/types/locus-info/parser.d.ts +273 -0
  292. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  293. package/dist/types/media/index.d.ts +34 -0
  294. package/dist/types/media/properties.d.ts +93 -0
  295. package/dist/types/media/util.d.ts +2 -0
  296. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  297. package/dist/types/meeting/in-meeting-actions.d.ts +163 -0
  298. package/dist/types/meeting/index.d.ts +1676 -0
  299. package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
  300. package/dist/types/meeting/muteState.d.ts +184 -0
  301. package/dist/types/meeting/request.d.ts +290 -0
  302. package/dist/types/meeting/request.type.d.ts +11 -0
  303. package/dist/types/meeting/state.d.ts +9 -0
  304. package/dist/types/meeting/util.d.ts +102 -0
  305. package/dist/types/meeting-info/collection.d.ts +20 -0
  306. package/dist/types/meeting-info/index.d.ts +69 -0
  307. package/dist/types/meeting-info/meeting-info-v2.d.ts +123 -0
  308. package/dist/types/meeting-info/request.d.ts +22 -0
  309. package/dist/types/meeting-info/util.d.ts +2 -0
  310. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  311. package/dist/types/meetings/collection.d.ts +31 -0
  312. package/dist/types/meetings/index.d.ts +367 -0
  313. package/dist/types/meetings/meetings.types.d.ts +4 -0
  314. package/dist/types/meetings/request.d.ts +27 -0
  315. package/dist/types/meetings/util.d.ts +18 -0
  316. package/dist/types/member/index.d.ts +160 -0
  317. package/dist/types/member/types.d.ts +32 -0
  318. package/dist/types/member/util.d.ts +2 -0
  319. package/dist/types/members/collection.d.ts +29 -0
  320. package/dist/types/members/index.d.ts +353 -0
  321. package/dist/types/members/request.d.ts +114 -0
  322. package/dist/types/members/types.d.ts +25 -0
  323. package/dist/types/members/util.d.ts +215 -0
  324. package/dist/types/metrics/constants.d.ts +65 -0
  325. package/dist/types/metrics/index.d.ts +45 -0
  326. package/dist/types/multistream/mediaRequestManager.d.ts +118 -0
  327. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  328. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  329. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  330. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  331. package/dist/types/multistream/remoteMediaManager.d.ts +285 -0
  332. package/dist/types/multistream/sendSlotManager.d.ts +61 -0
  333. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  334. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  335. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  336. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  337. package/dist/types/reachability/index.d.ts +194 -0
  338. package/dist/types/reachability/request.d.ts +39 -0
  339. package/dist/types/reactions/constants.d.ts +3 -0
  340. package/dist/types/reactions/reactions.d.ts +4 -0
  341. package/dist/types/reactions/reactions.type.d.ts +52 -0
  342. package/dist/types/reconnection-manager/index.d.ts +126 -0
  343. package/dist/types/recording-controller/enums.d.ts +7 -0
  344. package/dist/types/recording-controller/index.d.ts +207 -0
  345. package/dist/types/recording-controller/util.d.ts +14 -0
  346. package/dist/types/roap/index.d.ts +78 -0
  347. package/dist/types/roap/request.d.ts +39 -0
  348. package/dist/types/roap/turnDiscovery.d.ts +92 -0
  349. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  350. package/dist/types/rtcMetrics/index.d.ts +47 -0
  351. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  352. package/dist/types/statsAnalyzer/index.d.ts +201 -0
  353. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  354. package/dist/types/transcription/index.d.ts +64 -0
  355. package/dist/types/webinar/collection.d.ts +16 -0
  356. package/dist/types/webinar/index.d.ts +5 -0
  357. package/dist/webinar/collection.js +44 -0
  358. package/dist/webinar/collection.js.map +1 -0
  359. package/dist/webinar/index.js +69 -0
  360. package/dist/webinar/index.js.map +1 -0
  361. package/internal-README.md +7 -6
  362. package/package.json +29 -21
  363. package/src/annotation/annotation.types.ts +50 -0
  364. package/src/annotation/constants.ts +36 -0
  365. package/src/annotation/index.ts +328 -0
  366. package/src/breakouts/README.md +220 -0
  367. package/src/breakouts/breakout.ts +188 -0
  368. package/src/breakouts/collection.ts +19 -0
  369. package/src/breakouts/edit-lock-error.ts +25 -0
  370. package/src/breakouts/events.ts +56 -0
  371. package/src/breakouts/index.ts +925 -0
  372. package/src/breakouts/request.ts +55 -0
  373. package/src/breakouts/utils.ts +57 -0
  374. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  375. package/src/common/collection.ts +9 -7
  376. package/src/common/{config.js → config.ts} +1 -1
  377. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  378. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  379. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  380. package/src/common/errors/{media.js → media.ts} +11 -7
  381. package/src/common/errors/no-meeting-info.ts +24 -0
  382. package/src/common/errors/parameter.ts +11 -7
  383. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  384. package/src/common/errors/{permission.js → permission.ts} +10 -6
  385. package/src/common/errors/reclaim-host-role-errors.ts +134 -0
  386. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  387. package/src/common/errors/{stats.js → stats.ts} +11 -7
  388. package/src/common/errors/{webex-errors.js → webex-errors.ts} +51 -8
  389. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  390. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  391. package/src/common/events/{events.js → events.ts} +5 -1
  392. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  393. package/src/common/events/{util.js → util.ts} +2 -3
  394. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  395. package/src/common/logs/logger-proxy.ts +44 -0
  396. package/src/common/logs/{request.js → request.ts} +26 -9
  397. package/src/common/queue.ts +22 -9
  398. package/src/{config.js → config.ts} +18 -19
  399. package/src/constants.ts +260 -22
  400. package/src/controls-options-manager/constants.ts +5 -0
  401. package/src/controls-options-manager/enums.ts +18 -0
  402. package/src/controls-options-manager/index.ts +278 -0
  403. package/src/controls-options-manager/types.ts +59 -0
  404. package/src/controls-options-manager/util.ts +300 -0
  405. package/src/index.ts +40 -0
  406. package/src/interpretation/README.md +60 -0
  407. package/src/interpretation/collection.ts +19 -0
  408. package/src/interpretation/index.ts +332 -0
  409. package/src/interpretation/siLanguage.ts +18 -0
  410. package/src/locus-info/controlsUtils.ts +222 -0
  411. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  412. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  413. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  414. package/src/locus-info/{index.js → index.ts} +557 -119
  415. package/src/locus-info/{infoUtils.js → infoUtils.ts} +29 -10
  416. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +81 -17
  417. package/src/locus-info/{parser.js → parser.ts} +303 -104
  418. package/src/locus-info/{selfUtils.js → selfUtils.ts} +199 -68
  419. package/src/media/index.ts +458 -0
  420. package/src/media/properties.ts +283 -0
  421. package/src/media/{util.js → util.ts} +2 -2
  422. package/src/mediaQualityMetrics/config.ts +384 -0
  423. package/src/meeting/in-meeting-actions.ts +191 -3
  424. package/src/meeting/index.ts +7882 -0
  425. package/src/meeting/locusMediaRequest.ts +313 -0
  426. package/src/meeting/muteState.ts +451 -0
  427. package/src/meeting/{request.js → request.ts} +421 -220
  428. package/src/meeting/request.type.ts +13 -0
  429. package/src/meeting/{state.js → state.ts} +50 -35
  430. package/src/meeting/util.ts +697 -0
  431. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  432. package/src/meeting-info/index.ts +210 -0
  433. package/src/meeting-info/meeting-info-v2.ts +429 -0
  434. package/src/meeting-info/{request.js → request.ts} +14 -4
  435. package/src/meeting-info/{util.js → util.ts} +60 -51
  436. package/src/meeting-info/{utilv2.js → utilv2.ts} +78 -71
  437. package/src/meetings/{collection.js → collection.ts} +26 -3
  438. package/src/meetings/index.ts +1470 -0
  439. package/src/meetings/meetings.types.ts +12 -0
  440. package/src/meetings/{request.js → request.ts} +34 -25
  441. package/src/meetings/{util.js → util.ts} +132 -37
  442. package/src/member/{index.js → index.ts} +160 -56
  443. package/src/member/types.ts +38 -0
  444. package/src/member/util.ts +397 -0
  445. package/src/members/{collection.js → collection.ts} +10 -2
  446. package/src/members/{index.js → index.ts} +351 -146
  447. package/src/members/request.ts +255 -0
  448. package/src/members/types.ts +29 -0
  449. package/src/members/util.ts +353 -0
  450. package/src/metrics/{constants.js → constants.ts} +12 -6
  451. package/src/metrics/index.ts +73 -0
  452. package/src/multistream/mediaRequestManager.ts +337 -63
  453. package/src/multistream/receiveSlot.ts +69 -26
  454. package/src/multistream/receiveSlotManager.ts +66 -42
  455. package/src/multistream/remoteMedia.ts +40 -5
  456. package/src/multistream/remoteMediaGroup.ts +63 -3
  457. package/src/multistream/remoteMediaManager.ts +300 -66
  458. package/src/multistream/sendSlotManager.ts +170 -0
  459. package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
  460. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  461. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  462. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  463. package/src/reachability/index.ts +671 -0
  464. package/src/reachability/request.ts +50 -35
  465. package/src/reactions/constants.ts +4 -0
  466. package/src/reactions/reactions.ts +104 -0
  467. package/src/reactions/reactions.type.ts +62 -0
  468. package/src/reconnection-manager/{index.js → index.ts} +258 -138
  469. package/src/recording-controller/enums.ts +8 -0
  470. package/src/recording-controller/index.ts +332 -0
  471. package/src/recording-controller/util.ts +75 -0
  472. package/src/roap/{index.js → index.ts} +127 -79
  473. package/src/roap/request.ts +153 -0
  474. package/src/roap/turnDiscovery.ts +109 -47
  475. package/src/rtcMetrics/constants.ts +3 -0
  476. package/src/rtcMetrics/index.ts +100 -0
  477. package/src/statsAnalyzer/global.ts +37 -0
  478. package/src/statsAnalyzer/index.ts +1250 -0
  479. package/src/statsAnalyzer/mqaUtil.ts +292 -0
  480. package/src/transcription/{index.js → index.ts} +46 -39
  481. package/src/webinar/collection.ts +31 -0
  482. package/src/webinar/index.ts +62 -0
  483. package/test/integration/spec/converged-space-meetings.js +233 -0
  484. package/test/integration/spec/journey.js +790 -530
  485. package/test/integration/spec/space-meeting.js +391 -204
  486. package/test/integration/spec/transcription.js +7 -8
  487. package/test/unit/spec/annotation/index.ts +418 -0
  488. package/test/unit/spec/breakouts/breakout.ts +237 -0
  489. package/test/unit/spec/breakouts/collection.ts +15 -0
  490. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  491. package/test/unit/spec/breakouts/events.ts +89 -0
  492. package/test/unit/spec/breakouts/index.ts +1790 -0
  493. package/test/unit/spec/breakouts/request.ts +104 -0
  494. package/test/unit/spec/breakouts/utils.js +72 -0
  495. package/test/unit/spec/common/browser-detection.js +9 -28
  496. package/test/unit/spec/common/queue.js +31 -2
  497. package/test/unit/spec/controls-options-manager/index.js +287 -0
  498. package/test/unit/spec/controls-options-manager/util.js +582 -0
  499. package/test/unit/spec/fixture/locus.js +93 -90
  500. package/test/unit/spec/interpretation/collection.ts +15 -0
  501. package/test/unit/spec/interpretation/index.ts +589 -0
  502. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  503. package/test/unit/spec/locus-info/controlsUtils.js +325 -32
  504. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  505. package/test/unit/spec/locus-info/index.js +1390 -17
  506. package/test/unit/spec/locus-info/infoUtils.js +71 -40
  507. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  508. package/test/unit/spec/locus-info/lib/SeqCmp.json +529 -685
  509. package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
  510. package/test/unit/spec/locus-info/parser.js +119 -44
  511. package/test/unit/spec/locus-info/selfConstant.js +120 -103
  512. package/test/unit/spec/locus-info/selfUtils.js +296 -12
  513. package/test/unit/spec/media/index.ts +128 -77
  514. package/test/unit/spec/media/properties.ts +11 -11
  515. package/test/unit/spec/meeting/in-meeting-actions.ts +92 -3
  516. package/test/unit/spec/meeting/index.js +7433 -2752
  517. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  518. package/test/unit/spec/meeting/muteState.js +420 -211
  519. package/test/unit/spec/meeting/request.js +545 -79
  520. package/test/unit/spec/meeting/utils.js +722 -174
  521. package/test/unit/spec/meeting-info/index.js +300 -0
  522. package/test/unit/spec/meeting-info/meetinginfov2.js +624 -76
  523. package/test/unit/spec/meeting-info/request.js +7 -9
  524. package/test/unit/spec/meeting-info/util.js +11 -12
  525. package/test/unit/spec/meeting-info/utilv2.js +131 -74
  526. package/test/unit/spec/meetings/collection.js +15 -1
  527. package/test/unit/spec/meetings/index.js +1365 -377
  528. package/test/unit/spec/meetings/utils.js +216 -14
  529. package/test/unit/spec/member/index.js +61 -7
  530. package/test/unit/spec/member/util.js +526 -26
  531. package/test/unit/spec/members/index.js +536 -55
  532. package/test/unit/spec/members/request.js +228 -40
  533. package/test/unit/spec/members/utils.js +217 -4
  534. package/test/unit/spec/metrics/index.js +12 -66
  535. package/test/unit/spec/multistream/mediaRequestManager.ts +1012 -109
  536. package/test/unit/spec/multistream/receiveSlot.ts +77 -18
  537. package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
  538. package/test/unit/spec/multistream/remoteMedia.ts +40 -2
  539. package/test/unit/spec/multistream/remoteMediaGroup.ts +271 -5
  540. package/test/unit/spec/multistream/remoteMediaManager.ts +738 -65
  541. package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
  542. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  543. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  544. package/test/unit/spec/reachability/index.ts +598 -26
  545. package/test/unit/spec/reachability/request.js +68 -0
  546. package/test/unit/spec/reconnection-manager/index.js +181 -12
  547. package/test/unit/spec/recording-controller/index.js +307 -0
  548. package/test/unit/spec/recording-controller/util.js +229 -0
  549. package/test/unit/spec/roap/index.ts +179 -64
  550. package/test/unit/spec/roap/request.ts +232 -0
  551. package/test/unit/spec/roap/turnDiscovery.ts +123 -58
  552. package/test/unit/spec/rtcMetrics/index.ts +73 -0
  553. package/test/unit/spec/stats-analyzer/index.js +199 -60
  554. package/test/unit/spec/webinar/collection.ts +13 -0
  555. package/test/unit/spec/webinar/index.ts +60 -0
  556. package/test/utils/cmr.js +44 -42
  557. package/test/utils/constants.js +9 -0
  558. package/test/utils/integrationTestUtils.js +46 -0
  559. package/test/utils/testUtils.js +63 -99
  560. package/test/utils/webex-config.js +22 -18
  561. package/test/utils/webex-test-users.js +57 -50
  562. package/tsconfig.json +6 -0
  563. package/dist/media/internal-media-core-wrapper.js +0 -22
  564. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  565. package/dist/meeting/effectsState.js +0 -327
  566. package/dist/meeting/effectsState.js.map +0 -1
  567. package/dist/metrics/config.js +0 -301
  568. package/dist/metrics/config.js.map +0 -1
  569. package/dist/multistream/multistreamMedia.js +0 -116
  570. package/dist/multistream/multistreamMedia.js.map +0 -1
  571. package/dist/peer-connection-manager/util.js +0 -124
  572. package/dist/peer-connection-manager/util.js.map +0 -1
  573. package/src/common/logs/logger-proxy.js +0 -33
  574. package/src/index.js +0 -15
  575. package/src/locus-info/controlsUtils.js +0 -102
  576. package/src/media/index.js +0 -459
  577. package/src/media/internal-media-core-wrapper.ts +0 -9
  578. package/src/media/properties.js +0 -289
  579. package/src/mediaQualityMetrics/config.js +0 -382
  580. package/src/meeting/effectsState.js +0 -205
  581. package/src/meeting/index.js +0 -6284
  582. package/src/meeting/muteState.js +0 -318
  583. package/src/meeting/util.js +0 -506
  584. package/src/meeting-info/index.js +0 -131
  585. package/src/meeting-info/meeting-info-v2.js +0 -255
  586. package/src/meetings/index.js +0 -1015
  587. package/src/member/util.js +0 -254
  588. package/src/members/request.js +0 -131
  589. package/src/members/util.js +0 -258
  590. package/src/metrics/config.js +0 -324
  591. package/src/metrics/index.js +0 -530
  592. package/src/multistream/multistreamMedia.ts +0 -92
  593. package/src/peer-connection-manager/util.ts +0 -117
  594. package/src/reachability/index.js +0 -464
  595. package/src/roap/request.js +0 -127
  596. package/src/statsAnalyzer/global.js +0 -133
  597. package/src/statsAnalyzer/index.js +0 -1006
  598. package/src/statsAnalyzer/mqaUtil.js +0 -173
  599. package/test/unit/spec/meeting/effectsState.js +0 -291
  600. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  601. /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
@@ -1,54 +1,115 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = void 0;
12
-
9
+ var _types = require("./types");
13
10
  var _constants = require("../constants");
14
-
15
11
  var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
16
-
17
12
  var MemberUtil = {};
13
+
14
+ /**
15
+ * @param {Object} participant the locus participant
16
+ * @returns {Boolean}
17
+ */
18
+ MemberUtil.canReclaimHost = function (participant) {
19
+ if (!participant) {
20
+ throw new _parameter.default('canReclaimHostRole could not be processed, participant is undefined.');
21
+ }
22
+ return participant.canReclaimHostRole || false;
23
+ };
24
+
25
+ /**
26
+ * @param {Object} participant the locus participant
27
+ * @returns {[ServerRoleShape]}
28
+ */
29
+ MemberUtil.getControlsRoles = function (participant) {
30
+ var _participant$controls, _participant$controls2;
31
+ return participant === null || participant === void 0 ? void 0 : (_participant$controls = participant.controls) === null || _participant$controls === void 0 ? void 0 : (_participant$controls2 = _participant$controls.role) === null || _participant$controls2 === void 0 ? void 0 : _participant$controls2.roles;
32
+ };
33
+
18
34
  /**
19
35
  * @param {Object} participant the locus participant
36
+ * @param {ServerRoles} controlRole the search role
20
37
  * @returns {Boolean}
21
38
  */
39
+ MemberUtil.hasRole = function (participant, controlRole) {
40
+ var _MemberUtil$getContro;
41
+ return (_MemberUtil$getContro = MemberUtil.getControlsRoles(participant)) === null || _MemberUtil$getContro === void 0 ? void 0 : _MemberUtil$getContro.some(function (role) {
42
+ return role.type === controlRole && role.hasRole;
43
+ });
44
+ };
45
+
46
+ /**
47
+ * @param {Object} participant the locus participant
48
+ * @returns {Boolean}
49
+ */
50
+ MemberUtil.hasCohost = function (participant) {
51
+ return MemberUtil.hasRole(participant, _types.ServerRoles.Cohost) || false;
52
+ };
53
+
54
+ /**
55
+ * @param {Object} participant the locus participant
56
+ * @returns {Boolean}
57
+ */
58
+ MemberUtil.hasModerator = function (participant) {
59
+ return MemberUtil.hasRole(participant, _types.ServerRoles.Moderator) || false;
60
+ };
61
+
62
+ /**
63
+ * @param {Object} participant the locus participant
64
+ * @returns {Boolean}
65
+ */
66
+ MemberUtil.hasPresenter = function (participant) {
67
+ return MemberUtil.hasRole(participant, _types.ServerRoles.Presenter) || false;
68
+ };
69
+
70
+ /**
71
+ * @param {Object} participant the locus participant
72
+ * @returns {IExternalRoles}
73
+ */
74
+ MemberUtil.extractControlRoles = function (participant) {
75
+ var roles = {
76
+ cohost: MemberUtil.hasCohost(participant),
77
+ moderator: MemberUtil.hasModerator(participant),
78
+ presenter: MemberUtil.hasPresenter(participant)
79
+ };
80
+ return roles;
81
+ };
22
82
 
83
+ /**
84
+ * @param {Object} participant the locus participant
85
+ * @returns {Boolean}
86
+ */
23
87
  MemberUtil.isUser = function (participant) {
24
88
  return participant && participant.type === _constants._USER_;
25
89
  };
26
-
27
90
  MemberUtil.isModerator = function (participant) {
28
91
  return participant && participant.moderator;
29
92
  };
93
+
30
94
  /**
31
95
  * @param {Object} participant the locus participant
32
96
  * @returns {Boolean}
33
97
  */
34
-
35
-
36
98
  MemberUtil.isGuest = function (participant) {
37
99
  return participant && participant.guest;
38
100
  };
101
+
39
102
  /**
40
103
  * @param {Object} participant the locus participant
41
104
  * @returns {Boolean}
42
105
  */
43
-
44
-
45
106
  MemberUtil.isDevice = function (participant) {
46
107
  return participant && participant.type === _constants._RESOURCE_ROOM_;
47
108
  };
48
-
49
109
  MemberUtil.isModeratorAssignmentProhibited = function (participant) {
50
110
  return participant && participant.moderatorAssignmentNotAllowed;
51
111
  };
112
+
52
113
  /**
53
114
  * checks to see if the participant id is the same as the passed id
54
115
  * there are multiple ids that can be used
@@ -56,11 +117,10 @@ MemberUtil.isModeratorAssignmentProhibited = function (participant) {
56
117
  * @param {String} id
57
118
  * @returns {Boolean}
58
119
  */
59
-
60
-
61
120
  MemberUtil.isSame = function (participant, id) {
62
121
  return participant && (participant.id === id || participant.person && participant.person.id === id);
63
122
  };
123
+
64
124
  /**
65
125
  * checks to see if the participant id is the same as the passed id for associated devices
66
126
  * there are multiple ids that can be used
@@ -68,184 +128,186 @@ MemberUtil.isSame = function (participant, id) {
68
128
  * @param {String} id
69
129
  * @returns {Boolean}
70
130
  */
71
-
72
-
73
131
  MemberUtil.isAssociatedSame = function (participant, id) {
74
132
  return participant && participant.associatedUsers && participant.associatedUsers.some(function (user) {
75
133
  return user.id === id || user.person && user.person.id === id;
76
134
  });
77
135
  };
136
+
78
137
  /**
79
138
  * @param {Object} participant the locus participant
80
139
  * @param {Boolean} isGuest
81
140
  * @param {String} status
82
141
  * @returns {Boolean}
83
142
  */
84
-
85
-
86
143
  MemberUtil.isNotAdmitted = function (participant, isGuest, status) {
87
- return participant && participant.guest && (participant.devices && participant.devices[0] && participant.devices[0].intent && participant.devices[0].intent.type === _constants._WAIT_ && isGuest && status === _constants._IN_LOBBY_ || !status === _constants._IN_MEETING_);
144
+ return participant && participant.guest && (participant.devices && participant.devices[0] && participant.devices[0].intent && participant.devices[0].intent.type === _constants._WAIT_ &&
145
+ // @ts-ignore
146
+ isGuest && status === _constants._IN_LOBBY_ ||
147
+ // @ts-ignore
148
+ !status === _constants._IN_MEETING_);
88
149
  };
150
+
89
151
  /**
90
152
  * @param {Object} participant the locus participant
91
153
  * @returns {Boolean}
92
154
  */
93
-
94
-
95
155
  MemberUtil.isAudioMuted = function (participant) {
96
156
  if (!participant) {
97
157
  throw new _parameter.default('Audio could not be processed, participant is undefined.');
98
158
  }
99
-
100
- var mutedStatus = MemberUtil.isMuted(participant.status, _constants.AUDIO_STATUS);
101
-
102
- if (participant.controls && participant.controls.audio) {
103
- if (participant.controls.audio.muted) {
104
- return true;
105
- }
106
-
107
- if (mutedStatus) {
108
- return true;
109
- }
110
- }
111
-
112
- return false;
159
+ return MemberUtil.isMuted(participant, _constants.AUDIO_STATUS, _constants.AUDIO);
113
160
  };
161
+
114
162
  /**
115
163
  * @param {Object} participant the locus participant
116
164
  * @returns {Boolean}
117
165
  */
118
-
119
-
120
166
  MemberUtil.isVideoMuted = function (participant) {
121
167
  if (!participant) {
122
168
  throw new _parameter.default('Video could not be processed, participant is undefined.');
123
169
  }
124
-
125
- return MemberUtil.isMuted(participant.status, _constants.VIDEO_STATUS);
170
+ return MemberUtil.isMuted(participant, _constants.VIDEO_STATUS, _constants.VIDEO);
126
171
  };
172
+
127
173
  /**
128
174
  * @param {Object} participant the locus participant
129
175
  * @returns {Boolean}
130
176
  */
131
-
132
-
133
177
  MemberUtil.isHandRaised = function (participant) {
134
- var _participant$controls, _participant$controls2;
135
-
178
+ var _participant$controls3, _participant$controls4;
136
179
  if (!participant) {
137
180
  throw new _parameter.default('Raise hand could not be processed, participant is undefined.');
138
181
  }
139
-
140
- return ((_participant$controls = participant.controls) === null || _participant$controls === void 0 ? void 0 : (_participant$controls2 = _participant$controls.hand) === null || _participant$controls2 === void 0 ? void 0 : _participant$controls2.raised) || false;
182
+ return ((_participant$controls3 = participant.controls) === null || _participant$controls3 === void 0 ? void 0 : (_participant$controls4 = _participant$controls3.hand) === null || _participant$controls4 === void 0 ? void 0 : _participant$controls4.raised) || false;
141
183
  };
184
+
142
185
  /**
143
- * utility method for audio/video muted status
144
- * @param {String} status
145
- * @param {String} accessor
186
+ * @param {Object} participant the locus participant
146
187
  * @returns {Boolean}
147
188
  */
189
+ MemberUtil.isBreakoutsSupported = function (participant) {
190
+ if (!participant) {
191
+ throw new _parameter.default('Breakout support could not be processed, participant is undefined.');
192
+ }
193
+ return !participant.doesNotSupportBreakouts;
194
+ };
148
195
 
196
+ /**
197
+ * @param {Object} participant the locus participant
198
+ * @returns {Boolean}
199
+ */
200
+ MemberUtil.isInterpretationSupported = function (participant) {
201
+ if (!participant) {
202
+ throw new _parameter.default('Interpretation support could not be processed, participant is undefined.');
203
+ }
204
+ return !participant.doesNotSupportSiInterpreter;
205
+ };
149
206
 
150
- MemberUtil.isMuted = function (status, accessor) {
151
- if (status) {
152
- if (status[accessor] === _constants._RECEIVE_ONLY_) {
153
- return true;
154
- }
207
+ /**
208
+ * @param {Object} participant the locus participant
209
+ * @returns {Boolean}
210
+ */
211
+ MemberUtil.isLiveAnnotationSupported = function (participant) {
212
+ if (!participant) {
213
+ throw new _parameter.default('LiveAnnotation support could not be processed, participant is undefined.');
214
+ }
215
+ return !participant.annotatorAssignmentNotAllowed;
216
+ };
155
217
 
156
- if (status[accessor] === _constants._SEND_RECEIVE_) {
157
- return false;
158
- }
218
+ /**
219
+ * utility method for audio/video muted status
220
+ * @param {any} participant
221
+ * @param {String} statusAccessor
222
+ * @param {String} controlsAccessor
223
+ * @returns {Boolean | undefined}
224
+ */
225
+ MemberUtil.isMuted = function (participant, statusAccessor, controlsAccessor) {
226
+ var _participant$controls5, _participant$controls6, _participant$status;
227
+ // check remote mute
228
+ var remoteMute = participant === null || participant === void 0 ? void 0 : (_participant$controls5 = participant.controls) === null || _participant$controls5 === void 0 ? void 0 : (_participant$controls6 = _participant$controls5[controlsAccessor]) === null || _participant$controls6 === void 0 ? void 0 : _participant$controls6.muted;
229
+ if (remoteMute === true) {
230
+ return true;
159
231
  }
160
232
 
161
- return null;
233
+ // check local mute
234
+ var localStatus = participant === null || participant === void 0 ? void 0 : (_participant$status = participant.status) === null || _participant$status === void 0 ? void 0 : _participant$status[statusAccessor];
235
+ if (localStatus === _constants._RECEIVE_ONLY_) {
236
+ return true;
237
+ }
238
+ if (localStatus === _constants._SEND_RECEIVE_) {
239
+ return false;
240
+ }
241
+ return remoteMute;
162
242
  };
243
+
163
244
  /**
164
245
  * utility method for getting the recording member for later comparison
165
246
  * @param {Object} controls
166
247
  * @returns {String|null}
167
248
  */
168
-
169
-
170
249
  MemberUtil.getRecordingMember = function (controls) {
171
250
  if (!controls) {
172
251
  return null;
173
252
  }
174
-
175
253
  if (controls.record && controls.record.recording && controls.record.meta) {
176
254
  return controls.record.meta.modifiedBy;
177
255
  }
178
-
179
256
  return null;
180
257
  };
258
+
181
259
  /**
182
260
  * @param {Object} participant the locus participant
183
261
  * @returns {Boolean}
184
262
  */
185
-
186
-
187
263
  MemberUtil.isRecording = function (participant) {
188
264
  if (!participant) {
189
265
  throw new _parameter.default('Recording could not be processed, participant is undefined.');
190
266
  }
191
-
192
267
  if (participant.controls && participant.controls.localRecord) {
193
268
  return participant.controls.localRecord.recording;
194
269
  }
195
-
196
270
  return false;
197
271
  };
198
-
199
272
  MemberUtil.isRemovable = function (isSelf, isGuest, isInMeeting, type) {
200
273
  if (isGuest || isSelf) {
201
274
  return false;
202
275
  }
203
-
204
276
  if (type === _constants._CALL_) {
205
277
  return false;
206
278
  }
207
-
208
279
  if (isInMeeting) {
209
280
  return true;
210
281
  }
211
-
212
282
  return false;
213
283
  };
214
-
215
284
  MemberUtil.isMutable = function (isSelf, isDevice, isInMeeting, isMuted, type) {
216
285
  if (!isInMeeting) {
217
286
  return false;
218
287
  }
219
-
220
288
  if (isMuted) {
221
289
  return false;
222
290
  }
223
-
224
291
  if (type === _constants._CALL_) {
225
292
  return false;
226
293
  }
227
-
228
294
  if (isSelf || isDevice) {
229
295
  return true;
230
296
  }
231
-
232
297
  return false;
233
298
  };
299
+
234
300
  /**
235
301
  * @param {Object} participant the locus participant
236
302
  * @returns {String}
237
303
  */
238
-
239
-
240
304
  MemberUtil.extractStatus = function (participant) {
241
305
  if (!(participant && participant.devices && participant.devices.length)) {
242
306
  return _constants._NOT_IN_MEETING_;
243
307
  }
244
-
245
308
  if (participant.state === _constants._JOINED_) {
246
309
  return _constants._IN_MEETING_;
247
310
  }
248
-
249
311
  if (participant.state === _constants._IDLE_) {
250
312
  if (participant.devices && participant.devices.length > 0) {
251
313
  var foundDevice = participant.devices.find(function (device) {
@@ -253,43 +315,51 @@ MemberUtil.extractStatus = function (participant) {
253
315
  });
254
316
  return foundDevice ? _constants._IN_LOBBY_ : _constants._NOT_IN_MEETING_;
255
317
  }
256
-
257
318
  return _constants._NOT_IN_MEETING_;
258
319
  }
259
-
260
320
  if (participant.state === _constants._LEFT_) {
261
321
  return _constants._NOT_IN_MEETING_;
262
322
  }
263
-
264
323
  return _constants._NOT_IN_MEETING_;
265
324
  };
325
+
266
326
  /**
267
327
  * @param {Object} participant the locus participant
268
328
  * @returns {String}
269
329
  */
270
-
271
-
272
330
  MemberUtil.extractId = function (participant) {
273
331
  if (participant) {
274
332
  return participant.id;
275
333
  }
276
-
277
334
  return null;
278
335
  };
336
+
279
337
  /**
338
+ * extracts the media status from nested participant object
280
339
  * @param {Object} participant the locus participant
281
- * @returns {String}
340
+ * @returns {Object}
282
341
  */
342
+ MemberUtil.extractMediaStatus = function (participant) {
343
+ var _participant$status2, _participant$status3;
344
+ if (!participant) {
345
+ throw new _parameter.default('Media status could not be extracted, participant is undefined.');
346
+ }
347
+ return {
348
+ audio: (_participant$status2 = participant.status) === null || _participant$status2 === void 0 ? void 0 : _participant$status2.audioStatus,
349
+ video: (_participant$status3 = participant.status) === null || _participant$status3 === void 0 ? void 0 : _participant$status3.videoStatus
350
+ };
351
+ };
283
352
 
284
-
353
+ /**
354
+ * @param {Object} participant the locus participant
355
+ * @returns {String}
356
+ */
285
357
  MemberUtil.extractName = function (participant) {
286
358
  if (participant && participant.person) {
287
359
  return participant.person.name;
288
360
  }
289
-
290
361
  return null;
291
362
  };
292
-
293
363
  var _default = MemberUtil;
294
364
  exports.default = _default;
295
365
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MemberUtil","isUser","participant","type","_USER_","isModerator","moderator","isGuest","guest","isDevice","_RESOURCE_ROOM_","isModeratorAssignmentProhibited","moderatorAssignmentNotAllowed","isSame","id","person","isAssociatedSame","associatedUsers","some","user","isNotAdmitted","status","devices","intent","_WAIT_","_IN_LOBBY_","_IN_MEETING_","isAudioMuted","ParameterError","mutedStatus","isMuted","AUDIO_STATUS","controls","audio","muted","isVideoMuted","VIDEO_STATUS","isHandRaised","hand","raised","accessor","_RECEIVE_ONLY_","_SEND_RECEIVE_","getRecordingMember","record","recording","meta","modifiedBy","isRecording","localRecord","isRemovable","isSelf","isInMeeting","_CALL_","isMutable","extractStatus","length","_NOT_IN_MEETING_","state","_JOINED_","_IDLE_","foundDevice","find","device","_OBSERVE_","_LEFT_","extractId","extractName","name"],"sources":["util.js"],"sourcesContent":["import {\n _USER_,\n _RESOURCE_ROOM_,\n _OBSERVE_,\n _WAIT_,\n _LEFT_,\n _JOINED_,\n _IDLE_,\n _IN_LOBBY_,\n _NOT_IN_MEETING_,\n _IN_MEETING_,\n AUDIO_STATUS,\n VIDEO_STATUS,\n _SEND_RECEIVE_,\n _RECEIVE_ONLY_,\n _CALL_\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\n\nconst MemberUtil = {};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isUser = (participant) => participant && participant.type === _USER_;\n\nMemberUtil.isModerator = (participant) => participant && participant.moderator;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isGuest = (participant) => participant && participant.guest;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isDevice = (participant) => participant && participant.type === _RESOURCE_ROOM_;\n\nMemberUtil.isModeratorAssignmentProhibited = (participant) => participant && participant.moderatorAssignmentNotAllowed;\n\n/**\n * checks to see if the participant id is the same as the passed id\n * there are multiple ids that can be used\n * @param {Object} participant the locus participant\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isSame = (participant, id) => participant &&\n (participant.id === id || participant.person && participant.person.id === id);\n\n/**\n * checks to see if the participant id is the same as the passed id for associated devices\n * there are multiple ids that can be used\n * @param {Object} participant the locus participant\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isAssociatedSame = (participant, id) => participant &&\nparticipant.associatedUsers &&\nparticipant.associatedUsers.some((user) => (user.id === id || user.person && user.person.id === id));\n\n/**\n * @param {Object} participant the locus participant\n * @param {Boolean} isGuest\n * @param {String} status\n * @returns {Boolean}\n */\nMemberUtil.isNotAdmitted = (participant, isGuest, status) => participant &&\n participant.guest && ((participant.devices && participant.devices[0] &&\n participant.devices[0].intent && participant.devices[0].intent.type === _WAIT_ &&\n isGuest && status === _IN_LOBBY_) || !status === _IN_MEETING_);\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isAudioMuted = (participant) => {\n if (!participant) {\n throw new ParameterError('Audio could not be processed, participant is undefined.');\n }\n const mutedStatus = MemberUtil.isMuted(participant.status, AUDIO_STATUS);\n\n if (participant.controls && participant.controls.audio) {\n if (participant.controls.audio.muted) {\n return true;\n }\n if (mutedStatus) {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isVideoMuted = (participant) => {\n if (!participant) {\n throw new ParameterError('Video could not be processed, participant is undefined.');\n }\n\n return MemberUtil.isMuted(participant.status, VIDEO_STATUS);\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isHandRaised = (participant) => {\n if (!participant) {\n throw new ParameterError('Raise hand could not be processed, participant is undefined.');\n }\n\n return participant.controls?.hand?.raised || false;\n};\n\n/**\n * utility method for audio/video muted status\n * @param {String} status\n * @param {String} accessor\n * @returns {Boolean}\n */\nMemberUtil.isMuted = (status, accessor) => {\n if (status) {\n if (status[accessor] === _RECEIVE_ONLY_) {\n return true;\n }\n if (status[accessor] === _SEND_RECEIVE_) {\n return false;\n }\n }\n\n return null;\n};\n\n/**\n * utility method for getting the recording member for later comparison\n * @param {Object} controls\n * @returns {String|null}\n */\nMemberUtil.getRecordingMember = (controls) => {\n if (!controls) {\n return null;\n }\n if (controls.record && controls.record.recording && controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isRecording = (participant) => {\n if (!participant) {\n throw new ParameterError('Recording could not be processed, participant is undefined.');\n }\n if (participant.controls && participant.controls.localRecord) {\n return participant.controls.localRecord.recording;\n }\n\n return false;\n};\n\nMemberUtil.isRemovable = (isSelf, isGuest, isInMeeting, type) => {\n if (isGuest || isSelf) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isInMeeting) {\n return true;\n }\n\n return false;\n};\n\nMemberUtil.isMutable = (isSelf, isDevice, isInMeeting, isMuted, type) => {\n if (!isInMeeting) {\n return false;\n }\n if (isMuted) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isSelf || isDevice) {\n return true;\n }\n\n return false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractStatus = (participant) => {\n if (!(participant && participant.devices && participant.devices.length)) {\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _JOINED_) {\n return _IN_MEETING_;\n }\n if (participant.state === _IDLE_) {\n if (participant.devices && participant.devices.length > 0) {\n const foundDevice = participant.devices.find((device) => device.intent && (device.intent.type === _WAIT_ || device.intent.type === _OBSERVE_));\n\n return foundDevice ? _IN_LOBBY_ : _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _LEFT_) {\n return _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractId = (participant) => {\n if (participant) {\n return participant.id;\n }\n\n return null;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractName = (participant) => {\n if (participant && participant.person) {\n return participant.person.name;\n }\n\n return null;\n};\n\nexport default MemberUtil;\n"],"mappings":"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"}
1
+ {"version":3,"names":["MemberUtil","canReclaimHost","participant","ParameterError","canReclaimHostRole","getControlsRoles","controls","role","roles","hasRole","controlRole","some","type","hasCohost","ServerRoles","Cohost","hasModerator","Moderator","hasPresenter","Presenter","extractControlRoles","cohost","moderator","presenter","isUser","_USER_","isModerator","isGuest","guest","isDevice","_RESOURCE_ROOM_","isModeratorAssignmentProhibited","moderatorAssignmentNotAllowed","isSame","id","person","isAssociatedSame","associatedUsers","user","isNotAdmitted","status","devices","intent","_WAIT_","_IN_LOBBY_","_IN_MEETING_","isAudioMuted","isMuted","AUDIO_STATUS","AUDIO","isVideoMuted","VIDEO_STATUS","VIDEO","isHandRaised","hand","raised","isBreakoutsSupported","doesNotSupportBreakouts","isInterpretationSupported","doesNotSupportSiInterpreter","isLiveAnnotationSupported","annotatorAssignmentNotAllowed","statusAccessor","controlsAccessor","remoteMute","muted","localStatus","_RECEIVE_ONLY_","_SEND_RECEIVE_","getRecordingMember","record","recording","meta","modifiedBy","isRecording","localRecord","isRemovable","isSelf","isInMeeting","_CALL_","isMutable","extractStatus","length","_NOT_IN_MEETING_","state","_JOINED_","_IDLE_","foundDevice","find","device","_OBSERVE_","_LEFT_","extractId","extractMediaStatus","audio","audioStatus","video","videoStatus","extractName","name"],"sources":["util.ts"],"sourcesContent":["import {\n IExternalRoles,\n ParticipantWithRoles,\n ServerRoles,\n ServerRoleShape,\n IMediaStatus,\n} from './types';\nimport {\n _USER_,\n _RESOURCE_ROOM_,\n _OBSERVE_,\n _WAIT_,\n _LEFT_,\n _JOINED_,\n _IDLE_,\n _IN_LOBBY_,\n _NOT_IN_MEETING_,\n _IN_MEETING_,\n AUDIO_STATUS,\n VIDEO_STATUS,\n _SEND_RECEIVE_,\n _RECEIVE_ONLY_,\n _CALL_,\n VIDEO,\n AUDIO,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\n\nconst MemberUtil: any = {};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.canReclaimHost = (participant) => {\n if (!participant) {\n throw new ParameterError(\n 'canReclaimHostRole could not be processed, participant is undefined.'\n );\n }\n\n return participant.canReclaimHostRole || false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {[ServerRoleShape]}\n */\nMemberUtil.getControlsRoles = (participant: ParticipantWithRoles): Array<ServerRoleShape> =>\n participant?.controls?.role?.roles;\n\n/**\n * @param {Object} participant the locus participant\n * @param {ServerRoles} controlRole the search role\n * @returns {Boolean}\n */\nMemberUtil.hasRole = (participant: any, controlRole: ServerRoles): boolean =>\n MemberUtil.getControlsRoles(participant)?.some(\n (role) => role.type === controlRole && role.hasRole\n );\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.hasCohost = (participant: ParticipantWithRoles): boolean =>\n MemberUtil.hasRole(participant, ServerRoles.Cohost) || false;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.hasModerator = (participant: ParticipantWithRoles): boolean =>\n MemberUtil.hasRole(participant, ServerRoles.Moderator) || false;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.hasPresenter = (participant: ParticipantWithRoles): boolean =>\n MemberUtil.hasRole(participant, ServerRoles.Presenter) || false;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {IExternalRoles}\n */\nMemberUtil.extractControlRoles = (participant: ParticipantWithRoles): IExternalRoles => {\n const roles = {\n cohost: MemberUtil.hasCohost(participant),\n moderator: MemberUtil.hasModerator(participant),\n presenter: MemberUtil.hasPresenter(participant),\n };\n\n return roles;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isUser = (participant: any) => participant && participant.type === _USER_;\n\nMemberUtil.isModerator = (participant) => participant && participant.moderator;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isGuest = (participant: any) => participant && participant.guest;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isDevice = (participant: any) => participant && participant.type === _RESOURCE_ROOM_;\n\nMemberUtil.isModeratorAssignmentProhibited = (participant) =>\n participant && participant.moderatorAssignmentNotAllowed;\n\n/**\n * checks to see if the participant id is the same as the passed id\n * there are multiple ids that can be used\n * @param {Object} participant the locus participant\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isSame = (participant: any, id: string) =>\n participant && (participant.id === id || (participant.person && participant.person.id === id));\n\n/**\n * checks to see if the participant id is the same as the passed id for associated devices\n * there are multiple ids that can be used\n * @param {Object} participant the locus participant\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isAssociatedSame = (participant: any, id: string) =>\n participant &&\n participant.associatedUsers &&\n participant.associatedUsers.some(\n (user) => user.id === id || (user.person && user.person.id === id)\n );\n\n/**\n * @param {Object} participant the locus participant\n * @param {Boolean} isGuest\n * @param {String} status\n * @returns {Boolean}\n */\nMemberUtil.isNotAdmitted = (participant: any, isGuest: boolean, status: string): boolean =>\n participant &&\n participant.guest &&\n ((participant.devices &&\n participant.devices[0] &&\n participant.devices[0].intent &&\n participant.devices[0].intent.type === _WAIT_ &&\n // @ts-ignore\n isGuest &&\n status === _IN_LOBBY_) ||\n // @ts-ignore\n !status === _IN_MEETING_);\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isAudioMuted = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Audio could not be processed, participant is undefined.');\n }\n\n return MemberUtil.isMuted(participant, AUDIO_STATUS, AUDIO);\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isVideoMuted = (participant: any): boolean => {\n if (!participant) {\n throw new ParameterError('Video could not be processed, participant is undefined.');\n }\n\n return MemberUtil.isMuted(participant, VIDEO_STATUS, VIDEO);\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isHandRaised = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Raise hand could not be processed, participant is undefined.');\n }\n\n return participant.controls?.hand?.raised || false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isBreakoutsSupported = (participant) => {\n if (!participant) {\n throw new ParameterError('Breakout support could not be processed, participant is undefined.');\n }\n\n return !participant.doesNotSupportBreakouts;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isInterpretationSupported = (participant) => {\n if (!participant) {\n throw new ParameterError(\n 'Interpretation support could not be processed, participant is undefined.'\n );\n }\n\n return !participant.doesNotSupportSiInterpreter;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isLiveAnnotationSupported = (participant) => {\n if (!participant) {\n throw new ParameterError(\n 'LiveAnnotation support could not be processed, participant is undefined.'\n );\n }\n\n return !participant.annotatorAssignmentNotAllowed;\n};\n\n/**\n * utility method for audio/video muted status\n * @param {any} participant\n * @param {String} statusAccessor\n * @param {String} controlsAccessor\n * @returns {Boolean | undefined}\n */\nMemberUtil.isMuted = (participant: any, statusAccessor: string, controlsAccessor: string) => {\n // check remote mute\n const remoteMute = participant?.controls?.[controlsAccessor]?.muted;\n if (remoteMute === true) {\n return true;\n }\n\n // check local mute\n const localStatus = participant?.status?.[statusAccessor];\n if (localStatus === _RECEIVE_ONLY_) {\n return true;\n }\n if (localStatus === _SEND_RECEIVE_) {\n return false;\n }\n\n return remoteMute;\n};\n\n/**\n * utility method for getting the recording member for later comparison\n * @param {Object} controls\n * @returns {String|null}\n */\nMemberUtil.getRecordingMember = (controls: any) => {\n if (!controls) {\n return null;\n }\n if (controls.record && controls.record.recording && controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isRecording = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Recording could not be processed, participant is undefined.');\n }\n if (participant.controls && participant.controls.localRecord) {\n return participant.controls.localRecord.recording;\n }\n\n return false;\n};\n\nMemberUtil.isRemovable = (isSelf, isGuest, isInMeeting, type) => {\n if (isGuest || isSelf) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isInMeeting) {\n return true;\n }\n\n return false;\n};\n\nMemberUtil.isMutable = (isSelf, isDevice, isInMeeting, isMuted, type) => {\n if (!isInMeeting) {\n return false;\n }\n if (isMuted) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isSelf || isDevice) {\n return true;\n }\n\n return false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractStatus = (participant: any) => {\n if (!(participant && participant.devices && participant.devices.length)) {\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _JOINED_) {\n return _IN_MEETING_;\n }\n if (participant.state === _IDLE_) {\n if (participant.devices && participant.devices.length > 0) {\n const foundDevice = participant.devices.find(\n (device) =>\n device.intent && (device.intent.type === _WAIT_ || device.intent.type === _OBSERVE_)\n );\n\n return foundDevice ? _IN_LOBBY_ : _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _LEFT_) {\n return _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractId = (participant: any) => {\n if (participant) {\n return participant.id;\n }\n\n return null;\n};\n\n/**\n * extracts the media status from nested participant object\n * @param {Object} participant the locus participant\n * @returns {Object}\n */\nMemberUtil.extractMediaStatus = (participant: any): IMediaStatus => {\n if (!participant) {\n throw new ParameterError('Media status could not be extracted, participant is undefined.');\n }\n\n return {\n audio: participant.status?.audioStatus,\n video: participant.status?.videoStatus,\n };\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractName = (participant: any) => {\n if (participant && participant.person) {\n return participant.person.name;\n }\n\n return null;\n};\n\nexport default MemberUtil;\n"],"mappings":"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"}
@@ -1,23 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = void 0;
12
-
13
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
14
-
15
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
16
-
17
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
18
-
19
12
  var _constants = require("../constants");
20
-
21
13
  /**
22
14
  * @class MembersCollection
23
15
  */
@@ -28,10 +20,10 @@ var MembersCollection = /*#__PURE__*/function () {
28
20
  */
29
21
  function MembersCollection() {
30
22
  (0, _classCallCheck2.default)(this, MembersCollection);
23
+ (0, _defineProperty2.default)(this, "members", void 0);
31
24
  (0, _defineProperty2.default)(this, "namespace", _constants.MEETINGS);
32
25
  this.members = {};
33
26
  }
34
-
35
27
  (0, _createClass2.default)(MembersCollection, [{
36
28
  key: "set",
37
29
  value: function set(id, member) {
@@ -42,29 +34,38 @@ var MembersCollection = /*#__PURE__*/function () {
42
34
  value: function setAll(members) {
43
35
  this.members = members;
44
36
  }
37
+
45
38
  /**
46
39
  * @param {String} id
47
40
  * @returns {Member}
48
41
  */
49
-
50
42
  }, {
51
43
  key: "get",
52
44
  value: function get(id) {
53
45
  return this.members[id];
54
46
  }
47
+
55
48
  /**
56
49
  * @returns {Object} returns an object map of Member instances
57
50
  * @memberof MembersCollection
58
51
  */
59
-
60
52
  }, {
61
53
  key: "getAll",
62
54
  value: function getAll() {
63
55
  return this.members;
64
56
  }
57
+
58
+ /**
59
+ * @returns {void}
60
+ * reset members
61
+ */
62
+ }, {
63
+ key: "reset",
64
+ value: function reset() {
65
+ this.members = {};
66
+ }
65
67
  }]);
66
68
  return MembersCollection;
67
69
  }();
68
-
69
70
  exports.default = MembersCollection;
70
71
  //# sourceMappingURL=collection.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MembersCollection","MEETINGS","members","id","member"],"sources":["collection.js"],"sourcesContent":["import {MEETINGS} from '../constants';\n\n/**\n * @class MembersCollection\n */\nexport default class MembersCollection {\n namespace = MEETINGS;\n\n /**\n * @param {Object} locus\n * @memberof Members\n */\n constructor() {\n this.members = {};\n }\n\n set(id, member) {\n this.members[id] = member;\n }\n\n setAll(members) {\n this.members = members;\n }\n\n /**\n * @param {String} id\n * @returns {Member}\n */\n get(id) {\n return this.members[id];\n }\n\n /**\n * @returns {Object} returns an object map of Member instances\n * @memberof MembersCollection\n */\n getAll() {\n return this.members;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AAEA;AACA;AACA;IACqBA,iB;EAGnB;AACF;AACA;AACA;EACE,6BAAc;IAAA;IAAA,iDANFC,mBAME;IACZ,KAAKC,OAAL,GAAe,EAAf;EACD;;;;WAED,aAAIC,EAAJ,EAAQC,MAAR,EAAgB;MACd,KAAKF,OAAL,CAAaC,EAAb,IAAmBC,MAAnB;IACD;;;WAED,gBAAOF,OAAP,EAAgB;MACd,KAAKA,OAAL,GAAeA,OAAf;IACD;IAED;AACF;AACA;AACA;;;;WACE,aAAIC,EAAJ,EAAQ;MACN,OAAO,KAAKD,OAAL,CAAaC,EAAb,CAAP;IACD;IAED;AACF;AACA;AACA;;;;WACE,kBAAS;MACP,OAAO,KAAKD,OAAZ;IACD"}
1
+ {"version":3,"names":["MembersCollection","MEETINGS","members","id","member"],"sources":["collection.ts"],"sourcesContent":["import {MEETINGS} from '../constants';\n\n/**\n * @class MembersCollection\n */\nexport default class MembersCollection {\n members: any;\n namespace = MEETINGS;\n /**\n * @param {Object} locus\n * @memberof Members\n */\n constructor() {\n this.members = {};\n }\n\n set(id, member) {\n this.members[id] = member;\n }\n\n setAll(members) {\n this.members = members;\n }\n\n /**\n * @param {String} id\n * @returns {Member}\n */\n get(id: string) {\n return this.members[id];\n }\n\n /**\n * @returns {Object} returns an object map of Member instances\n * @memberof MembersCollection\n */\n getAll() {\n return this.members;\n }\n\n /**\n * @returns {void}\n * reset members\n */\n reset() {\n this.members = {};\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;AAEA;AACA;AACA;AAFA,IAGqBA,iBAAiB;EAGpC;AACF;AACA;AACA;EACE,6BAAc;IAAA;IAAA;IAAA,iDALFC,mBAAQ;IAMlB,IAAI,CAACC,OAAO,GAAG,CAAC,CAAC;EACnB;EAAC;IAAA;IAAA,OAED,aAAIC,EAAE,EAAEC,MAAM,EAAE;MACd,IAAI,CAACF,OAAO,CAACC,EAAE,CAAC,GAAGC,MAAM;IAC3B;EAAC;IAAA;IAAA,OAED,gBAAOF,OAAO,EAAE;MACd,IAAI,CAACA,OAAO,GAAGA,OAAO;IACxB;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,aAAIC,EAAU,EAAE;MACd,OAAO,IAAI,CAACD,OAAO,CAACC,EAAE,CAAC;IACzB;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,kBAAS;MACP,OAAO,IAAI,CAACD,OAAO;IACrB;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,iBAAQ;MACN,IAAI,CAACA,OAAO,GAAG,CAAC,CAAC;IACnB;EAAC;EAAA;AAAA;AAAA"}