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

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 (498) hide show
  1. package/UPGRADING.md +9 -9
  2. package/browsers.js +19 -24
  3. package/dist/breakouts/breakout.js +137 -0
  4. package/dist/breakouts/breakout.js.map +1 -0
  5. package/dist/breakouts/collection.js +23 -0
  6. package/dist/breakouts/collection.js.map +1 -0
  7. package/dist/breakouts/edit-lock-error.js +52 -0
  8. package/dist/breakouts/edit-lock-error.js.map +1 -0
  9. package/dist/breakouts/index.js +546 -0
  10. package/dist/breakouts/index.js.map +1 -0
  11. package/dist/breakouts/request.js +78 -0
  12. package/dist/breakouts/request.js.map +1 -0
  13. package/dist/breakouts/utils.js +48 -0
  14. package/dist/breakouts/utils.js.map +1 -0
  15. package/dist/common/browser-detection.js +1 -20
  16. package/dist/common/browser-detection.js.map +1 -1
  17. package/dist/common/collection.js +5 -20
  18. package/dist/common/collection.js.map +1 -1
  19. package/dist/common/config.js +0 -7
  20. package/dist/common/config.js.map +1 -1
  21. package/dist/common/errors/captcha-error.js +10 -24
  22. package/dist/common/errors/captcha-error.js.map +1 -1
  23. package/dist/common/errors/intent-to-join.js +11 -24
  24. package/dist/common/errors/intent-to-join.js.map +1 -1
  25. package/dist/common/errors/join-meeting.js +12 -25
  26. package/dist/common/errors/join-meeting.js.map +1 -1
  27. package/dist/common/errors/media.js +10 -24
  28. package/dist/common/errors/media.js.map +1 -1
  29. package/dist/common/errors/parameter.js +5 -33
  30. package/dist/common/errors/parameter.js.map +1 -1
  31. package/dist/common/errors/password-error.js +10 -24
  32. package/dist/common/errors/password-error.js.map +1 -1
  33. package/dist/common/errors/permission.js +9 -23
  34. package/dist/common/errors/permission.js.map +1 -1
  35. package/dist/common/errors/reconnection-in-progress.js +0 -17
  36. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  37. package/dist/common/errors/reconnection.js +10 -24
  38. package/dist/common/errors/reconnection.js.map +1 -1
  39. package/dist/common/errors/stats.js +10 -24
  40. package/dist/common/errors/stats.js.map +1 -1
  41. package/dist/common/errors/webex-errors.js +6 -41
  42. package/dist/common/errors/webex-errors.js.map +1 -1
  43. package/dist/common/errors/webex-meetings-error.js +5 -25
  44. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  45. package/dist/common/events/events-scope.js +0 -22
  46. package/dist/common/events/events-scope.js.map +1 -1
  47. package/dist/common/events/events.js +0 -23
  48. package/dist/common/events/events.js.map +1 -1
  49. package/dist/common/events/trigger-proxy.js +0 -12
  50. package/dist/common/events/trigger-proxy.js.map +1 -1
  51. package/dist/common/events/util.js +0 -15
  52. package/dist/common/events/util.js.map +1 -1
  53. package/dist/common/logs/logger-config.js +0 -4
  54. package/dist/common/logs/logger-config.js.map +1 -1
  55. package/dist/common/logs/logger-proxy.js +1 -8
  56. package/dist/common/logs/logger-proxy.js.map +1 -1
  57. package/dist/common/logs/request.js +37 -60
  58. package/dist/common/logs/request.js.map +1 -1
  59. package/dist/common/queue.js +4 -14
  60. package/dist/common/queue.js.map +1 -1
  61. package/dist/config.js +6 -6
  62. package/dist/config.js.map +1 -1
  63. package/dist/constants.js +109 -49
  64. package/dist/constants.js.map +1 -1
  65. package/dist/controls-options-manager/constants.js +14 -0
  66. package/dist/controls-options-manager/constants.js.map +1 -0
  67. package/dist/controls-options-manager/enums.js +15 -0
  68. package/dist/controls-options-manager/enums.js.map +1 -0
  69. package/dist/controls-options-manager/index.js +203 -0
  70. package/dist/controls-options-manager/index.js.map +1 -0
  71. package/dist/controls-options-manager/util.js +28 -0
  72. package/dist/controls-options-manager/util.js.map +1 -0
  73. package/dist/index.js +11 -18
  74. package/dist/index.js.map +1 -1
  75. package/dist/locus-info/controlsUtils.js +12 -29
  76. package/dist/locus-info/controlsUtils.js.map +1 -1
  77. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  78. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  79. package/dist/locus-info/fullState.js +0 -15
  80. package/dist/locus-info/fullState.js.map +1 -1
  81. package/dist/locus-info/hostUtils.js +4 -12
  82. package/dist/locus-info/hostUtils.js.map +1 -1
  83. package/dist/locus-info/index.js +186 -192
  84. package/dist/locus-info/index.js.map +1 -1
  85. package/dist/locus-info/infoUtils.js +3 -37
  86. package/dist/locus-info/infoUtils.js.map +1 -1
  87. package/dist/locus-info/mediaSharesUtils.js +12 -38
  88. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  89. package/dist/locus-info/parser.js +92 -118
  90. package/dist/locus-info/parser.js.map +1 -1
  91. package/dist/locus-info/selfUtils.js +34 -91
  92. package/dist/locus-info/selfUtils.js.map +1 -1
  93. package/dist/media/index.js +66 -153
  94. package/dist/media/index.js.map +1 -1
  95. package/dist/media/properties.js +83 -117
  96. package/dist/media/properties.js.map +1 -1
  97. package/dist/media/util.js +2 -9
  98. package/dist/media/util.js.map +1 -1
  99. package/dist/mediaQualityMetrics/config.js +505 -495
  100. package/dist/mediaQualityMetrics/config.js.map +1 -1
  101. package/dist/meeting/in-meeting-actions.js +13 -14
  102. package/dist/meeting/in-meeting-actions.js.map +1 -1
  103. package/dist/meeting/index.js +2141 -2210
  104. package/dist/meeting/index.js.map +1 -1
  105. package/dist/meeting/muteState.js +59 -82
  106. package/dist/meeting/muteState.js.map +1 -1
  107. package/dist/meeting/request.js +308 -264
  108. package/dist/meeting/request.js.map +1 -1
  109. package/dist/meeting/request.type.js +7 -0
  110. package/dist/meeting/request.type.js.map +1 -0
  111. package/dist/meeting/state.js +21 -31
  112. package/dist/meeting/state.js.map +1 -1
  113. package/dist/meeting/util.js +45 -217
  114. package/dist/meeting/util.js.map +1 -1
  115. package/dist/meeting-info/collection.js +6 -25
  116. package/dist/meeting-info/collection.js.map +1 -1
  117. package/dist/meeting-info/index.js +14 -32
  118. package/dist/meeting-info/index.js.map +1 -1
  119. package/dist/meeting-info/meeting-info-v2.js +193 -268
  120. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  121. package/dist/meeting-info/request.js +3 -15
  122. package/dist/meeting-info/request.js.map +1 -1
  123. package/dist/meeting-info/util.js +98 -183
  124. package/dist/meeting-info/util.js.map +1 -1
  125. package/dist/meeting-info/utilv2.js +137 -228
  126. package/dist/meeting-info/utilv2.js.map +1 -1
  127. package/dist/meetings/collection.js +5 -20
  128. package/dist/meetings/collection.js.map +1 -1
  129. package/dist/meetings/index.js +490 -560
  130. package/dist/meetings/index.js.map +1 -1
  131. package/dist/meetings/request.js +24 -41
  132. package/dist/meetings/request.js.map +1 -1
  133. package/dist/meetings/util.js +116 -155
  134. package/dist/meetings/util.js.map +1 -1
  135. package/dist/member/index.js +78 -86
  136. package/dist/member/index.js.map +1 -1
  137. package/dist/member/util.js +31 -68
  138. package/dist/member/util.js.map +1 -1
  139. package/dist/members/collection.js +3 -12
  140. package/dist/members/collection.js.map +1 -1
  141. package/dist/members/index.js +95 -200
  142. package/dist/members/index.js.map +1 -1
  143. package/dist/members/request.js +16 -39
  144. package/dist/members/request.js.map +1 -1
  145. package/dist/members/util.js +9 -38
  146. package/dist/members/util.js.map +1 -1
  147. package/dist/metrics/config.js +1 -13
  148. package/dist/metrics/config.js.map +1 -1
  149. package/dist/metrics/constants.js +1 -6
  150. package/dist/metrics/constants.js.map +1 -1
  151. package/dist/metrics/index.js +54 -156
  152. package/dist/metrics/index.js.map +1 -1
  153. package/dist/multistream/mediaRequestManager.js +74 -52
  154. package/dist/multistream/mediaRequestManager.js.map +1 -1
  155. package/dist/multistream/receiveSlot.js +48 -65
  156. package/dist/multistream/receiveSlot.js.map +1 -1
  157. package/dist/multistream/receiveSlotManager.js +60 -82
  158. package/dist/multistream/receiveSlotManager.js.map +1 -1
  159. package/dist/multistream/remoteMedia.js +60 -76
  160. package/dist/multistream/remoteMedia.js.map +1 -1
  161. package/dist/multistream/remoteMediaGroup.js +6 -40
  162. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  163. package/dist/multistream/remoteMediaManager.js +360 -413
  164. package/dist/multistream/remoteMediaManager.js.map +1 -1
  165. package/dist/networkQualityMonitor/index.js +40 -59
  166. package/dist/networkQualityMonitor/index.js.map +1 -1
  167. package/dist/personal-meeting-room/index.js +21 -45
  168. package/dist/personal-meeting-room/index.js.map +1 -1
  169. package/dist/personal-meeting-room/request.js +1 -31
  170. package/dist/personal-meeting-room/request.js.map +1 -1
  171. package/dist/personal-meeting-room/util.js +0 -13
  172. package/dist/personal-meeting-room/util.js.map +1 -1
  173. package/dist/reachability/index.js +147 -183
  174. package/dist/reachability/index.js.map +1 -1
  175. package/dist/reachability/request.js +15 -23
  176. package/dist/reachability/request.js.map +1 -1
  177. package/dist/reactions/constants.js +13 -0
  178. package/dist/reactions/constants.js.map +1 -0
  179. package/dist/reactions/reactions.js +109 -0
  180. package/dist/reactions/reactions.js.map +1 -0
  181. package/dist/reactions/reactions.type.js +36 -0
  182. package/dist/reactions/reactions.type.js.map +1 -0
  183. package/dist/reconnection-manager/index.js +322 -456
  184. package/dist/reconnection-manager/index.js.map +1 -1
  185. package/dist/recording-controller/enums.js +17 -0
  186. package/dist/recording-controller/enums.js.map +1 -0
  187. package/dist/recording-controller/index.js +343 -0
  188. package/dist/recording-controller/index.js.map +1 -0
  189. package/dist/recording-controller/util.js +63 -0
  190. package/dist/recording-controller/util.js.map +1 -0
  191. package/dist/roap/index.js +48 -70
  192. package/dist/roap/index.js.map +1 -1
  193. package/dist/roap/request.js +143 -131
  194. package/dist/roap/request.js.map +1 -1
  195. package/dist/roap/turnDiscovery.js +91 -98
  196. package/dist/roap/turnDiscovery.js.map +1 -1
  197. package/dist/statsAnalyzer/global.js +1 -95
  198. package/dist/statsAnalyzer/global.js.map +1 -1
  199. package/dist/statsAnalyzer/index.js +361 -449
  200. package/dist/statsAnalyzer/index.js.map +1 -1
  201. package/dist/statsAnalyzer/mqaUtil.js +137 -81
  202. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  203. package/dist/transcription/index.js +22 -47
  204. package/dist/transcription/index.js.map +1 -1
  205. package/dist/types/breakouts/breakout.d.ts +8 -0
  206. package/dist/types/breakouts/collection.d.ts +5 -0
  207. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  208. package/dist/types/breakouts/index.d.ts +5 -0
  209. package/dist/types/breakouts/request.d.ts +22 -0
  210. package/dist/types/breakouts/utils.d.ts +8 -0
  211. package/dist/types/common/browser-detection.d.ts +9 -0
  212. package/dist/types/common/collection.d.ts +48 -0
  213. package/dist/types/common/config.d.ts +2 -0
  214. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  215. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  216. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  217. package/dist/types/common/errors/media.d.ts +15 -0
  218. package/dist/types/common/errors/parameter.d.ts +15 -0
  219. package/dist/types/common/errors/password-error.d.ts +15 -0
  220. package/dist/types/common/errors/permission.d.ts +14 -0
  221. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  222. package/dist/types/common/errors/reconnection.d.ts +15 -0
  223. package/dist/types/common/errors/stats.d.ts +15 -0
  224. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  225. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  226. package/dist/types/common/events/events-scope.d.ts +17 -0
  227. package/dist/types/common/events/events.d.ts +12 -0
  228. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  229. package/dist/types/common/events/util.d.ts +2 -0
  230. package/dist/types/common/logs/logger-config.d.ts +2 -0
  231. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  232. package/dist/types/common/logs/request.d.ts +34 -0
  233. package/dist/types/common/queue.d.ts +32 -0
  234. package/dist/types/config.d.ts +77 -0
  235. package/dist/types/constants.d.ts +916 -0
  236. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  237. package/dist/types/controls-options-manager/enums.d.ts +5 -0
  238. package/dist/types/controls-options-manager/index.d.ts +120 -0
  239. package/dist/types/controls-options-manager/util.d.ts +7 -0
  240. package/dist/types/index.d.ts +6 -0
  241. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  242. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  243. package/dist/types/locus-info/fullState.d.ts +2 -0
  244. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  245. package/dist/types/locus-info/index.d.ts +269 -0
  246. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  247. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  248. package/dist/types/locus-info/parser.d.ts +212 -0
  249. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  250. package/dist/types/media/index.d.ts +32 -0
  251. package/dist/types/media/properties.d.ts +108 -0
  252. package/dist/types/media/util.d.ts +2 -0
  253. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  254. package/dist/types/meeting/in-meeting-actions.d.ts +83 -0
  255. package/dist/types/meeting/index.d.ts +1699 -0
  256. package/dist/types/meeting/muteState.d.ts +116 -0
  257. package/dist/types/meeting/request.d.ts +271 -0
  258. package/dist/types/meeting/request.type.d.ts +11 -0
  259. package/dist/types/meeting/state.d.ts +9 -0
  260. package/dist/types/meeting/util.d.ts +2 -0
  261. package/dist/types/meeting-info/collection.d.ts +20 -0
  262. package/dist/types/meeting-info/index.d.ts +57 -0
  263. package/dist/types/meeting-info/meeting-info-v2.d.ts +93 -0
  264. package/dist/types/meeting-info/request.d.ts +22 -0
  265. package/dist/types/meeting-info/util.d.ts +2 -0
  266. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  267. package/dist/types/meetings/collection.d.ts +23 -0
  268. package/dist/types/meetings/index.d.ts +297 -0
  269. package/dist/types/meetings/request.d.ts +27 -0
  270. package/dist/types/meetings/util.d.ts +18 -0
  271. package/dist/types/member/index.d.ts +146 -0
  272. package/dist/types/member/util.d.ts +2 -0
  273. package/dist/types/members/collection.d.ts +24 -0
  274. package/dist/types/members/index.d.ts +320 -0
  275. package/dist/types/members/request.d.ts +50 -0
  276. package/dist/types/members/util.d.ts +2 -0
  277. package/dist/types/metrics/config.d.ts +169 -0
  278. package/dist/types/metrics/constants.d.ts +53 -0
  279. package/dist/types/metrics/index.d.ts +152 -0
  280. package/dist/types/multistream/mediaRequestManager.d.ts +51 -0
  281. package/dist/types/multistream/receiveSlot.d.ts +64 -0
  282. package/dist/types/multistream/receiveSlotManager.d.ts +46 -0
  283. package/dist/types/multistream/remoteMedia.d.ts +100 -0
  284. package/dist/types/multistream/remoteMediaGroup.d.ts +56 -0
  285. package/dist/types/multistream/remoteMediaManager.d.ts +241 -0
  286. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  287. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  288. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  289. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  290. package/dist/types/reachability/index.d.ts +140 -0
  291. package/dist/types/reachability/request.d.ts +37 -0
  292. package/dist/types/reactions/constants.d.ts +3 -0
  293. package/dist/types/reactions/reactions.d.ts +4 -0
  294. package/dist/types/reactions/reactions.type.d.ts +52 -0
  295. package/dist/types/reconnection-manager/index.d.ts +117 -0
  296. package/dist/types/recording-controller/enums.d.ts +7 -0
  297. package/dist/types/recording-controller/index.d.ts +193 -0
  298. package/dist/types/recording-controller/util.d.ts +13 -0
  299. package/dist/types/roap/index.d.ts +77 -0
  300. package/dist/types/roap/request.d.ts +38 -0
  301. package/dist/types/roap/turnDiscovery.d.ts +74 -0
  302. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  303. package/dist/types/statsAnalyzer/index.d.ts +195 -0
  304. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  305. package/dist/types/transcription/index.d.ts +64 -0
  306. package/internal-README.md +7 -6
  307. package/package.json +27 -21
  308. package/src/breakouts/README.md +199 -0
  309. package/src/breakouts/breakout.ts +130 -0
  310. package/src/breakouts/collection.ts +19 -0
  311. package/src/breakouts/edit-lock-error.ts +25 -0
  312. package/src/breakouts/index.ts +504 -0
  313. package/src/breakouts/request.ts +55 -0
  314. package/src/breakouts/utils.ts +39 -0
  315. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  316. package/src/common/collection.ts +9 -7
  317. package/src/common/{config.js → config.ts} +1 -1
  318. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  319. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  320. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  321. package/src/common/errors/{media.js → media.ts} +11 -7
  322. package/src/common/errors/parameter.ts +11 -7
  323. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  324. package/src/common/errors/{permission.js → permission.ts} +10 -6
  325. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  326. package/src/common/errors/{stats.js → stats.ts} +11 -7
  327. package/src/common/errors/{webex-errors.js → webex-errors.ts} +8 -7
  328. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  329. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  330. package/src/common/events/{events.js → events.ts} +5 -1
  331. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  332. package/src/common/events/{util.js → util.ts} +2 -3
  333. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  334. package/src/common/logs/logger-proxy.ts +44 -0
  335. package/src/common/logs/{request.js → request.ts} +22 -9
  336. package/src/common/queue.ts +1 -2
  337. package/src/{config.js → config.ts} +17 -12
  338. package/src/constants.ts +62 -5
  339. package/src/controls-options-manager/constants.ts +5 -0
  340. package/src/controls-options-manager/enums.ts +6 -0
  341. package/src/controls-options-manager/index.ts +183 -0
  342. package/src/controls-options-manager/util.ts +20 -0
  343. package/src/index.js +4 -1
  344. package/src/locus-info/controlsUtils.ts +114 -0
  345. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  346. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  347. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  348. package/src/locus-info/{index.js → index.ts} +150 -66
  349. package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
  350. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +17 -17
  351. package/src/locus-info/{parser.js → parser.ts} +67 -79
  352. package/src/locus-info/{selfUtils.js → selfUtils.ts} +123 -68
  353. package/src/media/{index.js → index.ts} +182 -173
  354. package/src/media/{properties.js → properties.ts} +60 -37
  355. package/src/media/{util.js → util.ts} +2 -2
  356. package/src/mediaQualityMetrics/config.ts +384 -0
  357. package/src/meeting/in-meeting-actions.ts +31 -3
  358. package/src/meeting/{index.js → index.ts} +2512 -1579
  359. package/src/meeting/{muteState.js → muteState.ts} +95 -49
  360. package/src/meeting/{request.js → request.ts} +326 -142
  361. package/src/meeting/request.type.ts +13 -0
  362. package/src/meeting/{state.js → state.ts} +50 -35
  363. package/src/meeting/{util.js → util.ts} +117 -119
  364. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  365. package/src/meeting-info/{index.js → index.ts} +42 -36
  366. package/src/meeting-info/meeting-info-v2.ts +273 -0
  367. package/src/meeting-info/{request.js → request.ts} +14 -4
  368. package/src/meeting-info/{util.js → util.ts} +60 -51
  369. package/src/meeting-info/{utilv2.js → utilv2.ts} +65 -58
  370. package/src/meetings/{collection.js → collection.ts} +6 -3
  371. package/src/meetings/index.ts +1159 -0
  372. package/src/meetings/{request.js → request.ts} +32 -25
  373. package/src/meetings/{util.js → util.ts} +58 -32
  374. package/src/member/{index.js → index.ts} +102 -56
  375. package/src/member/{util.js → util.ts} +52 -25
  376. package/src/members/{collection.js → collection.ts} +2 -2
  377. package/src/members/{index.js → index.ts} +221 -142
  378. package/src/members/{request.js → request.ts} +60 -16
  379. package/src/members/{util.js → util.ts} +50 -48
  380. package/src/metrics/{config.js → config.ts} +253 -92
  381. package/src/metrics/{constants.js → constants.ts} +0 -6
  382. package/src/metrics/{index.js → index.ts} +105 -94
  383. package/src/multistream/mediaRequestManager.ts +101 -39
  384. package/src/multistream/receiveSlot.ts +62 -26
  385. package/src/multistream/receiveSlotManager.ts +35 -21
  386. package/src/multistream/remoteMedia.ts +38 -5
  387. package/src/multistream/remoteMediaGroup.ts +4 -3
  388. package/src/multistream/remoteMediaManager.ts +152 -36
  389. package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
  390. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  391. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  392. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  393. package/src/reachability/{index.js → index.ts} +109 -85
  394. package/src/reachability/request.ts +46 -35
  395. package/src/reactions/constants.ts +4 -0
  396. package/src/reactions/reactions.ts +104 -0
  397. package/src/reactions/reactions.type.ts +62 -0
  398. package/src/reconnection-manager/{index.js → index.ts} +196 -103
  399. package/src/recording-controller/enums.ts +8 -0
  400. package/src/recording-controller/index.ts +315 -0
  401. package/src/recording-controller/util.ts +58 -0
  402. package/src/roap/{index.js → index.ts} +77 -60
  403. package/src/roap/request.ts +172 -0
  404. package/src/roap/turnDiscovery.ts +81 -41
  405. package/src/statsAnalyzer/global.ts +37 -0
  406. package/src/statsAnalyzer/index.ts +1234 -0
  407. package/src/statsAnalyzer/mqaUtil.ts +293 -0
  408. package/src/transcription/{index.js → index.ts} +46 -39
  409. package/test/integration/spec/converged-space-meetings.js +176 -0
  410. package/test/integration/spec/journey.js +665 -464
  411. package/test/integration/spec/space-meeting.js +320 -206
  412. package/test/integration/spec/transcription.js +7 -8
  413. package/test/unit/spec/breakouts/breakout.ts +147 -0
  414. package/test/unit/spec/breakouts/collection.ts +15 -0
  415. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  416. package/test/unit/spec/breakouts/index.ts +707 -0
  417. package/test/unit/spec/breakouts/request.ts +104 -0
  418. package/test/unit/spec/breakouts/utils.js +47 -0
  419. package/test/unit/spec/common/browser-detection.js +9 -28
  420. package/test/unit/spec/controls-options-manager/index.js +124 -0
  421. package/test/unit/spec/controls-options-manager/util.js +66 -0
  422. package/test/unit/spec/fixture/locus.js +92 -90
  423. package/test/unit/spec/locus-info/controlsUtils.js +25 -5
  424. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  425. package/test/unit/spec/locus-info/index.js +104 -2
  426. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  427. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  428. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  429. package/test/unit/spec/locus-info/parser.js +3 -9
  430. package/test/unit/spec/locus-info/selfConstant.js +97 -103
  431. package/test/unit/spec/locus-info/selfUtils.js +105 -12
  432. package/test/unit/spec/media/index.ts +39 -53
  433. package/test/unit/spec/media/properties.ts +9 -9
  434. package/test/unit/spec/meeting/in-meeting-actions.ts +13 -2
  435. package/test/unit/spec/meeting/index.js +2253 -811
  436. package/test/unit/spec/meeting/muteState.js +74 -55
  437. package/test/unit/spec/meeting/request.js +141 -43
  438. package/test/unit/spec/meeting/utils.js +106 -171
  439. package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
  440. package/test/unit/spec/meeting-info/request.js +7 -9
  441. package/test/unit/spec/meeting-info/util.js +11 -12
  442. package/test/unit/spec/meeting-info/utilv2.js +110 -74
  443. package/test/unit/spec/meetings/collection.js +1 -1
  444. package/test/unit/spec/meetings/index.js +439 -257
  445. package/test/unit/spec/meetings/utils.js +14 -12
  446. package/test/unit/spec/member/index.js +0 -1
  447. package/test/unit/spec/member/util.js +31 -7
  448. package/test/unit/spec/members/index.js +104 -54
  449. package/test/unit/spec/members/request.js +29 -20
  450. package/test/unit/spec/members/utils.js +8 -5
  451. package/test/unit/spec/metrics/index.js +16 -21
  452. package/test/unit/spec/multistream/mediaRequestManager.ts +318 -64
  453. package/test/unit/spec/multistream/receiveSlot.ts +68 -17
  454. package/test/unit/spec/multistream/receiveSlotManager.ts +41 -13
  455. package/test/unit/spec/multistream/remoteMedia.ts +38 -2
  456. package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
  457. package/test/unit/spec/multistream/remoteMediaManager.ts +412 -65
  458. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  459. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  460. package/test/unit/spec/reachability/index.ts +70 -27
  461. package/test/unit/spec/reachability/request.js +66 -0
  462. package/test/unit/spec/reconnection-manager/index.js +58 -30
  463. package/test/unit/spec/recording-controller/index.js +231 -0
  464. package/test/unit/spec/recording-controller/util.js +102 -0
  465. package/test/unit/spec/roap/index.ts +12 -8
  466. package/test/unit/spec/roap/request.ts +217 -0
  467. package/test/unit/spec/roap/turnDiscovery.ts +72 -49
  468. package/test/unit/spec/stats-analyzer/index.js +86 -57
  469. package/test/utils/cmr.js +44 -42
  470. package/test/utils/constants.js +9 -0
  471. package/test/utils/testUtils.js +98 -77
  472. package/test/utils/webex-config.js +22 -18
  473. package/test/utils/webex-test-users.js +57 -50
  474. package/tsconfig.json +6 -0
  475. package/dist/media/internal-media-core-wrapper.js +0 -22
  476. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  477. package/dist/meeting/effectsState.js +0 -327
  478. package/dist/meeting/effectsState.js.map +0 -1
  479. package/dist/multistream/multistreamMedia.js +0 -116
  480. package/dist/multistream/multistreamMedia.js.map +0 -1
  481. package/dist/peer-connection-manager/util.js +0 -124
  482. package/dist/peer-connection-manager/util.js.map +0 -1
  483. package/src/common/logs/logger-proxy.js +0 -33
  484. package/src/locus-info/controlsUtils.js +0 -102
  485. package/src/media/internal-media-core-wrapper.ts +0 -9
  486. package/src/mediaQualityMetrics/config.js +0 -382
  487. package/src/meeting/effectsState.js +0 -205
  488. package/src/meeting-info/meeting-info-v2.js +0 -255
  489. package/src/meetings/index.js +0 -1015
  490. package/src/multistream/multistreamMedia.ts +0 -92
  491. package/src/peer-connection-manager/util.ts +0 -117
  492. package/src/roap/request.js +0 -127
  493. package/src/statsAnalyzer/global.js +0 -133
  494. package/src/statsAnalyzer/index.js +0 -1006
  495. package/src/statsAnalyzer/mqaUtil.js +0 -173
  496. package/test/unit/spec/meeting/effectsState.js +0 -291
  497. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  498. /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ControlsOptionsManager","request","options","initialize","set","extract","url","locusUrl","hints","displayHints","setDisplayHints","setLocusUrl","setting","enabled","LoggerProxy","logger","log","Util","CAN_SET","CAN_UNSET","uri","CONTROLS","body","ENABLED","method","HTTP_VERBS","PATCH","reject","PermissionError","setControls","Setting","muteOnEntry","disallowUnmute"],"sources":["index.ts"],"sourcesContent":["import {camelCase} from 'lodash';\nimport PermissionError from '../common/errors/permission';\nimport {CONTROLS, HTTP_VERBS} from '../constants';\nimport MeetingRequest from '../meeting/request';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport Setting from './enums';\nimport Util from './util';\nimport {CAN_SET, CAN_UNSET, ENABLED} from './constants';\n\n/**\n * docs\n * https://sqbu-github.cisco.com/pages/WebExSquared/locus/guides/mute.html\n * https://confluence-eng-gpk2.cisco.com/conf/display/LOCUS/Hard+Mute+and+Audio+Privacy#HardMuteandAudioPrivacy-SelfMuteonEntry\n * https://confluence-eng-gpk2.cisco.com/conf/pages/viewpage.action?spaceKey=UC&title=WEBEX-124454%3A+UCF%3A+Hard+mute+support+for+Teams+joining+Webex+meeting\n * https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-180867\n * https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-393351\n */\n\n/**\n * @description ControlsOptionsManager is responsible for handling the behavior of participant controls when somebody joins a meeting\n * @export\n * @private\n * @class Recording\n */\nexport default class ControlsOptionsManager {\n /**\n * @instance\n * @type {MeetingRequest}\n * @private\n * @memberof ControlsOptionsManager\n */\n private request: MeetingRequest;\n\n /**\n * @instance\n * @type {Array}\n * @private\n * @memberof ControlsOptionsManager\n */\n private displayHints: Array<string> = [];\n\n /**\n * @instance\n * @type {string}\n * @private\n * @memberof ControlsOptionsManager\n */\n private locusUrl: string;\n\n /**\n * @param {MeetingRequest} request\n * @param {Object} options\n * @constructor\n * @memberof ControlsOptionsManager\n */\n constructor(\n request: MeetingRequest,\n options?: {\n locusUrl: string;\n displayHints?: Array<string>;\n }\n ) {\n this.initialize(request);\n this.set(options);\n }\n\n /**\n * @param {MeetingRequest} request\n * @returns {void}\n * @private\n * @memberof ControlsOptionsManager\n */\n private initialize(request: MeetingRequest) {\n this.request = request;\n }\n\n /**\n * @param {Object} options\n * @returns {void}\n * @public\n * @memberof ControlsOptionsManager\n */\n public set(options?: {locusUrl: string; displayHints?: Array<string>}) {\n this.extract(options);\n }\n\n /**\n * @param {string} url\n * @returns {void}\n * @public\n * @memberof ControlsOptionsManager\n */\n public setLocusUrl(url: string) {\n this.locusUrl = url;\n }\n\n /**\n * @param {Array} hints\n * @returns {void}\n * @public\n * @memberof ControlsOptionsManager\n */\n public setDisplayHints(hints: Array<string>) {\n this.displayHints = hints;\n }\n\n /**\n * @returns {string}\n * @public\n * @memberof ControlsOptionsManager\n */\n public getLocusUrl() {\n return this.locusUrl;\n }\n\n /**\n * @returns {Array}\n * @public\n * @memberof ControlsOptionsManager\n */\n public getDisplayHints() {\n return this.displayHints;\n }\n\n /**\n * @param {Object} options\n * @returns {void}\n * @private\n * @memberof ControlsOptionsManager\n */\n private extract(options?: {locusUrl: string; displayHints?: Array<string>}) {\n this.setDisplayHints(options?.displayHints);\n this.setLocusUrl(options?.locusUrl);\n }\n\n /**\n * @param {Setting} setting\n * @param {boolean} enabled\n * @private\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n private setControls(setting: Setting, enabled: boolean): Promise<any> {\n LoggerProxy.logger.log(`ControlsOptionsManager:index#setControls --> ${setting} [${enabled}]`);\n\n if (Util?.[`${enabled ? CAN_SET : CAN_UNSET}${setting}`](this.displayHints)) {\n // @ts-ignore\n return this.request.request({\n uri: `${this.locusUrl}/${CONTROLS}`,\n body: {\n [camelCase(setting)]: {\n [ENABLED]: enabled,\n },\n },\n method: HTTP_VERBS.PATCH,\n });\n }\n\n return Promise.reject(\n new PermissionError(`${setting} [${enabled}] not allowed, due to moderator property.`)\n );\n }\n\n /**\n * @public\n * @param {boolean} enabled\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n public setMuteOnEntry(enabled: boolean): Promise<any> {\n return this.setControls(Setting.muteOnEntry, enabled);\n }\n\n /**\n * @public\n * @param {boolean} enabled\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n public setDisallowUnmute(enabled: boolean): Promise<any> {\n return this.setControls(Setting.disallowUnmute, enabled);\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ _Object$defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _constants = require("../constants");
9
+ var canSetMuteOnEntry = function canSetMuteOnEntry(displayHints) {
10
+ return displayHints.includes(_constants.DISPLAY_HINTS.ENABLE_MUTE_ON_ENTRY);
11
+ };
12
+ var canSetDisallowUnmute = function canSetDisallowUnmute(displayHints) {
13
+ return displayHints.includes(_constants.DISPLAY_HINTS.ENABLE_HARD_MUTE);
14
+ };
15
+ var canUnsetMuteOnEntry = function canUnsetMuteOnEntry(displayHints) {
16
+ return displayHints.includes(_constants.DISPLAY_HINTS.DISABLE_MUTE_ON_ENTRY);
17
+ };
18
+ var canUnsetDisallowUnmute = function canUnsetDisallowUnmute(displayHints) {
19
+ return displayHints.includes(_constants.DISPLAY_HINTS.DISABLE_HARD_MUTE);
20
+ };
21
+ var _default = {
22
+ canSetMuteOnEntry: canSetMuteOnEntry,
23
+ canSetDisallowUnmute: canSetDisallowUnmute,
24
+ canUnsetMuteOnEntry: canUnsetMuteOnEntry,
25
+ canUnsetDisallowUnmute: canUnsetDisallowUnmute
26
+ };
27
+ exports.default = _default;
28
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["canSetMuteOnEntry","displayHints","includes","DISPLAY_HINTS","ENABLE_MUTE_ON_ENTRY","canSetDisallowUnmute","ENABLE_HARD_MUTE","canUnsetMuteOnEntry","DISABLE_MUTE_ON_ENTRY","canUnsetDisallowUnmute","DISABLE_HARD_MUTE"],"sources":["util.ts"],"sourcesContent":["import {DISPLAY_HINTS} from '../constants';\n\nconst canSetMuteOnEntry = (displayHints: Array<string>): boolean =>\n displayHints.includes(DISPLAY_HINTS.ENABLE_MUTE_ON_ENTRY);\n\nconst canSetDisallowUnmute = (displayHints: Array<string>): boolean =>\n displayHints.includes(DISPLAY_HINTS.ENABLE_HARD_MUTE);\n\nconst canUnsetMuteOnEntry = (displayHints: Array<string>): boolean =>\n displayHints.includes(DISPLAY_HINTS.DISABLE_MUTE_ON_ENTRY);\n\nconst canUnsetDisallowUnmute = (displayHints: Array<string>): boolean =>\n displayHints.includes(DISPLAY_HINTS.DISABLE_HARD_MUTE);\n\nexport default {\n canSetMuteOnEntry,\n canSetDisallowUnmute,\n canUnsetMuteOnEntry,\n canUnsetDisallowUnmute,\n};\n"],"mappings":";;;;;;;AAAA;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiB,CAAIC,YAA2B;EAAA,OACpDA,YAAY,CAACC,QAAQ,CAACC,wBAAa,CAACC,oBAAoB,CAAC;AAAA;AAE3D,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoB,CAAIJ,YAA2B;EAAA,OACvDA,YAAY,CAACC,QAAQ,CAACC,wBAAa,CAACG,gBAAgB,CAAC;AAAA;AAEvD,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmB,CAAIN,YAA2B;EAAA,OACtDA,YAAY,CAACC,QAAQ,CAACC,wBAAa,CAACK,qBAAqB,CAAC;AAAA;AAE5D,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsB,CAAIR,YAA2B;EAAA,OACzDA,YAAY,CAACC,QAAQ,CAACC,wBAAa,CAACO,iBAAiB,CAAC;AAAA;AAAC,eAE1C;EACbV,iBAAiB,EAAjBA,iBAAiB;EACjBK,oBAAoB,EAApBA,oBAAoB;EACpBE,mBAAmB,EAAnBA,mBAAmB;EACnBE,sBAAsB,EAAtBA;AACF,CAAC;AAAA"}
package/dist/index.js CHANGED
@@ -1,47 +1,40 @@
1
1
  "use strict";
2
2
 
3
3
  var _typeof = require("@babel/runtime-corejs2/helpers/typeof");
4
-
5
4
  var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");
6
-
7
5
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
8
-
9
6
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
10
-
11
7
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
12
-
13
8
  _Object$defineProperty(exports, "__esModule", {
14
9
  value: true
15
10
  });
16
-
17
- exports.CONSTANTS = void 0;
18
-
11
+ exports.REACTIONS = exports.CONSTANTS = void 0;
12
+ _Object$defineProperty(exports, "RemoteMedia", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _remoteMedia.RemoteMedia;
16
+ }
17
+ });
19
18
  _Object$defineProperty(exports, "TriggerProxy", {
20
19
  enumerable: true,
21
20
  get: function get() {
22
21
  return _triggerProxy.default;
23
22
  }
24
23
  });
25
-
26
24
  exports.default = void 0;
27
-
28
25
  var _webexCore = require("@webex/webex-core");
29
-
30
26
  var _meetings = _interopRequireDefault(require("./meetings"));
31
-
32
27
  var _config = _interopRequireDefault(require("./config"));
33
-
34
28
  var _CONSTANTS = _interopRequireWildcard(require("./constants"));
35
-
36
29
  exports.CONSTANTS = _CONSTANTS;
37
-
30
+ var _REACTIONS = _interopRequireWildcard(require("./reactions/reactions"));
31
+ exports.REACTIONS = _REACTIONS;
32
+ var _remoteMedia = require("./multistream/remoteMedia");
38
33
  var _triggerProxy = _interopRequireDefault(require("./common/events/trigger-proxy"));
39
-
40
34
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
-
42
35
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
43
-
44
36
  /* eslint-env browser */
37
+
45
38
  (0, _webexCore.registerPlugin)('meetings', _meetings.default, {
46
39
  config: _config.default
47
40
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["registerPlugin","Meetings","config"],"sources":["index.js"],"sourcesContent":["/* eslint-env browser */\nimport {registerPlugin} from '@webex/webex-core';\n\nimport Meetings from './meetings';\nimport config from './config';\n\nregisterPlugin('meetings', Meetings, {\n config\n});\n\nexport default Meetings;\n\nexport * as CONSTANTS from './constants';\n\nexport {default as TriggerProxy} from './common/events/trigger-proxy';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAEA;;AACA;;;;;;AAUA;;;;;;AAdA;AAMA,IAAAA,yBAAA,EAAe,UAAf,EAA2BC,iBAA3B,EAAqC;EACnCC,MAAM,EAANA;AADmC,CAArC;eAIeD,iB"}
1
+ {"version":3,"names":["registerPlugin","Meetings","config"],"sources":["index.js"],"sourcesContent":["/* eslint-env browser */\nimport {registerPlugin} from '@webex/webex-core';\n\nimport Meetings from './meetings';\nimport config from './config';\n\nregisterPlugin('meetings', Meetings, {\n config,\n});\n\nexport default Meetings;\n\nexport * as CONSTANTS from './constants';\nexport * as REACTIONS from './reactions/reactions';\n\nexport {RemoteMedia} from './multistream/remoteMedia';\n\nexport {default as TriggerProxy} from './common/events/trigger-proxy';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA;AAEA;AACA;AAA8B;AAAA;AAAA;AAAA;AAW9B;AAEA;AAAsE;AAAA;AAjBtE;;AAMA,IAAAA,yBAAc,EAAC,UAAU,EAAEC,iBAAQ,EAAE;EACnCC,MAAM,EAANA;AACF,CAAC,CAAC;AAAC,eAEYD,iBAAQ;AAAA"}
@@ -1,34 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
4
-
5
4
  var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
6
-
7
5
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
8
-
9
6
  var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
10
-
11
7
  var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
12
-
13
8
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
14
-
15
9
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
16
-
17
10
  _Object$defineProperty(exports, "__esModule", {
18
11
  value: true
19
12
  });
20
-
21
13
  exports.default = void 0;
22
-
23
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
24
-
25
15
  var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
26
-
27
16
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
28
-
29
17
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
30
-
31
18
  var ControlsUtils = {};
19
+
32
20
  /**
33
21
  * Controls
34
22
  * @typedef {Object} LocusControls
@@ -44,10 +32,8 @@ var ControlsUtils = {};
44
32
  * @returns {Object} parsedObject - parsed host or null if host was undefined
45
33
  * @returns {String} parsedObject.recordingId
46
34
  */
47
-
48
35
  ControlsUtils.parse = function (controls) {
49
36
  var parsedControls = _objectSpread({}, controls);
50
-
51
37
  if (controls && controls.record) {
52
38
  parsedControls.record = {
53
39
  modifiedBy: ControlsUtils.getId(controls),
@@ -56,37 +42,31 @@ ControlsUtils.parse = function (controls) {
56
42
  lastModified: controls.record.meta.lastModified
57
43
  };
58
44
  }
59
-
60
45
  if (controls && controls.meetingContainer) {
61
46
  parsedControls.meetingContainer = {
62
47
  meetingContainerUrl: controls.meetingContainer.meetingContainerUrl
63
48
  };
64
49
  }
65
-
66
50
  if (controls && controls.transcribe) {
67
51
  parsedControls.transcribe = {
68
52
  transcribing: controls.transcribe.transcribing,
69
53
  caption: controls.transcribe.caption
70
54
  };
71
55
  }
72
-
73
56
  if (controls && controls.entryExitTone) {
74
57
  parsedControls.entryExitTone = controls.entryExitTone.enabled ? controls.entryExitTone.mode : null;
75
58
  }
76
-
77
59
  return parsedControls;
78
60
  };
61
+
79
62
  /**
80
63
  * parses and returns previous state vs current state and triggers the changes.
81
64
  * @param {LocusControls} oldControls previous state
82
65
  * @param {LocusControls} newControls current state
83
66
  * @returns {Object} combination of state plus the changes
84
67
  */
85
-
86
-
87
68
  ControlsUtils.getControls = function (oldControls, newControls) {
88
69
  var _previous$record, _previous$record2, _current$record, _previous$record3, _current$record2, _previous$record4, _current$record3, _previous$meetingCont, _current$meetingConta, _previous$transcribe, _current$transcribe, _previous$transcribe2, _current$transcribe2;
89
-
90
70
  var previous = ControlsUtils.parse(oldControls);
91
71
  var current = ControlsUtils.parse(newControls);
92
72
  return {
@@ -95,32 +75,35 @@ ControlsUtils.getControls = function (oldControls, newControls) {
95
75
  updates: {
96
76
  hasRecordingPausedChanged: (current === null || current === void 0 ? void 0 : current.record) && !(0, _isEqual2.default)(previous === null || previous === void 0 ? void 0 : (_previous$record = previous.record) === null || _previous$record === void 0 ? void 0 : _previous$record.paused, current.record.paused) && ((previous === null || previous === void 0 ? void 0 : (_previous$record2 = previous.record) === null || _previous$record2 === void 0 ? void 0 : _previous$record2.recording) || (current === null || current === void 0 ? void 0 : (_current$record = current.record) === null || _current$record === void 0 ? void 0 : _current$record.recording)),
97
77
  // see comments directly below
98
- hasRecordingChanged: (current === null || current === void 0 ? void 0 : current.record) && !(0, _isEqual2.default)(previous === null || previous === void 0 ? void 0 : (_previous$record3 = previous.record) === null || _previous$record3 === void 0 ? void 0 : _previous$record3.recording, current === null || current === void 0 ? void 0 : (_current$record2 = current.record) === null || _current$record2 === void 0 ? void 0 : _current$record2.recording) && ( // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true
78
+
79
+ hasRecordingChanged: (current === null || current === void 0 ? void 0 : current.record) && !(0, _isEqual2.default)(previous === null || previous === void 0 ? void 0 : (_previous$record3 = previous.record) === null || _previous$record3 === void 0 ? void 0 : _previous$record3.recording, current === null || current === void 0 ? void 0 : (_current$record2 = current.record) === null || _current$record2 === void 0 ? void 0 : _current$record2.recording) && (
80
+ // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true
99
81
  (previous === null || previous === void 0 ? void 0 : (_previous$record4 = previous.record) === null || _previous$record4 === void 0 ? void 0 : _previous$record4.recording) || (current === null || current === void 0 ? void 0 : (_current$record3 = current.record) === null || _current$record3 === void 0 ? void 0 : _current$record3.recording)),
100
82
  // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting
83
+
101
84
  hasMeetingContainerChanged: (current === null || current === void 0 ? void 0 : current.meetingContainer) && !(0, _isEqual2.default)(previous === null || previous === void 0 ? void 0 : (_previous$meetingCont = previous.meetingContainer) === null || _previous$meetingCont === void 0 ? void 0 : _previous$meetingCont.meetingContainerUrl, current === null || current === void 0 ? void 0 : (_current$meetingConta = current.meetingContainer) === null || _current$meetingConta === void 0 ? void 0 : _current$meetingConta.meetingContainerUrl),
102
- hasTranscribeChanged: (current === null || current === void 0 ? void 0 : current.transcribe) && !(0, _isEqual2.default)(previous === null || previous === void 0 ? void 0 : (_previous$transcribe = previous.transcribe) === null || _previous$transcribe === void 0 ? void 0 : _previous$transcribe.transcribing, current === null || current === void 0 ? void 0 : (_current$transcribe = current.transcribe) === null || _current$transcribe === void 0 ? void 0 : _current$transcribe.transcribing) && ( // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true
85
+ hasTranscribeChanged: (current === null || current === void 0 ? void 0 : current.transcribe) && !(0, _isEqual2.default)(previous === null || previous === void 0 ? void 0 : (_previous$transcribe = previous.transcribe) === null || _previous$transcribe === void 0 ? void 0 : _previous$transcribe.transcribing, current === null || current === void 0 ? void 0 : (_current$transcribe = current.transcribe) === null || _current$transcribe === void 0 ? void 0 : _current$transcribe.transcribing) && (
86
+ // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true
103
87
  (previous === null || previous === void 0 ? void 0 : (_previous$transcribe2 = previous.transcribe) === null || _previous$transcribe2 === void 0 ? void 0 : _previous$transcribe2.transcribing) || (current === null || current === void 0 ? void 0 : (_current$transcribe2 = current.transcribe) === null || _current$transcribe2 === void 0 ? void 0 : _current$transcribe2.transcribing)),
104
88
  // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting
105
- hasEntryExitToneChanged: !!(newControls.entryExitTone && !(0, _isEqual2.default)(previous === null || previous === void 0 ? void 0 : previous.entryExitTone, current === null || current === void 0 ? void 0 : current.entryExitTone) && (previous !== null && previous !== void 0 && previous.entryExitTone || current !== null && current !== void 0 && current.entryExitTone))
89
+
90
+ hasEntryExitToneChanged: !!(newControls.entryExitTone && !(0, _isEqual2.default)(previous === null || previous === void 0 ? void 0 : previous.entryExitTone, current === null || current === void 0 ? void 0 : current.entryExitTone) && (previous !== null && previous !== void 0 && previous.entryExitTone || current !== null && current !== void 0 && current.entryExitTone)),
91
+ hasBreakoutChanged: !(0, _isEqual2.default)(previous === null || previous === void 0 ? void 0 : previous.breakout, current === null || current === void 0 ? void 0 : current.breakout)
106
92
  }
107
93
  };
108
94
  };
95
+
109
96
  /**
110
97
  * Extract the id from the record controls object
111
98
  * @param {LocusControls} controls
112
99
  * @returns {String|null}
113
100
  */
114
-
115
-
116
101
  ControlsUtils.getId = function (controls) {
117
102
  if (controls.record.meta) {
118
103
  return controls.record.meta.modifiedBy;
119
104
  }
120
-
121
105
  return null;
122
106
  };
123
-
124
107
  var _default = ControlsUtils;
125
108
  exports.default = _default;
126
109
  //# sourceMappingURL=controlsUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ControlsUtils","parse","controls","parsedControls","record","modifiedBy","getId","paused","recording","lastModified","meta","meetingContainer","meetingContainerUrl","transcribe","transcribing","caption","entryExitTone","enabled","mode","getControls","oldControls","newControls","previous","current","updates","hasRecordingPausedChanged","hasRecordingChanged","hasMeetingContainerChanged","hasTranscribeChanged","hasEntryExitToneChanged"],"sources":["controlsUtils.js"],"sourcesContent":["import {isEqual} from 'lodash';\n\nconst ControlsUtils = {};\n\n/**\n * Controls\n * @typedef {Object} LocusControls\n * @property {Object} record\n * @property {Boolean} record.recording\n * @property {Object} record.meta\n * @property {String} record.meta.modifiedBy\n */\n\n/**\n * parse the relevant host values that we care about: id\n * @param {LocusControls} controls\n * @returns {Object} parsedObject - parsed host or null if host was undefined\n * @returns {String} parsedObject.recordingId\n */\nControlsUtils.parse = (controls) => {\n const parsedControls = {...controls};\n\n if (controls && controls.record) {\n parsedControls.record = {\n modifiedBy: ControlsUtils.getId(controls),\n paused: controls.record.paused ? controls.record.paused : false,\n recording: controls.record.recording,\n lastModified: controls.record.meta.lastModified\n };\n }\n\n if (controls && controls.meetingContainer) {\n parsedControls.meetingContainer = {\n meetingContainerUrl: controls.meetingContainer.meetingContainerUrl\n };\n }\n\n if (controls && controls.transcribe) {\n parsedControls.transcribe = {\n transcribing: controls.transcribe.transcribing,\n caption: controls.transcribe.caption\n };\n }\n\n if (controls && controls.entryExitTone) {\n parsedControls.entryExitTone = controls.entryExitTone.enabled ? controls.entryExitTone.mode : null;\n }\n\n return parsedControls;\n};\n\n/**\n * parses and returns previous state vs current state and triggers the changes.\n * @param {LocusControls} oldControls previous state\n * @param {LocusControls} newControls current state\n * @returns {Object} combination of state plus the changes\n */\nControlsUtils.getControls = (oldControls, newControls) => {\n const previous = ControlsUtils.parse(oldControls);\n const current = ControlsUtils.parse(newControls);\n\n return {\n previous,\n current,\n updates: {\n hasRecordingPausedChanged: current?.record &&\n !isEqual(previous?.record?.paused, current.record.paused) &&\n (previous?.record?.recording || current?.record?.recording), // see comments directly below\n\n hasRecordingChanged: current?.record &&\n !isEqual(previous?.record?.recording, current?.record?.recording) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.record?.recording || current?.record?.recording), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasMeetingContainerChanged: current?.meetingContainer &&\n !isEqual(previous?.meetingContainer?.meetingContainerUrl,\n current?.meetingContainer?.meetingContainerUrl),\n\n hasTranscribeChanged: current?.transcribe &&\n !isEqual(previous?.transcribe?.transcribing, current?.transcribe?.transcribing) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasEntryExitToneChanged: !!(newControls.entryExitTone &&\n !isEqual(previous?.entryExitTone, current?.entryExitTone) &&\n (previous?.entryExitTone || current?.entryExitTone)),\n }\n };\n};\n\n/**\n * Extract the id from the record controls object\n * @param {LocusControls} controls\n * @returns {String|null}\n */\nControlsUtils.getId = (controls) => {\n if (controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\nexport default ControlsUtils;\n"],"mappings":"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"}
1
+ {"version":3,"names":["ControlsUtils","parse","controls","parsedControls","record","modifiedBy","getId","paused","recording","lastModified","meta","meetingContainer","meetingContainerUrl","transcribe","transcribing","caption","entryExitTone","enabled","mode","getControls","oldControls","newControls","previous","current","updates","hasRecordingPausedChanged","hasRecordingChanged","hasMeetingContainerChanged","hasTranscribeChanged","hasEntryExitToneChanged","hasBreakoutChanged","breakout"],"sources":["controlsUtils.ts"],"sourcesContent":["import {isEqual} from 'lodash';\n\nconst ControlsUtils: any = {};\n\n/**\n * Controls\n * @typedef {Object} LocusControls\n * @property {Object} record\n * @property {Boolean} record.recording\n * @property {Object} record.meta\n * @property {String} record.meta.modifiedBy\n */\n\n/**\n * parse the relevant host values that we care about: id\n * @param {LocusControls} controls\n * @returns {Object} parsedObject - parsed host or null if host was undefined\n * @returns {String} parsedObject.recordingId\n */\nControlsUtils.parse = (controls: any) => {\n const parsedControls = {...controls};\n\n if (controls && controls.record) {\n parsedControls.record = {\n modifiedBy: ControlsUtils.getId(controls),\n paused: controls.record.paused ? controls.record.paused : false,\n recording: controls.record.recording,\n lastModified: controls.record.meta.lastModified,\n };\n }\n\n if (controls && controls.meetingContainer) {\n parsedControls.meetingContainer = {\n meetingContainerUrl: controls.meetingContainer.meetingContainerUrl,\n };\n }\n\n if (controls && controls.transcribe) {\n parsedControls.transcribe = {\n transcribing: controls.transcribe.transcribing,\n caption: controls.transcribe.caption,\n };\n }\n\n if (controls && controls.entryExitTone) {\n parsedControls.entryExitTone = controls.entryExitTone.enabled\n ? controls.entryExitTone.mode\n : null;\n }\n\n return parsedControls;\n};\n\n/**\n * parses and returns previous state vs current state and triggers the changes.\n * @param {LocusControls} oldControls previous state\n * @param {LocusControls} newControls current state\n * @returns {Object} combination of state plus the changes\n */\nControlsUtils.getControls = (oldControls: any, newControls: any) => {\n const previous = ControlsUtils.parse(oldControls);\n const current = ControlsUtils.parse(newControls);\n\n return {\n previous,\n current,\n updates: {\n hasRecordingPausedChanged:\n current?.record &&\n !isEqual(previous?.record?.paused, current.record.paused) &&\n (previous?.record?.recording || current?.record?.recording), // see comments directly below\n\n hasRecordingChanged:\n current?.record &&\n !isEqual(previous?.record?.recording, current?.record?.recording) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.record?.recording || current?.record?.recording), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasMeetingContainerChanged:\n current?.meetingContainer &&\n !isEqual(\n previous?.meetingContainer?.meetingContainerUrl,\n current?.meetingContainer?.meetingContainerUrl\n ),\n\n hasTranscribeChanged:\n current?.transcribe &&\n !isEqual(previous?.transcribe?.transcribing, current?.transcribe?.transcribing) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasEntryExitToneChanged: !!(\n newControls.entryExitTone &&\n !isEqual(previous?.entryExitTone, current?.entryExitTone) &&\n (previous?.entryExitTone || current?.entryExitTone)\n ),\n\n hasBreakoutChanged: !isEqual(previous?.breakout, current?.breakout),\n },\n };\n};\n\n/**\n * Extract the id from the record controls object\n * @param {LocusControls} controls\n * @returns {String|null}\n */\nControlsUtils.getId = (controls: any) => {\n if (controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\nexport default ControlsUtils;\n"],"mappings":"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"}
@@ -1,55 +1,39 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
4
-
5
4
  var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
6
-
7
5
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
8
-
9
6
  var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
10
-
11
7
  var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
12
-
13
8
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
14
-
15
9
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
16
-
17
10
  _Object$defineProperty(exports, "__esModule", {
18
11
  value: true
19
12
  });
20
-
21
13
  exports.default = void 0;
22
-
23
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
24
-
25
15
  var _constants = require("../constants");
26
-
27
16
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
28
-
29
17
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
30
-
31
18
  var EmbeddedAppsUtils = {};
32
19
  var SLIDO_REGEX = /.sli.do\//;
20
+
33
21
  /**
34
22
  * Parse the relevant values that we care about
35
23
  * @param {Object} embeddedApp - raw embedded app object
36
24
  * @returns {Object} parsedObject - parsed embedded app object
37
25
  */
38
-
39
26
  EmbeddedAppsUtils.parseApp = function (embeddedApp) {
40
27
  var _parsedApp$instanceIn;
41
-
42
28
  var parsedApp = _objectSpread({}, embeddedApp);
43
-
44
29
  parsedApp.type = _constants.EMBEDDED_APP_TYPES.OTHER;
45
30
  var url = (_parsedApp$instanceIn = parsedApp.instanceInfo) === null || _parsedApp$instanceIn === void 0 ? void 0 : _parsedApp$instanceIn.appInstanceUrl;
46
-
47
31
  if (url && url.match(SLIDO_REGEX)) {
48
32
  parsedApp.type = _constants.EMBEDDED_APP_TYPES.SLIDO;
49
33
  }
50
-
51
34
  return parsedApp;
52
35
  };
36
+
53
37
  /**
54
38
  * Determines if two embedded apps arrays are similar.
55
39
  * NOTE: This is a simple test for performance reasons.
@@ -57,36 +41,29 @@ EmbeddedAppsUtils.parseApp = function (embeddedApp) {
57
41
  * @param {any[]} apps2 - an array of apps
58
42
  * @returns {boolean} true if the arrays are different
59
43
  */
60
-
61
-
62
44
  EmbeddedAppsUtils.areSimilar = function (apps1, apps2) {
63
45
  if (!apps1 || !apps2) {
64
46
  return apps1 === apps2;
65
47
  }
66
-
67
48
  if ((apps1 === null || apps1 === void 0 ? void 0 : apps1.length) !== (apps2 === null || apps2 === void 0 ? void 0 : apps2.length)) {
68
49
  return false;
69
50
  }
70
-
71
51
  for (var i = 0; i < apps1.length; i += 1) {
72
52
  if (apps1[i].state !== apps2[i].state) {
73
53
  return false;
74
54
  }
75
55
  }
76
-
77
56
  return true;
78
57
  };
58
+
79
59
  /**
80
60
  * Parse the array of embedded apps
81
61
  * @param {array} embeddedApps
82
62
  * @returns {array} result - new array of parsed embedded app objects
83
63
  */
84
-
85
-
86
64
  EmbeddedAppsUtils.parse = function (embeddedApps) {
87
65
  return embeddedApps && embeddedApps.map(EmbeddedAppsUtils.parseApp);
88
66
  };
89
-
90
67
  var _default = EmbeddedAppsUtils;
91
68
  exports.default = _default;
92
69
  //# sourceMappingURL=embeddedAppsUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["EmbeddedAppsUtils","SLIDO_REGEX","parseApp","embeddedApp","parsedApp","type","EMBEDDED_APP_TYPES","OTHER","url","instanceInfo","appInstanceUrl","match","SLIDO","areSimilar","apps1","apps2","length","i","state","parse","embeddedApps","map"],"sources":["embeddedAppsUtils.js"],"sourcesContent":["import {EMBEDDED_APP_TYPES} from '../constants';\n\nconst EmbeddedAppsUtils = {};\n\nconst SLIDO_REGEX = /.sli.do\\//;\n\n/**\n * Parse the relevant values that we care about\n * @param {Object} embeddedApp - raw embedded app object\n * @returns {Object} parsedObject - parsed embedded app object\n */\nEmbeddedAppsUtils.parseApp = (embeddedApp) => {\n const parsedApp = {...embeddedApp};\n\n parsedApp.type = EMBEDDED_APP_TYPES.OTHER;\n const url = parsedApp.instanceInfo?.appInstanceUrl;\n\n if (url && url.match(SLIDO_REGEX)) {\n parsedApp.type = EMBEDDED_APP_TYPES.SLIDO;\n }\n\n return parsedApp;\n};\n\n/**\n * Determines if two embedded apps arrays are similar.\n * NOTE: This is a simple test for performance reasons.\n * @param {any[]} apps1 - an array of apps\n * @param {any[]} apps2 - an array of apps\n * @returns {boolean} true if the arrays are different\n */\nEmbeddedAppsUtils.areSimilar = (apps1, apps2) => {\n if (!apps1 || !apps2) {\n return apps1 === apps2;\n }\n\n if (apps1?.length !== apps2?.length) {\n return false;\n }\n\n for (let i = 0; i < apps1.length; i += 1) {\n if (apps1[i].state !== apps2[i].state) {\n return false;\n }\n }\n\n return true;\n};\n\n/**\n * Parse the array of embedded apps\n * @param {array} embeddedApps\n * @returns {array} result - new array of parsed embedded app objects\n */\nEmbeddedAppsUtils.parse = (embeddedApps) =>\n embeddedApps && embeddedApps.map(EmbeddedAppsUtils.parseApp);\n\nexport default EmbeddedAppsUtils;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;AAEA,IAAMA,iBAAiB,GAAG,EAA1B;AAEA,IAAMC,WAAW,GAAG,WAApB;AAEA;AACA;AACA;AACA;AACA;;AACAD,iBAAiB,CAACE,QAAlB,GAA6B,UAACC,WAAD,EAAiB;EAAA;;EAC5C,IAAMC,SAAS,qBAAOD,WAAP,CAAf;;EAEAC,SAAS,CAACC,IAAV,GAAiBC,6BAAA,CAAmBC,KAApC;EACA,IAAMC,GAAG,4BAAGJ,SAAS,CAACK,YAAb,0DAAG,sBAAwBC,cAApC;;EAEA,IAAIF,GAAG,IAAIA,GAAG,CAACG,KAAJ,CAAUV,WAAV,CAAX,EAAmC;IACjCG,SAAS,CAACC,IAAV,GAAiBC,6BAAA,CAAmBM,KAApC;EACD;;EAED,OAAOR,SAAP;AACD,CAXD;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACAJ,iBAAiB,CAACa,UAAlB,GAA+B,UAACC,KAAD,EAAQC,KAAR,EAAkB;EAC/C,IAAI,CAACD,KAAD,IAAU,CAACC,KAAf,EAAsB;IACpB,OAAOD,KAAK,KAAKC,KAAjB;EACD;;EAED,IAAI,CAAAD,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEE,MAAP,OAAkBD,KAAlB,aAAkBA,KAAlB,uBAAkBA,KAAK,CAAEC,MAAzB,CAAJ,EAAqC;IACnC,OAAO,KAAP;EACD;;EAED,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,KAAK,CAACE,MAA1B,EAAkCC,CAAC,IAAI,CAAvC,EAA0C;IACxC,IAAIH,KAAK,CAACG,CAAD,CAAL,CAASC,KAAT,KAAmBH,KAAK,CAACE,CAAD,CAAL,CAASC,KAAhC,EAAuC;MACrC,OAAO,KAAP;IACD;EACF;;EAED,OAAO,IAAP;AACD,CAhBD;AAkBA;AACA;AACA;AACA;AACA;;;AACAlB,iBAAiB,CAACmB,KAAlB,GAA0B,UAACC,YAAD;EAAA,OACxBA,YAAY,IAAIA,YAAY,CAACC,GAAb,CAAiBrB,iBAAiB,CAACE,QAAnC,CADQ;AAAA,CAA1B;;eAGeF,iB"}
1
+ {"version":3,"names":["EmbeddedAppsUtils","SLIDO_REGEX","parseApp","embeddedApp","parsedApp","type","EMBEDDED_APP_TYPES","OTHER","url","instanceInfo","appInstanceUrl","match","SLIDO","areSimilar","apps1","apps2","length","i","state","parse","embeddedApps","map"],"sources":["embeddedAppsUtils.ts"],"sourcesContent":["import {EMBEDDED_APP_TYPES} from '../constants';\n\nconst EmbeddedAppsUtils: any = {};\nconst SLIDO_REGEX = /.sli.do\\//;\n\n/**\n * Parse the relevant values that we care about\n * @param {Object} embeddedApp - raw embedded app object\n * @returns {Object} parsedObject - parsed embedded app object\n */\nEmbeddedAppsUtils.parseApp = (embeddedApp: object) => {\n const parsedApp: any = {...embeddedApp};\n\n parsedApp.type = EMBEDDED_APP_TYPES.OTHER;\n const url = parsedApp.instanceInfo?.appInstanceUrl;\n\n if (url && url.match(SLIDO_REGEX)) {\n parsedApp.type = EMBEDDED_APP_TYPES.SLIDO;\n }\n\n return parsedApp;\n};\n\n/**\n * Determines if two embedded apps arrays are similar.\n * NOTE: This is a simple test for performance reasons.\n * @param {any[]} apps1 - an array of apps\n * @param {any[]} apps2 - an array of apps\n * @returns {boolean} true if the arrays are different\n */\nEmbeddedAppsUtils.areSimilar = (apps1: any[], apps2: any[]) => {\n if (!apps1 || !apps2) {\n return apps1 === apps2;\n }\n\n if (apps1?.length !== apps2?.length) {\n return false;\n }\n\n for (let i = 0; i < apps1.length; i += 1) {\n if (apps1[i].state !== apps2[i].state) {\n return false;\n }\n }\n\n return true;\n};\n\n/**\n * Parse the array of embedded apps\n * @param {array} embeddedApps\n * @returns {array} result - new array of parsed embedded app objects\n */\nEmbeddedAppsUtils.parse = (embeddedApps: Array<any>) =>\n embeddedApps && embeddedApps.map(EmbeddedAppsUtils.parseApp);\n\nexport default EmbeddedAppsUtils;\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAgD;AAAA;AAEhD,IAAMA,iBAAsB,GAAG,CAAC,CAAC;AACjC,IAAMC,WAAW,GAAG,WAAW;;AAE/B;AACA;AACA;AACA;AACA;AACAD,iBAAiB,CAACE,QAAQ,GAAG,UAACC,WAAmB,EAAK;EAAA;EACpD,IAAMC,SAAc,qBAAOD,WAAW,CAAC;EAEvCC,SAAS,CAACC,IAAI,GAAGC,6BAAkB,CAACC,KAAK;EACzC,IAAMC,GAAG,4BAAGJ,SAAS,CAACK,YAAY,0DAAtB,sBAAwBC,cAAc;EAElD,IAAIF,GAAG,IAAIA,GAAG,CAACG,KAAK,CAACV,WAAW,CAAC,EAAE;IACjCG,SAAS,CAACC,IAAI,GAAGC,6BAAkB,CAACM,KAAK;EAC3C;EAEA,OAAOR,SAAS;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACAJ,iBAAiB,CAACa,UAAU,GAAG,UAACC,KAAY,EAAEC,KAAY,EAAK;EAC7D,IAAI,CAACD,KAAK,IAAI,CAACC,KAAK,EAAE;IACpB,OAAOD,KAAK,KAAKC,KAAK;EACxB;EAEA,IAAI,CAAAD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEE,MAAM,OAAKD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEC,MAAM,GAAE;IACnC,OAAO,KAAK;EACd;EAEA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,CAACE,MAAM,EAAEC,CAAC,IAAI,CAAC,EAAE;IACxC,IAAIH,KAAK,CAACG,CAAC,CAAC,CAACC,KAAK,KAAKH,KAAK,CAACE,CAAC,CAAC,CAACC,KAAK,EAAE;MACrC,OAAO,KAAK;IACd;EACF;EAEA,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACAlB,iBAAiB,CAACmB,KAAK,GAAG,UAACC,YAAwB;EAAA,OACjDA,YAAY,IAAIA,YAAY,CAACC,GAAG,CAACrB,iBAAiB,CAACE,QAAQ,CAAC;AAAA;AAAC,eAEhDF,iBAAiB;AAAA"}
@@ -1,17 +1,12 @@
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 FullState = {};
14
-
15
10
  FullState.parse = function (fullState) {
16
11
  return {
17
12
  type: fullState.type || _constants.FULL_STATE.UNKNOWN,
@@ -19,7 +14,6 @@ FullState.parse = function (fullState) {
19
14
  locked: fullState.locked
20
15
  };
21
16
  };
22
-
23
17
  FullState.getFullState = function (oldFullState, newFullState) {
24
18
  var previous = oldFullState && FullState.parse(oldFullState);
25
19
  var current = newFullState && FullState.parse(newFullState);
@@ -34,39 +28,30 @@ FullState.getFullState = function (oldFullState, newFullState) {
34
28
  }
35
29
  };
36
30
  };
37
-
38
31
  FullState.isMeetingEnded = function (previous, current) {
39
32
  if (current.state === _constants.FULL_STATE.INACTIVE && previous && (previous.state === _constants.FULL_STATE.ACTIVE || previous.state === _constants.FULL_STATE.INITIALIZING || previous.state === _constants.FULL_STATE.TERMINATING)) {
40
33
  return true;
41
34
  }
42
-
43
35
  return false;
44
36
  };
45
-
46
37
  FullState.isMeetingTerminating = function (previous, current) {
47
38
  if (current.state === _constants.FULL_STATE.TERMINATING && previous && (previous.state === _constants.FULL_STATE.ACTIVE || previous.state === _constants.FULL_STATE.INITIALIZING)) {
48
39
  return true;
49
40
  }
50
-
51
41
  return false;
52
42
  };
53
-
54
43
  FullState.isTypeChanged = function (previous, current) {
55
44
  if (!previous || current.type !== previous.type) {
56
45
  return current && current.type;
57
46
  }
58
-
59
47
  return null;
60
48
  };
61
-
62
49
  FullState.meetingStateChange = function (previous, current) {
63
50
  if (!previous || current.meetingState !== previous.meetingState) {
64
51
  return current && current.meetingState;
65
52
  }
66
-
67
53
  return null;
68
54
  };
69
-
70
55
  var _default = FullState;
71
56
  exports.default = _default;
72
57
  //# sourceMappingURL=fullState.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["FullState","parse","fullState","type","FULL_STATE","UNKNOWN","meetingState","state","locked","getFullState","oldFullState","newFullState","previous","current","updates","isMeetingEnded","isMeetingTerminating","meetingTypeChangedTo","isTypeChanged","meetingStateChangedTo","meetingStateChange","INACTIVE","ACTIVE","INITIALIZING","TERMINATING"],"sources":["fullState.js"],"sourcesContent":["import {FULL_STATE} from '../constants';\n\nconst FullState = {};\n\nFullState.parse = (fullState) => ({\n type: fullState.type || FULL_STATE.UNKNOWN,\n meetingState: fullState.state,\n locked: fullState.locked\n});\n\n\nFullState.getFullState = (oldFullState, newFullState) => {\n const previous = oldFullState && FullState.parse(oldFullState);\n const current = newFullState && FullState.parse(newFullState);\n\n return {\n previous,\n current,\n updates: {\n isMeetingEnded: FullState.isMeetingEnded(previous, current),\n isMeetingTerminating: FullState.isMeetingTerminating(previous, current),\n meetingTypeChangedTo: FullState.isTypeChanged(previous, current),\n meetingStateChangedTo: FullState.meetingStateChange(previous, current)\n }\n };\n};\n\nFullState.isMeetingEnded = (previous, current) => {\n if (current.state === FULL_STATE.INACTIVE && previous &&\n (previous.state === FULL_STATE.ACTIVE ||\n previous.state === FULL_STATE.INITIALIZING ||\n previous.state === FULL_STATE.TERMINATING)) {\n return true;\n }\n\n return false;\n};\n\nFullState.isMeetingTerminating = (previous, current) => {\n if (current.state === FULL_STATE.TERMINATING && previous &&\n (previous.state === FULL_STATE.ACTIVE ||\n previous.state === FULL_STATE.INITIALIZING)) {\n return true;\n }\n\n return false;\n};\n\nFullState.isTypeChanged = (previous, current) => {\n if (!previous || current.type !== previous.type) {\n return current && current.type;\n }\n\n return null;\n};\n\nFullState.meetingStateChange = (previous, current) => {\n if (!previous || current.meetingState !== previous.meetingState) {\n return current && current.meetingState;\n }\n\n return null;\n};\n\nexport default FullState;\n"],"mappings":";;;;;;;;;;AAAA;;AAEA,IAAMA,SAAS,GAAG,EAAlB;;AAEAA,SAAS,CAACC,KAAV,GAAkB,UAACC,SAAD;EAAA,OAAgB;IAChCC,IAAI,EAAED,SAAS,CAACC,IAAV,IAAkBC,qBAAA,CAAWC,OADH;IAEhCC,YAAY,EAAEJ,SAAS,CAACK,KAFQ;IAGhCC,MAAM,EAAEN,SAAS,CAACM;EAHc,CAAhB;AAAA,CAAlB;;AAOAR,SAAS,CAACS,YAAV,GAAyB,UAACC,YAAD,EAAeC,YAAf,EAAgC;EACvD,IAAMC,QAAQ,GAAGF,YAAY,IAAIV,SAAS,CAACC,KAAV,CAAgBS,YAAhB,CAAjC;EACA,IAAMG,OAAO,GAAGF,YAAY,IAAIX,SAAS,CAACC,KAAV,CAAgBU,YAAhB,CAAhC;EAEA,OAAO;IACLC,QAAQ,EAARA,QADK;IAELC,OAAO,EAAPA,OAFK;IAGLC,OAAO,EAAE;MACPC,cAAc,EAAEf,SAAS,CAACe,cAAV,CAAyBH,QAAzB,EAAmCC,OAAnC,CADT;MAEPG,oBAAoB,EAAEhB,SAAS,CAACgB,oBAAV,CAA+BJ,QAA/B,EAAyCC,OAAzC,CAFf;MAGPI,oBAAoB,EAAEjB,SAAS,CAACkB,aAAV,CAAwBN,QAAxB,EAAkCC,OAAlC,CAHf;MAIPM,qBAAqB,EAAEnB,SAAS,CAACoB,kBAAV,CAA6BR,QAA7B,EAAuCC,OAAvC;IAJhB;EAHJ,CAAP;AAUD,CAdD;;AAgBAb,SAAS,CAACe,cAAV,GAA2B,UAACH,QAAD,EAAWC,OAAX,EAAuB;EAChD,IAAIA,OAAO,CAACN,KAAR,KAAkBH,qBAAA,CAAWiB,QAA7B,IAAyCT,QAAzC,KACFA,QAAQ,CAACL,KAAT,KAAmBH,qBAAA,CAAWkB,MAA9B,IACAV,QAAQ,CAACL,KAAT,KAAmBH,qBAAA,CAAWmB,YAD9B,IAEAX,QAAQ,CAACL,KAAT,KAAmBH,qBAAA,CAAWoB,WAH5B,CAAJ,EAG8C;IAC5C,OAAO,IAAP;EACD;;EAED,OAAO,KAAP;AACD,CATD;;AAWAxB,SAAS,CAACgB,oBAAV,GAAiC,UAACJ,QAAD,EAAWC,OAAX,EAAuB;EACtD,IAAIA,OAAO,CAACN,KAAR,KAAkBH,qBAAA,CAAWoB,WAA7B,IAA4CZ,QAA5C,KACHA,QAAQ,CAACL,KAAT,KAAmBH,qBAAA,CAAWkB,MAA9B,IACCV,QAAQ,CAACL,KAAT,KAAmBH,qBAAA,CAAWmB,YAF5B,CAAJ,EAE+C;IAC7C,OAAO,IAAP;EACD;;EAED,OAAO,KAAP;AACD,CARD;;AAUAvB,SAAS,CAACkB,aAAV,GAA0B,UAACN,QAAD,EAAWC,OAAX,EAAuB;EAC/C,IAAI,CAACD,QAAD,IAAaC,OAAO,CAACV,IAAR,KAAiBS,QAAQ,CAACT,IAA3C,EAAiD;IAC/C,OAAOU,OAAO,IAAIA,OAAO,CAACV,IAA1B;EACD;;EAED,OAAO,IAAP;AACD,CAND;;AAQAH,SAAS,CAACoB,kBAAV,GAA+B,UAACR,QAAD,EAAWC,OAAX,EAAuB;EACpD,IAAI,CAACD,QAAD,IAAaC,OAAO,CAACP,YAAR,KAAyBM,QAAQ,CAACN,YAAnD,EAAiE;IAC/D,OAAOO,OAAO,IAAIA,OAAO,CAACP,YAA1B;EACD;;EAED,OAAO,IAAP;AACD,CAND;;eAQeN,S"}
1
+ {"version":3,"names":["FullState","parse","fullState","type","FULL_STATE","UNKNOWN","meetingState","state","locked","getFullState","oldFullState","newFullState","previous","current","updates","isMeetingEnded","isMeetingTerminating","meetingTypeChangedTo","isTypeChanged","meetingStateChangedTo","meetingStateChange","INACTIVE","ACTIVE","INITIALIZING","TERMINATING"],"sources":["fullState.ts"],"sourcesContent":["import {FULL_STATE} from '../constants';\n\nconst FullState: any = {};\n\nFullState.parse = (fullState) => ({\n type: fullState.type || FULL_STATE.UNKNOWN,\n meetingState: fullState.state,\n locked: fullState.locked,\n});\n\nFullState.getFullState = (oldFullState, newFullState) => {\n const previous = oldFullState && FullState.parse(oldFullState);\n const current = newFullState && FullState.parse(newFullState);\n\n return {\n previous,\n current,\n updates: {\n isMeetingEnded: FullState.isMeetingEnded(previous, current),\n isMeetingTerminating: FullState.isMeetingTerminating(previous, current),\n meetingTypeChangedTo: FullState.isTypeChanged(previous, current),\n meetingStateChangedTo: FullState.meetingStateChange(previous, current),\n },\n };\n};\n\nFullState.isMeetingEnded = (previous, current) => {\n if (\n current.state === FULL_STATE.INACTIVE &&\n previous &&\n (previous.state === FULL_STATE.ACTIVE ||\n previous.state === FULL_STATE.INITIALIZING ||\n previous.state === FULL_STATE.TERMINATING)\n ) {\n return true;\n }\n\n return false;\n};\n\nFullState.isMeetingTerminating = (previous, current) => {\n if (\n current.state === FULL_STATE.TERMINATING &&\n previous &&\n (previous.state === FULL_STATE.ACTIVE || previous.state === FULL_STATE.INITIALIZING)\n ) {\n return true;\n }\n\n return false;\n};\n\nFullState.isTypeChanged = (previous, current) => {\n if (!previous || current.type !== previous.type) {\n return current && current.type;\n }\n\n return null;\n};\n\nFullState.meetingStateChange = (previous, current) => {\n if (!previous || current.meetingState !== previous.meetingState) {\n return current && current.meetingState;\n }\n\n return null;\n};\n\nexport default FullState;\n"],"mappings":";;;;;;;AAAA;AAEA,IAAMA,SAAc,GAAG,CAAC,CAAC;AAEzBA,SAAS,CAACC,KAAK,GAAG,UAACC,SAAS;EAAA,OAAM;IAChCC,IAAI,EAAED,SAAS,CAACC,IAAI,IAAIC,qBAAU,CAACC,OAAO;IAC1CC,YAAY,EAAEJ,SAAS,CAACK,KAAK;IAC7BC,MAAM,EAAEN,SAAS,CAACM;EACpB,CAAC;AAAA,CAAC;AAEFR,SAAS,CAACS,YAAY,GAAG,UAACC,YAAY,EAAEC,YAAY,EAAK;EACvD,IAAMC,QAAQ,GAAGF,YAAY,IAAIV,SAAS,CAACC,KAAK,CAACS,YAAY,CAAC;EAC9D,IAAMG,OAAO,GAAGF,YAAY,IAAIX,SAAS,CAACC,KAAK,CAACU,YAAY,CAAC;EAE7D,OAAO;IACLC,QAAQ,EAARA,QAAQ;IACRC,OAAO,EAAPA,OAAO;IACPC,OAAO,EAAE;MACPC,cAAc,EAAEf,SAAS,CAACe,cAAc,CAACH,QAAQ,EAAEC,OAAO,CAAC;MAC3DG,oBAAoB,EAAEhB,SAAS,CAACgB,oBAAoB,CAACJ,QAAQ,EAAEC,OAAO,CAAC;MACvEI,oBAAoB,EAAEjB,SAAS,CAACkB,aAAa,CAACN,QAAQ,EAAEC,OAAO,CAAC;MAChEM,qBAAqB,EAAEnB,SAAS,CAACoB,kBAAkB,CAACR,QAAQ,EAAEC,OAAO;IACvE;EACF,CAAC;AACH,CAAC;AAEDb,SAAS,CAACe,cAAc,GAAG,UAACH,QAAQ,EAAEC,OAAO,EAAK;EAChD,IACEA,OAAO,CAACN,KAAK,KAAKH,qBAAU,CAACiB,QAAQ,IACrCT,QAAQ,KACPA,QAAQ,CAACL,KAAK,KAAKH,qBAAU,CAACkB,MAAM,IACnCV,QAAQ,CAACL,KAAK,KAAKH,qBAAU,CAACmB,YAAY,IAC1CX,QAAQ,CAACL,KAAK,KAAKH,qBAAU,CAACoB,WAAW,CAAC,EAC5C;IACA,OAAO,IAAI;EACb;EAEA,OAAO,KAAK;AACd,CAAC;AAEDxB,SAAS,CAACgB,oBAAoB,GAAG,UAACJ,QAAQ,EAAEC,OAAO,EAAK;EACtD,IACEA,OAAO,CAACN,KAAK,KAAKH,qBAAU,CAACoB,WAAW,IACxCZ,QAAQ,KACPA,QAAQ,CAACL,KAAK,KAAKH,qBAAU,CAACkB,MAAM,IAAIV,QAAQ,CAACL,KAAK,KAAKH,qBAAU,CAACmB,YAAY,CAAC,EACpF;IACA,OAAO,IAAI;EACb;EAEA,OAAO,KAAK;AACd,CAAC;AAEDvB,SAAS,CAACkB,aAAa,GAAG,UAACN,QAAQ,EAAEC,OAAO,EAAK;EAC/C,IAAI,CAACD,QAAQ,IAAIC,OAAO,CAACV,IAAI,KAAKS,QAAQ,CAACT,IAAI,EAAE;IAC/C,OAAOU,OAAO,IAAIA,OAAO,CAACV,IAAI;EAChC;EAEA,OAAO,IAAI;AACb,CAAC;AAEDH,SAAS,CAACoB,kBAAkB,GAAG,UAACR,QAAQ,EAAEC,OAAO,EAAK;EACpD,IAAI,CAACD,QAAQ,IAAIC,OAAO,CAACP,YAAY,KAAKM,QAAQ,CAACN,YAAY,EAAE;IAC/D,OAAOO,OAAO,IAAIA,OAAO,CAACP,YAAY;EACxC;EAEA,OAAO,IAAI;AACb,CAAC;AAAC,eAEaN,SAAS;AAAA"}
@@ -1,28 +1,26 @@
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
8
  var HostUtils = {};
9
+
11
10
  /**
12
11
  * parse the relevant host values that we care about: id
13
12
  * @param {Object} host
14
13
  * @returns {Object} parsed host or null if host was undefined
15
14
  */
16
-
17
15
  HostUtils.parse = function (host) {
18
16
  if (host) {
19
17
  return {
20
18
  hostId: HostUtils.getId(host)
21
19
  };
22
20
  }
23
-
24
21
  return null;
25
22
  };
23
+
26
24
  /**
27
25
  * get the previous and current host values parsed, as well as the boolean updates
28
26
  * @param {Object} oldHost
@@ -30,8 +28,6 @@ HostUtils.parse = function (host) {
30
28
  * @returns {Object}
31
29
  * previous: {Object} old host, current: {Object} new host, updates: {isNewHost: {boolean}} boolean update values
32
30
  */
33
-
34
-
35
31
  HostUtils.getHosts = function (oldHost, newHost) {
36
32
  var previous = oldHost && HostUtils.parse(oldHost);
37
33
  var current = newHost && HostUtils.parse(newHost);
@@ -43,32 +39,28 @@ HostUtils.getHosts = function (oldHost, newHost) {
43
39
  }
44
40
  };
45
41
  };
42
+
46
43
  /**
47
44
  * determine by id if 2 hosts are different
48
45
  * @param {String} previousId
49
46
  * @param {String} currentId
50
47
  * @returns {Boolean}
51
48
  */
52
-
53
-
54
49
  HostUtils.isDifferentHosts = function (previousId, currentId) {
55
50
  return previousId !== currentId;
56
51
  };
52
+
57
53
  /**
58
54
  * Extract the id from the host object
59
55
  * @param {Object} host
60
56
  * @returns {String}
61
57
  */
62
-
63
-
64
58
  HostUtils.getId = function (host) {
65
59
  if (!host) {
66
60
  return null;
67
61
  }
68
-
69
62
  return host.id;
70
63
  };
71
-
72
64
  var _default = HostUtils;
73
65
  exports.default = _default;
74
66
  //# sourceMappingURL=hostUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["HostUtils","parse","host","hostId","getId","getHosts","oldHost","newHost","previous","current","updates","isNewHost","isDifferentHosts","previousId","currentId","id"],"sources":["hostUtils.js"],"sourcesContent":["const HostUtils = {};\n\n/**\n * parse the relevant host values that we care about: id\n * @param {Object} host\n * @returns {Object} parsed host or null if host was undefined\n */\nHostUtils.parse = (host) => {\n if (host) {\n return {\n hostId: HostUtils.getId(host)\n };\n }\n\n return null;\n};\n\n/**\n * get the previous and current host values parsed, as well as the boolean updates\n * @param {Object} oldHost\n * @param {Object} newHost\n * @returns {Object}\n * previous: {Object} old host, current: {Object} new host, updates: {isNewHost: {boolean}} boolean update values\n */\nHostUtils.getHosts = (oldHost, newHost) => {\n const previous = oldHost && HostUtils.parse(oldHost);\n const current = newHost && HostUtils.parse(newHost);\n\n return {\n previous,\n current,\n updates: {\n isNewHost: previous && current ? HostUtils.isDifferentHosts(previous.hostId, current.hostId) : true\n }\n };\n};\n\n/**\n * determine by id if 2 hosts are different\n * @param {String} previousId\n * @param {String} currentId\n * @returns {Boolean}\n */\nHostUtils.isDifferentHosts = (previousId, currentId) => previousId !== currentId;\n\n/**\n * Extract the id from the host object\n * @param {Object} host\n * @returns {String}\n */\nHostUtils.getId = (host) => {\n if (!host) {\n return null;\n }\n\n return host.id;\n};\n\nexport default HostUtils;\n"],"mappings":";;;;;;;;;AAAA,IAAMA,SAAS,GAAG,EAAlB;AAEA;AACA;AACA;AACA;AACA;;AACAA,SAAS,CAACC,KAAV,GAAkB,UAACC,IAAD,EAAU;EAC1B,IAAIA,IAAJ,EAAU;IACR,OAAO;MACLC,MAAM,EAAEH,SAAS,CAACI,KAAV,CAAgBF,IAAhB;IADH,CAAP;EAGD;;EAED,OAAO,IAAP;AACD,CARD;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACAF,SAAS,CAACK,QAAV,GAAqB,UAACC,OAAD,EAAUC,OAAV,EAAsB;EACzC,IAAMC,QAAQ,GAAGF,OAAO,IAAIN,SAAS,CAACC,KAAV,CAAgBK,OAAhB,CAA5B;EACA,IAAMG,OAAO,GAAGF,OAAO,IAAIP,SAAS,CAACC,KAAV,CAAgBM,OAAhB,CAA3B;EAEA,OAAO;IACLC,QAAQ,EAARA,QADK;IAELC,OAAO,EAAPA,OAFK;IAGLC,OAAO,EAAE;MACPC,SAAS,EAAEH,QAAQ,IAAIC,OAAZ,GAAsBT,SAAS,CAACY,gBAAV,CAA2BJ,QAAQ,CAACL,MAApC,EAA4CM,OAAO,CAACN,MAApD,CAAtB,GAAoF;IADxF;EAHJ,CAAP;AAOD,CAXD;AAaA;AACA;AACA;AACA;AACA;AACA;;;AACAH,SAAS,CAACY,gBAAV,GAA6B,UAACC,UAAD,EAAaC,SAAb;EAAA,OAA2BD,UAAU,KAAKC,SAA1C;AAAA,CAA7B;AAEA;AACA;AACA;AACA;AACA;;;AACAd,SAAS,CAACI,KAAV,GAAkB,UAACF,IAAD,EAAU;EAC1B,IAAI,CAACA,IAAL,EAAW;IACT,OAAO,IAAP;EACD;;EAED,OAAOA,IAAI,CAACa,EAAZ;AACD,CAND;;eAQef,S"}
1
+ {"version":3,"names":["HostUtils","parse","host","hostId","getId","getHosts","oldHost","newHost","previous","current","updates","isNewHost","isDifferentHosts","previousId","currentId","id"],"sources":["hostUtils.ts"],"sourcesContent":["const HostUtils: any = {};\n\n/**\n * parse the relevant host values that we care about: id\n * @param {Object} host\n * @returns {Object} parsed host or null if host was undefined\n */\nHostUtils.parse = (host: object) => {\n if (host) {\n return {\n hostId: HostUtils.getId(host),\n };\n }\n\n return null;\n};\n\n/**\n * get the previous and current host values parsed, as well as the boolean updates\n * @param {Object} oldHost\n * @param {Object} newHost\n * @returns {Object}\n * previous: {Object} old host, current: {Object} new host, updates: {isNewHost: {boolean}} boolean update values\n */\nHostUtils.getHosts = (oldHost: object, newHost: object) => {\n const previous = oldHost && HostUtils.parse(oldHost);\n const current = newHost && HostUtils.parse(newHost);\n\n return {\n previous,\n current,\n updates: {\n isNewHost:\n previous && current ? HostUtils.isDifferentHosts(previous.hostId, current.hostId) : true,\n },\n };\n};\n\n/**\n * determine by id if 2 hosts are different\n * @param {String} previousId\n * @param {String} currentId\n * @returns {Boolean}\n */\nHostUtils.isDifferentHosts = (previousId: string, currentId: string) => previousId !== currentId;\n\n/**\n * Extract the id from the host object\n * @param {Object} host\n * @returns {String}\n */\nHostUtils.getId = (host: any) => {\n if (!host) {\n return null;\n }\n\n return host.id;\n};\n\nexport default HostUtils;\n"],"mappings":";;;;;;;AAAA,IAAMA,SAAc,GAAG,CAAC,CAAC;;AAEzB;AACA;AACA;AACA;AACA;AACAA,SAAS,CAACC,KAAK,GAAG,UAACC,IAAY,EAAK;EAClC,IAAIA,IAAI,EAAE;IACR,OAAO;MACLC,MAAM,EAAEH,SAAS,CAACI,KAAK,CAACF,IAAI;IAC9B,CAAC;EACH;EAEA,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACAF,SAAS,CAACK,QAAQ,GAAG,UAACC,OAAe,EAAEC,OAAe,EAAK;EACzD,IAAMC,QAAQ,GAAGF,OAAO,IAAIN,SAAS,CAACC,KAAK,CAACK,OAAO,CAAC;EACpD,IAAMG,OAAO,GAAGF,OAAO,IAAIP,SAAS,CAACC,KAAK,CAACM,OAAO,CAAC;EAEnD,OAAO;IACLC,QAAQ,EAARA,QAAQ;IACRC,OAAO,EAAPA,OAAO;IACPC,OAAO,EAAE;MACPC,SAAS,EACPH,QAAQ,IAAIC,OAAO,GAAGT,SAAS,CAACY,gBAAgB,CAACJ,QAAQ,CAACL,MAAM,EAAEM,OAAO,CAACN,MAAM,CAAC,GAAG;IACxF;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACAH,SAAS,CAACY,gBAAgB,GAAG,UAACC,UAAkB,EAAEC,SAAiB;EAAA,OAAKD,UAAU,KAAKC,SAAS;AAAA;;AAEhG;AACA;AACA;AACA;AACA;AACAd,SAAS,CAACI,KAAK,GAAG,UAACF,IAAS,EAAK;EAC/B,IAAI,CAACA,IAAI,EAAE;IACT,OAAO,IAAI;EACb;EAEA,OAAOA,IAAI,CAACa,EAAE;AAChB,CAAC;AAAC,eAEaf,SAAS;AAAA"}