@webex/plugin-meetings 3.0.0-beta.4 → 3.0.0-beta.400

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 (629) hide show
  1. package/README.md +58 -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 +11 -15
  75. package/dist/config.js.map +1 -1
  76. package/dist/constants.js +347 -74
  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 +125 -18
  89. package/dist/index.js.map +1 -1
  90. package/dist/interceptors/index.js +15 -0
  91. package/dist/interceptors/index.js.map +1 -0
  92. package/dist/interceptors/locusRetry.js +93 -0
  93. package/dist/interceptors/locusRetry.js.map +1 -0
  94. package/dist/interpretation/collection.js +23 -0
  95. package/dist/interpretation/collection.js.map +1 -0
  96. package/dist/interpretation/index.js +380 -0
  97. package/dist/interpretation/index.js.map +1 -0
  98. package/dist/interpretation/siLanguage.js +25 -0
  99. package/dist/interpretation/siLanguage.js.map +1 -0
  100. package/dist/locus-info/controlsUtils.js +101 -29
  101. package/dist/locus-info/controlsUtils.js.map +1 -1
  102. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  103. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  104. package/dist/locus-info/fullState.js +0 -15
  105. package/dist/locus-info/fullState.js.map +1 -1
  106. package/dist/locus-info/hostUtils.js +4 -12
  107. package/dist/locus-info/hostUtils.js.map +1 -1
  108. package/dist/locus-info/index.js +564 -246
  109. package/dist/locus-info/index.js.map +1 -1
  110. package/dist/locus-info/infoUtils.js +10 -38
  111. package/dist/locus-info/infoUtils.js.map +1 -1
  112. package/dist/locus-info/mediaSharesUtils.js +82 -38
  113. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  114. package/dist/locus-info/parser.js +314 -163
  115. package/dist/locus-info/parser.js.map +1 -1
  116. package/dist/locus-info/selfUtils.js +110 -92
  117. package/dist/locus-info/selfUtils.js.map +1 -1
  118. package/dist/media/index.js +107 -231
  119. package/dist/media/index.js.map +1 -1
  120. package/dist/media/properties.js +137 -222
  121. package/dist/media/properties.js.map +1 -1
  122. package/dist/media/util.js +2 -9
  123. package/dist/media/util.js.map +1 -1
  124. package/dist/mediaQualityMetrics/config.js +316 -501
  125. package/dist/mediaQualityMetrics/config.js.map +1 -1
  126. package/dist/meeting/in-meeting-actions.js +97 -14
  127. package/dist/meeting/in-meeting-actions.js.map +1 -1
  128. package/dist/meeting/index.js +5311 -3871
  129. package/dist/meeting/index.js.map +1 -1
  130. package/dist/meeting/locusMediaRequest.js +292 -0
  131. package/dist/meeting/locusMediaRequest.js.map +1 -0
  132. package/dist/meeting/muteState.js +260 -183
  133. package/dist/meeting/muteState.js.map +1 -1
  134. package/dist/meeting/request.js +421 -347
  135. package/dist/meeting/request.js.map +1 -1
  136. package/dist/meeting/request.type.js +7 -0
  137. package/dist/meeting/request.type.js.map +1 -0
  138. package/dist/meeting/state.js +21 -31
  139. package/dist/meeting/state.js.map +1 -1
  140. package/dist/meeting/util.js +672 -585
  141. package/dist/meeting/util.js.map +1 -1
  142. package/dist/meeting/voicea-meeting.js +172 -0
  143. package/dist/meeting/voicea-meeting.js.map +1 -0
  144. package/dist/meeting-info/collection.js +6 -25
  145. package/dist/meeting-info/collection.js.map +1 -1
  146. package/dist/meeting-info/index.js +87 -39
  147. package/dist/meeting-info/index.js.map +1 -1
  148. package/dist/meeting-info/meeting-info-v2.js +352 -283
  149. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  150. package/dist/meeting-info/request.js +3 -15
  151. package/dist/meeting-info/request.js.map +1 -1
  152. package/dist/meeting-info/util.js +99 -183
  153. package/dist/meeting-info/util.js.map +1 -1
  154. package/dist/meeting-info/utilv2.js +147 -234
  155. package/dist/meeting-info/utilv2.js.map +1 -1
  156. package/dist/meetings/collection.js +43 -19
  157. package/dist/meetings/collection.js.map +1 -1
  158. package/dist/meetings/index.js +895 -600
  159. package/dist/meetings/index.js.map +1 -1
  160. package/dist/meetings/meetings.types.js +7 -0
  161. package/dist/meetings/meetings.types.js.map +1 -0
  162. package/dist/meetings/request.js +26 -41
  163. package/dist/meetings/request.js.map +1 -1
  164. package/dist/meetings/util.js +184 -157
  165. package/dist/meetings/util.js.map +1 -1
  166. package/dist/member/index.js +134 -85
  167. package/dist/member/index.js.map +1 -1
  168. package/dist/member/types.js +25 -0
  169. package/dist/member/types.js.map +1 -0
  170. package/dist/member/util.js +158 -88
  171. package/dist/member/util.js.map +1 -1
  172. package/dist/members/collection.js +13 -12
  173. package/dist/members/collection.js.map +1 -1
  174. package/dist/members/index.js +194 -204
  175. package/dist/members/index.js.map +1 -1
  176. package/dist/members/request.js +113 -68
  177. package/dist/members/request.js.map +1 -1
  178. package/dist/members/types.js +15 -0
  179. package/dist/members/types.js.map +1 -0
  180. package/dist/members/util.js +324 -259
  181. package/dist/members/util.js.map +1 -1
  182. package/dist/metrics/constants.js +19 -7
  183. package/dist/metrics/constants.js.map +1 -1
  184. package/dist/metrics/index.js +11 -558
  185. package/dist/metrics/index.js.map +1 -1
  186. package/dist/multistream/mediaRequestManager.js +263 -50
  187. package/dist/multistream/mediaRequestManager.js.map +1 -1
  188. package/dist/multistream/receiveSlot.js +58 -65
  189. package/dist/multistream/receiveSlot.js.map +1 -1
  190. package/dist/multistream/receiveSlotManager.js +76 -95
  191. package/dist/multistream/receiveSlotManager.js.map +1 -1
  192. package/dist/multistream/remoteMedia.js +62 -76
  193. package/dist/multistream/remoteMedia.js.map +1 -1
  194. package/dist/multistream/remoteMediaGroup.js +82 -45
  195. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  196. package/dist/multistream/remoteMediaManager.js +657 -448
  197. package/dist/multistream/remoteMediaManager.js.map +1 -1
  198. package/dist/multistream/sendSlotManager.js +255 -0
  199. package/dist/multistream/sendSlotManager.js.map +1 -0
  200. package/dist/networkQualityMonitor/index.js +40 -59
  201. package/dist/networkQualityMonitor/index.js.map +1 -1
  202. package/dist/personal-meeting-room/index.js +21 -45
  203. package/dist/personal-meeting-room/index.js.map +1 -1
  204. package/dist/personal-meeting-room/request.js +1 -31
  205. package/dist/personal-meeting-room/request.js.map +1 -1
  206. package/dist/personal-meeting-room/util.js +0 -13
  207. package/dist/personal-meeting-room/util.js.map +1 -1
  208. package/dist/reachability/clusterReachability.js +356 -0
  209. package/dist/reachability/clusterReachability.js.map +1 -0
  210. package/dist/reachability/index.js +297 -460
  211. package/dist/reachability/index.js.map +1 -1
  212. package/dist/reachability/request.js +20 -26
  213. package/dist/reachability/request.js.map +1 -1
  214. package/dist/reachability/util.js +29 -0
  215. package/dist/reachability/util.js.map +1 -0
  216. package/dist/reactions/constants.js +13 -0
  217. package/dist/reactions/constants.js.map +1 -0
  218. package/dist/reactions/reactions.js +109 -0
  219. package/dist/reactions/reactions.js.map +1 -0
  220. package/dist/reactions/reactions.type.js +36 -0
  221. package/dist/reactions/reactions.type.js.map +1 -0
  222. package/dist/reconnection-manager/index.js +413 -483
  223. package/dist/reconnection-manager/index.js.map +1 -1
  224. package/dist/recording-controller/enums.js +17 -0
  225. package/dist/recording-controller/enums.js.map +1 -0
  226. package/dist/recording-controller/index.js +362 -0
  227. package/dist/recording-controller/index.js.map +1 -0
  228. package/dist/recording-controller/util.js +64 -0
  229. package/dist/recording-controller/util.js.map +1 -0
  230. package/dist/roap/index.js +102 -86
  231. package/dist/roap/index.js.map +1 -1
  232. package/dist/roap/request.js +131 -135
  233. package/dist/roap/request.js.map +1 -1
  234. package/dist/roap/turnDiscovery.js +437 -116
  235. package/dist/roap/turnDiscovery.js.map +1 -1
  236. package/dist/rtcMetrics/constants.js +12 -0
  237. package/dist/rtcMetrics/constants.js.map +1 -0
  238. package/dist/rtcMetrics/index.js +179 -0
  239. package/dist/rtcMetrics/index.js.map +1 -0
  240. package/dist/statsAnalyzer/global.js +1 -95
  241. package/dist/statsAnalyzer/global.js.map +1 -1
  242. package/dist/statsAnalyzer/index.js +557 -583
  243. package/dist/statsAnalyzer/index.js.map +1 -1
  244. package/dist/statsAnalyzer/mqaUtil.js +326 -130
  245. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  246. package/dist/transcription/index.js +22 -47
  247. package/dist/transcription/index.js.map +1 -1
  248. package/dist/types/annotation/annotation.types.d.ts +42 -0
  249. package/dist/types/annotation/constants.d.ts +31 -0
  250. package/dist/types/annotation/index.d.ts +117 -0
  251. package/dist/types/breakouts/breakout.d.ts +8 -0
  252. package/dist/types/breakouts/collection.d.ts +5 -0
  253. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  254. package/dist/types/breakouts/events.d.ts +8 -0
  255. package/dist/types/breakouts/index.d.ts +5 -0
  256. package/dist/types/breakouts/request.d.ts +22 -0
  257. package/dist/types/breakouts/utils.d.ts +15 -0
  258. package/dist/types/common/browser-detection.d.ts +9 -0
  259. package/dist/types/common/collection.d.ts +48 -0
  260. package/dist/types/common/config.d.ts +2 -0
  261. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  262. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  263. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  264. package/dist/types/common/errors/media.d.ts +15 -0
  265. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  266. package/dist/types/common/errors/parameter.d.ts +15 -0
  267. package/dist/types/common/errors/password-error.d.ts +15 -0
  268. package/dist/types/common/errors/permission.d.ts +14 -0
  269. package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
  270. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  271. package/dist/types/common/errors/reconnection.d.ts +15 -0
  272. package/dist/types/common/errors/stats.d.ts +15 -0
  273. package/dist/types/common/errors/webex-errors.d.ts +93 -0
  274. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  275. package/dist/types/common/events/events-scope.d.ts +17 -0
  276. package/dist/types/common/events/events.d.ts +12 -0
  277. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  278. package/dist/types/common/events/util.d.ts +2 -0
  279. package/dist/types/common/logs/logger-config.d.ts +2 -0
  280. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  281. package/dist/types/common/logs/request.d.ts +36 -0
  282. package/dist/types/common/queue.d.ts +34 -0
  283. package/dist/types/config.d.ts +72 -0
  284. package/dist/types/constants.d.ts +1088 -0
  285. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  286. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  287. package/dist/types/controls-options-manager/index.d.ts +136 -0
  288. package/dist/types/controls-options-manager/types.d.ts +43 -0
  289. package/dist/types/controls-options-manager/util.d.ts +1 -0
  290. package/dist/types/index.d.ts +7 -0
  291. package/dist/types/interceptors/index.d.ts +2 -0
  292. package/dist/types/interceptors/locusRetry.d.ts +27 -0
  293. package/dist/types/interpretation/collection.d.ts +5 -0
  294. package/dist/types/interpretation/index.d.ts +5 -0
  295. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  296. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  297. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  298. package/dist/types/locus-info/fullState.d.ts +2 -0
  299. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  300. package/dist/types/locus-info/index.d.ts +322 -0
  301. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  302. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  303. package/dist/types/locus-info/parser.d.ts +272 -0
  304. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  305. package/dist/types/media/index.d.ts +34 -0
  306. package/dist/types/media/properties.d.ts +93 -0
  307. package/dist/types/media/util.d.ts +2 -0
  308. package/dist/types/mediaQualityMetrics/config.d.ts +241 -0
  309. package/dist/types/meeting/in-meeting-actions.d.ts +167 -0
  310. package/dist/types/meeting/index.d.ts +1824 -0
  311. package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
  312. package/dist/types/meeting/muteState.d.ts +178 -0
  313. package/dist/types/meeting/request.d.ts +293 -0
  314. package/dist/types/meeting/request.type.d.ts +11 -0
  315. package/dist/types/meeting/state.d.ts +9 -0
  316. package/dist/types/meeting/util.d.ts +118 -0
  317. package/dist/types/meeting/voicea-meeting.d.ts +16 -0
  318. package/dist/types/meeting-info/collection.d.ts +20 -0
  319. package/dist/types/meeting-info/index.d.ts +69 -0
  320. package/dist/types/meeting-info/meeting-info-v2.d.ts +123 -0
  321. package/dist/types/meeting-info/request.d.ts +22 -0
  322. package/dist/types/meeting-info/util.d.ts +2 -0
  323. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  324. package/dist/types/meetings/collection.d.ts +40 -0
  325. package/dist/types/meetings/index.d.ts +389 -0
  326. package/dist/types/meetings/meetings.types.d.ts +4 -0
  327. package/dist/types/meetings/request.d.ts +27 -0
  328. package/dist/types/meetings/util.d.ts +18 -0
  329. package/dist/types/member/index.d.ts +160 -0
  330. package/dist/types/member/types.d.ts +32 -0
  331. package/dist/types/member/util.d.ts +2 -0
  332. package/dist/types/members/collection.d.ts +29 -0
  333. package/dist/types/members/index.d.ts +353 -0
  334. package/dist/types/members/request.d.ts +114 -0
  335. package/dist/types/members/types.d.ts +25 -0
  336. package/dist/types/members/util.d.ts +215 -0
  337. package/dist/types/metrics/constants.d.ts +70 -0
  338. package/dist/types/metrics/index.d.ts +45 -0
  339. package/dist/types/multistream/mediaRequestManager.d.ts +120 -0
  340. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  341. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  342. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  343. package/dist/types/multistream/remoteMediaGroup.d.ts +49 -0
  344. package/dist/types/multistream/remoteMediaManager.d.ts +301 -0
  345. package/dist/types/multistream/sendSlotManager.d.ts +70 -0
  346. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  347. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  348. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  349. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  350. package/dist/types/reachability/clusterReachability.d.ts +109 -0
  351. package/dist/types/reachability/index.d.ts +105 -0
  352. package/dist/types/reachability/request.d.ts +39 -0
  353. package/dist/types/reachability/util.d.ts +8 -0
  354. package/dist/types/reactions/constants.d.ts +3 -0
  355. package/dist/types/reactions/reactions.d.ts +4 -0
  356. package/dist/types/reactions/reactions.type.d.ts +52 -0
  357. package/dist/types/reconnection-manager/index.d.ts +136 -0
  358. package/dist/types/recording-controller/enums.d.ts +7 -0
  359. package/dist/types/recording-controller/index.d.ts +207 -0
  360. package/dist/types/recording-controller/util.d.ts +14 -0
  361. package/dist/types/roap/index.d.ts +86 -0
  362. package/dist/types/roap/request.d.ts +39 -0
  363. package/dist/types/roap/turnDiscovery.d.ts +155 -0
  364. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  365. package/dist/types/rtcMetrics/index.d.ts +61 -0
  366. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  367. package/dist/types/statsAnalyzer/index.d.ts +217 -0
  368. package/dist/types/statsAnalyzer/mqaUtil.d.ts +48 -0
  369. package/dist/types/transcription/index.d.ts +64 -0
  370. package/dist/types/webinar/collection.d.ts +16 -0
  371. package/dist/types/webinar/index.d.ts +5 -0
  372. package/dist/webinar/collection.js +44 -0
  373. package/dist/webinar/collection.js.map +1 -0
  374. package/dist/webinar/index.js +69 -0
  375. package/dist/webinar/index.js.map +1 -0
  376. package/internal-README.md +7 -6
  377. package/package.json +30 -21
  378. package/src/annotation/annotation.types.ts +50 -0
  379. package/src/annotation/constants.ts +36 -0
  380. package/src/annotation/index.ts +328 -0
  381. package/src/breakouts/README.md +220 -0
  382. package/src/breakouts/breakout.ts +188 -0
  383. package/src/breakouts/collection.ts +19 -0
  384. package/src/breakouts/edit-lock-error.ts +25 -0
  385. package/src/breakouts/events.ts +56 -0
  386. package/src/breakouts/index.ts +925 -0
  387. package/src/breakouts/request.ts +55 -0
  388. package/src/breakouts/utils.ts +57 -0
  389. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  390. package/src/common/collection.ts +9 -7
  391. package/src/common/{config.js → config.ts} +1 -1
  392. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  393. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  394. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  395. package/src/common/errors/{media.js → media.ts} +11 -7
  396. package/src/common/errors/no-meeting-info.ts +24 -0
  397. package/src/common/errors/parameter.ts +11 -7
  398. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  399. package/src/common/errors/{permission.js → permission.ts} +10 -6
  400. package/src/common/errors/reclaim-host-role-errors.ts +134 -0
  401. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  402. package/src/common/errors/{stats.js → stats.ts} +11 -7
  403. package/src/common/errors/{webex-errors.js → webex-errors.ts} +51 -8
  404. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  405. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  406. package/src/common/events/{events.js → events.ts} +5 -1
  407. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  408. package/src/common/events/{util.js → util.ts} +2 -3
  409. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  410. package/src/common/logs/logger-proxy.ts +44 -0
  411. package/src/common/logs/{request.js → request.ts} +26 -9
  412. package/src/common/queue.ts +22 -9
  413. package/src/{config.js → config.ts} +19 -21
  414. package/src/constants.ts +296 -27
  415. package/src/controls-options-manager/constants.ts +5 -0
  416. package/src/controls-options-manager/enums.ts +18 -0
  417. package/src/controls-options-manager/index.ts +278 -0
  418. package/src/controls-options-manager/types.ts +59 -0
  419. package/src/controls-options-manager/util.ts +300 -0
  420. package/src/index.ts +45 -0
  421. package/src/interceptors/index.ts +3 -0
  422. package/src/interceptors/locusRetry.ts +67 -0
  423. package/src/interpretation/README.md +60 -0
  424. package/src/interpretation/collection.ts +19 -0
  425. package/src/interpretation/index.ts +349 -0
  426. package/src/interpretation/siLanguage.ts +18 -0
  427. package/src/locus-info/controlsUtils.ts +222 -0
  428. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  429. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  430. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  431. package/src/locus-info/{index.js → index.ts} +561 -119
  432. package/src/locus-info/{infoUtils.js → infoUtils.ts} +29 -10
  433. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +97 -17
  434. package/src/locus-info/{parser.js → parser.ts} +303 -104
  435. package/src/locus-info/{selfUtils.js → selfUtils.ts} +199 -68
  436. package/src/media/index.ts +460 -0
  437. package/src/media/properties.ts +283 -0
  438. package/src/media/{util.js → util.ts} +2 -2
  439. package/src/mediaQualityMetrics/config.ts +249 -0
  440. package/src/meeting/in-meeting-actions.ts +199 -3
  441. package/src/meeting/index.ts +8494 -0
  442. package/src/meeting/locusMediaRequest.ts +313 -0
  443. package/src/meeting/muteState.ts +465 -0
  444. package/src/meeting/request.ts +912 -0
  445. package/src/meeting/request.type.ts +13 -0
  446. package/src/meeting/{state.js → state.ts} +50 -35
  447. package/src/meeting/util.ts +799 -0
  448. package/src/meeting/voicea-meeting.ts +122 -0
  449. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  450. package/src/meeting-info/index.ts +210 -0
  451. package/src/meeting-info/meeting-info-v2.ts +423 -0
  452. package/src/meeting-info/{request.js → request.ts} +14 -4
  453. package/src/meeting-info/{util.js → util.ts} +70 -58
  454. package/src/meeting-info/{utilv2.js → utilv2.ts} +99 -82
  455. package/src/meetings/collection.ts +76 -0
  456. package/src/meetings/index.ts +1539 -0
  457. package/src/meetings/meetings.types.ts +12 -0
  458. package/src/meetings/{request.js → request.ts} +34 -25
  459. package/src/meetings/{util.js → util.ts} +133 -38
  460. package/src/member/{index.js → index.ts} +159 -56
  461. package/src/member/types.ts +38 -0
  462. package/src/member/util.ts +397 -0
  463. package/src/members/{collection.js → collection.ts} +10 -2
  464. package/src/members/{index.js → index.ts} +351 -146
  465. package/src/members/request.ts +255 -0
  466. package/src/members/types.ts +29 -0
  467. package/src/members/util.ts +353 -0
  468. package/src/metrics/{constants.js → constants.ts} +17 -6
  469. package/src/metrics/index.ts +73 -0
  470. package/src/multistream/mediaRequestManager.ts +341 -64
  471. package/src/multistream/receiveSlot.ts +69 -26
  472. package/src/multistream/receiveSlotManager.ts +66 -42
  473. package/src/multistream/remoteMedia.ts +40 -5
  474. package/src/multistream/remoteMediaGroup.ts +82 -3
  475. package/src/multistream/remoteMediaManager.ts +401 -81
  476. package/src/multistream/sendSlotManager.ts +199 -0
  477. package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
  478. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  479. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  480. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  481. package/src/reachability/clusterReachability.ts +320 -0
  482. package/src/reachability/index.ts +371 -0
  483. package/src/reachability/request.ts +50 -35
  484. package/src/reachability/util.ts +24 -0
  485. package/src/reactions/constants.ts +4 -0
  486. package/src/reactions/reactions.ts +104 -0
  487. package/src/reactions/reactions.type.ts +62 -0
  488. package/src/reconnection-manager/index.ts +643 -0
  489. package/src/recording-controller/enums.ts +8 -0
  490. package/src/recording-controller/index.ts +332 -0
  491. package/src/recording-controller/util.ts +75 -0
  492. package/src/roap/index.ts +288 -0
  493. package/src/roap/request.ts +153 -0
  494. package/src/roap/turnDiscovery.ts +374 -70
  495. package/src/rtcMetrics/constants.ts +3 -0
  496. package/src/rtcMetrics/index.ts +166 -0
  497. package/src/statsAnalyzer/global.ts +37 -0
  498. package/src/statsAnalyzer/index.ts +1275 -0
  499. package/src/statsAnalyzer/mqaUtil.ts +440 -0
  500. package/src/transcription/{index.js → index.ts} +46 -39
  501. package/src/webinar/collection.ts +31 -0
  502. package/src/webinar/index.ts +62 -0
  503. package/test/integration/spec/converged-space-meetings.js +233 -0
  504. package/test/integration/spec/journey.js +791 -531
  505. package/test/integration/spec/space-meeting.js +391 -204
  506. package/test/integration/spec/transcription.js +7 -8
  507. package/test/unit/spec/annotation/index.ts +418 -0
  508. package/test/unit/spec/breakouts/breakout.ts +238 -0
  509. package/test/unit/spec/breakouts/collection.ts +15 -0
  510. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  511. package/test/unit/spec/breakouts/events.ts +89 -0
  512. package/test/unit/spec/breakouts/index.ts +1793 -0
  513. package/test/unit/spec/breakouts/request.ts +104 -0
  514. package/test/unit/spec/breakouts/utils.js +72 -0
  515. package/test/unit/spec/common/browser-detection.js +9 -28
  516. package/test/unit/spec/common/queue.js +31 -2
  517. package/test/unit/spec/controls-options-manager/index.js +287 -0
  518. package/test/unit/spec/controls-options-manager/util.js +582 -0
  519. package/test/unit/spec/fixture/locus.js +93 -90
  520. package/test/unit/spec/interceptors/locusRetry.ts +131 -0
  521. package/test/unit/spec/interpretation/collection.ts +15 -0
  522. package/test/unit/spec/interpretation/index.ts +625 -0
  523. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  524. package/test/unit/spec/locus-info/controlsUtils.js +325 -32
  525. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  526. package/test/unit/spec/locus-info/index.js +1458 -21
  527. package/test/unit/spec/locus-info/infoUtils.js +71 -40
  528. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  529. package/test/unit/spec/locus-info/lib/SeqCmp.json +529 -685
  530. package/test/unit/spec/locus-info/mediaSharesUtils.ts +41 -0
  531. package/test/unit/spec/locus-info/parser.js +119 -44
  532. package/test/unit/spec/locus-info/selfConstant.js +120 -103
  533. package/test/unit/spec/locus-info/selfUtils.js +291 -12
  534. package/test/unit/spec/media/index.ts +194 -111
  535. package/test/unit/spec/media/properties.ts +11 -11
  536. package/test/unit/spec/meeting/in-meeting-actions.ts +96 -3
  537. package/test/unit/spec/meeting/index.js +8616 -1921
  538. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  539. package/test/unit/spec/meeting/muteState.js +568 -207
  540. package/test/unit/spec/meeting/request.js +602 -82
  541. package/test/unit/spec/meeting/utils.js +867 -179
  542. package/test/unit/spec/meeting/voicea-meeting.ts +266 -0
  543. package/test/unit/spec/meeting-info/index.js +300 -0
  544. package/test/unit/spec/meeting-info/meetinginfov2.js +631 -78
  545. package/test/unit/spec/meeting-info/request.js +7 -9
  546. package/test/unit/spec/meeting-info/util.js +11 -12
  547. package/test/unit/spec/meeting-info/utilv2.js +131 -74
  548. package/test/unit/spec/meetings/collection.js +27 -1
  549. package/test/unit/spec/meetings/index.js +1826 -374
  550. package/test/unit/spec/meetings/utils.js +243 -14
  551. package/test/unit/spec/member/index.js +61 -7
  552. package/test/unit/spec/member/util.js +526 -26
  553. package/test/unit/spec/members/index.js +536 -55
  554. package/test/unit/spec/members/request.js +228 -40
  555. package/test/unit/spec/members/utils.js +217 -4
  556. package/test/unit/spec/metrics/index.js +13 -68
  557. package/test/unit/spec/multistream/mediaRequestManager.ts +1032 -110
  558. package/test/unit/spec/multistream/receiveSlot.ts +77 -18
  559. package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
  560. package/test/unit/spec/multistream/remoteMedia.ts +40 -2
  561. package/test/unit/spec/multistream/remoteMediaGroup.ts +350 -5
  562. package/test/unit/spec/multistream/remoteMediaManager.ts +937 -65
  563. package/test/unit/spec/multistream/sendSlotManager.ts +274 -0
  564. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  565. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  566. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  567. package/test/unit/spec/reachability/index.ts +606 -26
  568. package/test/unit/spec/reachability/request.js +68 -0
  569. package/test/unit/spec/reachability/util.ts +40 -0
  570. package/test/unit/spec/reconnection-manager/index.js +222 -34
  571. package/test/unit/spec/recording-controller/index.js +306 -0
  572. package/test/unit/spec/recording-controller/util.js +229 -0
  573. package/test/unit/spec/roap/index.ts +238 -82
  574. package/test/unit/spec/roap/request.ts +255 -0
  575. package/test/unit/spec/roap/turnDiscovery.ts +707 -110
  576. package/test/unit/spec/rtcMetrics/index.ts +122 -0
  577. package/test/unit/spec/stats-analyzer/index.js +1331 -62
  578. package/test/unit/spec/webinar/collection.ts +13 -0
  579. package/test/unit/spec/webinar/index.ts +60 -0
  580. package/test/utils/cmr.js +44 -42
  581. package/test/utils/constants.js +9 -0
  582. package/test/utils/integrationTestUtils.js +46 -0
  583. package/test/utils/testUtils.js +63 -99
  584. package/test/utils/webex-config.js +22 -18
  585. package/test/utils/webex-test-users.js +65 -50
  586. package/tsconfig.json +6 -0
  587. package/dist/media/internal-media-core-wrapper.js +0 -22
  588. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  589. package/dist/meeting/effectsState.js +0 -327
  590. package/dist/meeting/effectsState.js.map +0 -1
  591. package/dist/metrics/config.js +0 -301
  592. package/dist/metrics/config.js.map +0 -1
  593. package/dist/multistream/multistreamMedia.js +0 -116
  594. package/dist/multistream/multistreamMedia.js.map +0 -1
  595. package/dist/peer-connection-manager/util.js +0 -124
  596. package/dist/peer-connection-manager/util.js.map +0 -1
  597. package/src/common/logs/logger-proxy.js +0 -33
  598. package/src/index.js +0 -15
  599. package/src/locus-info/controlsUtils.js +0 -102
  600. package/src/media/index.js +0 -459
  601. package/src/media/internal-media-core-wrapper.ts +0 -9
  602. package/src/media/properties.js +0 -289
  603. package/src/mediaQualityMetrics/config.js +0 -382
  604. package/src/meeting/effectsState.js +0 -205
  605. package/src/meeting/index.js +0 -6284
  606. package/src/meeting/muteState.js +0 -318
  607. package/src/meeting/request.js +0 -684
  608. package/src/meeting/util.js +0 -506
  609. package/src/meeting-info/index.js +0 -131
  610. package/src/meeting-info/meeting-info-v2.js +0 -255
  611. package/src/meetings/collection.js +0 -40
  612. package/src/meetings/index.js +0 -1015
  613. package/src/member/util.js +0 -254
  614. package/src/members/request.js +0 -131
  615. package/src/members/util.js +0 -258
  616. package/src/metrics/config.js +0 -324
  617. package/src/metrics/index.js +0 -530
  618. package/src/multistream/multistreamMedia.ts +0 -92
  619. package/src/peer-connection-manager/util.ts +0 -117
  620. package/src/reachability/index.js +0 -464
  621. package/src/reconnection-manager/index.js +0 -519
  622. package/src/roap/index.js +0 -220
  623. package/src/roap/request.js +0 -127
  624. package/src/statsAnalyzer/global.js +0 -133
  625. package/src/statsAnalyzer/index.js +0 -1006
  626. package/src/statsAnalyzer/mqaUtil.js +0 -173
  627. package/test/unit/spec/meeting/effectsState.js +0 -291
  628. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  629. /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"}