@webex/plugin-meetings 3.0.0-beta.14 → 3.0.0-beta.16

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 (311) hide show
  1. package/UPGRADING.md +9 -9
  2. package/browsers.js +19 -24
  3. package/dist/common/browser-detection.js +1 -20
  4. package/dist/common/browser-detection.js.map +1 -1
  5. package/dist/common/collection.js +5 -20
  6. package/dist/common/collection.js.map +1 -1
  7. package/dist/common/config.js +0 -7
  8. package/dist/common/config.js.map +1 -1
  9. package/dist/common/errors/captcha-error.js +5 -26
  10. package/dist/common/errors/captcha-error.js.map +1 -1
  11. package/dist/common/errors/intent-to-join.js +5 -26
  12. package/dist/common/errors/intent-to-join.js.map +1 -1
  13. package/dist/common/errors/join-meeting.js +6 -27
  14. package/dist/common/errors/join-meeting.js.map +1 -1
  15. package/dist/common/errors/media.js +5 -26
  16. package/dist/common/errors/media.js.map +1 -1
  17. package/dist/common/errors/parameter.js +5 -33
  18. package/dist/common/errors/parameter.js.map +1 -1
  19. package/dist/common/errors/password-error.js +5 -26
  20. package/dist/common/errors/password-error.js.map +1 -1
  21. package/dist/common/errors/permission.js +4 -25
  22. package/dist/common/errors/permission.js.map +1 -1
  23. package/dist/common/errors/reconnection-in-progress.js +0 -17
  24. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  25. package/dist/common/errors/reconnection.js +5 -26
  26. package/dist/common/errors/reconnection.js.map +1 -1
  27. package/dist/common/errors/stats.js +5 -26
  28. package/dist/common/errors/stats.js.map +1 -1
  29. package/dist/common/errors/webex-errors.js +6 -41
  30. package/dist/common/errors/webex-errors.js.map +1 -1
  31. package/dist/common/errors/webex-meetings-error.js +1 -24
  32. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  33. package/dist/common/events/events-scope.js +0 -22
  34. package/dist/common/events/events-scope.js.map +1 -1
  35. package/dist/common/events/events.js +0 -23
  36. package/dist/common/events/events.js.map +1 -1
  37. package/dist/common/events/trigger-proxy.js +0 -12
  38. package/dist/common/events/trigger-proxy.js.map +1 -1
  39. package/dist/common/events/util.js +0 -15
  40. package/dist/common/events/util.js.map +1 -1
  41. package/dist/common/logs/logger-config.js +0 -4
  42. package/dist/common/logs/logger-config.js.map +1 -1
  43. package/dist/common/logs/logger-proxy.js +1 -8
  44. package/dist/common/logs/logger-proxy.js.map +1 -1
  45. package/dist/common/logs/request.js +35 -61
  46. package/dist/common/logs/request.js.map +1 -1
  47. package/dist/common/queue.js +4 -14
  48. package/dist/common/queue.js.map +1 -1
  49. package/dist/config.js +1 -5
  50. package/dist/config.js.map +1 -1
  51. package/dist/constants.js +45 -40
  52. package/dist/constants.js.map +1 -1
  53. package/dist/index.js +1 -17
  54. package/dist/index.js.map +1 -1
  55. package/dist/locus-info/controlsUtils.js +10 -28
  56. package/dist/locus-info/controlsUtils.js.map +1 -1
  57. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  58. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  59. package/dist/locus-info/fullState.js +0 -15
  60. package/dist/locus-info/fullState.js.map +1 -1
  61. package/dist/locus-info/hostUtils.js +4 -12
  62. package/dist/locus-info/hostUtils.js.map +1 -1
  63. package/dist/locus-info/index.js +101 -193
  64. package/dist/locus-info/index.js.map +1 -1
  65. package/dist/locus-info/infoUtils.js +0 -38
  66. package/dist/locus-info/infoUtils.js.map +1 -1
  67. package/dist/locus-info/mediaSharesUtils.js +12 -38
  68. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  69. package/dist/locus-info/parser.js +87 -123
  70. package/dist/locus-info/parser.js.map +1 -1
  71. package/dist/locus-info/selfUtils.js +16 -81
  72. package/dist/locus-info/selfUtils.js.map +1 -1
  73. package/dist/media/index.js +43 -97
  74. package/dist/media/index.js.map +1 -1
  75. package/dist/media/internal-media-core-wrapper.js +0 -4
  76. package/dist/media/internal-media-core-wrapper.js.map +1 -1
  77. package/dist/media/properties.js +64 -110
  78. package/dist/media/properties.js.map +1 -1
  79. package/dist/media/util.js +2 -9
  80. package/dist/media/util.js.map +1 -1
  81. package/dist/mediaQualityMetrics/config.js +10 -12
  82. package/dist/mediaQualityMetrics/config.js.map +1 -1
  83. package/dist/meeting/effectsState.js +120 -192
  84. package/dist/meeting/effectsState.js.map +1 -1
  85. package/dist/meeting/in-meeting-actions.js +0 -13
  86. package/dist/meeting/in-meeting-actions.js.map +1 -1
  87. package/dist/meeting/index.js +819 -1591
  88. package/dist/meeting/index.js.map +1 -1
  89. package/dist/meeting/muteState.js +31 -78
  90. package/dist/meeting/muteState.js.map +1 -1
  91. package/dist/meeting/request.js +160 -230
  92. package/dist/meeting/request.js.map +1 -1
  93. package/dist/meeting/request.type.js +0 -1
  94. package/dist/meeting/request.type.js.map +1 -1
  95. package/dist/meeting/state.js +21 -31
  96. package/dist/meeting/state.js.map +1 -1
  97. package/dist/meeting/util.js +19 -158
  98. package/dist/meeting/util.js.map +1 -1
  99. package/dist/meeting-info/collection.js +3 -25
  100. package/dist/meeting-info/collection.js.map +1 -1
  101. package/dist/meeting-info/index.js +10 -33
  102. package/dist/meeting-info/index.js.map +1 -1
  103. package/dist/meeting-info/meeting-info-v2.js +179 -268
  104. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  105. package/dist/meeting-info/request.js +1 -16
  106. package/dist/meeting-info/request.js.map +1 -1
  107. package/dist/meeting-info/util.js +98 -183
  108. package/dist/meeting-info/util.js.map +1 -1
  109. package/dist/meeting-info/utilv2.js +137 -228
  110. package/dist/meeting-info/utilv2.js.map +1 -1
  111. package/dist/meetings/collection.js +3 -21
  112. package/dist/meetings/collection.js.map +1 -1
  113. package/dist/meetings/index.js +450 -582
  114. package/dist/meetings/index.js.map +1 -1
  115. package/dist/meetings/request.js +7 -30
  116. package/dist/meetings/request.js.map +1 -1
  117. package/dist/meetings/util.js +99 -155
  118. package/dist/meetings/util.js.map +1 -1
  119. package/dist/member/index.js +49 -89
  120. package/dist/member/index.js.map +1 -1
  121. package/dist/member/util.js +17 -68
  122. package/dist/member/util.js.map +1 -1
  123. package/dist/members/collection.js +2 -12
  124. package/dist/members/collection.js.map +1 -1
  125. package/dist/members/index.js +72 -194
  126. package/dist/members/index.js.map +1 -1
  127. package/dist/members/request.js +21 -56
  128. package/dist/members/request.js.map +1 -1
  129. package/dist/members/util.js +9 -38
  130. package/dist/members/util.js.map +1 -1
  131. package/dist/metrics/config.js +0 -2
  132. package/dist/metrics/config.js.map +1 -1
  133. package/dist/metrics/constants.js +1 -2
  134. package/dist/metrics/constants.js.map +1 -1
  135. package/dist/metrics/index.js +48 -136
  136. package/dist/metrics/index.js.map +1 -1
  137. package/dist/multistream/mediaRequestManager.js +12 -28
  138. package/dist/multistream/mediaRequestManager.js.map +1 -1
  139. package/dist/multistream/multistreamMedia.js +11 -21
  140. package/dist/multistream/multistreamMedia.js.map +1 -1
  141. package/dist/multistream/receiveSlot.js +7 -47
  142. package/dist/multistream/receiveSlot.js.map +1 -1
  143. package/dist/multistream/receiveSlotManager.js +38 -77
  144. package/dist/multistream/receiveSlotManager.js.map +1 -1
  145. package/dist/multistream/remoteMedia.js +11 -56
  146. package/dist/multistream/remoteMedia.js.map +1 -1
  147. package/dist/multistream/remoteMediaGroup.js +6 -40
  148. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  149. package/dist/multistream/remoteMediaManager.js +221 -380
  150. package/dist/multistream/remoteMediaManager.js.map +1 -1
  151. package/dist/networkQualityMonitor/index.js +28 -57
  152. package/dist/networkQualityMonitor/index.js.map +1 -1
  153. package/dist/personal-meeting-room/index.js +10 -45
  154. package/dist/personal-meeting-room/index.js.map +1 -1
  155. package/dist/personal-meeting-room/request.js +2 -33
  156. package/dist/personal-meeting-room/request.js.map +1 -1
  157. package/dist/personal-meeting-room/util.js +0 -13
  158. package/dist/personal-meeting-room/util.js.map +1 -1
  159. package/dist/reachability/index.js +100 -166
  160. package/dist/reachability/index.js.map +1 -1
  161. package/dist/reachability/request.js +2 -18
  162. package/dist/reachability/request.js.map +1 -1
  163. package/dist/reactions/reactions.js +0 -2
  164. package/dist/reactions/reactions.js.map +1 -1
  165. package/dist/reactions/reactions.type.js +2 -6
  166. package/dist/reactions/reactions.type.js.map +1 -1
  167. package/dist/reconnection-manager/index.js +294 -459
  168. package/dist/reconnection-manager/index.js.map +1 -1
  169. package/dist/roap/index.js +18 -53
  170. package/dist/roap/index.js.map +1 -1
  171. package/dist/roap/request.js +13 -55
  172. package/dist/roap/request.js.map +1 -1
  173. package/dist/roap/turnDiscovery.js +10 -52
  174. package/dist/roap/turnDiscovery.js.map +1 -1
  175. package/dist/statsAnalyzer/global.js +0 -2
  176. package/dist/statsAnalyzer/global.js.map +1 -1
  177. package/dist/statsAnalyzer/index.js +66 -174
  178. package/dist/statsAnalyzer/index.js.map +1 -1
  179. package/dist/statsAnalyzer/mqaUtil.js +54 -53
  180. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  181. package/dist/transcription/index.js +13 -45
  182. package/dist/transcription/index.js.map +1 -1
  183. package/internal-README.md +7 -6
  184. package/package.json +18 -18
  185. package/src/common/browser-detection.ts +9 -6
  186. package/src/common/collection.ts +3 -1
  187. package/src/common/errors/captcha-error.ts +6 -6
  188. package/src/common/errors/intent-to-join.ts +6 -6
  189. package/src/common/errors/join-meeting.ts +12 -8
  190. package/src/common/errors/media.ts +6 -6
  191. package/src/common/errors/parameter.ts +9 -6
  192. package/src/common/errors/password-error.ts +6 -6
  193. package/src/common/errors/permission.ts +5 -5
  194. package/src/common/errors/reconnection.ts +6 -6
  195. package/src/common/errors/stats.ts +6 -6
  196. package/src/common/errors/webex-errors.ts +7 -5
  197. package/src/common/errors/webex-meetings-error.ts +1 -1
  198. package/src/common/events/events-scope.ts +5 -1
  199. package/src/common/events/events.ts +5 -1
  200. package/src/common/events/trigger-proxy.ts +8 -3
  201. package/src/common/events/util.ts +1 -2
  202. package/src/common/logs/logger-proxy.ts +21 -10
  203. package/src/common/logs/request.ts +11 -8
  204. package/src/config.ts +11 -11
  205. package/src/constants.ts +1 -1
  206. package/src/index.js +1 -1
  207. package/src/locus-info/controlsUtils.ts +34 -24
  208. package/src/locus-info/fullState.ts +15 -11
  209. package/src/locus-info/hostUtils.ts +4 -3
  210. package/src/locus-info/index.ts +25 -34
  211. package/src/locus-info/infoUtils.ts +12 -4
  212. package/src/locus-info/mediaSharesUtils.ts +4 -4
  213. package/src/locus-info/parser.ts +45 -68
  214. package/src/locus-info/selfUtils.ts +106 -57
  215. package/src/media/index.ts +123 -135
  216. package/src/media/internal-media-core-wrapper.ts +2 -2
  217. package/src/media/properties.ts +30 -20
  218. package/src/media/util.ts +1 -1
  219. package/src/mediaQualityMetrics/config.ts +46 -46
  220. package/src/meeting/effectsState.ts +35 -35
  221. package/src/meeting/in-meeting-actions.ts +7 -3
  222. package/src/meeting/index.ts +1559 -1292
  223. package/src/meeting/muteState.ts +62 -31
  224. package/src/meeting/request.ts +155 -116
  225. package/src/meeting/request.type.ts +8 -8
  226. package/src/meeting/state.ts +45 -30
  227. package/src/meeting/util.ts +101 -70
  228. package/src/meeting-info/collection.ts +2 -1
  229. package/src/meeting-info/index.ts +32 -30
  230. package/src/meeting-info/meeting-info-v2.ts +106 -108
  231. package/src/meeting-info/request.ts +9 -3
  232. package/src/meeting-info/util.ts +54 -46
  233. package/src/meeting-info/utilv2.ts +59 -53
  234. package/src/meetings/collection.ts +1 -1
  235. package/src/meetings/index.ts +512 -440
  236. package/src/meetings/request.ts +26 -24
  237. package/src/meetings/util.ts +29 -29
  238. package/src/member/index.ts +55 -49
  239. package/src/member/util.ts +26 -13
  240. package/src/members/collection.ts +0 -1
  241. package/src/members/index.ts +182 -126
  242. package/src/members/request.ts +46 -14
  243. package/src/members/util.ts +44 -42
  244. package/src/metrics/config.ts +254 -81
  245. package/src/metrics/constants.ts +0 -2
  246. package/src/metrics/index.ts +84 -71
  247. package/src/multistream/multistreamMedia.ts +1 -0
  248. package/src/multistream/receiveSlot.ts +1 -0
  249. package/src/multistream/receiveSlotManager.ts +1 -0
  250. package/src/multistream/remoteMedia.ts +1 -1
  251. package/src/multistream/remoteMediaGroup.ts +2 -1
  252. package/src/multistream/remoteMediaManager.ts +3 -0
  253. package/src/networkQualityMonitor/index.ts +20 -23
  254. package/src/personal-meeting-room/index.ts +12 -16
  255. package/src/personal-meeting-room/request.ts +10 -3
  256. package/src/personal-meeting-room/util.ts +3 -3
  257. package/src/reachability/index.ts +61 -59
  258. package/src/reachability/request.ts +36 -32
  259. package/src/reactions/reactions.ts +4 -4
  260. package/src/reactions/reactions.type.ts +4 -3
  261. package/src/reconnection-manager/index.ts +139 -84
  262. package/src/roap/index.ts +46 -38
  263. package/src/roap/request.ts +44 -31
  264. package/src/roap/turnDiscovery.ts +59 -30
  265. package/src/statsAnalyzer/global.ts +30 -33
  266. package/src/statsAnalyzer/index.ts +432 -175
  267. package/src/statsAnalyzer/mqaUtil.ts +178 -72
  268. package/src/transcription/index.ts +34 -32
  269. package/test/integration/spec/journey.js +664 -463
  270. package/test/integration/spec/space-meeting.js +319 -204
  271. package/test/integration/spec/transcription.js +7 -8
  272. package/test/unit/spec/common/browser-detection.js +9 -28
  273. package/test/unit/spec/fixture/locus.js +92 -90
  274. package/test/unit/spec/locus-info/controlsUtils.js +5 -5
  275. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  276. package/test/unit/spec/locus-info/index.js +1 -2
  277. package/test/unit/spec/locus-info/infoUtils.js +26 -33
  278. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  279. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  280. package/test/unit/spec/locus-info/parser.js +3 -9
  281. package/test/unit/spec/locus-info/selfConstant.js +72 -103
  282. package/test/unit/spec/locus-info/selfUtils.js +21 -12
  283. package/test/unit/spec/meeting/effectsState.js +36 -46
  284. package/test/unit/spec/meeting/in-meeting-actions.ts +2 -3
  285. package/test/unit/spec/meeting/index.js +1279 -685
  286. package/test/unit/spec/meeting/muteState.js +42 -33
  287. package/test/unit/spec/meeting/request.js +57 -46
  288. package/test/unit/spec/meeting/utils.js +78 -53
  289. package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
  290. package/test/unit/spec/meeting-info/request.js +7 -9
  291. package/test/unit/spec/meeting-info/util.js +11 -12
  292. package/test/unit/spec/meeting-info/utilv2.js +110 -74
  293. package/test/unit/spec/meetings/collection.js +1 -1
  294. package/test/unit/spec/meetings/index.js +438 -257
  295. package/test/unit/spec/meetings/utils.js +14 -12
  296. package/test/unit/spec/member/index.js +0 -1
  297. package/test/unit/spec/member/util.js +5 -6
  298. package/test/unit/spec/members/index.js +104 -54
  299. package/test/unit/spec/members/request.js +29 -20
  300. package/test/unit/spec/members/utils.js +8 -5
  301. package/test/unit/spec/metrics/index.js +16 -21
  302. package/test/unit/spec/networkQualityMonitor/index.js +21 -15
  303. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  304. package/test/unit/spec/reachability/index.ts +9 -11
  305. package/test/unit/spec/reconnection-manager/index.js +16 -18
  306. package/test/unit/spec/roap/turnDiscovery.ts +22 -19
  307. package/test/unit/spec/stats-analyzer/index.js +25 -20
  308. package/test/utils/cmr.js +44 -42
  309. package/test/utils/testUtils.js +83 -74
  310. package/test/utils/webex-config.js +18 -18
  311. package/test/utils/webex-test-users.js +53 -50
@@ -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.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 ? 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: 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: 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: 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
+ {"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.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 };\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.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;;;;;;AAEA,IAAMA,iBAAsB,GAAG,EAA/B;AACA,IAAMC,WAAW,GAAG,WAApB;AAEA;AACA;AACA;AACA;AACA;;AACAD,iBAAiB,CAACE,QAAlB,GAA6B,UAACC,WAAD,EAAyB;EAAA;;EACpD,IAAMC,SAAc,qBAAOD,WAAP,CAApB;;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,EAAeC,KAAf,EAAgC;EAC7D,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.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\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,SAAc,GAAG,EAAvB;;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.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: 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,EAAvB;AAEA;AACA;AACA;AACA;AACA;;AACAA,SAAS,CAACC,KAAV,GAAkB,UAACC,IAAD,EAAkB;EAClC,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,EAAkBC,OAAlB,EAAsC;EACzD,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,EAAqBC,SAArB;EAAA,OAA2CD,UAAU,KAAKC,SAA1D;AAAA,CAA7B;AAEA;AACA;AACA;AACA;AACA;;;AACAd,SAAS,CAACI,KAAV,GAAkB,UAACF,IAAD,EAAe;EAC/B,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"}