@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,29 +1,19 @@
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
- var _util = _interopRequireDefault(require("./util.js"));
22
-
13
+ var _util = _interopRequireDefault(require("./util"));
23
14
  /*!
24
15
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
25
16
  */
26
-
27
17
  /**
28
18
  * @class Member
29
19
  */
@@ -41,15 +31,50 @@ var Member = /*#__PURE__*/function () {
41
31
  function Member(participant) {
42
32
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
43
33
  (0, _classCallCheck2.default)(this, Member);
34
+ (0, _defineProperty2.default)(this, "associatedUser", void 0);
35
+ (0, _defineProperty2.default)(this, "canReclaimHost", void 0);
36
+ (0, _defineProperty2.default)(this, "id", void 0);
37
+ (0, _defineProperty2.default)(this, "isAudioMuted", void 0);
38
+ (0, _defineProperty2.default)(this, "isContentSharing", void 0);
39
+ (0, _defineProperty2.default)(this, "isDevice", void 0);
40
+ (0, _defineProperty2.default)(this, "isGuest", void 0);
41
+ (0, _defineProperty2.default)(this, "isHandRaised", void 0);
42
+ (0, _defineProperty2.default)(this, "isHost", void 0);
43
+ (0, _defineProperty2.default)(this, "isInLobby", void 0);
44
+ (0, _defineProperty2.default)(this, "isInMeeting", void 0);
45
+ (0, _defineProperty2.default)(this, "isModerator", void 0);
46
+ (0, _defineProperty2.default)(this, "isModeratorAssignmentProhibited", void 0);
47
+ (0, _defineProperty2.default)(this, "isMutable", void 0);
48
+ (0, _defineProperty2.default)(this, "isNotAdmitted", void 0);
49
+ (0, _defineProperty2.default)(this, "isRecording", void 0);
50
+ (0, _defineProperty2.default)(this, "isRemovable", void 0);
51
+ (0, _defineProperty2.default)(this, "isSelf", void 0);
52
+ (0, _defineProperty2.default)(this, "isUser", void 0);
53
+ (0, _defineProperty2.default)(this, "isVideoMuted", void 0);
54
+ (0, _defineProperty2.default)(this, "roles", void 0);
55
+ (0, _defineProperty2.default)(this, "mediaStatus", void 0);
56
+ (0, _defineProperty2.default)(this, "name", void 0);
57
+ (0, _defineProperty2.default)(this, "participant", void 0);
58
+ (0, _defineProperty2.default)(this, "status", void 0);
59
+ (0, _defineProperty2.default)(this, "supportsBreakouts", void 0);
60
+ (0, _defineProperty2.default)(this, "supportsInterpretation", void 0);
61
+ (0, _defineProperty2.default)(this, "supportLiveAnnotation", void 0);
62
+ (0, _defineProperty2.default)(this, "type", void 0);
44
63
  (0, _defineProperty2.default)(this, "namespace", _constants.MEETINGS);
45
-
64
+ /**
65
+ * @instance
66
+ * @type {Boolean}
67
+ * @public
68
+ * @memberof Member
69
+ */
70
+ this.canReclaimHost = false;
46
71
  /**
47
72
  * The server participant object
48
73
  * @instance
49
74
  * @type {Object}
50
75
  * @private
51
76
  * @memberof Member
52
- */
77
+ */
53
78
  this.participant = null;
54
79
  /**
55
80
  * The member id
@@ -57,8 +82,7 @@ var Member = /*#__PURE__*/function () {
57
82
  * @type {String}
58
83
  * @public
59
84
  * @memberof Member
60
- */
61
-
85
+ */
62
86
  this.id = null;
63
87
  /**
64
88
  * The member name
@@ -66,176 +90,191 @@ var Member = /*#__PURE__*/function () {
66
90
  * @type {String}
67
91
  * @public
68
92
  * @memberof Member
69
- */
70
-
93
+ */
71
94
  this.name = null;
72
95
  /**
73
96
  * @instance
74
97
  * @type {Boolean}
75
98
  * @public
76
99
  * @memberof Member
77
- */
78
-
100
+ */
79
101
  this.isAudioMuted = null;
80
102
  /**
81
103
  * @instance
82
104
  * @type {Boolean}
83
105
  * @public
84
106
  * @memberof Member
85
- */
86
-
107
+ */
87
108
  this.isVideoMuted = null;
88
109
  /**
89
110
  * @instance
90
111
  * @type {Boolean}
91
112
  * @public
92
113
  * @memberof Member
93
- */
94
-
114
+ */
95
115
  this.isHandRaised = null;
96
116
  /**
97
- * @instance
98
- * @type {Boolean}
99
- * @public
100
- * @memberof Member
117
+ * @instance
118
+ * @type {Boolean}
119
+ * @public
120
+ * @memberof Member
121
+ */
122
+ this.supportsBreakouts = null;
123
+ /**
124
+ * @instance
125
+ * @type {Boolean}
126
+ * @public
127
+ * @memberof Member
128
+ */
129
+ this.supportLiveAnnotation = null;
130
+ /**
131
+ * @instance
132
+ * @type {Boolean}
133
+ * @public
134
+ * @memberof Member
101
135
  */
102
-
103
136
  this.isSelf = null;
104
137
  /**
105
138
  * @instance
106
139
  * @type {Boolean}
107
140
  * @public
108
141
  * @memberof Member
109
- */
110
-
142
+ */
111
143
  this.isHost = null;
112
144
  /**
113
145
  * @instance
114
146
  * @type {Boolean}
115
147
  * @public
116
148
  * @memberof Member
117
- */
118
-
149
+ */
119
150
  this.isGuest = null;
120
151
  /**
121
152
  * @instance
122
153
  * @type {Boolean}
123
154
  * @public
124
155
  * @memberof Member
125
- */
126
-
156
+ */
127
157
  this.isInLobby = null;
128
158
  /**
129
159
  * @instance
130
160
  * @type {Boolean}
131
161
  * @public
132
162
  * @memberof Member
133
- */
134
-
163
+ */
135
164
  this.isInMeeting = null;
136
165
  /**
137
166
  * @instance
138
167
  * @type {Boolean}
139
168
  * @public
140
169
  * @memberof Member
141
- */
142
-
170
+ */
143
171
  this.isNotAdmitted = null;
144
172
  /**
145
173
  * @instance
146
174
  * @type {Boolean}
147
175
  * @public
148
176
  * @memberof Member
149
- */
150
-
177
+ */
151
178
  this.isContentSharing = null;
152
179
  /**
153
180
  * @instance
154
181
  * @type {Boolean}
155
182
  * @public
156
183
  * @memberof Member
157
- */
158
-
184
+ */
159
185
  this.status = null;
160
186
  /**
161
187
  * @instance
162
188
  * @type {Boolean}
163
189
  * @public
164
190
  * @memberof Member
165
- */
166
-
191
+ */
167
192
  this.isDevice = null;
168
193
  /**
169
194
  * @instance
170
195
  * @type {Boolean}
171
196
  * @public
172
197
  * @memberof Member
173
- */
174
-
198
+ */
175
199
  this.isUser = null;
176
200
  /**
177
- * Is this member associated to another user by way of pairing (typical of devices)
201
+ * Is this member associated to another user by way of pairing (typical of devices)
178
202
  * @instance
179
203
  * @type {String}
180
204
  * @public
181
205
  * @memberof Member
182
- */
183
-
206
+ */
184
207
  this.associatedUser = null;
185
208
  /**
186
209
  * @instance
187
210
  * @type {Boolean}
188
211
  * @public
189
212
  * @memberof Member
190
- */
191
-
213
+ */
192
214
  this.isRecording = null;
193
215
  /**
194
216
  * @instance
195
217
  * @type {Boolean}
196
218
  * @public
197
219
  * @memberof Member
198
- */
199
-
220
+ */
200
221
  this.isMutable = null;
201
222
  /**
202
223
  * @instance
203
224
  * @type {Boolean}
204
225
  * @public
205
226
  * @memberof Member
206
- */
207
-
227
+ */
208
228
  this.isRemovable = null;
209
229
  /**
210
230
  * @instance
211
231
  * @type {String}
212
232
  * @private
213
233
  * @memberof Member
214
- */
215
-
234
+ */
216
235
  this.type = null;
217
236
  /**
218
237
  * @instance
219
238
  * @type {Boolean}
220
239
  * @public
221
240
  * @memberof Member
222
- */
223
-
241
+ */
224
242
  this.isModerator = null;
225
243
  /**
226
244
  * @instance
227
245
  * @type {Boolean}
228
246
  * @public
229
247
  * @memberof Member
230
- */
248
+ */
249
+ this.isModeratorAssignmentProhibited = null;
231
250
 
232
- this.isModeratorAssignmentProhibited = null; // TODO: more participant types
233
- // such as native client, web client, is a device, what type of phone, etc
251
+ /**
252
+ * @instance
253
+ * @type {IExternalRoles}
254
+ * @public
255
+ * @memberof Member
256
+ */
257
+ this.roles = null;
234
258
 
259
+ /**
260
+ * @instance
261
+ * @type {IMediaStatus}
262
+ * @public
263
+ * @memberof Member
264
+ * @example {audio: MediaStatus.RECVONLY, video: MediaStatus.SENDRECV}
265
+ */
266
+ this.mediaStatus = {
267
+ audio: null,
268
+ video: null
269
+ };
270
+
271
+ // TODO: more participant types
272
+ // such as native client, web client, is a device, what type of phone, etc
235
273
  this.processParticipant(participant);
236
274
  this.processParticipantOptions(participant, options);
237
275
  this.processMember();
238
276
  }
277
+
239
278
  /**
240
279
  * set all the participant values extracted directly from locus participant
241
280
  * @param {Object} participant the locus participant object
@@ -243,29 +282,32 @@ var Member = /*#__PURE__*/function () {
243
282
  * @private
244
283
  * @memberof Member
245
284
  */
246
-
247
-
248
285
  (0, _createClass2.default)(Member, [{
249
286
  key: "processParticipant",
250
287
  value: function processParticipant(participant) {
251
288
  this.participant = participant;
252
-
253
289
  if (participant) {
290
+ this.canReclaimHost = _util.default.canReclaimHost(participant);
254
291
  this.id = _util.default.extractId(participant);
255
292
  this.name = _util.default.extractName(participant);
256
293
  this.isAudioMuted = _util.default.isAudioMuted(participant);
257
294
  this.isVideoMuted = _util.default.isVideoMuted(participant);
258
295
  this.isHandRaised = _util.default.isHandRaised(participant);
296
+ this.supportsBreakouts = _util.default.isBreakoutsSupported(participant);
297
+ this.supportsInterpretation = _util.default.isInterpretationSupported(participant);
298
+ this.supportLiveAnnotation = _util.default.isLiveAnnotationSupported(participant);
259
299
  this.isGuest = _util.default.isGuest(participant);
260
300
  this.isUser = _util.default.isUser(participant);
261
301
  this.isDevice = _util.default.isDevice(participant);
262
302
  this.isModerator = _util.default.isModerator(participant);
263
303
  this.isModeratorAssignmentProhibited = _util.default.isModeratorAssignmentProhibited(participant);
264
- this.processStatus(participant); // must be done last
265
-
304
+ this.processStatus(participant);
305
+ this.processRoles(participant);
306
+ // must be done last
266
307
  this.isNotAdmitted = _util.default.isNotAdmitted(participant, this.isGuest, this.status);
267
308
  }
268
309
  }
310
+
269
311
  /**
270
312
  * Use the members options and participant values to set on the member
271
313
  * @param {Object} participant the locus participant object
@@ -274,7 +316,6 @@ var Member = /*#__PURE__*/function () {
274
316
  * @private
275
317
  * @memberof Member
276
318
  */
277
-
278
319
  }, {
279
320
  key: "processParticipantOptions",
280
321
  value: function processParticipantOptions(participant, options) {
@@ -286,21 +327,23 @@ var Member = /*#__PURE__*/function () {
286
327
  this.processIsRecording(participant, options.recordingId);
287
328
  }
288
329
  }
330
+
289
331
  /**
290
332
  * processes what already exists on the member to determine other info about the member
291
333
  * @returns {undefined}
292
334
  * @private
293
335
  * @memberof Member
294
336
  */
295
-
296
337
  }, {
297
338
  key: "processMember",
298
339
  value: function processMember() {
299
340
  // must occur after self, guest, meeting, and type properties are calculated
300
- this.isRemovable = _util.default.isRemovable(this.isSelf, this.isGuest, this.isInMeeting, this.type); // must occur after self, device, meeting, mute status, and type properties are calculated
301
-
341
+ this.isRemovable = _util.default.isRemovable(this.isSelf, this.isGuest, this.isInMeeting, this.type);
342
+ // must occur after self, device, meeting, mute status, and type properties are calculated
302
343
  this.isMutable = _util.default.isMutable(this.isSelf, this.isDevice, this.isInMeeting, this.isAudioMuted, this.type);
344
+ this.mediaStatus = _util.default.extractMediaStatus(this.participant);
303
345
  }
346
+
304
347
  /**
305
348
  * set the status on member object
306
349
  * @param {Object} participant the locus participant object
@@ -308,33 +351,29 @@ var Member = /*#__PURE__*/function () {
308
351
  * @private
309
352
  * @memberof Member
310
353
  */
311
-
312
354
  }, {
313
355
  key: "processStatus",
314
356
  value: function processStatus(participant) {
315
357
  this.status = _util.default.extractStatus(participant);
316
-
317
358
  switch (this.status) {
318
359
  case _constants._IN_LOBBY_:
319
360
  this.isInLobby = true;
320
361
  this.isInMeeting = false;
321
362
  break;
322
-
323
363
  case _constants._IN_MEETING_:
324
364
  this.isInLobby = false;
325
365
  this.isInMeeting = true;
326
366
  break;
327
-
328
367
  case _constants._NOT_IN_MEETING_:
329
368
  this.isInLobby = false;
330
369
  this.isInMeeting = false;
331
370
  break;
332
-
333
371
  default:
334
372
  this.isInLobby = false;
335
373
  this.isInMeeting = false;
336
374
  }
337
375
  }
376
+
338
377
  /**
339
378
  * set the isContentSharing on member
340
379
  * @param {Boolean} flag
@@ -342,12 +381,12 @@ var Member = /*#__PURE__*/function () {
342
381
  * @public
343
382
  * @memberof Member
344
383
  */
345
-
346
384
  }, {
347
385
  key: "setIsContentSharing",
348
386
  value: function setIsContentSharing(flag) {
349
387
  this.isContentSharing = flag;
350
388
  }
389
+
351
390
  /**
352
391
  * set the isHost on member
353
392
  * @param {Boolean} flag
@@ -355,12 +394,12 @@ var Member = /*#__PURE__*/function () {
355
394
  * @public
356
395
  * @memberof Member
357
396
  */
358
-
359
397
  }, {
360
398
  key: "setIsHost",
361
399
  value: function setIsHost(flag) {
362
400
  this.isHost = flag;
363
401
  }
402
+
364
403
  /**
365
404
  * set the isSelf on member
366
405
  * @param {Boolean} flag
@@ -368,12 +407,12 @@ var Member = /*#__PURE__*/function () {
368
407
  * @public
369
408
  * @memberof Member
370
409
  */
371
-
372
410
  }, {
373
411
  key: "setIsSelf",
374
412
  value: function setIsSelf(flag) {
375
413
  this.isSelf = flag;
376
414
  }
415
+
377
416
  /**
378
417
  * determine if this member is content sharing
379
418
  * @param {Object} participant
@@ -382,7 +421,6 @@ var Member = /*#__PURE__*/function () {
382
421
  * @public
383
422
  * @memberof Member
384
423
  */
385
-
386
424
  }, {
387
425
  key: "processIsContentSharing",
388
426
  value: function processIsContentSharing(participant, sharingId) {
@@ -392,6 +430,7 @@ var Member = /*#__PURE__*/function () {
392
430
  this.isContentSharing = _util.default.isAssociatedSame(participant, sharingId);
393
431
  }
394
432
  }
433
+
395
434
  /**
396
435
  * Determine if this member is recording
397
436
  * @param {Object} participant
@@ -400,12 +439,12 @@ var Member = /*#__PURE__*/function () {
400
439
  * @public
401
440
  * @memberof Member
402
441
  */
403
-
404
442
  }, {
405
443
  key: "processIsRecording",
406
444
  value: function processIsRecording(participant, recordingId) {
407
445
  this.isRecording = _util.default.isSame(participant, recordingId);
408
446
  }
447
+
409
448
  /**
410
449
  * determine if this member is the self
411
450
  * @param {Object} participant
@@ -414,7 +453,6 @@ var Member = /*#__PURE__*/function () {
414
453
  * @private
415
454
  * @memberof Member
416
455
  */
417
-
418
456
  }, {
419
457
  key: "processIsSelf",
420
458
  value: function processIsSelf(participant, selfId) {
@@ -425,6 +463,7 @@ var Member = /*#__PURE__*/function () {
425
463
  this.associatedUser = selfId;
426
464
  }
427
465
  }
466
+
428
467
  /**
429
468
  * determine if this member is the host
430
469
  * @param {Object} participant
@@ -433,7 +472,6 @@ var Member = /*#__PURE__*/function () {
433
472
  * @private
434
473
  * @memberof Member
435
474
  */
436
-
437
475
  }, {
438
476
  key: "processIsHost",
439
477
  value: function processIsHost(participant, hostId) {
@@ -443,6 +481,20 @@ var Member = /*#__PURE__*/function () {
443
481
  this.isHost = _util.default.isAssociatedSame(participant, hostId);
444
482
  }
445
483
  }
484
+
485
+ /**
486
+ * process the roles that have been applied to this member
487
+ * @param {Object} participant
488
+ * @returns {undefined}
489
+ * @private
490
+ * @memberof Member
491
+ */
492
+ }, {
493
+ key: "processRoles",
494
+ value: function processRoles(participant) {
495
+ this.roles = _util.default.extractControlRoles(participant);
496
+ }
497
+
446
498
  /**
447
499
  * set the type for the member, could be MEETING or CALL
448
500
  * @param {String} type
@@ -450,7 +502,6 @@ var Member = /*#__PURE__*/function () {
450
502
  * @private
451
503
  * @memberof Member
452
504
  */
453
-
454
505
  }, {
455
506
  key: "processType",
456
507
  value: function processType(type) {
@@ -459,6 +510,5 @@ var Member = /*#__PURE__*/function () {
459
510
  }]);
460
511
  return Member;
461
512
  }();
462
-
463
513
  exports.default = Member;
464
514
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Member","participant","options","MEETINGS","id","name","isAudioMuted","isVideoMuted","isHandRaised","isSelf","isHost","isGuest","isInLobby","isInMeeting","isNotAdmitted","isContentSharing","status","isDevice","isUser","associatedUser","isRecording","isMutable","isRemovable","type","isModerator","isModeratorAssignmentProhibited","processParticipant","processParticipantOptions","processMember","MemberUtil","extractId","extractName","processStatus","processIsSelf","selfId","processIsHost","hostId","processIsContentSharing","contentSharingId","processType","processIsRecording","recordingId","extractStatus","_IN_LOBBY_","_IN_MEETING_","_NOT_IN_MEETING_","flag","sharingId","isSame","isAssociatedSame"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport {\n MEETINGS,\n _IN_LOBBY_,\n _NOT_IN_MEETING_,\n _IN_MEETING_\n} from '../constants';\n\nimport MemberUtil from './util.js';\n\n/**\n * @class Member\n */\nexport default class Member {\n namespace = MEETINGS;\n\n /**\n * @param {Object} participant - the locus participant\n * @param {Object} [options] - constructor params\n * @param {String} options.selfId\n * @param {String} options.hostId\n * @param {String} options.contentSharingId\n * @param {String} options.type\n * @returns {Member}\n * @memberof Member\n */\n constructor(participant, options = {}) {\n /**\n * The server participant object\n * @instance\n * @type {Object}\n * @private\n * @memberof Member\n */\n this.participant = null;\n /**\n * The member id\n * @instance\n * @type {String}\n * @public\n * @memberof Member\n */\n this.id = null;\n /**\n * The member name\n * @instance\n * @type {String}\n * @public\n * @memberof Member\n */\n this.name = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isAudioMuted = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isVideoMuted = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isHandRaised = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isSelf = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isHost = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isGuest = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isInLobby = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isInMeeting = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isNotAdmitted = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isContentSharing = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.status = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isDevice = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isUser = null;\n /**\n * Is this member associated to another user by way of pairing (typical of devices)\n * @instance\n * @type {String}\n * @public\n * @memberof Member\n */\n this.associatedUser = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isRecording = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isMutable = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isRemovable = null;\n /**\n * @instance\n * @type {String}\n * @private\n * @memberof Member\n */\n this.type = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isModerator = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isModeratorAssignmentProhibited = null;\n // TODO: more participant types\n // such as native client, web client, is a device, what type of phone, etc\n this.processParticipant(participant);\n this.processParticipantOptions(participant, options);\n this.processMember();\n }\n\n /**\n * set all the participant values extracted directly from locus participant\n * @param {Object} participant the locus participant object\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n processParticipant(participant) {\n this.participant = participant;\n if (participant) {\n this.id = MemberUtil.extractId(participant);\n this.name = MemberUtil.extractName(participant);\n this.isAudioMuted = MemberUtil.isAudioMuted(participant);\n this.isVideoMuted = MemberUtil.isVideoMuted(participant);\n this.isHandRaised = MemberUtil.isHandRaised(participant);\n this.isGuest = MemberUtil.isGuest(participant);\n this.isUser = MemberUtil.isUser(participant);\n this.isDevice = MemberUtil.isDevice(participant);\n this.isModerator = MemberUtil.isModerator(participant);\n this.isModeratorAssignmentProhibited = MemberUtil.isModeratorAssignmentProhibited(participant);\n this.processStatus(participant);\n // must be done last\n this.isNotAdmitted = MemberUtil.isNotAdmitted(participant, this.isGuest, this.status);\n }\n }\n\n /**\n * Use the members options and participant values to set on the member\n * @param {Object} participant the locus participant object\n * @param {Object} options the passed in options, what was set on members\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n processParticipantOptions(participant, options) {\n if (participant && options) {\n this.processIsSelf(participant, options.selfId);\n this.processIsHost(participant, options.hostId);\n this.processIsContentSharing(participant, options.contentSharingId);\n this.processType(options.type);\n this.processIsRecording(participant, options.recordingId);\n }\n }\n\n /**\n * processes what already exists on the member to determine other info about the member\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n processMember() {\n // must occur after self, guest, meeting, and type properties are calculated\n this.isRemovable = MemberUtil.isRemovable(this.isSelf, this.isGuest, this.isInMeeting, this.type);\n // must occur after self, device, meeting, mute status, and type properties are calculated\n this.isMutable = MemberUtil.isMutable(this.isSelf, this.isDevice, this.isInMeeting, this.isAudioMuted, this.type);\n }\n\n /**\n * set the status on member object\n * @param {Object} participant the locus participant object\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n processStatus(participant) {\n this.status = MemberUtil.extractStatus(participant);\n switch (this.status) {\n case _IN_LOBBY_:\n this.isInLobby = true;\n this.isInMeeting = false;\n break;\n case _IN_MEETING_:\n this.isInLobby = false;\n this.isInMeeting = true;\n break;\n case _NOT_IN_MEETING_:\n this.isInLobby = false;\n this.isInMeeting = false;\n break;\n default:\n this.isInLobby = false;\n this.isInMeeting = false;\n }\n }\n\n /**\n * set the isContentSharing on member\n * @param {Boolean} flag\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n setIsContentSharing(flag) {\n this.isContentSharing = flag;\n }\n\n /**\n * set the isHost on member\n * @param {Boolean} flag\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n setIsHost(flag) {\n this.isHost = flag;\n }\n\n /**\n * set the isSelf on member\n * @param {Boolean} flag\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n setIsSelf(flag) {\n this.isSelf = flag;\n }\n\n /**\n * determine if this member is content sharing\n * @param {Object} participant\n * @param {String} sharingId\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n processIsContentSharing(participant, sharingId) {\n if (MemberUtil.isUser(participant)) {\n this.isContentSharing = MemberUtil.isSame(participant, sharingId);\n }\n else if (MemberUtil.isDevice(participant)) {\n this.isContentSharing = MemberUtil.isAssociatedSame(participant, sharingId);\n }\n }\n\n /**\n * Determine if this member is recording\n * @param {Object} participant\n * @param {String} recordingId\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n processIsRecording(participant, recordingId) {\n this.isRecording = MemberUtil.isSame(participant, recordingId);\n }\n\n /**\n * determine if this member is the self\n * @param {Object} participant\n * @param {String} selfId\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n processIsSelf(participant, selfId) {\n if (MemberUtil.isUser(participant)) {\n this.isSelf = MemberUtil.isSame(participant, selfId);\n }\n else if (MemberUtil.isDevice(participant)) {\n this.isSelf = MemberUtil.isAssociatedSame(participant, selfId);\n this.associatedUser = selfId;\n }\n }\n\n /**\n * determine if this member is the host\n * @param {Object} participant\n * @param {String} hostId\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n processIsHost(participant, hostId) {\n if (MemberUtil.isUser(participant)) {\n this.isHost = MemberUtil.isSame(participant, hostId);\n }\n else if (MemberUtil.isDevice(participant)) {\n this.isHost = MemberUtil.isAssociatedSame(participant, hostId);\n }\n }\n\n /**\n * set the type for the member, could be MEETING or CALL\n * @param {String} type\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n processType(type) {\n this.type = type;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAGA;;AAOA;;AAVA;AACA;AACA;;AAUA;AACA;AACA;IACqBA,M;EAGnB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,gBAAYC,WAAZ,EAAuC;IAAA,IAAdC,OAAc,uEAAJ,EAAI;IAAA;IAAA,iDAZ3BC,mBAY2B;;IACrC;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,KAAKF,WAAL,GAAmB,IAAnB;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;;IACI,KAAKG,EAAL,GAAU,IAAV;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;;IACI,KAAKC,IAAL,GAAY,IAAZ;IACA;AACJ;AACA;AACA;AACA;AACA;;IACI,KAAKC,YAAL,GAAoB,IAApB;IACA;AACJ;AACA;AACA;AACA;AACA;;IACI,KAAKC,YAAL,GAAoB,IAApB;IACA;AACJ;AACA;AACA;AACA;AACA;;IACI,KAAKC,YAAL,GAAoB,IAApB;IACA;AACJ;AACA;AACA;AACA;AACA;;IACI,KAAKC,MAAL,GAAc,IAAd;IACA;AACJ;AACA;AACA;AACA;AACA;;IACI,KAAKC,MAAL,GAAc,IAAd;IACA;AACJ;AACA;AACA;AACA;AACA;;IACI,KAAKC,OAAL,GAAe,IAAf;IACA;AACJ;AACA;AACA;AACA;AACA;;IACI,KAAKC,SAAL,GAAiB,IAAjB;IACA;AACJ;AACA;AACA;AACA;AACA;;IACI,KAAKC,WAAL,GAAmB,IAAnB;IACA;AACJ;AACA;AACA;AACA;AACA;;IACI,KAAKC,aAAL,GAAqB,IAArB;IACA;AACJ;AACA;AACA;AACA;AACA;;IACI,KAAKC,gBAAL,GAAwB,IAAxB;IACA;AACJ;AACA;AACA;AACA;AACA;;IACI,KAAKC,MAAL,GAAc,IAAd;IACA;AACJ;AACA;AACA;AACA;AACA;;IACI,KAAKC,QAAL,GAAgB,IAAhB;IACA;AACJ;AACA;AACA;AACA;AACA;;IACI,KAAKC,MAAL,GAAc,IAAd;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;;IACI,KAAKC,cAAL,GAAsB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"}
1
+ {"version":3,"names":["Member","participant","options","MEETINGS","canReclaimHost","id","name","isAudioMuted","isVideoMuted","isHandRaised","supportsBreakouts","supportLiveAnnotation","isSelf","isHost","isGuest","isInLobby","isInMeeting","isNotAdmitted","isContentSharing","status","isDevice","isUser","associatedUser","isRecording","isMutable","isRemovable","type","isModerator","isModeratorAssignmentProhibited","roles","mediaStatus","audio","video","processParticipant","processParticipantOptions","processMember","MemberUtil","extractId","extractName","isBreakoutsSupported","supportsInterpretation","isInterpretationSupported","isLiveAnnotationSupported","processStatus","processRoles","processIsSelf","selfId","processIsHost","hostId","processIsContentSharing","contentSharingId","processType","processIsRecording","recordingId","extractMediaStatus","extractStatus","_IN_LOBBY_","_IN_MEETING_","_NOT_IN_MEETING_","flag","sharingId","isSame","isAssociatedSame","extractControlRoles"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport {MEETINGS, _IN_LOBBY_, _NOT_IN_MEETING_, _IN_MEETING_} from '../constants';\nimport {IExternalRoles, IMediaStatus, ParticipantWithRoles} from './types';\n\nimport MemberUtil from './util';\n\n/**\n * @class Member\n */\nexport default class Member {\n associatedUser: any;\n canReclaimHost: boolean;\n id: any;\n isAudioMuted: any;\n isContentSharing: any;\n isDevice: any;\n isGuest: any;\n isHandRaised: any;\n isHost: any;\n isInLobby: any;\n isInMeeting: any;\n isModerator: any;\n isModeratorAssignmentProhibited: any;\n isMutable: any;\n isNotAdmitted: any;\n isRecording: any;\n isRemovable: any;\n isSelf: any;\n isUser: any;\n isVideoMuted: any;\n roles: IExternalRoles;\n mediaStatus: IMediaStatus;\n name: any;\n participant: any;\n status: any;\n supportsBreakouts: boolean;\n supportsInterpretation: boolean;\n supportLiveAnnotation: boolean;\n type: any;\n namespace = MEETINGS;\n\n /**\n * @param {Object} participant - the locus participant\n * @param {Object} [options] - constructor params\n * @param {String} options.selfId\n * @param {String} options.hostId\n * @param {String} options.contentSharingId\n * @param {String} options.type\n * @returns {Member}\n * @memberof Member\n */\n constructor(\n participant: object,\n options:\n | {\n selfId: string;\n hostId: string;\n contentSharingId: string;\n type: string;\n }\n | any = {}\n ) {\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.canReclaimHost = false;\n /**\n * The server participant object\n * @instance\n * @type {Object}\n * @private\n * @memberof Member\n */\n this.participant = null;\n /**\n * The member id\n * @instance\n * @type {String}\n * @public\n * @memberof Member\n */\n this.id = null;\n /**\n * The member name\n * @instance\n * @type {String}\n * @public\n * @memberof Member\n */\n this.name = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isAudioMuted = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isVideoMuted = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isHandRaised = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.supportsBreakouts = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.supportLiveAnnotation = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isSelf = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isHost = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isGuest = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isInLobby = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isInMeeting = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isNotAdmitted = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isContentSharing = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.status = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isDevice = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isUser = null;\n /**\n * Is this member associated to another user by way of pairing (typical of devices)\n * @instance\n * @type {String}\n * @public\n * @memberof Member\n */\n this.associatedUser = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isRecording = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isMutable = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isRemovable = null;\n /**\n * @instance\n * @type {String}\n * @private\n * @memberof Member\n */\n this.type = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isModerator = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isModeratorAssignmentProhibited = null;\n\n /**\n * @instance\n * @type {IExternalRoles}\n * @public\n * @memberof Member\n */\n this.roles = null;\n\n /**\n * @instance\n * @type {IMediaStatus}\n * @public\n * @memberof Member\n * @example {audio: MediaStatus.RECVONLY, video: MediaStatus.SENDRECV}\n */\n this.mediaStatus = {\n audio: null,\n video: null,\n };\n\n // TODO: more participant types\n // such as native client, web client, is a device, what type of phone, etc\n this.processParticipant(participant);\n this.processParticipantOptions(participant, options);\n this.processMember();\n }\n\n /**\n * set all the participant values extracted directly from locus participant\n * @param {Object} participant the locus participant object\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processParticipant(participant: object) {\n this.participant = participant;\n if (participant) {\n this.canReclaimHost = MemberUtil.canReclaimHost(participant);\n this.id = MemberUtil.extractId(participant);\n this.name = MemberUtil.extractName(participant);\n this.isAudioMuted = MemberUtil.isAudioMuted(participant);\n this.isVideoMuted = MemberUtil.isVideoMuted(participant);\n this.isHandRaised = MemberUtil.isHandRaised(participant);\n this.supportsBreakouts = MemberUtil.isBreakoutsSupported(participant);\n this.supportsInterpretation = MemberUtil.isInterpretationSupported(participant);\n this.supportLiveAnnotation = MemberUtil.isLiveAnnotationSupported(participant);\n this.isGuest = MemberUtil.isGuest(participant);\n this.isUser = MemberUtil.isUser(participant);\n this.isDevice = MemberUtil.isDevice(participant);\n this.isModerator = MemberUtil.isModerator(participant);\n this.isModeratorAssignmentProhibited =\n MemberUtil.isModeratorAssignmentProhibited(participant);\n this.processStatus(participant);\n this.processRoles(participant as ParticipantWithRoles);\n // must be done last\n this.isNotAdmitted = MemberUtil.isNotAdmitted(participant, this.isGuest, this.status);\n }\n }\n\n /**\n * Use the members options and participant values to set on the member\n * @param {Object} participant the locus participant object\n * @param {Object} options the passed in options, what was set on members\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processParticipantOptions(participant: object, options: any) {\n if (participant && options) {\n this.processIsSelf(participant, options.selfId);\n this.processIsHost(participant, options.hostId);\n this.processIsContentSharing(participant, options.contentSharingId);\n this.processType(options.type);\n this.processIsRecording(participant, options.recordingId);\n }\n }\n\n /**\n * processes what already exists on the member to determine other info about the member\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processMember() {\n // must occur after self, guest, meeting, and type properties are calculated\n this.isRemovable = MemberUtil.isRemovable(\n this.isSelf,\n this.isGuest,\n this.isInMeeting,\n this.type\n );\n // must occur after self, device, meeting, mute status, and type properties are calculated\n this.isMutable = MemberUtil.isMutable(\n this.isSelf,\n this.isDevice,\n this.isInMeeting,\n this.isAudioMuted,\n this.type\n );\n\n this.mediaStatus = MemberUtil.extractMediaStatus(this.participant);\n }\n\n /**\n * set the status on member object\n * @param {Object} participant the locus participant object\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processStatus(participant: object) {\n this.status = MemberUtil.extractStatus(participant);\n switch (this.status) {\n case _IN_LOBBY_:\n this.isInLobby = true;\n this.isInMeeting = false;\n break;\n case _IN_MEETING_:\n this.isInLobby = false;\n this.isInMeeting = true;\n break;\n case _NOT_IN_MEETING_:\n this.isInLobby = false;\n this.isInMeeting = false;\n break;\n default:\n this.isInLobby = false;\n this.isInMeeting = false;\n }\n }\n\n /**\n * set the isContentSharing on member\n * @param {Boolean} flag\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n public setIsContentSharing(flag: boolean) {\n this.isContentSharing = flag;\n }\n\n /**\n * set the isHost on member\n * @param {Boolean} flag\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n public setIsHost(flag: boolean) {\n this.isHost = flag;\n }\n\n /**\n * set the isSelf on member\n * @param {Boolean} flag\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n public setIsSelf(flag: boolean) {\n this.isSelf = flag;\n }\n\n /**\n * determine if this member is content sharing\n * @param {Object} participant\n * @param {String} sharingId\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n public processIsContentSharing(participant: object, sharingId: string) {\n if (MemberUtil.isUser(participant)) {\n this.isContentSharing = MemberUtil.isSame(participant, sharingId);\n } else if (MemberUtil.isDevice(participant)) {\n this.isContentSharing = MemberUtil.isAssociatedSame(participant, sharingId);\n }\n }\n\n /**\n * Determine if this member is recording\n * @param {Object} participant\n * @param {String} recordingId\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n public processIsRecording(participant: object, recordingId: string) {\n this.isRecording = MemberUtil.isSame(participant, recordingId);\n }\n\n /**\n * determine if this member is the self\n * @param {Object} participant\n * @param {String} selfId\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processIsSelf(participant: object, selfId: string) {\n if (MemberUtil.isUser(participant)) {\n this.isSelf = MemberUtil.isSame(participant, selfId);\n } else if (MemberUtil.isDevice(participant)) {\n this.isSelf = MemberUtil.isAssociatedSame(participant, selfId);\n this.associatedUser = selfId;\n }\n }\n\n /**\n * determine if this member is the host\n * @param {Object} participant\n * @param {String} hostId\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processIsHost(participant: object, hostId: string) {\n if (MemberUtil.isUser(participant)) {\n this.isHost = MemberUtil.isSame(participant, hostId);\n } else if (MemberUtil.isDevice(participant)) {\n this.isHost = MemberUtil.isAssociatedSame(participant, hostId);\n }\n }\n\n /**\n * process the roles that have been applied to this member\n * @param {Object} participant\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processRoles(participant: ParticipantWithRoles) {\n this.roles = MemberUtil.extractControlRoles(participant);\n }\n\n /**\n * set the type for the member, could be MEETING or CALL\n * @param {String} type\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processType(type: string) {\n this.type = type;\n }\n}\n"],"mappings":";;;;;;;;;;;AAGA;AAGA;AANA;AACA;AACA;AAMA;AACA;AACA;AAFA,IAGqBA,MAAM;EAgCzB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,gBACEC,WAAmB,EASnB;IAAA,IARAC,OAOO,uEAAG,CAAC,CAAC;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA,iDArBFC,mBAAQ;IAuBlB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,cAAc,GAAG,KAAK;IAC3B;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAI,CAACH,WAAW,GAAG,IAAI;IACvB;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAI,CAACI,EAAE,GAAG,IAAI;IACd;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,IAAI,GAAG,IAAI;IAChB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,iBAAiB,GAAG,IAAI;IAC7B;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,qBAAqB,GAAG,IAAI;IACjC;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,MAAM,GAAG,IAAI;IAClB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,MAAM,GAAG,IAAI;IAClB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,OAAO,GAAG,IAAI;IACnB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,SAAS,GAAG,IAAI;IACrB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,WAAW,GAAG,IAAI;IACvB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,aAAa,GAAG,IAAI;IACzB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,gBAAgB,GAAG,IAAI;IAC5B;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,MAAM,GAAG,IAAI;IAClB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,QAAQ,GAAG,IAAI;IACpB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,MAAM,GAAG,IAAI;IAClB;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,cAAc,GAAG,IAAI;IAC1B;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,WAAW,GAAG,IAAI;IACvB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,SAAS,GAAG,IAAI;IACrB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,WAAW,GAAG,IAAI;IACvB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,IAAI,GAAG,IAAI;IAChB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,WAAW,GAAG,IAAI;IACvB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,+BAA+B,GAAG,IAAI;;IAE3C;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,KAAK,GAAG,IAAI;;IAEjB;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,WAAW,GAAG;MACjBC,KAAK,EAAE,IAAI;MACXC,KAAK,EAAE;IACT,CAAC;;IAED;IACA;IACA,IAAI,CAACC,kBAAkB,CAAChC,WAAW,CAAC;IACpC,IAAI,CAACiC,yBAAyB,CAACjC,WAAW,EAAEC,OAAO,CAAC;IACpD,IAAI,CAACiC,aAAa,EAAE;EACtB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA;IAAA,OAOA,4BAA2BlC,WAAmB,EAAE;MAC9C,IAAI,CAACA,WAAW,GAAGA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"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ _Object$defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ServerRoles = exports.MediaStatus = void 0;
8
+ var ServerRoles;
9
+ exports.ServerRoles = ServerRoles;
10
+ (function (ServerRoles) {
11
+ ServerRoles["Cohost"] = "COHOST";
12
+ ServerRoles["Moderator"] = "MODERATOR";
13
+ ServerRoles["Presenter"] = "PRESENTER";
14
+ })(ServerRoles || (exports.ServerRoles = ServerRoles = {}));
15
+ // values are inherited from locus so don't update these
16
+ var MediaStatus; // participant has not added media in the meeting
17
+ exports.MediaStatus = MediaStatus;
18
+ (function (MediaStatus) {
19
+ MediaStatus["RECVONLY"] = "RECVONLY";
20
+ MediaStatus["SENDONLY"] = "SENDONLY";
21
+ MediaStatus["SENDRECV"] = "SENDRECV";
22
+ MediaStatus["INACTIVE"] = "INACTIVE";
23
+ MediaStatus["UNKNOWN"] = "UNKNOWN";
24
+ })(MediaStatus || (exports.MediaStatus = MediaStatus = {}));
25
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ServerRoles","MediaStatus"],"sources":["types.ts"],"sourcesContent":["export interface IExternalRoles {\n cohost: boolean;\n moderator: boolean;\n presenter: boolean;\n}\n\nexport enum ServerRoles {\n Cohost = 'COHOST',\n Moderator = 'MODERATOR',\n Presenter = 'PRESENTER',\n}\n\nexport type ServerRoleShape = {\n type: ServerRoles;\n hasRole: boolean;\n};\n\nexport type ParticipantWithRoles = {\n controls: {\n role: {\n roles: Array<ServerRoleShape>;\n };\n };\n};\n\n// values are inherited from locus so don't update these\nexport enum MediaStatus {\n RECVONLY = 'RECVONLY', // participant only receiving and not sending\n SENDONLY = 'SENDONLY', // participant only sending and not receiving\n SENDRECV = 'SENDRECV', // participant both sending and receiving\n INACTIVE = 'INACTIVE', // participant is not connected to media source\n UNKNOWN = 'UNKNOWN', // participant has not added media in the meeting\n}\n\nexport interface IMediaStatus {\n audio: MediaStatus;\n video: MediaStatus;\n}\n"],"mappings":";;;;;;;IAMYA,WAAW;AAAA;AAAA,WAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;AAAA,GAAXA,WAAW,2BAAXA,WAAW;AAmBvB;AAAA,IACYC,WAAW,EAKA;AAAA;AAAA,WALXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;AAAA,GAAXA,WAAW,2BAAXA,WAAW"}