@webex/plugin-meetings 3.0.0-beta.15 → 3.0.0-beta.151

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