@webex/plugin-meetings 3.0.0-beta.13 → 3.0.0-beta.131

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 (519) hide show
  1. package/README.md +45 -1
  2. package/UPGRADING.md +9 -9
  3. package/browsers.js +19 -24
  4. package/dist/annotation/annotation.types.js +7 -0
  5. package/dist/annotation/annotation.types.js.map +1 -0
  6. package/dist/annotation/constants.js +48 -0
  7. package/dist/annotation/constants.js.map +1 -0
  8. package/dist/annotation/index.js +355 -0
  9. package/dist/annotation/index.js.map +1 -0
  10. package/dist/breakouts/breakout.js +193 -0
  11. package/dist/breakouts/breakout.js.map +1 -0
  12. package/dist/breakouts/collection.js +23 -0
  13. package/dist/breakouts/collection.js.map +1 -0
  14. package/dist/breakouts/edit-lock-error.js +52 -0
  15. package/dist/breakouts/edit-lock-error.js.map +1 -0
  16. package/dist/breakouts/events.js +43 -0
  17. package/dist/breakouts/events.js.map +1 -0
  18. package/dist/breakouts/index.js +994 -0
  19. package/dist/breakouts/index.js.map +1 -0
  20. package/dist/breakouts/request.js +78 -0
  21. package/dist/breakouts/request.js.map +1 -0
  22. package/dist/breakouts/utils.js +67 -0
  23. package/dist/breakouts/utils.js.map +1 -0
  24. package/dist/common/browser-detection.js +1 -20
  25. package/dist/common/browser-detection.js.map +1 -1
  26. package/dist/common/collection.js +5 -20
  27. package/dist/common/collection.js.map +1 -1
  28. package/dist/common/config.js +0 -7
  29. package/dist/common/config.js.map +1 -1
  30. package/dist/common/errors/captcha-error.js +5 -26
  31. package/dist/common/errors/captcha-error.js.map +1 -1
  32. package/dist/common/errors/intent-to-join.js +5 -26
  33. package/dist/common/errors/intent-to-join.js.map +1 -1
  34. package/dist/common/errors/join-meeting.js +6 -27
  35. package/dist/common/errors/join-meeting.js.map +1 -1
  36. package/dist/common/errors/media.js +5 -26
  37. package/dist/common/errors/media.js.map +1 -1
  38. package/dist/common/errors/parameter.js +5 -33
  39. package/dist/common/errors/parameter.js.map +1 -1
  40. package/dist/common/errors/password-error.js +5 -26
  41. package/dist/common/errors/password-error.js.map +1 -1
  42. package/dist/common/errors/permission.js +4 -25
  43. package/dist/common/errors/permission.js.map +1 -1
  44. package/dist/common/errors/reconnection-in-progress.js +0 -17
  45. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  46. package/dist/common/errors/reconnection.js +5 -26
  47. package/dist/common/errors/reconnection.js.map +1 -1
  48. package/dist/common/errors/stats.js +5 -26
  49. package/dist/common/errors/stats.js.map +1 -1
  50. package/dist/common/errors/webex-errors.js +6 -41
  51. package/dist/common/errors/webex-errors.js.map +1 -1
  52. package/dist/common/errors/webex-meetings-error.js +1 -24
  53. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  54. package/dist/common/events/events-scope.js +0 -22
  55. package/dist/common/events/events-scope.js.map +1 -1
  56. package/dist/common/events/events.js +0 -23
  57. package/dist/common/events/events.js.map +1 -1
  58. package/dist/common/events/trigger-proxy.js +0 -12
  59. package/dist/common/events/trigger-proxy.js.map +1 -1
  60. package/dist/common/events/util.js +0 -15
  61. package/dist/common/events/util.js.map +1 -1
  62. package/dist/common/logs/logger-config.js +0 -4
  63. package/dist/common/logs/logger-config.js.map +1 -1
  64. package/dist/common/logs/logger-proxy.js +1 -8
  65. package/dist/common/logs/logger-proxy.js.map +1 -1
  66. package/dist/common/logs/request.js +35 -61
  67. package/dist/common/logs/request.js.map +1 -1
  68. package/dist/common/queue.js +4 -14
  69. package/dist/common/queue.js.map +1 -1
  70. package/dist/config.js +6 -6
  71. package/dist/config.js.map +1 -1
  72. package/dist/constants.js +203 -53
  73. package/dist/constants.js.map +1 -1
  74. package/dist/controls-options-manager/constants.js +14 -0
  75. package/dist/controls-options-manager/constants.js.map +1 -0
  76. package/dist/controls-options-manager/enums.js +27 -0
  77. package/dist/controls-options-manager/enums.js.map +1 -0
  78. package/dist/controls-options-manager/index.js +297 -0
  79. package/dist/controls-options-manager/index.js.map +1 -0
  80. package/dist/controls-options-manager/types.js +7 -0
  81. package/dist/controls-options-manager/types.js.map +1 -0
  82. package/dist/controls-options-manager/util.js +294 -0
  83. package/dist/controls-options-manager/util.js.map +1 -0
  84. package/dist/index.js +72 -17
  85. package/dist/index.js.map +1 -1
  86. package/dist/locus-info/controlsUtils.js +100 -29
  87. package/dist/locus-info/controlsUtils.js.map +1 -1
  88. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  89. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  90. package/dist/locus-info/fullState.js +0 -15
  91. package/dist/locus-info/fullState.js.map +1 -1
  92. package/dist/locus-info/hostUtils.js +4 -12
  93. package/dist/locus-info/hostUtils.js.map +1 -1
  94. package/dist/locus-info/index.js +406 -216
  95. package/dist/locus-info/index.js.map +1 -1
  96. package/dist/locus-info/infoUtils.js +0 -38
  97. package/dist/locus-info/infoUtils.js.map +1 -1
  98. package/dist/locus-info/mediaSharesUtils.js +54 -38
  99. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  100. package/dist/locus-info/parser.js +88 -123
  101. package/dist/locus-info/parser.js.map +1 -1
  102. package/dist/locus-info/selfUtils.js +105 -91
  103. package/dist/locus-info/selfUtils.js.map +1 -1
  104. package/dist/media/index.js +55 -165
  105. package/dist/media/index.js.map +1 -1
  106. package/dist/media/properties.js +71 -117
  107. package/dist/media/properties.js.map +1 -1
  108. package/dist/media/util.js +2 -9
  109. package/dist/media/util.js.map +1 -1
  110. package/dist/mediaQualityMetrics/config.js +505 -495
  111. package/dist/mediaQualityMetrics/config.js.map +1 -1
  112. package/dist/meeting/in-meeting-actions.js +77 -14
  113. package/dist/meeting/in-meeting-actions.js.map +1 -1
  114. package/dist/meeting/index.js +2603 -2462
  115. package/dist/meeting/index.js.map +1 -1
  116. package/dist/meeting/locusMediaRequest.js +291 -0
  117. package/dist/meeting/locusMediaRequest.js.map +1 -0
  118. package/dist/meeting/muteState.js +292 -138
  119. package/dist/meeting/muteState.js.map +1 -1
  120. package/dist/meeting/request.js +315 -336
  121. package/dist/meeting/request.js.map +1 -1
  122. package/dist/meeting/request.type.js +7 -0
  123. package/dist/meeting/request.type.js.map +1 -0
  124. package/dist/meeting/state.js +21 -31
  125. package/dist/meeting/state.js.map +1 -1
  126. package/dist/meeting/util.js +463 -583
  127. package/dist/meeting/util.js.map +1 -1
  128. package/dist/meeting-info/collection.js +3 -25
  129. package/dist/meeting-info/collection.js.map +1 -1
  130. package/dist/meeting-info/index.js +10 -33
  131. package/dist/meeting-info/index.js.map +1 -1
  132. package/dist/meeting-info/meeting-info-v2.js +305 -286
  133. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  134. package/dist/meeting-info/request.js +1 -16
  135. package/dist/meeting-info/request.js.map +1 -1
  136. package/dist/meeting-info/util.js +98 -183
  137. package/dist/meeting-info/util.js.map +1 -1
  138. package/dist/meeting-info/utilv2.js +156 -232
  139. package/dist/meeting-info/utilv2.js.map +1 -1
  140. package/dist/meetings/collection.js +24 -20
  141. package/dist/meetings/collection.js.map +1 -1
  142. package/dist/meetings/index.js +692 -593
  143. package/dist/meetings/index.js.map +1 -1
  144. package/dist/meetings/request.js +23 -42
  145. package/dist/meetings/request.js.map +1 -1
  146. package/dist/meetings/util.js +186 -155
  147. package/dist/meetings/util.js.map +1 -1
  148. package/dist/member/index.js +89 -88
  149. package/dist/member/index.js.map +1 -1
  150. package/dist/member/types.js +15 -0
  151. package/dist/member/types.js.map +1 -0
  152. package/dist/member/util.js +101 -69
  153. package/dist/member/util.js.map +1 -1
  154. package/dist/members/collection.js +12 -12
  155. package/dist/members/collection.js.map +1 -1
  156. package/dist/members/index.js +166 -205
  157. package/dist/members/index.js.map +1 -1
  158. package/dist/members/request.js +120 -85
  159. package/dist/members/request.js.map +1 -1
  160. package/dist/members/types.js +15 -0
  161. package/dist/members/types.js.map +1 -0
  162. package/dist/members/util.js +314 -260
  163. package/dist/members/util.js.map +1 -1
  164. package/dist/metrics/config.js +50 -16
  165. package/dist/metrics/config.js.map +1 -1
  166. package/dist/metrics/constants.js +4 -7
  167. package/dist/metrics/constants.js.map +1 -1
  168. package/dist/metrics/index.js +93 -162
  169. package/dist/metrics/index.js.map +1 -1
  170. package/dist/multistream/mediaRequestManager.js +167 -50
  171. package/dist/multistream/mediaRequestManager.js.map +1 -1
  172. package/dist/multistream/receiveSlot.js +58 -65
  173. package/dist/multistream/receiveSlot.js.map +1 -1
  174. package/dist/multistream/receiveSlotManager.js +74 -93
  175. package/dist/multistream/receiveSlotManager.js.map +1 -1
  176. package/dist/multistream/remoteMedia.js +55 -74
  177. package/dist/multistream/remoteMedia.js.map +1 -1
  178. package/dist/multistream/remoteMediaGroup.js +6 -40
  179. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  180. package/dist/multistream/remoteMediaManager.js +466 -442
  181. package/dist/multistream/remoteMediaManager.js.map +1 -1
  182. package/dist/networkQualityMonitor/index.js +32 -59
  183. package/dist/networkQualityMonitor/index.js.map +1 -1
  184. package/dist/personal-meeting-room/index.js +10 -45
  185. package/dist/personal-meeting-room/index.js.map +1 -1
  186. package/dist/personal-meeting-room/request.js +2 -33
  187. package/dist/personal-meeting-room/request.js.map +1 -1
  188. package/dist/personal-meeting-room/util.js +0 -13
  189. package/dist/personal-meeting-room/util.js.map +1 -1
  190. package/dist/reachability/index.js +190 -199
  191. package/dist/reachability/index.js.map +1 -1
  192. package/dist/reachability/request.js +14 -23
  193. package/dist/reachability/request.js.map +1 -1
  194. package/dist/reactions/constants.js +13 -0
  195. package/dist/reactions/constants.js.map +1 -0
  196. package/dist/reactions/reactions.js +2 -4
  197. package/dist/reactions/reactions.js.map +1 -1
  198. package/dist/reactions/reactions.type.js +19 -23
  199. package/dist/reactions/reactions.type.js.map +1 -1
  200. package/dist/reconnection-manager/index.js +326 -465
  201. package/dist/reconnection-manager/index.js.map +1 -1
  202. package/dist/recording-controller/enums.js +17 -0
  203. package/dist/recording-controller/enums.js.map +1 -0
  204. package/dist/recording-controller/index.js +343 -0
  205. package/dist/recording-controller/index.js.map +1 -0
  206. package/dist/recording-controller/util.js +63 -0
  207. package/dist/recording-controller/util.js.map +1 -0
  208. package/dist/roap/index.js +31 -75
  209. package/dist/roap/index.js.map +1 -1
  210. package/dist/roap/request.js +129 -136
  211. package/dist/roap/request.js.map +1 -1
  212. package/dist/roap/turnDiscovery.js +143 -103
  213. package/dist/roap/turnDiscovery.js.map +1 -1
  214. package/dist/statsAnalyzer/global.js +1 -95
  215. package/dist/statsAnalyzer/global.js.map +1 -1
  216. package/dist/statsAnalyzer/index.js +369 -461
  217. package/dist/statsAnalyzer/index.js.map +1 -1
  218. package/dist/statsAnalyzer/mqaUtil.js +144 -94
  219. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  220. package/dist/transcription/index.js +13 -45
  221. package/dist/transcription/index.js.map +1 -1
  222. package/dist/types/annotation/annotation.types.d.ts +35 -0
  223. package/dist/types/annotation/constants.d.ts +31 -0
  224. package/dist/types/annotation/index.d.ts +124 -0
  225. package/dist/types/breakouts/breakout.d.ts +8 -0
  226. package/dist/types/breakouts/collection.d.ts +5 -0
  227. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  228. package/dist/types/breakouts/events.d.ts +2 -0
  229. package/dist/types/breakouts/index.d.ts +5 -0
  230. package/dist/types/breakouts/request.d.ts +22 -0
  231. package/dist/types/breakouts/utils.d.ts +15 -0
  232. package/dist/types/common/browser-detection.d.ts +9 -0
  233. package/dist/types/common/collection.d.ts +48 -0
  234. package/dist/types/common/config.d.ts +2 -0
  235. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  236. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  237. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  238. package/dist/types/common/errors/media.d.ts +15 -0
  239. package/dist/types/common/errors/parameter.d.ts +15 -0
  240. package/dist/types/common/errors/password-error.d.ts +15 -0
  241. package/dist/types/common/errors/permission.d.ts +14 -0
  242. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  243. package/dist/types/common/errors/reconnection.d.ts +15 -0
  244. package/dist/types/common/errors/stats.d.ts +15 -0
  245. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  246. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  247. package/dist/types/common/events/events-scope.d.ts +17 -0
  248. package/dist/types/common/events/events.d.ts +12 -0
  249. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  250. package/dist/types/common/events/util.d.ts +2 -0
  251. package/dist/types/common/logs/logger-config.d.ts +2 -0
  252. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  253. package/dist/types/common/logs/request.d.ts +34 -0
  254. package/dist/types/common/queue.d.ts +32 -0
  255. package/dist/types/config.d.ts +78 -0
  256. package/dist/types/constants.d.ts +993 -0
  257. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  258. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  259. package/dist/types/controls-options-manager/index.d.ts +136 -0
  260. package/dist/types/controls-options-manager/types.d.ts +43 -0
  261. package/dist/types/controls-options-manager/util.d.ts +1 -0
  262. package/dist/types/index.d.ts +7 -0
  263. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  264. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  265. package/dist/types/locus-info/fullState.d.ts +2 -0
  266. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  267. package/dist/types/locus-info/index.d.ts +315 -0
  268. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  269. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  270. package/dist/types/locus-info/parser.d.ts +212 -0
  271. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  272. package/dist/types/media/index.d.ts +34 -0
  273. package/dist/types/media/properties.d.ts +108 -0
  274. package/dist/types/media/util.d.ts +2 -0
  275. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  276. package/dist/types/meeting/in-meeting-actions.d.ts +147 -0
  277. package/dist/types/meeting/index.d.ts +1762 -0
  278. package/dist/types/meeting/locusMediaRequest.d.ts +70 -0
  279. package/dist/types/meeting/muteState.d.ts +186 -0
  280. package/dist/types/meeting/request.d.ts +269 -0
  281. package/dist/types/meeting/request.type.d.ts +11 -0
  282. package/dist/types/meeting/state.d.ts +9 -0
  283. package/dist/types/meeting/util.d.ts +76 -0
  284. package/dist/types/meeting-info/collection.d.ts +20 -0
  285. package/dist/types/meeting-info/index.d.ts +57 -0
  286. package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
  287. package/dist/types/meeting-info/request.d.ts +22 -0
  288. package/dist/types/meeting-info/util.d.ts +2 -0
  289. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  290. package/dist/types/meetings/collection.d.ts +31 -0
  291. package/dist/types/meetings/index.d.ts +345 -0
  292. package/dist/types/meetings/request.d.ts +27 -0
  293. package/dist/types/meetings/util.d.ts +18 -0
  294. package/dist/types/member/index.d.ts +157 -0
  295. package/dist/types/member/types.d.ts +21 -0
  296. package/dist/types/member/util.d.ts +2 -0
  297. package/dist/types/members/collection.d.ts +29 -0
  298. package/dist/types/members/index.d.ts +353 -0
  299. package/dist/types/members/request.d.ts +114 -0
  300. package/dist/types/members/types.d.ts +24 -0
  301. package/dist/types/members/util.d.ts +210 -0
  302. package/dist/types/metrics/config.d.ts +195 -0
  303. package/dist/types/metrics/constants.d.ts +55 -0
  304. package/dist/types/metrics/index.d.ts +169 -0
  305. package/dist/types/multistream/mediaRequestManager.d.ts +101 -0
  306. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  307. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  308. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  309. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  310. package/dist/types/multistream/remoteMediaManager.d.ts +263 -0
  311. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  312. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  313. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  314. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  315. package/dist/types/reachability/index.d.ts +152 -0
  316. package/dist/types/reachability/request.d.ts +37 -0
  317. package/dist/types/reactions/constants.d.ts +3 -0
  318. package/dist/types/reactions/reactions.d.ts +4 -0
  319. package/dist/types/reactions/reactions.type.d.ts +52 -0
  320. package/dist/types/reconnection-manager/index.d.ts +126 -0
  321. package/dist/types/recording-controller/enums.d.ts +7 -0
  322. package/dist/types/recording-controller/index.d.ts +193 -0
  323. package/dist/types/recording-controller/util.d.ts +13 -0
  324. package/dist/types/roap/index.d.ts +77 -0
  325. package/dist/types/roap/request.d.ts +36 -0
  326. package/dist/types/roap/turnDiscovery.d.ts +91 -0
  327. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  328. package/dist/types/statsAnalyzer/index.d.ts +200 -0
  329. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  330. package/dist/types/transcription/index.d.ts +64 -0
  331. package/internal-README.md +7 -6
  332. package/package.json +28 -21
  333. package/src/annotation/annotation.types.ts +42 -0
  334. package/src/annotation/constants.ts +36 -0
  335. package/src/annotation/index.ts +339 -0
  336. package/src/breakouts/README.md +220 -0
  337. package/src/breakouts/breakout.ts +163 -0
  338. package/src/breakouts/collection.ts +19 -0
  339. package/src/breakouts/edit-lock-error.ts +25 -0
  340. package/src/breakouts/events.ts +37 -0
  341. package/src/breakouts/index.ts +860 -0
  342. package/src/breakouts/request.ts +55 -0
  343. package/src/breakouts/utils.ts +57 -0
  344. package/src/common/browser-detection.ts +9 -6
  345. package/src/common/collection.ts +3 -1
  346. package/src/common/errors/captcha-error.ts +6 -6
  347. package/src/common/errors/intent-to-join.ts +6 -6
  348. package/src/common/errors/join-meeting.ts +12 -8
  349. package/src/common/errors/media.ts +6 -6
  350. package/src/common/errors/parameter.ts +9 -6
  351. package/src/common/errors/password-error.ts +6 -6
  352. package/src/common/errors/permission.ts +5 -5
  353. package/src/common/errors/reconnection.ts +6 -6
  354. package/src/common/errors/stats.ts +6 -6
  355. package/src/common/errors/webex-errors.ts +7 -5
  356. package/src/common/errors/webex-meetings-error.ts +1 -1
  357. package/src/common/events/events-scope.ts +5 -1
  358. package/src/common/events/events.ts +5 -1
  359. package/src/common/events/trigger-proxy.ts +8 -3
  360. package/src/common/events/util.ts +1 -2
  361. package/src/common/logs/logger-proxy.ts +21 -10
  362. package/src/common/logs/request.ts +11 -8
  363. package/src/config.ts +16 -12
  364. package/src/constants.ts +153 -7
  365. package/src/controls-options-manager/constants.ts +5 -0
  366. package/src/controls-options-manager/enums.ts +18 -0
  367. package/src/controls-options-manager/index.ts +278 -0
  368. package/src/controls-options-manager/types.ts +59 -0
  369. package/src/controls-options-manager/util.ts +281 -0
  370. package/src/index.ts +33 -0
  371. package/src/locus-info/controlsUtils.ts +142 -24
  372. package/src/locus-info/fullState.ts +15 -11
  373. package/src/locus-info/hostUtils.ts +4 -3
  374. package/src/locus-info/index.ts +346 -55
  375. package/src/locus-info/infoUtils.ts +12 -4
  376. package/src/locus-info/mediaSharesUtils.ts +52 -4
  377. package/src/locus-info/parser.ts +46 -68
  378. package/src/locus-info/selfUtils.ts +195 -56
  379. package/src/media/index.ts +139 -196
  380. package/src/media/properties.ts +43 -36
  381. package/src/media/util.ts +1 -1
  382. package/src/mediaQualityMetrics/config.ts +380 -378
  383. package/src/meeting/in-meeting-actions.ts +159 -3
  384. package/src/meeting/index.ts +2803 -1584
  385. package/src/meeting/locusMediaRequest.ts +309 -0
  386. package/src/meeting/muteState.ts +290 -72
  387. package/src/meeting/request.ts +247 -178
  388. package/src/meeting/request.type.ts +13 -0
  389. package/src/meeting/state.ts +45 -30
  390. package/src/meeting/util.ts +445 -395
  391. package/src/meeting-info/collection.ts +2 -1
  392. package/src/meeting-info/index.ts +32 -30
  393. package/src/meeting-info/meeting-info-v2.ts +235 -116
  394. package/src/meeting-info/request.ts +9 -3
  395. package/src/meeting-info/util.ts +54 -46
  396. package/src/meeting-info/utilv2.ts +71 -55
  397. package/src/meetings/collection.ts +21 -1
  398. package/src/meetings/index.ts +772 -437
  399. package/src/meetings/request.ts +29 -25
  400. package/src/meetings/util.ts +132 -33
  401. package/src/member/index.ts +95 -49
  402. package/src/member/types.ts +24 -0
  403. package/src/member/util.ts +106 -13
  404. package/src/members/collection.ts +8 -1
  405. package/src/members/index.ts +288 -130
  406. package/src/members/request.ts +144 -31
  407. package/src/members/types.ts +28 -0
  408. package/src/members/util.ts +316 -235
  409. package/src/metrics/config.ts +302 -90
  410. package/src/metrics/constants.ts +2 -6
  411. package/src/metrics/index.ts +124 -95
  412. package/src/multistream/mediaRequestManager.ts +203 -45
  413. package/src/multistream/receiveSlot.ts +69 -26
  414. package/src/multistream/receiveSlotManager.ts +62 -38
  415. package/src/multistream/remoteMedia.ts +30 -4
  416. package/src/multistream/remoteMediaGroup.ts +4 -3
  417. package/src/multistream/remoteMediaManager.ts +230 -66
  418. package/src/networkQualityMonitor/index.ts +24 -27
  419. package/src/personal-meeting-room/index.ts +12 -16
  420. package/src/personal-meeting-room/request.ts +10 -3
  421. package/src/personal-meeting-room/util.ts +3 -3
  422. package/src/reachability/index.ts +131 -79
  423. package/src/reachability/request.ts +43 -34
  424. package/src/reactions/constants.ts +4 -0
  425. package/src/reactions/reactions.ts +8 -8
  426. package/src/reactions/reactions.type.ts +31 -5
  427. package/src/reconnection-manager/index.ts +193 -111
  428. package/src/recording-controller/enums.ts +8 -0
  429. package/src/recording-controller/index.ts +315 -0
  430. package/src/recording-controller/util.ts +58 -0
  431. package/src/roap/index.ts +53 -53
  432. package/src/roap/request.ts +77 -64
  433. package/src/roap/turnDiscovery.ts +101 -48
  434. package/src/statsAnalyzer/global.ts +8 -104
  435. package/src/statsAnalyzer/index.ts +624 -376
  436. package/src/statsAnalyzer/mqaUtil.ts +203 -90
  437. package/src/transcription/index.ts +34 -32
  438. package/test/integration/spec/converged-space-meetings.js +177 -0
  439. package/test/integration/spec/journey.js +670 -466
  440. package/test/integration/spec/space-meeting.js +320 -204
  441. package/test/integration/spec/transcription.js +7 -8
  442. package/test/unit/spec/annotation/index.ts +433 -0
  443. package/test/unit/spec/breakouts/breakout.ts +203 -0
  444. package/test/unit/spec/breakouts/collection.ts +15 -0
  445. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  446. package/test/unit/spec/breakouts/events.ts +77 -0
  447. package/test/unit/spec/breakouts/index.ts +1609 -0
  448. package/test/unit/spec/breakouts/request.ts +104 -0
  449. package/test/unit/spec/breakouts/utils.js +72 -0
  450. package/test/unit/spec/common/browser-detection.js +9 -28
  451. package/test/unit/spec/controls-options-manager/index.js +287 -0
  452. package/test/unit/spec/controls-options-manager/util.js +504 -0
  453. package/test/unit/spec/fixture/locus.js +93 -90
  454. package/test/unit/spec/locus-info/controlsUtils.js +305 -32
  455. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  456. package/test/unit/spec/locus-info/index.js +636 -5
  457. package/test/unit/spec/locus-info/infoUtils.js +26 -33
  458. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  459. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  460. package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
  461. package/test/unit/spec/locus-info/parser.js +3 -9
  462. package/test/unit/spec/locus-info/selfConstant.js +110 -103
  463. package/test/unit/spec/locus-info/selfUtils.js +252 -12
  464. package/test/unit/spec/media/index.ts +104 -8
  465. package/test/unit/spec/media/properties.ts +9 -9
  466. package/test/unit/spec/meeting/in-meeting-actions.ts +76 -3
  467. package/test/unit/spec/meeting/index.js +3112 -921
  468. package/test/unit/spec/meeting/locusMediaRequest.ts +436 -0
  469. package/test/unit/spec/meeting/muteState.js +421 -94
  470. package/test/unit/spec/meeting/request.js +421 -79
  471. package/test/unit/spec/meeting/utils.js +326 -189
  472. package/test/unit/spec/meeting-info/meetinginfov2.js +481 -76
  473. package/test/unit/spec/meeting-info/request.js +7 -9
  474. package/test/unit/spec/meeting-info/util.js +11 -12
  475. package/test/unit/spec/meeting-info/utilv2.js +131 -74
  476. package/test/unit/spec/meetings/collection.js +15 -1
  477. package/test/unit/spec/meetings/index.js +1126 -328
  478. package/test/unit/spec/meetings/utils.js +220 -14
  479. package/test/unit/spec/member/index.js +24 -1
  480. package/test/unit/spec/member/util.js +383 -32
  481. package/test/unit/spec/members/index.js +424 -55
  482. package/test/unit/spec/members/request.js +228 -40
  483. package/test/unit/spec/members/utils.js +191 -4
  484. package/test/unit/spec/metrics/index.js +113 -20
  485. package/test/unit/spec/multistream/mediaRequestManager.ts +650 -105
  486. package/test/unit/spec/multistream/receiveSlot.ts +76 -17
  487. package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
  488. package/test/unit/spec/multistream/remoteMedia.ts +32 -2
  489. package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
  490. package/test/unit/spec/multistream/remoteMediaManager.ts +549 -65
  491. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  492. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  493. package/test/unit/spec/reachability/index.ts +176 -27
  494. package/test/unit/spec/reachability/request.js +66 -0
  495. package/test/unit/spec/reconnection-manager/index.js +62 -31
  496. package/test/unit/spec/recording-controller/index.js +231 -0
  497. package/test/unit/spec/recording-controller/util.js +102 -0
  498. package/test/unit/spec/roap/index.ts +19 -49
  499. package/test/unit/spec/roap/request.ts +187 -0
  500. package/test/unit/spec/roap/turnDiscovery.ts +92 -50
  501. package/test/unit/spec/stats-analyzer/index.js +116 -60
  502. package/test/utils/cmr.js +44 -42
  503. package/test/utils/constants.js +9 -0
  504. package/test/utils/integrationTestUtils.js +64 -0
  505. package/test/utils/testUtils.js +63 -99
  506. package/test/utils/webex-config.js +22 -18
  507. package/test/utils/webex-test-users.js +57 -50
  508. package/tsconfig.json +6 -0
  509. package/dist/media/internal-media-core-wrapper.js +0 -22
  510. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  511. package/dist/meeting/effectsState.js +0 -334
  512. package/dist/meeting/effectsState.js.map +0 -1
  513. package/dist/multistream/multistreamMedia.js +0 -116
  514. package/dist/multistream/multistreamMedia.js.map +0 -1
  515. package/src/index.js +0 -15
  516. package/src/media/internal-media-core-wrapper.ts +0 -9
  517. package/src/meeting/effectsState.ts +0 -211
  518. package/src/multistream/multistreamMedia.ts +0 -92
  519. package/test/unit/spec/meeting/effectsState.js +0 -291
@@ -1,31 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = void 0;
12
-
13
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/taggedTemplateLiteral"));
14
-
15
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
16
-
17
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
18
-
19
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
20
-
21
13
  var _difference2 = _interopRequireDefault(require("lodash/difference"));
22
-
23
14
  var _queue = _interopRequireDefault(require("../common/queue"));
24
-
25
15
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
26
-
27
16
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
28
-
29
17
  /**
30
18
  * Locus Delta Parser
31
19
  * @private
@@ -33,6 +21,7 @@ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _temp
33
21
  */
34
22
  var Parser = /*#__PURE__*/function () {
35
23
  // processing status
24
+
36
25
  // loci comparison states
37
26
 
38
27
  /**
@@ -42,12 +31,13 @@ var Parser = /*#__PURE__*/function () {
42
31
  (0, _classCallCheck2.default)(this, Parser);
43
32
  (0, _defineProperty2.default)(this, "queue", void 0);
44
33
  (0, _defineProperty2.default)(this, "workingCopy", void 0);
45
- this.queue = new _queue.default(); // @ts-ignore - This is declared as static class member and again being initialized here from same
46
-
34
+ this.queue = new _queue.default();
35
+ // @ts-ignore - This is declared as static class member and again being initialized here from same
47
36
  this.status = Parser.status.IDLE;
48
37
  this.onDeltaAction = null;
49
38
  this.workingCopy = null;
50
39
  }
40
+
51
41
  /**
52
42
  * Checks if two sequences overlap in time,
53
43
  * the sequence with the higher minimum value is greater.
@@ -56,8 +46,6 @@ var Parser = /*#__PURE__*/function () {
56
46
  * @param {Types~Locus} incoming
57
47
  * @returns {string} loci comparison state
58
48
  */
59
-
60
-
61
49
  (0, _createClass2.default)(Parser, [{
62
50
  key: "isValidLocus",
63
51
  value:
@@ -68,32 +56,30 @@ var Parser = /*#__PURE__*/function () {
68
56
  */
69
57
  function isValidLocus(newLoci) {
70
58
  var _this = this;
71
-
72
59
  var isValid = false;
73
60
  var IDLE = Parser.status.IDLE;
74
- var isLoci = Parser.isLoci; // @ts-ignore
75
-
61
+ var isLoci = Parser.isLoci;
62
+ // @ts-ignore
76
63
  var setStatus = function setStatus(status) {
64
+ // @ts-ignore
77
65
  _this.status = status;
78
- }; // one or both objects are not locus delta events
79
-
66
+ };
80
67
 
68
+ // one or both objects are not locus delta events
81
69
  if (!isLoci(this.workingCopy) || !isLoci(newLoci)) {
82
70
  setStatus(IDLE);
83
-
84
71
  _loggerProxy.default.logger.info('Locus-info:parser#processDeltaEvent --> Ignoring non-locus object. workingCopy:', this.workingCopy, 'newLoci:', newLoci);
85
72
  } else {
86
73
  isValid = true;
87
74
  }
88
-
89
75
  return isValid;
90
76
  }
77
+
91
78
  /**
92
79
  * Determines if a paricular locus's sequence is empty
93
80
  * @param {Types~Locus} locus
94
81
  * @returns {bool}
95
82
  */
96
-
97
83
  }, {
98
84
  key: "nextEvent",
99
85
  value:
@@ -106,11 +92,10 @@ var Parser = /*#__PURE__*/function () {
106
92
  // @ts-ignore
107
93
  if (this.status === Parser.status.PAUSED) {
108
94
  _loggerProxy.default.logger.info('Locus-info:parser#nextEvent --> Locus parser paused.');
109
-
110
95
  return;
111
- } // continue processing until queue is empty
112
-
96
+ }
113
97
 
98
+ // continue processing until queue is empty
114
99
  if (this.queue.size() > 0) {
115
100
  this.processDeltaEvent();
116
101
  } else {
@@ -118,6 +103,7 @@ var Parser = /*#__PURE__*/function () {
118
103
  this.status = Parser.status.IDLE;
119
104
  }
120
105
  }
106
+
121
107
  /**
122
108
  * Function handler for delta actions,
123
109
  * is set by instance callee.
@@ -126,24 +112,23 @@ var Parser = /*#__PURE__*/function () {
126
112
  * @returns {undefined}
127
113
  */
128
114
  // eslint-disable-next-line no-unused-vars
129
-
130
115
  }, {
131
116
  key: "onDeltaAction",
132
117
  value: function onDeltaAction(action, locus) {}
118
+
133
119
  /**
134
120
  * Event handler for locus delta events
135
121
  * @param {Types~Locus} loci Locus Delta
136
122
  * @returns {undefined}
137
123
  */
138
-
139
124
  }, {
140
125
  key: "onDeltaEvent",
141
126
  value: function onDeltaEvent(loci) {
142
127
  // enqueue the new loci
143
- this.queue.enqueue(loci); // start processing events in the queue if idle
128
+ this.queue.enqueue(loci);
129
+ // start processing events in the queue if idle
144
130
  // and a function handler is defined
145
131
  // @ts-ignore
146
-
147
132
  if (this.status === Parser.status.IDLE && this.onDeltaAction) {
148
133
  // Update status, ensure we only process one event at a time.
149
134
  // @ts-ignore
@@ -151,13 +136,13 @@ var Parser = /*#__PURE__*/function () {
151
136
  this.processDeltaEvent();
152
137
  }
153
138
  }
139
+
154
140
  /**
155
141
  * Appends new data onto a string of existing data.
156
142
  * @param {string} newData
157
143
  * @param {string} oldData
158
144
  * @returns {string}
159
145
  */
160
-
161
146
  }, {
162
147
  key: "pause",
163
148
  value:
@@ -168,35 +153,32 @@ var Parser = /*#__PURE__*/function () {
168
153
  function pause() {
169
154
  // @ts-ignore
170
155
  this.status = Parser.status.PAUSED;
171
-
172
156
  _loggerProxy.default.logger.info('Locus-info:parser#pause --> Locus parser paused.');
173
157
  }
158
+
174
159
  /**
175
160
  * Processes next locus delta in the queue,
176
161
  * continues until the queue is empty
177
162
  * or cleared.
178
163
  * @returns {undefined}
179
164
  */
180
-
181
165
  }, {
182
166
  key: "processDeltaEvent",
183
167
  value: function processDeltaEvent() {
184
168
  var _Parser$loci = Parser.loci,
185
- DESYNC = _Parser$loci.DESYNC,
186
- USE_INCOMING = _Parser$loci.USE_INCOMING;
169
+ DESYNC = _Parser$loci.DESYNC,
170
+ USE_INCOMING = _Parser$loci.USE_INCOMING;
187
171
  var extract = Parser.extractComparisonState;
188
172
  var newLoci = this.queue.dequeue();
189
-
190
173
  if (!this.isValidLocus(newLoci)) {
191
174
  return;
192
175
  }
193
-
194
176
  var result = Parser.compare(this.workingCopy, newLoci);
195
- var lociComparison = extract(result); // limited debugging, use chrome extension
196
- // for full debugging.
177
+ var lociComparison = extract(result);
197
178
 
179
+ // limited debugging, use chrome extension
180
+ // for full debugging.
198
181
  _loggerProxy.default.logger.debug("Locus-info:parser#processDeltaEvent --> Locus Debug: ".concat(result));
199
-
200
182
  if (lociComparison === DESYNC) {
201
183
  // wait for desync response
202
184
  this.pause();
@@ -206,53 +188,54 @@ var Parser = /*#__PURE__*/function () {
206
188
  // and here when USE_INCOMING locus.
207
189
  this.workingCopy = newLoci;
208
190
  }
209
-
210
191
  if (this.onDeltaAction) {
211
192
  _loggerProxy.default.logger.info("Locus-info:parser#processDeltaEvent --> Locus Delta Action: ".concat(lociComparison));
212
193
 
194
+ // eslint-disable-next-line no-useless-call
213
195
  this.onDeltaAction.call(this, lociComparison, newLoci);
214
196
  }
215
-
216
197
  this.nextEvent();
217
198
  }
199
+
218
200
  /**
219
201
  * Resume from a paused state
220
202
  * @returns {undefined}
221
203
  */
222
-
223
204
  }, {
224
205
  key: "resume",
225
206
  value: function resume() {
226
- _loggerProxy.default.logger.info('Locus-info:parser#resume --> Locus parser resumed.'); // @ts-ignore
227
-
228
-
207
+ _loggerProxy.default.logger.info('Locus-info:parser#resume --> Locus parser resumed.');
208
+ // @ts-ignore
229
209
  this.status = Parser.status.WORKING;
230
210
  this.nextEvent();
231
211
  }
212
+
232
213
  /**
233
214
  * Gets related debug info for given error code
234
215
  * @param {string} debugCode Debug code
235
216
  * @param {string} comparison Locus comparison string
236
217
  * @returns {object} Debug message
237
218
  */
238
-
239
219
  }], [{
240
220
  key: "checkSequenceOverlap",
241
221
  value: function checkSequenceOverlap(current, incoming) {
242
- var comparison = null; // if earliest working copy sequence is more recent than last incoming sequence
222
+ var comparison = null;
243
223
 
224
+ // if earliest working copy sequence is more recent than last incoming sequence
244
225
  if (current.min > incoming.max) {
245
226
  // choose left side (current)
246
227
  comparison = "".concat(Parser.loci.GT, ":SO001");
247
- } // if last working copy sequence is before the earliest incoming sequence
228
+ }
229
+ // if last working copy sequence is before the earliest incoming sequence
248
230
  else if (current.max < incoming.min) {
249
231
  // choose right side (incoming)
250
232
  comparison = "".concat(Parser.loci.LT, ":SO002");
251
- } // if no match above, defaults to null
252
-
233
+ }
253
234
 
235
+ // if no match above, defaults to null
254
236
  return comparison;
255
237
  }
238
+
256
239
  /**
257
240
  * Checks if two sequences have unequal ranges.
258
241
  * Chooses sequence with most larger range.
@@ -260,7 +243,6 @@ var Parser = /*#__PURE__*/function () {
260
243
  * @param {Types~Locus} incoming
261
244
  * @returns {object} loci comparison
262
245
  */
263
-
264
246
  }, {
265
247
  key: "checkUnequalRanges",
266
248
  value: function checkUnequalRanges(current, incoming) {
@@ -268,14 +250,16 @@ var Parser = /*#__PURE__*/function () {
268
250
  var currentIsNotUnique = current.unique.length === 0;
269
251
  var incomingIsNotUnique = incoming.unique.length === 0;
270
252
  var currentTotalRange = current.end - current.min;
271
- var incomingTotalRange = incoming.end - incoming.min; // no unique values for both loci
253
+ var incomingTotalRange = incoming.end - incoming.min;
272
254
 
255
+ // no unique values for both loci
273
256
  if (currentIsNotUnique && incomingIsNotUnique) {
274
257
  // current working copy loci has a larger range
275
258
  if (currentTotalRange > incomingTotalRange) {
276
259
  // choose left side (current)
277
260
  comparison = "".concat(Parser.loci.GT, ":UR001");
278
- } // incoming delta loci has a larger range
261
+ }
262
+ // incoming delta loci has a larger range
279
263
  else if (currentTotalRange < incomingTotalRange) {
280
264
  // choose right side (incoming)
281
265
  comparison = "".concat(Parser.loci.LT, ":UR002");
@@ -285,9 +269,9 @@ var Parser = /*#__PURE__*/function () {
285
269
  comparison = "".concat(Parser.loci.EQ, ":UR003");
286
270
  }
287
271
  }
288
-
289
272
  return comparison;
290
273
  }
274
+
291
275
  /**
292
276
  * Checks if either sequences has unique entries.
293
277
  * Entries are considered unique if they do not overlap
@@ -297,25 +281,26 @@ var Parser = /*#__PURE__*/function () {
297
281
  * @param {Types~Locus} incoming
298
282
  * @returns {string} loci comparison state
299
283
  */
300
-
301
284
  }, {
302
285
  key: "checkForUniqueEntries",
303
286
  value: function checkForUniqueEntries(current, incoming) {
304
287
  var comparison = null;
305
288
  var currentIsUnique = current.unique.length > 0;
306
- var incomingIsUnique = incoming.unique.length > 0; // current has unique entries and incoming does not
289
+ var incomingIsUnique = incoming.unique.length > 0;
307
290
 
291
+ // current has unique entries and incoming does not
308
292
  if (currentIsUnique && !incomingIsUnique) {
309
293
  // choose left side (current)
310
294
  comparison = "".concat(Parser.loci.GT, ":UE001");
311
- } // current has no unique entries but incoming does
295
+ }
296
+ // current has no unique entries but incoming does
312
297
  else if (!currentIsUnique && incomingIsUnique) {
313
298
  // choose right side (incoming)
314
299
  comparison = "".concat(Parser.loci.LT, ":UE002");
315
300
  }
316
-
317
301
  return comparison;
318
302
  }
303
+
319
304
  /**
320
305
  * Checks both Locus Delta objects to see if they are
321
306
  * out of sync with one another. If so sends a DESYNC
@@ -324,7 +309,6 @@ var Parser = /*#__PURE__*/function () {
324
309
  * @param {Types~Locus} incoming
325
310
  * @returns {string} loci comparison state
326
311
  */
327
-
328
312
  }, {
329
313
  key: "checkIfOutOfSync",
330
314
  value: function checkIfOutOfSync(current, incoming) {
@@ -334,22 +318,20 @@ var Parser = /*#__PURE__*/function () {
334
318
  var currentHasNoRange = !current.start && !current.end;
335
319
  var incomingHasNoRange = !incoming.start && !incoming.end;
336
320
  var neitherSeqHasRange = currentHasNoRange && incomingHasNoRange;
337
-
338
321
  var hasUniqOverlap = function hasUniqOverlap(list, min, max) {
339
322
  return list.some(function (seq) {
340
323
  return min < seq && seq < max;
341
324
  });
342
- }; // current unique entries overlap the total range of incoming
343
-
344
-
345
- var currentUniqOverlap = hasUniqOverlap(current.unique, incoming.min, incoming.max); // vice-versa, incoming unique entries overlap the total range of current
346
-
325
+ };
326
+ // current unique entries overlap the total range of incoming
327
+ var currentUniqOverlap = hasUniqOverlap(current.unique, incoming.min, incoming.max);
328
+ // vice-versa, incoming unique entries overlap the total range of current
347
329
  var incomingUniqOverlap = hasUniqOverlap(incoming.unique, current.min, current.max);
348
-
349
330
  if (neitherSeqHasRange || currentUniqOverlap || incomingUniqOverlap) {
350
331
  // outputs string indicating which condition occurred. ex: 0,1,0
351
- var debugInfo = "".concat(+neitherSeqHasRange, ",").concat(+currentUniqOverlap, ",").concat(+incomingUniqOverlap); // send DESYNC to server
332
+ var debugInfo = "".concat(+neitherSeqHasRange, ",").concat(+currentUniqOverlap, ",").concat(+incomingUniqOverlap);
352
333
 
334
+ // send DESYNC to server
353
335
  comparison = "".concat(Parser.loci.DESYNC, ":OOS001:").concat(debugInfo);
354
336
  } else if (currentUniqueMin > incomingUniqueMin) {
355
337
  // choose left side (current)
@@ -358,9 +340,9 @@ var Parser = /*#__PURE__*/function () {
358
340
  // choose right side (incoming)
359
341
  comparison = "".concat(Parser.loci.LT, ":OOS003");
360
342
  }
361
-
362
343
  return comparison;
363
344
  }
345
+
364
346
  /**
365
347
  * Compares two loci to determine which one contains the most recent state
366
348
  * @instance
@@ -369,26 +351,23 @@ var Parser = /*#__PURE__*/function () {
369
351
  * @param {Types~Locus} incoming
370
352
  * @returns {string} loci comparison state
371
353
  */
372
-
373
354
  }, {
374
355
  key: "compare",
375
356
  value: function compare(current, incoming) {
376
357
  var isSequenceEmpty = Parser.isSequenceEmpty;
377
358
  var extract = Parser.extractComparisonState;
378
359
  var pack = Parser.packComparisonResult;
379
-
380
360
  if (isSequenceEmpty(current) || isSequenceEmpty(incoming)) {
381
361
  return pack(Parser.loci.USE_INCOMING, 'C001');
382
362
  }
383
-
384
363
  if (incoming.baseSequence) {
385
364
  return pack(Parser.compareDelta(current, incoming), 'C002');
386
365
  }
387
-
388
366
  var result = Parser.compareSequence(current.sequence, incoming.sequence);
389
367
  var action = Parser.compareToAction(extract(result));
390
368
  return pack(action, result);
391
369
  }
370
+
392
371
  /**
393
372
  * Compares two loci sequences (with delta params) and indicates what action
394
373
  * to take.
@@ -399,127 +378,117 @@ var Parser = /*#__PURE__*/function () {
399
378
  * @private
400
379
  * @returns {string} loci comparison state
401
380
  */
402
-
403
381
  }, {
404
382
  key: "compareDelta",
405
383
  value: function compareDelta(current, incoming) {
406
384
  var _Parser$loci2 = Parser.loci,
407
- LT = _Parser$loci2.LT,
408
- GT = _Parser$loci2.GT,
409
- EQ = _Parser$loci2.EQ,
410
- DESYNC = _Parser$loci2.DESYNC,
411
- USE_INCOMING = _Parser$loci2.USE_INCOMING;
385
+ LT = _Parser$loci2.LT,
386
+ GT = _Parser$loci2.GT,
387
+ EQ = _Parser$loci2.EQ,
388
+ DESYNC = _Parser$loci2.DESYNC,
389
+ USE_INCOMING = _Parser$loci2.USE_INCOMING;
412
390
  var extract = Parser.extractComparisonState;
413
391
  var pack = Parser.packComparisonResult;
414
392
  var result = Parser.compareSequence(current.sequence, incoming.sequence);
415
393
  var comparison = extract(result);
416
-
417
394
  if (comparison !== LT) {
418
395
  return pack(Parser.compareToAction(comparison), result);
419
396
  }
420
-
421
397
  comparison = Parser.compareSequence(current.sequence, incoming.baseSequence);
422
-
423
398
  switch (extract(comparison)) {
424
399
  case GT:
425
400
  case EQ:
426
401
  comparison = USE_INCOMING;
427
402
  break;
428
-
429
403
  default:
430
404
  comparison = DESYNC;
431
405
  }
432
-
433
406
  return pack(comparison, result);
434
407
  }
408
+
435
409
  /**
436
410
  * Compares Locus sequences
437
411
  * @param {Types~Locus} current Current working copy
438
412
  * @param {Types~Locus} incoming New Locus delta
439
413
  * @returns {string}
440
414
  */
441
-
442
415
  }, {
443
416
  key: "compareSequence",
444
417
  value: function compareSequence(current, incoming) {
445
418
  // Locus sequence comparison rules in order of priority.
446
419
  // https://sqbu-github.cisco.com/WebExSquared/cloud-apps/wiki/Locus-Sequence-Comparison-Algorithm
420
+
447
421
  var local = Parser.getMetaData(current);
448
- var delta = Parser.getMetaData(incoming); // update loci metadata
422
+ var delta = Parser.getMetaData(incoming);
449
423
 
424
+ // update loci metadata
450
425
  local.unique = Parser.getUniqueSequences(local, delta);
451
- delta.unique = Parser.getUniqueSequences(delta, local); // Locus sequence comparison rules
452
- // order matters
426
+ delta.unique = Parser.getUniqueSequences(delta, local);
453
427
 
428
+ // Locus sequence comparison rules
429
+ // order matters
454
430
  var rules = [Parser.checkSequenceOverlap, Parser.checkUnequalRanges, Parser.checkForUniqueEntries, Parser.checkIfOutOfSync];
455
-
456
431
  for (var _i = 0, _rules = rules; _i < _rules.length; _i++) {
457
432
  var rule = _rules[_i];
458
433
  // Rule only returns a value if the rule applies,
459
434
  // otherwise returns null.
460
435
  var result = rule(local, delta);
461
-
462
436
  if (result) {
463
437
  return result;
464
438
  }
465
- } // error, none of rules above applied
439
+ }
440
+
441
+ // error, none of rules above applied
466
442
  // should never get here as last rule
467
443
  // should be catch all.
468
-
469
-
470
444
  return Parser.loci.ERROR;
471
445
  }
446
+
472
447
  /**
473
448
  * Transates the result of a sequence comparison into an intended behavior
474
449
  * @param {string} result
475
450
  * @returns {string} Locus comparison action
476
451
  */
477
-
478
452
  }, {
479
453
  key: "compareToAction",
480
454
  value: function compareToAction(result) {
481
455
  var _Parser$loci3 = Parser.loci,
482
- DESYNC = _Parser$loci3.DESYNC,
483
- EQ = _Parser$loci3.EQ,
484
- ERROR = _Parser$loci3.ERROR,
485
- GT = _Parser$loci3.GT,
486
- LT = _Parser$loci3.LT,
487
- USE_CURRENT = _Parser$loci3.USE_CURRENT,
488
- USE_INCOMING = _Parser$loci3.USE_INCOMING;
456
+ DESYNC = _Parser$loci3.DESYNC,
457
+ EQ = _Parser$loci3.EQ,
458
+ ERROR = _Parser$loci3.ERROR,
459
+ GT = _Parser$loci3.GT,
460
+ LT = _Parser$loci3.LT,
461
+ USE_CURRENT = _Parser$loci3.USE_CURRENT,
462
+ USE_INCOMING = _Parser$loci3.USE_INCOMING;
489
463
  var action = ERROR;
490
-
491
464
  switch (result) {
492
465
  case EQ:
493
466
  case GT:
494
467
  action = USE_CURRENT;
495
468
  break;
496
-
497
469
  case LT:
498
470
  action = USE_INCOMING;
499
471
  break;
500
-
501
472
  case DESYNC:
502
473
  action = DESYNC;
503
474
  break;
504
-
505
475
  default:
506
476
  _loggerProxy.default.logger.info("Locus-info:parser#compareToAction --> Error: ".concat(result, " is not a recognized sequence comparison result."));
507
-
508
477
  }
509
-
510
478
  return action;
511
479
  }
480
+
512
481
  /**
513
482
  * Extracts a loci comparison from a string of data.
514
483
  * @param {string} lociComparisonResult Comparison result with extra data
515
484
  * @returns {string} Comparison of EQ, LT, GT, or DESYNC.
516
485
  */
517
-
518
486
  }, {
519
487
  key: "extractComparisonState",
520
488
  value: function extractComparisonState(lociComparisonResult) {
521
489
  return lociComparisonResult.split(':')[0];
522
490
  }
491
+
523
492
  /**
524
493
  * @typedef {object} LociMetadata
525
494
  * @property {number} start - Starting sequence number
@@ -536,17 +505,18 @@ var Parser = /*#__PURE__*/function () {
536
505
  * @param {Array.<number>} sequence Locus delta sequence
537
506
  * @returns {LociMetadata} Locus Delta Metadata
538
507
  */
539
-
540
508
  }, {
541
509
  key: "getMetaData",
542
510
  value: function getMetaData(sequence) {
543
511
  var entries = sequence.entries;
544
512
  var first = entries[0];
545
- var last = entries.slice(-1)[0]; // rangeStart or rangeEnd is 0 if a range doesn't exist
513
+ var last = entries.slice(-1)[0];
546
514
 
515
+ // rangeStart or rangeEnd is 0 if a range doesn't exist
547
516
  var start = sequence.rangeStart;
548
- var end = sequence.rangeEnd; // sequence data
517
+ var end = sequence.rangeEnd;
549
518
 
519
+ // sequence data
550
520
  return {
551
521
  start: start,
552
522
  end: end,
@@ -560,6 +530,7 @@ var Parser = /*#__PURE__*/function () {
560
530
  entries: entries
561
531
  };
562
532
  }
533
+
563
534
  /**
564
535
  * Compares two Locus delta objects and notes unique
565
536
  * values contained within baseLoci.
@@ -567,15 +538,15 @@ var Parser = /*#__PURE__*/function () {
567
538
  * @param {LociMetadata} otherLoci
568
539
  * @returns {Array.<number>} List of unique sequences
569
540
  */
570
-
571
541
  }, {
572
542
  key: "getUniqueSequences",
573
543
  value: function getUniqueSequences(baseLoci, otherLoci) {
574
544
  var diff = (0, _difference2.default)(baseLoci.entries, otherLoci.entries);
575
545
  var start = otherLoci.start,
576
- end = otherLoci.end;
546
+ end = otherLoci.end;
577
547
  return Parser.getNumbersOutOfRange(diff, start, end);
578
548
  }
549
+
579
550
  /**
580
551
  * Returns an array of numbers outside of a given range.
581
552
  * @param {Array.<number>} list Array to filter
@@ -583,15 +554,15 @@ var Parser = /*#__PURE__*/function () {
583
554
  * @param {number} rangeEnd End of range
584
555
  * @returns {Array.<number>} Array of numbers sorted ASC
585
556
  */
586
-
587
557
  }, {
588
558
  key: "getNumbersOutOfRange",
589
559
  value: function getNumbersOutOfRange(list, rangeStart, rangeEnd) {
590
560
  // Collect all numbers if number is outside of specified range
591
561
  var output = list.filter(function (num) {
592
562
  return num < rangeStart || num > rangeEnd;
593
- }); // sort ascending
563
+ });
594
564
 
565
+ // sort ascending
595
566
  return output.sort(function (a, b) {
596
567
  return a - b;
597
568
  });
@@ -600,34 +571,30 @@ var Parser = /*#__PURE__*/function () {
600
571
  key: "isSequenceEmpty",
601
572
  value: function isSequenceEmpty(locus) {
602
573
  var _sequence$entries;
603
-
604
574
  var sequence = locus.sequence;
605
575
  var hasEmptyEntries = !((_sequence$entries = sequence.entries) !== null && _sequence$entries !== void 0 && _sequence$entries.length);
606
576
  var hasEmptyRange = sequence.rangeStart === 0 && sequence.rangeEnd === 0;
607
577
  return hasEmptyEntries && hasEmptyRange;
608
578
  }
579
+
609
580
  /**
610
581
  * Determines if an object has basic
611
582
  * structure of a locus object.
612
583
  * @param {Types~Locus} loci
613
584
  * @returns {boolean}
614
585
  */
615
-
616
586
  }, {
617
587
  key: "isLoci",
618
588
  value: function isLoci(loci) {
619
589
  if (!loci || !loci.sequence) {
620
590
  return false;
621
591
  }
622
-
623
592
  var hasProp = function hasProp(prop) {
624
593
  return Object.prototype.hasOwnProperty.call(loci.sequence, prop);
625
594
  };
626
-
627
595
  if (hasProp('rangeStart') && hasProp('rangeEnd')) {
628
596
  return true;
629
597
  }
630
-
631
598
  return false;
632
599
  }
633
600
  }, {
@@ -642,7 +609,6 @@ var Parser = /*#__PURE__*/function () {
642
609
  var mStr = function mStr(strings) {
643
610
  return strings.join('').replace(/\s{2,}/g, ' ');
644
611
  };
645
-
646
612
  var resolutionMap = {
647
613
  EQ: "".concat(Parser.loci.LT, ": is equal (current == incoming)."),
648
614
  LT: "".concat(Parser.loci.LT, ": choose right side (incoming)."),
@@ -708,7 +674,6 @@ var Parser = /*#__PURE__*/function () {
708
674
  }]);
709
675
  return Parser;
710
676
  }();
711
-
712
677
  exports.default = Parser;
713
678
  (0, _defineProperty2.default)(Parser, "status", {
714
679
  IDLE: 'IDLE',