@webex/plugin-meetings 3.7.0 → 3.8.0

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 (351) hide show
  1. package/dist/annotation/annotation.types.d.ts +42 -0
  2. package/dist/annotation/constants.d.ts +31 -0
  3. package/dist/annotation/index.d.ts +117 -0
  4. package/dist/annotation/index.js +17 -0
  5. package/dist/annotation/index.js.map +1 -1
  6. package/dist/breakouts/breakout.d.ts +8 -0
  7. package/dist/breakouts/breakout.js +1 -1
  8. package/dist/breakouts/collection.d.ts +5 -0
  9. package/dist/breakouts/edit-lock-error.d.ts +15 -0
  10. package/dist/breakouts/events.d.ts +8 -0
  11. package/dist/breakouts/index.d.ts +5 -0
  12. package/dist/breakouts/index.js +1 -1
  13. package/dist/breakouts/request.d.ts +22 -0
  14. package/dist/breakouts/utils.d.ts +15 -0
  15. package/dist/common/browser-detection.d.ts +9 -0
  16. package/dist/common/collection.d.ts +48 -0
  17. package/dist/common/config.d.ts +2 -0
  18. package/dist/common/errors/captcha-error.d.ts +15 -0
  19. package/dist/common/errors/intent-to-join.d.ts +16 -0
  20. package/dist/common/errors/join-forbidden-error.js +52 -0
  21. package/dist/common/errors/join-forbidden-error.js.map +1 -0
  22. package/dist/common/errors/join-meeting.d.ts +17 -0
  23. package/dist/common/errors/{webinar-registration-error.js → join-webinar-error.js} +12 -12
  24. package/dist/common/errors/join-webinar-error.js.map +1 -0
  25. package/dist/common/errors/media.d.ts +15 -0
  26. package/dist/common/errors/multistream-not-supported-error.js +53 -0
  27. package/dist/common/errors/multistream-not-supported-error.js.map +1 -0
  28. package/dist/common/errors/no-meeting-info.d.ts +14 -0
  29. package/dist/common/errors/parameter.d.ts +15 -0
  30. package/dist/common/errors/password-error.d.ts +15 -0
  31. package/dist/common/errors/permission.d.ts +14 -0
  32. package/dist/common/errors/reclaim-host-role-error.js +149 -0
  33. package/dist/common/errors/reclaim-host-role-error.js.map +1 -0
  34. package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
  35. package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
  36. package/dist/common/errors/reconnection-in-progress.js +33 -0
  37. package/dist/common/errors/reconnection-in-progress.js.map +1 -0
  38. package/dist/common/errors/reconnection.d.ts +15 -0
  39. package/dist/common/errors/stats.d.ts +15 -0
  40. package/dist/common/errors/webex-errors.d.ts +93 -0
  41. package/dist/common/errors/webex-meetings-error.d.ts +20 -0
  42. package/dist/common/events/events-scope.d.ts +17 -0
  43. package/dist/common/events/events.d.ts +12 -0
  44. package/dist/common/events/trigger-proxy.d.ts +2 -0
  45. package/dist/common/events/util.d.ts +2 -0
  46. package/dist/common/logs/logger-config.d.ts +2 -0
  47. package/dist/common/logs/logger-proxy.d.ts +2 -0
  48. package/dist/common/logs/request.d.ts +36 -0
  49. package/dist/common/queue.d.ts +34 -0
  50. package/dist/config.d.ts +72 -0
  51. package/dist/config.js +2 -1
  52. package/dist/config.js.map +1 -1
  53. package/dist/constants.d.ts +1088 -0
  54. package/dist/constants.js +68 -6
  55. package/dist/constants.js.map +1 -1
  56. package/dist/controls-options-manager/constants.d.ts +4 -0
  57. package/dist/controls-options-manager/enums.d.ts +15 -0
  58. package/dist/controls-options-manager/index.d.ts +136 -0
  59. package/dist/controls-options-manager/types.d.ts +43 -0
  60. package/dist/controls-options-manager/util.d.ts +1 -0
  61. package/dist/index.d.ts +7 -0
  62. package/dist/index.js +16 -11
  63. package/dist/index.js.map +1 -1
  64. package/dist/interceptors/index.d.ts +2 -0
  65. package/dist/interceptors/locusRetry.d.ts +27 -0
  66. package/dist/interpretation/collection.d.ts +5 -0
  67. package/dist/interpretation/index.d.ts +5 -0
  68. package/dist/interpretation/index.js +1 -1
  69. package/dist/interpretation/siLanguage.d.ts +5 -0
  70. package/dist/interpretation/siLanguage.js +1 -1
  71. package/dist/locus-info/controlsUtils.d.ts +2 -0
  72. package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
  73. package/dist/locus-info/fullState.d.ts +2 -0
  74. package/dist/locus-info/hostUtils.d.ts +2 -0
  75. package/dist/locus-info/index.d.ts +322 -0
  76. package/dist/locus-info/index.js +14 -3
  77. package/dist/locus-info/index.js.map +1 -1
  78. package/dist/locus-info/infoUtils.d.ts +2 -0
  79. package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
  80. package/dist/locus-info/parser.d.ts +272 -0
  81. package/dist/locus-info/selfUtils.d.ts +2 -0
  82. package/dist/locus-info/selfUtils.js +35 -17
  83. package/dist/locus-info/selfUtils.js.map +1 -1
  84. package/dist/media/MediaConnectionAwaiter.js +1 -0
  85. package/dist/media/MediaConnectionAwaiter.js.map +1 -1
  86. package/dist/media/index.d.ts +34 -0
  87. package/dist/media/properties.d.ts +93 -0
  88. package/dist/media/properties.js +30 -16
  89. package/dist/media/properties.js.map +1 -1
  90. package/dist/media/util.d.ts +2 -0
  91. package/dist/mediaQualityMetrics/config.d.ts +241 -0
  92. package/dist/mediaQualityMetrics/config.js +502 -0
  93. package/dist/mediaQualityMetrics/config.js.map +1 -0
  94. package/dist/meeting/brbState.js +167 -0
  95. package/dist/meeting/brbState.js.map +1 -0
  96. package/dist/meeting/effectsState.js +260 -0
  97. package/dist/meeting/effectsState.js.map +1 -0
  98. package/dist/meeting/in-meeting-actions.d.ts +167 -0
  99. package/dist/meeting/in-meeting-actions.js +13 -1
  100. package/dist/meeting/in-meeting-actions.js.map +1 -1
  101. package/dist/meeting/index.d.ts +1825 -0
  102. package/dist/meeting/index.js +1331 -1051
  103. package/dist/meeting/index.js.map +1 -1
  104. package/dist/meeting/locusMediaRequest.d.ts +74 -0
  105. package/dist/meeting/locusMediaRequest.js +11 -6
  106. package/dist/meeting/locusMediaRequest.js.map +1 -1
  107. package/dist/meeting/muteState.d.ts +178 -0
  108. package/dist/meeting/muteState.js +1 -6
  109. package/dist/meeting/muteState.js.map +1 -1
  110. package/dist/meeting/request.d.ts +295 -0
  111. package/dist/meeting/request.js +51 -29
  112. package/dist/meeting/request.js.map +1 -1
  113. package/dist/meeting/request.type.d.ts +11 -0
  114. package/dist/meeting/request.type.js.map +1 -1
  115. package/dist/meeting/state.d.ts +9 -0
  116. package/dist/meeting/util.d.ts +119 -0
  117. package/dist/meeting/util.js +103 -67
  118. package/dist/meeting/util.js.map +1 -1
  119. package/dist/meeting/voicea-meeting.d.ts +16 -0
  120. package/dist/meeting-info/collection.d.ts +20 -0
  121. package/dist/meeting-info/index.d.ts +69 -0
  122. package/dist/meeting-info/meeting-info-v2.d.ts +123 -0
  123. package/dist/meeting-info/meeting-info-v2.js +115 -45
  124. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  125. package/dist/meeting-info/request.d.ts +22 -0
  126. package/dist/meeting-info/util.d.ts +2 -0
  127. package/dist/meeting-info/utilv2.d.ts +2 -0
  128. package/dist/meeting-info/utilv2.js +6 -2
  129. package/dist/meeting-info/utilv2.js.map +1 -1
  130. package/dist/meetings/collection.d.ts +40 -0
  131. package/dist/meetings/index.d.ts +390 -0
  132. package/dist/meetings/index.js +107 -55
  133. package/dist/meetings/index.js.map +1 -1
  134. package/dist/meetings/meetings.types.d.ts +4 -0
  135. package/dist/meetings/meetings.types.js +2 -0
  136. package/dist/meetings/meetings.types.js.map +1 -1
  137. package/dist/meetings/request.d.ts +27 -0
  138. package/dist/meetings/util.d.ts +18 -0
  139. package/dist/meetings/util.js +1 -1
  140. package/dist/meetings/util.js.map +1 -1
  141. package/dist/member/index.d.ts +160 -0
  142. package/dist/member/index.js +9 -0
  143. package/dist/member/index.js.map +1 -1
  144. package/dist/member/member.types.js +17 -0
  145. package/dist/member/member.types.js.map +1 -0
  146. package/dist/member/types.d.ts +32 -0
  147. package/dist/member/types.js.map +1 -1
  148. package/dist/member/util.d.ts +2 -0
  149. package/dist/member/util.js +39 -28
  150. package/dist/member/util.js.map +1 -1
  151. package/dist/members/collection.d.ts +29 -0
  152. package/dist/members/index.d.ts +353 -0
  153. package/dist/members/request.d.ts +114 -0
  154. package/dist/members/types.d.ts +25 -0
  155. package/dist/members/util.d.ts +215 -0
  156. package/dist/members/util.js +4 -2
  157. package/dist/members/util.js.map +1 -1
  158. package/dist/metrics/config.js +276 -0
  159. package/dist/metrics/config.js.map +1 -0
  160. package/dist/metrics/constants.d.ts +70 -0
  161. package/dist/metrics/constants.js +6 -1
  162. package/dist/metrics/constants.js.map +1 -1
  163. package/dist/metrics/index.d.ts +45 -0
  164. package/dist/multistream/mediaRequestManager.d.ts +119 -0
  165. package/dist/multistream/receiveSlot.d.ts +68 -0
  166. package/dist/multistream/receiveSlotManager.d.ts +56 -0
  167. package/dist/multistream/remoteMedia.d.ts +72 -0
  168. package/dist/multistream/remoteMedia.js +30 -15
  169. package/dist/multistream/remoteMedia.js.map +1 -1
  170. package/dist/multistream/remoteMediaGroup.d.ts +49 -0
  171. package/dist/multistream/remoteMediaManager.d.ts +300 -0
  172. package/dist/multistream/sendSlotManager.d.ts +69 -0
  173. package/dist/multistream/sendSlotManager.js +24 -0
  174. package/dist/multistream/sendSlotManager.js.map +1 -1
  175. package/dist/networkQualityMonitor/index.d.ts +70 -0
  176. package/dist/networkQualityMonitor/index.js +13 -19
  177. package/dist/networkQualityMonitor/index.js.map +1 -1
  178. package/dist/peer-connection-manager/index.js +671 -0
  179. package/dist/peer-connection-manager/index.js.map +1 -0
  180. package/dist/peer-connection-manager/util.js +109 -0
  181. package/dist/peer-connection-manager/util.js.map +1 -0
  182. package/dist/personal-meeting-room/index.d.ts +47 -0
  183. package/dist/personal-meeting-room/request.d.ts +14 -0
  184. package/dist/personal-meeting-room/util.d.ts +2 -0
  185. package/dist/reachability/clusterReachability.d.ts +109 -0
  186. package/dist/reachability/clusterReachability.js +12 -15
  187. package/dist/reachability/clusterReachability.js.map +1 -1
  188. package/dist/reachability/index.d.ts +105 -0
  189. package/dist/reachability/index.js +461 -136
  190. package/dist/reachability/index.js.map +1 -1
  191. package/dist/reachability/reachability.types.js +7 -0
  192. package/dist/reachability/reachability.types.js.map +1 -0
  193. package/dist/reachability/request.d.ts +39 -0
  194. package/dist/reachability/request.js +21 -8
  195. package/dist/reachability/request.js.map +1 -1
  196. package/dist/reachability/util.d.ts +8 -0
  197. package/dist/reactions/constants.d.ts +3 -0
  198. package/dist/reactions/reactions.d.ts +4 -0
  199. package/dist/reactions/reactions.type.d.ts +52 -0
  200. package/dist/reconnection-manager/index.d.ts +136 -0
  201. package/dist/recording-controller/enums.d.ts +7 -0
  202. package/dist/recording-controller/enums.js +8 -4
  203. package/dist/recording-controller/enums.js.map +1 -1
  204. package/dist/recording-controller/index.d.ts +207 -0
  205. package/dist/recording-controller/index.js +18 -9
  206. package/dist/recording-controller/index.js.map +1 -1
  207. package/dist/recording-controller/util.d.ts +14 -0
  208. package/dist/recording-controller/util.js +13 -9
  209. package/dist/recording-controller/util.js.map +1 -1
  210. package/dist/roap/collection.js +62 -0
  211. package/dist/roap/collection.js.map +1 -0
  212. package/dist/roap/handler.js +275 -0
  213. package/dist/roap/handler.js.map +1 -0
  214. package/dist/roap/index.d.ts +86 -0
  215. package/dist/roap/index.js +15 -15
  216. package/dist/roap/index.js.map +1 -1
  217. package/dist/roap/request.d.ts +39 -0
  218. package/dist/roap/request.js +45 -79
  219. package/dist/roap/request.js.map +1 -1
  220. package/dist/roap/state.js +126 -0
  221. package/dist/roap/state.js.map +1 -0
  222. package/dist/roap/turnDiscovery.d.ts +155 -0
  223. package/dist/roap/turnDiscovery.js +3 -6
  224. package/dist/roap/turnDiscovery.js.map +1 -1
  225. package/dist/roap/util.js +75 -0
  226. package/dist/roap/util.js.map +1 -0
  227. package/dist/rtcMetrics/constants.d.ts +4 -0
  228. package/dist/rtcMetrics/index.d.ts +61 -0
  229. package/dist/statsAnalyzer/global.d.ts +36 -0
  230. package/dist/statsAnalyzer/global.js +126 -0
  231. package/dist/statsAnalyzer/global.js.map +1 -0
  232. package/dist/statsAnalyzer/index.d.ts +217 -0
  233. package/dist/statsAnalyzer/index.js +1013 -0
  234. package/dist/statsAnalyzer/index.js.map +1 -0
  235. package/dist/statsAnalyzer/mqaUtil.d.ts +48 -0
  236. package/dist/statsAnalyzer/mqaUtil.js +179 -0
  237. package/dist/statsAnalyzer/mqaUtil.js.map +1 -0
  238. package/dist/transcription/index.d.ts +64 -0
  239. package/dist/types/annotation/index.d.ts +5 -0
  240. package/dist/types/common/errors/join-forbidden-error.d.ts +15 -0
  241. package/dist/types/common/errors/{webinar-registration-error.d.ts → join-webinar-error.d.ts} +2 -2
  242. package/dist/types/common/errors/multistream-not-supported-error.d.ts +17 -0
  243. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  244. package/dist/types/config.d.ts +1 -0
  245. package/dist/types/constants.d.ts +53 -1
  246. package/dist/types/index.d.ts +3 -3
  247. package/dist/types/locus-info/index.d.ts +2 -1
  248. package/dist/types/mediaQualityMetrics/config.d.ts +241 -0
  249. package/dist/types/meeting/brbState.d.ts +54 -0
  250. package/dist/types/meeting/in-meeting-actions.d.ts +12 -0
  251. package/dist/types/meeting/index.d.ts +64 -14
  252. package/dist/types/meeting/locusMediaRequest.d.ts +6 -3
  253. package/dist/types/meeting/request.d.ts +14 -3
  254. package/dist/types/meeting/request.type.d.ts +6 -0
  255. package/dist/types/meeting/util.d.ts +3 -3
  256. package/dist/types/meeting-info/meeting-info-v2.d.ts +30 -5
  257. package/dist/types/meetings/index.d.ts +20 -2
  258. package/dist/types/meetings/meetings.types.d.ts +8 -0
  259. package/dist/types/member/index.d.ts +1 -0
  260. package/dist/types/member/types.d.ts +7 -0
  261. package/dist/types/members/util.d.ts +2 -0
  262. package/dist/types/metrics/constants.d.ts +6 -1
  263. package/dist/types/multistream/sendSlotManager.d.ts +8 -1
  264. package/dist/types/reachability/clusterReachability.d.ts +1 -10
  265. package/dist/types/reachability/index.d.ts +83 -36
  266. package/dist/types/reachability/reachability.types.d.ts +64 -0
  267. package/dist/types/reachability/request.d.ts +5 -1
  268. package/dist/types/recording-controller/enums.d.ts +5 -2
  269. package/dist/types/recording-controller/index.d.ts +1 -0
  270. package/dist/types/recording-controller/util.d.ts +2 -1
  271. package/dist/types/roap/request.d.ts +1 -13
  272. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  273. package/dist/types/statsAnalyzer/index.d.ts +217 -0
  274. package/dist/types/statsAnalyzer/mqaUtil.d.ts +48 -0
  275. package/dist/webinar/collection.d.ts +16 -0
  276. package/dist/webinar/index.d.ts +5 -0
  277. package/dist/webinar/index.js +390 -7
  278. package/dist/webinar/index.js.map +1 -1
  279. package/package.json +23 -22
  280. package/src/annotation/index.ts +16 -0
  281. package/src/common/errors/join-forbidden-error.ts +26 -0
  282. package/src/common/errors/join-webinar-error.ts +24 -0
  283. package/src/common/errors/multistream-not-supported-error.ts +30 -0
  284. package/src/config.ts +1 -0
  285. package/src/constants.ts +61 -3
  286. package/src/index.ts +5 -3
  287. package/src/locus-info/index.ts +20 -3
  288. package/src/locus-info/selfUtils.ts +24 -6
  289. package/src/media/MediaConnectionAwaiter.ts +2 -0
  290. package/src/media/properties.ts +34 -13
  291. package/src/meeting/brbState.ts +169 -0
  292. package/src/meeting/in-meeting-actions.ts +25 -0
  293. package/src/meeting/index.ts +443 -87
  294. package/src/meeting/locusMediaRequest.ts +11 -8
  295. package/src/meeting/muteState.ts +1 -6
  296. package/src/meeting/request.ts +30 -12
  297. package/src/meeting/request.type.ts +7 -0
  298. package/src/meeting/util.ts +32 -13
  299. package/src/meeting-info/meeting-info-v2.ts +83 -12
  300. package/src/meeting-info/utilv2.ts +17 -3
  301. package/src/meetings/index.ts +79 -20
  302. package/src/meetings/meetings.types.ts +10 -0
  303. package/src/meetings/util.ts +2 -1
  304. package/src/member/index.ts +9 -0
  305. package/src/member/types.ts +8 -0
  306. package/src/member/util.ts +34 -24
  307. package/src/members/util.ts +1 -0
  308. package/src/metrics/constants.ts +6 -1
  309. package/src/multistream/remoteMedia.ts +28 -15
  310. package/src/multistream/sendSlotManager.ts +31 -0
  311. package/src/reachability/clusterReachability.ts +5 -15
  312. package/src/reachability/index.ts +311 -75
  313. package/src/reachability/reachability.types.ts +85 -0
  314. package/src/reachability/request.ts +55 -31
  315. package/src/recording-controller/enums.ts +5 -2
  316. package/src/recording-controller/index.ts +17 -4
  317. package/src/recording-controller/util.ts +20 -5
  318. package/src/roap/index.ts +14 -13
  319. package/src/roap/request.ts +30 -44
  320. package/src/roap/turnDiscovery.ts +2 -4
  321. package/src/webinar/index.ts +235 -9
  322. package/test/unit/spec/annotation/index.ts +46 -1
  323. package/test/unit/spec/locus-info/index.js +292 -60
  324. package/test/unit/spec/locus-info/selfConstant.js +7 -0
  325. package/test/unit/spec/locus-info/selfUtils.js +101 -1
  326. package/test/unit/spec/media/properties.ts +15 -0
  327. package/test/unit/spec/meeting/brbState.ts +114 -0
  328. package/test/unit/spec/meeting/in-meeting-actions.ts +15 -1
  329. package/test/unit/spec/meeting/index.js +851 -107
  330. package/test/unit/spec/meeting/locusMediaRequest.ts +18 -11
  331. package/test/unit/spec/meeting/muteState.js +0 -24
  332. package/test/unit/spec/meeting/request.js +3 -26
  333. package/test/unit/spec/meeting/utils.js +73 -28
  334. package/test/unit/spec/meeting-info/meetinginfov2.js +46 -4
  335. package/test/unit/spec/meeting-info/utilv2.js +26 -0
  336. package/test/unit/spec/meetings/index.js +159 -18
  337. package/test/unit/spec/meetings/utils.js +10 -0
  338. package/test/unit/spec/member/util.js +52 -11
  339. package/test/unit/spec/members/utils.js +95 -0
  340. package/test/unit/spec/multistream/remoteMedia.ts +11 -7
  341. package/test/unit/spec/reachability/clusterReachability.ts +7 -0
  342. package/test/unit/spec/reachability/index.ts +383 -9
  343. package/test/unit/spec/reachability/request.js +48 -12
  344. package/test/unit/spec/recording-controller/index.js +61 -5
  345. package/test/unit/spec/recording-controller/util.js +39 -3
  346. package/test/unit/spec/roap/index.ts +48 -1
  347. package/test/unit/spec/roap/request.ts +51 -109
  348. package/test/unit/spec/roap/turnDiscovery.ts +202 -147
  349. package/test/unit/spec/webinar/index.ts +504 -0
  350. package/dist/common/errors/webinar-registration-error.js.map +0 -1
  351. package/src/common/errors/webinar-registration-error.ts +0 -27
@@ -12,7 +12,7 @@ var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
12
12
  var MemberUtil = {};
13
13
 
14
14
  /**
15
- * @param {Object} participant the locus participant
15
+ * @param {Object} participant - The locus participant object.
16
16
  * @returns {Boolean}
17
17
  */
18
18
  MemberUtil.canReclaimHost = function (participant) {
@@ -23,7 +23,7 @@ MemberUtil.canReclaimHost = function (participant) {
23
23
  };
24
24
 
25
25
  /**
26
- * @param {Object} participant the locus participant
26
+ * @param {Object} participant - The locus participant object.
27
27
  * @returns {[ServerRoleShape]}
28
28
  */
29
29
  MemberUtil.getControlsRoles = function (participant) {
@@ -32,7 +32,18 @@ MemberUtil.getControlsRoles = function (participant) {
32
32
  };
33
33
 
34
34
  /**
35
- * @param {Object} participant the locus participant
35
+ * Checks if the participant has the brb status enabled.
36
+ *
37
+ * @param {ParticipantWithBrb} participant - The locus participant object.
38
+ * @returns {boolean} - True if the participant has brb enabled, false otherwise.
39
+ */
40
+ MemberUtil.isBrb = function (participant) {
41
+ var _participant$controls3, _participant$controls4;
42
+ return ((_participant$controls3 = participant.controls) === null || _participant$controls3 === void 0 ? void 0 : (_participant$controls4 = _participant$controls3.brb) === null || _participant$controls4 === void 0 ? void 0 : _participant$controls4.enabled) || false;
43
+ };
44
+
45
+ /**
46
+ * @param {Object} participant - The locus participant object.
36
47
  * @param {ServerRoles} controlRole the search role
37
48
  * @returns {Boolean}
38
49
  */
@@ -44,7 +55,7 @@ MemberUtil.hasRole = function (participant, controlRole) {
44
55
  };
45
56
 
46
57
  /**
47
- * @param {Object} participant the locus participant
58
+ * @param {Object} participant - The locus participant object.
48
59
  * @returns {Boolean}
49
60
  */
50
61
  MemberUtil.hasCohost = function (participant) {
@@ -52,7 +63,7 @@ MemberUtil.hasCohost = function (participant) {
52
63
  };
53
64
 
54
65
  /**
55
- * @param {Object} participant the locus participant
66
+ * @param {Object} participant - The locus participant object.
56
67
  * @returns {Boolean}
57
68
  */
58
69
  MemberUtil.hasModerator = function (participant) {
@@ -60,7 +71,7 @@ MemberUtil.hasModerator = function (participant) {
60
71
  };
61
72
 
62
73
  /**
63
- * @param {Object} participant the locus participant
74
+ * @param {Object} participant - The locus participant object.
64
75
  * @returns {Boolean}
65
76
  */
66
77
  MemberUtil.hasPresenter = function (participant) {
@@ -68,7 +79,7 @@ MemberUtil.hasPresenter = function (participant) {
68
79
  };
69
80
 
70
81
  /**
71
- * @param {Object} participant the locus participant
82
+ * @param {Object} participant - The locus participant object.
72
83
  * @returns {IExternalRoles}
73
84
  */
74
85
  MemberUtil.extractControlRoles = function (participant) {
@@ -81,7 +92,7 @@ MemberUtil.extractControlRoles = function (participant) {
81
92
  };
82
93
 
83
94
  /**
84
- * @param {Object} participant the locus participant
95
+ * @param {Object} participant - The locus participant object.
85
96
  * @returns {Boolean}
86
97
  */
87
98
  MemberUtil.isUser = function (participant) {
@@ -92,7 +103,7 @@ MemberUtil.isModerator = function (participant) {
92
103
  };
93
104
 
94
105
  /**
95
- * @param {Object} participant the locus participant
106
+ * @param {Object} participant - The locus participant object.
96
107
  * @returns {Boolean}
97
108
  */
98
109
  MemberUtil.isGuest = function (participant) {
@@ -100,7 +111,7 @@ MemberUtil.isGuest = function (participant) {
100
111
  };
101
112
 
102
113
  /**
103
- * @param {Object} participant the locus participant
114
+ * @param {Object} participant - The locus participant object.
104
115
  * @returns {Boolean}
105
116
  */
106
117
  MemberUtil.isDevice = function (participant) {
@@ -113,7 +124,7 @@ MemberUtil.isModeratorAssignmentProhibited = function (participant) {
113
124
  /**
114
125
  * checks to see if the participant id is the same as the passed id
115
126
  * there are multiple ids that can be used
116
- * @param {Object} participant the locus participant
127
+ * @param {Object} participant - The locus participant object.
117
128
  * @param {String} id
118
129
  * @returns {Boolean}
119
130
  */
@@ -124,7 +135,7 @@ MemberUtil.isSame = function (participant, id) {
124
135
  /**
125
136
  * checks to see if the participant id is the same as the passed id for associated devices
126
137
  * there are multiple ids that can be used
127
- * @param {Object} participant the locus participant
138
+ * @param {Object} participant - The locus participant object.
128
139
  * @param {String} id
129
140
  * @returns {Boolean}
130
141
  */
@@ -135,7 +146,7 @@ MemberUtil.isAssociatedSame = function (participant, id) {
135
146
  };
136
147
 
137
148
  /**
138
- * @param {Object} participant the locus participant
149
+ * @param {Object} participant - The locus participant object.
139
150
  * @param {Boolean} isGuest
140
151
  * @param {String} status
141
152
  * @returns {Boolean}
@@ -149,7 +160,7 @@ MemberUtil.isNotAdmitted = function (participant, isGuest, status) {
149
160
  };
150
161
 
151
162
  /**
152
- * @param {Object} participant the locus participant
163
+ * @param {Object} participant - The locus participant object.
153
164
  * @returns {Boolean}
154
165
  */
155
166
  MemberUtil.isAudioMuted = function (participant) {
@@ -160,7 +171,7 @@ MemberUtil.isAudioMuted = function (participant) {
160
171
  };
161
172
 
162
173
  /**
163
- * @param {Object} participant the locus participant
174
+ * @param {Object} participant - The locus participant object.
164
175
  * @returns {Boolean}
165
176
  */
166
177
  MemberUtil.isVideoMuted = function (participant) {
@@ -171,19 +182,19 @@ MemberUtil.isVideoMuted = function (participant) {
171
182
  };
172
183
 
173
184
  /**
174
- * @param {Object} participant the locus participant
185
+ * @param {Object} participant - The locus participant object.
175
186
  * @returns {Boolean}
176
187
  */
177
188
  MemberUtil.isHandRaised = function (participant) {
178
- var _participant$controls3, _participant$controls4;
189
+ var _participant$controls5, _participant$controls6;
179
190
  if (!participant) {
180
191
  throw new _parameter.default('Raise hand could not be processed, participant is undefined.');
181
192
  }
182
- return ((_participant$controls3 = participant.controls) === null || _participant$controls3 === void 0 ? void 0 : (_participant$controls4 = _participant$controls3.hand) === null || _participant$controls4 === void 0 ? void 0 : _participant$controls4.raised) || false;
193
+ return ((_participant$controls5 = participant.controls) === null || _participant$controls5 === void 0 ? void 0 : (_participant$controls6 = _participant$controls5.hand) === null || _participant$controls6 === void 0 ? void 0 : _participant$controls6.raised) || false;
183
194
  };
184
195
 
185
196
  /**
186
- * @param {Object} participant the locus participant
197
+ * @param {Object} participant - The locus participant object.
187
198
  * @returns {Boolean}
188
199
  */
189
200
  MemberUtil.isBreakoutsSupported = function (participant) {
@@ -194,7 +205,7 @@ MemberUtil.isBreakoutsSupported = function (participant) {
194
205
  };
195
206
 
196
207
  /**
197
- * @param {Object} participant the locus participant
208
+ * @param {Object} participant - The locus participant object.
198
209
  * @returns {Boolean}
199
210
  */
200
211
  MemberUtil.isInterpretationSupported = function (participant) {
@@ -205,7 +216,7 @@ MemberUtil.isInterpretationSupported = function (participant) {
205
216
  };
206
217
 
207
218
  /**
208
- * @param {Object} participant the locus participant
219
+ * @param {Object} participant - The locus participant object.
209
220
  * @returns {Boolean}
210
221
  */
211
222
  MemberUtil.isLiveAnnotationSupported = function (participant) {
@@ -223,9 +234,9 @@ MemberUtil.isLiveAnnotationSupported = function (participant) {
223
234
  * @returns {Boolean | undefined}
224
235
  */
225
236
  MemberUtil.isMuted = function (participant, statusAccessor, controlsAccessor) {
226
- var _participant$controls5, _participant$controls6, _participant$status;
237
+ var _participant$controls7, _participant$controls8, _participant$status;
227
238
  // check remote mute
228
- var remoteMute = participant === null || participant === void 0 ? void 0 : (_participant$controls5 = participant.controls) === null || _participant$controls5 === void 0 ? void 0 : (_participant$controls6 = _participant$controls5[controlsAccessor]) === null || _participant$controls6 === void 0 ? void 0 : _participant$controls6.muted;
239
+ var remoteMute = participant === null || participant === void 0 ? void 0 : (_participant$controls7 = participant.controls) === null || _participant$controls7 === void 0 ? void 0 : (_participant$controls8 = _participant$controls7[controlsAccessor]) === null || _participant$controls8 === void 0 ? void 0 : _participant$controls8.muted;
229
240
  if (remoteMute === true) {
230
241
  return true;
231
242
  }
@@ -257,7 +268,7 @@ MemberUtil.getRecordingMember = function (controls) {
257
268
  };
258
269
 
259
270
  /**
260
- * @param {Object} participant the locus participant
271
+ * @param {Object} participant - The locus participant object.
261
272
  * @returns {Boolean}
262
273
  */
263
274
  MemberUtil.isRecording = function (participant) {
@@ -298,7 +309,7 @@ MemberUtil.isMutable = function (isSelf, isDevice, isInMeeting, isMuted, type) {
298
309
  };
299
310
 
300
311
  /**
301
- * @param {Object} participant the locus participant
312
+ * @param {Object} participant - The locus participant object.
302
313
  * @returns {String}
303
314
  */
304
315
  MemberUtil.extractStatus = function (participant) {
@@ -324,7 +335,7 @@ MemberUtil.extractStatus = function (participant) {
324
335
  };
325
336
 
326
337
  /**
327
- * @param {Object} participant the locus participant
338
+ * @param {Object} participant - The locus participant object.
328
339
  * @returns {String}
329
340
  */
330
341
  MemberUtil.extractId = function (participant) {
@@ -336,7 +347,7 @@ MemberUtil.extractId = function (participant) {
336
347
 
337
348
  /**
338
349
  * extracts the media status from nested participant object
339
- * @param {Object} participant the locus participant
350
+ * @param {Object} participant - The locus participant object.
340
351
  * @returns {Object}
341
352
  */
342
353
  MemberUtil.extractMediaStatus = function (participant) {
@@ -351,7 +362,7 @@ MemberUtil.extractMediaStatus = function (participant) {
351
362
  };
352
363
 
353
364
  /**
354
- * @param {Object} participant the locus participant
365
+ * @param {Object} participant - The locus participant object.
355
366
  * @returns {String}
356
367
  */
357
368
  MemberUtil.extractName = function (participant) {
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_constants","_parameter","_interopRequireDefault","MemberUtil","canReclaimHost","participant","ParameterError","canReclaimHostRole","getControlsRoles","_participant$controls","_participant$controls2","controls","role","roles","hasRole","controlRole","_MemberUtil$getContro","some","type","hasCohost","ServerRoles","Cohost","hasModerator","Moderator","hasPresenter","Presenter","extractControlRoles","cohost","moderator","presenter","isUser","_USER_","isModerator","isGuest","guest","isDevice","_RESOURCE_ROOM_","isModeratorAssignmentProhibited","moderatorAssignmentNotAllowed","isSame","id","person","isAssociatedSame","associatedUsers","user","isNotAdmitted","status","devices","intent","_WAIT_","_IN_LOBBY_","_IN_MEETING_","isAudioMuted","isMuted","AUDIO_STATUS","AUDIO","isVideoMuted","VIDEO_STATUS","VIDEO","isHandRaised","_participant$controls3","_participant$controls4","hand","raised","isBreakoutsSupported","doesNotSupportBreakouts","isInterpretationSupported","doesNotSupportSiInterpreter","isLiveAnnotationSupported","annotatorAssignmentNotAllowed","statusAccessor","controlsAccessor","_participant$controls5","_participant$controls6","_participant$status","remoteMute","muted","localStatus","_RECEIVE_ONLY_","_SEND_RECEIVE_","getRecordingMember","record","recording","meta","modifiedBy","isRecording","localRecord","isRemovable","isSelf","isInMeeting","_CALL_","isMutable","extractStatus","length","_NOT_IN_MEETING_","state","_JOINED_","_IDLE_","foundDevice","find","device","_OBSERVE_","_LEFT_","extractId","extractMediaStatus","_participant$status2","_participant$status3","audio","audioStatus","video","videoStatus","extractName","name","_default","exports","default"],"sources":["util.ts"],"sourcesContent":["import {\n IExternalRoles,\n ParticipantWithRoles,\n ServerRoles,\n ServerRoleShape,\n IMediaStatus,\n} from './types';\nimport {\n _USER_,\n _RESOURCE_ROOM_,\n _OBSERVE_,\n _WAIT_,\n _LEFT_,\n _JOINED_,\n _IDLE_,\n _IN_LOBBY_,\n _NOT_IN_MEETING_,\n _IN_MEETING_,\n AUDIO_STATUS,\n VIDEO_STATUS,\n _SEND_RECEIVE_,\n _RECEIVE_ONLY_,\n _CALL_,\n VIDEO,\n AUDIO,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\n\nconst MemberUtil: any = {};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.canReclaimHost = (participant) => {\n if (!participant) {\n throw new ParameterError(\n 'canReclaimHostRole could not be processed, participant is undefined.'\n );\n }\n\n return participant.canReclaimHostRole || false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {[ServerRoleShape]}\n */\nMemberUtil.getControlsRoles = (participant: ParticipantWithRoles): Array<ServerRoleShape> =>\n participant?.controls?.role?.roles;\n\n/**\n * @param {Object} participant the locus participant\n * @param {ServerRoles} controlRole the search role\n * @returns {Boolean}\n */\nMemberUtil.hasRole = (participant: any, controlRole: ServerRoles): boolean =>\n MemberUtil.getControlsRoles(participant)?.some(\n (role) => role.type === controlRole && role.hasRole\n );\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.hasCohost = (participant: ParticipantWithRoles): boolean =>\n MemberUtil.hasRole(participant, ServerRoles.Cohost) || false;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.hasModerator = (participant: ParticipantWithRoles): boolean =>\n MemberUtil.hasRole(participant, ServerRoles.Moderator) || false;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.hasPresenter = (participant: ParticipantWithRoles): boolean =>\n MemberUtil.hasRole(participant, ServerRoles.Presenter) || false;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {IExternalRoles}\n */\nMemberUtil.extractControlRoles = (participant: ParticipantWithRoles): IExternalRoles => {\n const roles = {\n cohost: MemberUtil.hasCohost(participant),\n moderator: MemberUtil.hasModerator(participant),\n presenter: MemberUtil.hasPresenter(participant),\n };\n\n return roles;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isUser = (participant: any) => participant && participant.type === _USER_;\n\nMemberUtil.isModerator = (participant) => participant && participant.moderator;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isGuest = (participant: any) => participant && participant.guest;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isDevice = (participant: any) => participant && participant.type === _RESOURCE_ROOM_;\n\nMemberUtil.isModeratorAssignmentProhibited = (participant) =>\n participant && participant.moderatorAssignmentNotAllowed;\n\n/**\n * checks to see if the participant id is the same as the passed id\n * there are multiple ids that can be used\n * @param {Object} participant the locus participant\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isSame = (participant: any, id: string) =>\n participant && (participant.id === id || (participant.person && participant.person.id === id));\n\n/**\n * checks to see if the participant id is the same as the passed id for associated devices\n * there are multiple ids that can be used\n * @param {Object} participant the locus participant\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isAssociatedSame = (participant: any, id: string) =>\n participant &&\n participant.associatedUsers &&\n participant.associatedUsers.some(\n (user) => user.id === id || (user.person && user.person.id === id)\n );\n\n/**\n * @param {Object} participant the locus participant\n * @param {Boolean} isGuest\n * @param {String} status\n * @returns {Boolean}\n */\nMemberUtil.isNotAdmitted = (participant: any, isGuest: boolean, status: string): boolean =>\n participant &&\n participant.guest &&\n ((participant.devices &&\n participant.devices[0] &&\n participant.devices[0].intent &&\n participant.devices[0].intent.type === _WAIT_ &&\n // @ts-ignore\n isGuest &&\n status === _IN_LOBBY_) ||\n // @ts-ignore\n !status === _IN_MEETING_);\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isAudioMuted = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Audio could not be processed, participant is undefined.');\n }\n\n return MemberUtil.isMuted(participant, AUDIO_STATUS, AUDIO);\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isVideoMuted = (participant: any): boolean => {\n if (!participant) {\n throw new ParameterError('Video could not be processed, participant is undefined.');\n }\n\n return MemberUtil.isMuted(participant, VIDEO_STATUS, VIDEO);\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isHandRaised = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Raise hand could not be processed, participant is undefined.');\n }\n\n return participant.controls?.hand?.raised || false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isBreakoutsSupported = (participant) => {\n if (!participant) {\n throw new ParameterError('Breakout support could not be processed, participant is undefined.');\n }\n\n return !participant.doesNotSupportBreakouts;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isInterpretationSupported = (participant) => {\n if (!participant) {\n throw new ParameterError(\n 'Interpretation support could not be processed, participant is undefined.'\n );\n }\n\n return !participant.doesNotSupportSiInterpreter;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isLiveAnnotationSupported = (participant) => {\n if (!participant) {\n throw new ParameterError(\n 'LiveAnnotation support could not be processed, participant is undefined.'\n );\n }\n\n return !participant.annotatorAssignmentNotAllowed;\n};\n\n/**\n * utility method for audio/video muted status\n * @param {any} participant\n * @param {String} statusAccessor\n * @param {String} controlsAccessor\n * @returns {Boolean | undefined}\n */\nMemberUtil.isMuted = (participant: any, statusAccessor: string, controlsAccessor: string) => {\n // check remote mute\n const remoteMute = participant?.controls?.[controlsAccessor]?.muted;\n if (remoteMute === true) {\n return true;\n }\n\n // check local mute\n const localStatus = participant?.status?.[statusAccessor];\n if (localStatus === _RECEIVE_ONLY_) {\n return true;\n }\n if (localStatus === _SEND_RECEIVE_) {\n return false;\n }\n\n return remoteMute;\n};\n\n/**\n * utility method for getting the recording member for later comparison\n * @param {Object} controls\n * @returns {String|null}\n */\nMemberUtil.getRecordingMember = (controls: any) => {\n if (!controls) {\n return null;\n }\n if (controls.record && controls.record.recording && controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isRecording = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Recording could not be processed, participant is undefined.');\n }\n if (participant.controls && participant.controls.localRecord) {\n return participant.controls.localRecord.recording;\n }\n\n return false;\n};\n\nMemberUtil.isRemovable = (isSelf, isGuest, isInMeeting, type) => {\n if (isGuest || isSelf) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isInMeeting) {\n return true;\n }\n\n return false;\n};\n\nMemberUtil.isMutable = (isSelf, isDevice, isInMeeting, isMuted, type) => {\n if (!isInMeeting) {\n return false;\n }\n if (isMuted) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isSelf || isDevice) {\n return true;\n }\n\n return false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractStatus = (participant: any) => {\n if (!(participant && participant.devices && participant.devices.length)) {\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _JOINED_) {\n return _IN_MEETING_;\n }\n if (participant.state === _IDLE_) {\n if (participant.devices && participant.devices.length > 0) {\n const foundDevice = participant.devices.find(\n (device) =>\n device.intent && (device.intent.type === _WAIT_ || device.intent.type === _OBSERVE_)\n );\n\n return foundDevice ? _IN_LOBBY_ : _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _LEFT_) {\n return _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractId = (participant: any) => {\n if (participant) {\n return participant.id;\n }\n\n return null;\n};\n\n/**\n * extracts the media status from nested participant object\n * @param {Object} participant the locus participant\n * @returns {Object}\n */\nMemberUtil.extractMediaStatus = (participant: any): IMediaStatus => {\n if (!participant) {\n throw new ParameterError('Media status could not be extracted, participant is undefined.');\n }\n\n return {\n audio: participant.status?.audioStatus,\n video: participant.status?.videoStatus,\n };\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractName = (participant: any) => {\n if (participant && participant.person) {\n return participant.person.name;\n }\n\n return null;\n};\n\nexport default MemberUtil;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_types","require","_constants","_parameter","_interopRequireDefault","MemberUtil","canReclaimHost","participant","ParameterError","canReclaimHostRole","getControlsRoles","_participant$controls","_participant$controls2","controls","role","roles","isBrb","_participant$controls3","_participant$controls4","brb","enabled","hasRole","controlRole","_MemberUtil$getContro","some","type","hasCohost","ServerRoles","Cohost","hasModerator","Moderator","hasPresenter","Presenter","extractControlRoles","cohost","moderator","presenter","isUser","_USER_","isModerator","isGuest","guest","isDevice","_RESOURCE_ROOM_","isModeratorAssignmentProhibited","moderatorAssignmentNotAllowed","isSame","id","person","isAssociatedSame","associatedUsers","user","isNotAdmitted","status","devices","intent","_WAIT_","_IN_LOBBY_","_IN_MEETING_","isAudioMuted","isMuted","AUDIO_STATUS","AUDIO","isVideoMuted","VIDEO_STATUS","VIDEO","isHandRaised","_participant$controls5","_participant$controls6","hand","raised","isBreakoutsSupported","doesNotSupportBreakouts","isInterpretationSupported","doesNotSupportSiInterpreter","isLiveAnnotationSupported","annotatorAssignmentNotAllowed","statusAccessor","controlsAccessor","_participant$controls7","_participant$controls8","_participant$status","remoteMute","muted","localStatus","_RECEIVE_ONLY_","_SEND_RECEIVE_","getRecordingMember","record","recording","meta","modifiedBy","isRecording","localRecord","isRemovable","isSelf","isInMeeting","_CALL_","isMutable","extractStatus","length","_NOT_IN_MEETING_","state","_JOINED_","_IDLE_","foundDevice","find","device","_OBSERVE_","_LEFT_","extractId","extractMediaStatus","_participant$status2","_participant$status3","audio","audioStatus","video","videoStatus","extractName","name","_default","exports","default"],"sources":["util.ts"],"sourcesContent":["import {\n IExternalRoles,\n ParticipantWithRoles,\n ServerRoles,\n ServerRoleShape,\n IMediaStatus,\n ParticipantWithBrb,\n} from './types';\nimport {\n _USER_,\n _RESOURCE_ROOM_,\n _OBSERVE_,\n _WAIT_,\n _LEFT_,\n _JOINED_,\n _IDLE_,\n _IN_LOBBY_,\n _NOT_IN_MEETING_,\n _IN_MEETING_,\n AUDIO_STATUS,\n VIDEO_STATUS,\n _SEND_RECEIVE_,\n _RECEIVE_ONLY_,\n _CALL_,\n VIDEO,\n AUDIO,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\n\nconst MemberUtil: any = {};\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {Boolean}\n */\nMemberUtil.canReclaimHost = (participant) => {\n if (!participant) {\n throw new ParameterError(\n 'canReclaimHostRole could not be processed, participant is undefined.'\n );\n }\n\n return participant.canReclaimHostRole || false;\n};\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {[ServerRoleShape]}\n */\nMemberUtil.getControlsRoles = (participant: ParticipantWithRoles): Array<ServerRoleShape> =>\n participant?.controls?.role?.roles;\n\n/**\n * Checks if the participant has the brb status enabled.\n *\n * @param {ParticipantWithBrb} participant - The locus participant object.\n * @returns {boolean} - True if the participant has brb enabled, false otherwise.\n */\nMemberUtil.isBrb = (participant: ParticipantWithBrb): boolean =>\n participant.controls?.brb?.enabled || false;\n\n/**\n * @param {Object} participant - The locus participant object.\n * @param {ServerRoles} controlRole the search role\n * @returns {Boolean}\n */\nMemberUtil.hasRole = (participant: any, controlRole: ServerRoles): boolean =>\n MemberUtil.getControlsRoles(participant)?.some(\n (role) => role.type === controlRole && role.hasRole\n );\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {Boolean}\n */\nMemberUtil.hasCohost = (participant: ParticipantWithRoles): boolean =>\n MemberUtil.hasRole(participant, ServerRoles.Cohost) || false;\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {Boolean}\n */\nMemberUtil.hasModerator = (participant: ParticipantWithRoles): boolean =>\n MemberUtil.hasRole(participant, ServerRoles.Moderator) || false;\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {Boolean}\n */\nMemberUtil.hasPresenter = (participant: ParticipantWithRoles): boolean =>\n MemberUtil.hasRole(participant, ServerRoles.Presenter) || false;\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {IExternalRoles}\n */\nMemberUtil.extractControlRoles = (participant: ParticipantWithRoles): IExternalRoles => {\n const roles = {\n cohost: MemberUtil.hasCohost(participant),\n moderator: MemberUtil.hasModerator(participant),\n presenter: MemberUtil.hasPresenter(participant),\n };\n\n return roles;\n};\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {Boolean}\n */\nMemberUtil.isUser = (participant: any) => participant && participant.type === _USER_;\n\nMemberUtil.isModerator = (participant) => participant && participant.moderator;\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {Boolean}\n */\nMemberUtil.isGuest = (participant: any) => participant && participant.guest;\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {Boolean}\n */\nMemberUtil.isDevice = (participant: any) => participant && participant.type === _RESOURCE_ROOM_;\n\nMemberUtil.isModeratorAssignmentProhibited = (participant) =>\n participant && participant.moderatorAssignmentNotAllowed;\n\n/**\n * checks to see if the participant id is the same as the passed id\n * there are multiple ids that can be used\n * @param {Object} participant - The locus participant object.\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isSame = (participant: any, id: string) =>\n participant && (participant.id === id || (participant.person && participant.person.id === id));\n\n/**\n * checks to see if the participant id is the same as the passed id for associated devices\n * there are multiple ids that can be used\n * @param {Object} participant - The locus participant object.\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isAssociatedSame = (participant: any, id: string) =>\n participant &&\n participant.associatedUsers &&\n participant.associatedUsers.some(\n (user) => user.id === id || (user.person && user.person.id === id)\n );\n\n/**\n * @param {Object} participant - The locus participant object.\n * @param {Boolean} isGuest\n * @param {String} status\n * @returns {Boolean}\n */\nMemberUtil.isNotAdmitted = (participant: any, isGuest: boolean, status: string): boolean =>\n participant &&\n participant.guest &&\n ((participant.devices &&\n participant.devices[0] &&\n participant.devices[0].intent &&\n participant.devices[0].intent.type === _WAIT_ &&\n // @ts-ignore\n isGuest &&\n status === _IN_LOBBY_) ||\n // @ts-ignore\n !status === _IN_MEETING_);\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {Boolean}\n */\nMemberUtil.isAudioMuted = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Audio could not be processed, participant is undefined.');\n }\n\n return MemberUtil.isMuted(participant, AUDIO_STATUS, AUDIO);\n};\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {Boolean}\n */\nMemberUtil.isVideoMuted = (participant: any): boolean => {\n if (!participant) {\n throw new ParameterError('Video could not be processed, participant is undefined.');\n }\n\n return MemberUtil.isMuted(participant, VIDEO_STATUS, VIDEO);\n};\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {Boolean}\n */\nMemberUtil.isHandRaised = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Raise hand could not be processed, participant is undefined.');\n }\n\n return participant.controls?.hand?.raised || false;\n};\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {Boolean}\n */\nMemberUtil.isBreakoutsSupported = (participant) => {\n if (!participant) {\n throw new ParameterError('Breakout support could not be processed, participant is undefined.');\n }\n\n return !participant.doesNotSupportBreakouts;\n};\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {Boolean}\n */\nMemberUtil.isInterpretationSupported = (participant) => {\n if (!participant) {\n throw new ParameterError(\n 'Interpretation support could not be processed, participant is undefined.'\n );\n }\n\n return !participant.doesNotSupportSiInterpreter;\n};\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {Boolean}\n */\nMemberUtil.isLiveAnnotationSupported = (participant) => {\n if (!participant) {\n throw new ParameterError(\n 'LiveAnnotation support could not be processed, participant is undefined.'\n );\n }\n\n return !participant.annotatorAssignmentNotAllowed;\n};\n\n/**\n * utility method for audio/video muted status\n * @param {any} participant\n * @param {String} statusAccessor\n * @param {String} controlsAccessor\n * @returns {Boolean | undefined}\n */\nMemberUtil.isMuted = (participant: any, statusAccessor: string, controlsAccessor: string) => {\n // check remote mute\n const remoteMute = participant?.controls?.[controlsAccessor]?.muted;\n if (remoteMute === true) {\n return true;\n }\n\n // check local mute\n const localStatus = participant?.status?.[statusAccessor];\n if (localStatus === _RECEIVE_ONLY_) {\n return true;\n }\n if (localStatus === _SEND_RECEIVE_) {\n return false;\n }\n\n return remoteMute;\n};\n\n/**\n * utility method for getting the recording member for later comparison\n * @param {Object} controls\n * @returns {String|null}\n */\nMemberUtil.getRecordingMember = (controls: any) => {\n if (!controls) {\n return null;\n }\n if (controls.record && controls.record.recording && controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {Boolean}\n */\nMemberUtil.isRecording = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Recording could not be processed, participant is undefined.');\n }\n if (participant.controls && participant.controls.localRecord) {\n return participant.controls.localRecord.recording;\n }\n\n return false;\n};\n\nMemberUtil.isRemovable = (isSelf, isGuest, isInMeeting, type) => {\n if (isGuest || isSelf) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isInMeeting) {\n return true;\n }\n\n return false;\n};\n\nMemberUtil.isMutable = (isSelf, isDevice, isInMeeting, isMuted, type) => {\n if (!isInMeeting) {\n return false;\n }\n if (isMuted) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isSelf || isDevice) {\n return true;\n }\n\n return false;\n};\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {String}\n */\nMemberUtil.extractStatus = (participant: any) => {\n if (!(participant && participant.devices && participant.devices.length)) {\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _JOINED_) {\n return _IN_MEETING_;\n }\n if (participant.state === _IDLE_) {\n if (participant.devices && participant.devices.length > 0) {\n const foundDevice = participant.devices.find(\n (device) =>\n device.intent && (device.intent.type === _WAIT_ || device.intent.type === _OBSERVE_)\n );\n\n return foundDevice ? _IN_LOBBY_ : _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _LEFT_) {\n return _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n};\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {String}\n */\nMemberUtil.extractId = (participant: any) => {\n if (participant) {\n return participant.id;\n }\n\n return null;\n};\n\n/**\n * extracts the media status from nested participant object\n * @param {Object} participant - The locus participant object.\n * @returns {Object}\n */\nMemberUtil.extractMediaStatus = (participant: any): IMediaStatus => {\n if (!participant) {\n throw new ParameterError('Media status could not be extracted, participant is undefined.');\n }\n\n return {\n audio: participant.status?.audioStatus,\n video: participant.status?.videoStatus,\n };\n};\n\n/**\n * @param {Object} participant - The locus participant object.\n * @returns {String}\n */\nMemberUtil.extractName = (participant: any) => {\n if (participant && participant.person) {\n return participant.person.name;\n }\n\n return null;\n};\n\nexport default MemberUtil;\n"],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @class MembersCollection
3
+ */
4
+ export default class MembersCollection {
5
+ members: any;
6
+ namespace: string;
7
+ /**
8
+ * @param {Object} locus
9
+ * @memberof Members
10
+ */
11
+ constructor();
12
+ set(id: any, member: any): void;
13
+ setAll(members: any): void;
14
+ /**
15
+ * @param {String} id
16
+ * @returns {Member}
17
+ */
18
+ get(id: string): any;
19
+ /**
20
+ * @returns {Object} returns an object map of Member instances
21
+ * @memberof MembersCollection
22
+ */
23
+ getAll(): any;
24
+ /**
25
+ * @returns {void}
26
+ * reset members
27
+ */
28
+ reset(): void;
29
+ }