@webex/plugin-meetings 3.0.0-beta.2 → 3.0.0-beta.21

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