@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,28 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  _Object$defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
-
9
7
  exports.default = void 0;
10
-
11
8
  var _constants = require("../constants");
12
-
13
9
  var MediaSharesUtils = {};
10
+
14
11
  /**
15
12
  * parses the relevant values for mediaShares: contentId, disposition
16
13
  * @param {Object} mediaShares
17
14
  * @returns {undefined}
18
15
  */
19
-
20
16
  MediaSharesUtils.parse = function (mediaShares) {
21
17
  if (mediaShares) {
22
18
  return {
23
19
  content: {
24
20
  beneficiaryId: MediaSharesUtils.getContentBeneficiaryId(mediaShares),
25
- disposition: MediaSharesUtils.getContentDisposition(mediaShares)
21
+ disposition: MediaSharesUtils.getContentDisposition(mediaShares),
22
+ annotation: MediaSharesUtils.getContentAnnotation(mediaShares),
23
+ url: MediaSharesUtils.getContentUrl(mediaShares),
24
+ shareInstanceId: MediaSharesUtils.getShareInstanceId(mediaShares)
26
25
  },
27
26
  whiteboard: {
28
27
  beneficiaryId: MediaSharesUtils.getWhiteboardBeneficiaryId(mediaShares),
@@ -31,9 +30,9 @@ MediaSharesUtils.parse = function (mediaShares) {
31
30
  }
32
31
  };
33
32
  }
34
-
35
33
  return null;
36
34
  };
35
+
37
36
  /**
38
37
  * get the previous and current mediaShares values parsed, as well as the boolean updates
39
38
  * @param {Object} oldShare
@@ -41,8 +40,6 @@ MediaSharesUtils.parse = function (mediaShares) {
41
40
  * @returns {Object}
42
41
  * previous: {Object} old share, current: {Object} new share,
43
42
  */
44
-
45
-
46
43
  MediaSharesUtils.getMediaShares = function (oldShare, newShare) {
47
44
  var previous = oldShare && MediaSharesUtils.parse(oldShare);
48
45
  var current = newShare && MediaSharesUtils.parse(newShare);
@@ -51,145 +48,164 @@ MediaSharesUtils.getMediaShares = function (oldShare, newShare) {
51
48
  current: current
52
49
  };
53
50
  };
51
+
54
52
  /**
55
53
  * get the content floor disposition (released, granted)
56
54
  * @param {Object} mediaShares
57
55
  * @returns {Boolean} disposition
58
56
  */
59
-
60
-
61
57
  MediaSharesUtils.getContentDisposition = function (mediaShares) {
62
58
  var contentFloor = MediaSharesUtils.extractContentFloor(mediaShares);
63
59
  return contentFloor ? contentFloor.disposition : null;
64
60
  };
61
+
65
62
  /**
66
63
  * get the whiteboard floor disposition (released, granted)
67
64
  * @param {Object} mediaShares
68
65
  * @returns {Boolean} disposition
69
66
  */
70
-
71
-
72
67
  MediaSharesUtils.getWhiteboardDisposition = function (mediaShares) {
73
68
  var whiteboardFloor = MediaSharesUtils.extractWhiteboardFloor(mediaShares);
74
69
  return whiteboardFloor ? whiteboardFloor.disposition : null;
75
70
  };
71
+
76
72
  /**
77
73
  * extract the content property from media shares
78
74
  * @param {Object} mediaShares
79
75
  * @returns {Object}
80
76
  */
81
-
82
-
83
77
  MediaSharesUtils.extractContent = function (mediaShares) {
84
78
  if (!mediaShares || !mediaShares.length) {
85
79
  return null;
86
80
  }
87
-
88
81
  return mediaShares.find(function (share) {
89
82
  return share.name === _constants.CONTENT;
90
83
  }) || null;
91
84
  };
85
+
92
86
  /**
93
87
  * extract the whiteboard property from media shares
94
88
  * @param {Object} mediaShares
95
89
  * @returns {Object}
96
90
  */
97
-
98
-
99
91
  MediaSharesUtils.extractWhiteboard = function (mediaShares) {
100
92
  if (!mediaShares || !mediaShares.length) {
101
93
  return null;
102
94
  }
103
-
104
95
  return mediaShares.find(function (share) {
105
96
  return share.name === _constants.WHITEBOARD;
106
97
  }) || null;
107
98
  };
99
+
108
100
  /**
109
101
  * extract the media stream floor property from content object
110
102
  * @param {Object} mediaStream
111
103
  * @returns {Object}
112
104
  */
113
-
114
-
115
105
  MediaSharesUtils.extractFloor = function (mediaStream) {
116
106
  if (!mediaStream) {
117
107
  return null;
118
108
  }
119
-
120
109
  return mediaStream.floor;
121
110
  };
111
+
122
112
  /**
123
113
  * extract the content's floor from media shares
124
114
  * @param {Object} mediaShares
125
115
  * @returns {Object}
126
116
  */
127
-
128
-
129
117
  MediaSharesUtils.extractContentFloor = function (mediaShares) {
130
118
  var content = MediaSharesUtils.extractContent(mediaShares);
131
119
  return MediaSharesUtils.extractFloor(content);
132
120
  };
121
+
133
122
  /**
134
123
  * extract the whiteboard's floor from media shares
135
124
  * @param {Object} mediaShares
136
125
  * @returns {Object}
137
126
  */
138
-
139
-
140
127
  MediaSharesUtils.extractWhiteboardFloor = function (mediaShares) {
141
128
  var whiteboard = MediaSharesUtils.extractWhiteboard(mediaShares);
142
129
  return MediaSharesUtils.extractFloor(whiteboard);
143
130
  };
131
+
144
132
  /**
145
133
  * get who is sharing from media shares (content)
146
134
  * @param {Object} mediaShares
147
135
  * @returns {Object}
148
136
  */
149
-
150
-
151
137
  MediaSharesUtils.getContentBeneficiaryId = function (mediaShares) {
152
138
  var contentFloor = MediaSharesUtils.extractContentFloor(mediaShares);
153
-
154
139
  if (!contentFloor || !contentFloor.beneficiary) {
155
140
  return null;
156
141
  }
157
-
158
142
  return contentFloor.beneficiary.id;
159
143
  };
144
+
160
145
  /**
161
- * get who is sharing from media shares (whiteboard)
146
+ * get live annotation is sharing from media shares (content)
162
147
  * @param {Object} mediaShares
163
148
  * @returns {Object}
164
149
  */
150
+ MediaSharesUtils.getContentAnnotation = function (mediaShares) {
151
+ var extractContent = MediaSharesUtils.extractContent(mediaShares);
152
+ if (!extractContent || !extractContent.annotation) {
153
+ return undefined;
154
+ }
155
+ return extractContent.annotation;
156
+ };
165
157
 
158
+ /**
159
+ * get url is sharing from media shares (content)
160
+ * @param {Object} mediaShares
161
+ * @returns {Object}
162
+ */
163
+ MediaSharesUtils.getContentUrl = function (mediaShares) {
164
+ var extractContent = MediaSharesUtils.extractContent(mediaShares);
165
+ if (!extractContent || !extractContent.url) {
166
+ return undefined;
167
+ }
168
+ return extractContent.url;
169
+ };
170
+
171
+ /**
172
+ * get shareInstanceId is sharing from media shares (content)
173
+ * @param {Object} mediaShares
174
+ * @returns {Object}
175
+ */
176
+ MediaSharesUtils.getShareInstanceId = function (mediaShares) {
177
+ var extractContent = MediaSharesUtils.extractContent(mediaShares);
178
+ if (!extractContent || !extractContent.floor || !extractContent.floor.shareInstanceId) {
179
+ return undefined;
180
+ }
181
+ return extractContent.floor.shareInstanceId;
182
+ };
166
183
 
184
+ /**
185
+ * get who is sharing from media shares (whiteboard)
186
+ * @param {Object} mediaShares
187
+ * @returns {Object}
188
+ */
167
189
  MediaSharesUtils.getWhiteboardBeneficiaryId = function (mediaShares) {
168
190
  var whiteboardFloor = MediaSharesUtils.extractWhiteboardFloor(mediaShares);
169
-
170
191
  if (!whiteboardFloor || !whiteboardFloor.beneficiary) {
171
192
  return null;
172
193
  }
173
-
174
194
  return whiteboardFloor.beneficiary.id;
175
195
  };
196
+
176
197
  /**
177
198
  * get the which whiteboard is being shared via resource url
178
199
  * @param {Object} mediaShares
179
200
  * @returns {Object}
180
201
  */
181
-
182
-
183
202
  MediaSharesUtils.getWhiteboardResourceUrl = function (mediaShares) {
184
203
  var whiteboard = MediaSharesUtils.extractWhiteboard(mediaShares);
185
-
186
204
  if (!whiteboard || !whiteboard.resourceUrl) {
187
205
  return null;
188
206
  }
189
-
190
207
  return whiteboard.resourceUrl;
191
208
  };
192
-
193
209
  var _default = MediaSharesUtils;
194
210
  exports.default = _default;
195
211
  //# sourceMappingURL=mediaSharesUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MediaSharesUtils","parse","mediaShares","content","beneficiaryId","getContentBeneficiaryId","disposition","getContentDisposition","whiteboard","getWhiteboardBeneficiaryId","getWhiteboardDisposition","resourceUrl","getWhiteboardResourceUrl","getMediaShares","oldShare","newShare","previous","current","contentFloor","extractContentFloor","whiteboardFloor","extractWhiteboardFloor","extractContent","length","find","share","name","CONTENT","extractWhiteboard","WHITEBOARD","extractFloor","mediaStream","floor","beneficiary","id"],"sources":["mediaSharesUtils.js"],"sourcesContent":["import {CONTENT, WHITEBOARD} from '../constants';\n\nconst MediaSharesUtils = {};\n\n/**\n * parses the relevant values for mediaShares: contentId, disposition\n * @param {Object} mediaShares\n * @returns {undefined}\n */\nMediaSharesUtils.parse = (mediaShares) => {\n if (mediaShares) {\n return {\n content: {\n beneficiaryId: MediaSharesUtils.getContentBeneficiaryId(mediaShares),\n disposition: MediaSharesUtils.getContentDisposition(mediaShares)\n },\n whiteboard: {\n beneficiaryId: MediaSharesUtils.getWhiteboardBeneficiaryId(mediaShares),\n disposition: MediaSharesUtils.getWhiteboardDisposition(mediaShares),\n resourceUrl: MediaSharesUtils.getWhiteboardResourceUrl(mediaShares)\n }\n };\n }\n\n return null;\n};\n\n/**\n * get the previous and current mediaShares values parsed, as well as the boolean updates\n * @param {Object} oldShare\n * @param {Object} newShare\n * @returns {Object}\n * previous: {Object} old share, current: {Object} new share,\n */\nMediaSharesUtils.getMediaShares = (oldShare, newShare) => {\n const previous = oldShare && MediaSharesUtils.parse(oldShare);\n const current = newShare && MediaSharesUtils.parse(newShare);\n\n return {\n previous,\n current\n };\n};\n\n/**\n * get the content floor disposition (released, granted)\n * @param {Object} mediaShares\n * @returns {Boolean} disposition\n */\nMediaSharesUtils.getContentDisposition = (mediaShares) => {\n const contentFloor = MediaSharesUtils.extractContentFloor(mediaShares);\n\n return contentFloor ? contentFloor.disposition : null;\n};\n\n/**\n * get the whiteboard floor disposition (released, granted)\n * @param {Object} mediaShares\n * @returns {Boolean} disposition\n */\nMediaSharesUtils.getWhiteboardDisposition = (mediaShares) => {\n const whiteboardFloor = MediaSharesUtils.extractWhiteboardFloor(mediaShares);\n\n return whiteboardFloor ? whiteboardFloor.disposition : null;\n};\n\n/**\n * extract the content property from media shares\n * @param {Object} mediaShares\n * @returns {Object}\n */\nMediaSharesUtils.extractContent = (mediaShares) => {\n if (!mediaShares || !mediaShares.length) {\n return null;\n }\n\n return mediaShares.find((share) => share.name === CONTENT) || null;\n};\n\n/**\n * extract the whiteboard property from media shares\n * @param {Object} mediaShares\n * @returns {Object}\n */\nMediaSharesUtils.extractWhiteboard = (mediaShares) => {\n if (!mediaShares || !mediaShares.length) {\n return null;\n }\n\n return mediaShares.find((share) => share.name === WHITEBOARD) || null;\n};\n\n/**\n * extract the media stream floor property from content object\n * @param {Object} mediaStream\n * @returns {Object}\n */\nMediaSharesUtils.extractFloor = (mediaStream) => {\n if (!mediaStream) {\n return null;\n }\n\n return mediaStream.floor;\n};\n\n/**\n * extract the content's floor from media shares\n * @param {Object} mediaShares\n * @returns {Object}\n */\nMediaSharesUtils.extractContentFloor = (mediaShares) => {\n const content = MediaSharesUtils.extractContent(mediaShares);\n\n return MediaSharesUtils.extractFloor(content);\n};\n\n/**\n * extract the whiteboard's floor from media shares\n * @param {Object} mediaShares\n * @returns {Object}\n */\nMediaSharesUtils.extractWhiteboardFloor = (mediaShares) => {\n const whiteboard = MediaSharesUtils.extractWhiteboard(mediaShares);\n\n return MediaSharesUtils.extractFloor(whiteboard);\n};\n\n/**\n * get who is sharing from media shares (content)\n * @param {Object} mediaShares\n * @returns {Object}\n */\nMediaSharesUtils.getContentBeneficiaryId = (mediaShares) => {\n const contentFloor = MediaSharesUtils.extractContentFloor(mediaShares);\n\n if (!contentFloor || !contentFloor.beneficiary) {\n return null;\n }\n\n return contentFloor.beneficiary.id;\n};\n\n/**\n * get who is sharing from media shares (whiteboard)\n * @param {Object} mediaShares\n * @returns {Object}\n */\nMediaSharesUtils.getWhiteboardBeneficiaryId = (mediaShares) => {\n const whiteboardFloor = MediaSharesUtils.extractWhiteboardFloor(mediaShares);\n\n if (!whiteboardFloor || !whiteboardFloor.beneficiary) {\n return null;\n }\n\n return whiteboardFloor.beneficiary.id;\n};\n\n/**\n * get the which whiteboard is being shared via resource url\n * @param {Object} mediaShares\n * @returns {Object}\n */\nMediaSharesUtils.getWhiteboardResourceUrl = (mediaShares) => {\n const whiteboard = MediaSharesUtils.extractWhiteboard(mediaShares);\n\n if (!whiteboard || !whiteboard.resourceUrl) {\n return null;\n }\n\n return whiteboard.resourceUrl;\n};\n\nexport default MediaSharesUtils;\n"],"mappings":";;;;;;;;;;AAAA;;AAEA,IAAMA,gBAAgB,GAAG,EAAzB;AAEA;AACA;AACA;AACA;AACA;;AACAA,gBAAgB,CAACC,KAAjB,GAAyB,UAACC,WAAD,EAAiB;EACxC,IAAIA,WAAJ,EAAiB;IACf,OAAO;MACLC,OAAO,EAAE;QACPC,aAAa,EAAEJ,gBAAgB,CAACK,uBAAjB,CAAyCH,WAAzC,CADR;QAEPI,WAAW,EAAEN,gBAAgB,CAACO,qBAAjB,CAAuCL,WAAvC;MAFN,CADJ;MAKLM,UAAU,EAAE;QACVJ,aAAa,EAAEJ,gBAAgB,CAACS,0BAAjB,CAA4CP,WAA5C,CADL;QAEVI,WAAW,EAAEN,gBAAgB,CAACU,wBAAjB,CAA0CR,WAA1C,CAFH;QAGVS,WAAW,EAAEX,gBAAgB,CAACY,wBAAjB,CAA0CV,WAA1C;MAHH;IALP,CAAP;EAWD;;EAED,OAAO,IAAP;AACD,CAhBD;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACAF,gBAAgB,CAACa,cAAjB,GAAkC,UAACC,QAAD,EAAWC,QAAX,EAAwB;EACxD,IAAMC,QAAQ,GAAGF,QAAQ,IAAId,gBAAgB,CAACC,KAAjB,CAAuBa,QAAvB,CAA7B;EACA,IAAMG,OAAO,GAAGF,QAAQ,IAAIf,gBAAgB,CAACC,KAAjB,CAAuBc,QAAvB,CAA5B;EAEA,OAAO;IACLC,QAAQ,EAARA,QADK;IAELC,OAAO,EAAPA;EAFK,CAAP;AAID,CARD;AAUA;AACA;AACA;AACA;AACA;;;AACAjB,gBAAgB,CAACO,qBAAjB,GAAyC,UAACL,WAAD,EAAiB;EACxD,IAAMgB,YAAY,GAAGlB,gBAAgB,CAACmB,mBAAjB,CAAqCjB,WAArC,CAArB;EAEA,OAAOgB,YAAY,GAAGA,YAAY,CAACZ,WAAhB,GAA8B,IAAjD;AACD,CAJD;AAMA;AACA;AACA;AACA;AACA;;;AACAN,gBAAgB,CAACU,wBAAjB,GAA4C,UAACR,WAAD,EAAiB;EAC3D,IAAMkB,eAAe,GAAGpB,gBAAgB,CAACqB,sBAAjB,CAAwCnB,WAAxC,CAAxB;EAEA,OAAOkB,eAAe,GAAGA,eAAe,CAACd,WAAnB,GAAiC,IAAvD;AACD,CAJD;AAMA;AACA;AACA;AACA;AACA;;;AACAN,gBAAgB,CAACsB,cAAjB,GAAkC,UAACpB,WAAD,EAAiB;EACjD,IAAI,CAACA,WAAD,IAAgB,CAACA,WAAW,CAACqB,MAAjC,EAAyC;IACvC,OAAO,IAAP;EACD;;EAED,OAAOrB,WAAW,CAACsB,IAAZ,CAAiB,UAACC,KAAD;IAAA,OAAWA,KAAK,CAACC,IAAN,KAAeC,kBAA1B;EAAA,CAAjB,KAAuD,IAA9D;AACD,CAND;AAQA;AACA;AACA;AACA;AACA;;;AACA3B,gBAAgB,CAAC4B,iBAAjB,GAAqC,UAAC1B,WAAD,EAAiB;EACpD,IAAI,CAACA,WAAD,IAAgB,CAACA,WAAW,CAACqB,MAAjC,EAAyC;IACvC,OAAO,IAAP;EACD;;EAED,OAAOrB,WAAW,CAACsB,IAAZ,CAAiB,UAACC,KAAD;IAAA,OAAWA,KAAK,CAACC,IAAN,KAAeG,qBAA1B;EAAA,CAAjB,KAA0D,IAAjE;AACD,CAND;AAQA;AACA;AACA;AACA;AACA;;;AACA7B,gBAAgB,CAAC8B,YAAjB,GAAgC,UAACC,WAAD,EAAiB;EAC/C,IAAI,CAACA,WAAL,EAAkB;IAChB,OAAO,IAAP;EACD;;EAED,OAAOA,WAAW,CAACC,KAAnB;AACD,CAND;AAQA;AACA;AACA;AACA;AACA;;;AACAhC,gBAAgB,CAACmB,mBAAjB,GAAuC,UAACjB,WAAD,EAAiB;EACtD,IAAMC,OAAO,GAAGH,gBAAgB,CAACsB,cAAjB,CAAgCpB,WAAhC,CAAhB;EAEA,OAAOF,gBAAgB,CAAC8B,YAAjB,CAA8B3B,OAA9B,CAAP;AACD,CAJD;AAMA;AACA;AACA;AACA;AACA;;;AACAH,gBAAgB,CAACqB,sBAAjB,GAA0C,UAACnB,WAAD,EAAiB;EACzD,IAAMM,UAAU,GAAGR,gBAAgB,CAAC4B,iBAAjB,CAAmC1B,WAAnC,CAAnB;EAEA,OAAOF,gBAAgB,CAAC8B,YAAjB,CAA8BtB,UAA9B,CAAP;AACD,CAJD;AAMA;AACA;AACA;AACA;AACA;;;AACAR,gBAAgB,CAACK,uBAAjB,GAA2C,UAACH,WAAD,EAAiB;EAC1D,IAAMgB,YAAY,GAAGlB,gBAAgB,CAACmB,mBAAjB,CAAqCjB,WAArC,CAArB;;EAEA,IAAI,CAACgB,YAAD,IAAiB,CAACA,YAAY,CAACe,WAAnC,EAAgD;IAC9C,OAAO,IAAP;EACD;;EAED,OAAOf,YAAY,CAACe,WAAb,CAAyBC,EAAhC;AACD,CARD;AAUA;AACA;AACA;AACA;AACA;;;AACAlC,gBAAgB,CAACS,0BAAjB,GAA8C,UAACP,WAAD,EAAiB;EAC7D,IAAMkB,eAAe,GAAGpB,gBAAgB,CAACqB,sBAAjB,CAAwCnB,WAAxC,CAAxB;;EAEA,IAAI,CAACkB,eAAD,IAAoB,CAACA,eAAe,CAACa,WAAzC,EAAsD;IACpD,OAAO,IAAP;EACD;;EAED,OAAOb,eAAe,CAACa,WAAhB,CAA4BC,EAAnC;AACD,CARD;AAUA;AACA;AACA;AACA;AACA;;;AACAlC,gBAAgB,CAACY,wBAAjB,GAA4C,UAACV,WAAD,EAAiB;EAC3D,IAAMM,UAAU,GAAGR,gBAAgB,CAAC4B,iBAAjB,CAAmC1B,WAAnC,CAAnB;;EAEA,IAAI,CAACM,UAAD,IAAe,CAACA,UAAU,CAACG,WAA/B,EAA4C;IAC1C,OAAO,IAAP;EACD;;EAED,OAAOH,UAAU,CAACG,WAAlB;AACD,CARD;;eAUeX,gB"}
1
+ {"version":3,"names":["MediaSharesUtils","parse","mediaShares","content","beneficiaryId","getContentBeneficiaryId","disposition","getContentDisposition","annotation","getContentAnnotation","url","getContentUrl","shareInstanceId","getShareInstanceId","whiteboard","getWhiteboardBeneficiaryId","getWhiteboardDisposition","resourceUrl","getWhiteboardResourceUrl","getMediaShares","oldShare","newShare","previous","current","contentFloor","extractContentFloor","whiteboardFloor","extractWhiteboardFloor","extractContent","length","find","share","name","CONTENT","extractWhiteboard","WHITEBOARD","extractFloor","mediaStream","floor","beneficiary","id","undefined"],"sources":["mediaSharesUtils.ts"],"sourcesContent":["import {CONTENT, WHITEBOARD} from '../constants';\n\nconst MediaSharesUtils: any = {};\n\n/**\n * parses the relevant values for mediaShares: contentId, disposition\n * @param {Object} mediaShares\n * @returns {undefined}\n */\nMediaSharesUtils.parse = (mediaShares: object) => {\n if (mediaShares) {\n return {\n content: {\n beneficiaryId: MediaSharesUtils.getContentBeneficiaryId(mediaShares),\n disposition: MediaSharesUtils.getContentDisposition(mediaShares),\n annotation: MediaSharesUtils.getContentAnnotation(mediaShares),\n url: MediaSharesUtils.getContentUrl(mediaShares),\n shareInstanceId: MediaSharesUtils.getShareInstanceId(mediaShares),\n },\n whiteboard: {\n beneficiaryId: MediaSharesUtils.getWhiteboardBeneficiaryId(mediaShares),\n disposition: MediaSharesUtils.getWhiteboardDisposition(mediaShares),\n resourceUrl: MediaSharesUtils.getWhiteboardResourceUrl(mediaShares),\n },\n };\n }\n\n return null;\n};\n\n/**\n * get the previous and current mediaShares values parsed, as well as the boolean updates\n * @param {Object} oldShare\n * @param {Object} newShare\n * @returns {Object}\n * previous: {Object} old share, current: {Object} new share,\n */\nMediaSharesUtils.getMediaShares = (oldShare: object, newShare: object) => {\n const previous = oldShare && MediaSharesUtils.parse(oldShare);\n const current = newShare && MediaSharesUtils.parse(newShare);\n\n return {\n previous,\n current,\n };\n};\n\n/**\n * get the content floor disposition (released, granted)\n * @param {Object} mediaShares\n * @returns {Boolean} disposition\n */\nMediaSharesUtils.getContentDisposition = (mediaShares: object) => {\n const contentFloor = MediaSharesUtils.extractContentFloor(mediaShares);\n\n return contentFloor ? contentFloor.disposition : null;\n};\n\n/**\n * get the whiteboard floor disposition (released, granted)\n * @param {Object} mediaShares\n * @returns {Boolean} disposition\n */\nMediaSharesUtils.getWhiteboardDisposition = (mediaShares: object) => {\n const whiteboardFloor = MediaSharesUtils.extractWhiteboardFloor(mediaShares);\n\n return whiteboardFloor ? whiteboardFloor.disposition : null;\n};\n\n/**\n * extract the content property from media shares\n * @param {Object} mediaShares\n * @returns {Object}\n */\nMediaSharesUtils.extractContent = (mediaShares: any) => {\n if (!mediaShares || !mediaShares.length) {\n return null;\n }\n\n return mediaShares.find((share) => share.name === CONTENT) || null;\n};\n\n/**\n * extract the whiteboard property from media shares\n * @param {Object} mediaShares\n * @returns {Object}\n */\nMediaSharesUtils.extractWhiteboard = (mediaShares: any) => {\n if (!mediaShares || !mediaShares.length) {\n return null;\n }\n\n return mediaShares.find((share) => share.name === WHITEBOARD) || null;\n};\n\n/**\n * extract the media stream floor property from content object\n * @param {Object} mediaStream\n * @returns {Object}\n */\nMediaSharesUtils.extractFloor = (mediaStream: any) => {\n if (!mediaStream) {\n return null;\n }\n\n return mediaStream.floor;\n};\n\n/**\n * extract the content's floor from media shares\n * @param {Object} mediaShares\n * @returns {Object}\n */\nMediaSharesUtils.extractContentFloor = (mediaShares: object) => {\n const content = MediaSharesUtils.extractContent(mediaShares);\n\n return MediaSharesUtils.extractFloor(content);\n};\n\n/**\n * extract the whiteboard's floor from media shares\n * @param {Object} mediaShares\n * @returns {Object}\n */\nMediaSharesUtils.extractWhiteboardFloor = (mediaShares: object) => {\n const whiteboard = MediaSharesUtils.extractWhiteboard(mediaShares);\n\n return MediaSharesUtils.extractFloor(whiteboard);\n};\n\n/**\n * get who is sharing from media shares (content)\n * @param {Object} mediaShares\n * @returns {Object}\n */\nMediaSharesUtils.getContentBeneficiaryId = (mediaShares: object) => {\n const contentFloor = MediaSharesUtils.extractContentFloor(mediaShares);\n\n if (!contentFloor || !contentFloor.beneficiary) {\n return null;\n }\n\n return contentFloor.beneficiary.id;\n};\n\n/**\n * get live annotation is sharing from media shares (content)\n * @param {Object} mediaShares\n * @returns {Object}\n */\nMediaSharesUtils.getContentAnnotation = (mediaShares: object) => {\n const extractContent = MediaSharesUtils.extractContent(mediaShares);\n\n if (!extractContent || !extractContent.annotation) {\n return undefined;\n }\n\n return extractContent.annotation;\n};\n\n/**\n * get url is sharing from media shares (content)\n * @param {Object} mediaShares\n * @returns {Object}\n */\nMediaSharesUtils.getContentUrl = (mediaShares: object) => {\n const extractContent = MediaSharesUtils.extractContent(mediaShares);\n\n if (!extractContent || !extractContent.url) {\n return undefined;\n }\n\n return extractContent.url;\n};\n\n/**\n * get shareInstanceId is sharing from media shares (content)\n * @param {Object} mediaShares\n * @returns {Object}\n */\nMediaSharesUtils.getShareInstanceId = (mediaShares: object) => {\n const extractContent = MediaSharesUtils.extractContent(mediaShares);\n\n if (!extractContent || !extractContent.floor || !extractContent.floor.shareInstanceId) {\n return undefined;\n }\n\n return extractContent.floor.shareInstanceId;\n};\n\n/**\n * get who is sharing from media shares (whiteboard)\n * @param {Object} mediaShares\n * @returns {Object}\n */\nMediaSharesUtils.getWhiteboardBeneficiaryId = (mediaShares: object) => {\n const whiteboardFloor = MediaSharesUtils.extractWhiteboardFloor(mediaShares);\n\n if (!whiteboardFloor || !whiteboardFloor.beneficiary) {\n return null;\n }\n\n return whiteboardFloor.beneficiary.id;\n};\n\n/**\n * get the which whiteboard is being shared via resource url\n * @param {Object} mediaShares\n * @returns {Object}\n */\nMediaSharesUtils.getWhiteboardResourceUrl = (mediaShares: object) => {\n const whiteboard = MediaSharesUtils.extractWhiteboard(mediaShares);\n\n if (!whiteboard || !whiteboard.resourceUrl) {\n return null;\n }\n\n return whiteboard.resourceUrl;\n};\n\nexport default MediaSharesUtils;\n"],"mappings":"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"}