@webex/plugin-meetings 2.59.1 → 2.59.3-next.1
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/.eslintrc.js +6 -6
- package/LICENSE +1 -1
- package/README.md +1204 -1204
- package/UPGRADING.md +287 -287
- package/babel.config.js +3 -3
- package/browsers.js +108 -108
- package/dist/common/browser-detection.d.ts +9 -9
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.d.ts +48 -48
- package/dist/common/collection.js +43 -43
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.d.ts +2 -2
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.d.ts +15 -15
- package/dist/common/errors/captcha-error.js +7 -7
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.d.ts +16 -16
- package/dist/common/errors/intent-to-join.js +7 -7
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.d.ts +17 -17
- package/dist/common/errors/join-meeting.js +8 -8
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.d.ts +15 -15
- package/dist/common/errors/media.js +7 -7
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/parameter.d.ts +15 -15
- package/dist/common/errors/parameter.js +7 -7
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.d.ts +15 -15
- package/dist/common/errors/password-error.js +7 -7
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.d.ts +14 -14
- package/dist/common/errors/permission.js +6 -6
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reconnection-in-progress.d.ts +9 -9
- package/dist/common/errors/reconnection-in-progress.js +6 -6
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.d.ts +15 -15
- package/dist/common/errors/reconnection.js +7 -7
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.d.ts +15 -15
- package/dist/common/errors/stats.js +7 -7
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.d.ts +81 -81
- package/dist/common/errors/webex-errors.js +42 -42
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.d.ts +20 -20
- package/dist/common/errors/webex-meetings-error.js +12 -12
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.d.ts +17 -17
- package/dist/common/events/events-scope.js +10 -10
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.d.ts +12 -12
- package/dist/common/events/events.js +4 -4
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.d.ts +2 -2
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.d.ts +2 -2
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.d.ts +2 -2
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.d.ts +2 -2
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.d.ts +34 -34
- package/dist/common/logs/request.js +18 -18
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.d.ts +32 -32
- package/dist/common/queue.js +18 -18
- package/dist/common/queue.js.map +1 -1
- package/dist/config.d.ts +73 -73
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +924 -924
- package/dist/constants.js +9 -9
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.d.ts +4 -4
- package/dist/controls-options-manager/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.d.ts +5 -5
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.d.ts +120 -120
- package/dist/controls-options-manager/index.js +81 -81
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/util.d.ts +7 -7
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js.map +1 -1
- package/dist/locus-info/controlsUtils.d.ts +2 -2
- package/dist/locus-info/controlsUtils.js +21 -21
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.d.ts +2 -2
- package/dist/locus-info/embeddedAppsUtils.js +14 -14
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.d.ts +2 -2
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.d.ts +2 -2
- package/dist/locus-info/hostUtils.js +19 -19
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.d.ts +269 -269
- package/dist/locus-info/index.js +180 -180
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.d.ts +2 -2
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.d.ts +2 -2
- package/dist/locus-info/mediaSharesUtils.js +50 -50
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.d.ts +212 -212
- package/dist/locus-info/parser.js +136 -136
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.d.ts +2 -2
- package/dist/locus-info/selfUtils.js +52 -52
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.d.ts +32 -32
- package/dist/media/index.js +145 -145
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.d.ts +108 -108
- package/dist/media/properties.js +49 -49
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.d.ts +2 -2
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.d.ts +233 -233
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/effectsState.d.ts +42 -42
- package/dist/meeting/effectsState.js +24 -24
- package/dist/meeting/effectsState.js.map +1 -1
- package/dist/meeting/in-meeting-actions.d.ts +79 -79
- package/dist/meeting/in-meeting-actions.js +11 -11
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.d.ts +1621 -1621
- package/dist/meeting/index.js +1502 -1505
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.d.ts +116 -116
- package/dist/meeting/muteState.js +85 -85
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.d.ts +255 -255
- package/dist/meeting/request.js +141 -141
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/state.d.ts +9 -9
- package/dist/meeting/state.js +30 -30
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.d.ts +2 -2
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.d.ts +20 -20
- package/dist/meeting-info/collection.js +11 -11
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.d.ts +57 -57
- package/dist/meeting-info/index.js +50 -50
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.d.ts +93 -93
- package/dist/meeting-info/meeting-info-v2.js +52 -52
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.d.ts +22 -22
- package/dist/meeting-info/request.js +14 -14
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.d.ts +2 -2
- package/dist/meeting-info/util.js +9 -9
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.d.ts +2 -2
- package/dist/meeting-info/utilv2.js +20 -20
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.d.ts +23 -23
- package/dist/meetings/collection.js +14 -14
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.d.ts +296 -296
- package/dist/meetings/index.js +259 -259
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/request.d.ts +27 -27
- package/dist/meetings/request.js +15 -15
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.d.ts +18 -18
- package/dist/meetings/util.js +29 -29
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.d.ts +147 -147
- package/dist/member/index.js +214 -214
- package/dist/member/index.js.map +1 -1
- package/dist/member/member.types.d.ts +11 -11
- package/dist/member/member.types.js.map +1 -1
- package/dist/member/util.d.ts +2 -2
- package/dist/member/util.js +60 -60
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.d.ts +24 -24
- package/dist/members/collection.js +11 -11
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.d.ts +298 -298
- package/dist/members/index.js +275 -275
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.d.ts +50 -50
- package/dist/members/request.js +27 -27
- package/dist/members/request.js.map +1 -1
- package/dist/members/util.d.ts +2 -2
- package/dist/members/util.js +21 -21
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.d.ts +169 -169
- package/dist/metrics/config.js.map +1 -1
- package/dist/metrics/constants.d.ts +57 -57
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.d.ts +152 -152
- package/dist/metrics/index.js +90 -90
- package/dist/metrics/index.js.map +1 -1
- package/dist/networkQualityMonitor/index.d.ts +70 -70
- package/dist/networkQualityMonitor/index.js +65 -65
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/peer-connection-manager/index.d.ts +6 -6
- package/dist/peer-connection-manager/index.js +87 -87
- package/dist/peer-connection-manager/index.js.map +1 -1
- package/dist/peer-connection-manager/util.d.ts +6 -6
- package/dist/peer-connection-manager/util.js +9 -9
- package/dist/peer-connection-manager/util.js.map +1 -1
- package/dist/personal-meeting-room/index.d.ts +47 -47
- package/dist/personal-meeting-room/index.js +67 -67
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.d.ts +14 -14
- package/dist/personal-meeting-room/request.js +7 -7
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.d.ts +2 -2
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/index.d.ts +139 -139
- package/dist/reachability/index.js +110 -110
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.d.ts +35 -35
- package/dist/reachability/request.js +15 -15
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/reactions.d.ts +4 -4
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.d.ts +32 -32
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.d.ts +112 -112
- package/dist/reconnection-manager/index.js +112 -112
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.d.ts +7 -7
- package/dist/recording-controller/enums.js.map +1 -1
- package/dist/recording-controller/index.d.ts +193 -193
- package/dist/recording-controller/index.js +127 -127
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.d.ts +13 -13
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/collection.d.ts +10 -10
- package/dist/roap/collection.js.map +1 -1
- package/dist/roap/handler.d.ts +47 -47
- package/dist/roap/handler.js +27 -27
- package/dist/roap/handler.js.map +1 -1
- package/dist/roap/index.d.ts +116 -116
- package/dist/roap/index.js +111 -111
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.d.ts +35 -35
- package/dist/roap/request.js +17 -17
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/state.d.ts +9 -9
- package/dist/roap/state.js +14 -14
- package/dist/roap/state.js.map +1 -1
- package/dist/roap/turnDiscovery.d.ts +67 -67
- package/dist/roap/turnDiscovery.js +46 -46
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/roap/util.d.ts +2 -2
- package/dist/roap/util.js.map +1 -1
- package/dist/statsAnalyzer/global.d.ts +126 -126
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.d.ts +190 -190
- package/dist/statsAnalyzer/index.js +128 -128
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +22 -22
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.d.ts +64 -64
- package/dist/transcription/index.js +42 -42
- package/dist/transcription/index.js.map +1 -1
- package/internal-README.md +172 -172
- package/jest.config.js +3 -3
- package/package.json +22 -21
- package/process +1 -1
- package/src/common/browser-detection.ts +39 -39
- package/src/common/collection.ts +94 -94
- package/src/common/config.ts +9 -9
- package/src/common/errors/captcha-error.ts +25 -25
- package/src/common/errors/intent-to-join.ts +27 -27
- package/src/common/errors/join-meeting.ts +32 -32
- package/src/common/errors/media.ts +25 -25
- package/src/common/errors/parameter.ts +33 -33
- package/src/common/errors/password-error.ts +25 -25
- package/src/common/errors/permission.ts +24 -24
- package/src/common/errors/reconnection-in-progress.ts +8 -8
- package/src/common/errors/reconnection.ts +25 -25
- package/src/common/errors/stats.ts +25 -25
- package/src/common/errors/webex-errors.ts +140 -140
- package/src/common/errors/webex-meetings-error.ts +35 -35
- package/src/common/events/events-scope.ts +30 -30
- package/src/common/events/events.ts +25 -25
- package/src/common/events/trigger-proxy.ts +25 -25
- package/src/common/events/util.ts +39 -39
- package/src/common/logs/logger-config.ts +8 -8
- package/src/common/logs/logger-proxy.ts +44 -44
- package/src/common/logs/request.ts +65 -65
- package/src/common/queue.ts +50 -50
- package/src/config.ts +96 -96
- package/src/constants.ts +1121 -1121
- package/src/controls-options-manager/constants.ts +5 -5
- package/src/controls-options-manager/enums.ts +6 -6
- package/src/controls-options-manager/index.ts +183 -183
- package/src/controls-options-manager/util.ts +20 -20
- package/src/index.js +15 -15
- package/src/locus-info/controlsUtils.ts +112 -112
- package/src/locus-info/embeddedAppsUtils.ts +57 -57
- package/src/locus-info/fullState.ts +69 -69
- package/src/locus-info/hostUtils.ts +60 -60
- package/src/locus-info/index.ts +1303 -1303
- package/src/locus-info/infoUtils.ts +101 -101
- package/src/locus-info/mediaSharesUtils.ts +173 -173
- package/src/locus-info/parser.ts +680 -680
- package/src/locus-info/selfUtils.ts +428 -428
- package/src/media/index.ts +675 -675
- package/src/media/properties.ts +313 -313
- package/src/media/util.ts +37 -37
- package/src/mediaQualityMetrics/config.ts +382 -382
- package/src/meeting/effectsState.ts +209 -209
- package/src/meeting/in-meeting-actions.ts +153 -153
- package/src/meeting/index.ts +6537 -6543
- package/src/meeting/muteState.ts +365 -365
- package/src/meeting/request.ts +810 -810
- package/src/meeting/state.ts +194 -194
- package/src/meeting/util.ts +530 -530
- package/src/meeting-info/collection.ts +41 -41
- package/src/meeting-info/index.ts +137 -137
- package/src/meeting-info/meeting-info-v2.ts +273 -273
- package/src/meeting-info/request.ts +46 -46
- package/src/meeting-info/util.ts +314 -314
- package/src/meeting-info/utilv2.ts +324 -324
- package/src/meetings/collection.ts +43 -43
- package/src/meetings/index.ts +1128 -1128
- package/src/meetings/request.ts +81 -81
- package/src/meetings/util.ts +181 -181
- package/src/member/index.ts +446 -446
- package/src/member/member.types.ts +13 -13
- package/src/member/util.ts +286 -286
- package/src/members/collection.ts +40 -40
- package/src/members/index.ts +900 -900
- package/src/members/request.ts +175 -175
- package/src/members/util.ts +260 -260
- package/src/metrics/config.ts +485 -485
- package/src/metrics/constants.ts +61 -61
- package/src/metrics/index.ts +543 -543
- package/src/networkQualityMonitor/index.ts +211 -211
- package/src/peer-connection-manager/index.ts +847 -847
- package/src/peer-connection-manager/util.ts +119 -119
- package/src/personal-meeting-room/index.ts +157 -157
- package/src/personal-meeting-room/request.ts +48 -48
- package/src/personal-meeting-room/util.ts +49 -49
- package/src/reachability/index.ts +478 -478
- package/src/reachability/request.ts +81 -81
- package/src/reactions/reactions.ts +104 -104
- package/src/reactions/reactions.type.ts +36 -36
- package/src/reconnection-manager/index.ts +622 -622
- package/src/recording-controller/enums.ts +8 -8
- package/src/recording-controller/index.ts +315 -315
- package/src/recording-controller/util.ts +58 -58
- package/src/roap/collection.ts +62 -62
- package/src/roap/handler.ts +294 -294
- package/src/roap/index.ts +413 -413
- package/src/roap/request.ts +229 -229
- package/src/roap/state.ts +156 -156
- package/src/roap/turnDiscovery.ts +283 -283
- package/src/roap/util.ts +100 -100
- package/src/statsAnalyzer/global.ts +128 -128
- package/src/statsAnalyzer/index.ts +1266 -1266
- package/src/statsAnalyzer/mqaUtil.ts +290 -290
- package/src/transcription/index.ts +154 -154
- package/test/integration/spec/journey.js +941 -941
- package/test/integration/spec/space-meeting.js +457 -457
- package/test/integration/spec/transcription.js +55 -55
- package/test/unit/spec/common/browser-detection.js +119 -119
- package/test/unit/spec/common/queue.js +69 -69
- package/test/unit/spec/controls-options-manager/index.js +123 -123
- package/test/unit/spec/controls-options-manager/util.js +65 -65
- package/test/unit/spec/fixture/locus.js +406 -406
- package/test/unit/spec/locus-info/controlsUtils.js +82 -82
- package/test/unit/spec/locus-info/embeddedAppsUtils.js +104 -104
- package/test/unit/spec/locus-info/index.js +1272 -1272
- package/test/unit/spec/locus-info/infoUtils.js +138 -138
- package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +975 -975
- package/test/unit/spec/locus-info/lib/SeqCmp.json +522 -522
- package/test/unit/spec/locus-info/lib/selfConstant.js +286 -286
- package/test/unit/spec/locus-info/parser.js +298 -298
- package/test/unit/spec/locus-info/selfUtils.js +185 -185
- package/test/unit/spec/media/properties.ts +305 -305
- package/test/unit/spec/meeting/effectsState.js +281 -281
- package/test/unit/spec/meeting/in-meeting-actions.ts +90 -90
- package/test/unit/spec/meeting/index.js +5227 -5227
- package/test/unit/spec/meeting/muteState.js +430 -430
- package/test/unit/spec/meeting/request.js +317 -317
- package/test/unit/spec/meeting/utils.js +319 -319
- package/test/unit/spec/meeting-info/meetinginfov2.js +376 -376
- package/test/unit/spec/meeting-info/request.js +64 -64
- package/test/unit/spec/meeting-info/util.js +37 -37
- package/test/unit/spec/meeting-info/utilv2.js +330 -330
- package/test/unit/spec/meetings/collection.js +52 -52
- package/test/unit/spec/meetings/index.js +1375 -1375
- package/test/unit/spec/meetings/utils.js +66 -66
- package/test/unit/spec/member/index.js +47 -47
- package/test/unit/spec/member/util.js +80 -80
- package/test/unit/spec/members/index.js +364 -364
- package/test/unit/spec/members/request.js +200 -200
- package/test/unit/spec/members/utils.js +42 -42
- package/test/unit/spec/metrics/index.js +111 -111
- package/test/unit/spec/networkQualityMonitor/index.js +99 -99
- package/test/unit/spec/peerconnection-manager/index.js +218 -218
- package/test/unit/spec/peerconnection-manager/utils.js +49 -49
- package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +388 -388
- package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +29 -29
- package/test/unit/spec/reachability/index.ts +50 -50
- package/test/unit/spec/reconnection-manager/index.js +206 -206
- package/test/unit/spec/recording-controller/index.js +230 -230
- package/test/unit/spec/recording-controller/util.js +101 -101
- package/test/unit/spec/roap/index.ts +128 -128
- package/test/unit/spec/roap/turnDiscovery.ts +372 -372
- package/test/unit/spec/roap/util.js +30 -30
- package/test/unit/spec/stats-analyzer/index.js +287 -287
- package/test/utils/cmr.js +104 -104
- package/test/utils/testUtils.js +287 -287
- package/test/utils/webex-config.js +77 -77
- package/test/utils/webex-test-users.js +82 -82
- package/tsconfig.json +5 -5
package/internal-README.md
CHANGED
|
@@ -1,172 +1,172 @@
|
|
|
1
|
-
# Contributing Code
|
|
2
|
-
|
|
3
|
-
> Similar to the [standard contributing insructions](https://github.com/webex/webex-js-sdk/blob/master/CONTRIBUTING.md#contributing-code).
|
|
4
|
-
|
|
5
|
-
## Usage
|
|
6
|
-
|
|
7
|
-
## Build Dependencies
|
|
8
|
-
|
|
9
|
-
Before you can build the Cisco Webex JS SDK, you will need:
|
|
10
|
-
|
|
11
|
-
- [Node.js](https://nodejs.org/) (LTS)
|
|
12
|
-
- We recommend using [nvm](https://github.com/creationix/nvm) (or [nvm-windows](https://github.com/coreybutler/nvm-windows))
|
|
13
|
-
to easily switch between Node.js versions.
|
|
14
|
-
- Install the latest Node.js Long Term Support using `nvm install --lts`
|
|
15
|
-
- Install the latest npm to enable security audits using `npm install npm@latest -g`
|
|
16
|
-
- [Git](https://git-scm.com/)
|
|
17
|
-
|
|
18
|
-
### .env
|
|
19
|
-
|
|
20
|
-
Create a file called `.env` in the project root that defines:
|
|
21
|
-
|
|
22
|
-
WEBEX_CLIENT_SECRET="[get the shared client secret here](https://cisco.box.com/s/phyd6usx1ga6vf06tdzx5bxn9epnwc2w)"
|
|
23
|
-
|
|
24
|
-
WEBEX_ACCESS_TOKEN="[get your personal access token here](https://developer.webex.com/docs/api/getting-started#accounts-and-authentication)"
|
|
25
|
-
|
|
26
|
-
### npm
|
|
27
|
-
|
|
28
|
-
- [Enable 2-factor authentication](https://docs.npmjs.com/getting-started/using-two-factor-authentication)
|
|
29
|
-
- [Sign into NPM](https://docs.npmjs.com/private-modules/ci-server-config#how-to-create-a-new-authentication-token) so that you can install the private package `@webex/test-helper-test-users`. This package generates temporary test users.
|
|
30
|
-
|
|
31
|
-
### SauceLabs
|
|
32
|
-
|
|
33
|
-
[Follow these instructions](https://github.com/webex/webex-js-sdk/blob/master/SCRIPTS.md#saucelabs) to use SauceLabs.
|
|
34
|
-
|
|
35
|
-
## Build the SDK
|
|
36
|
-
|
|
37
|
-
Fork the [webex-js-sdk](https://github.com/webex/webex-js-sdk/) repository and `git clone` your fork:
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
git clone https://github.com/YOUR-USERNAME/webex-js-sdk.git
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
Install tooling dependencies.
|
|
44
|
-
|
|
45
|
-
> See [Build Dependencies](#build-dependencies) above for `nvm` and `npm` details.
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
npm install
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
_Build issues?_ See [BUILD-ISSUES.md](https://github.com/webex/webex-js-sdk/blob/master/BUILD-ISSUES.md) for help.
|
|
52
|
-
|
|
53
|
-
## Contribute to the `plugin-meetings` branch
|
|
54
|
-
|
|
55
|
-
We will work off of the `plugin-meetings` branch from `master`.
|
|
56
|
-
|
|
57
|
-
### Set up remote
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
git remote add upstream git@github.com:webex/webex-js-sdk.git
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### Track `plugin-meetings`
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
git checkout --track upstream/plugin-meetings
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### Create a feature branch
|
|
70
|
-
|
|
71
|
-
> You may find prefixing feature branches with the JIRA ticket number helpful, like in this example.
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
git checkout -b 39555-new-feature plugin-meetings
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### Run the sample
|
|
78
|
-
|
|
79
|
-
#### Developers
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
# Point all package.json files to the src directory instead of the dist directory.
|
|
83
|
-
yarn run distsrc
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
#### Testers
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
# Transpile the code into the dist directory.
|
|
91
|
-
yarn run build
|
|
92
|
-
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
> Individual packages containing samples can usually be run this way:
|
|
96
|
-
>
|
|
97
|
-
> ```
|
|
98
|
-
> yarn run serve:package --env.package @webex/plugin-meetings
|
|
99
|
-
> ```
|
|
100
|
-
|
|
101
|
-
> ```
|
|
102
|
-
> However, `webex` does not get compiled properly for `plugin-meetings` using this method, so do the following instead.
|
|
103
|
-
> ```
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
# Run the "sample app" sample.
|
|
107
|
-
yarn run samples:meetings
|
|
108
|
-
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
- Visit https://localhost:8000/
|
|
112
|
-
- Copy/paste **Your Personal Access Token** from [Cisco Webex for Developers](https://developer.webex.com/docs/api/getting-started) and click _connect_.
|
|
113
|
-
- Use the **Dialer** to _create_ a Meeting object, _join_ it, and _addMedia_, like video and audio.
|
|
114
|
-
|
|
115
|
-
> This sample does not join a meeting in one click on purpose. It is meant to demonstrate the different commands available, and their sequence, to developers. Other samples will be created in the future.
|
|
116
|
-
>
|
|
117
|
-
> See also https://github.com/webex/webex-js-sdk#samples.
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
🔮 Do your magical feature development here!
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
### Run tests
|
|
126
|
-
|
|
127
|
-
Use `yarn run distsrc` to point each package's `main` entry at the raw src and let `babel` compile on the fly.
|
|
128
|
-
|
|
129
|
-
```bash
|
|
130
|
-
# Point all package.json files to the src directory instead of the dist directory.
|
|
131
|
-
yarn run distsrc
|
|
132
|
-
|
|
133
|
-
# Run the package tests.
|
|
134
|
-
yarn run test --packages @webex/plugin-meetings
|
|
135
|
-
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
You can use the `--unit`, `--integration`, `--automation`, and `--documentation` switches to control what types of tests you run and `--node` and `--browser` to control which environments your tests run in.
|
|
139
|
-
|
|
140
|
-
`--browser --karma-debug` will run the browser tests with `{singleRun: false}`, thus allowing automatic rerunning everytime you save a file (though, karma does eventually get confused and you need to interrupt and restart the command).
|
|
141
|
-
|
|
142
|
-
```bash
|
|
143
|
-
# Example running browser tests in debug mode.
|
|
144
|
-
yarn run test --packages @webex/plugin-teams --browser --karma-debug
|
|
145
|
-
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
> See [SCRIPTS.md](https://github.com/webex/webex-js-sdk/blob/master/SCRIPTS.md) to learn how to run tests on [SauceLabs](https://saucelabs.com/) and more.
|
|
149
|
-
|
|
150
|
-
```bash
|
|
151
|
-
# Point all package.json files back to the dist directory.
|
|
152
|
-
yarn run srcdist
|
|
153
|
-
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
### Commit changes
|
|
157
|
-
|
|
158
|
-
The SDK enforces relatively strict commit messages to version its packages and keep language similar.
|
|
159
|
-
|
|
160
|
-
Here is an example committing a new feature. Notice the _package name_ in parentheses.
|
|
161
|
-
|
|
162
|
-
```bash
|
|
163
|
-
git commit -a -m 'feat(plugin-meetings): add ability to join a meeting'
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
See [Git Commit Guidelines](https://github.com/webex/webex-js-sdk/blob/plugin-meetings/CONTRIBUTING.md#git-commit-guidelines) for full details.
|
|
167
|
-
|
|
168
|
-
## Submit a pull request
|
|
169
|
-
|
|
170
|
-
Open a [new pull request](https://github.com/webex/webex-js-sdk/compare/plugin-meetings...master) against the `plugin-meetings` branch and select the people you wish to review it.
|
|
171
|
-
|
|
172
|
-
After it's approved, merge your changes into the `plugin-meetings` branch.
|
|
1
|
+
# Contributing Code
|
|
2
|
+
|
|
3
|
+
> Similar to the [standard contributing insructions](https://github.com/webex/webex-js-sdk/blob/master/CONTRIBUTING.md#contributing-code).
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
## Build Dependencies
|
|
8
|
+
|
|
9
|
+
Before you can build the Cisco Webex JS SDK, you will need:
|
|
10
|
+
|
|
11
|
+
- [Node.js](https://nodejs.org/) (LTS)
|
|
12
|
+
- We recommend using [nvm](https://github.com/creationix/nvm) (or [nvm-windows](https://github.com/coreybutler/nvm-windows))
|
|
13
|
+
to easily switch between Node.js versions.
|
|
14
|
+
- Install the latest Node.js Long Term Support using `nvm install --lts`
|
|
15
|
+
- Install the latest npm to enable security audits using `npm install npm@latest -g`
|
|
16
|
+
- [Git](https://git-scm.com/)
|
|
17
|
+
|
|
18
|
+
### .env
|
|
19
|
+
|
|
20
|
+
Create a file called `.env` in the project root that defines:
|
|
21
|
+
|
|
22
|
+
WEBEX_CLIENT_SECRET="[get the shared client secret here](https://cisco.box.com/s/phyd6usx1ga6vf06tdzx5bxn9epnwc2w)"
|
|
23
|
+
|
|
24
|
+
WEBEX_ACCESS_TOKEN="[get your personal access token here](https://developer.webex.com/docs/api/getting-started#accounts-and-authentication)"
|
|
25
|
+
|
|
26
|
+
### npm
|
|
27
|
+
|
|
28
|
+
- [Enable 2-factor authentication](https://docs.npmjs.com/getting-started/using-two-factor-authentication)
|
|
29
|
+
- [Sign into NPM](https://docs.npmjs.com/private-modules/ci-server-config#how-to-create-a-new-authentication-token) so that you can install the private package `@webex/test-helper-test-users`. This package generates temporary test users.
|
|
30
|
+
|
|
31
|
+
### SauceLabs
|
|
32
|
+
|
|
33
|
+
[Follow these instructions](https://github.com/webex/webex-js-sdk/blob/master/SCRIPTS.md#saucelabs) to use SauceLabs.
|
|
34
|
+
|
|
35
|
+
## Build the SDK
|
|
36
|
+
|
|
37
|
+
Fork the [webex-js-sdk](https://github.com/webex/webex-js-sdk/) repository and `git clone` your fork:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
git clone https://github.com/YOUR-USERNAME/webex-js-sdk.git
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Install tooling dependencies.
|
|
44
|
+
|
|
45
|
+
> See [Build Dependencies](#build-dependencies) above for `nvm` and `npm` details.
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
npm install
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
_Build issues?_ See [BUILD-ISSUES.md](https://github.com/webex/webex-js-sdk/blob/master/BUILD-ISSUES.md) for help.
|
|
52
|
+
|
|
53
|
+
## Contribute to the `plugin-meetings` branch
|
|
54
|
+
|
|
55
|
+
We will work off of the `plugin-meetings` branch from `master`.
|
|
56
|
+
|
|
57
|
+
### Set up remote
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
git remote add upstream git@github.com:webex/webex-js-sdk.git
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Track `plugin-meetings`
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
git checkout --track upstream/plugin-meetings
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Create a feature branch
|
|
70
|
+
|
|
71
|
+
> You may find prefixing feature branches with the JIRA ticket number helpful, like in this example.
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
git checkout -b 39555-new-feature plugin-meetings
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Run the sample
|
|
78
|
+
|
|
79
|
+
#### Developers
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# Point all package.json files to the src directory instead of the dist directory.
|
|
83
|
+
yarn run distsrc
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
#### Testers
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# Transpile the code into the dist directory.
|
|
91
|
+
yarn run build
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
> Individual packages containing samples can usually be run this way:
|
|
96
|
+
>
|
|
97
|
+
> ```
|
|
98
|
+
> yarn run serve:package --env.package @webex/plugin-meetings
|
|
99
|
+
> ```
|
|
100
|
+
|
|
101
|
+
> ```
|
|
102
|
+
> However, `webex` does not get compiled properly for `plugin-meetings` using this method, so do the following instead.
|
|
103
|
+
> ```
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# Run the "sample app" sample.
|
|
107
|
+
yarn run samples:meetings
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
- Visit https://localhost:8000/
|
|
112
|
+
- Copy/paste **Your Personal Access Token** from [Cisco Webex for Developers](https://developer.webex.com/docs/api/getting-started) and click _connect_.
|
|
113
|
+
- Use the **Dialer** to _create_ a Meeting object, _join_ it, and _addMedia_, like video and audio.
|
|
114
|
+
|
|
115
|
+
> This sample does not join a meeting in one click on purpose. It is meant to demonstrate the different commands available, and their sequence, to developers. Other samples will be created in the future.
|
|
116
|
+
>
|
|
117
|
+
> See also https://github.com/webex/webex-js-sdk#samples.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
🔮 Do your magical feature development here!
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
### Run tests
|
|
126
|
+
|
|
127
|
+
Use `yarn run distsrc` to point each package's `main` entry at the raw src and let `babel` compile on the fly.
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
# Point all package.json files to the src directory instead of the dist directory.
|
|
131
|
+
yarn run distsrc
|
|
132
|
+
|
|
133
|
+
# Run the package tests.
|
|
134
|
+
yarn run test --packages @webex/plugin-meetings
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
You can use the `--unit`, `--integration`, `--automation`, and `--documentation` switches to control what types of tests you run and `--node` and `--browser` to control which environments your tests run in.
|
|
139
|
+
|
|
140
|
+
`--browser --karma-debug` will run the browser tests with `{singleRun: false}`, thus allowing automatic rerunning everytime you save a file (though, karma does eventually get confused and you need to interrupt and restart the command).
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# Example running browser tests in debug mode.
|
|
144
|
+
yarn run test --packages @webex/plugin-teams --browser --karma-debug
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
> See [SCRIPTS.md](https://github.com/webex/webex-js-sdk/blob/master/SCRIPTS.md) to learn how to run tests on [SauceLabs](https://saucelabs.com/) and more.
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
# Point all package.json files back to the dist directory.
|
|
152
|
+
yarn run srcdist
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Commit changes
|
|
157
|
+
|
|
158
|
+
The SDK enforces relatively strict commit messages to version its packages and keep language similar.
|
|
159
|
+
|
|
160
|
+
Here is an example committing a new feature. Notice the _package name_ in parentheses.
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
git commit -a -m 'feat(plugin-meetings): add ability to join a meeting'
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
See [Git Commit Guidelines](https://github.com/webex/webex-js-sdk/blob/plugin-meetings/CONTRIBUTING.md#git-commit-guidelines) for full details.
|
|
167
|
+
|
|
168
|
+
## Submit a pull request
|
|
169
|
+
|
|
170
|
+
Open a [new pull request](https://github.com/webex/webex-js-sdk/compare/plugin-meetings...master) against the `plugin-meetings` branch and select the people you wish to review it.
|
|
171
|
+
|
|
172
|
+
After it's approved, merge your changes into the `plugin-meetings` branch.
|
package/jest.config.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
const config = require('@webex/jest-config-legacy');
|
|
2
|
-
|
|
3
|
-
module.exports = config;
|
|
1
|
+
const config = require('@webex/jest-config-legacy');
|
|
2
|
+
|
|
3
|
+
module.exports = config;
|
package/package.json
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webex/plugin-meetings",
|
|
3
|
-
"version": "2.59.1",
|
|
4
3
|
"description": "",
|
|
5
4
|
"license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
|
|
6
5
|
"contributors": [
|
|
@@ -30,6 +29,7 @@
|
|
|
30
29
|
"scripts": {
|
|
31
30
|
"build": "yarn run -T tsc --declaration true --declarationDir ./dist",
|
|
32
31
|
"build:src": "webex-legacy-tools build -dest \"./dist\" -src \"./src\" -js -ts -maps",
|
|
32
|
+
"deploy:npm": "yarn npm publish",
|
|
33
33
|
"test:broken": "yarn test:style && yarn test:unit && yarn test:integration && yarn test:browser",
|
|
34
34
|
"test:browser:broken": "webex-legacy-tools test --integration --unit --runner karma",
|
|
35
35
|
"test:integration:broken": "webex-legacy-tools test --integration --runner mocha",
|
|
@@ -39,17 +39,17 @@
|
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@babel/core": "^7.17.10",
|
|
41
41
|
"@types/jsdom": "^21",
|
|
42
|
-
"@webex/babel-config-legacy": "
|
|
43
|
-
"@webex/eslint-config-legacy": "
|
|
44
|
-
"@webex/jest-config-legacy": "
|
|
45
|
-
"@webex/legacy-tools": "
|
|
46
|
-
"@webex/plugin-meetings": "2.59.1",
|
|
47
|
-
"@webex/plugin-rooms": "2.59.1",
|
|
48
|
-
"@webex/test-helper-chai": "2.59.1",
|
|
49
|
-
"@webex/test-helper-mocha": "2.59.1",
|
|
50
|
-
"@webex/test-helper-mock-webex": "2.59.1",
|
|
51
|
-
"@webex/test-helper-retry": "2.59.1",
|
|
52
|
-
"@webex/test-helper-test-users": "2.59.1",
|
|
42
|
+
"@webex/babel-config-legacy": "^0.0.0",
|
|
43
|
+
"@webex/eslint-config-legacy": "^0.0.0",
|
|
44
|
+
"@webex/jest-config-legacy": "^0.0.0",
|
|
45
|
+
"@webex/legacy-tools": "^0.0.0",
|
|
46
|
+
"@webex/plugin-meetings": "^2.59.3-next.1",
|
|
47
|
+
"@webex/plugin-rooms": "^2.59.3-next.1",
|
|
48
|
+
"@webex/test-helper-chai": "^2.59.3-next.1",
|
|
49
|
+
"@webex/test-helper-mocha": "^2.59.3-next.1",
|
|
50
|
+
"@webex/test-helper-mock-webex": "^2.59.3-next.1",
|
|
51
|
+
"@webex/test-helper-retry": "^2.59.3-next.1",
|
|
52
|
+
"@webex/test-helper-test-users": "^2.59.3-next.1",
|
|
53
53
|
"chai": "^4.3.4",
|
|
54
54
|
"chai-as-promised": "^7.1.1",
|
|
55
55
|
"eslint": "^8.24.0",
|
|
@@ -60,15 +60,15 @@
|
|
|
60
60
|
"typescript": "^4.7.4"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@webex/common": "2.59.1",
|
|
63
|
+
"@webex/common": "^2.59.3-next.1",
|
|
64
64
|
"@webex/internal-media-core": "0.0.7-beta",
|
|
65
|
-
"@webex/internal-plugin-device": "2.59.1",
|
|
66
|
-
"@webex/internal-plugin-metrics": "2.59.1",
|
|
67
|
-
"@webex/internal-plugin-support": "2.59.1",
|
|
68
|
-
"@webex/internal-plugin-user": "2.59.1",
|
|
69
|
-
"@webex/plugin-people": "2.59.1",
|
|
65
|
+
"@webex/internal-plugin-device": "^2.59.3-next.1",
|
|
66
|
+
"@webex/internal-plugin-metrics": "^2.59.3-next.1",
|
|
67
|
+
"@webex/internal-plugin-support": "^2.59.3-next.1",
|
|
68
|
+
"@webex/internal-plugin-user": "^2.59.3-next.1",
|
|
69
|
+
"@webex/plugin-people": "^2.59.3-next.1",
|
|
70
70
|
"@webex/ts-sdp": "1.0.1",
|
|
71
|
-
"@webex/webex-core": "2.59.1",
|
|
71
|
+
"@webex/webex-core": "^2.59.3-next.1",
|
|
72
72
|
"bowser": "^2.11.0",
|
|
73
73
|
"btoa": "^1.2.1",
|
|
74
74
|
"dotenv": "^4.0.0",
|
|
@@ -79,5 +79,6 @@
|
|
|
79
79
|
"sdp-transform": "^2.12.0",
|
|
80
80
|
"uuid": "^3.3.2",
|
|
81
81
|
"webrtc-adapter": "^7.7.0"
|
|
82
|
-
}
|
|
83
|
-
|
|
82
|
+
},
|
|
83
|
+
"version": "2.59.3-next.1"
|
|
84
|
+
}
|
package/process
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
module.exports = {browser: true};
|
|
1
|
+
module.exports = {browser: true};
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
2
|
-
|
|
3
|
-
import bowser from 'bowser';
|
|
4
|
-
import {memoize} from 'lodash';
|
|
5
|
-
import window from 'global/window';
|
|
6
|
-
|
|
7
|
-
const mockDetectionObject = {
|
|
8
|
-
/* eslint-disable global-require */
|
|
9
|
-
getOSName: () => require('os').platform(),
|
|
10
|
-
getOSVersion: () => require('os').release(),
|
|
11
|
-
/* eslint-enable global-require */
|
|
12
|
-
getBrowserName: () => '',
|
|
13
|
-
getBrowserVersion: () => '',
|
|
14
|
-
isBrowser: () => false,
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const createDetectionObject = (results) => {
|
|
18
|
-
const getOSName = () => results?.getOSName() ?? '';
|
|
19
|
-
const getOSVersion = () => results?.getOSVersion() ?? '';
|
|
20
|
-
|
|
21
|
-
const getBrowserName = () => results?.getBrowserName() ?? '';
|
|
22
|
-
const getBrowserVersion = () => results?.getBrowserVersion() ?? '';
|
|
23
|
-
|
|
24
|
-
const isBrowser = (name) => !!results?.isBrowser(name, true);
|
|
25
|
-
|
|
26
|
-
return {
|
|
27
|
-
getOSName,
|
|
28
|
-
getOSVersion,
|
|
29
|
-
getBrowserName,
|
|
30
|
-
getBrowserVersion,
|
|
31
|
-
isBrowser,
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export default memoize((agent?: any) =>
|
|
36
|
-
agent || window.navigator?.userAgent
|
|
37
|
-
? createDetectionObject(bowser.getParser(agent || window.navigator.userAgent))
|
|
38
|
-
: mockDetectionObject
|
|
39
|
-
);
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
2
|
+
|
|
3
|
+
import bowser from 'bowser';
|
|
4
|
+
import {memoize} from 'lodash';
|
|
5
|
+
import window from 'global/window';
|
|
6
|
+
|
|
7
|
+
const mockDetectionObject = {
|
|
8
|
+
/* eslint-disable global-require */
|
|
9
|
+
getOSName: () => require('os').platform(),
|
|
10
|
+
getOSVersion: () => require('os').release(),
|
|
11
|
+
/* eslint-enable global-require */
|
|
12
|
+
getBrowserName: () => '',
|
|
13
|
+
getBrowserVersion: () => '',
|
|
14
|
+
isBrowser: () => false,
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const createDetectionObject = (results) => {
|
|
18
|
+
const getOSName = () => results?.getOSName() ?? '';
|
|
19
|
+
const getOSVersion = () => results?.getOSVersion() ?? '';
|
|
20
|
+
|
|
21
|
+
const getBrowserName = () => results?.getBrowserName() ?? '';
|
|
22
|
+
const getBrowserVersion = () => results?.getBrowserVersion() ?? '';
|
|
23
|
+
|
|
24
|
+
const isBrowser = (name) => !!results?.isBrowser(name, true);
|
|
25
|
+
|
|
26
|
+
return {
|
|
27
|
+
getOSName,
|
|
28
|
+
getOSVersion,
|
|
29
|
+
getBrowserName,
|
|
30
|
+
getBrowserVersion,
|
|
31
|
+
isBrowser,
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export default memoize((agent?: any) =>
|
|
36
|
+
agent || window.navigator?.userAgent
|
|
37
|
+
? createDetectionObject(bowser.getParser(agent || window.navigator.userAgent))
|
|
38
|
+
: mockDetectionObject
|
|
39
|
+
);
|