@webex/plugin-meetings 3.0.0-beta.10 → 3.0.0-beta.104
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/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.js +48 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +357 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +176 -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 +919 -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 -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 +5 -26
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +5 -26
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +6 -27
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +5 -26
- 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 +5 -26
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +4 -25
- 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 +5 -26
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +5 -26
- 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 +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 +6 -6
- package/dist/config.js.map +1 -1
- package/dist/constants.js +173 -52
- 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 +25 -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 +250 -0
- package/dist/controls-options-manager/util.js.map +1 -0
- package/dist/index.js +72 -17
- package/dist/index.js.map +1 -1
- package/dist/locus-info/controlsUtils.js +56 -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 +327 -211
- 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 +12 -38
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +88 -123
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +99 -91
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +62 -147
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +71 -117
- 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 +505 -495
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +59 -14
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2396 -2388
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +252 -113
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +318 -283
- 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 +58 -217
- 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 +10 -33
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +263 -282
- 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 +155 -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 +675 -593
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/request.js +23 -42
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +177 -155
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +80 -88
- 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 +90 -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 +162 -204
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +58 -53
- 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 +107 -44
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.js +5 -14
- package/dist/metrics/config.js.map +1 -1
- package/dist/metrics/constants.js +3 -7
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +61 -161
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +167 -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 +74 -93
- 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 +6 -40
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +466 -442
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +32 -59
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/personal-meeting-room/index.js +10 -45
- 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 +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 +326 -465
- 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 +38 -67
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +143 -134
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +149 -101
- 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 -461
- 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 +13 -45
- package/dist/transcription/index.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +34 -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 +78 -0
- package/dist/types/constants.d.ts +968 -0
- package/dist/types/controls-options-manager/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/enums.d.ts +13 -0
- package/dist/types/controls-options-manager/index.d.ts +136 -0
- package/dist/types/controls-options-manager/types.d.ts +37 -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 +108 -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 +129 -0
- package/dist/types/meeting/index.d.ts +1748 -0
- package/dist/types/meeting/muteState.d.ts +185 -0
- package/dist/types/meeting/request.d.ts +275 -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 +2 -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 +112 -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 +345 -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 +156 -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 +69 -0
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +2 -0
- package/dist/types/metrics/config.d.ts +172 -0
- package/dist/types/metrics/constants.d.ts +54 -0
- package/dist/types/metrics/index.d.ts +152 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +101 -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 +263 -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 +38 -0
- package/dist/types/roap/turnDiscovery.d.ts +88 -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/internal-README.md +7 -6
- package/package.json +28 -21
- package/src/annotation/annotation.types.ts +41 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +339 -0
- package/src/breakouts/README.md +219 -0
- package/src/breakouts/breakout.ts +141 -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 +823 -0
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -0
- package/src/common/browser-detection.ts +9 -6
- package/src/common/collection.ts +3 -1
- package/src/common/errors/captcha-error.ts +6 -6
- package/src/common/errors/intent-to-join.ts +6 -6
- package/src/common/errors/join-meeting.ts +12 -8
- package/src/common/errors/media.ts +6 -6
- package/src/common/errors/parameter.ts +9 -6
- package/src/common/errors/password-error.ts +6 -6
- package/src/common/errors/permission.ts +5 -5
- package/src/common/errors/reconnection.ts +6 -6
- package/src/common/errors/stats.ts +6 -6
- package/src/common/errors/webex-errors.ts +7 -5
- package/src/common/errors/webex-meetings-error.ts +1 -1
- package/src/common/events/events-scope.ts +5 -1
- package/src/common/events/events.ts +5 -1
- package/src/common/events/trigger-proxy.ts +8 -3
- package/src/common/events/util.ts +1 -2
- package/src/common/logs/logger-proxy.ts +21 -10
- package/src/common/logs/request.ts +11 -8
- package/src/config.ts +16 -12
- package/src/constants.ts +119 -6
- package/src/controls-options-manager/constants.ts +5 -0
- package/src/controls-options-manager/enums.ts +16 -0
- package/src/controls-options-manager/index.ts +278 -0
- package/src/controls-options-manager/types.ts +49 -0
- package/src/controls-options-manager/util.ts +229 -0
- package/src/index.ts +33 -0
- package/src/locus-info/controlsUtils.ts +91 -24
- package/src/locus-info/fullState.ts +15 -11
- package/src/locus-info/hostUtils.ts +4 -3
- package/src/locus-info/index.ts +270 -54
- package/src/locus-info/infoUtils.ts +12 -4
- package/src/locus-info/mediaSharesUtils.ts +4 -4
- package/src/locus-info/parser.ts +46 -68
- package/src/locus-info/selfUtils.ts +187 -56
- package/src/media/index.ts +142 -172
- package/src/media/properties.ts +43 -36
- package/src/media/util.ts +1 -1
- package/src/mediaQualityMetrics/config.ts +380 -378
- package/src/meeting/in-meeting-actions.ts +123 -3
- package/src/meeting/index.ts +2617 -1545
- package/src/meeting/muteState.ts +271 -68
- package/src/meeting/request.ts +251 -132
- package/src/meeting/request.type.ts +13 -0
- package/src/meeting/state.ts +45 -30
- package/src/meeting/util.ts +119 -110
- package/src/meeting-info/collection.ts +2 -1
- package/src/meeting-info/index.ts +32 -30
- package/src/meeting-info/meeting-info-v2.ts +181 -109
- package/src/meeting-info/request.ts +9 -3
- package/src/meeting-info/util.ts +54 -46
- package/src/meeting-info/utilv2.ts +70 -55
- package/src/meetings/collection.ts +21 -1
- package/src/meetings/index.ts +749 -437
- package/src/meetings/request.ts +29 -25
- package/src/meetings/util.ts +122 -33
- package/src/member/index.ts +86 -49
- package/src/member/types.ts +24 -0
- package/src/member/util.ts +92 -13
- package/src/members/collection.ts +8 -1
- package/src/members/index.ts +281 -129
- package/src/members/request.ts +87 -14
- package/src/members/types.ts +28 -0
- package/src/members/util.ts +140 -49
- package/src/metrics/config.ts +256 -90
- package/src/metrics/constants.ts +1 -6
- package/src/metrics/index.ts +96 -96
- package/src/multistream/mediaRequestManager.ts +203 -45
- package/src/multistream/receiveSlot.ts +69 -26
- package/src/multistream/receiveSlotManager.ts +62 -38
- package/src/multistream/remoteMedia.ts +30 -4
- package/src/multistream/remoteMediaGroup.ts +4 -3
- package/src/multistream/remoteMediaManager.ts +230 -66
- package/src/networkQualityMonitor/index.ts +24 -27
- package/src/personal-meeting-room/index.ts +12 -16
- package/src/personal-meeting-room/request.ts +10 -3
- package/src/personal-meeting-room/util.ts +3 -3
- package/src/reachability/index.ts +131 -79
- package/src/reachability/request.ts +43 -34
- 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.ts +193 -111
- 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 +63 -51
- package/src/roap/request.ts +86 -53
- package/src/roap/turnDiscovery.ts +105 -46
- package/src/statsAnalyzer/global.ts +8 -104
- package/src/statsAnalyzer/index.ts +624 -376
- package/src/statsAnalyzer/mqaUtil.ts +203 -90
- package/src/transcription/index.ts +34 -32
- package/test/integration/spec/converged-space-meetings.js +177 -0
- package/test/integration/spec/journey.js +666 -464
- package/test/integration/spec/space-meeting.js +320 -204
- package/test/integration/spec/transcription.js +7 -8
- package/test/unit/spec/annotation/index.ts +435 -0
- package/test/unit/spec/breakouts/breakout.ts +184 -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 +1504 -0
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +72 -0
- package/test/unit/spec/common/browser-detection.js +9 -28
- package/test/unit/spec/controls-options-manager/index.js +287 -0
- package/test/unit/spec/controls-options-manager/util.js +403 -0
- package/test/unit/spec/fixture/locus.js +92 -90
- package/test/unit/spec/locus-info/controlsUtils.js +177 -32
- package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
- package/test/unit/spec/locus-info/index.js +493 -3
- package/test/unit/spec/locus-info/infoUtils.js +26 -33
- 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 +110 -103
- package/test/unit/spec/locus-info/selfUtils.js +236 -12
- package/test/unit/spec/media/index.ts +104 -8
- package/test/unit/spec/media/properties.ts +9 -9
- package/test/unit/spec/meeting/in-meeting-actions.ts +58 -3
- package/test/unit/spec/meeting/index.js +2649 -837
- package/test/unit/spec/meeting/muteState.js +368 -70
- package/test/unit/spec/meeting/request.js +217 -43
- package/test/unit/spec/meeting/utils.js +146 -165
- package/test/unit/spec/meeting-info/meetinginfov2.js +268 -74
- 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 +131 -74
- package/test/unit/spec/meetings/collection.js +15 -1
- package/test/unit/spec/meetings/index.js +1052 -329
- package/test/unit/spec/meetings/utils.js +163 -14
- package/test/unit/spec/member/index.js +24 -1
- package/test/unit/spec/member/util.js +359 -32
- package/test/unit/spec/members/index.js +402 -54
- package/test/unit/spec/members/request.js +76 -20
- package/test/unit/spec/members/utils.js +191 -4
- package/test/unit/spec/metrics/index.js +46 -20
- package/test/unit/spec/multistream/mediaRequestManager.ts +650 -105
- package/test/unit/spec/multistream/receiveSlot.ts +76 -17
- 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 +5 -5
- package/test/unit/spec/multistream/remoteMediaManager.ts +549 -65
- package/test/unit/spec/networkQualityMonitor/index.js +24 -18
- package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
- package/test/unit/spec/reachability/index.ts +176 -27
- package/test/unit/spec/reachability/request.js +66 -0
- package/test/unit/spec/reconnection-manager/index.js +62 -31
- 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 -16
- package/test/unit/spec/roap/request.ts +217 -0
- package/test/unit/spec/roap/turnDiscovery.ts +93 -49
- package/test/unit/spec/stats-analyzer/index.js +116 -60
- package/test/utils/cmr.js +44 -42
- package/test/utils/constants.js +9 -0
- package/test/utils/integrationTestUtils.js +64 -0
- package/test/utils/testUtils.js +63 -99
- package/test/utils/webex-config.js +22 -18
- package/test/utils/webex-test-users.js +57 -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/meeting/effectsState.js +0 -334
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/multistream/multistreamMedia.js +0 -116
- 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 -92
- package/test/unit/spec/meeting/effectsState.js +0 -291
package/dist/member/util.js
CHANGED
|
@@ -1,54 +1,104 @@
|
|
|
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
|
-
|
|
9
|
+
var _types = require("./types");
|
|
13
10
|
var _constants = require("../constants");
|
|
14
|
-
|
|
15
11
|
var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
|
|
16
|
-
|
|
17
12
|
var MemberUtil = {};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @param {Object} participant the locus participant
|
|
16
|
+
* @returns {[ServerRoleShape]}
|
|
17
|
+
*/
|
|
18
|
+
MemberUtil.getControlsRoles = function (participant) {
|
|
19
|
+
var _participant$controls, _participant$controls2;
|
|
20
|
+
return participant === null || participant === void 0 ? void 0 : (_participant$controls = participant.controls) === null || _participant$controls === void 0 ? void 0 : (_participant$controls2 = _participant$controls.role) === null || _participant$controls2 === void 0 ? void 0 : _participant$controls2.roles;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @param {Object} participant the locus participant
|
|
25
|
+
* @param {ServerRoles} controlRole the search role
|
|
26
|
+
* @returns {Boolean}
|
|
27
|
+
*/
|
|
28
|
+
MemberUtil.hasRole = function (participant, controlRole) {
|
|
29
|
+
var _MemberUtil$getContro;
|
|
30
|
+
return (_MemberUtil$getContro = MemberUtil.getControlsRoles(participant)) === null || _MemberUtil$getContro === void 0 ? void 0 : _MemberUtil$getContro.some(function (role) {
|
|
31
|
+
return role.type === controlRole && role.hasRole;
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @param {Object} participant the locus participant
|
|
37
|
+
* @returns {Boolean}
|
|
38
|
+
*/
|
|
39
|
+
MemberUtil.hasCohost = function (participant) {
|
|
40
|
+
return MemberUtil.hasRole(participant, _types.ServerRoles.Cohost) || false;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @param {Object} participant the locus participant
|
|
45
|
+
* @returns {Boolean}
|
|
46
|
+
*/
|
|
47
|
+
MemberUtil.hasModerator = function (participant) {
|
|
48
|
+
return MemberUtil.hasRole(participant, _types.ServerRoles.Moderator) || false;
|
|
49
|
+
};
|
|
50
|
+
|
|
18
51
|
/**
|
|
19
52
|
* @param {Object} participant the locus participant
|
|
20
53
|
* @returns {Boolean}
|
|
21
54
|
*/
|
|
55
|
+
MemberUtil.hasPresenter = function (participant) {
|
|
56
|
+
return MemberUtil.hasRole(participant, _types.ServerRoles.Presenter) || false;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @param {Object} participant the locus participant
|
|
61
|
+
* @returns {IExternalRoles}
|
|
62
|
+
*/
|
|
63
|
+
MemberUtil.extractControlRoles = function (participant) {
|
|
64
|
+
var roles = {
|
|
65
|
+
cohost: MemberUtil.hasCohost(participant),
|
|
66
|
+
moderator: MemberUtil.hasModerator(participant),
|
|
67
|
+
presenter: MemberUtil.hasPresenter(participant)
|
|
68
|
+
};
|
|
69
|
+
return roles;
|
|
70
|
+
};
|
|
22
71
|
|
|
72
|
+
/**
|
|
73
|
+
* @param {Object} participant the locus participant
|
|
74
|
+
* @returns {Boolean}
|
|
75
|
+
*/
|
|
23
76
|
MemberUtil.isUser = function (participant) {
|
|
24
77
|
return participant && participant.type === _constants._USER_;
|
|
25
78
|
};
|
|
26
|
-
|
|
27
79
|
MemberUtil.isModerator = function (participant) {
|
|
28
80
|
return participant && participant.moderator;
|
|
29
81
|
};
|
|
82
|
+
|
|
30
83
|
/**
|
|
31
84
|
* @param {Object} participant the locus participant
|
|
32
85
|
* @returns {Boolean}
|
|
33
86
|
*/
|
|
34
|
-
|
|
35
|
-
|
|
36
87
|
MemberUtil.isGuest = function (participant) {
|
|
37
88
|
return participant && participant.guest;
|
|
38
89
|
};
|
|
90
|
+
|
|
39
91
|
/**
|
|
40
92
|
* @param {Object} participant the locus participant
|
|
41
93
|
* @returns {Boolean}
|
|
42
94
|
*/
|
|
43
|
-
|
|
44
|
-
|
|
45
95
|
MemberUtil.isDevice = function (participant) {
|
|
46
96
|
return participant && participant.type === _constants._RESOURCE_ROOM_;
|
|
47
97
|
};
|
|
48
|
-
|
|
49
98
|
MemberUtil.isModeratorAssignmentProhibited = function (participant) {
|
|
50
99
|
return participant && participant.moderatorAssignmentNotAllowed;
|
|
51
100
|
};
|
|
101
|
+
|
|
52
102
|
/**
|
|
53
103
|
* checks to see if the participant id is the same as the passed id
|
|
54
104
|
* there are multiple ids that can be used
|
|
@@ -56,11 +106,10 @@ MemberUtil.isModeratorAssignmentProhibited = function (participant) {
|
|
|
56
106
|
* @param {String} id
|
|
57
107
|
* @returns {Boolean}
|
|
58
108
|
*/
|
|
59
|
-
|
|
60
|
-
|
|
61
109
|
MemberUtil.isSame = function (participant, id) {
|
|
62
110
|
return participant && (participant.id === id || participant.person && participant.person.id === id);
|
|
63
111
|
};
|
|
112
|
+
|
|
64
113
|
/**
|
|
65
114
|
* checks to see if the participant id is the same as the passed id for associated devices
|
|
66
115
|
* there are multiple ids that can be used
|
|
@@ -68,185 +117,165 @@ MemberUtil.isSame = function (participant, id) {
|
|
|
68
117
|
* @param {String} id
|
|
69
118
|
* @returns {Boolean}
|
|
70
119
|
*/
|
|
71
|
-
|
|
72
|
-
|
|
73
120
|
MemberUtil.isAssociatedSame = function (participant, id) {
|
|
74
121
|
return participant && participant.associatedUsers && participant.associatedUsers.some(function (user) {
|
|
75
122
|
return user.id === id || user.person && user.person.id === id;
|
|
76
123
|
});
|
|
77
124
|
};
|
|
125
|
+
|
|
78
126
|
/**
|
|
79
127
|
* @param {Object} participant the locus participant
|
|
80
128
|
* @param {Boolean} isGuest
|
|
81
129
|
* @param {String} status
|
|
82
130
|
* @returns {Boolean}
|
|
83
131
|
*/
|
|
84
|
-
|
|
85
|
-
|
|
86
132
|
MemberUtil.isNotAdmitted = function (participant, isGuest, status) {
|
|
87
|
-
return participant && participant.guest && (participant.devices && participant.devices[0] && participant.devices[0].intent && participant.devices[0].intent.type === _constants._WAIT_ &&
|
|
88
|
-
|
|
133
|
+
return participant && participant.guest && (participant.devices && participant.devices[0] && participant.devices[0].intent && participant.devices[0].intent.type === _constants._WAIT_ &&
|
|
134
|
+
// @ts-ignore
|
|
135
|
+
isGuest && status === _constants._IN_LOBBY_ ||
|
|
136
|
+
// @ts-ignore
|
|
137
|
+
!status === _constants._IN_MEETING_);
|
|
89
138
|
};
|
|
139
|
+
|
|
90
140
|
/**
|
|
91
141
|
* @param {Object} participant the locus participant
|
|
92
142
|
* @returns {Boolean}
|
|
93
143
|
*/
|
|
94
|
-
|
|
95
|
-
|
|
96
144
|
MemberUtil.isAudioMuted = function (participant) {
|
|
97
145
|
if (!participant) {
|
|
98
146
|
throw new _parameter.default('Audio could not be processed, participant is undefined.');
|
|
99
147
|
}
|
|
100
|
-
|
|
101
148
|
var mutedStatus = MemberUtil.isMuted(participant.status, _constants.AUDIO_STATUS);
|
|
102
|
-
|
|
103
149
|
if (participant.controls && participant.controls.audio) {
|
|
104
150
|
if (participant.controls.audio.muted) {
|
|
105
151
|
return true;
|
|
106
152
|
}
|
|
107
|
-
|
|
108
153
|
if (mutedStatus) {
|
|
109
154
|
return true;
|
|
110
155
|
}
|
|
111
156
|
}
|
|
112
|
-
|
|
113
157
|
return false;
|
|
114
158
|
};
|
|
159
|
+
|
|
115
160
|
/**
|
|
116
161
|
* @param {Object} participant the locus participant
|
|
117
162
|
* @returns {Boolean}
|
|
118
163
|
*/
|
|
119
|
-
|
|
120
|
-
|
|
121
164
|
MemberUtil.isVideoMuted = function (participant) {
|
|
122
165
|
if (!participant) {
|
|
123
166
|
throw new _parameter.default('Video could not be processed, participant is undefined.');
|
|
124
167
|
}
|
|
125
|
-
|
|
126
168
|
return MemberUtil.isMuted(participant.status, _constants.VIDEO_STATUS);
|
|
127
169
|
};
|
|
170
|
+
|
|
128
171
|
/**
|
|
129
172
|
* @param {Object} participant the locus participant
|
|
130
173
|
* @returns {Boolean}
|
|
131
174
|
*/
|
|
132
|
-
|
|
133
|
-
|
|
134
175
|
MemberUtil.isHandRaised = function (participant) {
|
|
135
|
-
var _participant$
|
|
136
|
-
|
|
176
|
+
var _participant$controls3, _participant$controls4;
|
|
137
177
|
if (!participant) {
|
|
138
178
|
throw new _parameter.default('Raise hand could not be processed, participant is undefined.');
|
|
139
179
|
}
|
|
180
|
+
return ((_participant$controls3 = participant.controls) === null || _participant$controls3 === void 0 ? void 0 : (_participant$controls4 = _participant$controls3.hand) === null || _participant$controls4 === void 0 ? void 0 : _participant$controls4.raised) || false;
|
|
181
|
+
};
|
|
140
182
|
|
|
141
|
-
|
|
183
|
+
/**
|
|
184
|
+
* @param {Object} participant the locus participant
|
|
185
|
+
* @returns {Boolean}
|
|
186
|
+
*/
|
|
187
|
+
MemberUtil.isBreakoutsSupported = function (participant) {
|
|
188
|
+
if (!participant) {
|
|
189
|
+
throw new _parameter.default('Breakout support could not be processed, participant is undefined.');
|
|
190
|
+
}
|
|
191
|
+
return !participant.doesNotSupportBreakouts;
|
|
142
192
|
};
|
|
193
|
+
|
|
143
194
|
/**
|
|
144
195
|
* utility method for audio/video muted status
|
|
145
196
|
* @param {String} status
|
|
146
197
|
* @param {String} accessor
|
|
147
198
|
* @returns {Boolean}
|
|
148
199
|
*/
|
|
149
|
-
|
|
150
|
-
|
|
151
200
|
MemberUtil.isMuted = function (status, accessor) {
|
|
152
201
|
if (status) {
|
|
153
202
|
if (status[accessor] === _constants._RECEIVE_ONLY_) {
|
|
154
203
|
return true;
|
|
155
204
|
}
|
|
156
|
-
|
|
157
205
|
if (status[accessor] === _constants._SEND_RECEIVE_) {
|
|
158
206
|
return false;
|
|
159
207
|
}
|
|
160
208
|
}
|
|
161
|
-
|
|
162
209
|
return null;
|
|
163
210
|
};
|
|
211
|
+
|
|
164
212
|
/**
|
|
165
213
|
* utility method for getting the recording member for later comparison
|
|
166
214
|
* @param {Object} controls
|
|
167
215
|
* @returns {String|null}
|
|
168
216
|
*/
|
|
169
|
-
|
|
170
|
-
|
|
171
217
|
MemberUtil.getRecordingMember = function (controls) {
|
|
172
218
|
if (!controls) {
|
|
173
219
|
return null;
|
|
174
220
|
}
|
|
175
|
-
|
|
176
221
|
if (controls.record && controls.record.recording && controls.record.meta) {
|
|
177
222
|
return controls.record.meta.modifiedBy;
|
|
178
223
|
}
|
|
179
|
-
|
|
180
224
|
return null;
|
|
181
225
|
};
|
|
226
|
+
|
|
182
227
|
/**
|
|
183
228
|
* @param {Object} participant the locus participant
|
|
184
229
|
* @returns {Boolean}
|
|
185
230
|
*/
|
|
186
|
-
|
|
187
|
-
|
|
188
231
|
MemberUtil.isRecording = function (participant) {
|
|
189
232
|
if (!participant) {
|
|
190
233
|
throw new _parameter.default('Recording could not be processed, participant is undefined.');
|
|
191
234
|
}
|
|
192
|
-
|
|
193
235
|
if (participant.controls && participant.controls.localRecord) {
|
|
194
236
|
return participant.controls.localRecord.recording;
|
|
195
237
|
}
|
|
196
|
-
|
|
197
238
|
return false;
|
|
198
239
|
};
|
|
199
|
-
|
|
200
240
|
MemberUtil.isRemovable = function (isSelf, isGuest, isInMeeting, type) {
|
|
201
241
|
if (isGuest || isSelf) {
|
|
202
242
|
return false;
|
|
203
243
|
}
|
|
204
|
-
|
|
205
244
|
if (type === _constants._CALL_) {
|
|
206
245
|
return false;
|
|
207
246
|
}
|
|
208
|
-
|
|
209
247
|
if (isInMeeting) {
|
|
210
248
|
return true;
|
|
211
249
|
}
|
|
212
|
-
|
|
213
250
|
return false;
|
|
214
251
|
};
|
|
215
|
-
|
|
216
252
|
MemberUtil.isMutable = function (isSelf, isDevice, isInMeeting, isMuted, type) {
|
|
217
253
|
if (!isInMeeting) {
|
|
218
254
|
return false;
|
|
219
255
|
}
|
|
220
|
-
|
|
221
256
|
if (isMuted) {
|
|
222
257
|
return false;
|
|
223
258
|
}
|
|
224
|
-
|
|
225
259
|
if (type === _constants._CALL_) {
|
|
226
260
|
return false;
|
|
227
261
|
}
|
|
228
|
-
|
|
229
262
|
if (isSelf || isDevice) {
|
|
230
263
|
return true;
|
|
231
264
|
}
|
|
232
|
-
|
|
233
265
|
return false;
|
|
234
266
|
};
|
|
267
|
+
|
|
235
268
|
/**
|
|
236
269
|
* @param {Object} participant the locus participant
|
|
237
270
|
* @returns {String}
|
|
238
271
|
*/
|
|
239
|
-
|
|
240
|
-
|
|
241
272
|
MemberUtil.extractStatus = function (participant) {
|
|
242
273
|
if (!(participant && participant.devices && participant.devices.length)) {
|
|
243
274
|
return _constants._NOT_IN_MEETING_;
|
|
244
275
|
}
|
|
245
|
-
|
|
246
276
|
if (participant.state === _constants._JOINED_) {
|
|
247
277
|
return _constants._IN_MEETING_;
|
|
248
278
|
}
|
|
249
|
-
|
|
250
279
|
if (participant.state === _constants._IDLE_) {
|
|
251
280
|
if (participant.devices && participant.devices.length > 0) {
|
|
252
281
|
var foundDevice = participant.devices.find(function (device) {
|
|
@@ -254,43 +283,35 @@ MemberUtil.extractStatus = function (participant) {
|
|
|
254
283
|
});
|
|
255
284
|
return foundDevice ? _constants._IN_LOBBY_ : _constants._NOT_IN_MEETING_;
|
|
256
285
|
}
|
|
257
|
-
|
|
258
286
|
return _constants._NOT_IN_MEETING_;
|
|
259
287
|
}
|
|
260
|
-
|
|
261
288
|
if (participant.state === _constants._LEFT_) {
|
|
262
289
|
return _constants._NOT_IN_MEETING_;
|
|
263
290
|
}
|
|
264
|
-
|
|
265
291
|
return _constants._NOT_IN_MEETING_;
|
|
266
292
|
};
|
|
293
|
+
|
|
267
294
|
/**
|
|
268
295
|
* @param {Object} participant the locus participant
|
|
269
296
|
* @returns {String}
|
|
270
297
|
*/
|
|
271
|
-
|
|
272
|
-
|
|
273
298
|
MemberUtil.extractId = function (participant) {
|
|
274
299
|
if (participant) {
|
|
275
300
|
return participant.id;
|
|
276
301
|
}
|
|
277
|
-
|
|
278
302
|
return null;
|
|
279
303
|
};
|
|
304
|
+
|
|
280
305
|
/**
|
|
281
306
|
* @param {Object} participant the locus participant
|
|
282
307
|
* @returns {String}
|
|
283
308
|
*/
|
|
284
|
-
|
|
285
|
-
|
|
286
309
|
MemberUtil.extractName = function (participant) {
|
|
287
310
|
if (participant && participant.person) {
|
|
288
311
|
return participant.person.name;
|
|
289
312
|
}
|
|
290
|
-
|
|
291
313
|
return null;
|
|
292
314
|
};
|
|
293
|
-
|
|
294
315
|
var _default = MemberUtil;
|
|
295
316
|
exports.default = _default;
|
|
296
317
|
//# sourceMappingURL=util.js.map
|
package/dist/member/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MemberUtil","isUser","participant","type","_USER_","isModerator","moderator","isGuest","guest","isDevice","_RESOURCE_ROOM_","isModeratorAssignmentProhibited","moderatorAssignmentNotAllowed","isSame","id","person","isAssociatedSame","associatedUsers","some","user","isNotAdmitted","status","devices","intent","_WAIT_","_IN_LOBBY_","_IN_MEETING_","isAudioMuted","ParameterError","mutedStatus","isMuted","AUDIO_STATUS","controls","audio","muted","isVideoMuted","VIDEO_STATUS","isHandRaised","hand","raised","accessor","_RECEIVE_ONLY_","_SEND_RECEIVE_","getRecordingMember","record","recording","meta","modifiedBy","isRecording","localRecord","isRemovable","isSelf","isInMeeting","_CALL_","isMutable","extractStatus","length","_NOT_IN_MEETING_","state","_JOINED_","_IDLE_","foundDevice","find","device","_OBSERVE_","_LEFT_","extractId","extractName","name"],"sources":["util.ts"],"sourcesContent":["import {\n _USER_,\n _RESOURCE_ROOM_,\n _OBSERVE_,\n _WAIT_,\n _LEFT_,\n _JOINED_,\n _IDLE_,\n _IN_LOBBY_,\n _NOT_IN_MEETING_,\n _IN_MEETING_,\n AUDIO_STATUS,\n VIDEO_STATUS,\n _SEND_RECEIVE_,\n _RECEIVE_ONLY_,\n _CALL_\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\n\nconst MemberUtil: any = {};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isUser = (participant: any) => participant && participant.type === _USER_;\n\nMemberUtil.isModerator = (participant) => participant && participant.moderator;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isGuest = (participant: any) => participant && participant.guest;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isDevice = (participant: any) => participant && participant.type === _RESOURCE_ROOM_;\n\nMemberUtil.isModeratorAssignmentProhibited = (participant) => participant && participant.moderatorAssignmentNotAllowed;\n\n/**\n * checks to see if the participant id is the same as the passed id\n * there are multiple ids that can be used\n * @param {Object} participant the locus participant\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isSame = (participant: any, id: string) => participant &&\n (participant.id === id || participant.person && participant.person.id === id);\n\n/**\n * checks to see if the participant id is the same as the passed id for associated devices\n * there are multiple ids that can be used\n * @param {Object} participant the locus participant\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isAssociatedSame = (participant: any, id: string) => participant &&\nparticipant.associatedUsers &&\nparticipant.associatedUsers.some((user) => (user.id === id || user.person && user.person.id === id));\n\n/**\n * @param {Object} participant the locus participant\n * @param {Boolean} isGuest\n * @param {String} status\n * @returns {Boolean}\n */\nMemberUtil.isNotAdmitted = (participant: any, isGuest: boolean, status: string) => participant &&\n participant.guest && ((participant.devices && participant.devices[0] &&\n participant.devices[0].intent && participant.devices[0].intent.type === _WAIT_ &&\n // @ts-ignore\n isGuest && status === _IN_LOBBY_) || !status === _IN_MEETING_);\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isAudioMuted = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Audio could not be processed, participant is undefined.');\n }\n const mutedStatus = MemberUtil.isMuted(participant.status, AUDIO_STATUS);\n\n if (participant.controls && participant.controls.audio) {\n if (participant.controls.audio.muted) {\n return true;\n }\n if (mutedStatus) {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isVideoMuted = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Video could not be processed, participant is undefined.');\n }\n\n return MemberUtil.isMuted(participant.status, VIDEO_STATUS);\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isHandRaised = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Raise hand could not be processed, participant is undefined.');\n }\n\n return participant.controls?.hand?.raised || false;\n};\n\n/**\n * utility method for audio/video muted status\n * @param {String} status\n * @param {String} accessor\n * @returns {Boolean}\n */\nMemberUtil.isMuted = (status: string, accessor: string) => {\n if (status) {\n if (status[accessor] === _RECEIVE_ONLY_) {\n return true;\n }\n if (status[accessor] === _SEND_RECEIVE_) {\n return false;\n }\n }\n\n return null;\n};\n\n/**\n * utility method for getting the recording member for later comparison\n * @param {Object} controls\n * @returns {String|null}\n */\nMemberUtil.getRecordingMember = (controls: any) => {\n if (!controls) {\n return null;\n }\n if (controls.record && controls.record.recording && controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isRecording = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Recording could not be processed, participant is undefined.');\n }\n if (participant.controls && participant.controls.localRecord) {\n return participant.controls.localRecord.recording;\n }\n\n return false;\n};\n\nMemberUtil.isRemovable = (isSelf, isGuest, isInMeeting, type) => {\n if (isGuest || isSelf) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isInMeeting) {\n return true;\n }\n\n return false;\n};\n\nMemberUtil.isMutable = (isSelf, isDevice, isInMeeting, isMuted, type) => {\n if (!isInMeeting) {\n return false;\n }\n if (isMuted) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isSelf || isDevice) {\n return true;\n }\n\n return false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractStatus = (participant: any) => {\n if (!(participant && participant.devices && participant.devices.length)) {\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _JOINED_) {\n return _IN_MEETING_;\n }\n if (participant.state === _IDLE_) {\n if (participant.devices && participant.devices.length > 0) {\n const foundDevice = participant.devices.find((device) => device.intent && (device.intent.type === _WAIT_ || device.intent.type === _OBSERVE_));\n\n return foundDevice ? _IN_LOBBY_ : _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _LEFT_) {\n return _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractId = (participant: any) => {\n if (participant) {\n return participant.id;\n }\n\n return null;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractName = (participant: any) => {\n if (participant && participant.person) {\n return participant.person.name;\n }\n\n return null;\n};\n\nexport default MemberUtil;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["MemberUtil","getControlsRoles","participant","controls","role","roles","hasRole","controlRole","some","type","hasCohost","ServerRoles","Cohost","hasModerator","Moderator","hasPresenter","Presenter","extractControlRoles","cohost","moderator","presenter","isUser","_USER_","isModerator","isGuest","guest","isDevice","_RESOURCE_ROOM_","isModeratorAssignmentProhibited","moderatorAssignmentNotAllowed","isSame","id","person","isAssociatedSame","associatedUsers","user","isNotAdmitted","status","devices","intent","_WAIT_","_IN_LOBBY_","_IN_MEETING_","isAudioMuted","ParameterError","mutedStatus","isMuted","AUDIO_STATUS","audio","muted","isVideoMuted","VIDEO_STATUS","isHandRaised","hand","raised","isBreakoutsSupported","doesNotSupportBreakouts","accessor","_RECEIVE_ONLY_","_SEND_RECEIVE_","getRecordingMember","record","recording","meta","modifiedBy","isRecording","localRecord","isRemovable","isSelf","isInMeeting","_CALL_","isMutable","extractStatus","length","_NOT_IN_MEETING_","state","_JOINED_","_IDLE_","foundDevice","find","device","_OBSERVE_","_LEFT_","extractId","extractName","name"],"sources":["util.ts"],"sourcesContent":["import {IExternalRoles, ParticipantWithRoles, ServerRoles, ServerRoleShape} from './types';\nimport {\n _USER_,\n _RESOURCE_ROOM_,\n _OBSERVE_,\n _WAIT_,\n _LEFT_,\n _JOINED_,\n _IDLE_,\n _IN_LOBBY_,\n _NOT_IN_MEETING_,\n _IN_MEETING_,\n AUDIO_STATUS,\n VIDEO_STATUS,\n _SEND_RECEIVE_,\n _RECEIVE_ONLY_,\n _CALL_,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\n\nconst MemberUtil: any = {};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {[ServerRoleShape]}\n */\nMemberUtil.getControlsRoles = (participant: ParticipantWithRoles): Array<ServerRoleShape> =>\n participant?.controls?.role?.roles;\n\n/**\n * @param {Object} participant the locus participant\n * @param {ServerRoles} controlRole the search role\n * @returns {Boolean}\n */\nMemberUtil.hasRole = (participant: any, controlRole: ServerRoles): boolean =>\n MemberUtil.getControlsRoles(participant)?.some(\n (role) => role.type === controlRole && role.hasRole\n );\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.hasCohost = (participant: ParticipantWithRoles): boolean =>\n MemberUtil.hasRole(participant, ServerRoles.Cohost) || false;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.hasModerator = (participant: ParticipantWithRoles): boolean =>\n MemberUtil.hasRole(participant, ServerRoles.Moderator) || false;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.hasPresenter = (participant: ParticipantWithRoles): boolean =>\n MemberUtil.hasRole(participant, ServerRoles.Presenter) || false;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {IExternalRoles}\n */\nMemberUtil.extractControlRoles = (participant: ParticipantWithRoles): IExternalRoles => {\n const roles = {\n cohost: MemberUtil.hasCohost(participant),\n moderator: MemberUtil.hasModerator(participant),\n presenter: MemberUtil.hasPresenter(participant),\n };\n\n return roles;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isUser = (participant: any) => participant && participant.type === _USER_;\n\nMemberUtil.isModerator = (participant) => participant && participant.moderator;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isGuest = (participant: any) => participant && participant.guest;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isDevice = (participant: any) => participant && participant.type === _RESOURCE_ROOM_;\n\nMemberUtil.isModeratorAssignmentProhibited = (participant) =>\n participant && participant.moderatorAssignmentNotAllowed;\n\n/**\n * checks to see if the participant id is the same as the passed id\n * there are multiple ids that can be used\n * @param {Object} participant the locus participant\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isSame = (participant: any, id: string) =>\n participant && (participant.id === id || (participant.person && participant.person.id === id));\n\n/**\n * checks to see if the participant id is the same as the passed id for associated devices\n * there are multiple ids that can be used\n * @param {Object} participant the locus participant\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isAssociatedSame = (participant: any, id: string) =>\n participant &&\n participant.associatedUsers &&\n participant.associatedUsers.some(\n (user) => user.id === id || (user.person && user.person.id === id)\n );\n\n/**\n * @param {Object} participant the locus participant\n * @param {Boolean} isGuest\n * @param {String} status\n * @returns {Boolean}\n */\nMemberUtil.isNotAdmitted = (participant: any, isGuest: boolean, status: string): boolean =>\n participant &&\n participant.guest &&\n ((participant.devices &&\n participant.devices[0] &&\n participant.devices[0].intent &&\n participant.devices[0].intent.type === _WAIT_ &&\n // @ts-ignore\n isGuest &&\n status === _IN_LOBBY_) ||\n // @ts-ignore\n !status === _IN_MEETING_);\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isAudioMuted = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Audio could not be processed, participant is undefined.');\n }\n const mutedStatus = MemberUtil.isMuted(participant.status, AUDIO_STATUS);\n\n if (participant.controls && participant.controls.audio) {\n if (participant.controls.audio.muted) {\n return true;\n }\n if (mutedStatus) {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isVideoMuted = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Video could not be processed, participant is undefined.');\n }\n\n return MemberUtil.isMuted(participant.status, VIDEO_STATUS);\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isHandRaised = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Raise hand could not be processed, participant is undefined.');\n }\n\n return participant.controls?.hand?.raised || false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isBreakoutsSupported = (participant) => {\n if (!participant) {\n throw new ParameterError('Breakout support could not be processed, participant is undefined.');\n }\n\n return !participant.doesNotSupportBreakouts;\n};\n\n/**\n * utility method for audio/video muted status\n * @param {String} status\n * @param {String} accessor\n * @returns {Boolean}\n */\nMemberUtil.isMuted = (status: string, accessor: string) => {\n if (status) {\n if (status[accessor] === _RECEIVE_ONLY_) {\n return true;\n }\n if (status[accessor] === _SEND_RECEIVE_) {\n return false;\n }\n }\n\n return null;\n};\n\n/**\n * utility method for getting the recording member for later comparison\n * @param {Object} controls\n * @returns {String|null}\n */\nMemberUtil.getRecordingMember = (controls: any) => {\n if (!controls) {\n return null;\n }\n if (controls.record && controls.record.recording && controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isRecording = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Recording could not be processed, participant is undefined.');\n }\n if (participant.controls && participant.controls.localRecord) {\n return participant.controls.localRecord.recording;\n }\n\n return false;\n};\n\nMemberUtil.isRemovable = (isSelf, isGuest, isInMeeting, type) => {\n if (isGuest || isSelf) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isInMeeting) {\n return true;\n }\n\n return false;\n};\n\nMemberUtil.isMutable = (isSelf, isDevice, isInMeeting, isMuted, type) => {\n if (!isInMeeting) {\n return false;\n }\n if (isMuted) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isSelf || isDevice) {\n return true;\n }\n\n return false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractStatus = (participant: any) => {\n if (!(participant && participant.devices && participant.devices.length)) {\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _JOINED_) {\n return _IN_MEETING_;\n }\n if (participant.state === _IDLE_) {\n if (participant.devices && participant.devices.length > 0) {\n const foundDevice = participant.devices.find(\n (device) =>\n device.intent && (device.intent.type === _WAIT_ || device.intent.type === _OBSERVE_)\n );\n\n return foundDevice ? _IN_LOBBY_ : _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _LEFT_) {\n return _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractId = (participant: any) => {\n if (participant) {\n return participant.id;\n }\n\n return null;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractName = (participant: any) => {\n if (participant && participant.person) {\n return participant.person.name;\n }\n\n return null;\n};\n\nexport default MemberUtil;\n"],"mappings":";;;;;;;;AAAA;AACA;AAiBA;AAEA,IAAMA,UAAe,GAAG,CAAC,CAAC;;AAE1B;AACA;AACA;AACA;AACAA,UAAU,CAACC,gBAAgB,GAAG,UAACC,WAAiC;EAAA;EAAA,OAC9DA,WAAW,aAAXA,WAAW,gDAAXA,WAAW,CAAEC,QAAQ,oFAArB,sBAAuBC,IAAI,2DAA3B,uBAA6BC,KAAK;AAAA;;AAEpC;AACA;AACA;AACA;AACA;AACAL,UAAU,CAACM,OAAO,GAAG,UAACJ,WAAgB,EAAEK,WAAwB;EAAA;EAAA,gCAC9DP,UAAU,CAACC,gBAAgB,CAACC,WAAW,CAAC,0DAAxC,sBAA0CM,IAAI,CAC5C,UAACJ,IAAI;IAAA,OAAKA,IAAI,CAACK,IAAI,KAAKF,WAAW,IAAIH,IAAI,CAACE,OAAO;EAAA,EACpD;AAAA;;AAEH;AACA;AACA;AACA;AACAN,UAAU,CAACU,SAAS,GAAG,UAACR,WAAiC;EAAA,OACvDF,UAAU,CAACM,OAAO,CAACJ,WAAW,EAAES,kBAAW,CAACC,MAAM,CAAC,IAAI,KAAK;AAAA;;AAE9D;AACA;AACA;AACA;AACAZ,UAAU,CAACa,YAAY,GAAG,UAACX,WAAiC;EAAA,OAC1DF,UAAU,CAACM,OAAO,CAACJ,WAAW,EAAES,kBAAW,CAACG,SAAS,CAAC,IAAI,KAAK;AAAA;;AAEjE;AACA;AACA;AACA;AACAd,UAAU,CAACe,YAAY,GAAG,UAACb,WAAiC;EAAA,OAC1DF,UAAU,CAACM,OAAO,CAACJ,WAAW,EAAES,kBAAW,CAACK,SAAS,CAAC,IAAI,KAAK;AAAA;;AAEjE;AACA;AACA;AACA;AACAhB,UAAU,CAACiB,mBAAmB,GAAG,UAACf,WAAiC,EAAqB;EACtF,IAAMG,KAAK,GAAG;IACZa,MAAM,EAAElB,UAAU,CAACU,SAAS,CAACR,WAAW,CAAC;IACzCiB,SAAS,EAAEnB,UAAU,CAACa,YAAY,CAACX,WAAW,CAAC;IAC/CkB,SAAS,EAAEpB,UAAU,CAACe,YAAY,CAACb,WAAW;EAChD,CAAC;EAED,OAAOG,KAAK;AACd,CAAC;;AAED;AACA;AACA;AACA;AACAL,UAAU,CAACqB,MAAM,GAAG,UAACnB,WAAgB;EAAA,OAAKA,WAAW,IAAIA,WAAW,CAACO,IAAI,KAAKa,iBAAM;AAAA;AAEpFtB,UAAU,CAACuB,WAAW,GAAG,UAACrB,WAAW;EAAA,OAAKA,WAAW,IAAIA,WAAW,CAACiB,SAAS;AAAA;;AAE9E;AACA;AACA;AACA;AACAnB,UAAU,CAACwB,OAAO,GAAG,UAACtB,WAAgB;EAAA,OAAKA,WAAW,IAAIA,WAAW,CAACuB,KAAK;AAAA;;AAE3E;AACA;AACA;AACA;AACAzB,UAAU,CAAC0B,QAAQ,GAAG,UAACxB,WAAgB;EAAA,OAAKA,WAAW,IAAIA,WAAW,CAACO,IAAI,KAAKkB,0BAAe;AAAA;AAE/F3B,UAAU,CAAC4B,+BAA+B,GAAG,UAAC1B,WAAW;EAAA,OACvDA,WAAW,IAAIA,WAAW,CAAC2B,6BAA6B;AAAA;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA7B,UAAU,CAAC8B,MAAM,GAAG,UAAC5B,WAAgB,EAAE6B,EAAU;EAAA,OAC/C7B,WAAW,KAAKA,WAAW,CAAC6B,EAAE,KAAKA,EAAE,IAAK7B,WAAW,CAAC8B,MAAM,IAAI9B,WAAW,CAAC8B,MAAM,CAACD,EAAE,KAAKA,EAAG,CAAC;AAAA;;AAEhG;AACA;AACA;AACA;AACA;AACA;AACA;AACA/B,UAAU,CAACiC,gBAAgB,GAAG,UAAC/B,WAAgB,EAAE6B,EAAU;EAAA,OACzD7B,WAAW,IACXA,WAAW,CAACgC,eAAe,IAC3BhC,WAAW,CAACgC,eAAe,CAAC1B,IAAI,CAC9B,UAAC2B,IAAI;IAAA,OAAKA,IAAI,CAACJ,EAAE,KAAKA,EAAE,IAAKI,IAAI,CAACH,MAAM,IAAIG,IAAI,CAACH,MAAM,CAACD,EAAE,KAAKA,EAAG;EAAA,EACnE;AAAA;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA/B,UAAU,CAACoC,aAAa,GAAG,UAAClC,WAAgB,EAAEsB,OAAgB,EAAEa,MAAc;EAAA,OAC5EnC,WAAW,IACXA,WAAW,CAACuB,KAAK,KACfvB,WAAW,CAACoC,OAAO,IACnBpC,WAAW,CAACoC,OAAO,CAAC,CAAC,CAAC,IACtBpC,WAAW,CAACoC,OAAO,CAAC,CAAC,CAAC,CAACC,MAAM,IAC7BrC,WAAW,CAACoC,OAAO,CAAC,CAAC,CAAC,CAACC,MAAM,CAAC9B,IAAI,KAAK+B,iBAAM;EAC7C;EACAhB,OAAO,IACPa,MAAM,KAAKI,qBAAU;EACrB;EACA,CAACJ,MAAM,KAAKK,uBAAY,CAAC;AAAA;;AAE7B;AACA;AACA;AACA;AACA1C,UAAU,CAAC2C,YAAY,GAAG,UAACzC,WAAgB,EAAK;EAC9C,IAAI,CAACA,WAAW,EAAE;IAChB,MAAM,IAAI0C,kBAAc,CAAC,yDAAyD,CAAC;EACrF;EACA,IAAMC,WAAW,GAAG7C,UAAU,CAAC8C,OAAO,CAAC5C,WAAW,CAACmC,MAAM,EAAEU,uBAAY,CAAC;EAExE,IAAI7C,WAAW,CAACC,QAAQ,IAAID,WAAW,CAACC,QAAQ,CAAC6C,KAAK,EAAE;IACtD,IAAI9C,WAAW,CAACC,QAAQ,CAAC6C,KAAK,CAACC,KAAK,EAAE;MACpC,OAAO,IAAI;IACb;IACA,IAAIJ,WAAW,EAAE;MACf,OAAO,IAAI;IACb;EACF;EAEA,OAAO,KAAK;AACd,CAAC;;AAED;AACA;AACA;AACA;AACA7C,UAAU,CAACkD,YAAY,GAAG,UAAChD,WAAgB,EAAK;EAC9C,IAAI,CAACA,WAAW,EAAE;IAChB,MAAM,IAAI0C,kBAAc,CAAC,yDAAyD,CAAC;EACrF;EAEA,OAAO5C,UAAU,CAAC8C,OAAO,CAAC5C,WAAW,CAACmC,MAAM,EAAEc,uBAAY,CAAC;AAC7D,CAAC;;AAED;AACA;AACA;AACA;AACAnD,UAAU,CAACoD,YAAY,GAAG,UAAClD,WAAgB,EAAK;EAAA;EAC9C,IAAI,CAACA,WAAW,EAAE;IAChB,MAAM,IAAI0C,kBAAc,CAAC,8DAA8D,CAAC;EAC1F;EAEA,OAAO,2BAAA1C,WAAW,CAACC,QAAQ,qFAApB,uBAAsBkD,IAAI,2DAA1B,uBAA4BC,MAAM,KAAI,KAAK;AACpD,CAAC;;AAED;AACA;AACA;AACA;AACAtD,UAAU,CAACuD,oBAAoB,GAAG,UAACrD,WAAW,EAAK;EACjD,IAAI,CAACA,WAAW,EAAE;IAChB,MAAM,IAAI0C,kBAAc,CAAC,oEAAoE,CAAC;EAChG;EAEA,OAAO,CAAC1C,WAAW,CAACsD,uBAAuB;AAC7C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACAxD,UAAU,CAAC8C,OAAO,GAAG,UAACT,MAAc,EAAEoB,QAAgB,EAAK;EACzD,IAAIpB,MAAM,EAAE;IACV,IAAIA,MAAM,CAACoB,QAAQ,CAAC,KAAKC,yBAAc,EAAE;MACvC,OAAO,IAAI;IACb;IACA,IAAIrB,MAAM,CAACoB,QAAQ,CAAC,KAAKE,yBAAc,EAAE;MACvC,OAAO,KAAK;IACd;EACF;EAEA,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA3D,UAAU,CAAC4D,kBAAkB,GAAG,UAACzD,QAAa,EAAK;EACjD,IAAI,CAACA,QAAQ,EAAE;IACb,OAAO,IAAI;EACb;EACA,IAAIA,QAAQ,CAAC0D,MAAM,IAAI1D,QAAQ,CAAC0D,MAAM,CAACC,SAAS,IAAI3D,QAAQ,CAAC0D,MAAM,CAACE,IAAI,EAAE;IACxE,OAAO5D,QAAQ,CAAC0D,MAAM,CAACE,IAAI,CAACC,UAAU;EACxC;EAEA,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACAhE,UAAU,CAACiE,WAAW,GAAG,UAAC/D,WAAgB,EAAK;EAC7C,IAAI,CAACA,WAAW,EAAE;IAChB,MAAM,IAAI0C,kBAAc,CAAC,6DAA6D,CAAC;EACzF;EACA,IAAI1C,WAAW,CAACC,QAAQ,IAAID,WAAW,CAACC,QAAQ,CAAC+D,WAAW,EAAE;IAC5D,OAAOhE,WAAW,CAACC,QAAQ,CAAC+D,WAAW,CAACJ,SAAS;EACnD;EAEA,OAAO,KAAK;AACd,CAAC;AAED9D,UAAU,CAACmE,WAAW,GAAG,UAACC,MAAM,EAAE5C,OAAO,EAAE6C,WAAW,EAAE5D,IAAI,EAAK;EAC/D,IAAIe,OAAO,IAAI4C,MAAM,EAAE;IACrB,OAAO,KAAK;EACd;EACA,IAAI3D,IAAI,KAAK6D,iBAAM,EAAE;IACnB,OAAO,KAAK;EACd;EACA,IAAID,WAAW,EAAE;IACf,OAAO,IAAI;EACb;EAEA,OAAO,KAAK;AACd,CAAC;AAEDrE,UAAU,CAACuE,SAAS,GAAG,UAACH,MAAM,EAAE1C,QAAQ,EAAE2C,WAAW,EAAEvB,OAAO,EAAErC,IAAI,EAAK;EACvE,IAAI,CAAC4D,WAAW,EAAE;IAChB,OAAO,KAAK;EACd;EACA,IAAIvB,OAAO,EAAE;IACX,OAAO,KAAK;EACd;EACA,IAAIrC,IAAI,KAAK6D,iBAAM,EAAE;IACnB,OAAO,KAAK;EACd;EACA,IAAIF,MAAM,IAAI1C,QAAQ,EAAE;IACtB,OAAO,IAAI;EACb;EAEA,OAAO,KAAK;AACd,CAAC;;AAED;AACA;AACA;AACA;AACA1B,UAAU,CAACwE,aAAa,GAAG,UAACtE,WAAgB,EAAK;EAC/C,IAAI,EAAEA,WAAW,IAAIA,WAAW,CAACoC,OAAO,IAAIpC,WAAW,CAACoC,OAAO,CAACmC,MAAM,CAAC,EAAE;IACvE,OAAOC,2BAAgB;EACzB;EACA,IAAIxE,WAAW,CAACyE,KAAK,KAAKC,mBAAQ,EAAE;IAClC,OAAOlC,uBAAY;EACrB;EACA,IAAIxC,WAAW,CAACyE,KAAK,KAAKE,iBAAM,EAAE;IAChC,IAAI3E,WAAW,CAACoC,OAAO,IAAIpC,WAAW,CAACoC,OAAO,CAACmC,MAAM,GAAG,CAAC,EAAE;MACzD,IAAMK,WAAW,GAAG5E,WAAW,CAACoC,OAAO,CAACyC,IAAI,CAC1C,UAACC,MAAM;QAAA,OACLA,MAAM,CAACzC,MAAM,KAAKyC,MAAM,CAACzC,MAAM,CAAC9B,IAAI,KAAK+B,iBAAM,IAAIwC,MAAM,CAACzC,MAAM,CAAC9B,IAAI,KAAKwE,oBAAS,CAAC;MAAA,EACvF;MAED,OAAOH,WAAW,GAAGrC,qBAAU,GAAGiC,2BAAgB;IACpD;IAEA,OAAOA,2BAAgB;EACzB;EACA,IAAIxE,WAAW,CAACyE,KAAK,KAAKO,iBAAM,EAAE;IAChC,OAAOR,2BAAgB;EACzB;EAEA,OAAOA,2BAAgB;AACzB,CAAC;;AAED;AACA;AACA;AACA;AACA1E,UAAU,CAACmF,SAAS,GAAG,UAACjF,WAAgB,EAAK;EAC3C,IAAIA,WAAW,EAAE;IACf,OAAOA,WAAW,CAAC6B,EAAE;EACvB;EAEA,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA/B,UAAU,CAACoF,WAAW,GAAG,UAAClF,WAAgB,EAAK;EAC7C,IAAIA,WAAW,IAAIA,WAAW,CAAC8B,MAAM,EAAE;IACrC,OAAO9B,WAAW,CAAC8B,MAAM,CAACqD,IAAI;EAChC;EAEA,OAAO,IAAI;AACb,CAAC;AAAC,eAEarF,UAAU;AAAA"}
|
|
@@ -1,23 +1,15 @@
|
|
|
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
14
|
-
|
|
15
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
16
|
-
|
|
17
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
18
|
-
|
|
19
12
|
var _constants = require("../constants");
|
|
20
|
-
|
|
21
13
|
/**
|
|
22
14
|
* @class MembersCollection
|
|
23
15
|
*/
|
|
@@ -32,7 +24,6 @@ var MembersCollection = /*#__PURE__*/function () {
|
|
|
32
24
|
(0, _defineProperty2.default)(this, "namespace", _constants.MEETINGS);
|
|
33
25
|
this.members = {};
|
|
34
26
|
}
|
|
35
|
-
|
|
36
27
|
(0, _createClass2.default)(MembersCollection, [{
|
|
37
28
|
key: "set",
|
|
38
29
|
value: function set(id, member) {
|
|
@@ -43,29 +34,38 @@ var MembersCollection = /*#__PURE__*/function () {
|
|
|
43
34
|
value: function setAll(members) {
|
|
44
35
|
this.members = members;
|
|
45
36
|
}
|
|
37
|
+
|
|
46
38
|
/**
|
|
47
39
|
* @param {String} id
|
|
48
40
|
* @returns {Member}
|
|
49
41
|
*/
|
|
50
|
-
|
|
51
42
|
}, {
|
|
52
43
|
key: "get",
|
|
53
44
|
value: function get(id) {
|
|
54
45
|
return this.members[id];
|
|
55
46
|
}
|
|
47
|
+
|
|
56
48
|
/**
|
|
57
49
|
* @returns {Object} returns an object map of Member instances
|
|
58
50
|
* @memberof MembersCollection
|
|
59
51
|
*/
|
|
60
|
-
|
|
61
52
|
}, {
|
|
62
53
|
key: "getAll",
|
|
63
54
|
value: function getAll() {
|
|
64
55
|
return this.members;
|
|
65
56
|
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* @returns {void}
|
|
60
|
+
* reset members
|
|
61
|
+
*/
|
|
62
|
+
}, {
|
|
63
|
+
key: "reset",
|
|
64
|
+
value: function reset() {
|
|
65
|
+
this.members = {};
|
|
66
|
+
}
|
|
66
67
|
}]);
|
|
67
68
|
return MembersCollection;
|
|
68
69
|
}();
|
|
69
|
-
|
|
70
70
|
exports.default = MembersCollection;
|
|
71
71
|
//# sourceMappingURL=collection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MembersCollection","MEETINGS","members","id","member"],"sources":["collection.ts"],"sourcesContent":["import {MEETINGS} from '../constants';\n\n/**\n * @class MembersCollection\n */\nexport default class MembersCollection {\n members: any;\n namespace = MEETINGS;\n
|
|
1
|
+
{"version":3,"names":["MembersCollection","MEETINGS","members","id","member"],"sources":["collection.ts"],"sourcesContent":["import {MEETINGS} from '../constants';\n\n/**\n * @class MembersCollection\n */\nexport default class MembersCollection {\n members: any;\n namespace = MEETINGS;\n /**\n * @param {Object} locus\n * @memberof Members\n */\n constructor() {\n this.members = {};\n }\n\n set(id, member) {\n this.members[id] = member;\n }\n\n setAll(members) {\n this.members = members;\n }\n\n /**\n * @param {String} id\n * @returns {Member}\n */\n get(id: string) {\n return this.members[id];\n }\n\n /**\n * @returns {Object} returns an object map of Member instances\n * @memberof MembersCollection\n */\n getAll() {\n return this.members;\n }\n\n /**\n * @returns {void}\n * reset members\n */\n reset() {\n this.members = {};\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;AAEA;AACA;AACA;AAFA,IAGqBA,iBAAiB;EAGpC;AACF;AACA;AACA;EACE,6BAAc;IAAA;IAAA;IAAA,iDALFC,mBAAQ;IAMlB,IAAI,CAACC,OAAO,GAAG,CAAC,CAAC;EACnB;EAAC;IAAA;IAAA,OAED,aAAIC,EAAE,EAAEC,MAAM,EAAE;MACd,IAAI,CAACF,OAAO,CAACC,EAAE,CAAC,GAAGC,MAAM;IAC3B;EAAC;IAAA;IAAA,OAED,gBAAOF,OAAO,EAAE;MACd,IAAI,CAACA,OAAO,GAAGA,OAAO;IACxB;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,aAAIC,EAAU,EAAE;MACd,OAAO,IAAI,CAACD,OAAO,CAACC,EAAE,CAAC;IACzB;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,kBAAS;MACP,OAAO,IAAI,CAACD,OAAO;IACrB;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,iBAAQ;MACN,IAAI,CAACA,OAAO,GAAG,CAAC,CAAC;IACnB;EAAC;EAAA;AAAA;AAAA"}
|