@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.
- package/README.md +45 -1
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.js +49 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +359 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +193 -0
- package/dist/breakouts/breakout.js.map +1 -0
- package/dist/breakouts/collection.js +23 -0
- package/dist/breakouts/collection.js.map +1 -0
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.js +43 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +1046 -0
- package/dist/breakouts/index.js.map +1 -0
- package/dist/breakouts/request.js +78 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.js +67 -0
- package/dist/breakouts/utils.js.map +1 -0
- package/dist/common/browser-detection.js +1 -21
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +5 -20
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.js +0 -7
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.js +0 -21
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +0 -21
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +0 -21
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +0 -21
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/parameter.js +0 -28
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +0 -21
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +0 -21
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reconnection-in-progress.js +0 -17
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.js +0 -21
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +0 -21
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.js +9 -43
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +1 -24
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js +0 -22
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js +0 -23
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js +0 -12
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js +0 -15
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.js +0 -4
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -8
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.js +35 -61
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +4 -14
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +7 -13
- package/dist/config.js.map +1 -1
- package/dist/constants.js +208 -64
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +14 -0
- package/dist/controls-options-manager/constants.js.map +1 -0
- package/dist/controls-options-manager/enums.js +27 -0
- package/dist/controls-options-manager/enums.js.map +1 -0
- package/dist/controls-options-manager/index.js +297 -0
- package/dist/controls-options-manager/index.js.map +1 -0
- package/dist/controls-options-manager/types.js +7 -0
- package/dist/controls-options-manager/types.js.map +1 -0
- package/dist/controls-options-manager/util.js +300 -0
- package/dist/controls-options-manager/util.js.map +1 -0
- package/dist/index.js +78 -17
- package/dist/index.js.map +1 -1
- package/dist/locus-info/controlsUtils.js +100 -29
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js +3 -26
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +0 -15
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js +4 -12
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.js +387 -208
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +0 -38
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +54 -38
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +90 -126
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +93 -92
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +70 -219
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +74 -198
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +1 -8
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +505 -495
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +79 -14
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2685 -3324
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +291 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +243 -185
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +296 -342
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js +0 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/state.js +16 -26
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.js +446 -585
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.js +3 -25
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.js +8 -31
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +261 -242
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +1 -16
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js +98 -183
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +156 -232
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +24 -20
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +526 -372
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js +7 -0
- package/dist/meetings/meetings.types.js.map +1 -0
- package/dist/meetings/request.js +21 -40
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +172 -141
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +58 -57
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +15 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +101 -69
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +12 -12
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +123 -162
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +120 -85
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +15 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.js +314 -260
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.js +50 -16
- package/dist/metrics/config.js.map +1 -1
- package/dist/metrics/constants.js +4 -7
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +75 -147
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +170 -50
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +58 -65
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +73 -94
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +55 -74
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +66 -43
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +502 -442
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +24 -51
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/personal-meeting-room/index.js +3 -38
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +2 -33
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js +0 -13
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/index.js +190 -199
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +14 -23
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/constants.js +13 -0
- package/dist/reactions/constants.js.map +1 -0
- package/dist/reactions/reactions.js +2 -4
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.js +18 -24
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.js +356 -476
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.js +17 -0
- package/dist/recording-controller/enums.js.map +1 -0
- package/dist/recording-controller/index.js +343 -0
- package/dist/recording-controller/index.js.map +1 -0
- package/dist/recording-controller/util.js +63 -0
- package/dist/recording-controller/util.js.map +1 -0
- package/dist/roap/index.js +32 -75
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +129 -136
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +143 -103
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/statsAnalyzer/global.js +1 -95
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +369 -462
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +144 -94
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +9 -44
- package/dist/transcription/index.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +43 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +124 -0
- package/dist/types/breakouts/breakout.d.ts +8 -0
- package/dist/types/breakouts/collection.d.ts +5 -0
- package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/events.d.ts +2 -0
- package/dist/types/breakouts/index.d.ts +5 -0
- package/dist/types/breakouts/request.d.ts +22 -0
- package/dist/types/breakouts/utils.d.ts +15 -0
- package/dist/types/common/browser-detection.d.ts +9 -0
- package/dist/types/common/collection.d.ts +48 -0
- package/dist/types/common/config.d.ts +2 -0
- package/dist/types/common/errors/captcha-error.d.ts +15 -0
- package/dist/types/common/errors/intent-to-join.d.ts +16 -0
- package/dist/types/common/errors/join-meeting.d.ts +17 -0
- package/dist/types/common/errors/media.d.ts +15 -0
- package/dist/types/common/errors/parameter.d.ts +15 -0
- package/dist/types/common/errors/password-error.d.ts +15 -0
- package/dist/types/common/errors/permission.d.ts +14 -0
- package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/types/common/errors/reconnection.d.ts +15 -0
- package/dist/types/common/errors/stats.d.ts +15 -0
- package/dist/types/common/errors/webex-errors.d.ts +69 -0
- package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/types/common/events/events-scope.d.ts +17 -0
- package/dist/types/common/events/events.d.ts +12 -0
- package/dist/types/common/events/trigger-proxy.d.ts +2 -0
- package/dist/types/common/events/util.d.ts +2 -0
- package/dist/types/common/logs/logger-config.d.ts +2 -0
- package/dist/types/common/logs/logger-proxy.d.ts +2 -0
- package/dist/types/common/logs/request.d.ts +34 -0
- package/dist/types/common/queue.d.ts +32 -0
- package/dist/types/config.d.ts +72 -0
- package/dist/types/constants.d.ts +978 -0
- package/dist/types/controls-options-manager/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/enums.d.ts +15 -0
- package/dist/types/controls-options-manager/index.d.ts +136 -0
- package/dist/types/controls-options-manager/types.d.ts +43 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/locus-info/controlsUtils.d.ts +2 -0
- package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/types/locus-info/fullState.d.ts +2 -0
- package/dist/types/locus-info/hostUtils.d.ts +2 -0
- package/dist/types/locus-info/index.d.ts +315 -0
- package/dist/types/locus-info/infoUtils.d.ts +2 -0
- package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/types/locus-info/parser.d.ts +212 -0
- package/dist/types/locus-info/selfUtils.d.ts +2 -0
- package/dist/types/media/index.d.ts +34 -0
- package/dist/types/media/properties.d.ts +86 -0
- package/dist/types/media/util.d.ts +2 -0
- package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +149 -0
- package/dist/types/meeting/index.d.ts +1509 -0
- package/dist/types/meeting/locusMediaRequest.d.ts +70 -0
- package/dist/types/meeting/muteState.d.ts +184 -0
- package/dist/types/meeting/request.d.ts +270 -0
- package/dist/types/meeting/request.type.d.ts +11 -0
- package/dist/types/meeting/state.d.ts +9 -0
- package/dist/types/meeting/util.d.ts +75 -0
- package/dist/types/meeting-info/collection.d.ts +20 -0
- package/dist/types/meeting-info/index.d.ts +57 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
- package/dist/types/meeting-info/request.d.ts +22 -0
- package/dist/types/meeting-info/util.d.ts +2 -0
- package/dist/types/meeting-info/utilv2.d.ts +2 -0
- package/dist/types/meetings/collection.d.ts +31 -0
- package/dist/types/meetings/index.d.ts +364 -0
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/meetings/request.d.ts +27 -0
- package/dist/types/meetings/util.d.ts +18 -0
- package/dist/types/member/index.d.ts +157 -0
- package/dist/types/member/types.d.ts +21 -0
- package/dist/types/member/util.d.ts +2 -0
- package/dist/types/members/collection.d.ts +29 -0
- package/dist/types/members/index.d.ts +353 -0
- package/dist/types/members/request.d.ts +114 -0
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +210 -0
- package/dist/types/metrics/config.d.ts +195 -0
- package/dist/types/metrics/constants.d.ts +55 -0
- package/dist/types/metrics/index.d.ts +169 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +104 -0
- package/dist/types/multistream/receiveSlot.d.ts +68 -0
- package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/types/multistream/remoteMedia.d.ts +72 -0
- package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +277 -0
- package/dist/types/networkQualityMonitor/index.d.ts +70 -0
- package/dist/types/personal-meeting-room/index.d.ts +47 -0
- package/dist/types/personal-meeting-room/request.d.ts +14 -0
- package/dist/types/personal-meeting-room/util.d.ts +2 -0
- package/dist/types/reachability/index.d.ts +152 -0
- package/dist/types/reachability/request.d.ts +37 -0
- package/dist/types/reactions/constants.d.ts +3 -0
- package/dist/types/reactions/reactions.d.ts +4 -0
- package/dist/types/reactions/reactions.type.d.ts +52 -0
- package/dist/types/reconnection-manager/index.d.ts +126 -0
- package/dist/types/recording-controller/enums.d.ts +7 -0
- package/dist/types/recording-controller/index.d.ts +193 -0
- package/dist/types/recording-controller/util.d.ts +13 -0
- package/dist/types/roap/index.d.ts +77 -0
- package/dist/types/roap/request.d.ts +36 -0
- package/dist/types/roap/turnDiscovery.d.ts +91 -0
- package/dist/types/statsAnalyzer/global.d.ts +36 -0
- package/dist/types/statsAnalyzer/index.d.ts +200 -0
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
- package/dist/types/transcription/index.d.ts +64 -0
- package/package.json +28 -21
- package/src/annotation/annotation.types.ts +52 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +343 -0
- package/src/breakouts/README.md +220 -0
- package/src/breakouts/breakout.ts +163 -0
- package/src/breakouts/collection.ts +19 -0
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +37 -0
- package/src/breakouts/index.ts +921 -0
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -0
- package/src/common/errors/webex-errors.ts +6 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/config.ts +5 -7
- package/src/constants.ts +155 -20
- package/src/controls-options-manager/constants.ts +5 -0
- package/src/controls-options-manager/enums.ts +18 -0
- package/src/controls-options-manager/index.ts +278 -0
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +286 -0
- package/src/index.ts +34 -0
- package/src/locus-info/controlsUtils.ts +108 -0
- package/src/locus-info/index.ts +310 -21
- package/src/locus-info/mediaSharesUtils.ts +48 -0
- package/src/locus-info/parser.ts +2 -1
- package/src/locus-info/selfUtils.ts +71 -1
- package/src/media/index.ts +70 -142
- package/src/media/properties.ts +41 -104
- package/src/mediaQualityMetrics/config.ts +379 -377
- package/src/meeting/in-meeting-actions.ts +156 -0
- package/src/meeting/index.ts +1730 -1768
- package/src/meeting/locusMediaRequest.ts +309 -0
- package/src/meeting/muteState.ts +228 -132
- package/src/meeting/request.ts +100 -91
- package/src/meeting/request.type.ts +2 -0
- package/src/meeting/util.ts +421 -421
- package/src/meeting-info/meeting-info-v2.ts +134 -13
- package/src/meeting-info/utilv2.ts +13 -3
- package/src/meetings/collection.ts +20 -0
- package/src/meetings/index.ts +375 -83
- package/src/meetings/meetings.types.ts +9 -0
- package/src/meetings/request.ts +3 -1
- package/src/meetings/util.ts +103 -4
- package/src/member/index.ts +40 -0
- package/src/member/types.ts +24 -0
- package/src/member/util.ts +81 -1
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +108 -6
- package/src/members/request.ts +98 -17
- package/src/members/types.ts +28 -0
- package/src/members/util.ts +319 -240
- package/src/metrics/config.ts +49 -10
- package/src/metrics/constants.ts +2 -4
- package/src/metrics/index.ts +43 -27
- package/src/multistream/mediaRequestManager.ts +210 -45
- package/src/multistream/receiveSlot.ts +68 -26
- package/src/multistream/receiveSlotManager.ts +61 -38
- package/src/multistream/remoteMedia.ts +29 -3
- package/src/multistream/remoteMediaGroup.ts +61 -2
- package/src/multistream/remoteMediaManager.ts +260 -66
- package/src/networkQualityMonitor/index.ts +6 -6
- package/src/reachability/index.ts +75 -25
- package/src/reachability/request.ts +10 -5
- package/src/reactions/constants.ts +4 -0
- package/src/reactions/reactions.ts +4 -4
- package/src/reactions/reactions.type.ts +28 -3
- package/src/reconnection-manager/index.ts +53 -32
- package/src/recording-controller/enums.ts +8 -0
- package/src/recording-controller/index.ts +315 -0
- package/src/recording-controller/util.ts +58 -0
- package/src/roap/index.ts +21 -30
- package/src/roap/request.ts +51 -52
- package/src/roap/turnDiscovery.ts +51 -27
- package/src/statsAnalyzer/global.ts +1 -94
- package/src/statsAnalyzer/index.ts +380 -390
- package/src/statsAnalyzer/mqaUtil.ts +106 -99
- package/test/integration/spec/converged-space-meetings.js +233 -0
- package/test/integration/spec/journey.js +332 -255
- package/test/integration/spec/space-meeting.js +78 -5
- package/test/integration/spec/transcription.js +1 -1
- package/test/unit/spec/annotation/index.ts +436 -0
- package/test/unit/spec/breakouts/breakout.ts +203 -0
- package/test/unit/spec/breakouts/collection.ts +15 -0
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/events.ts +77 -0
- package/test/unit/spec/breakouts/index.ts +1790 -0
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +72 -0
- package/test/unit/spec/controls-options-manager/index.js +287 -0
- package/test/unit/spec/controls-options-manager/util.js +518 -0
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/locus-info/controlsUtils.js +303 -30
- package/test/unit/spec/locus-info/index.js +615 -4
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
- package/test/unit/spec/locus-info/selfConstant.js +38 -0
- package/test/unit/spec/locus-info/selfUtils.js +200 -0
- package/test/unit/spec/media/index.ts +118 -22
- package/test/unit/spec/media/properties.ts +9 -9
- package/test/unit/spec/meeting/in-meeting-actions.ts +76 -0
- package/test/unit/spec/meeting/index.js +2394 -1381
- package/test/unit/spec/meeting/locusMediaRequest.ts +436 -0
- package/test/unit/spec/meeting/muteState.js +370 -208
- package/test/unit/spec/meeting/request.js +354 -42
- package/test/unit/spec/meeting/utils.js +268 -156
- package/test/unit/spec/meeting-info/meetinginfov2.js +383 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +14 -0
- package/test/unit/spec/meetings/index.js +842 -128
- package/test/unit/spec/meetings/utils.js +206 -2
- package/test/unit/spec/member/index.js +24 -0
- package/test/unit/spec/member/util.js +384 -32
- package/test/unit/spec/members/index.js +320 -1
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +184 -0
- package/test/unit/spec/metrics/index.js +98 -0
- package/test/unit/spec/multistream/mediaRequestManager.ts +676 -105
- package/test/unit/spec/multistream/receiveSlot.ts +77 -18
- package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
- package/test/unit/spec/multistream/remoteMedia.ts +32 -2
- package/test/unit/spec/multistream/remoteMediaGroup.ts +271 -5
- package/test/unit/spec/multistream/remoteMediaManager.ts +672 -65
- package/test/unit/spec/networkQualityMonitor/index.js +4 -4
- package/test/unit/spec/reachability/index.ts +176 -25
- package/test/unit/spec/reachability/request.js +66 -0
- package/test/unit/spec/reconnection-manager/index.js +46 -13
- package/test/unit/spec/recording-controller/index.js +231 -0
- package/test/unit/spec/recording-controller/util.js +102 -0
- package/test/unit/spec/roap/index.ts +21 -51
- package/test/unit/spec/roap/request.ts +187 -0
- package/test/unit/spec/roap/turnDiscovery.ts +73 -34
- package/test/unit/spec/stats-analyzer/index.js +94 -43
- package/test/utils/constants.js +9 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -45
- package/test/utils/webex-config.js +4 -0
- package/test/utils/webex-test-users.js +7 -3
- package/tsconfig.json +6 -0
- package/dist/media/internal-media-core-wrapper.js +0 -22
- package/dist/media/internal-media-core-wrapper.js.map +0 -1
- package/dist/meeting/effectsState.js +0 -334
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/multistream/multistreamMedia.js +0 -117
- package/dist/multistream/multistreamMedia.js.map +0 -1
- package/src/index.js +0 -15
- package/src/media/internal-media-core-wrapper.ts +0 -9
- package/src/meeting/effectsState.ts +0 -211
- package/src/multistream/multistreamMedia.ts +0 -93
- 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();
|
|
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;
|
|
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
|
-
};
|
|
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
|
-
}
|
|
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);
|
|
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
|
-
|
|
186
|
-
|
|
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);
|
|
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));
|
|
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.');
|
|
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;
|
|
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
|
-
}
|
|
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
|
-
}
|
|
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;
|
|
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
|
-
}
|
|
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;
|
|
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
|
-
}
|
|
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
|
-
};
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
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);
|
|
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
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
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);
|
|
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);
|
|
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
|
-
}
|
|
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
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
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];
|
|
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;
|
|
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
|
-
|
|
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
|
-
});
|
|
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',
|