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

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 (576) hide show
  1. package/README.md +45 -7
  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/parameter.js +5 -33
  39. package/dist/common/errors/parameter.js.map +1 -1
  40. package/dist/common/errors/password-error.js +10 -24
  41. package/dist/common/errors/password-error.js.map +1 -1
  42. package/dist/common/errors/permission.js +9 -23
  43. package/dist/common/errors/permission.js.map +1 -1
  44. package/dist/common/errors/reconnection-in-progress.js +0 -17
  45. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  46. package/dist/common/errors/reconnection.js +10 -24
  47. package/dist/common/errors/reconnection.js.map +1 -1
  48. package/dist/common/errors/stats.js +10 -24
  49. package/dist/common/errors/stats.js.map +1 -1
  50. package/dist/common/errors/webex-errors.js +9 -43
  51. package/dist/common/errors/webex-errors.js.map +1 -1
  52. package/dist/common/errors/webex-meetings-error.js +5 -25
  53. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  54. package/dist/common/events/events-scope.js +0 -22
  55. package/dist/common/events/events-scope.js.map +1 -1
  56. package/dist/common/events/events.js +0 -23
  57. package/dist/common/events/events.js.map +1 -1
  58. package/dist/common/events/trigger-proxy.js +0 -12
  59. package/dist/common/events/trigger-proxy.js.map +1 -1
  60. package/dist/common/events/util.js +0 -15
  61. package/dist/common/events/util.js.map +1 -1
  62. package/dist/common/logs/logger-config.js +0 -4
  63. package/dist/common/logs/logger-config.js.map +1 -1
  64. package/dist/common/logs/logger-proxy.js +1 -8
  65. package/dist/common/logs/logger-proxy.js.map +1 -1
  66. package/dist/common/logs/request.js +37 -60
  67. package/dist/common/logs/request.js.map +1 -1
  68. package/dist/common/queue.js +28 -23
  69. package/dist/common/queue.js.map +1 -1
  70. package/dist/config.js +8 -13
  71. package/dist/config.js.map +1 -1
  72. package/dist/constants.js +250 -66
  73. package/dist/constants.js.map +1 -1
  74. package/dist/controls-options-manager/constants.js +14 -0
  75. package/dist/controls-options-manager/constants.js.map +1 -0
  76. package/dist/controls-options-manager/enums.js +27 -0
  77. package/dist/controls-options-manager/enums.js.map +1 -0
  78. package/dist/controls-options-manager/index.js +297 -0
  79. package/dist/controls-options-manager/index.js.map +1 -0
  80. package/dist/controls-options-manager/types.js +7 -0
  81. package/dist/controls-options-manager/types.js.map +1 -0
  82. package/dist/controls-options-manager/util.js +319 -0
  83. package/dist/controls-options-manager/util.js.map +1 -0
  84. package/dist/index.js +108 -17
  85. package/dist/index.js.map +1 -1
  86. package/dist/interpretation/collection.js +23 -0
  87. package/dist/interpretation/collection.js.map +1 -0
  88. package/dist/interpretation/index.js +366 -0
  89. package/dist/interpretation/index.js.map +1 -0
  90. package/dist/interpretation/siLanguage.js +25 -0
  91. package/dist/interpretation/siLanguage.js.map +1 -0
  92. package/dist/locus-info/controlsUtils.js +101 -29
  93. package/dist/locus-info/controlsUtils.js.map +1 -1
  94. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  95. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  96. package/dist/locus-info/fullState.js +0 -15
  97. package/dist/locus-info/fullState.js.map +1 -1
  98. package/dist/locus-info/hostUtils.js +4 -12
  99. package/dist/locus-info/hostUtils.js.map +1 -1
  100. package/dist/locus-info/index.js +532 -240
  101. package/dist/locus-info/index.js.map +1 -1
  102. package/dist/locus-info/infoUtils.js +3 -37
  103. package/dist/locus-info/infoUtils.js.map +1 -1
  104. package/dist/locus-info/mediaSharesUtils.js +54 -38
  105. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  106. package/dist/locus-info/parser.js +284 -154
  107. package/dist/locus-info/parser.js.map +1 -1
  108. package/dist/locus-info/selfUtils.js +110 -92
  109. package/dist/locus-info/selfUtils.js.map +1 -1
  110. package/dist/media/index.js +95 -226
  111. package/dist/media/index.js.map +1 -1
  112. package/dist/media/properties.js +99 -194
  113. package/dist/media/properties.js.map +1 -1
  114. package/dist/media/util.js +2 -9
  115. package/dist/media/util.js.map +1 -1
  116. package/dist/mediaQualityMetrics/config.js +505 -495
  117. package/dist/mediaQualityMetrics/config.js.map +1 -1
  118. package/dist/meeting/in-meeting-actions.js +83 -14
  119. package/dist/meeting/in-meeting-actions.js.map +1 -1
  120. package/dist/meeting/index.js +3478 -3563
  121. package/dist/meeting/index.js.map +1 -1
  122. package/dist/meeting/locusMediaRequest.js +291 -0
  123. package/dist/meeting/locusMediaRequest.js.map +1 -0
  124. package/dist/meeting/muteState.js +247 -183
  125. package/dist/meeting/muteState.js.map +1 -1
  126. package/dist/meeting/request.js +344 -344
  127. package/dist/meeting/request.js.map +1 -1
  128. package/dist/meeting/request.type.js +7 -0
  129. package/dist/meeting/request.type.js.map +1 -0
  130. package/dist/meeting/state.js +21 -31
  131. package/dist/meeting/state.js.map +1 -1
  132. package/dist/meeting/util.js +529 -588
  133. package/dist/meeting/util.js.map +1 -1
  134. package/dist/meeting-info/collection.js +6 -25
  135. package/dist/meeting-info/collection.js.map +1 -1
  136. package/dist/meeting-info/index.js +62 -39
  137. package/dist/meeting-info/index.js.map +1 -1
  138. package/dist/meeting-info/meeting-info-v2.js +328 -283
  139. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  140. package/dist/meeting-info/request.js +3 -15
  141. package/dist/meeting-info/request.js.map +1 -1
  142. package/dist/meeting-info/util.js +98 -183
  143. package/dist/meeting-info/util.js.map +1 -1
  144. package/dist/meeting-info/utilv2.js +156 -232
  145. package/dist/meeting-info/utilv2.js.map +1 -1
  146. package/dist/meetings/collection.js +26 -19
  147. package/dist/meetings/collection.js.map +1 -1
  148. package/dist/meetings/index.js +795 -574
  149. package/dist/meetings/index.js.map +1 -1
  150. package/dist/meetings/meetings.types.js +7 -0
  151. package/dist/meetings/meetings.types.js.map +1 -0
  152. package/dist/meetings/request.js +26 -41
  153. package/dist/meetings/request.js.map +1 -1
  154. package/dist/meetings/util.js +186 -155
  155. package/dist/meetings/util.js.map +1 -1
  156. package/dist/member/index.js +126 -85
  157. package/dist/member/index.js.map +1 -1
  158. package/dist/member/types.js +25 -0
  159. package/dist/member/types.js.map +1 -0
  160. package/dist/member/util.js +147 -88
  161. package/dist/member/util.js.map +1 -1
  162. package/dist/members/collection.js +13 -12
  163. package/dist/members/collection.js.map +1 -1
  164. package/dist/members/index.js +178 -204
  165. package/dist/members/index.js.map +1 -1
  166. package/dist/members/request.js +113 -68
  167. package/dist/members/request.js.map +1 -1
  168. package/dist/members/types.js +15 -0
  169. package/dist/members/types.js.map +1 -0
  170. package/dist/members/util.js +314 -260
  171. package/dist/members/util.js.map +1 -1
  172. package/dist/metrics/constants.js +4 -7
  173. package/dist/metrics/constants.js.map +1 -1
  174. package/dist/metrics/index.js +11 -558
  175. package/dist/metrics/index.js.map +1 -1
  176. package/dist/multistream/mediaRequestManager.js +264 -50
  177. package/dist/multistream/mediaRequestManager.js.map +1 -1
  178. package/dist/multistream/receiveSlot.js +58 -65
  179. package/dist/multistream/receiveSlot.js.map +1 -1
  180. package/dist/multistream/receiveSlotManager.js +76 -95
  181. package/dist/multistream/receiveSlotManager.js.map +1 -1
  182. package/dist/multistream/remoteMedia.js +62 -76
  183. package/dist/multistream/remoteMedia.js.map +1 -1
  184. package/dist/multistream/remoteMediaGroup.js +66 -43
  185. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  186. package/dist/multistream/remoteMediaManager.js +502 -442
  187. package/dist/multistream/remoteMediaManager.js.map +1 -1
  188. package/dist/networkQualityMonitor/index.js +40 -59
  189. package/dist/networkQualityMonitor/index.js.map +1 -1
  190. package/dist/personal-meeting-room/index.js +21 -45
  191. package/dist/personal-meeting-room/index.js.map +1 -1
  192. package/dist/personal-meeting-room/request.js +1 -31
  193. package/dist/personal-meeting-room/request.js.map +1 -1
  194. package/dist/personal-meeting-room/util.js +0 -13
  195. package/dist/personal-meeting-room/util.js.map +1 -1
  196. package/dist/reachability/index.js +192 -191
  197. package/dist/reachability/index.js.map +1 -1
  198. package/dist/reachability/request.js +15 -23
  199. package/dist/reachability/request.js.map +1 -1
  200. package/dist/reactions/constants.js +13 -0
  201. package/dist/reactions/constants.js.map +1 -0
  202. package/dist/reactions/reactions.js +109 -0
  203. package/dist/reactions/reactions.js.map +1 -0
  204. package/dist/reactions/reactions.type.js +36 -0
  205. package/dist/reactions/reactions.type.js.map +1 -0
  206. package/dist/reconnection-manager/index.js +384 -476
  207. package/dist/reconnection-manager/index.js.map +1 -1
  208. package/dist/recording-controller/enums.js +17 -0
  209. package/dist/recording-controller/enums.js.map +1 -0
  210. package/dist/recording-controller/index.js +363 -0
  211. package/dist/recording-controller/index.js.map +1 -0
  212. package/dist/recording-controller/util.js +64 -0
  213. package/dist/recording-controller/util.js.map +1 -0
  214. package/dist/roap/index.js +58 -91
  215. package/dist/roap/index.js.map +1 -1
  216. package/dist/roap/request.js +137 -135
  217. package/dist/roap/request.js.map +1 -1
  218. package/dist/roap/turnDiscovery.js +148 -100
  219. package/dist/roap/turnDiscovery.js.map +1 -1
  220. package/dist/rtcMetrics/constants.js +12 -0
  221. package/dist/rtcMetrics/constants.js.map +1 -0
  222. package/dist/rtcMetrics/index.js +115 -0
  223. package/dist/rtcMetrics/index.js.map +1 -0
  224. package/dist/statsAnalyzer/global.js +1 -95
  225. package/dist/statsAnalyzer/global.js.map +1 -1
  226. package/dist/statsAnalyzer/index.js +385 -460
  227. package/dist/statsAnalyzer/index.js.map +1 -1
  228. package/dist/statsAnalyzer/mqaUtil.js +143 -87
  229. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  230. package/dist/transcription/index.js +22 -47
  231. package/dist/transcription/index.js.map +1 -1
  232. package/dist/types/annotation/annotation.types.d.ts +42 -0
  233. package/dist/types/annotation/constants.d.ts +31 -0
  234. package/dist/types/annotation/index.d.ts +117 -0
  235. package/dist/types/breakouts/breakout.d.ts +8 -0
  236. package/dist/types/breakouts/collection.d.ts +5 -0
  237. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  238. package/dist/types/breakouts/events.d.ts +8 -0
  239. package/dist/types/breakouts/index.d.ts +5 -0
  240. package/dist/types/breakouts/request.d.ts +22 -0
  241. package/dist/types/breakouts/utils.d.ts +15 -0
  242. package/dist/types/common/browser-detection.d.ts +9 -0
  243. package/dist/types/common/collection.d.ts +48 -0
  244. package/dist/types/common/config.d.ts +2 -0
  245. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  246. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  247. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  248. package/dist/types/common/errors/media.d.ts +15 -0
  249. package/dist/types/common/errors/parameter.d.ts +15 -0
  250. package/dist/types/common/errors/password-error.d.ts +15 -0
  251. package/dist/types/common/errors/permission.d.ts +14 -0
  252. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  253. package/dist/types/common/errors/reconnection.d.ts +15 -0
  254. package/dist/types/common/errors/stats.d.ts +15 -0
  255. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  256. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  257. package/dist/types/common/events/events-scope.d.ts +17 -0
  258. package/dist/types/common/events/events.d.ts +12 -0
  259. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  260. package/dist/types/common/events/util.d.ts +2 -0
  261. package/dist/types/common/logs/logger-config.d.ts +2 -0
  262. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  263. package/dist/types/common/logs/request.d.ts +34 -0
  264. package/dist/types/common/queue.d.ts +34 -0
  265. package/dist/types/config.d.ts +72 -0
  266. package/dist/types/constants.d.ts +1016 -0
  267. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  268. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  269. package/dist/types/controls-options-manager/index.d.ts +136 -0
  270. package/dist/types/controls-options-manager/types.d.ts +43 -0
  271. package/dist/types/controls-options-manager/util.d.ts +1 -0
  272. package/dist/types/index.d.ts +7 -0
  273. package/dist/types/interpretation/collection.d.ts +5 -0
  274. package/dist/types/interpretation/index.d.ts +5 -0
  275. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  276. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  277. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  278. package/dist/types/locus-info/fullState.d.ts +2 -0
  279. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  280. package/dist/types/locus-info/index.d.ts +322 -0
  281. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  282. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  283. package/dist/types/locus-info/parser.d.ts +271 -0
  284. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  285. package/dist/types/media/index.d.ts +34 -0
  286. package/dist/types/media/properties.d.ts +93 -0
  287. package/dist/types/media/util.d.ts +2 -0
  288. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  289. package/dist/types/meeting/in-meeting-actions.d.ts +153 -0
  290. package/dist/types/meeting/index.d.ts +1471 -0
  291. package/dist/types/meeting/locusMediaRequest.d.ts +70 -0
  292. package/dist/types/meeting/muteState.d.ts +184 -0
  293. package/dist/types/meeting/request.d.ts +257 -0
  294. package/dist/types/meeting/request.type.d.ts +11 -0
  295. package/dist/types/meeting/state.d.ts +9 -0
  296. package/dist/types/meeting/util.d.ts +78 -0
  297. package/dist/types/meeting-info/collection.d.ts +20 -0
  298. package/dist/types/meeting-info/index.d.ts +62 -0
  299. package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
  300. package/dist/types/meeting-info/request.d.ts +22 -0
  301. package/dist/types/meeting-info/util.d.ts +2 -0
  302. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  303. package/dist/types/meetings/collection.d.ts +31 -0
  304. package/dist/types/meetings/index.d.ts +367 -0
  305. package/dist/types/meetings/meetings.types.d.ts +4 -0
  306. package/dist/types/meetings/request.d.ts +27 -0
  307. package/dist/types/meetings/util.d.ts +18 -0
  308. package/dist/types/member/index.d.ts +159 -0
  309. package/dist/types/member/types.d.ts +32 -0
  310. package/dist/types/member/util.d.ts +2 -0
  311. package/dist/types/members/collection.d.ts +29 -0
  312. package/dist/types/members/index.d.ts +353 -0
  313. package/dist/types/members/request.d.ts +114 -0
  314. package/dist/types/members/types.d.ts +24 -0
  315. package/dist/types/members/util.d.ts +210 -0
  316. package/dist/types/metrics/constants.d.ts +55 -0
  317. package/dist/types/metrics/index.d.ts +45 -0
  318. package/dist/types/multistream/mediaRequestManager.d.ts +118 -0
  319. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  320. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  321. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  322. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  323. package/dist/types/multistream/remoteMediaManager.d.ts +277 -0
  324. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  325. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  326. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  327. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  328. package/dist/types/reachability/index.d.ts +152 -0
  329. package/dist/types/reachability/request.d.ts +37 -0
  330. package/dist/types/reactions/constants.d.ts +3 -0
  331. package/dist/types/reactions/reactions.d.ts +4 -0
  332. package/dist/types/reactions/reactions.type.d.ts +52 -0
  333. package/dist/types/reconnection-manager/index.d.ts +126 -0
  334. package/dist/types/recording-controller/enums.d.ts +7 -0
  335. package/dist/types/recording-controller/index.d.ts +208 -0
  336. package/dist/types/recording-controller/util.d.ts +14 -0
  337. package/dist/types/roap/index.d.ts +77 -0
  338. package/dist/types/roap/request.d.ts +36 -0
  339. package/dist/types/roap/turnDiscovery.d.ts +91 -0
  340. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  341. package/dist/types/rtcMetrics/index.d.ts +46 -0
  342. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  343. package/dist/types/statsAnalyzer/index.d.ts +200 -0
  344. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  345. package/dist/types/transcription/index.d.ts +64 -0
  346. package/internal-README.md +7 -6
  347. package/package.json +29 -21
  348. package/src/annotation/annotation.types.ts +50 -0
  349. package/src/annotation/constants.ts +36 -0
  350. package/src/annotation/index.ts +328 -0
  351. package/src/breakouts/README.md +220 -0
  352. package/src/breakouts/breakout.ts +188 -0
  353. package/src/breakouts/collection.ts +19 -0
  354. package/src/breakouts/edit-lock-error.ts +25 -0
  355. package/src/breakouts/events.ts +56 -0
  356. package/src/breakouts/index.ts +925 -0
  357. package/src/breakouts/request.ts +55 -0
  358. package/src/breakouts/utils.ts +57 -0
  359. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  360. package/src/common/collection.ts +9 -7
  361. package/src/common/{config.js → config.ts} +1 -1
  362. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  363. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  364. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  365. package/src/common/errors/{media.js → media.ts} +11 -7
  366. package/src/common/errors/parameter.ts +11 -7
  367. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  368. package/src/common/errors/{permission.js → permission.ts} +10 -6
  369. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  370. package/src/common/errors/{stats.js → stats.ts} +11 -7
  371. package/src/common/errors/{webex-errors.js → webex-errors.ts} +14 -9
  372. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  373. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  374. package/src/common/events/{events.js → events.ts} +5 -1
  375. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  376. package/src/common/events/{util.js → util.ts} +2 -3
  377. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  378. package/src/common/logs/logger-proxy.ts +44 -0
  379. package/src/common/logs/{request.js → request.ts} +22 -9
  380. package/src/common/queue.ts +22 -9
  381. package/src/{config.js → config.ts} +17 -17
  382. package/src/constants.ts +197 -22
  383. package/src/controls-options-manager/constants.ts +5 -0
  384. package/src/controls-options-manager/enums.ts +18 -0
  385. package/src/controls-options-manager/index.ts +278 -0
  386. package/src/controls-options-manager/types.ts +59 -0
  387. package/src/controls-options-manager/util.ts +300 -0
  388. package/src/index.ts +39 -0
  389. package/src/interpretation/README.md +60 -0
  390. package/src/interpretation/collection.ts +19 -0
  391. package/src/interpretation/index.ts +332 -0
  392. package/src/interpretation/siLanguage.ts +18 -0
  393. package/src/locus-info/controlsUtils.ts +222 -0
  394. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  395. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  396. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  397. package/src/locus-info/{index.js → index.ts} +518 -111
  398. package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
  399. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +65 -17
  400. package/src/locus-info/{parser.js → parser.ts} +271 -98
  401. package/src/locus-info/{selfUtils.js → selfUtils.ts} +199 -68
  402. package/src/media/index.ts +456 -0
  403. package/src/media/{properties.js → properties.ts} +80 -102
  404. package/src/media/{util.js → util.ts} +2 -2
  405. package/src/mediaQualityMetrics/config.ts +384 -0
  406. package/src/meeting/in-meeting-actions.ts +171 -3
  407. package/src/meeting/index.ts +7070 -0
  408. package/src/meeting/locusMediaRequest.ts +309 -0
  409. package/src/meeting/muteState.ts +450 -0
  410. package/src/meeting/{request.js → request.ts} +354 -214
  411. package/src/meeting/request.type.ts +13 -0
  412. package/src/meeting/{state.js → state.ts} +50 -35
  413. package/src/meeting/util.ts +615 -0
  414. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  415. package/src/meeting-info/index.ts +183 -0
  416. package/src/meeting-info/meeting-info-v2.ts +407 -0
  417. package/src/meeting-info/{request.js → request.ts} +14 -4
  418. package/src/meeting-info/{util.js → util.ts} +60 -51
  419. package/src/meeting-info/{utilv2.js → utilv2.ts} +77 -60
  420. package/src/meetings/{collection.js → collection.ts} +26 -3
  421. package/src/meetings/index.ts +1467 -0
  422. package/src/meetings/meetings.types.ts +12 -0
  423. package/src/meetings/{request.js → request.ts} +34 -25
  424. package/src/meetings/{util.js → util.ts} +137 -36
  425. package/src/member/{index.js → index.ts} +151 -56
  426. package/src/member/types.ts +38 -0
  427. package/src/member/util.ts +383 -0
  428. package/src/members/{collection.js → collection.ts} +10 -2
  429. package/src/members/{index.js → index.ts} +323 -145
  430. package/src/members/request.ts +255 -0
  431. package/src/members/types.ts +28 -0
  432. package/src/members/util.ts +339 -0
  433. package/src/metrics/{constants.js → constants.ts} +2 -6
  434. package/src/metrics/index.ts +73 -0
  435. package/src/multistream/mediaRequestManager.ts +337 -61
  436. package/src/multistream/receiveSlot.ts +69 -26
  437. package/src/multistream/receiveSlotManager.ts +66 -42
  438. package/src/multistream/remoteMedia.ts +40 -5
  439. package/src/multistream/remoteMediaGroup.ts +63 -3
  440. package/src/multistream/remoteMediaManager.ts +263 -66
  441. package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
  442. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  443. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  444. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  445. package/src/reachability/{index.js → index.ts} +157 -94
  446. package/src/reachability/request.ts +46 -35
  447. package/src/reactions/constants.ts +4 -0
  448. package/src/reactions/reactions.ts +104 -0
  449. package/src/reactions/reactions.type.ts +62 -0
  450. package/src/reconnection-manager/{index.js → index.ts} +254 -136
  451. package/src/recording-controller/enums.ts +8 -0
  452. package/src/recording-controller/index.ts +333 -0
  453. package/src/recording-controller/util.ts +75 -0
  454. package/src/roap/{index.js → index.ts} +86 -78
  455. package/src/roap/request.ts +163 -0
  456. package/src/roap/turnDiscovery.ts +111 -49
  457. package/src/rtcMetrics/constants.ts +3 -0
  458. package/src/rtcMetrics/index.ts +96 -0
  459. package/src/statsAnalyzer/global.ts +37 -0
  460. package/src/statsAnalyzer/index.ts +1272 -0
  461. package/src/statsAnalyzer/mqaUtil.ts +291 -0
  462. package/src/transcription/{index.js → index.ts} +46 -39
  463. package/test/integration/spec/converged-space-meetings.js +233 -0
  464. package/test/integration/spec/journey.js +804 -526
  465. package/test/integration/spec/space-meeting.js +391 -204
  466. package/test/integration/spec/transcription.js +7 -8
  467. package/test/unit/spec/annotation/index.ts +418 -0
  468. package/test/unit/spec/breakouts/breakout.ts +237 -0
  469. package/test/unit/spec/breakouts/collection.ts +15 -0
  470. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  471. package/test/unit/spec/breakouts/events.ts +89 -0
  472. package/test/unit/spec/breakouts/index.ts +1790 -0
  473. package/test/unit/spec/breakouts/request.ts +104 -0
  474. package/test/unit/spec/breakouts/utils.js +72 -0
  475. package/test/unit/spec/common/browser-detection.js +9 -28
  476. package/test/unit/spec/common/queue.js +31 -2
  477. package/test/unit/spec/controls-options-manager/index.js +287 -0
  478. package/test/unit/spec/controls-options-manager/util.js +582 -0
  479. package/test/unit/spec/fixture/locus.js +93 -90
  480. package/test/unit/spec/interpretation/collection.ts +15 -0
  481. package/test/unit/spec/interpretation/index.ts +589 -0
  482. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  483. package/test/unit/spec/locus-info/controlsUtils.js +325 -32
  484. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  485. package/test/unit/spec/locus-info/index.js +1176 -18
  486. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  487. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  488. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  489. package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
  490. package/test/unit/spec/locus-info/parser.js +65 -31
  491. package/test/unit/spec/locus-info/selfConstant.js +120 -103
  492. package/test/unit/spec/locus-info/selfUtils.js +296 -12
  493. package/test/unit/spec/media/index.ts +162 -68
  494. package/test/unit/spec/media/properties.ts +9 -9
  495. package/test/unit/spec/meeting/in-meeting-actions.ts +82 -3
  496. package/test/unit/spec/meeting/index.js +4569 -1773
  497. package/test/unit/spec/meeting/locusMediaRequest.ts +436 -0
  498. package/test/unit/spec/meeting/muteState.js +382 -211
  499. package/test/unit/spec/meeting/request.js +444 -78
  500. package/test/unit/spec/meeting/utils.js +517 -192
  501. package/test/unit/spec/meeting-info/index.js +181 -0
  502. package/test/unit/spec/meeting-info/meetinginfov2.js +481 -76
  503. package/test/unit/spec/meeting-info/request.js +7 -9
  504. package/test/unit/spec/meeting-info/util.js +11 -12
  505. package/test/unit/spec/meeting-info/utilv2.js +131 -74
  506. package/test/unit/spec/meetings/collection.js +15 -1
  507. package/test/unit/spec/meetings/index.js +1254 -330
  508. package/test/unit/spec/meetings/utils.js +220 -14
  509. package/test/unit/spec/member/index.js +58 -5
  510. package/test/unit/spec/member/util.js +494 -26
  511. package/test/unit/spec/members/index.js +423 -55
  512. package/test/unit/spec/members/request.js +228 -40
  513. package/test/unit/spec/members/utils.js +191 -4
  514. package/test/unit/spec/metrics/index.js +12 -66
  515. package/test/unit/spec/multistream/mediaRequestManager.ts +1013 -106
  516. package/test/unit/spec/multistream/receiveSlot.ts +77 -18
  517. package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
  518. package/test/unit/spec/multistream/remoteMedia.ts +40 -2
  519. package/test/unit/spec/multistream/remoteMediaGroup.ts +271 -5
  520. package/test/unit/spec/multistream/remoteMediaManager.ts +730 -65
  521. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  522. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  523. package/test/unit/spec/reachability/index.ts +176 -27
  524. package/test/unit/spec/reachability/request.js +66 -0
  525. package/test/unit/spec/reconnection-manager/index.js +155 -9
  526. package/test/unit/spec/recording-controller/index.js +307 -0
  527. package/test/unit/spec/recording-controller/util.js +229 -0
  528. package/test/unit/spec/roap/index.ts +28 -52
  529. package/test/unit/spec/roap/request.ts +225 -0
  530. package/test/unit/spec/roap/turnDiscovery.ts +92 -50
  531. package/test/unit/spec/rtcMetrics/index.ts +60 -0
  532. package/test/unit/spec/stats-analyzer/index.js +116 -60
  533. package/test/utils/cmr.js +44 -42
  534. package/test/utils/constants.js +9 -0
  535. package/test/utils/integrationTestUtils.js +46 -0
  536. package/test/utils/testUtils.js +63 -99
  537. package/test/utils/webex-config.js +22 -18
  538. package/test/utils/webex-test-users.js +57 -50
  539. package/tsconfig.json +6 -0
  540. package/dist/media/internal-media-core-wrapper.js +0 -22
  541. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  542. package/dist/meeting/effectsState.js +0 -327
  543. package/dist/meeting/effectsState.js.map +0 -1
  544. package/dist/metrics/config.js +0 -301
  545. package/dist/metrics/config.js.map +0 -1
  546. package/dist/multistream/multistreamMedia.js +0 -116
  547. package/dist/multistream/multistreamMedia.js.map +0 -1
  548. package/dist/peer-connection-manager/util.js +0 -124
  549. package/dist/peer-connection-manager/util.js.map +0 -1
  550. package/src/common/logs/logger-proxy.js +0 -33
  551. package/src/index.js +0 -15
  552. package/src/locus-info/controlsUtils.js +0 -102
  553. package/src/media/index.js +0 -459
  554. package/src/media/internal-media-core-wrapper.ts +0 -9
  555. package/src/mediaQualityMetrics/config.js +0 -382
  556. package/src/meeting/effectsState.js +0 -205
  557. package/src/meeting/index.js +0 -6284
  558. package/src/meeting/muteState.js +0 -318
  559. package/src/meeting/util.js +0 -506
  560. package/src/meeting-info/index.js +0 -131
  561. package/src/meeting-info/meeting-info-v2.js +0 -255
  562. package/src/meetings/index.js +0 -1015
  563. package/src/member/util.js +0 -254
  564. package/src/members/request.js +0 -131
  565. package/src/members/util.js +0 -258
  566. package/src/metrics/config.js +0 -324
  567. package/src/metrics/index.js +0 -530
  568. package/src/multistream/multistreamMedia.ts +0 -92
  569. package/src/peer-connection-manager/util.ts +0 -117
  570. package/src/roap/request.js +0 -127
  571. package/src/statsAnalyzer/global.js +0 -133
  572. package/src/statsAnalyzer/index.js +0 -1006
  573. package/src/statsAnalyzer/mqaUtil.js +0 -173
  574. package/test/unit/spec/meeting/effectsState.js +0 -291
  575. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  576. /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,42 @@ 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, "id", void 0);
36
+ (0, _defineProperty2.default)(this, "isAudioMuted", void 0);
37
+ (0, _defineProperty2.default)(this, "isContentSharing", void 0);
38
+ (0, _defineProperty2.default)(this, "isDevice", void 0);
39
+ (0, _defineProperty2.default)(this, "isGuest", void 0);
40
+ (0, _defineProperty2.default)(this, "isHandRaised", void 0);
41
+ (0, _defineProperty2.default)(this, "isHost", void 0);
42
+ (0, _defineProperty2.default)(this, "isInLobby", void 0);
43
+ (0, _defineProperty2.default)(this, "isInMeeting", void 0);
44
+ (0, _defineProperty2.default)(this, "isModerator", void 0);
45
+ (0, _defineProperty2.default)(this, "isModeratorAssignmentProhibited", void 0);
46
+ (0, _defineProperty2.default)(this, "isMutable", void 0);
47
+ (0, _defineProperty2.default)(this, "isNotAdmitted", void 0);
48
+ (0, _defineProperty2.default)(this, "isRecording", void 0);
49
+ (0, _defineProperty2.default)(this, "isRemovable", void 0);
50
+ (0, _defineProperty2.default)(this, "isSelf", void 0);
51
+ (0, _defineProperty2.default)(this, "isUser", void 0);
52
+ (0, _defineProperty2.default)(this, "isVideoMuted", void 0);
53
+ (0, _defineProperty2.default)(this, "roles", void 0);
54
+ (0, _defineProperty2.default)(this, "mediaStatus", void 0);
55
+ (0, _defineProperty2.default)(this, "name", void 0);
56
+ (0, _defineProperty2.default)(this, "participant", void 0);
57
+ (0, _defineProperty2.default)(this, "status", void 0);
58
+ (0, _defineProperty2.default)(this, "supportsBreakouts", void 0);
59
+ (0, _defineProperty2.default)(this, "supportsInterpretation", void 0);
60
+ (0, _defineProperty2.default)(this, "supportLiveAnnotation", void 0);
61
+ (0, _defineProperty2.default)(this, "type", void 0);
44
62
  (0, _defineProperty2.default)(this, "namespace", _constants.MEETINGS);
45
-
46
63
  /**
47
64
  * The server participant object
48
65
  * @instance
49
66
  * @type {Object}
50
67
  * @private
51
68
  * @memberof Member
52
- */
69
+ */
53
70
  this.participant = null;
54
71
  /**
55
72
  * The member id
@@ -57,8 +74,7 @@ var Member = /*#__PURE__*/function () {
57
74
  * @type {String}
58
75
  * @public
59
76
  * @memberof Member
60
- */
61
-
77
+ */
62
78
  this.id = null;
63
79
  /**
64
80
  * The member name
@@ -66,176 +82,191 @@ var Member = /*#__PURE__*/function () {
66
82
  * @type {String}
67
83
  * @public
68
84
  * @memberof Member
69
- */
70
-
85
+ */
71
86
  this.name = null;
72
87
  /**
73
88
  * @instance
74
89
  * @type {Boolean}
75
90
  * @public
76
91
  * @memberof Member
77
- */
78
-
92
+ */
79
93
  this.isAudioMuted = null;
80
94
  /**
81
95
  * @instance
82
96
  * @type {Boolean}
83
97
  * @public
84
98
  * @memberof Member
85
- */
86
-
99
+ */
87
100
  this.isVideoMuted = null;
88
101
  /**
89
102
  * @instance
90
103
  * @type {Boolean}
91
104
  * @public
92
105
  * @memberof Member
93
- */
94
-
106
+ */
95
107
  this.isHandRaised = null;
96
108
  /**
97
- * @instance
98
- * @type {Boolean}
99
- * @public
100
- * @memberof Member
109
+ * @instance
110
+ * @type {Boolean}
111
+ * @public
112
+ * @memberof Member
113
+ */
114
+ this.supportsBreakouts = null;
115
+ /**
116
+ * @instance
117
+ * @type {Boolean}
118
+ * @public
119
+ * @memberof Member
120
+ */
121
+ this.supportLiveAnnotation = null;
122
+ /**
123
+ * @instance
124
+ * @type {Boolean}
125
+ * @public
126
+ * @memberof Member
101
127
  */
102
-
103
128
  this.isSelf = null;
104
129
  /**
105
130
  * @instance
106
131
  * @type {Boolean}
107
132
  * @public
108
133
  * @memberof Member
109
- */
110
-
134
+ */
111
135
  this.isHost = null;
112
136
  /**
113
137
  * @instance
114
138
  * @type {Boolean}
115
139
  * @public
116
140
  * @memberof Member
117
- */
118
-
141
+ */
119
142
  this.isGuest = null;
120
143
  /**
121
144
  * @instance
122
145
  * @type {Boolean}
123
146
  * @public
124
147
  * @memberof Member
125
- */
126
-
148
+ */
127
149
  this.isInLobby = null;
128
150
  /**
129
151
  * @instance
130
152
  * @type {Boolean}
131
153
  * @public
132
154
  * @memberof Member
133
- */
134
-
155
+ */
135
156
  this.isInMeeting = null;
136
157
  /**
137
158
  * @instance
138
159
  * @type {Boolean}
139
160
  * @public
140
161
  * @memberof Member
141
- */
142
-
162
+ */
143
163
  this.isNotAdmitted = null;
144
164
  /**
145
165
  * @instance
146
166
  * @type {Boolean}
147
167
  * @public
148
168
  * @memberof Member
149
- */
150
-
169
+ */
151
170
  this.isContentSharing = null;
152
171
  /**
153
172
  * @instance
154
173
  * @type {Boolean}
155
174
  * @public
156
175
  * @memberof Member
157
- */
158
-
176
+ */
159
177
  this.status = null;
160
178
  /**
161
179
  * @instance
162
180
  * @type {Boolean}
163
181
  * @public
164
182
  * @memberof Member
165
- */
166
-
183
+ */
167
184
  this.isDevice = null;
168
185
  /**
169
186
  * @instance
170
187
  * @type {Boolean}
171
188
  * @public
172
189
  * @memberof Member
173
- */
174
-
190
+ */
175
191
  this.isUser = null;
176
192
  /**
177
- * Is this member associated to another user by way of pairing (typical of devices)
193
+ * Is this member associated to another user by way of pairing (typical of devices)
178
194
  * @instance
179
195
  * @type {String}
180
196
  * @public
181
197
  * @memberof Member
182
- */
183
-
198
+ */
184
199
  this.associatedUser = null;
185
200
  /**
186
201
  * @instance
187
202
  * @type {Boolean}
188
203
  * @public
189
204
  * @memberof Member
190
- */
191
-
205
+ */
192
206
  this.isRecording = null;
193
207
  /**
194
208
  * @instance
195
209
  * @type {Boolean}
196
210
  * @public
197
211
  * @memberof Member
198
- */
199
-
212
+ */
200
213
  this.isMutable = null;
201
214
  /**
202
215
  * @instance
203
216
  * @type {Boolean}
204
217
  * @public
205
218
  * @memberof Member
206
- */
207
-
219
+ */
208
220
  this.isRemovable = null;
209
221
  /**
210
222
  * @instance
211
223
  * @type {String}
212
224
  * @private
213
225
  * @memberof Member
214
- */
215
-
226
+ */
216
227
  this.type = null;
217
228
  /**
218
229
  * @instance
219
230
  * @type {Boolean}
220
231
  * @public
221
232
  * @memberof Member
222
- */
223
-
233
+ */
224
234
  this.isModerator = null;
225
235
  /**
226
236
  * @instance
227
237
  * @type {Boolean}
228
238
  * @public
229
239
  * @memberof Member
230
- */
240
+ */
241
+ this.isModeratorAssignmentProhibited = null;
231
242
 
232
- this.isModeratorAssignmentProhibited = null; // TODO: more participant types
233
- // such as native client, web client, is a device, what type of phone, etc
243
+ /**
244
+ * @instance
245
+ * @type {IExternalRoles}
246
+ * @public
247
+ * @memberof Member
248
+ */
249
+ this.roles = null;
234
250
 
251
+ /**
252
+ * @instance
253
+ * @type {IMediaStatus}
254
+ * @public
255
+ * @memberof Member
256
+ * @example {audio: MediaStatus.RECVONLY, video: MediaStatus.SENDRECV}
257
+ */
258
+ this.mediaStatus = {
259
+ audio: null,
260
+ video: null
261
+ };
262
+
263
+ // TODO: more participant types
264
+ // such as native client, web client, is a device, what type of phone, etc
235
265
  this.processParticipant(participant);
236
266
  this.processParticipantOptions(participant, options);
237
267
  this.processMember();
238
268
  }
269
+
239
270
  /**
240
271
  * set all the participant values extracted directly from locus participant
241
272
  * @param {Object} participant the locus participant object
@@ -243,29 +274,31 @@ var Member = /*#__PURE__*/function () {
243
274
  * @private
244
275
  * @memberof Member
245
276
  */
246
-
247
-
248
277
  (0, _createClass2.default)(Member, [{
249
278
  key: "processParticipant",
250
279
  value: function processParticipant(participant) {
251
280
  this.participant = participant;
252
-
253
281
  if (participant) {
254
282
  this.id = _util.default.extractId(participant);
255
283
  this.name = _util.default.extractName(participant);
256
284
  this.isAudioMuted = _util.default.isAudioMuted(participant);
257
285
  this.isVideoMuted = _util.default.isVideoMuted(participant);
258
286
  this.isHandRaised = _util.default.isHandRaised(participant);
287
+ this.supportsBreakouts = _util.default.isBreakoutsSupported(participant);
288
+ this.supportsInterpretation = _util.default.isInterpretationSupported(participant);
289
+ this.supportLiveAnnotation = _util.default.isLiveAnnotationSupported(participant);
259
290
  this.isGuest = _util.default.isGuest(participant);
260
291
  this.isUser = _util.default.isUser(participant);
261
292
  this.isDevice = _util.default.isDevice(participant);
262
293
  this.isModerator = _util.default.isModerator(participant);
263
294
  this.isModeratorAssignmentProhibited = _util.default.isModeratorAssignmentProhibited(participant);
264
- this.processStatus(participant); // must be done last
265
-
295
+ this.processStatus(participant);
296
+ this.processRoles(participant);
297
+ // must be done last
266
298
  this.isNotAdmitted = _util.default.isNotAdmitted(participant, this.isGuest, this.status);
267
299
  }
268
300
  }
301
+
269
302
  /**
270
303
  * Use the members options and participant values to set on the member
271
304
  * @param {Object} participant the locus participant object
@@ -274,7 +307,6 @@ var Member = /*#__PURE__*/function () {
274
307
  * @private
275
308
  * @memberof Member
276
309
  */
277
-
278
310
  }, {
279
311
  key: "processParticipantOptions",
280
312
  value: function processParticipantOptions(participant, options) {
@@ -286,21 +318,23 @@ var Member = /*#__PURE__*/function () {
286
318
  this.processIsRecording(participant, options.recordingId);
287
319
  }
288
320
  }
321
+
289
322
  /**
290
323
  * processes what already exists on the member to determine other info about the member
291
324
  * @returns {undefined}
292
325
  * @private
293
326
  * @memberof Member
294
327
  */
295
-
296
328
  }, {
297
329
  key: "processMember",
298
330
  value: function processMember() {
299
331
  // 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
-
332
+ this.isRemovable = _util.default.isRemovable(this.isSelf, this.isGuest, this.isInMeeting, this.type);
333
+ // must occur after self, device, meeting, mute status, and type properties are calculated
302
334
  this.isMutable = _util.default.isMutable(this.isSelf, this.isDevice, this.isInMeeting, this.isAudioMuted, this.type);
335
+ this.mediaStatus = _util.default.extractMediaStatus(this.participant);
303
336
  }
337
+
304
338
  /**
305
339
  * set the status on member object
306
340
  * @param {Object} participant the locus participant object
@@ -308,33 +342,29 @@ var Member = /*#__PURE__*/function () {
308
342
  * @private
309
343
  * @memberof Member
310
344
  */
311
-
312
345
  }, {
313
346
  key: "processStatus",
314
347
  value: function processStatus(participant) {
315
348
  this.status = _util.default.extractStatus(participant);
316
-
317
349
  switch (this.status) {
318
350
  case _constants._IN_LOBBY_:
319
351
  this.isInLobby = true;
320
352
  this.isInMeeting = false;
321
353
  break;
322
-
323
354
  case _constants._IN_MEETING_:
324
355
  this.isInLobby = false;
325
356
  this.isInMeeting = true;
326
357
  break;
327
-
328
358
  case _constants._NOT_IN_MEETING_:
329
359
  this.isInLobby = false;
330
360
  this.isInMeeting = false;
331
361
  break;
332
-
333
362
  default:
334
363
  this.isInLobby = false;
335
364
  this.isInMeeting = false;
336
365
  }
337
366
  }
367
+
338
368
  /**
339
369
  * set the isContentSharing on member
340
370
  * @param {Boolean} flag
@@ -342,12 +372,12 @@ var Member = /*#__PURE__*/function () {
342
372
  * @public
343
373
  * @memberof Member
344
374
  */
345
-
346
375
  }, {
347
376
  key: "setIsContentSharing",
348
377
  value: function setIsContentSharing(flag) {
349
378
  this.isContentSharing = flag;
350
379
  }
380
+
351
381
  /**
352
382
  * set the isHost on member
353
383
  * @param {Boolean} flag
@@ -355,12 +385,12 @@ var Member = /*#__PURE__*/function () {
355
385
  * @public
356
386
  * @memberof Member
357
387
  */
358
-
359
388
  }, {
360
389
  key: "setIsHost",
361
390
  value: function setIsHost(flag) {
362
391
  this.isHost = flag;
363
392
  }
393
+
364
394
  /**
365
395
  * set the isSelf on member
366
396
  * @param {Boolean} flag
@@ -368,12 +398,12 @@ var Member = /*#__PURE__*/function () {
368
398
  * @public
369
399
  * @memberof Member
370
400
  */
371
-
372
401
  }, {
373
402
  key: "setIsSelf",
374
403
  value: function setIsSelf(flag) {
375
404
  this.isSelf = flag;
376
405
  }
406
+
377
407
  /**
378
408
  * determine if this member is content sharing
379
409
  * @param {Object} participant
@@ -382,7 +412,6 @@ var Member = /*#__PURE__*/function () {
382
412
  * @public
383
413
  * @memberof Member
384
414
  */
385
-
386
415
  }, {
387
416
  key: "processIsContentSharing",
388
417
  value: function processIsContentSharing(participant, sharingId) {
@@ -392,6 +421,7 @@ var Member = /*#__PURE__*/function () {
392
421
  this.isContentSharing = _util.default.isAssociatedSame(participant, sharingId);
393
422
  }
394
423
  }
424
+
395
425
  /**
396
426
  * Determine if this member is recording
397
427
  * @param {Object} participant
@@ -400,12 +430,12 @@ var Member = /*#__PURE__*/function () {
400
430
  * @public
401
431
  * @memberof Member
402
432
  */
403
-
404
433
  }, {
405
434
  key: "processIsRecording",
406
435
  value: function processIsRecording(participant, recordingId) {
407
436
  this.isRecording = _util.default.isSame(participant, recordingId);
408
437
  }
438
+
409
439
  /**
410
440
  * determine if this member is the self
411
441
  * @param {Object} participant
@@ -414,7 +444,6 @@ var Member = /*#__PURE__*/function () {
414
444
  * @private
415
445
  * @memberof Member
416
446
  */
417
-
418
447
  }, {
419
448
  key: "processIsSelf",
420
449
  value: function processIsSelf(participant, selfId) {
@@ -425,6 +454,7 @@ var Member = /*#__PURE__*/function () {
425
454
  this.associatedUser = selfId;
426
455
  }
427
456
  }
457
+
428
458
  /**
429
459
  * determine if this member is the host
430
460
  * @param {Object} participant
@@ -433,7 +463,6 @@ var Member = /*#__PURE__*/function () {
433
463
  * @private
434
464
  * @memberof Member
435
465
  */
436
-
437
466
  }, {
438
467
  key: "processIsHost",
439
468
  value: function processIsHost(participant, hostId) {
@@ -443,6 +472,20 @@ var Member = /*#__PURE__*/function () {
443
472
  this.isHost = _util.default.isAssociatedSame(participant, hostId);
444
473
  }
445
474
  }
475
+
476
+ /**
477
+ * process the roles that have been applied to this member
478
+ * @param {Object} participant
479
+ * @returns {undefined}
480
+ * @private
481
+ * @memberof Member
482
+ */
483
+ }, {
484
+ key: "processRoles",
485
+ value: function processRoles(participant) {
486
+ this.roles = _util.default.extractControlRoles(participant);
487
+ }
488
+
446
489
  /**
447
490
  * set the type for the member, could be MEETING or CALL
448
491
  * @param {String} type
@@ -450,7 +493,6 @@ var Member = /*#__PURE__*/function () {
450
493
  * @private
451
494
  * @memberof Member
452
495
  */
453
-
454
496
  }, {
455
497
  key: "processType",
456
498
  value: function processType(type) {
@@ -459,6 +501,5 @@ var Member = /*#__PURE__*/function () {
459
501
  }]);
460
502
  return Member;
461
503
  }();
462
-
463
504
  exports.default = Member;
464
505
  //# 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","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 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 * 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.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;EA+BzB;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,iDArBFC,mBAAQ;IAuBlB;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAI,CAACF,WAAW,GAAG,IAAI;IACvB;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAI,CAACG,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,CAAC/B,WAAW,CAAC;IACpC,IAAI,CAACgC,yBAAyB,CAAChC,WAAW,EAAEC,OAAO,CAAC;IACpD,IAAI,CAACgC,aAAa,EAAE;EACtB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA;IAAA,OAOA,4BAA2BjC,WAAmB,EAAE;MAC9C,IAAI,CAACA,WAAW,GAAGA,WAAW;MAC9B,IAAIA,WAAW,EAAE;QACf,IAAI,CAACG,EAAE,GAAG+B,aAAU,CAACC,SAAS,CAACnC,WAAW,CAAC;QAC3C,IAAI,CAACI,IAAI,GAAG8B,aAAU,CAACE,WAAW,CAACpC,WAAW,CAAC;QAC/C,IAAI,CAACK,YAAY,GAAG6B,aAAU,CAAC7B,YAAY,CAACL,WAAW,CAAC;QACxD,IAAI,CAACM,YAAY,GAAG4B,aAAU,CAAC5B,YAAY,CAACN,WAAW,CAAC;QACxD,IAAI,CAACO,YAAY,GAAG2B,aAAU,CAAC3B,YAAY,CAACP,WAAW,CAAC;QACxD,IAAI,CAACQ,iBAAiB,GAAG0B,aAAU,CAACG,oBAAoB,CAACrC,WAAW,CAAC;QACrE,IAAI,CAACsC,sBAAsB,GAAGJ,aAAU,CAACK,yBAAyB,CAACvC,WAAW,CAAC;QAC/E,IAAI,CAACS,qBAAqB,GAAGyB,aAAU,CAACM,yBAAyB,CAACxC,WAAW,CAAC;QAC9E,IAAI,CAACY,OAAO,GAAGsB,aAAU,CAACtB,OAAO,CAACZ,WAAW,CAAC;QAC9C,IAAI,CAACmB,MAAM,GAAGe,aAAU,CAACf,MAAM,CAACnB,WAAW,CAAC;QAC5C,IAAI,CAACkB,QAAQ,GAAGgB,aAAU,CAAChB,QAAQ,CAAClB,WAAW,CAAC;QAChD,IAAI,CAACyB,WAAW,GAAGS,aAAU,CAACT,WAAW,CAACzB,WAAW,CAAC;QACtD,IAAI,CAAC0B,+BAA+B,GAClCQ,aAAU,CAACR,+BAA+B,CAAC1B,WAAW,CAAC;QACzD,IAAI,CAACyC,aAAa,CAACzC,WAAW,CAAC;QAC/B,IAAI,CAAC0C,YAAY,CAAC1C,WAAW,CAAyB;QACtD;QACA,IAAI,CAACe,aAAa,GAAGmB,aAAU,CAACnB,aAAa,CAACf,WAAW,EAAE,IAAI,CAACY,OAAO,EAAE,IAAI,CAACK,MAAM,CAAC;MACvF;IACF;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAA;IAAA,OAQA,mCAAkCjB,WAAmB,EAAEC,OAAY,EAAE;MACnE,IAAID,WAAW,IAAIC,OAAO,EAAE;QAC1B,IAAI,CAAC0C,aAAa,CAAC3C,WAAW,EAAEC,OAAO,CAAC2C,MAAM,CAAC;QAC/C,IAAI,CAACC,aAAa,CAAC7C,WAAW,EAAEC,OAAO,CAAC6C,MAAM,CAAC;QAC/C,IAAI,CAACC,uBAAuB,CAAC/C,WAAW,EAAEC,OAAO,CAAC+C,gBAAgB,CAAC;QACnE,IAAI,CAACC,WAAW,CAAChD,OAAO,CAACuB,IAAI,CAAC;QAC9B,IAAI,CAAC0B,kBAAkB,CAAClD,WAAW,EAAEC,OAAO,CAACkD,WAAW,CAAC;MAC3D;IACF;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAA;IAAA,OAMA,yBAAwB;MACtB;MACA,IAAI,CAAC5B,WAAW,GAAGW,aAAU,CAACX,WAAW,CACvC,IAAI,CAACb,MAAM,EACX,IAAI,CAACE,OAAO,EACZ,IAAI,CAACE,WAAW,EAChB,IAAI,CAACU,IAAI,CACV;MACD;MACA,IAAI,CAACF,SAAS,GAAGY,aAAU,CAACZ,SAAS,CACnC,IAAI,CAACZ,MAAM,EACX,IAAI,CAACQ,QAAQ,EACb,IAAI,CAACJ,WAAW,EAChB,IAAI,CAACT,YAAY,EACjB,IAAI,CAACmB,IAAI,CACV;MAED,IAAI,CAACI,WAAW,GAAGM,aAAU,CAACkB,kBAAkB,CAAC,IAAI,CAACpD,WAAW,CAAC;IACpE;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA;IAAA,OAOA,uBAAsBA,WAAmB,EAAE;MACzC,IAAI,CAACiB,MAAM,GAAGiB,aAAU,CAACmB,aAAa,CAACrD,WAAW,CAAC;MACnD,QAAQ,IAAI,CAACiB,MAAM;QACjB,KAAKqC,qBAAU;UACb,IAAI,CAACzC,SAAS,GAAG,IAAI;UACrB,IAAI,CAACC,WAAW,GAAG,KAAK;UACxB;QACF,KAAKyC,uBAAY;UACf,IAAI,CAAC1C,SAAS,GAAG,KAAK;UACtB,IAAI,CAACC,WAAW,GAAG,IAAI;UACvB;QACF,KAAK0C,2BAAgB;UACnB,IAAI,CAAC3C,SAAS,GAAG,KAAK;UACtB,IAAI,CAACC,WAAW,GAAG,KAAK;UACxB;QACF;UACE,IAAI,CAACD,SAAS,GAAG,KAAK;UACtB,IAAI,CAACC,WAAW,GAAG,KAAK;MAAC;IAE/B;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA;IAAA,OAOA,6BAA2B2C,IAAa,EAAE;MACxC,IAAI,CAACzC,gBAAgB,GAAGyC,IAAI;IAC9B;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA;IAAA,OAOA,mBAAiBA,IAAa,EAAE;MAC9B,IAAI,CAAC9C,MAAM,GAAG8C,IAAI;IACpB;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA;IAAA,OAOA,mBAAiBA,IAAa,EAAE;MAC9B,IAAI,CAAC/C,MAAM,GAAG+C,IAAI;IACpB;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAA;IAAA,OAQA,iCAA+BzD,WAAmB,EAAE0D,SAAiB,EAAE;MACrE,IAAIxB,aAAU,CAACf,MAAM,CAACnB,WAAW,CAAC,EAAE;QAClC,IAAI,CAACgB,gBAAgB,GAAGkB,aAAU,CAACyB,MAAM,CAAC3D,WAAW,EAAE0D,SAAS,CAAC;MACnE,CAAC,MAAM,IAAIxB,aAAU,CAAChB,QAAQ,CAAClB,WAAW,CAAC,EAAE;QAC3C,IAAI,CAACgB,gBAAgB,GAAGkB,aAAU,CAAC0B,gBAAgB,CAAC5D,WAAW,EAAE0D,SAAS,CAAC;MAC7E;IACF;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAA;IAAA,OAQA,4BAA0B1D,WAAmB,EAAEmD,WAAmB,EAAE;MAClE,IAAI,CAAC9B,WAAW,GAAGa,aAAU,CAACyB,MAAM,CAAC3D,WAAW,EAAEmD,WAAW,CAAC;IAChE;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAA;IAAA,OAQA,uBAAsBnD,WAAmB,EAAE4C,MAAc,EAAE;MACzD,IAAIV,aAAU,CAACf,MAAM,CAACnB,WAAW,CAAC,EAAE;QAClC,IAAI,CAACU,MAAM,GAAGwB,aAAU,CAACyB,MAAM,CAAC3D,WAAW,EAAE4C,MAAM,CAAC;MACtD,CAAC,MAAM,IAAIV,aAAU,CAAChB,QAAQ,CAAClB,WAAW,CAAC,EAAE;QAC3C,IAAI,CAACU,MAAM,GAAGwB,aAAU,CAAC0B,gBAAgB,CAAC5D,WAAW,EAAE4C,MAAM,CAAC;QAC9D,IAAI,CAACxB,cAAc,GAAGwB,MAAM;MAC9B;IACF;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAA;IAAA,OAQA,uBAAsB5C,WAAmB,EAAE8C,MAAc,EAAE;MACzD,IAAIZ,aAAU,CAACf,MAAM,CAACnB,WAAW,CAAC,EAAE;QAClC,IAAI,CAACW,MAAM,GAAGuB,aAAU,CAACyB,MAAM,CAAC3D,WAAW,EAAE8C,MAAM,CAAC;MACtD,CAAC,MAAM,IAAIZ,aAAU,CAAChB,QAAQ,CAAClB,WAAW,CAAC,EAAE;QAC3C,IAAI,CAACW,MAAM,GAAGuB,aAAU,CAAC0B,gBAAgB,CAAC5D,WAAW,EAAE8C,MAAM,CAAC;MAChE;IACF;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA;IAAA,OAOA,sBAAqB9C,WAAiC,EAAE;MACtD,IAAI,CAAC2B,KAAK,GAAGO,aAAU,CAAC2B,mBAAmB,CAAC7D,WAAW,CAAC;IAC1D;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA;IAAA,OAOA,qBAAoBwB,IAAY,EAAE;MAChC,IAAI,CAACA,IAAI,GAAGA,IAAI;IAClB;EAAC;EAAA;AAAA;AAAA"}
@@ -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"}