@webex/plugin-meetings 3.0.0-beta.31 → 3.0.0-beta.310
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -8
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.js +49 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +342 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +94 -15
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.js +45 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +709 -35
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/utils.js +45 -1
- package/dist/breakouts/utils.js.map +1 -1
- package/dist/common/errors/no-meeting-info.js +51 -0
- package/dist/common/errors/no-meeting-info.js.map +1 -0
- package/dist/common/errors/reclaim-host-role-errors.js +158 -0
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
- package/dist/common/errors/webex-errors.js +48 -7
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -1
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.js +5 -1
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +24 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +5 -11
- package/dist/config.js.map +1 -1
- package/dist/constants.js +233 -29
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +14 -2
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.js +109 -15
- package/dist/controls-options-manager/index.js.map +1 -1
- 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 +309 -18
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.js +112 -1
- package/dist/index.js.map +1 -1
- package/dist/interpretation/collection.js +23 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +366 -0
- package/dist/interpretation/index.js.map +1 -0
- package/dist/interpretation/siLanguage.js +25 -0
- package/dist/interpretation/siLanguage.js.map +1 -0
- package/dist/locus-info/controlsUtils.js +91 -2
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +383 -62
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +7 -1
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +57 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +249 -72
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +89 -14
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +61 -116
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +73 -124
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +82 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +3777 -2929
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +292 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +230 -124
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +260 -196
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +601 -417
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +73 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +192 -51
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/util.js +1 -1
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +36 -36
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +39 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +415 -115
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js +7 -0
- package/dist/meetings/meetings.types.js.map +1 -0
- package/dist/meetings/request.js +2 -0
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +72 -6
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +58 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +25 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +132 -25
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +10 -0
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +102 -6
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +106 -38
- 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 +326 -232
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +13 -5
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +1 -468
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +238 -49
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +29 -16
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +39 -36
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +44 -18
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +60 -3
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +209 -59
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +233 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- package/dist/reachability/index.js +225 -59
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +17 -8
- package/dist/reachability/request.js.map +1 -1
- package/dist/reconnection-manager/index.js +201 -156
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/index.js +21 -2
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +9 -8
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +62 -32
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +112 -97
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +95 -36
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.js +12 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.js +117 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/index.js +86 -78
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +11 -10
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +42 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +117 -0
- package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/events.d.ts +8 -0
- package/dist/types/breakouts/utils.d.ts +14 -0
- package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
- package/dist/types/common/errors/webex-errors.d.ts +25 -1
- package/dist/types/common/logs/request.d.ts +2 -0
- package/dist/types/common/queue.d.ts +9 -7
- package/dist/types/config.d.ts +1 -7
- package/dist/types/constants.d.ts +194 -24
- package/dist/types/controls-options-manager/enums.d.ts +11 -1
- package/dist/types/controls-options-manager/index.d.ts +17 -1
- package/dist/types/controls-options-manager/types.d.ts +43 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -7
- package/dist/types/index.d.ts +6 -4
- package/dist/types/interpretation/collection.d.ts +5 -0
- package/dist/types/interpretation/index.d.ts +5 -0
- package/dist/types/interpretation/siLanguage.d.ts +5 -0
- package/dist/types/locus-info/index.d.ts +57 -4
- package/dist/types/locus-info/parser.d.ts +67 -6
- package/dist/types/media/index.d.ts +2 -0
- package/dist/types/media/properties.d.ts +34 -48
- package/dist/types/meeting/in-meeting-actions.d.ts +82 -2
- package/dist/types/meeting/index.d.ts +463 -510
- package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/types/meeting/muteState.d.ts +99 -23
- package/dist/types/meeting/request.d.ts +72 -43
- package/dist/types/meeting/util.d.ts +101 -1
- package/dist/types/meeting-info/index.d.ts +13 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
- package/dist/types/meetings/collection.d.ts +17 -0
- package/dist/types/meetings/index.d.ts +98 -20
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/member/index.d.ts +14 -0
- package/dist/types/member/types.d.ts +32 -0
- package/dist/types/members/collection.d.ts +5 -0
- package/dist/types/members/index.d.ts +35 -2
- package/dist/types/members/request.d.ts +73 -9
- package/dist/types/members/types.d.ts +25 -0
- package/dist/types/members/util.d.ts +214 -1
- package/dist/types/metrics/constants.d.ts +12 -4
- package/dist/types/metrics/index.d.ts +4 -119
- package/dist/types/multistream/mediaRequestManager.d.ts +73 -5
- package/dist/types/multistream/receiveSlot.d.ts +13 -11
- package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
- package/dist/types/multistream/remoteMedia.d.ts +8 -29
- package/dist/types/multistream/remoteMediaGroup.d.ts +0 -9
- package/dist/types/multistream/remoteMediaManager.d.ts +46 -2
- package/dist/types/multistream/sendSlotManager.d.ts +61 -0
- package/dist/types/reachability/index.d.ts +61 -7
- package/dist/types/reachability/request.d.ts +7 -3
- package/dist/types/reconnection-manager/index.d.ts +9 -0
- package/dist/types/recording-controller/index.d.ts +15 -1
- package/dist/types/recording-controller/util.d.ts +5 -4
- package/dist/types/roap/index.d.ts +2 -1
- package/dist/types/roap/request.d.ts +15 -11
- package/dist/types/roap/turnDiscovery.d.ts +21 -3
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +47 -0
- package/dist/types/statsAnalyzer/index.d.ts +7 -1
- package/dist/types/webinar/collection.d.ts +16 -0
- package/dist/types/webinar/index.d.ts +5 -0
- package/dist/webinar/collection.js +44 -0
- package/dist/webinar/collection.js.map +1 -0
- package/dist/webinar/index.js +69 -0
- package/dist/webinar/index.js.map +1 -0
- package/package.json +23 -20
- package/src/annotation/annotation.types.ts +50 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +328 -0
- package/src/breakouts/README.md +42 -12
- package/src/breakouts/breakout.ts +67 -9
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +592 -20
- package/src/breakouts/utils.ts +42 -0
- package/src/common/errors/no-meeting-info.ts +24 -0
- package/src/common/errors/reclaim-host-role-errors.ts +134 -0
- package/src/common/errors/webex-errors.ts +44 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/logs/request.ts +5 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +4 -10
- package/src/constants.ts +221 -19
- package/src/controls-options-manager/enums.ts +12 -0
- package/src/controls-options-manager/index.ts +116 -21
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +294 -14
- package/src/index.ts +40 -0
- package/src/interpretation/README.md +60 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +332 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +108 -0
- package/src/locus-info/index.ts +413 -59
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +64 -0
- package/src/locus-info/parser.ts +258 -47
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +102 -122
- package/src/media/properties.ts +87 -110
- package/src/meeting/in-meeting-actions.ts +163 -3
- package/src/meeting/index.ts +3132 -2541
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +229 -131
- package/src/meeting/request.ts +177 -121
- package/src/meeting/util.ts +588 -394
- package/src/meeting-info/index.ts +81 -8
- package/src/meeting-info/meeting-info-v2.ts +170 -14
- package/src/meeting-info/util.ts +1 -1
- package/src/meeting-info/utilv2.ts +23 -23
- package/src/meetings/collection.ts +33 -0
- package/src/meetings/index.ts +445 -123
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +80 -11
- package/src/member/index.ts +58 -0
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +141 -25
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +134 -8
- package/src/members/request.ts +97 -17
- package/src/members/types.ts +29 -0
- package/src/members/util.ts +333 -240
- package/src/metrics/constants.ts +12 -4
- package/src/metrics/index.ts +1 -490
- package/src/multistream/mediaRequestManager.ts +289 -79
- package/src/multistream/receiveSlot.ts +31 -17
- package/src/multistream/receiveSlotManager.ts +34 -24
- package/src/multistream/remoteMedia.ts +27 -2
- package/src/multistream/remoteMediaGroup.ts +59 -0
- package/src/multistream/remoteMediaManager.ts +148 -30
- package/src/multistream/sendSlotManager.ts +170 -0
- package/src/reachability/index.ts +228 -37
- package/src/reachability/request.ts +17 -8
- package/src/reconnection-manager/index.ts +83 -56
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +63 -32
- package/src/roap/request.ts +100 -104
- package/src/roap/turnDiscovery.ts +48 -26
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +100 -0
- package/src/statsAnalyzer/index.ts +105 -91
- package/src/statsAnalyzer/mqaUtil.ts +13 -14
- package/src/webinar/collection.ts +31 -0
- package/src/webinar/index.ts +62 -0
- package/test/integration/spec/converged-space-meetings.js +60 -3
- package/test/integration/spec/journey.js +320 -261
- package/test/integration/spec/space-meeting.js +76 -3
- package/test/unit/spec/annotation/index.ts +418 -0
- package/test/unit/spec/breakouts/breakout.ts +118 -28
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +1395 -69
- package/test/unit/spec/breakouts/utils.js +52 -1
- package/test/unit/spec/common/queue.js +31 -2
- package/test/unit/spec/controls-options-manager/index.js +163 -0
- package/test/unit/spec/controls-options-manager/util.js +576 -60
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/interpretation/collection.ts +15 -0
- package/test/unit/spec/interpretation/index.ts +589 -0
- package/test/unit/spec/interpretation/siLanguage.ts +28 -0
- package/test/unit/spec/locus-info/controlsUtils.js +316 -43
- package/test/unit/spec/locus-info/index.js +1304 -33
- package/test/unit/spec/locus-info/infoUtils.js +37 -15
- package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
- package/test/unit/spec/locus-info/parser.js +116 -35
- package/test/unit/spec/locus-info/selfConstant.js +27 -4
- package/test/unit/spec/locus-info/selfUtils.js +208 -17
- package/test/unit/spec/media/index.ts +104 -37
- package/test/unit/spec/media/properties.ts +2 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +81 -3
- package/test/unit/spec/meeting/index.js +5216 -1956
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +408 -208
- package/test/unit/spec/meeting/request.js +483 -49
- package/test/unit/spec/meeting/utils.js +679 -64
- package/test/unit/spec/meeting-info/index.js +300 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +526 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +26 -0
- package/test/unit/spec/meetings/index.js +1011 -205
- package/test/unit/spec/meetings/utils.js +202 -2
- package/test/unit/spec/member/index.js +61 -6
- package/test/unit/spec/member/util.js +510 -34
- package/test/unit/spec/members/index.js +432 -1
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +210 -0
- package/test/unit/spec/metrics/index.js +1 -50
- package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
- package/test/unit/spec/multistream/receiveSlot.ts +28 -20
- package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
- package/test/unit/spec/multistream/remoteMedia.ts +30 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +326 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
- package/test/unit/spec/reachability/index.ts +549 -9
- package/test/unit/spec/reachability/request.js +68 -0
- package/test/unit/spec/reconnection-manager/index.js +85 -9
- package/test/unit/spec/recording-controller/index.js +294 -218
- package/test/unit/spec/recording-controller/util.js +223 -96
- package/test/unit/spec/roap/index.ts +178 -64
- package/test/unit/spec/roap/request.ts +203 -85
- package/test/unit/spec/roap/turnDiscovery.ts +82 -36
- package/test/unit/spec/rtcMetrics/index.ts +73 -0
- package/test/unit/spec/stats-analyzer/index.js +136 -2
- package/test/unit/spec/webinar/collection.ts +13 -0
- package/test/unit/spec/webinar/index.ts +60 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -52
- package/dist/meeting/effectsState.js +0 -262
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/metrics/config.js +0 -299
- package/dist/metrics/config.js.map +0 -1
- package/dist/types/meeting/effectsState.d.ts +0 -42
- package/dist/types/metrics/config.d.ts +0 -178
- package/src/index.js +0 -16
- package/src/meeting/effectsState.ts +0 -211
- package/src/metrics/config.ts +0 -495
- package/test/unit/spec/meeting/effectsState.js +0 -285
package/dist/member/index.js
CHANGED
|
@@ -32,6 +32,7 @@ var Member = /*#__PURE__*/function () {
|
|
|
32
32
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
33
33
|
(0, _classCallCheck2.default)(this, Member);
|
|
34
34
|
(0, _defineProperty2.default)(this, "associatedUser", void 0);
|
|
35
|
+
(0, _defineProperty2.default)(this, "canReclaimHost", void 0);
|
|
35
36
|
(0, _defineProperty2.default)(this, "id", void 0);
|
|
36
37
|
(0, _defineProperty2.default)(this, "isAudioMuted", void 0);
|
|
37
38
|
(0, _defineProperty2.default)(this, "isContentSharing", void 0);
|
|
@@ -50,12 +51,23 @@ var Member = /*#__PURE__*/function () {
|
|
|
50
51
|
(0, _defineProperty2.default)(this, "isSelf", void 0);
|
|
51
52
|
(0, _defineProperty2.default)(this, "isUser", void 0);
|
|
52
53
|
(0, _defineProperty2.default)(this, "isVideoMuted", void 0);
|
|
54
|
+
(0, _defineProperty2.default)(this, "roles", void 0);
|
|
55
|
+
(0, _defineProperty2.default)(this, "mediaStatus", void 0);
|
|
53
56
|
(0, _defineProperty2.default)(this, "name", void 0);
|
|
54
57
|
(0, _defineProperty2.default)(this, "participant", void 0);
|
|
55
58
|
(0, _defineProperty2.default)(this, "status", void 0);
|
|
56
59
|
(0, _defineProperty2.default)(this, "supportsBreakouts", void 0);
|
|
60
|
+
(0, _defineProperty2.default)(this, "supportsInterpretation", void 0);
|
|
61
|
+
(0, _defineProperty2.default)(this, "supportLiveAnnotation", void 0);
|
|
57
62
|
(0, _defineProperty2.default)(this, "type", void 0);
|
|
58
63
|
(0, _defineProperty2.default)(this, "namespace", _constants.MEETINGS);
|
|
64
|
+
/**
|
|
65
|
+
* @instance
|
|
66
|
+
* @type {Boolean}
|
|
67
|
+
* @public
|
|
68
|
+
* @memberof Member
|
|
69
|
+
*/
|
|
70
|
+
this.canReclaimHost = false;
|
|
59
71
|
/**
|
|
60
72
|
* The server participant object
|
|
61
73
|
* @instance
|
|
@@ -108,6 +120,13 @@ var Member = /*#__PURE__*/function () {
|
|
|
108
120
|
* @memberof Member
|
|
109
121
|
*/
|
|
110
122
|
this.supportsBreakouts = null;
|
|
123
|
+
/**
|
|
124
|
+
* @instance
|
|
125
|
+
* @type {Boolean}
|
|
126
|
+
* @public
|
|
127
|
+
* @memberof Member
|
|
128
|
+
*/
|
|
129
|
+
this.supportLiveAnnotation = null;
|
|
111
130
|
/**
|
|
112
131
|
* @instance
|
|
113
132
|
* @type {Boolean}
|
|
@@ -228,6 +247,27 @@ var Member = /*#__PURE__*/function () {
|
|
|
228
247
|
* @memberof Member
|
|
229
248
|
*/
|
|
230
249
|
this.isModeratorAssignmentProhibited = null;
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* @instance
|
|
253
|
+
* @type {IExternalRoles}
|
|
254
|
+
* @public
|
|
255
|
+
* @memberof Member
|
|
256
|
+
*/
|
|
257
|
+
this.roles = null;
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* @instance
|
|
261
|
+
* @type {IMediaStatus}
|
|
262
|
+
* @public
|
|
263
|
+
* @memberof Member
|
|
264
|
+
* @example {audio: MediaStatus.RECVONLY, video: MediaStatus.SENDRECV}
|
|
265
|
+
*/
|
|
266
|
+
this.mediaStatus = {
|
|
267
|
+
audio: null,
|
|
268
|
+
video: null
|
|
269
|
+
};
|
|
270
|
+
|
|
231
271
|
// TODO: more participant types
|
|
232
272
|
// such as native client, web client, is a device, what type of phone, etc
|
|
233
273
|
this.processParticipant(participant);
|
|
@@ -247,18 +287,22 @@ var Member = /*#__PURE__*/function () {
|
|
|
247
287
|
value: function processParticipant(participant) {
|
|
248
288
|
this.participant = participant;
|
|
249
289
|
if (participant) {
|
|
290
|
+
this.canReclaimHost = _util.default.canReclaimHost(participant);
|
|
250
291
|
this.id = _util.default.extractId(participant);
|
|
251
292
|
this.name = _util.default.extractName(participant);
|
|
252
293
|
this.isAudioMuted = _util.default.isAudioMuted(participant);
|
|
253
294
|
this.isVideoMuted = _util.default.isVideoMuted(participant);
|
|
254
295
|
this.isHandRaised = _util.default.isHandRaised(participant);
|
|
255
296
|
this.supportsBreakouts = _util.default.isBreakoutsSupported(participant);
|
|
297
|
+
this.supportsInterpretation = _util.default.isInterpretationSupported(participant);
|
|
298
|
+
this.supportLiveAnnotation = _util.default.isLiveAnnotationSupported(participant);
|
|
256
299
|
this.isGuest = _util.default.isGuest(participant);
|
|
257
300
|
this.isUser = _util.default.isUser(participant);
|
|
258
301
|
this.isDevice = _util.default.isDevice(participant);
|
|
259
302
|
this.isModerator = _util.default.isModerator(participant);
|
|
260
303
|
this.isModeratorAssignmentProhibited = _util.default.isModeratorAssignmentProhibited(participant);
|
|
261
304
|
this.processStatus(participant);
|
|
305
|
+
this.processRoles(participant);
|
|
262
306
|
// must be done last
|
|
263
307
|
this.isNotAdmitted = _util.default.isNotAdmitted(participant, this.isGuest, this.status);
|
|
264
308
|
}
|
|
@@ -297,6 +341,7 @@ var Member = /*#__PURE__*/function () {
|
|
|
297
341
|
this.isRemovable = _util.default.isRemovable(this.isSelf, this.isGuest, this.isInMeeting, this.type);
|
|
298
342
|
// must occur after self, device, meeting, mute status, and type properties are calculated
|
|
299
343
|
this.isMutable = _util.default.isMutable(this.isSelf, this.isDevice, this.isInMeeting, this.isAudioMuted, this.type);
|
|
344
|
+
this.mediaStatus = _util.default.extractMediaStatus(this.participant);
|
|
300
345
|
}
|
|
301
346
|
|
|
302
347
|
/**
|
|
@@ -437,6 +482,19 @@ var Member = /*#__PURE__*/function () {
|
|
|
437
482
|
}
|
|
438
483
|
}
|
|
439
484
|
|
|
485
|
+
/**
|
|
486
|
+
* process the roles that have been applied to this member
|
|
487
|
+
* @param {Object} participant
|
|
488
|
+
* @returns {undefined}
|
|
489
|
+
* @private
|
|
490
|
+
* @memberof Member
|
|
491
|
+
*/
|
|
492
|
+
}, {
|
|
493
|
+
key: "processRoles",
|
|
494
|
+
value: function processRoles(participant) {
|
|
495
|
+
this.roles = _util.default.extractControlRoles(participant);
|
|
496
|
+
}
|
|
497
|
+
|
|
440
498
|
/**
|
|
441
499
|
* set the type for the member, could be MEETING or CALL
|
|
442
500
|
* @param {String} type
|
package/dist/member/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Member","participant","options","MEETINGS","id","name","isAudioMuted","isVideoMuted","isHandRaised","supportsBreakouts","isSelf","isHost","isGuest","isInLobby","isInMeeting","isNotAdmitted","isContentSharing","status","isDevice","isUser","associatedUser","isRecording","isMutable","isRemovable","type","isModerator","isModeratorAssignmentProhibited","processParticipant","processParticipantOptions","processMember","MemberUtil","extractId","extractName","isBreakoutsSupported","processStatus","processIsSelf","selfId","processIsHost","hostId","processIsContentSharing","contentSharingId","processType","processIsRecording","recordingId","extractStatus","_IN_LOBBY_","_IN_MEETING_","_NOT_IN_MEETING_","flag","sharingId","isSame","isAssociatedSame"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport {MEETINGS, _IN_LOBBY_, _NOT_IN_MEETING_, _IN_MEETING_} from '../constants';\n\nimport MemberUtil from './util';\n\n/**\n * @class Member\n */\nexport default class Member {\n associatedUser: any;\n id: any;\n isAudioMuted: any;\n isContentSharing: any;\n isDevice: any;\n isGuest: any;\n isHandRaised: any;\n isHost: any;\n isInLobby: any;\n isInMeeting: any;\n isModerator: any;\n isModeratorAssignmentProhibited: any;\n isMutable: any;\n isNotAdmitted: any;\n isRecording: any;\n isRemovable: any;\n isSelf: any;\n isUser: any;\n isVideoMuted: any;\n name: any;\n participant: any;\n status: any;\n supportsBreakouts: boolean;\n type: any;\n namespace = MEETINGS;\n\n /**\n * @param {Object} participant - the locus participant\n * @param {Object} [options] - constructor params\n * @param {String} options.selfId\n * @param {String} options.hostId\n * @param {String} options.contentSharingId\n * @param {String} options.type\n * @returns {Member}\n * @memberof Member\n */\n constructor(\n participant: object,\n options:\n | {\n selfId: string;\n hostId: string;\n contentSharingId: string;\n type: string;\n }\n | any = {}\n ) {\n /**\n * The server participant object\n * @instance\n * @type {Object}\n * @private\n * @memberof Member\n */\n this.participant = null;\n /**\n * The member id\n * @instance\n * @type {String}\n * @public\n * @memberof Member\n */\n this.id = null;\n /**\n * The member name\n * @instance\n * @type {String}\n * @public\n * @memberof Member\n */\n this.name = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isAudioMuted = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isVideoMuted = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isHandRaised = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.supportsBreakouts = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isSelf = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isHost = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isGuest = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isInLobby = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isInMeeting = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isNotAdmitted = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isContentSharing = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.status = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isDevice = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isUser = null;\n /**\n * Is this member associated to another user by way of pairing (typical of devices)\n * @instance\n * @type {String}\n * @public\n * @memberof Member\n */\n this.associatedUser = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isRecording = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isMutable = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isRemovable = null;\n /**\n * @instance\n * @type {String}\n * @private\n * @memberof Member\n */\n this.type = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isModerator = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isModeratorAssignmentProhibited = null;\n // TODO: more participant types\n // such as native client, web client, is a device, what type of phone, etc\n this.processParticipant(participant);\n this.processParticipantOptions(participant, options);\n this.processMember();\n }\n\n /**\n * set all the participant values extracted directly from locus participant\n * @param {Object} participant the locus participant object\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processParticipant(participant: object) {\n this.participant = participant;\n if (participant) {\n this.id = MemberUtil.extractId(participant);\n this.name = MemberUtil.extractName(participant);\n this.isAudioMuted = MemberUtil.isAudioMuted(participant);\n this.isVideoMuted = MemberUtil.isVideoMuted(participant);\n this.isHandRaised = MemberUtil.isHandRaised(participant);\n this.supportsBreakouts = MemberUtil.isBreakoutsSupported(participant);\n this.isGuest = MemberUtil.isGuest(participant);\n this.isUser = MemberUtil.isUser(participant);\n this.isDevice = MemberUtil.isDevice(participant);\n this.isModerator = MemberUtil.isModerator(participant);\n this.isModeratorAssignmentProhibited =\n MemberUtil.isModeratorAssignmentProhibited(participant);\n this.processStatus(participant);\n // must be done last\n this.isNotAdmitted = MemberUtil.isNotAdmitted(participant, this.isGuest, this.status);\n }\n }\n\n /**\n * Use the members options and participant values to set on the member\n * @param {Object} participant the locus participant object\n * @param {Object} options the passed in options, what was set on members\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processParticipantOptions(participant: object, options: any) {\n if (participant && options) {\n this.processIsSelf(participant, options.selfId);\n this.processIsHost(participant, options.hostId);\n this.processIsContentSharing(participant, options.contentSharingId);\n this.processType(options.type);\n this.processIsRecording(participant, options.recordingId);\n }\n }\n\n /**\n * processes what already exists on the member to determine other info about the member\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processMember() {\n // must occur after self, guest, meeting, and type properties are calculated\n this.isRemovable = MemberUtil.isRemovable(\n this.isSelf,\n this.isGuest,\n this.isInMeeting,\n this.type\n );\n // must occur after self, device, meeting, mute status, and type properties are calculated\n this.isMutable = MemberUtil.isMutable(\n this.isSelf,\n this.isDevice,\n this.isInMeeting,\n this.isAudioMuted,\n this.type\n );\n }\n\n /**\n * set the status on member object\n * @param {Object} participant the locus participant object\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processStatus(participant: object) {\n this.status = MemberUtil.extractStatus(participant);\n switch (this.status) {\n case _IN_LOBBY_:\n this.isInLobby = true;\n this.isInMeeting = false;\n break;\n case _IN_MEETING_:\n this.isInLobby = false;\n this.isInMeeting = true;\n break;\n case _NOT_IN_MEETING_:\n this.isInLobby = false;\n this.isInMeeting = false;\n break;\n default:\n this.isInLobby = false;\n this.isInMeeting = false;\n }\n }\n\n /**\n * set the isContentSharing on member\n * @param {Boolean} flag\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n public setIsContentSharing(flag: boolean) {\n this.isContentSharing = flag;\n }\n\n /**\n * set the isHost on member\n * @param {Boolean} flag\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n public setIsHost(flag: boolean) {\n this.isHost = flag;\n }\n\n /**\n * set the isSelf on member\n * @param {Boolean} flag\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n public setIsSelf(flag: boolean) {\n this.isSelf = flag;\n }\n\n /**\n * determine if this member is content sharing\n * @param {Object} participant\n * @param {String} sharingId\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n public processIsContentSharing(participant: object, sharingId: string) {\n if (MemberUtil.isUser(participant)) {\n this.isContentSharing = MemberUtil.isSame(participant, sharingId);\n } else if (MemberUtil.isDevice(participant)) {\n this.isContentSharing = MemberUtil.isAssociatedSame(participant, sharingId);\n }\n }\n\n /**\n * Determine if this member is recording\n * @param {Object} participant\n * @param {String} recordingId\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n public processIsRecording(participant: object, recordingId: string) {\n this.isRecording = MemberUtil.isSame(participant, recordingId);\n }\n\n /**\n * determine if this member is the self\n * @param {Object} participant\n * @param {String} selfId\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processIsSelf(participant: object, selfId: string) {\n if (MemberUtil.isUser(participant)) {\n this.isSelf = MemberUtil.isSame(participant, selfId);\n } else if (MemberUtil.isDevice(participant)) {\n this.isSelf = MemberUtil.isAssociatedSame(participant, selfId);\n this.associatedUser = selfId;\n }\n }\n\n /**\n * determine if this member is the host\n * @param {Object} participant\n * @param {String} hostId\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processIsHost(participant: object, hostId: string) {\n if (MemberUtil.isUser(participant)) {\n this.isHost = MemberUtil.isSame(participant, hostId);\n } else if (MemberUtil.isDevice(participant)) {\n this.isHost = MemberUtil.isAssociatedSame(participant, hostId);\n }\n }\n\n /**\n * set the type for the member, could be MEETING or CALL\n * @param {String} type\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processType(type: string) {\n this.type = type;\n }\n}\n"],"mappings":";;;;;;;;;;;AAGA;AAEA;AALA;AACA;AACA;AAKA;AACA;AACA;AAFA,IAGqBA,MAAM;EA2BzB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,gBACEC,WAAmB,EASnB;IAAA,IARAC,OAOO,uEAAG,CAAC,CAAC;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA,iDArBFC,mBAAQ;IAuBlB;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAI,CAACF,WAAW,GAAG,IAAI;IACvB;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAI,CAACG,EAAE,GAAG,IAAI;IACd;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,IAAI,GAAG,IAAI;IAChB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,iBAAiB,GAAG,IAAI;IAC7B;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,MAAM,GAAG,IAAI;IAClB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,MAAM,GAAG,IAAI;IAClB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,OAAO,GAAG,IAAI;IACnB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,SAAS,GAAG,IAAI;IACrB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,WAAW,GAAG,IAAI;IACvB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,aAAa,GAAG,IAAI;IACzB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,gBAAgB,GAA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"}
|
|
1
|
+
{"version":3,"names":["Member","participant","options","MEETINGS","canReclaimHost","id","name","isAudioMuted","isVideoMuted","isHandRaised","supportsBreakouts","supportLiveAnnotation","isSelf","isHost","isGuest","isInLobby","isInMeeting","isNotAdmitted","isContentSharing","status","isDevice","isUser","associatedUser","isRecording","isMutable","isRemovable","type","isModerator","isModeratorAssignmentProhibited","roles","mediaStatus","audio","video","processParticipant","processParticipantOptions","processMember","MemberUtil","extractId","extractName","isBreakoutsSupported","supportsInterpretation","isInterpretationSupported","isLiveAnnotationSupported","processStatus","processRoles","processIsSelf","selfId","processIsHost","hostId","processIsContentSharing","contentSharingId","processType","processIsRecording","recordingId","extractMediaStatus","extractStatus","_IN_LOBBY_","_IN_MEETING_","_NOT_IN_MEETING_","flag","sharingId","isSame","isAssociatedSame","extractControlRoles"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport {MEETINGS, _IN_LOBBY_, _NOT_IN_MEETING_, _IN_MEETING_} from '../constants';\nimport {IExternalRoles, IMediaStatus, ParticipantWithRoles} from './types';\n\nimport MemberUtil from './util';\n\n/**\n * @class Member\n */\nexport default class Member {\n associatedUser: any;\n canReclaimHost: boolean;\n id: any;\n isAudioMuted: any;\n isContentSharing: any;\n isDevice: any;\n isGuest: any;\n isHandRaised: any;\n isHost: any;\n isInLobby: any;\n isInMeeting: any;\n isModerator: any;\n isModeratorAssignmentProhibited: any;\n isMutable: any;\n isNotAdmitted: any;\n isRecording: any;\n isRemovable: any;\n isSelf: any;\n isUser: any;\n isVideoMuted: any;\n roles: IExternalRoles;\n mediaStatus: IMediaStatus;\n name: any;\n participant: any;\n status: any;\n supportsBreakouts: boolean;\n supportsInterpretation: boolean;\n supportLiveAnnotation: boolean;\n type: any;\n namespace = MEETINGS;\n\n /**\n * @param {Object} participant - the locus participant\n * @param {Object} [options] - constructor params\n * @param {String} options.selfId\n * @param {String} options.hostId\n * @param {String} options.contentSharingId\n * @param {String} options.type\n * @returns {Member}\n * @memberof Member\n */\n constructor(\n participant: object,\n options:\n | {\n selfId: string;\n hostId: string;\n contentSharingId: string;\n type: string;\n }\n | any = {}\n ) {\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.canReclaimHost = false;\n /**\n * The server participant object\n * @instance\n * @type {Object}\n * @private\n * @memberof Member\n */\n this.participant = null;\n /**\n * The member id\n * @instance\n * @type {String}\n * @public\n * @memberof Member\n */\n this.id = null;\n /**\n * The member name\n * @instance\n * @type {String}\n * @public\n * @memberof Member\n */\n this.name = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isAudioMuted = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isVideoMuted = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isHandRaised = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.supportsBreakouts = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.supportLiveAnnotation = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isSelf = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isHost = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isGuest = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isInLobby = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isInMeeting = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isNotAdmitted = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isContentSharing = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.status = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isDevice = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isUser = null;\n /**\n * Is this member associated to another user by way of pairing (typical of devices)\n * @instance\n * @type {String}\n * @public\n * @memberof Member\n */\n this.associatedUser = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isRecording = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isMutable = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isRemovable = null;\n /**\n * @instance\n * @type {String}\n * @private\n * @memberof Member\n */\n this.type = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isModerator = null;\n /**\n * @instance\n * @type {Boolean}\n * @public\n * @memberof Member\n */\n this.isModeratorAssignmentProhibited = null;\n\n /**\n * @instance\n * @type {IExternalRoles}\n * @public\n * @memberof Member\n */\n this.roles = null;\n\n /**\n * @instance\n * @type {IMediaStatus}\n * @public\n * @memberof Member\n * @example {audio: MediaStatus.RECVONLY, video: MediaStatus.SENDRECV}\n */\n this.mediaStatus = {\n audio: null,\n video: null,\n };\n\n // TODO: more participant types\n // such as native client, web client, is a device, what type of phone, etc\n this.processParticipant(participant);\n this.processParticipantOptions(participant, options);\n this.processMember();\n }\n\n /**\n * set all the participant values extracted directly from locus participant\n * @param {Object} participant the locus participant object\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processParticipant(participant: object) {\n this.participant = participant;\n if (participant) {\n this.canReclaimHost = MemberUtil.canReclaimHost(participant);\n this.id = MemberUtil.extractId(participant);\n this.name = MemberUtil.extractName(participant);\n this.isAudioMuted = MemberUtil.isAudioMuted(participant);\n this.isVideoMuted = MemberUtil.isVideoMuted(participant);\n this.isHandRaised = MemberUtil.isHandRaised(participant);\n this.supportsBreakouts = MemberUtil.isBreakoutsSupported(participant);\n this.supportsInterpretation = MemberUtil.isInterpretationSupported(participant);\n this.supportLiveAnnotation = MemberUtil.isLiveAnnotationSupported(participant);\n this.isGuest = MemberUtil.isGuest(participant);\n this.isUser = MemberUtil.isUser(participant);\n this.isDevice = MemberUtil.isDevice(participant);\n this.isModerator = MemberUtil.isModerator(participant);\n this.isModeratorAssignmentProhibited =\n MemberUtil.isModeratorAssignmentProhibited(participant);\n this.processStatus(participant);\n this.processRoles(participant as ParticipantWithRoles);\n // must be done last\n this.isNotAdmitted = MemberUtil.isNotAdmitted(participant, this.isGuest, this.status);\n }\n }\n\n /**\n * Use the members options and participant values to set on the member\n * @param {Object} participant the locus participant object\n * @param {Object} options the passed in options, what was set on members\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processParticipantOptions(participant: object, options: any) {\n if (participant && options) {\n this.processIsSelf(participant, options.selfId);\n this.processIsHost(participant, options.hostId);\n this.processIsContentSharing(participant, options.contentSharingId);\n this.processType(options.type);\n this.processIsRecording(participant, options.recordingId);\n }\n }\n\n /**\n * processes what already exists on the member to determine other info about the member\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processMember() {\n // must occur after self, guest, meeting, and type properties are calculated\n this.isRemovable = MemberUtil.isRemovable(\n this.isSelf,\n this.isGuest,\n this.isInMeeting,\n this.type\n );\n // must occur after self, device, meeting, mute status, and type properties are calculated\n this.isMutable = MemberUtil.isMutable(\n this.isSelf,\n this.isDevice,\n this.isInMeeting,\n this.isAudioMuted,\n this.type\n );\n\n this.mediaStatus = MemberUtil.extractMediaStatus(this.participant);\n }\n\n /**\n * set the status on member object\n * @param {Object} participant the locus participant object\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processStatus(participant: object) {\n this.status = MemberUtil.extractStatus(participant);\n switch (this.status) {\n case _IN_LOBBY_:\n this.isInLobby = true;\n this.isInMeeting = false;\n break;\n case _IN_MEETING_:\n this.isInLobby = false;\n this.isInMeeting = true;\n break;\n case _NOT_IN_MEETING_:\n this.isInLobby = false;\n this.isInMeeting = false;\n break;\n default:\n this.isInLobby = false;\n this.isInMeeting = false;\n }\n }\n\n /**\n * set the isContentSharing on member\n * @param {Boolean} flag\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n public setIsContentSharing(flag: boolean) {\n this.isContentSharing = flag;\n }\n\n /**\n * set the isHost on member\n * @param {Boolean} flag\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n public setIsHost(flag: boolean) {\n this.isHost = flag;\n }\n\n /**\n * set the isSelf on member\n * @param {Boolean} flag\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n public setIsSelf(flag: boolean) {\n this.isSelf = flag;\n }\n\n /**\n * determine if this member is content sharing\n * @param {Object} participant\n * @param {String} sharingId\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n public processIsContentSharing(participant: object, sharingId: string) {\n if (MemberUtil.isUser(participant)) {\n this.isContentSharing = MemberUtil.isSame(participant, sharingId);\n } else if (MemberUtil.isDevice(participant)) {\n this.isContentSharing = MemberUtil.isAssociatedSame(participant, sharingId);\n }\n }\n\n /**\n * Determine if this member is recording\n * @param {Object} participant\n * @param {String} recordingId\n * @returns {undefined}\n * @public\n * @memberof Member\n */\n public processIsRecording(participant: object, recordingId: string) {\n this.isRecording = MemberUtil.isSame(participant, recordingId);\n }\n\n /**\n * determine if this member is the self\n * @param {Object} participant\n * @param {String} selfId\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processIsSelf(participant: object, selfId: string) {\n if (MemberUtil.isUser(participant)) {\n this.isSelf = MemberUtil.isSame(participant, selfId);\n } else if (MemberUtil.isDevice(participant)) {\n this.isSelf = MemberUtil.isAssociatedSame(participant, selfId);\n this.associatedUser = selfId;\n }\n }\n\n /**\n * determine if this member is the host\n * @param {Object} participant\n * @param {String} hostId\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processIsHost(participant: object, hostId: string) {\n if (MemberUtil.isUser(participant)) {\n this.isHost = MemberUtil.isSame(participant, hostId);\n } else if (MemberUtil.isDevice(participant)) {\n this.isHost = MemberUtil.isAssociatedSame(participant, hostId);\n }\n }\n\n /**\n * process the roles that have been applied to this member\n * @param {Object} participant\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processRoles(participant: ParticipantWithRoles) {\n this.roles = MemberUtil.extractControlRoles(participant);\n }\n\n /**\n * set the type for the member, could be MEETING or CALL\n * @param {String} type\n * @returns {undefined}\n * @private\n * @memberof Member\n */\n private processType(type: string) {\n this.type = type;\n }\n}\n"],"mappings":";;;;;;;;;;;AAGA;AAGA;AANA;AACA;AACA;AAMA;AACA;AACA;AAFA,IAGqBA,MAAM;EAgCzB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,gBACEC,WAAmB,EASnB;IAAA,IARAC,OAOO,uEAAG,CAAC,CAAC;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA,iDArBFC,mBAAQ;IAuBlB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,cAAc,GAAG,KAAK;IAC3B;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAI,CAACH,WAAW,GAAG,IAAI;IACvB;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAI,CAACI,EAAE,GAAG,IAAI;IACd;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,IAAI,GAAG,IAAI;IAChB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,iBAAiB,GAAG,IAAI;IAC7B;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,qBAAqB,GAAG,IAAI;IACjC;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,MAAM,GAAG,IAAI;IAClB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,MAAM,GAAG,IAAI;IAClB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,OAAO,GAAG,IAAI;IACnB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,SAAS,GAAG,IAAI;IACrB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,WAAW,GAAG,IAAI;IACvB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,aAAa,GAAG,IAAI;IACzB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,gBAAgB,GAAG,IAAI;IAC5B;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,MAAM,GAAG,IAAI;IAClB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,QAAQ,GAAG,IAAI;IACpB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,MAAM,GAAG,IAAI;IAClB;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,cAAc,GAAG,IAAI;IAC1B;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,WAAW,GAAG,IAAI;IACvB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,SAAS,GAAG,IAAI;IACrB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,WAAW,GAAG,IAAI;IACvB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,IAAI,GAAG,IAAI;IAChB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,WAAW,GAAG,IAAI;IACvB;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,+BAA+B,GAAG,IAAI;;IAE3C;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,KAAK,GAAG,IAAI;;IAEjB;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAI,CAACC,WAAW,GAAG;MACjBC,KAAK,EAAE,IAAI;MACXC,KAAK,EAAE;IACT,CAAC;;IAED;IACA;IACA,IAAI,CAACC,kBAAkB,CAAChC,WAAW,CAAC;IACpC,IAAI,CAACiC,yBAAyB,CAACjC,WAAW,EAAEC,OAAO,CAAC;IACpD,IAAI,CAACiC,aAAa,EAAE;EACtB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA;IAAA,OAOA,4BAA2BlC,WAAmB,EAAE;MAC9C,IAAI,CAACA,WAAW,GAAGA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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ServerRoles = exports.MediaStatus = void 0;
|
|
8
|
+
var ServerRoles;
|
|
9
|
+
exports.ServerRoles = ServerRoles;
|
|
10
|
+
(function (ServerRoles) {
|
|
11
|
+
ServerRoles["Cohost"] = "COHOST";
|
|
12
|
+
ServerRoles["Moderator"] = "MODERATOR";
|
|
13
|
+
ServerRoles["Presenter"] = "PRESENTER";
|
|
14
|
+
})(ServerRoles || (exports.ServerRoles = ServerRoles = {}));
|
|
15
|
+
// values are inherited from locus so don't update these
|
|
16
|
+
var MediaStatus; // participant has not added media in the meeting
|
|
17
|
+
exports.MediaStatus = MediaStatus;
|
|
18
|
+
(function (MediaStatus) {
|
|
19
|
+
MediaStatus["RECVONLY"] = "RECVONLY";
|
|
20
|
+
MediaStatus["SENDONLY"] = "SENDONLY";
|
|
21
|
+
MediaStatus["SENDRECV"] = "SENDRECV";
|
|
22
|
+
MediaStatus["INACTIVE"] = "INACTIVE";
|
|
23
|
+
MediaStatus["UNKNOWN"] = "UNKNOWN";
|
|
24
|
+
})(MediaStatus || (exports.MediaStatus = MediaStatus = {}));
|
|
25
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ServerRoles","MediaStatus"],"sources":["types.ts"],"sourcesContent":["export interface IExternalRoles {\n cohost: boolean;\n moderator: boolean;\n presenter: boolean;\n}\n\nexport enum ServerRoles {\n Cohost = 'COHOST',\n Moderator = 'MODERATOR',\n Presenter = 'PRESENTER',\n}\n\nexport type ServerRoleShape = {\n type: ServerRoles;\n hasRole: boolean;\n};\n\nexport type ParticipantWithRoles = {\n controls: {\n role: {\n roles: Array<ServerRoleShape>;\n };\n };\n};\n\n// values are inherited from locus so don't update these\nexport enum MediaStatus {\n RECVONLY = 'RECVONLY', // participant only receiving and not sending\n SENDONLY = 'SENDONLY', // participant only sending and not receiving\n SENDRECV = 'SENDRECV', // participant both sending and receiving\n INACTIVE = 'INACTIVE', // participant is not connected to media source\n UNKNOWN = 'UNKNOWN', // participant has not added media in the meeting\n}\n\nexport interface IMediaStatus {\n audio: MediaStatus;\n video: MediaStatus;\n}\n"],"mappings":";;;;;;;IAMYA,WAAW;AAAA;AAAA,WAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;AAAA,GAAXA,WAAW,2BAAXA,WAAW;AAmBvB;AAAA,IACYC,WAAW,EAKA;AAAA;AAAA,WALXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;AAAA,GAAXA,WAAW,2BAAXA,WAAW"}
|
package/dist/member/util.js
CHANGED
|
@@ -6,10 +6,80 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
|
+
var _types = require("./types");
|
|
9
10
|
var _constants = require("../constants");
|
|
10
11
|
var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
|
|
11
12
|
var MemberUtil = {};
|
|
12
13
|
|
|
14
|
+
/**
|
|
15
|
+
* @param {Object} participant the locus participant
|
|
16
|
+
* @returns {Boolean}
|
|
17
|
+
*/
|
|
18
|
+
MemberUtil.canReclaimHost = function (participant) {
|
|
19
|
+
if (!participant) {
|
|
20
|
+
throw new _parameter.default('canReclaimHostRole could not be processed, participant is undefined.');
|
|
21
|
+
}
|
|
22
|
+
return participant.canReclaimHostRole || false;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @param {Object} participant the locus participant
|
|
27
|
+
* @returns {[ServerRoleShape]}
|
|
28
|
+
*/
|
|
29
|
+
MemberUtil.getControlsRoles = function (participant) {
|
|
30
|
+
var _participant$controls, _participant$controls2;
|
|
31
|
+
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;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @param {Object} participant the locus participant
|
|
36
|
+
* @param {ServerRoles} controlRole the search role
|
|
37
|
+
* @returns {Boolean}
|
|
38
|
+
*/
|
|
39
|
+
MemberUtil.hasRole = function (participant, controlRole) {
|
|
40
|
+
var _MemberUtil$getContro;
|
|
41
|
+
return (_MemberUtil$getContro = MemberUtil.getControlsRoles(participant)) === null || _MemberUtil$getContro === void 0 ? void 0 : _MemberUtil$getContro.some(function (role) {
|
|
42
|
+
return role.type === controlRole && role.hasRole;
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @param {Object} participant the locus participant
|
|
48
|
+
* @returns {Boolean}
|
|
49
|
+
*/
|
|
50
|
+
MemberUtil.hasCohost = function (participant) {
|
|
51
|
+
return MemberUtil.hasRole(participant, _types.ServerRoles.Cohost) || false;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* @param {Object} participant the locus participant
|
|
56
|
+
* @returns {Boolean}
|
|
57
|
+
*/
|
|
58
|
+
MemberUtil.hasModerator = function (participant) {
|
|
59
|
+
return MemberUtil.hasRole(participant, _types.ServerRoles.Moderator) || false;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* @param {Object} participant the locus participant
|
|
64
|
+
* @returns {Boolean}
|
|
65
|
+
*/
|
|
66
|
+
MemberUtil.hasPresenter = function (participant) {
|
|
67
|
+
return MemberUtil.hasRole(participant, _types.ServerRoles.Presenter) || false;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* @param {Object} participant the locus participant
|
|
72
|
+
* @returns {IExternalRoles}
|
|
73
|
+
*/
|
|
74
|
+
MemberUtil.extractControlRoles = function (participant) {
|
|
75
|
+
var roles = {
|
|
76
|
+
cohost: MemberUtil.hasCohost(participant),
|
|
77
|
+
moderator: MemberUtil.hasModerator(participant),
|
|
78
|
+
presenter: MemberUtil.hasPresenter(participant)
|
|
79
|
+
};
|
|
80
|
+
return roles;
|
|
81
|
+
};
|
|
82
|
+
|
|
13
83
|
/**
|
|
14
84
|
* @param {Object} participant the locus participant
|
|
15
85
|
* @returns {Boolean}
|
|
@@ -86,16 +156,7 @@ MemberUtil.isAudioMuted = function (participant) {
|
|
|
86
156
|
if (!participant) {
|
|
87
157
|
throw new _parameter.default('Audio could not be processed, participant is undefined.');
|
|
88
158
|
}
|
|
89
|
-
|
|
90
|
-
if (participant.controls && participant.controls.audio) {
|
|
91
|
-
if (participant.controls.audio.muted) {
|
|
92
|
-
return true;
|
|
93
|
-
}
|
|
94
|
-
if (mutedStatus) {
|
|
95
|
-
return true;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
return false;
|
|
159
|
+
return MemberUtil.isMuted(participant, _constants.AUDIO_STATUS, _constants.AUDIO);
|
|
99
160
|
};
|
|
100
161
|
|
|
101
162
|
/**
|
|
@@ -106,7 +167,7 @@ MemberUtil.isVideoMuted = function (participant) {
|
|
|
106
167
|
if (!participant) {
|
|
107
168
|
throw new _parameter.default('Video could not be processed, participant is undefined.');
|
|
108
169
|
}
|
|
109
|
-
return MemberUtil.isMuted(participant.
|
|
170
|
+
return MemberUtil.isMuted(participant, _constants.VIDEO_STATUS, _constants.VIDEO);
|
|
110
171
|
};
|
|
111
172
|
|
|
112
173
|
/**
|
|
@@ -114,11 +175,11 @@ MemberUtil.isVideoMuted = function (participant) {
|
|
|
114
175
|
* @returns {Boolean}
|
|
115
176
|
*/
|
|
116
177
|
MemberUtil.isHandRaised = function (participant) {
|
|
117
|
-
var _participant$
|
|
178
|
+
var _participant$controls3, _participant$controls4;
|
|
118
179
|
if (!participant) {
|
|
119
180
|
throw new _parameter.default('Raise hand could not be processed, participant is undefined.');
|
|
120
181
|
}
|
|
121
|
-
return ((_participant$
|
|
182
|
+
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;
|
|
122
183
|
};
|
|
123
184
|
|
|
124
185
|
/**
|
|
@@ -133,21 +194,51 @@ MemberUtil.isBreakoutsSupported = function (participant) {
|
|
|
133
194
|
};
|
|
134
195
|
|
|
135
196
|
/**
|
|
136
|
-
*
|
|
137
|
-
* @param {String} status
|
|
138
|
-
* @param {String} accessor
|
|
197
|
+
* @param {Object} participant the locus participant
|
|
139
198
|
* @returns {Boolean}
|
|
140
199
|
*/
|
|
141
|
-
MemberUtil.
|
|
142
|
-
if (
|
|
143
|
-
|
|
144
|
-
return true;
|
|
145
|
-
}
|
|
146
|
-
if (status[accessor] === _constants._SEND_RECEIVE_) {
|
|
147
|
-
return false;
|
|
148
|
-
}
|
|
200
|
+
MemberUtil.isInterpretationSupported = function (participant) {
|
|
201
|
+
if (!participant) {
|
|
202
|
+
throw new _parameter.default('Interpretation support could not be processed, participant is undefined.');
|
|
149
203
|
}
|
|
150
|
-
return
|
|
204
|
+
return !participant.doesNotSupportSiInterpreter;
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* @param {Object} participant the locus participant
|
|
209
|
+
* @returns {Boolean}
|
|
210
|
+
*/
|
|
211
|
+
MemberUtil.isLiveAnnotationSupported = function (participant) {
|
|
212
|
+
if (!participant) {
|
|
213
|
+
throw new _parameter.default('LiveAnnotation support could not be processed, participant is undefined.');
|
|
214
|
+
}
|
|
215
|
+
return !participant.annotatorAssignmentNotAllowed;
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* utility method for audio/video muted status
|
|
220
|
+
* @param {any} participant
|
|
221
|
+
* @param {String} statusAccessor
|
|
222
|
+
* @param {String} controlsAccessor
|
|
223
|
+
* @returns {Boolean | undefined}
|
|
224
|
+
*/
|
|
225
|
+
MemberUtil.isMuted = function (participant, statusAccessor, controlsAccessor) {
|
|
226
|
+
var _participant$controls5, _participant$controls6, _participant$status;
|
|
227
|
+
// check remote mute
|
|
228
|
+
var remoteMute = participant === null || participant === void 0 ? void 0 : (_participant$controls5 = participant.controls) === null || _participant$controls5 === void 0 ? void 0 : (_participant$controls6 = _participant$controls5[controlsAccessor]) === null || _participant$controls6 === void 0 ? void 0 : _participant$controls6.muted;
|
|
229
|
+
if (remoteMute === true) {
|
|
230
|
+
return true;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
// check local mute
|
|
234
|
+
var localStatus = participant === null || participant === void 0 ? void 0 : (_participant$status = participant.status) === null || _participant$status === void 0 ? void 0 : _participant$status[statusAccessor];
|
|
235
|
+
if (localStatus === _constants._RECEIVE_ONLY_) {
|
|
236
|
+
return true;
|
|
237
|
+
}
|
|
238
|
+
if (localStatus === _constants._SEND_RECEIVE_) {
|
|
239
|
+
return false;
|
|
240
|
+
}
|
|
241
|
+
return remoteMute;
|
|
151
242
|
};
|
|
152
243
|
|
|
153
244
|
/**
|
|
@@ -243,6 +334,22 @@ MemberUtil.extractId = function (participant) {
|
|
|
243
334
|
return null;
|
|
244
335
|
};
|
|
245
336
|
|
|
337
|
+
/**
|
|
338
|
+
* extracts the media status from nested participant object
|
|
339
|
+
* @param {Object} participant the locus participant
|
|
340
|
+
* @returns {Object}
|
|
341
|
+
*/
|
|
342
|
+
MemberUtil.extractMediaStatus = function (participant) {
|
|
343
|
+
var _participant$status2, _participant$status3;
|
|
344
|
+
if (!participant) {
|
|
345
|
+
throw new _parameter.default('Media status could not be extracted, participant is undefined.');
|
|
346
|
+
}
|
|
347
|
+
return {
|
|
348
|
+
audio: (_participant$status2 = participant.status) === null || _participant$status2 === void 0 ? void 0 : _participant$status2.audioStatus,
|
|
349
|
+
video: (_participant$status3 = participant.status) === null || _participant$status3 === void 0 ? void 0 : _participant$status3.videoStatus
|
|
350
|
+
};
|
|
351
|
+
};
|
|
352
|
+
|
|
246
353
|
/**
|
|
247
354
|
* @param {Object} participant the locus participant
|
|
248
355
|
* @returns {String}
|
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","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 {\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) =>\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":"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"}
|
|
1
|
+
{"version":3,"names":["MemberUtil","canReclaimHost","participant","ParameterError","canReclaimHostRole","getControlsRoles","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","isMuted","AUDIO_STATUS","AUDIO","isVideoMuted","VIDEO_STATUS","VIDEO","isHandRaised","hand","raised","isBreakoutsSupported","doesNotSupportBreakouts","isInterpretationSupported","doesNotSupportSiInterpreter","isLiveAnnotationSupported","annotatorAssignmentNotAllowed","statusAccessor","controlsAccessor","remoteMute","muted","localStatus","_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","extractMediaStatus","audio","audioStatus","video","videoStatus","extractName","name"],"sources":["util.ts"],"sourcesContent":["import {\n IExternalRoles,\n ParticipantWithRoles,\n ServerRoles,\n ServerRoleShape,\n IMediaStatus,\n} 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 VIDEO,\n AUDIO,\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.canReclaimHost = (participant) => {\n if (!participant) {\n throw new ParameterError(\n 'canReclaimHostRole could not be processed, participant is undefined.'\n );\n }\n\n return participant.canReclaimHostRole || false;\n};\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\n return MemberUtil.isMuted(participant, AUDIO_STATUS, AUDIO);\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isVideoMuted = (participant: any): boolean => {\n if (!participant) {\n throw new ParameterError('Video could not be processed, participant is undefined.');\n }\n\n return MemberUtil.isMuted(participant, VIDEO_STATUS, VIDEO);\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 * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isInterpretationSupported = (participant) => {\n if (!participant) {\n throw new ParameterError(\n 'Interpretation support could not be processed, participant is undefined.'\n );\n }\n\n return !participant.doesNotSupportSiInterpreter;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isLiveAnnotationSupported = (participant) => {\n if (!participant) {\n throw new ParameterError(\n 'LiveAnnotation support could not be processed, participant is undefined.'\n );\n }\n\n return !participant.annotatorAssignmentNotAllowed;\n};\n\n/**\n * utility method for audio/video muted status\n * @param {any} participant\n * @param {String} statusAccessor\n * @param {String} controlsAccessor\n * @returns {Boolean | undefined}\n */\nMemberUtil.isMuted = (participant: any, statusAccessor: string, controlsAccessor: string) => {\n // check remote mute\n const remoteMute = participant?.controls?.[controlsAccessor]?.muted;\n if (remoteMute === true) {\n return true;\n }\n\n // check local mute\n const localStatus = participant?.status?.[statusAccessor];\n if (localStatus === _RECEIVE_ONLY_) {\n return true;\n }\n if (localStatus === _SEND_RECEIVE_) {\n return false;\n }\n\n return remoteMute;\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 * extracts the media status from nested participant object\n * @param {Object} participant the locus participant\n * @returns {Object}\n */\nMemberUtil.extractMediaStatus = (participant: any): IMediaStatus => {\n if (!participant) {\n throw new ParameterError('Media status could not be extracted, participant is undefined.');\n }\n\n return {\n audio: participant.status?.audioStatus,\n video: participant.status?.videoStatus,\n };\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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"}
|
|
@@ -54,6 +54,16 @@ var MembersCollection = /*#__PURE__*/function () {
|
|
|
54
54
|
value: function getAll() {
|
|
55
55
|
return this.members;
|
|
56
56
|
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* @returns {void}
|
|
60
|
+
* reset members
|
|
61
|
+
*/
|
|
62
|
+
}, {
|
|
63
|
+
key: "reset",
|
|
64
|
+
value: function reset() {
|
|
65
|
+
this.members = {};
|
|
66
|
+
}
|
|
57
67
|
}]);
|
|
58
68
|
return MembersCollection;
|
|
59
69
|
}();
|
|
@@ -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 /**\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"],"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;EAAC;EAAA;AAAA;AAAA"}
|
|
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"}
|