@webex/plugin-meetings 3.0.0-beta.2 → 3.0.0-beta.20
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/UPGRADING.md +9 -9
- package/browsers.js +19 -24
- package/dist/breakouts/breakout.js +116 -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/index.js +226 -0
- package/dist/breakouts/index.js.map +1 -0
- package/dist/common/browser-detection.js +1 -20
- 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 +10 -24
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +11 -24
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +12 -25
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +10 -24
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/parameter.js +5 -33
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +10 -24
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +9 -23
- 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 +10 -24
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +10 -24
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.js +6 -41
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +5 -25
- 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 +37 -60
- 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 +6 -6
- package/dist/config.js.map +1 -1
- package/dist/constants.js +88 -46
- package/dist/constants.js.map +1 -1
- package/dist/index.js +1 -17
- package/dist/index.js.map +1 -1
- package/dist/locus-info/controlsUtils.js +12 -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 +184 -190
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +3 -37
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +12 -38
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +92 -118
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +34 -91
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +67 -111
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +80 -114
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +2 -9
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +10 -12
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/effectsState.js +125 -190
- package/dist/meeting/effectsState.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +5 -14
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +1692 -1925
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +36 -77
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +224 -230
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js +7 -0
- package/dist/meeting/request.type.js.map +1 -0
- package/dist/meeting/state.js +21 -31
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.js +43 -215
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.js +6 -25
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.js +14 -32
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +193 -268
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +3 -15
- 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 +137 -228
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +5 -20
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +490 -560
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/request.js +24 -41
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +99 -155
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +78 -86
- package/dist/member/index.js.map +1 -1
- package/dist/member/util.js +31 -68
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +3 -12
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +93 -200
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +16 -39
- package/dist/members/request.js.map +1 -1
- package/dist/members/util.js +9 -38
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.js +0 -2
- package/dist/metrics/config.js.map +1 -1
- package/dist/metrics/constants.js +1 -2
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +55 -135
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +57 -32
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/multistreamMedia.js +15 -21
- package/dist/multistream/multistreamMedia.js.map +1 -1
- package/dist/multistream/receiveSlot.js +10 -50
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +45 -82
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +18 -58
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +6 -40
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +362 -416
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +36 -57
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/personal-meeting-room/index.js +21 -45
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +1 -31
- 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 +138 -182
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +3 -18
- 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 +109 -0
- package/dist/reactions/reactions.js.map +1 -0
- package/dist/reactions/reactions.type.js +36 -0
- package/dist/reactions/reactions.type.js.map +1 -0
- package/dist/reconnection-manager/index.js +322 -455
- 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 +39 -64
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +94 -113
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +85 -94
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/statsAnalyzer/global.js +0 -2
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +85 -175
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +72 -53
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +22 -47
- package/dist/transcription/index.js.map +1 -1
- package/internal-README.md +7 -6
- package/package.json +25 -20
- package/src/breakouts/README.md +190 -0
- package/src/breakouts/breakout.ts +110 -0
- package/src/breakouts/collection.ts +19 -0
- package/src/breakouts/index.ts +225 -0
- package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
- package/src/common/collection.ts +9 -7
- package/src/common/{config.js → config.ts} +1 -1
- package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
- package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
- package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
- package/src/common/errors/{media.js → media.ts} +11 -7
- package/src/common/errors/parameter.ts +11 -7
- package/src/common/errors/{password-error.js → password-error.ts} +11 -7
- package/src/common/errors/{permission.js → permission.ts} +10 -6
- package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
- package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
- package/src/common/errors/{stats.js → stats.ts} +11 -7
- package/src/common/errors/{webex-errors.js → webex-errors.ts} +8 -7
- package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
- package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
- package/src/common/events/{events.js → events.ts} +5 -1
- package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
- package/src/common/events/{util.js → util.ts} +2 -3
- package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
- package/src/common/logs/logger-proxy.ts +44 -0
- package/src/common/logs/{request.js → request.ts} +22 -9
- package/src/common/queue.ts +1 -2
- package/src/{config.js → config.ts} +17 -12
- package/src/constants.ts +40 -1
- package/src/index.js +1 -1
- package/src/locus-info/controlsUtils.ts +114 -0
- package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
- package/src/locus-info/{fullState.js → fullState.ts} +16 -12
- package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
- package/src/locus-info/{index.js → index.ts} +148 -64
- package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
- package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +17 -17
- package/src/locus-info/{parser.js → parser.ts} +67 -79
- package/src/locus-info/{selfUtils.js → selfUtils.ts} +123 -68
- package/src/media/{index.js → index.ts} +181 -131
- package/src/media/{properties.js → properties.ts} +47 -28
- package/src/media/{util.js → util.ts} +2 -2
- package/src/mediaQualityMetrics/{config.js → config.ts} +46 -46
- package/src/meeting/{effectsState.js → effectsState.ts} +47 -41
- package/src/meeting/in-meeting-actions.ts +15 -3
- package/src/meeting/{index.js → index.ts} +2263 -1427
- package/src/meeting/{muteState.js → muteState.ts} +78 -42
- package/src/meeting/{request.js → request.ts} +292 -142
- package/src/meeting/request.type.ts +13 -0
- package/src/meeting/{state.js → state.ts} +50 -35
- package/src/meeting/{util.js → util.ts} +112 -115
- package/src/meeting-info/{collection.js → collection.ts} +6 -2
- package/src/meeting-info/{index.js → index.ts} +42 -36
- package/src/meeting-info/meeting-info-v2.ts +273 -0
- package/src/meeting-info/{request.js → request.ts} +14 -4
- package/src/meeting-info/{util.js → util.ts} +60 -51
- package/src/meeting-info/{utilv2.js → utilv2.ts} +65 -58
- package/src/meetings/{collection.js → collection.ts} +6 -3
- package/src/meetings/index.ts +1159 -0
- package/src/meetings/{request.js → request.ts} +32 -25
- package/src/meetings/{util.js → util.ts} +34 -32
- package/src/member/{index.js → index.ts} +102 -56
- package/src/member/{util.js → util.ts} +52 -25
- package/src/members/{collection.js → collection.ts} +2 -2
- package/src/members/{index.js → index.ts} +219 -142
- package/src/members/{request.js → request.ts} +60 -16
- package/src/members/{util.js → util.ts} +50 -48
- package/src/metrics/{config.js → config.ts} +254 -83
- package/src/metrics/{constants.js → constants.ts} +0 -2
- package/src/metrics/{index.js → index.ts} +106 -74
- package/src/multistream/mediaRequestManager.ts +81 -15
- package/src/multistream/multistreamMedia.ts +5 -0
- package/src/multistream/receiveSlot.ts +18 -12
- package/src/multistream/receiveSlotManager.ts +23 -21
- package/src/multistream/remoteMedia.ts +15 -5
- package/src/multistream/remoteMediaGroup.ts +4 -3
- package/src/multistream/remoteMediaManager.ts +153 -37
- package/src/networkQualityMonitor/{index.js → index.ts} +37 -25
- package/src/personal-meeting-room/{index.js → index.ts} +28 -19
- package/src/personal-meeting-room/{request.js → request.ts} +13 -4
- package/src/personal-meeting-room/{util.js → util.ts} +4 -4
- package/src/reachability/{index.js → index.ts} +99 -83
- package/src/reachability/request.ts +39 -33
- package/src/reactions/constants.ts +4 -0
- package/src/reactions/reactions.ts +104 -0
- package/src/reactions/reactions.type.ts +62 -0
- package/src/reconnection-manager/{index.js → index.ts} +195 -102
- 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.js → index.ts} +73 -56
- package/src/roap/request.ts +157 -0
- package/src/roap/turnDiscovery.ts +77 -37
- package/src/statsAnalyzer/{global.js → global.ts} +30 -33
- package/src/statsAnalyzer/{index.js → index.ts} +468 -192
- package/src/statsAnalyzer/mqaUtil.ts +290 -0
- package/src/transcription/{index.js → index.ts} +46 -39
- package/test/integration/spec/journey.js +664 -463
- package/test/integration/spec/space-meeting.js +320 -206
- package/test/integration/spec/transcription.js +7 -8
- package/test/unit/spec/breakouts/breakout.ts +119 -0
- package/test/unit/spec/breakouts/collection.ts +15 -0
- package/test/unit/spec/breakouts/index.ts +293 -0
- package/test/unit/spec/common/browser-detection.js +9 -28
- package/test/unit/spec/fixture/locus.js +92 -90
- package/test/unit/spec/locus-info/controlsUtils.js +25 -5
- package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
- package/test/unit/spec/locus-info/index.js +104 -2
- package/test/unit/spec/locus-info/infoUtils.js +41 -32
- package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
- package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
- package/test/unit/spec/locus-info/parser.js +3 -9
- package/test/unit/spec/locus-info/selfConstant.js +97 -103
- package/test/unit/spec/locus-info/selfUtils.js +105 -12
- package/test/unit/spec/media/index.ts +31 -47
- package/test/unit/spec/media/properties.ts +9 -9
- package/test/unit/spec/meeting/effectsState.js +39 -45
- package/test/unit/spec/meeting/in-meeting-actions.ts +5 -2
- package/test/unit/spec/meeting/index.js +2017 -742
- package/test/unit/spec/meeting/muteState.js +42 -33
- package/test/unit/spec/meeting/request.js +115 -44
- package/test/unit/spec/meeting/utils.js +104 -171
- package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
- package/test/unit/spec/meeting-info/request.js +7 -9
- package/test/unit/spec/meeting-info/util.js +11 -12
- package/test/unit/spec/meeting-info/utilv2.js +110 -74
- package/test/unit/spec/meetings/collection.js +1 -1
- package/test/unit/spec/meetings/index.js +439 -257
- package/test/unit/spec/meetings/utils.js +14 -12
- package/test/unit/spec/member/index.js +0 -1
- package/test/unit/spec/member/util.js +31 -7
- package/test/unit/spec/members/index.js +104 -54
- package/test/unit/spec/members/request.js +29 -20
- package/test/unit/spec/members/utils.js +8 -5
- package/test/unit/spec/metrics/index.js +16 -21
- package/test/unit/spec/multistream/mediaRequestManager.ts +316 -50
- package/test/unit/spec/multistream/receiveSlot.ts +6 -6
- package/test/unit/spec/multistream/receiveSlotManager.ts +13 -13
- package/test/unit/spec/multistream/remoteMedia.ts +10 -2
- package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
- package/test/unit/spec/multistream/remoteMediaManager.ts +412 -65
- package/test/unit/spec/networkQualityMonitor/index.js +21 -15
- package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
- package/test/unit/spec/reachability/index.ts +58 -26
- package/test/unit/spec/reconnection-manager/index.js +102 -9
- 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 +2 -1
- package/test/unit/spec/roap/request.ts +114 -0
- package/test/unit/spec/roap/turnDiscovery.ts +64 -45
- package/test/unit/spec/stats-analyzer/index.js +27 -22
- package/test/utils/cmr.js +44 -42
- package/test/utils/testUtils.js +83 -74
- package/test/utils/webex-config.js +18 -18
- package/test/utils/webex-test-users.js +54 -50
- 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/peer-connection-manager/util.js +0 -124
- package/dist/peer-connection-manager/util.js.map +0 -1
- package/src/common/logs/logger-proxy.js +0 -33
- package/src/locus-info/controlsUtils.js +0 -102
- package/src/media/internal-media-core-wrapper.ts +0 -9
- package/src/meeting-info/meeting-info-v2.js +0 -255
- package/src/meetings/index.js +0 -1015
- package/src/peer-connection-manager/util.ts +0 -117
- package/src/roap/request.js +0 -127
- package/src/statsAnalyzer/mqaUtil.js +0 -173
- package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import {CONTENT, WHITEBOARD} from '../constants';
|
|
2
2
|
|
|
3
|
-
const MediaSharesUtils = {};
|
|
3
|
+
const MediaSharesUtils: any = {};
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* parses the relevant values for mediaShares: contentId, disposition
|
|
7
7
|
* @param {Object} mediaShares
|
|
8
8
|
* @returns {undefined}
|
|
9
9
|
*/
|
|
10
|
-
MediaSharesUtils.parse = (mediaShares) => {
|
|
10
|
+
MediaSharesUtils.parse = (mediaShares: object) => {
|
|
11
11
|
if (mediaShares) {
|
|
12
12
|
return {
|
|
13
13
|
content: {
|
|
14
14
|
beneficiaryId: MediaSharesUtils.getContentBeneficiaryId(mediaShares),
|
|
15
|
-
disposition: MediaSharesUtils.getContentDisposition(mediaShares)
|
|
15
|
+
disposition: MediaSharesUtils.getContentDisposition(mediaShares),
|
|
16
16
|
},
|
|
17
17
|
whiteboard: {
|
|
18
18
|
beneficiaryId: MediaSharesUtils.getWhiteboardBeneficiaryId(mediaShares),
|
|
19
19
|
disposition: MediaSharesUtils.getWhiteboardDisposition(mediaShares),
|
|
20
|
-
resourceUrl: MediaSharesUtils.getWhiteboardResourceUrl(mediaShares)
|
|
21
|
-
}
|
|
20
|
+
resourceUrl: MediaSharesUtils.getWhiteboardResourceUrl(mediaShares),
|
|
21
|
+
},
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -32,13 +32,13 @@ MediaSharesUtils.parse = (mediaShares) => {
|
|
|
32
32
|
* @returns {Object}
|
|
33
33
|
* previous: {Object} old share, current: {Object} new share,
|
|
34
34
|
*/
|
|
35
|
-
MediaSharesUtils.getMediaShares = (oldShare, newShare) => {
|
|
35
|
+
MediaSharesUtils.getMediaShares = (oldShare: object, newShare: object) => {
|
|
36
36
|
const previous = oldShare && MediaSharesUtils.parse(oldShare);
|
|
37
37
|
const current = newShare && MediaSharesUtils.parse(newShare);
|
|
38
38
|
|
|
39
39
|
return {
|
|
40
40
|
previous,
|
|
41
|
-
current
|
|
41
|
+
current,
|
|
42
42
|
};
|
|
43
43
|
};
|
|
44
44
|
|
|
@@ -47,7 +47,7 @@ MediaSharesUtils.getMediaShares = (oldShare, newShare) => {
|
|
|
47
47
|
* @param {Object} mediaShares
|
|
48
48
|
* @returns {Boolean} disposition
|
|
49
49
|
*/
|
|
50
|
-
MediaSharesUtils.getContentDisposition = (mediaShares) => {
|
|
50
|
+
MediaSharesUtils.getContentDisposition = (mediaShares: object) => {
|
|
51
51
|
const contentFloor = MediaSharesUtils.extractContentFloor(mediaShares);
|
|
52
52
|
|
|
53
53
|
return contentFloor ? contentFloor.disposition : null;
|
|
@@ -58,7 +58,7 @@ MediaSharesUtils.getContentDisposition = (mediaShares) => {
|
|
|
58
58
|
* @param {Object} mediaShares
|
|
59
59
|
* @returns {Boolean} disposition
|
|
60
60
|
*/
|
|
61
|
-
MediaSharesUtils.getWhiteboardDisposition = (mediaShares) => {
|
|
61
|
+
MediaSharesUtils.getWhiteboardDisposition = (mediaShares: object) => {
|
|
62
62
|
const whiteboardFloor = MediaSharesUtils.extractWhiteboardFloor(mediaShares);
|
|
63
63
|
|
|
64
64
|
return whiteboardFloor ? whiteboardFloor.disposition : null;
|
|
@@ -69,7 +69,7 @@ MediaSharesUtils.getWhiteboardDisposition = (mediaShares) => {
|
|
|
69
69
|
* @param {Object} mediaShares
|
|
70
70
|
* @returns {Object}
|
|
71
71
|
*/
|
|
72
|
-
MediaSharesUtils.extractContent = (mediaShares) => {
|
|
72
|
+
MediaSharesUtils.extractContent = (mediaShares: any) => {
|
|
73
73
|
if (!mediaShares || !mediaShares.length) {
|
|
74
74
|
return null;
|
|
75
75
|
}
|
|
@@ -82,7 +82,7 @@ MediaSharesUtils.extractContent = (mediaShares) => {
|
|
|
82
82
|
* @param {Object} mediaShares
|
|
83
83
|
* @returns {Object}
|
|
84
84
|
*/
|
|
85
|
-
MediaSharesUtils.extractWhiteboard = (mediaShares) => {
|
|
85
|
+
MediaSharesUtils.extractWhiteboard = (mediaShares: any) => {
|
|
86
86
|
if (!mediaShares || !mediaShares.length) {
|
|
87
87
|
return null;
|
|
88
88
|
}
|
|
@@ -95,7 +95,7 @@ MediaSharesUtils.extractWhiteboard = (mediaShares) => {
|
|
|
95
95
|
* @param {Object} mediaStream
|
|
96
96
|
* @returns {Object}
|
|
97
97
|
*/
|
|
98
|
-
MediaSharesUtils.extractFloor = (mediaStream) => {
|
|
98
|
+
MediaSharesUtils.extractFloor = (mediaStream: any) => {
|
|
99
99
|
if (!mediaStream) {
|
|
100
100
|
return null;
|
|
101
101
|
}
|
|
@@ -108,7 +108,7 @@ MediaSharesUtils.extractFloor = (mediaStream) => {
|
|
|
108
108
|
* @param {Object} mediaShares
|
|
109
109
|
* @returns {Object}
|
|
110
110
|
*/
|
|
111
|
-
MediaSharesUtils.extractContentFloor = (mediaShares) => {
|
|
111
|
+
MediaSharesUtils.extractContentFloor = (mediaShares: object) => {
|
|
112
112
|
const content = MediaSharesUtils.extractContent(mediaShares);
|
|
113
113
|
|
|
114
114
|
return MediaSharesUtils.extractFloor(content);
|
|
@@ -119,7 +119,7 @@ MediaSharesUtils.extractContentFloor = (mediaShares) => {
|
|
|
119
119
|
* @param {Object} mediaShares
|
|
120
120
|
* @returns {Object}
|
|
121
121
|
*/
|
|
122
|
-
MediaSharesUtils.extractWhiteboardFloor = (mediaShares) => {
|
|
122
|
+
MediaSharesUtils.extractWhiteboardFloor = (mediaShares: object) => {
|
|
123
123
|
const whiteboard = MediaSharesUtils.extractWhiteboard(mediaShares);
|
|
124
124
|
|
|
125
125
|
return MediaSharesUtils.extractFloor(whiteboard);
|
|
@@ -130,7 +130,7 @@ MediaSharesUtils.extractWhiteboardFloor = (mediaShares) => {
|
|
|
130
130
|
* @param {Object} mediaShares
|
|
131
131
|
* @returns {Object}
|
|
132
132
|
*/
|
|
133
|
-
MediaSharesUtils.getContentBeneficiaryId = (mediaShares) => {
|
|
133
|
+
MediaSharesUtils.getContentBeneficiaryId = (mediaShares: object) => {
|
|
134
134
|
const contentFloor = MediaSharesUtils.extractContentFloor(mediaShares);
|
|
135
135
|
|
|
136
136
|
if (!contentFloor || !contentFloor.beneficiary) {
|
|
@@ -145,7 +145,7 @@ MediaSharesUtils.getContentBeneficiaryId = (mediaShares) => {
|
|
|
145
145
|
* @param {Object} mediaShares
|
|
146
146
|
* @returns {Object}
|
|
147
147
|
*/
|
|
148
|
-
MediaSharesUtils.getWhiteboardBeneficiaryId = (mediaShares) => {
|
|
148
|
+
MediaSharesUtils.getWhiteboardBeneficiaryId = (mediaShares: object) => {
|
|
149
149
|
const whiteboardFloor = MediaSharesUtils.extractWhiteboardFloor(mediaShares);
|
|
150
150
|
|
|
151
151
|
if (!whiteboardFloor || !whiteboardFloor.beneficiary) {
|
|
@@ -160,7 +160,7 @@ MediaSharesUtils.getWhiteboardBeneficiaryId = (mediaShares) => {
|
|
|
160
160
|
* @param {Object} mediaShares
|
|
161
161
|
* @returns {Object}
|
|
162
162
|
*/
|
|
163
|
-
MediaSharesUtils.getWhiteboardResourceUrl = (mediaShares) => {
|
|
163
|
+
MediaSharesUtils.getWhiteboardResourceUrl = (mediaShares: object) => {
|
|
164
164
|
const whiteboard = MediaSharesUtils.extractWhiteboard(mediaShares);
|
|
165
165
|
|
|
166
166
|
if (!whiteboard || !whiteboard.resourceUrl) {
|
|
@@ -13,7 +13,7 @@ export default class Parser {
|
|
|
13
13
|
static status = {
|
|
14
14
|
IDLE: 'IDLE',
|
|
15
15
|
PAUSED: 'PAUSED',
|
|
16
|
-
WORKING: 'WORKING'
|
|
16
|
+
WORKING: 'WORKING',
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
// loci comparison states
|
|
@@ -24,21 +24,23 @@ export default class Parser {
|
|
|
24
24
|
DESYNC: 'DESYNC',
|
|
25
25
|
USE_INCOMING: 'USE_INCOMING',
|
|
26
26
|
USE_CURRENT: 'USE_CURRENT',
|
|
27
|
-
ERROR: 'ERROR'
|
|
27
|
+
ERROR: 'ERROR',
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
+
queue: any;
|
|
31
|
+
workingCopy: any;
|
|
30
32
|
|
|
31
33
|
/**
|
|
32
34
|
* @constructs Parser
|
|
33
35
|
*/
|
|
34
36
|
constructor() {
|
|
35
37
|
this.queue = new SimpleQueue();
|
|
38
|
+
// @ts-ignore - This is declared as static class member and again being initialized here from same
|
|
36
39
|
this.status = Parser.status.IDLE;
|
|
37
40
|
this.onDeltaAction = null;
|
|
38
41
|
this.workingCopy = null;
|
|
39
42
|
}
|
|
40
43
|
|
|
41
|
-
|
|
42
44
|
/**
|
|
43
45
|
* Checks if two sequences overlap in time,
|
|
44
46
|
* the sequence with the higher minimum value is greater.
|
|
@@ -65,7 +67,6 @@ export default class Parser {
|
|
|
65
67
|
return comparison;
|
|
66
68
|
}
|
|
67
69
|
|
|
68
|
-
|
|
69
70
|
/**
|
|
70
71
|
* Checks if two sequences have unequal ranges.
|
|
71
72
|
* Chooses sequence with most larger range.
|
|
@@ -91,8 +92,7 @@ export default class Parser {
|
|
|
91
92
|
else if (currentTotalRange < incomingTotalRange) {
|
|
92
93
|
// choose right side (incoming)
|
|
93
94
|
comparison = `${Parser.loci.LT}:UR002`;
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
95
|
+
} else {
|
|
96
96
|
// with no unique entries and with ranges either absent or
|
|
97
97
|
// of the same size, the sequences are considered equal.
|
|
98
98
|
comparison = `${Parser.loci.EQ}:UR003`;
|
|
@@ -102,7 +102,6 @@ export default class Parser {
|
|
|
102
102
|
return comparison;
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
|
|
106
105
|
/**
|
|
107
106
|
* Checks if either sequences has unique entries.
|
|
108
107
|
* Entries are considered unique if they do not overlap
|
|
@@ -131,7 +130,6 @@ export default class Parser {
|
|
|
131
130
|
return comparison;
|
|
132
131
|
}
|
|
133
132
|
|
|
134
|
-
|
|
135
133
|
/**
|
|
136
134
|
* Checks both Locus Delta objects to see if they are
|
|
137
135
|
* out of sync with one another. If so sends a DESYNC
|
|
@@ -161,12 +159,10 @@ export default class Parser {
|
|
|
161
159
|
|
|
162
160
|
// send DESYNC to server
|
|
163
161
|
comparison = `${Parser.loci.DESYNC}:OOS001:${debugInfo}`;
|
|
164
|
-
}
|
|
165
|
-
else if (currentUniqueMin > incomingUniqueMin) {
|
|
162
|
+
} else if (currentUniqueMin > incomingUniqueMin) {
|
|
166
163
|
// choose left side (current)
|
|
167
164
|
comparison = `${Parser.loci.GT}:OOS002`;
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
165
|
+
} else {
|
|
170
166
|
// choose right side (incoming)
|
|
171
167
|
comparison = `${Parser.loci.LT}:OOS003`;
|
|
172
168
|
}
|
|
@@ -174,7 +170,6 @@ export default class Parser {
|
|
|
174
170
|
return comparison;
|
|
175
171
|
}
|
|
176
172
|
|
|
177
|
-
|
|
178
173
|
/**
|
|
179
174
|
* Compares two loci to determine which one contains the most recent state
|
|
180
175
|
* @instance
|
|
@@ -188,7 +183,6 @@ export default class Parser {
|
|
|
188
183
|
const {extractComparisonState: extract} = Parser;
|
|
189
184
|
const {packComparisonResult: pack} = Parser;
|
|
190
185
|
|
|
191
|
-
|
|
192
186
|
if (isSequenceEmpty(current) || isSequenceEmpty(incoming)) {
|
|
193
187
|
return pack(Parser.loci.USE_INCOMING, 'C001');
|
|
194
188
|
}
|
|
@@ -203,7 +197,6 @@ export default class Parser {
|
|
|
203
197
|
return pack(action, result);
|
|
204
198
|
}
|
|
205
199
|
|
|
206
|
-
|
|
207
200
|
/**
|
|
208
201
|
* Compares two loci sequences (with delta params) and indicates what action
|
|
209
202
|
* to take.
|
|
@@ -214,17 +207,15 @@ export default class Parser {
|
|
|
214
207
|
* @private
|
|
215
208
|
* @returns {string} loci comparison state
|
|
216
209
|
*/
|
|
217
|
-
static compareDelta(current, incoming) {
|
|
218
|
-
const {
|
|
219
|
-
|
|
220
|
-
} = Parser.loci;
|
|
210
|
+
private static compareDelta(current, incoming) {
|
|
211
|
+
const {LT, GT, EQ, DESYNC, USE_INCOMING} = Parser.loci;
|
|
212
|
+
|
|
221
213
|
const {extractComparisonState: extract} = Parser;
|
|
222
214
|
const {packComparisonResult: pack} = Parser;
|
|
223
215
|
|
|
224
216
|
const result = Parser.compareSequence(current.sequence, incoming.sequence);
|
|
225
217
|
let comparison = extract(result);
|
|
226
218
|
|
|
227
|
-
|
|
228
219
|
if (comparison !== LT) {
|
|
229
220
|
return pack(Parser.compareToAction(comparison), result);
|
|
230
221
|
}
|
|
@@ -244,7 +235,6 @@ export default class Parser {
|
|
|
244
235
|
return pack(comparison, result);
|
|
245
236
|
}
|
|
246
237
|
|
|
247
|
-
|
|
248
238
|
/**
|
|
249
239
|
* Compares Locus sequences
|
|
250
240
|
* @param {Types~Locus} current Current working copy
|
|
@@ -255,8 +245,8 @@ export default class Parser {
|
|
|
255
245
|
// Locus sequence comparison rules in order of priority.
|
|
256
246
|
// https://sqbu-github.cisco.com/WebExSquared/cloud-apps/wiki/Locus-Sequence-Comparison-Algorithm
|
|
257
247
|
|
|
258
|
-
const local = Parser.getMetaData(current);
|
|
259
|
-
const delta = Parser.getMetaData(incoming);
|
|
248
|
+
const local: any = Parser.getMetaData(current);
|
|
249
|
+
const delta: any = Parser.getMetaData(incoming);
|
|
260
250
|
|
|
261
251
|
// update loci metadata
|
|
262
252
|
local.unique = Parser.getUniqueSequences(local, delta);
|
|
@@ -268,7 +258,7 @@ export default class Parser {
|
|
|
268
258
|
Parser.checkSequenceOverlap,
|
|
269
259
|
Parser.checkUnequalRanges,
|
|
270
260
|
Parser.checkForUniqueEntries,
|
|
271
|
-
Parser.checkIfOutOfSync
|
|
261
|
+
Parser.checkIfOutOfSync,
|
|
272
262
|
];
|
|
273
263
|
|
|
274
264
|
for (const rule of rules) {
|
|
@@ -287,16 +277,13 @@ export default class Parser {
|
|
|
287
277
|
return Parser.loci.ERROR;
|
|
288
278
|
}
|
|
289
279
|
|
|
290
|
-
|
|
291
280
|
/**
|
|
292
281
|
* Transates the result of a sequence comparison into an intended behavior
|
|
293
282
|
* @param {string} result
|
|
294
283
|
* @returns {string} Locus comparison action
|
|
295
284
|
*/
|
|
296
|
-
static compareToAction(result) {
|
|
297
|
-
const {
|
|
298
|
-
DESYNC, EQ, ERROR, GT, LT, USE_CURRENT, USE_INCOMING
|
|
299
|
-
} = Parser.loci;
|
|
285
|
+
static compareToAction(result: string) {
|
|
286
|
+
const {DESYNC, EQ, ERROR, GT, LT, USE_CURRENT, USE_INCOMING} = Parser.loci;
|
|
300
287
|
|
|
301
288
|
let action = ERROR;
|
|
302
289
|
|
|
@@ -312,23 +299,23 @@ export default class Parser {
|
|
|
312
299
|
action = DESYNC;
|
|
313
300
|
break;
|
|
314
301
|
default:
|
|
315
|
-
LoggerProxy.logger.info(
|
|
302
|
+
LoggerProxy.logger.info(
|
|
303
|
+
`Locus-info:parser#compareToAction --> Error: ${result} is not a recognized sequence comparison result.`
|
|
304
|
+
);
|
|
316
305
|
}
|
|
317
306
|
|
|
318
307
|
return action;
|
|
319
308
|
}
|
|
320
309
|
|
|
321
|
-
|
|
322
310
|
/**
|
|
323
311
|
* Extracts a loci comparison from a string of data.
|
|
324
312
|
* @param {string} lociComparisonResult Comparison result with extra data
|
|
325
313
|
* @returns {string} Comparison of EQ, LT, GT, or DESYNC.
|
|
326
314
|
*/
|
|
327
|
-
static extractComparisonState(lociComparisonResult) {
|
|
315
|
+
static extractComparisonState(lociComparisonResult: string) {
|
|
328
316
|
return lociComparisonResult.split(':')[0];
|
|
329
317
|
}
|
|
330
318
|
|
|
331
|
-
|
|
332
319
|
/**
|
|
333
320
|
* @typedef {object} LociMetadata
|
|
334
321
|
* @property {number} start - Starting sequence number
|
|
@@ -345,7 +332,7 @@ export default class Parser {
|
|
|
345
332
|
* @param {Array.<number>} sequence Locus delta sequence
|
|
346
333
|
* @returns {LociMetadata} Locus Delta Metadata
|
|
347
334
|
*/
|
|
348
|
-
static getMetaData(sequence) {
|
|
335
|
+
static getMetaData(sequence: any) {
|
|
349
336
|
const {entries} = sequence;
|
|
350
337
|
const first = entries[0];
|
|
351
338
|
const last = entries.slice(-1)[0];
|
|
@@ -365,11 +352,10 @@ export default class Parser {
|
|
|
365
352
|
// Grab last entry if exist else default to rangeEnd
|
|
366
353
|
max: last || end,
|
|
367
354
|
// keep reference to actual sequence entries
|
|
368
|
-
entries
|
|
355
|
+
entries,
|
|
369
356
|
};
|
|
370
357
|
}
|
|
371
358
|
|
|
372
|
-
|
|
373
359
|
/**
|
|
374
360
|
* Compares two Locus delta objects and notes unique
|
|
375
361
|
* values contained within baseLoci.
|
|
@@ -377,17 +363,14 @@ export default class Parser {
|
|
|
377
363
|
* @param {LociMetadata} otherLoci
|
|
378
364
|
* @returns {Array.<number>} List of unique sequences
|
|
379
365
|
*/
|
|
380
|
-
static getUniqueSequences(baseLoci, otherLoci) {
|
|
381
|
-
const diff = difference(
|
|
382
|
-
|
|
383
|
-
otherLoci.entries
|
|
384
|
-
);
|
|
366
|
+
static getUniqueSequences(baseLoci: any, otherLoci: any) {
|
|
367
|
+
const diff: any = difference(baseLoci.entries, otherLoci.entries);
|
|
368
|
+
|
|
385
369
|
const {start, end} = otherLoci;
|
|
386
370
|
|
|
387
371
|
return Parser.getNumbersOutOfRange(diff, start, end);
|
|
388
372
|
}
|
|
389
373
|
|
|
390
|
-
|
|
391
374
|
/**
|
|
392
375
|
* Returns an array of numbers outside of a given range.
|
|
393
376
|
* @param {Array.<number>} list Array to filter
|
|
@@ -395,7 +378,7 @@ export default class Parser {
|
|
|
395
378
|
* @param {number} rangeEnd End of range
|
|
396
379
|
* @returns {Array.<number>} Array of numbers sorted ASC
|
|
397
380
|
*/
|
|
398
|
-
static getNumbersOutOfRange(list
|
|
381
|
+
static getNumbersOutOfRange(list: Array<number>, rangeStart: number, rangeEnd: number) {
|
|
399
382
|
// Collect all numbers if number is outside of specified range
|
|
400
383
|
const output = list.filter((num) => num < rangeStart || num > rangeEnd);
|
|
401
384
|
|
|
@@ -403,7 +386,6 @@ export default class Parser {
|
|
|
403
386
|
return output.sort((a, b) => a - b);
|
|
404
387
|
}
|
|
405
388
|
|
|
406
|
-
|
|
407
389
|
/**
|
|
408
390
|
* Checks if newLoci or workingCopy is invalid.
|
|
409
391
|
* @param {Types~Locus} newLoci
|
|
@@ -413,21 +395,28 @@ export default class Parser {
|
|
|
413
395
|
let isValid = false;
|
|
414
396
|
const {IDLE} = Parser.status;
|
|
415
397
|
const {isLoci} = Parser;
|
|
416
|
-
|
|
398
|
+
// @ts-ignore
|
|
399
|
+
const setStatus = (status) => {
|
|
400
|
+
// @ts-ignore
|
|
401
|
+
this.status = status;
|
|
402
|
+
};
|
|
417
403
|
|
|
418
404
|
// one or both objects are not locus delta events
|
|
419
405
|
if (!isLoci(this.workingCopy) || !isLoci(newLoci)) {
|
|
420
406
|
setStatus(IDLE);
|
|
421
|
-
LoggerProxy.logger.info(
|
|
422
|
-
|
|
423
|
-
|
|
407
|
+
LoggerProxy.logger.info(
|
|
408
|
+
'Locus-info:parser#processDeltaEvent --> Ignoring non-locus object. workingCopy:',
|
|
409
|
+
this.workingCopy,
|
|
410
|
+
'newLoci:',
|
|
411
|
+
newLoci
|
|
412
|
+
);
|
|
413
|
+
} else {
|
|
424
414
|
isValid = true;
|
|
425
415
|
}
|
|
426
416
|
|
|
427
417
|
return isValid;
|
|
428
418
|
}
|
|
429
419
|
|
|
430
|
-
|
|
431
420
|
/**
|
|
432
421
|
* Determines if a paricular locus's sequence is empty
|
|
433
422
|
* @param {Types~Locus} locus
|
|
@@ -441,7 +430,6 @@ export default class Parser {
|
|
|
441
430
|
return hasEmptyEntries && hasEmptyRange;
|
|
442
431
|
}
|
|
443
432
|
|
|
444
|
-
|
|
445
433
|
/**
|
|
446
434
|
* Determines if an object has basic
|
|
447
435
|
* structure of a locus object.
|
|
@@ -452,8 +440,7 @@ export default class Parser {
|
|
|
452
440
|
if (!loci || !loci.sequence) {
|
|
453
441
|
return false;
|
|
454
442
|
}
|
|
455
|
-
const hasProp = (prop) =>
|
|
456
|
-
Object.prototype.hasOwnProperty.call(loci.sequence, prop);
|
|
443
|
+
const hasProp = (prop) => Object.prototype.hasOwnProperty.call(loci.sequence, prop);
|
|
457
444
|
|
|
458
445
|
if (hasProp('rangeStart') && hasProp('rangeEnd')) {
|
|
459
446
|
return true;
|
|
@@ -468,6 +455,7 @@ export default class Parser {
|
|
|
468
455
|
* @returns {undefined}
|
|
469
456
|
*/
|
|
470
457
|
nextEvent() {
|
|
458
|
+
// @ts-ignore
|
|
471
459
|
if (this.status === Parser.status.PAUSED) {
|
|
472
460
|
LoggerProxy.logger.info('Locus-info:parser#nextEvent --> Locus parser paused.');
|
|
473
461
|
|
|
@@ -477,13 +465,12 @@ export default class Parser {
|
|
|
477
465
|
// continue processing until queue is empty
|
|
478
466
|
if (this.queue.size() > 0) {
|
|
479
467
|
this.processDeltaEvent();
|
|
480
|
-
}
|
|
481
|
-
|
|
468
|
+
} else {
|
|
469
|
+
// @ts-ignore
|
|
482
470
|
this.status = Parser.status.IDLE;
|
|
483
471
|
}
|
|
484
472
|
}
|
|
485
473
|
|
|
486
|
-
|
|
487
474
|
/**
|
|
488
475
|
* Function handler for delta actions,
|
|
489
476
|
* is set by instance callee.
|
|
@@ -492,8 +479,7 @@ export default class Parser {
|
|
|
492
479
|
* @returns {undefined}
|
|
493
480
|
*/
|
|
494
481
|
// eslint-disable-next-line no-unused-vars
|
|
495
|
-
onDeltaAction(action, locus) {}
|
|
496
|
-
|
|
482
|
+
onDeltaAction(action: string, locus) {}
|
|
497
483
|
|
|
498
484
|
/**
|
|
499
485
|
* Event handler for locus delta events
|
|
@@ -505,36 +491,36 @@ export default class Parser {
|
|
|
505
491
|
this.queue.enqueue(loci);
|
|
506
492
|
// start processing events in the queue if idle
|
|
507
493
|
// and a function handler is defined
|
|
494
|
+
// @ts-ignore
|
|
508
495
|
if (this.status === Parser.status.IDLE && this.onDeltaAction) {
|
|
509
496
|
// Update status, ensure we only process one event at a time.
|
|
497
|
+
// @ts-ignore
|
|
510
498
|
this.status = Parser.status.WORKING;
|
|
511
499
|
|
|
512
500
|
this.processDeltaEvent();
|
|
513
501
|
}
|
|
514
502
|
}
|
|
515
503
|
|
|
516
|
-
|
|
517
504
|
/**
|
|
518
505
|
* Appends new data onto a string of existing data.
|
|
519
506
|
* @param {string} newData
|
|
520
507
|
* @param {string} oldData
|
|
521
508
|
* @returns {string}
|
|
522
509
|
*/
|
|
523
|
-
static packComparisonResult(newData, oldData) {
|
|
510
|
+
static packComparisonResult(newData: string, oldData: string) {
|
|
524
511
|
return `${newData}:${oldData}`;
|
|
525
512
|
}
|
|
526
513
|
|
|
527
|
-
|
|
528
514
|
/**
|
|
529
515
|
* Pause locus processing
|
|
530
516
|
* @returns {undefined}
|
|
531
517
|
*/
|
|
532
518
|
pause() {
|
|
519
|
+
// @ts-ignore
|
|
533
520
|
this.status = Parser.status.PAUSED;
|
|
534
521
|
LoggerProxy.logger.info('Locus-info:parser#pause --> Locus parser paused.');
|
|
535
522
|
}
|
|
536
523
|
|
|
537
|
-
|
|
538
524
|
/**
|
|
539
525
|
* Processes next locus delta in the queue,
|
|
540
526
|
* continues until the queue is empty
|
|
@@ -560,8 +546,7 @@ export default class Parser {
|
|
|
560
546
|
if (lociComparison === DESYNC) {
|
|
561
547
|
// wait for desync response
|
|
562
548
|
this.pause();
|
|
563
|
-
}
|
|
564
|
-
else if (lociComparison === USE_INCOMING) {
|
|
549
|
+
} else if (lociComparison === USE_INCOMING) {
|
|
565
550
|
// update working copy for future comparisons.
|
|
566
551
|
// Note: The working copy of parser gets updated in .onFullLocus()
|
|
567
552
|
// and here when USE_INCOMING locus.
|
|
@@ -569,39 +554,42 @@ export default class Parser {
|
|
|
569
554
|
}
|
|
570
555
|
|
|
571
556
|
if (this.onDeltaAction) {
|
|
572
|
-
LoggerProxy.logger.info(
|
|
557
|
+
LoggerProxy.logger.info(
|
|
558
|
+
`Locus-info:parser#processDeltaEvent --> Locus Delta Action: ${lociComparison}`
|
|
559
|
+
);
|
|
560
|
+
|
|
561
|
+
// eslint-disable-next-line no-useless-call
|
|
573
562
|
this.onDeltaAction.call(this, lociComparison, newLoci);
|
|
574
563
|
}
|
|
575
564
|
|
|
576
565
|
this.nextEvent();
|
|
577
566
|
}
|
|
578
567
|
|
|
579
|
-
|
|
580
568
|
/**
|
|
581
569
|
* Resume from a paused state
|
|
582
570
|
* @returns {undefined}
|
|
583
571
|
*/
|
|
584
572
|
resume() {
|
|
585
573
|
LoggerProxy.logger.info('Locus-info:parser#resume --> Locus parser resumed.');
|
|
574
|
+
// @ts-ignore
|
|
586
575
|
this.status = Parser.status.WORKING;
|
|
587
576
|
this.nextEvent();
|
|
588
577
|
}
|
|
589
578
|
|
|
590
|
-
|
|
591
579
|
/**
|
|
592
580
|
* Gets related debug info for given error code
|
|
593
581
|
* @param {string} debugCode Debug code
|
|
594
582
|
* @param {string} comparison Locus comparison string
|
|
595
583
|
* @returns {object} Debug message
|
|
596
584
|
*/
|
|
597
|
-
static getDebugMessage(debugCode, comparison) {
|
|
585
|
+
static getDebugMessage(debugCode: string, comparison: string) {
|
|
598
586
|
// removes extra spaces from multiline string
|
|
599
587
|
const mStr = (strings) => strings.join('').replace(/\s{2,}/g, ' ');
|
|
600
588
|
|
|
601
589
|
const resolutionMap = {
|
|
602
590
|
EQ: `${Parser.loci.LT}: is equal (current == incoming).`,
|
|
603
591
|
LT: `${Parser.loci.LT}: choose right side (incoming).`,
|
|
604
|
-
GT: `${Parser.loci.GT}: choose left side (current)
|
|
592
|
+
GT: `${Parser.loci.GT}: choose left side (current).`,
|
|
605
593
|
};
|
|
606
594
|
|
|
607
595
|
const debugMap = {
|
|
@@ -609,28 +597,28 @@ export default class Parser {
|
|
|
609
597
|
title: 'checkSequenceOverlap-001',
|
|
610
598
|
description: mStr`Occurs if earliest working copy sequence is more \
|
|
611
599
|
recent than last incoming sequence.`,
|
|
612
|
-
logic: 'current.min > incoming.max'
|
|
600
|
+
logic: 'current.min > incoming.max',
|
|
613
601
|
},
|
|
614
602
|
|
|
615
603
|
SO002: {
|
|
616
604
|
title: 'checkSequenceOverlap-002',
|
|
617
605
|
description: mStr`Occurs if last working copy sequence is before the \
|
|
618
606
|
earliest incoming sequence.`,
|
|
619
|
-
logic: 'current.max < incoming.min'
|
|
607
|
+
logic: 'current.max < incoming.min',
|
|
620
608
|
},
|
|
621
609
|
|
|
622
610
|
UR001: {
|
|
623
611
|
title: 'checkUnequalRanges-001',
|
|
624
612
|
description: mStr`Occurs if there are no unique values for both loci, \
|
|
625
613
|
and the current working copy loci has a larger range.`,
|
|
626
|
-
logic: 'currentTotalRange > incomingTotalRange'
|
|
614
|
+
logic: 'currentTotalRange > incomingTotalRange',
|
|
627
615
|
},
|
|
628
616
|
|
|
629
617
|
UR002: {
|
|
630
618
|
title: 'checkUnequalRanges-002',
|
|
631
619
|
description: mStr`Occurs if there are no unique values for both loci, \
|
|
632
620
|
and the incoming delta loci has a larger range.`,
|
|
633
|
-
logic: 'currentTotalRange < incomingTotalRange'
|
|
621
|
+
logic: 'currentTotalRange < incomingTotalRange',
|
|
634
622
|
},
|
|
635
623
|
|
|
636
624
|
UR003: {
|
|
@@ -638,7 +626,7 @@ export default class Parser {
|
|
|
638
626
|
description: mStr`Occurs if there are no unique values for both loci, \
|
|
639
627
|
and with ranges either absent or of the same size, the sequences \
|
|
640
628
|
are considered equal.`,
|
|
641
|
-
logic: 'currentTotalRange == incomingTotalRange'
|
|
629
|
+
logic: 'currentTotalRange == incomingTotalRange',
|
|
642
630
|
},
|
|
643
631
|
|
|
644
632
|
UE001: {
|
|
@@ -646,7 +634,7 @@ export default class Parser {
|
|
|
646
634
|
description: mStr`Occurs if current loci has unique entries and \
|
|
647
635
|
incoming does not. Entries are considered unique if they \
|
|
648
636
|
do not overlap with other Loci sequences or range values.`,
|
|
649
|
-
logic: 'currentIsUnique && !incomingIsUnique'
|
|
637
|
+
logic: 'currentIsUnique && !incomingIsUnique',
|
|
650
638
|
},
|
|
651
639
|
|
|
652
640
|
UE002: {
|
|
@@ -654,7 +642,7 @@ export default class Parser {
|
|
|
654
642
|
description: mStr`Occurs if current has no unique entries but \
|
|
655
643
|
incoming does. Entries are considered unique if they \
|
|
656
644
|
do not overlap with other Loci sequences or range values.`,
|
|
657
|
-
logic: '!currentIsUnique && incomingIsUnique'
|
|
645
|
+
logic: '!currentIsUnique && incomingIsUnique',
|
|
658
646
|
},
|
|
659
647
|
|
|
660
648
|
OOS001: {
|
|
@@ -663,7 +651,7 @@ export default class Parser {
|
|
|
663
651
|
if the current loci unique entries overlap the total range of the \
|
|
664
652
|
incoming sequence, or if the incoming unique entries overlap \
|
|
665
653
|
the total range of current sequence.`,
|
|
666
|
-
logic: 'neitherSeqHasRange || currentUniqOverlap || incomingUniqOverlap'
|
|
654
|
+
logic: 'neitherSeqHasRange || currentUniqOverlap || incomingUniqOverlap',
|
|
667
655
|
},
|
|
668
656
|
|
|
669
657
|
OOS002: {
|
|
@@ -671,15 +659,15 @@ export default class Parser {
|
|
|
671
659
|
description: mStr`Occurs if the minimum value from sequences that are \
|
|
672
660
|
unique to the current loci is greater than the minimum value from \
|
|
673
661
|
sequences that are unique to the incoming loci.`,
|
|
674
|
-
logic: 'currentUniqueMin > incomingUniqueMin'
|
|
662
|
+
logic: 'currentUniqueMin > incomingUniqueMin',
|
|
675
663
|
},
|
|
676
664
|
|
|
677
665
|
OOS003: {
|
|
678
666
|
title: 'checkIfOutOfSync-003',
|
|
679
667
|
description: mStr`Occurs if none of the comparison rules applied. \
|
|
680
668
|
It is a catch all.`,
|
|
681
|
-
logic: 'else (catch all)'
|
|
682
|
-
}
|
|
669
|
+
logic: 'else (catch all)',
|
|
670
|
+
},
|
|
683
671
|
};
|
|
684
672
|
|
|
685
673
|
const debugObj = debugMap[debugCode];
|