softphone-vendor-headsets 1.0.1 → 2.0.0-develop.8
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/dist/1.softhphone-vendor-headsets.js +1 -1
- package/dist/1.softhphone-vendor-headsets.js.map +1 -1
- package/dist/2.softhphone-vendor-headsets.js +1 -1
- package/dist/2.softhphone-vendor-headsets.js.map +1 -1
- package/dist/3.softhphone-vendor-headsets.js +1 -1
- package/dist/3.softhphone-vendor-headsets.js.map +1 -1
- package/dist/deploy-info.json +3 -723
- package/dist/softhphone-vendor-headsets.js +4 -19
- package/dist/softhphone-vendor-headsets.js.map +1 -1
- package/package.json +82 -88
- package/dist/cjs/src/config/i18n.d.ts +0 -2
- package/dist/cjs/src/config/i18n.js +0 -27
- package/dist/cjs/src/config/i18n.js.map +0 -1
- package/dist/cjs/src/library/index.d.ts +0 -9
- package/dist/cjs/src/library/index.js +0 -26
- package/dist/cjs/src/library/index.js.map +0 -1
- package/dist/cjs/src/library/services/headset.d.ts +0 -41
- package/dist/cjs/src/library/services/headset.js +0 -181
- package/dist/cjs/src/library/services/headset.js.map +0 -1
- package/dist/cjs/src/library/services/headset.test.d.ts +0 -1
- package/dist/cjs/src/library/services/headset.test.js +0 -487
- package/dist/cjs/src/library/services/headset.test.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-commands.d.ts +0 -13
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-commands.js +0 -18
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-commands.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-event-translation.d.ts +0 -12
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-event-translation.js +0 -16
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-event-translation.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-requested-events.d.ts +0 -5
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-requested-events.js +0 -10
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-requested-events.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.d.ts +0 -38
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.js +0 -251
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.test.d.ts +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.test.js +0 -573
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.test.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-commands.d.ts +0 -13
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-commands.js +0 -18
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-commands.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.d.ts +0 -6
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.js +0 -11
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-heaset-state.d.ts +0 -4
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-heaset-state.js +0 -3
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-heaset-state.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-types.d.ts +0 -23
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-types.js +0 -13
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-types.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.d.ts +0 -45
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js +0 -236
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.d.ts +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js +0 -567
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.d.ts +0 -48
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.js +0 -341
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.test.d.ts +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.test.js +0 -844
- package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.test.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.d.ts +0 -37
- package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js +0 -51
- package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.d.ts +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js +0 -111
- package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.d.ts +0 -260
- package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js +0 -273
- package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.d.ts +0 -58
- package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.js +0 -374
- package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.test.d.ts +0 -2
- package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.test.js +0 -796
- package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.test.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.d.ts +0 -5
- package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.js +0 -10
- package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-events.d.ts +0 -21
- package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-events.js +0 -26
- package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-events.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-payload.d.ts +0 -16
- package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-payload.js +0 -3
- package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-payload.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.d.ts +0 -44
- package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.js +0 -303
- package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.d.ts +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js +0 -801
- package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.d.ts +0 -69
- package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.js +0 -99
- package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.js.map +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/vendor-implemntation.test.d.ts +0 -1
- package/dist/cjs/src/library/services/vendor-implementations/vendor-implemntation.test.js +0 -106
- package/dist/cjs/src/library/services/vendor-implementations/vendor-implemntation.test.js.map +0 -1
- package/dist/cjs/src/library/test-utils.test.d.ts +0 -16
- package/dist/cjs/src/library/test-utils.test.js +0 -40
- package/dist/cjs/src/library/test-utils.test.js.map +0 -1
- package/dist/cjs/src/library/types/call-info.d.ts +0 -4
- package/dist/cjs/src/library/types/call-info.js +0 -3
- package/dist/cjs/src/library/types/call-info.js.map +0 -1
- package/dist/cjs/src/library/types/consumed-headset-events.d.ts +0 -45
- package/dist/cjs/src/library/types/consumed-headset-events.js +0 -18
- package/dist/cjs/src/library/types/consumed-headset-events.js.map +0 -1
- package/dist/cjs/src/library/types/device-info.d.ts +0 -8
- package/dist/cjs/src/library/types/device-info.js +0 -3
- package/dist/cjs/src/library/types/device-info.js.map +0 -1
- package/dist/cjs/src/library/types/emitted-headset-events.d.ts +0 -31
- package/dist/cjs/src/library/types/emitted-headset-events.js +0 -3
- package/dist/cjs/src/library/types/emitted-headset-events.js.map +0 -1
- package/dist/cjs/src/library/types/jabra-request.d.ts +0 -3
- package/dist/cjs/src/library/types/jabra-request.js +0 -3
- package/dist/cjs/src/library/types/jabra-request.js.map +0 -1
- package/dist/cjs/src/library/utils.d.ts +0 -14
- package/dist/cjs/src/library/utils.js +0 -80
- package/dist/cjs/src/library/utils.js.map +0 -1
- package/dist/cjs/src/library/utils.test.d.ts +0 -1
- package/dist/cjs/src/library/utils.test.js +0 -46
- package/dist/cjs/src/library/utils.test.js.map +0 -1
- package/dist/cjs/src/mocks/call.d.ts +0 -11
- package/dist/cjs/src/mocks/call.js +0 -54
- package/dist/cjs/src/mocks/call.js.map +0 -1
- package/dist/cjs/src/mocks/device-service.d.ts +0 -8
- package/dist/cjs/src/mocks/device-service.js +0 -43
- package/dist/cjs/src/mocks/device-service.js.map +0 -1
- package/dist/cjs/src/setupTests.d.ts +0 -1
- package/dist/cjs/src/setupTests.js +0 -8
- package/dist/cjs/src/setupTests.js.map +0 -1
- package/dist/es/src/config/i18n.d.ts +0 -2
- package/dist/es/src/config/i18n.js +0 -22
- package/dist/es/src/config/i18n.js.map +0 -1
- package/dist/es/src/library/index.d.ts +0 -9
- package/dist/es/src/library/index.js +0 -10
- package/dist/es/src/library/index.js.map +0 -1
- package/dist/es/src/library/services/headset.d.ts +0 -41
- package/dist/es/src/library/services/headset.js +0 -175
- package/dist/es/src/library/services/headset.js.map +0 -1
- package/dist/es/src/library/services/headset.test.d.ts +0 -1
- package/dist/es/src/library/services/headset.test.js +0 -482
- package/dist/es/src/library/services/headset.test.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-commands.d.ts +0 -13
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-commands.js +0 -15
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-commands.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-event-translation.d.ts +0 -12
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-event-translation.js +0 -13
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-event-translation.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-requested-events.d.ts +0 -5
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-requested-events.js +0 -7
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-requested-events.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.d.ts +0 -38
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.js +0 -248
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.test.d.ts +0 -1
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.test.js +0 -568
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.test.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-commands.d.ts +0 -13
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-commands.js +0 -15
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-commands.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.d.ts +0 -6
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.js +0 -8
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-heaset-state.d.ts +0 -4
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-heaset-state.js +0 -2
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-heaset-state.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-types.d.ts +0 -23
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-types.js +0 -10
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-types.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.d.ts +0 -45
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js +0 -233
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.d.ts +0 -1
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js +0 -543
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra.d.ts +0 -48
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra.js +0 -338
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra.test.d.ts +0 -1
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra.test.js +0 -839
- package/dist/es/src/library/services/vendor-implementations/jabra/jabra.test.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.d.ts +0 -37
- package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js +0 -48
- package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.d.ts +0 -1
- package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js +0 -109
- package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.d.ts +0 -260
- package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js +0 -271
- package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.d.ts +0 -58
- package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.js +0 -368
- package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.test.d.ts +0 -2
- package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.test.js +0 -791
- package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.test.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.d.ts +0 -5
- package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.js +0 -7
- package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-events.d.ts +0 -21
- package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-events.js +0 -23
- package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-events.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-payload.d.ts +0 -16
- package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-payload.js +0 -2
- package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-payload.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.d.ts +0 -44
- package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.js +0 -281
- package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.d.ts +0 -1
- package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js +0 -777
- package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/vendor-implementation.d.ts +0 -69
- package/dist/es/src/library/services/vendor-implementations/vendor-implementation.js +0 -95
- package/dist/es/src/library/services/vendor-implementations/vendor-implementation.js.map +0 -1
- package/dist/es/src/library/services/vendor-implementations/vendor-implemntation.test.d.ts +0 -1
- package/dist/es/src/library/services/vendor-implementations/vendor-implemntation.test.js +0 -104
- package/dist/es/src/library/services/vendor-implementations/vendor-implemntation.test.js.map +0 -1
- package/dist/es/src/library/test-utils.test.d.ts +0 -16
- package/dist/es/src/library/test-utils.test.js +0 -36
- package/dist/es/src/library/test-utils.test.js.map +0 -1
- package/dist/es/src/library/types/call-info.d.ts +0 -4
- package/dist/es/src/library/types/call-info.js +0 -2
- package/dist/es/src/library/types/call-info.js.map +0 -1
- package/dist/es/src/library/types/consumed-headset-events.d.ts +0 -45
- package/dist/es/src/library/types/consumed-headset-events.js +0 -15
- package/dist/es/src/library/types/consumed-headset-events.js.map +0 -1
- package/dist/es/src/library/types/device-info.d.ts +0 -8
- package/dist/es/src/library/types/device-info.js +0 -2
- package/dist/es/src/library/types/device-info.js.map +0 -1
- package/dist/es/src/library/types/emitted-headset-events.d.ts +0 -31
- package/dist/es/src/library/types/emitted-headset-events.js +0 -2
- package/dist/es/src/library/types/emitted-headset-events.js.map +0 -1
- package/dist/es/src/library/types/jabra-request.d.ts +0 -3
- package/dist/es/src/library/types/jabra-request.js +0 -2
- package/dist/es/src/library/types/jabra-request.js.map +0 -1
- package/dist/es/src/library/utils.d.ts +0 -14
- package/dist/es/src/library/utils.js +0 -69
- package/dist/es/src/library/utils.js.map +0 -1
- package/dist/es/src/library/utils.test.d.ts +0 -1
- package/dist/es/src/library/utils.test.js +0 -44
- package/dist/es/src/library/utils.test.js.map +0 -1
- package/dist/es/src/mocks/call.d.ts +0 -11
- package/dist/es/src/mocks/call.js +0 -51
- package/dist/es/src/mocks/call.js.map +0 -1
- package/dist/es/src/mocks/device-service.d.ts +0 -8
- package/dist/es/src/mocks/device-service.js +0 -40
- package/dist/es/src/mocks/device-service.js.map +0 -1
- package/dist/es/src/setupTests.d.ts +0 -1
- package/dist/es/src/setupTests.js +0 -6
- package/dist/es/src/setupTests.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(window.webpackJsonpSoftphoneVendorHeadsets=window.webpackJsonpSoftphoneVendorHeadsets||[]).push([[1],{
|
|
1
|
+
(window.webpackJsonpSoftphoneVendorHeadsets=window.webpackJsonpSoftphoneVendorHeadsets||[]).push([[1],{18:function(e,t,n){"use strict";n.r(t),n.d(t,"TransportChromeExtension",(function(){return s}));var o=n(0);class s{constructor(e,t){this.logger=e,this.recorder=t,this.events=new o.g,this.consoleAppEvent=this.events,this.connectHasBeenCalled=!1,this.context=o.h.CHROME_EXTENSION}connect(){return this.connectHasBeenCalled?Promise.reject(new o.d("Already connected",o.b.UNEXPECTED_ERROR)):(this.connectHasBeenCalled=!0,window.addEventListener("message-from-jabra-chrome-extension",e=>{var t;let n=e.detail;this.recorder&&(n=null===(t=this.recorder)||void 0===t?void 0:t.recordInput(n)),this.events.next(n)}),this.writeAction({event:"ping"}),Promise.resolve())}static checkInstallation(){return Object(o.j)(this,void 0,void 0,(function*(){return new Promise(e=>{const t=new CustomEvent("message-to-jabra-chrome-extension",{detail:"check-console-app-installation"});window.dispatchEvent(t),window.addEventListener("installation-status-from-jabra-chrome-extension",t=>{e({ok:t.detail,message:t.detail?"Installation ok":"The Jabra Chromehost is not installed"})}),setTimeout(()=>{e({ok:!1,message:"The Jabra Chrome Extension is not installed"})},3e3)})}))}writeAction(e){var t;null===(t=this.recorder)||void 0===t||t.recordOutput(e),window.dispatchEvent(new CustomEvent("message-to-jabra-chrome-extension",{detail:e}))}}}}]);
|
|
2
2
|
//# sourceMappingURL=1.softhphone-vendor-headsets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://SoftphoneVendorHeadsets/./node_modules/@gnaudio/jabra-js/browser-esm/chrome-extension-transport-
|
|
1
|
+
{"version":3,"sources":["webpack://SoftphoneVendorHeadsets/./node_modules/@gnaudio/jabra-js/browser-esm/chrome-extension-transport-b7b99846.js"],"names":["i","n","s","this","logger","recorder","events","consoleAppEvent","connectHasBeenCalled","context","CHROME_EXTENSION","Promise","reject","UNEXPECTED_ERROR","window","addEventListener","e","t","detail","recordInput","next","writeAction","event","resolve","CustomEvent","dispatchEvent","ok","message","setTimeout","recordOutput"],"mappings":"uIAAA,2DAAAA,KAAA,WAAoE,MAAMA,EAAE,YAAYC,EAAEC,GAAGC,KAAKC,OAAOH,EAAEE,KAAKE,SAASH,EAAEC,KAAKG,OAAO,IAAI,IAAEH,KAAKI,gBAAgBJ,KAAKG,OAAOH,KAAKK,sBAAqB,EAAGL,KAAKM,QAAQ,IAAEC,iBAAiB,UAAU,OAAOP,KAAKK,qBAAqBG,QAAQC,OAAO,IAAI,IAAE,oBAAoB,IAAEC,oBAAoBV,KAAKK,sBAAqB,EAAGM,OAAOC,iBAAiB,sCAAuCC,IAAI,IAAIC,EAAE,IAAIhB,EAAEe,EAAEE,OAAOf,KAAKE,WAAWJ,EAAE,QAAQgB,EAAEd,KAAKE,gBAAW,IAASY,OAAE,EAAOA,EAAEE,YAAYlB,IAAIE,KAAKG,OAAOc,KAAKnB,KAAME,KAAKkB,YAAY,CAACC,MAAM,SAASX,QAAQY,WAAW,2BAA2B,OAAO,YAAEpB,UAAK,OAAO,GAAO,YAAa,OAAO,IAAIQ,QAASK,IAAI,MAAMC,EAAE,IAAIO,YAAY,oCAAoC,CAACN,OAAO,mCAAmCJ,OAAOW,cAAcR,GAAGH,OAAOC,iBAAiB,kDAAmDE,IAAID,EAAE,CAACU,GAAGT,EAAEC,OAAOS,QAAQV,EAAEC,OAAO,kBAAkB,4CAA6CU,WAAW,KAAMZ,EAAE,CAACU,IAAG,EAAGC,QAAQ,iDAAkD,UAAW,YAAYX,GAAG,IAAIC,EAAE,QAAQA,EAAEd,KAAKE,gBAAW,IAASY,GAAGA,EAAEY,aAAab,GAAGF,OAAOW,cAAc,IAAID,YAAY,oCAAoC,CAACN,OAAOF","file":"1.softhphone-vendor-headsets.js","sourcesContent":["import{S as e,T as t,J as n,E as s,_ as o}from\"./index-923cf570.js\";class i{constructor(n,s){this.logger=n,this.recorder=s,this.events=new e,this.consoleAppEvent=this.events,this.connectHasBeenCalled=!1,this.context=t.CHROME_EXTENSION}connect(){return this.connectHasBeenCalled?Promise.reject(new n(\"Already connected\",s.UNEXPECTED_ERROR)):(this.connectHasBeenCalled=!0,window.addEventListener(\"message-from-jabra-chrome-extension\",(e=>{var t;let n=e.detail;this.recorder&&(n=null===(t=this.recorder)||void 0===t?void 0:t.recordInput(n)),this.events.next(n)})),this.writeAction({event:\"ping\"}),Promise.resolve())}static checkInstallation(){return o(this,void 0,void 0,(function*(){return new Promise((e=>{const t=new CustomEvent(\"message-to-jabra-chrome-extension\",{detail:\"check-console-app-installation\"});window.dispatchEvent(t),window.addEventListener(\"installation-status-from-jabra-chrome-extension\",(t=>{e({ok:t.detail,message:t.detail?\"Installation ok\":\"The Jabra Chromehost is not installed\"})})),setTimeout((()=>{e({ok:!1,message:\"The Jabra Chrome Extension is not installed\"})}),3e3)}))}))}writeAction(e){var t;null===(t=this.recorder)||void 0===t||t.recordOutput(e),window.dispatchEvent(new CustomEvent(\"message-to-jabra-chrome-extension\",{detail:e}))}}export{i as TransportChromeExtension};\n"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(window.webpackJsonpSoftphoneVendorHeadsets=window.webpackJsonpSoftphoneVendorHeadsets||[]).push([[2],{20:function(e,t,s){"use strict";s.r(t),s.d(t,"initHandler",(function(){return E}));var i=s(0);function o(e,t){void 0===t&&(t=i.n);var s=Object(i.l)(e,t);return function e(t,s){return s?function(o){return Object(i.m)(s.pipe(Object(i.A)(1),Object(i.y)((function(e,t){e.subscribe(new i.f(t,i.x))}))),o.pipe(e(t)))}:Object(i.k)((function(e,s){return t(e,s).pipe(Object(i.A)(1),function(e){return Object(i.w)((function(){return e}))}(e))}))}((function(){return s}))}class r{static rawUsageFrom(e,t){return(e<<16|t)>>>0}static usagePageFromRaw(e){return e>>>16}static usageFromRaw(e){return e<<16>>>16}}class n{constructor(e){this.devices=new Map,this.deviceInputSubscriptions=new Map,this.onHidInput=new i.g,this.onGetFeatureReportResponse=new i.g;const t=new i.g;this.deviceAdded=t;const s=new i.g;this.deviceRemoved=s,e.deviceAdded.subscribe(e=>{if(!this.devices.has(e.id)){this.devices.set(e.id,e);const s=e.inputHandler.inputReports.pipe(Object(i.w)(t=>new i.i(e.id,r.usagePageFromRaw(t.usage),r.usageFromRaw(t.usage),t.value))).subscribe(e=>this.onHidInput.next(e));this.deviceInputSubscriptions.set(e.id,s),t.next(e)}}),e.deviceRemoved.subscribe(e=>{var t;const i=this.devices.get(e);i&&(this.devices.delete(e),null===(t=this.deviceInputSubscriptions.get(e))||void 0===t||t.unsubscribe(),this.deviceInputSubscriptions.delete(e),s.next(i))})}sendOutputUsage(e,t,s,i){var o;const n=r.rawUsageFrom(t,s);null===(o=this.devices.get(e))||void 0===o||o.outputHandler.sendOutputUsage(n,i)}setFeatureUsage(e,t,s,i){var o;const n=r.rawUsageFrom(t,s);null===(o=this.devices.get(e))||void 0===o||o.featureHandler.setFeatureUsage(n,i)}getFeatureUsage(e,t,s,o){var n;return Object(i.j)(this,void 0,void 0,(function*(){const a=r.rawUsageFrom(s,o),c=yield null===(n=this.devices.get(e))||void 0===n?void 0:n.featureHandler.getFeatureUsage(a);void 0!==c&&this.onGetFeatureReportResponse.next(new i.o(t,c))}))}}class a{constructor(e,t){this.device=e,this.inputReportDescriptors=t;const s=new Map;this.inputReportDescriptors.forEach(e=>{e.usages.forEach((e,t)=>{s.set(t,[0])})});const o=new i.g;this.inputReports=o,this.device.oninputreport=e=>{if(e.currentTarget!==this.device)return;const t=this.inputReportDescriptors.get(e.reportId);if(!t)return;const r=new i.p.BitView(e.data.buffer);r.bigEndian=!1,Array.from(t.usages.entries(),a.makeWebHidInputReport.bind(this,r)).filter(e=>a.compareReportToCachedValue(e,s)).forEach(e=>{s.set(e.usage,e.value),o.next(e)})}}static makeWebHidInputReport(e,[t,s]){let o=s.offset,r=s.size,n=[];for(;r>0;)n.push(e.getBits(o,Math.min(r,8))),o+=8,r-=8;return n=s.onInput(n),new i.c.UsageReport(t,n)}static compareReportToCachedValue(e,t){const s=t.get(e.usage);return!s||(s.length!==e.value.length||s.some((t,s)=>e.value[s]!==t))}}class c{constructor(e){this.report=e}reportSizeInBits(){return this.report.fullReportSize}reportSizeInBytes(){return Math.ceil(this.reportSizeInBits()/8)}createBitViewIfNeeded(){if(!this.bitView){const e=this.reportSizeInBytes(),t=new ArrayBuffer(e);this.bitView=new i.p.BitView(t),this.bitView.bigEndian=!1}return this.bitView}getUsageInformationOrThrow(e){if(!this.report.usages.has(e))throw new i.d(`Unable to write usage (0x${e.toString(16).padStart(8,"0")}). It is not known by the device.`,i.b.UNEXPECTED_ERROR);return this.report.usages.get(e)}writeUsage(e,t){const s=this.getUsageInformationOrThrow(e);let o=this.createBitViewIfNeeded();if(!s.absolute){const e=function(e){const t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(new Uint8Array(e)),t}(o.buffer);o=new i.p.BitView(e)}let r=s.offset,n=s.size;return t.forEach(e=>{o.setBits(r,e,n),r+=8,n-=8}),o.buffer}}class u{constructor(e,t,s){this.device=e,this.outputReports=t,this.outputUsages=s,this.outputCacheByReportId=new Map}getReportIdForUsage(e){if(!this.outputUsages.has(e))throw new i.d(`Unknown usagePage: 0x${e.toString(16).padStart(8,"0")}.`,i.b.UNEXPECTED_ERROR);return this.outputUsages.get(e)}getReportLayoutForReportId(e){if(!this.outputReports.has(e))throw new i.d(`Unknown reportId: ${e}.`,i.b.UNEXPECTED_ERROR);return this.outputReports.get(e)}getUsageInReportForUsage(e){const t=this.getReportIdForUsage(e),s=this.getReportLayoutForReportId(t);if(!s.usages.has(e))throw new i.d(`Unknown rawUsage inside ReportLayout: ${e}.`,i.b.UNEXPECTED_ERROR);return s.usages.get(e)}getOrCreateCacheForReportId(e){if(!this.outputCacheByReportId.has(e)){const t=this.getReportLayoutForReportId(e),s=new c(t);this.outputCacheByReportId.set(e,s)}return this.outputCacheByReportId.get(e)}sendOutputUsage(e,t){return Object(i.j)(this,void 0,void 0,(function*(){const s=this.getReportIdForUsage(e),i=this.getOrCreateCacheForReportId(s),o=this.getUsageInReportForUsage(e).onOutput(t),r=i.writeUsage(e,o);yield this.device.sendReport(s,r)}))}}class d{constructor(e=new Map,t=0){this.usages=e,this.fullReportSize=t}}class h{constructor(e,t,s){this.offset=e,this.size=t,this.absolute=s}onInput(e){return e}onOutput(e){return e}}class p{constructor(e,t,s,i){this.offset=e,this.size=t,this.absolute=s,this.rangeIndex=i}onInput(e){if(e.length>1)throw new i.d(`Usages of type ${p.name} should not hold more than 1 byte of information.`,i.b.UNEXPECTED_ERROR);return e[0]===this.rangeIndex?[1]:[0]}onOutput(e){if(e.length>1)throw new i.d(`Usages of type ${p.name} should not hold more than 1 byte of information.`,i.b.UNEXPECTED_ERROR);return e[0]>0?[this.rangeIndex]:e}}class l{constructor(e){const t=new Map;this.buildReportLayouts(e.collections,"input",t),this.inputReports=t,this.inputUsages=l.buildUsageMap(t);const s=new Map;this.buildReportLayouts(e.collections,"output",s),this.outputReports=s,this.outputUsages=l.buildUsageMap(s);const i=new Map;this.buildReportLayouts(e.collections,"feature",i),this.featureReports=i,this.featureUsages=l.buildUsageMap(i)}static buildUsageMap(e){const t=new Map;return e.forEach((e,s)=>{e.usages.forEach((e,i)=>{t.set(i,s)})}),t}buildReportLayouts(e,t,s){e.forEach(e=>{var i;null===(i=l.reportsOfType(e,t))||void 0===i||i.forEach(e=>{var t;const i=e.reportId;s.has(i)||s.set(i,new d);const o=s.get(i);let r=0;null===(t=e.items)||void 0===t||t.forEach(e=>{let t=e.usages;if(e.isRange){t=[];for(let s=e.usageMinimum;s<=e.usageMaximum;s+=1)t.push(s)}let s,i=r;if(e.isRange&&e.isArray&&(s=1),t.length>0&&t.filter(e=>o.usages.has(e)).length===t.length)return;t.forEach(t=>{let r;r=s?new p(i,e.reportSize,e.isAbsolute,s):new h(i,e.reportSize,e.isAbsolute),o.usages.set(t,r),s?s+=1:i+=e.reportSize});const n=e.reportCount*e.reportSize;o.fullReportSize+=n,r+=n})}),e.children&&this.buildReportLayouts(e.children,t,s)})}static reportsOfType(e,t){if("input"===t)return e.inputReports;if("output"===t)return e.outputReports;if("feature"===t)return e.featureReports;throw new i.d(`Unexpected report type: ${t}!`,i.b.UNEXPECTED_ERROR)}}class g{constructor(e,t,s){this.device=e,this.featureReports=t,this.featureUsages=s,this.outputCacheByReportId=new Map}getReportIdForUsage(e){if(!this.featureUsages.has(e))throw new i.d(`Unknown usagePage: 0x${e.toString(16).padStart(8,"0")}.`,i.b.UNEXPECTED_ERROR);return this.featureUsages.get(e)}getReportLayoutForReportId(e){if(!this.featureReports.has(e))throw new i.d(`Unknown reportId: ${e}.`,i.b.UNEXPECTED_ERROR);return this.featureReports.get(e)}getUsageInReportForUsage(e){const t=this.getReportIdForUsage(e),s=this.getReportLayoutForReportId(t);if(!s.usages.has(e))throw new i.d(`Unknown rawUsage inside ReportLayout: ${e}.`,i.b.UNEXPECTED_ERROR);return s.usages.get(e)}getOrCreateCacheForReportId(e){if(!this.outputCacheByReportId.has(e)){const t=this.getReportLayoutForReportId(e),s=new c(t);this.outputCacheByReportId.set(e,s)}return this.outputCacheByReportId.get(e)}getFeatureUsage(e){return Object(i.j)(this,void 0,void 0,(function*(){const t=this.getReportIdForUsage(e),s=yield this.device.receiveFeatureReport(t),i=this.getUsageInReportForUsage(e),o=[];for(let e=1;e<=Math.ceil(i.size/8);e+=1)o.push(s.getUint8(e));return o}))}setFeatureUsage(e,t){return Object(i.j)(this,void 0,void 0,(function*(){const s=this.getReportIdForUsage(e),i=this.getOrCreateCacheForReportId(s),o=this.getUsageInReportForUsage(e).onOutput(t),r=i.writeUsage(e,o);yield this.device.sendFeatureReport(s,r)}))}}class v{constructor(e,t,s,i){this.name=e,this.vid=t,this.pid=s,this.id=i.sessionId;const o=new l(i);this.inputReports=o.inputReports,this.outputReports=o.outputReports,this.featureReports=o.featureReports,this.inputHandler=new a(i,o.inputReports),this.outputHandler=new u(i,o.outputReports,o.outputUsages),this.featureHandler=new g(i,o.featureReports,o.featureUsages)}}class R{constructor(e,t){this.hid=e,this.broadcastChannel=t,this.deviceAddedSubject=new i.g,this.deviceAdded=this.deviceAddedSubject,this.deviceRemovedSubject=new i.g,this.deviceRemoved=this.deviceRemovedSubject}setupListeners(){this.hid.onconnect=e=>this.onConnect(e),this.hid.ondisconnect=e=>this.onDisconnect(e),this.broadcastChannel.onmessage=()=>this.getPairedDevices()}addNewDevice(e){return Object(i.j)(this,void 0,void 0,(function*(){if(R.hasGeneratedDeviceId(e))return;R.getOrGenerateDeviceId(e);const t=new v(e.productName,e.vendorId,e.productId,e);e.opened||(yield e.open()),this.deviceAddedSubject.next(t)}))}onConnect(e){return Object(i.j)(this,void 0,void 0,(function*(){setTimeout(()=>Object(i.j)(this,void 0,void 0,(function*(){yield this.addNewDevice(e.device)})),1e3)}))}onDisconnect(e){const t=R.getOrGenerateDeviceId(e.device);this.deviceRemovedSubject.next(t)}getPairedDevices(){return Object(i.j)(this,void 0,void 0,(function*(){(yield this.hid.getDevices()).forEach(e=>Object(i.j)(this,void 0,void 0,(function*(){yield this.addNewDevice(e)})))}))}static hasGeneratedDeviceId(e){return void 0!==e.sessionId}static getOrGenerateDeviceId(e){if(!R.hasGeneratedDeviceId(e)){const t=new i.B(4).toString();return e.sessionId=t,t}return e.sessionId}}class w{constructor(e,t,s,i,o){this.usagePage=e,this.usage=t,this.valueType=s,this.reportType=i,this.reportSize=o}}class f{constructor(e){this.deviceManagement=e,this.events=new i.g,this.setupDeviceHandler()}setupDeviceHandler(){this.deviceManagement.deviceAdded.subscribe(e=>{this.events.next({event:"attach",id:e.id,vid:e.vid,pid:e.pid,name:e.name,serialNumber:e.id,descriptor:f.generateDescriptors(e)})}),this.deviceManagement.deviceRemoved.subscribe(e=>{this.events.next({event:"detach",id:e.id})}),this.deviceManagement.onHidInput.subscribe(e=>{const t=1===e.value.length?e.value[0]:e.value;this.events.next({event:"hid-input",id:e.deviceId,usagePage:e.usagePage,usage:e.usage,value:t})}),this.deviceManagement.onGetFeatureReportResponse.subscribe(e=>{const t=1===e.value.length?e.value[0]:e.value;this.events.next({event:"response-hid-feature",token:e.token,value:t})})}static generateDescriptors(e){let t=f.convertReportLayoutsToDescriptors(e.inputReports,"input");return t=t.concat(f.convertReportLayoutsToDescriptors(e.outputReports,"output")),t=t.concat(f.convertReportLayoutsToDescriptors(e.featureReports,"feature")),t}static convertReportLayoutsToDescriptors(e,t){const s=[];return e.forEach(e=>{e.usages.forEach((e,i)=>{const o=r.usagePageFromRaw(i);65280===o&&"output"===t||s.push(new w(o,r.usageFromRaw(i),e.absolute?"absolute":"relative",t,Math.ceil(e.size/8)))})}),s}}class b{constructor(e,t,s){this.deviceManagement=e,this.callLockManagement=t,this.logger=s,this.gnpLockAcquired=new i.g,this.callLockAcquired=new i.g,this.softphoneInFocus=new i.g,this.events=Object(i.q)(this.gnpLockAcquired.pipe(o(0)),this.callLockAcquired.pipe(o(0)),this.softphoneInFocus)}onNewSdkInput(e){if(!e.action)throw new i.d("Provided input has no action property.",i.b.UNEXPECTED_ERROR);switch(e.action){case"hid-output":{const t=Array.isArray(e.value)?e.value:[e.value];this.deviceManagement.sendOutputUsage(e.id,e.usagePage,e.usage,t);break}case"request-hid-feature":this.deviceManagement.getFeatureUsage(e.id,e.token,e.usagePage,e.usage);break;case"set-hid-feature":{const t=Array.isArray(e.value)?e.value:[e.value];this.deviceManagement.setFeatureUsage(e.id,e.usagePage,e.usage,t);break}case"request-gnp-lock":this.gnpLockAcquired.next({event:"response-gnp-lock",token:e.token}),Object(i.v)("GNP lock requested with WebHID backend. This should not happen!",this.logger,i.e.ERROR,i.r.NATIVE_CONSOLE);break;case"release-gnp-lock":break;case"request-call-lock":this.callLockManagement.tryAcquireCallLock(e.id).then(t=>{this.callLockAcquired.next({event:"response-call-lock",id:e.id,acquired:t})});break;case"release-call-lock":this.callLockManagement.releaseCallLock(e.id);break;case"set-softphone-info":this.softphoneInFocus.next({event:"softphone-in-focus",infocus:!1}),this.softphoneInFocus.complete();break;default:throw new i.d(`Provided action is not recognized - ${e.action}.`,i.b.UNEXPECTED_ERROR)}}}class I{constructor(e,t,s){this.navigatorLocks=e,this.logger=s,this.releaseGlobalLock=null,this.localLockedDevices=new Set,t.deviceRemoved.subscribe(e=>{this.localLockedDevices.has(e.id)&&this.releaseCallLock(e.id)})}tryAcquireCallLock(e){return Object(i.j)(this,void 0,void 0,(function*(){return!(yield this.checkWebLocksSupport())||(this.localLockedDevices.size>0&&!this.localLockedDevices.has(e)?(this.localLockedDevices.add(e),!0):new Promise(t=>{this.navigatorLocks.request("jabra-call-lock",{ifAvailable:!0},s=>s?(this.localLockedDevices.add(e),t(!0),new Promise(e=>{this.releaseGlobalLock=e})):(t(!1),Promise.resolve()))}))}))}releaseCallLock(e){this.localLockedDevices.delete(e),this.releaseGlobalLock&&0===this.localLockedDevices.size&&this.releaseGlobalLock()}checkWebLocksSupport(){return Object(i.j)(this,void 0,void 0,(function*(){const e=yield this.navigatorLocks.query().catch(()=>{Object(i.v)("WebLocks unsupported. The cross-tab call lock is disabled.",this.logger,i.e.WARNING)});return Boolean(e)}))}}class U{constructor(e,t,s,o){this.scanner=e,this.deviceEventHandler=t,this.sdkInputEventHandler=s,this.logger=o,this.readyEvent=new i.g,this.events=new i.s,this.events=Object(i.q)(this.readyEvent,this.deviceEventHandler.events,this.sdkInputEventHandler.events)}start(){this.readyEvent.next({event:"ready",version:null,jabraDirectInstalled:!1}),this.readyEvent.complete(),this.scanner.getPairedDevices(),this.scanner.setupListeners()}sendMessage(e){var t;null===(t=this.sdkInputEventHandler)||void 0===t||t.onNewSdkInput(e)}}function E(e){if("undefined"==typeof window)throw new i.d("WebHID is not supported outside of a browser environment.",i.b.INIT_ERROR);if(void 0===window.navigator||void 0===window.navigator.hid)throw new i.d("WebHID is not supported on this platform/browser.",i.b.INIT_ERROR);if(void 0===window.navigator.locks)throw new i.d("WebLocks is not supported on this platform/browser.",i.b.INIT_ERROR);const t=window.navigator.hid,s=window.navigator.locks,o=new BroadcastChannel(i.t.PAIRING_CHANNEL),r=new R(t,o),a=new n(r),c=new f(a),u=new b(a,new I(s,a,e));return new U(r,c,u,e)}}}]);
|
|
1
|
+
(window.webpackJsonpSoftphoneVendorHeadsets=window.webpackJsonpSoftphoneVendorHeadsets||[]).push([[2],{19:function(e,t,s){"use strict";s.r(t),s.d(t,"initHandler",(function(){return E}));var i=s(0);function o(e,t){void 0===t&&(t=i.n);var s=Object(i.l)(e,t);return function e(t,s){return s?function(o){return Object(i.m)(s.pipe(Object(i.A)(1),Object(i.y)((function(e,t){e.subscribe(new i.f(t,i.x))}))),o.pipe(e(t)))}:Object(i.k)((function(e,s){return t(e,s).pipe(Object(i.A)(1),function(e){return Object(i.w)((function(){return e}))}(e))}))}((function(){return s}))}class r{static rawUsageFrom(e,t){return(e<<16|t)>>>0}static usagePageFromRaw(e){return e>>>16}static usageFromRaw(e){return e<<16>>>16}}class n{constructor(e){this.devices=new Map,this.deviceInputSubscriptions=new Map,this.onHidInput=new i.g,this.onGetFeatureReportResponse=new i.g;const t=new i.g;this.deviceAdded=t;const s=new i.g;this.deviceRemoved=s,e.deviceAdded.subscribe(e=>{if(!this.devices.has(e.id)){this.devices.set(e.id,e);const s=e.inputHandler.inputReports.pipe(Object(i.w)(t=>new i.i(e.id,r.usagePageFromRaw(t.usage),r.usageFromRaw(t.usage),t.value))).subscribe(e=>this.onHidInput.next(e));this.deviceInputSubscriptions.set(e.id,s),t.next(e)}}),e.deviceRemoved.subscribe(e=>{var t;const i=this.devices.get(e);i&&(this.devices.delete(e),null===(t=this.deviceInputSubscriptions.get(e))||void 0===t||t.unsubscribe(),this.deviceInputSubscriptions.delete(e),s.next(i))})}sendOutputUsage(e,t,s,i){var o;const n=r.rawUsageFrom(t,s);null===(o=this.devices.get(e))||void 0===o||o.outputHandler.sendOutputUsage(n,i)}setFeatureUsage(e,t,s,i){var o;const n=r.rawUsageFrom(t,s);null===(o=this.devices.get(e))||void 0===o||o.featureHandler.setFeatureUsage(n,i)}getFeatureUsage(e,t,s,o){var n;return Object(i.j)(this,void 0,void 0,(function*(){const a=r.rawUsageFrom(s,o),c=yield null===(n=this.devices.get(e))||void 0===n?void 0:n.featureHandler.getFeatureUsage(a);void 0!==c&&this.onGetFeatureReportResponse.next(new i.o(t,c))}))}}class a{constructor(e,t){this.device=e,this.inputReportDescriptors=t;const s=new Map;this.inputReportDescriptors.forEach(e=>{e.usages.forEach((e,t)=>{s.set(t,[0])})});const o=new i.g;this.inputReports=o,this.device.oninputreport=e=>{if(e.currentTarget!==this.device)return;const t=this.inputReportDescriptors.get(e.reportId);if(!t)return;const r=new i.p.BitView(e.data.buffer);r.bigEndian=!1,Array.from(t.usages.entries(),a.makeWebHidInputReport.bind(this,r)).filter(e=>a.compareReportToCachedValue(e,s)).forEach(e=>{s.set(e.usage,e.value),o.next(e)})}}static makeWebHidInputReport(e,[t,s]){let o=s.offset,r=s.size,n=[];for(;r>0;)n.push(e.getBits(o,Math.min(r,8))),o+=8,r-=8;return n=s.onInput(n),new i.c.UsageReport(t,n)}static compareReportToCachedValue(e,t){const s=t.get(e.usage);return!s||(s.length!==e.value.length||s.some((t,s)=>e.value[s]!==t))}}class c{constructor(e){this.report=e}reportSizeInBits(){return this.report.fullReportSize}reportSizeInBytes(){return Math.ceil(this.reportSizeInBits()/8)}createBitViewIfNeeded(){if(!this.bitView){const e=this.reportSizeInBytes(),t=new ArrayBuffer(e);this.bitView=new i.p.BitView(t),this.bitView.bigEndian=!1}return this.bitView}getUsageInformationOrThrow(e){if(!this.report.usages.has(e))throw new i.d(`Unable to write usage (0x${e.toString(16).padStart(8,"0")}). It is not known by the device.`,i.b.UNEXPECTED_ERROR);return this.report.usages.get(e)}writeUsage(e,t){const s=this.getUsageInformationOrThrow(e);let o=this.createBitViewIfNeeded();if(!s.absolute){const e=function(e){const t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(new Uint8Array(e)),t}(o.buffer);o=new i.p.BitView(e)}let r=s.offset,n=s.size;return t.forEach(e=>{o.setBits(r,e,n),r+=8,n-=8}),o.buffer}}class u{constructor(e,t,s){this.device=e,this.outputReports=t,this.outputUsages=s,this.outputCacheByReportId=new Map}getReportIdForUsage(e){if(!this.outputUsages.has(e))throw new i.d(`Unknown usagePage: 0x${e.toString(16).padStart(8,"0")}.`,i.b.UNEXPECTED_ERROR);return this.outputUsages.get(e)}getReportLayoutForReportId(e){if(!this.outputReports.has(e))throw new i.d(`Unknown reportId: ${e}.`,i.b.UNEXPECTED_ERROR);return this.outputReports.get(e)}getUsageInReportForUsage(e){const t=this.getReportIdForUsage(e),s=this.getReportLayoutForReportId(t);if(!s.usages.has(e))throw new i.d(`Unknown rawUsage inside ReportLayout: ${e}.`,i.b.UNEXPECTED_ERROR);return s.usages.get(e)}getOrCreateCacheForReportId(e){if(!this.outputCacheByReportId.has(e)){const t=this.getReportLayoutForReportId(e),s=new c(t);this.outputCacheByReportId.set(e,s)}return this.outputCacheByReportId.get(e)}sendOutputUsage(e,t){return Object(i.j)(this,void 0,void 0,(function*(){const s=this.getReportIdForUsage(e),i=this.getOrCreateCacheForReportId(s),o=this.getUsageInReportForUsage(e).onOutput(t),r=i.writeUsage(e,o);yield this.device.sendReport(s,r)}))}}class d{constructor(e=new Map,t=0){this.usages=e,this.fullReportSize=t}}class h{constructor(e,t,s){this.offset=e,this.size=t,this.absolute=s}onInput(e){return e}onOutput(e){return e}}class p{constructor(e,t,s,i){this.offset=e,this.size=t,this.absolute=s,this.rangeIndex=i}onInput(e){if(e.length>1)throw new i.d(`Usages of type ${p.name} should not hold more than 1 byte of information.`,i.b.UNEXPECTED_ERROR);return e[0]===this.rangeIndex?[1]:[0]}onOutput(e){if(e.length>1)throw new i.d(`Usages of type ${p.name} should not hold more than 1 byte of information.`,i.b.UNEXPECTED_ERROR);return e[0]>0?[this.rangeIndex]:e}}class l{constructor(e){const t=new Map;this.buildReportLayouts(e.collections,"input",t),this.inputReports=t,this.inputUsages=l.buildUsageMap(t);const s=new Map;this.buildReportLayouts(e.collections,"output",s),this.outputReports=s,this.outputUsages=l.buildUsageMap(s);const i=new Map;this.buildReportLayouts(e.collections,"feature",i),this.featureReports=i,this.featureUsages=l.buildUsageMap(i)}static buildUsageMap(e){const t=new Map;return e.forEach((e,s)=>{e.usages.forEach((e,i)=>{t.set(i,s)})}),t}buildReportLayouts(e,t,s){e.forEach(e=>{var i;null===(i=l.reportsOfType(e,t))||void 0===i||i.forEach(e=>{var t;const i=e.reportId;s.has(i)||s.set(i,new d);const o=s.get(i);let r=0;null===(t=e.items)||void 0===t||t.forEach(e=>{let t=e.usages;if(e.isRange){t=[];for(let s=e.usageMinimum;s<=e.usageMaximum;s+=1)t.push(s)}let s,i=r;if(e.isRange&&e.isArray&&(s=1),t.length>0&&t.filter(e=>o.usages.has(e)).length===t.length)return;t.forEach(t=>{let r;r=s?new p(i,e.reportSize,e.isAbsolute,s):new h(i,e.reportSize,e.isAbsolute),o.usages.set(t,r),s?s+=1:i+=e.reportSize});const n=e.reportCount*e.reportSize;o.fullReportSize+=n,r+=n})}),e.children&&this.buildReportLayouts(e.children,t,s)})}static reportsOfType(e,t){if("input"===t)return e.inputReports;if("output"===t)return e.outputReports;if("feature"===t)return e.featureReports;throw new i.d(`Unexpected report type: ${t}!`,i.b.UNEXPECTED_ERROR)}}class g{constructor(e,t,s){this.device=e,this.featureReports=t,this.featureUsages=s,this.outputCacheByReportId=new Map}getReportIdForUsage(e){if(!this.featureUsages.has(e))throw new i.d(`Unknown usagePage: 0x${e.toString(16).padStart(8,"0")}.`,i.b.UNEXPECTED_ERROR);return this.featureUsages.get(e)}getReportLayoutForReportId(e){if(!this.featureReports.has(e))throw new i.d(`Unknown reportId: ${e}.`,i.b.UNEXPECTED_ERROR);return this.featureReports.get(e)}getUsageInReportForUsage(e){const t=this.getReportIdForUsage(e),s=this.getReportLayoutForReportId(t);if(!s.usages.has(e))throw new i.d(`Unknown rawUsage inside ReportLayout: ${e}.`,i.b.UNEXPECTED_ERROR);return s.usages.get(e)}getOrCreateCacheForReportId(e){if(!this.outputCacheByReportId.has(e)){const t=this.getReportLayoutForReportId(e),s=new c(t);this.outputCacheByReportId.set(e,s)}return this.outputCacheByReportId.get(e)}getFeatureUsage(e){return Object(i.j)(this,void 0,void 0,(function*(){const t=this.getReportIdForUsage(e),s=yield this.device.receiveFeatureReport(t),i=this.getUsageInReportForUsage(e),o=[];for(let e=1;e<=Math.ceil(i.size/8);e+=1)o.push(s.getUint8(e));return o}))}setFeatureUsage(e,t){return Object(i.j)(this,void 0,void 0,(function*(){const s=this.getReportIdForUsage(e),i=this.getOrCreateCacheForReportId(s),o=this.getUsageInReportForUsage(e).onOutput(t),r=i.writeUsage(e,o);yield this.device.sendFeatureReport(s,r)}))}}class v{constructor(e,t,s,i){this.name=e,this.vid=t,this.pid=s,this.id=i.sessionId;const o=new l(i);this.inputReports=o.inputReports,this.outputReports=o.outputReports,this.featureReports=o.featureReports,this.inputHandler=new a(i,o.inputReports),this.outputHandler=new u(i,o.outputReports,o.outputUsages),this.featureHandler=new g(i,o.featureReports,o.featureUsages)}}class R{constructor(e,t){this.hid=e,this.broadcastChannel=t,this.deviceAddedSubject=new i.g,this.deviceAdded=this.deviceAddedSubject,this.deviceRemovedSubject=new i.g,this.deviceRemoved=this.deviceRemovedSubject}setupListeners(){this.hid.onconnect=e=>this.onConnect(e),this.hid.ondisconnect=e=>this.onDisconnect(e),this.broadcastChannel.onmessage=()=>this.getPairedDevices()}addNewDevice(e){return Object(i.j)(this,void 0,void 0,(function*(){if(R.hasGeneratedDeviceId(e))return;R.getOrGenerateDeviceId(e);const t=new v(e.productName,e.vendorId,e.productId,e);e.opened||(yield e.open()),this.deviceAddedSubject.next(t)}))}onConnect(e){return Object(i.j)(this,void 0,void 0,(function*(){setTimeout(()=>Object(i.j)(this,void 0,void 0,(function*(){yield this.addNewDevice(e.device)})),1e3)}))}onDisconnect(e){const t=R.getOrGenerateDeviceId(e.device);this.deviceRemovedSubject.next(t)}getPairedDevices(){return Object(i.j)(this,void 0,void 0,(function*(){(yield this.hid.getDevices()).forEach(e=>Object(i.j)(this,void 0,void 0,(function*(){yield this.addNewDevice(e)})))}))}static hasGeneratedDeviceId(e){return void 0!==e.sessionId}static getOrGenerateDeviceId(e){if(!R.hasGeneratedDeviceId(e)){const t=new i.B(4).toString();return e.sessionId=t,t}return e.sessionId}}class w{constructor(e,t,s,i,o){this.usagePage=e,this.usage=t,this.valueType=s,this.reportType=i,this.reportSize=o}}class f{constructor(e){this.deviceManagement=e,this.events=new i.g,this.setupDeviceHandler()}setupDeviceHandler(){this.deviceManagement.deviceAdded.subscribe(e=>{this.events.next({event:"attach",id:e.id,vid:e.vid,pid:e.pid,name:e.name,serialNumber:e.id,descriptor:f.generateDescriptors(e)})}),this.deviceManagement.deviceRemoved.subscribe(e=>{this.events.next({event:"detach",id:e.id})}),this.deviceManagement.onHidInput.subscribe(e=>{const t=1===e.value.length?e.value[0]:e.value;this.events.next({event:"hid-input",id:e.deviceId,usagePage:e.usagePage,usage:e.usage,value:t})}),this.deviceManagement.onGetFeatureReportResponse.subscribe(e=>{const t=1===e.value.length?e.value[0]:e.value;this.events.next({event:"response-hid-feature",token:e.token,value:t})})}static generateDescriptors(e){let t=f.convertReportLayoutsToDescriptors(e.inputReports,"input");return t=t.concat(f.convertReportLayoutsToDescriptors(e.outputReports,"output")),t=t.concat(f.convertReportLayoutsToDescriptors(e.featureReports,"feature")),t}static convertReportLayoutsToDescriptors(e,t){const s=[];return e.forEach(e=>{e.usages.forEach((e,i)=>{const o=r.usagePageFromRaw(i);65280===o&&"output"===t||s.push(new w(o,r.usageFromRaw(i),e.absolute?"absolute":"relative",t,Math.ceil(e.size/8)))})}),s}}class b{constructor(e,t,s){this.deviceManagement=e,this.callLockManagement=t,this.logger=s,this.gnpLockAcquired=new i.g,this.callLockAcquired=new i.g,this.softphoneInFocus=new i.g,this.events=Object(i.q)(this.gnpLockAcquired.pipe(o(0)),this.callLockAcquired.pipe(o(0)),this.softphoneInFocus)}onNewSdkInput(e){if(!e.action)throw new i.d("Provided input has no action property.",i.b.UNEXPECTED_ERROR);switch(e.action){case"hid-output":{const t=Array.isArray(e.value)?e.value:[e.value];this.deviceManagement.sendOutputUsage(e.id,e.usagePage,e.usage,t);break}case"request-hid-feature":this.deviceManagement.getFeatureUsage(e.id,e.token,e.usagePage,e.usage);break;case"set-hid-feature":{const t=Array.isArray(e.value)?e.value:[e.value];this.deviceManagement.setFeatureUsage(e.id,e.usagePage,e.usage,t);break}case"request-gnp-lock":this.gnpLockAcquired.next({event:"response-gnp-lock",token:e.token}),Object(i.v)("GNP lock requested with WebHID backend. This should not happen!",this.logger,i.e.ERROR,i.r.NATIVE_CONSOLE);break;case"release-gnp-lock":break;case"request-call-lock":this.callLockManagement.tryAcquireCallLock(e.id).then(t=>{this.callLockAcquired.next({event:"response-call-lock",id:e.id,acquired:t})});break;case"release-call-lock":this.callLockManagement.releaseCallLock(e.id);break;case"set-softphone-info":this.softphoneInFocus.next({event:"softphone-in-focus",infocus:!1}),this.softphoneInFocus.complete();break;default:throw new i.d(`Provided action is not recognized - ${e.action}.`,i.b.UNEXPECTED_ERROR)}}}class I{constructor(e,t,s){this.navigatorLocks=e,this.logger=s,this.releaseGlobalLock=null,this.localLockedDevices=new Set,t.deviceRemoved.subscribe(e=>{this.localLockedDevices.has(e.id)&&this.releaseCallLock(e.id)})}tryAcquireCallLock(e){return Object(i.j)(this,void 0,void 0,(function*(){return!(yield this.checkWebLocksSupport())||(this.localLockedDevices.size>0&&!this.localLockedDevices.has(e)?(this.localLockedDevices.add(e),!0):new Promise(t=>{this.navigatorLocks.request("jabra-call-lock",{ifAvailable:!0},s=>s?(this.localLockedDevices.add(e),t(!0),new Promise(e=>{this.releaseGlobalLock=e})):(t(!1),Promise.resolve()))}))}))}releaseCallLock(e){this.localLockedDevices.delete(e),this.releaseGlobalLock&&0===this.localLockedDevices.size&&this.releaseGlobalLock()}checkWebLocksSupport(){return Object(i.j)(this,void 0,void 0,(function*(){const e=yield this.navigatorLocks.query().catch(()=>{Object(i.v)("WebLocks unsupported. The cross-tab call lock is disabled.",this.logger,i.e.WARNING)});return Boolean(e)}))}}class U{constructor(e,t,s,o){this.scanner=e,this.deviceEventHandler=t,this.sdkInputEventHandler=s,this.logger=o,this.readyEvent=new i.g,this.events=new i.s,this.events=Object(i.q)(this.readyEvent,this.deviceEventHandler.events,this.sdkInputEventHandler.events)}start(){this.readyEvent.next({event:"ready",version:null,jabraDirectInstalled:!1}),this.readyEvent.complete(),this.scanner.getPairedDevices(),this.scanner.setupListeners()}sendMessage(e){var t;null===(t=this.sdkInputEventHandler)||void 0===t||t.onNewSdkInput(e)}}function E(e){if("undefined"==typeof window)throw new i.d("WebHID is not supported outside of a browser environment.",i.b.INIT_ERROR);if(void 0===window.navigator||void 0===window.navigator.hid)throw new i.d("WebHID is not supported on this platform/browser.",i.b.INIT_ERROR);if(void 0===window.navigator.locks)throw new i.d("WebLocks is not supported on this platform/browser.",i.b.INIT_ERROR);const t=window.navigator.hid,s=window.navigator.locks,o=new BroadcastChannel(i.t.PAIRING_CHANNEL),r=new R(t,o),a=new n(r),c=new f(a),u=new b(a,new I(s,a,e));return new U(r,c,u,e)}}}]);
|
|
2
2
|
//# sourceMappingURL=2.softhphone-vendor-headsets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://SoftphoneVendorHeadsets/./node_modules/@gnaudio/jabra-js/browser-esm/init-handler-8a0a1ce2.js"],"names":["y","e","t","s","m","a","u","i","pipe","subscribe","L","D","this","devices","Map","deviceInputSubscriptions","onHidInput","onGetFeatureReportResponse","deviceAdded","deviceRemoved","has","id","set","inputHandler","inputReports","usagePageFromRaw","usage","usageFromRaw","value","next","get","delete","unsubscribe","o","r","rawUsageFrom","outputHandler","sendOutputUsage","featureHandler","setFeatureUsage","n","getFeatureUsage","F","device","inputReportDescriptors","forEach","usages","oninputreport","currentTarget","reportId","BitView","data","buffer","bigEndian","Array","from","entries","makeWebHidInputReport","bind","filter","compareReportToCachedValue","offset","size","push","getBits","Math","min","onInput","UsageReport","length","some","C","report","fullReportSize","ceil","reportSizeInBits","bitView","reportSizeInBytes","ArrayBuffer","toString","padStart","UNEXPECTED_ERROR","getUsageInformationOrThrow","createBitViewIfNeeded","absolute","byteLength","Uint8Array","setBits","O","outputReports","outputUsages","outputCacheByReportId","getReportIdForUsage","getReportLayoutForReportId","getOrCreateCacheForReportId","getUsageInReportForUsage","onOutput","writeUsage","sendReport","S","M","P","rangeIndex","name","A","buildReportLayouts","collections","inputUsages","buildUsageMap","featureReports","featureUsages","reportsOfType","items","isRange","usageMinimum","usageMaximum","isArray","reportSize","isAbsolute","reportCount","children","N","receiveFeatureReport","getUint8","sendFeatureReport","T","vid","pid","sessionId","x","hid","broadcastChannel","deviceAddedSubject","deviceRemovedSubject","onconnect","onConnect","ondisconnect","onDisconnect","onmessage","getPairedDevices","hasGeneratedDeviceId","getOrGenerateDeviceId","productName","vendorId","productId","opened","open","setTimeout","addNewDevice","getDevices","B","usagePage","valueType","reportType","H","deviceManagement","events","setupDeviceHandler","event","serialNumber","descriptor","generateDescriptors","deviceId","token","convertReportLayoutsToDescriptors","concat","z","callLockManagement","logger","gnpLockAcquired","callLockAcquired","softphoneInFocus","action","ERROR","NATIVE_CONSOLE","tryAcquireCallLock","then","acquired","releaseCallLock","infocus","complete","_","navigatorLocks","releaseGlobalLock","localLockedDevices","Set","checkWebLocksSupport","add","Promise","request","ifAvailable","resolve","query","catch","WARNING","Boolean","G","scanner","deviceEventHandler","sdkInputEventHandler","readyEvent","version","jabraDirectInstalled","setupListeners","onNewSdkInput","q","window","INIT_ERROR","navigator","locks","BroadcastChannel","PAIRING_CHANNEL"],"mappings":"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","file":"2.softhphone-vendor-headsets.js","sourcesContent":["import{o as e,O as t,n as s,m as i,c as o,t as r,a as n,b as a,d as u,S as c,W as d,_ as h,e as p,f as l,I as g,J as v,E as R,u as f,g as w,l as b,h as I,L as U,i as E,j as k}from\"./index-697967ac.js\";function m(a,u){return u?function(i){return o(u.pipe(r(1),e((function(e,i){e.subscribe(new t(i,s))}))),i.pipe(m(a)))}:n((function(e,t){return a(e,t).pipe(r(1),function(e){return i((function(){return e}))}(e))}))}function y(e,t){void 0===t&&(t=u);var s=a(e,t);return m((function(){return s}))}class L{static rawUsageFrom(e,t){return(e<<16|t)>>>0}static usagePageFromRaw(e){return e>>>16}static usageFromRaw(e){return e<<16>>>16}}class D{constructor(e){this.devices=new Map,this.deviceInputSubscriptions=new Map,this.onHidInput=new c,this.onGetFeatureReportResponse=new c;const t=new c;this.deviceAdded=t;const s=new c;this.deviceRemoved=s,e.deviceAdded.subscribe((e=>{if(!this.devices.has(e.id)){this.devices.set(e.id,e);const s=e.inputHandler.inputReports.pipe(i((t=>new d(e.id,L.usagePageFromRaw(t.usage),L.usageFromRaw(t.usage),t.value)))).subscribe((e=>this.onHidInput.next(e)));this.deviceInputSubscriptions.set(e.id,s),t.next(e)}})),e.deviceRemoved.subscribe((e=>{var t;const i=this.devices.get(e);i&&(this.devices.delete(e),null===(t=this.deviceInputSubscriptions.get(e))||void 0===t||t.unsubscribe(),this.deviceInputSubscriptions.delete(e),s.next(i))}))}sendOutputUsage(e,t,s,i){var o;const r=L.rawUsageFrom(t,s);null===(o=this.devices.get(e))||void 0===o||o.outputHandler.sendOutputUsage(r,i)}setFeatureUsage(e,t,s,i){var o;const r=L.rawUsageFrom(t,s);null===(o=this.devices.get(e))||void 0===o||o.featureHandler.setFeatureUsage(r,i)}getFeatureUsage(e,t,s,i){var o;return h(this,void 0,void 0,(function*(){const r=L.rawUsageFrom(s,i),n=yield null===(o=this.devices.get(e))||void 0===o?void 0:o.featureHandler.getFeatureUsage(r);void 0!==n&&this.onGetFeatureReportResponse.next(new p(t,n))}))}}class F{constructor(e,t){this.device=e,this.inputReportDescriptors=t;const s=new Map;this.inputReportDescriptors.forEach((e=>{e.usages.forEach(((e,t)=>{s.set(t,[0])}))}));const i=new c;this.inputReports=i,this.device.oninputreport=e=>{if(e.currentTarget!==this.device)return;const t=this.inputReportDescriptors.get(e.reportId);if(!t)return;const o=new l.BitView(e.data.buffer);o.bigEndian=!1;Array.from(t.usages.entries(),F.makeWebHidInputReport.bind(this,o)).filter((e=>F.compareReportToCachedValue(e,s))).forEach((e=>{s.set(e.usage,e.value),i.next(e)}))}}static makeWebHidInputReport(e,[t,s]){let i=s.offset,o=s.size,r=[];for(;o>0;)r.push(e.getBits(i,Math.min(o,8))),i+=8,o-=8;return r=s.onInput(r),new g.UsageReport(t,r)}static compareReportToCachedValue(e,t){const s=t.get(e.usage);if(!s)return!0;if(s.length!==e.value.length)return!0;return s.some(((t,s)=>e.value[s]!==t))}}class C{constructor(e){this.report=e}reportSizeInBits(){return this.report.fullReportSize}reportSizeInBytes(){return Math.ceil(this.reportSizeInBits()/8)}createBitViewIfNeeded(){if(!this.bitView){const e=this.reportSizeInBytes(),t=new ArrayBuffer(e);this.bitView=new l.BitView(t),this.bitView.bigEndian=!1}return this.bitView}getUsageInformationOrThrow(e){if(!this.report.usages.has(e))throw new v(`Unable to write usage (0x${e.toString(16).padStart(8,\"0\")}). It is not known by the device.`,R.UNEXPECTED_ERROR);return this.report.usages.get(e)}writeUsage(e,t){const s=this.getUsageInformationOrThrow(e);let i=this.createBitViewIfNeeded();if(!s.absolute){const e=function(e){const t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(new Uint8Array(e)),t}(i.buffer);i=new l.BitView(e)}let o=s.offset,r=s.size;return t.forEach((e=>{i.setBits(o,e,r),o+=8,r-=8})),i.buffer}}class O{constructor(e,t,s){this.device=e,this.outputReports=t,this.outputUsages=s,this.outputCacheByReportId=new Map}getReportIdForUsage(e){if(!this.outputUsages.has(e))throw new v(`Unknown usagePage: 0x${e.toString(16).padStart(8,\"0\")}.`,R.UNEXPECTED_ERROR);return this.outputUsages.get(e)}getReportLayoutForReportId(e){if(!this.outputReports.has(e))throw new v(`Unknown reportId: ${e}.`,R.UNEXPECTED_ERROR);return this.outputReports.get(e)}getUsageInReportForUsage(e){const t=this.getReportIdForUsage(e),s=this.getReportLayoutForReportId(t);if(!s.usages.has(e))throw new v(`Unknown rawUsage inside ReportLayout: ${e}.`,R.UNEXPECTED_ERROR);return s.usages.get(e)}getOrCreateCacheForReportId(e){if(!this.outputCacheByReportId.has(e)){const t=this.getReportLayoutForReportId(e),s=new C(t);this.outputCacheByReportId.set(e,s)}return this.outputCacheByReportId.get(e)}sendOutputUsage(e,t){return h(this,void 0,void 0,(function*(){const s=this.getReportIdForUsage(e),i=this.getOrCreateCacheForReportId(s),o=this.getUsageInReportForUsage(e).onOutput(t),r=i.writeUsage(e,o);yield this.device.sendReport(s,r)}))}}class S{constructor(e=new Map,t=0){this.usages=e,this.fullReportSize=t}}class M{constructor(e,t,s){this.offset=e,this.size=t,this.absolute=s}onInput(e){return e}onOutput(e){return e}}class P{constructor(e,t,s,i){this.offset=e,this.size=t,this.absolute=s,this.rangeIndex=i}onInput(e){if(e.length>1)throw new v(`Usages of type ${P.name} should not hold more than 1 byte of information.`,R.UNEXPECTED_ERROR);return e[0]===this.rangeIndex?[1]:[0]}onOutput(e){if(e.length>1)throw new v(`Usages of type ${P.name} should not hold more than 1 byte of information.`,R.UNEXPECTED_ERROR);return e[0]>0?[this.rangeIndex]:e}}class A{constructor(e){const t=new Map;this.buildReportLayouts(e.collections,\"input\",t),this.inputReports=t,this.inputUsages=A.buildUsageMap(t);const s=new Map;this.buildReportLayouts(e.collections,\"output\",s),this.outputReports=s,this.outputUsages=A.buildUsageMap(s);const i=new Map;this.buildReportLayouts(e.collections,\"feature\",i),this.featureReports=i,this.featureUsages=A.buildUsageMap(i)}static buildUsageMap(e){const t=new Map;return e.forEach(((e,s)=>{e.usages.forEach(((e,i)=>{t.set(i,s)}))})),t}buildReportLayouts(e,t,s){e.forEach((e=>{var i;null===(i=A.reportsOfType(e,t))||void 0===i||i.forEach((e=>{var t;const i=e.reportId;s.has(i)||s.set(i,new S);const o=s.get(i);let r=0;null===(t=e.items)||void 0===t||t.forEach((e=>{let t=e.usages;if(e.isRange){t=[];for(let s=e.usageMinimum;s<=e.usageMaximum;s+=1)t.push(s)}let s,i=r;if(e.isRange&&e.isArray&&(s=1),t.length>0){if(t.filter((e=>o.usages.has(e))).length===t.length)return}t.forEach((t=>{let r;r=s?new P(i,e.reportSize,e.isAbsolute,s):new M(i,e.reportSize,e.isAbsolute),o.usages.set(t,r),s?s+=1:i+=e.reportSize}));const n=e.reportCount*e.reportSize;o.fullReportSize+=n,r+=n}))})),e.children&&this.buildReportLayouts(e.children,t,s)}))}static reportsOfType(e,t){if(\"input\"===t)return e.inputReports;if(\"output\"===t)return e.outputReports;if(\"feature\"===t)return e.featureReports;throw new v(`Unexpected report type: ${t}!`,R.UNEXPECTED_ERROR)}}class N{constructor(e,t,s){this.device=e,this.featureReports=t,this.featureUsages=s,this.outputCacheByReportId=new Map}getReportIdForUsage(e){if(!this.featureUsages.has(e))throw new v(`Unknown usagePage: 0x${e.toString(16).padStart(8,\"0\")}.`,R.UNEXPECTED_ERROR);return this.featureUsages.get(e)}getReportLayoutForReportId(e){if(!this.featureReports.has(e))throw new v(`Unknown reportId: ${e}.`,R.UNEXPECTED_ERROR);return this.featureReports.get(e)}getUsageInReportForUsage(e){const t=this.getReportIdForUsage(e),s=this.getReportLayoutForReportId(t);if(!s.usages.has(e))throw new v(`Unknown rawUsage inside ReportLayout: ${e}.`,R.UNEXPECTED_ERROR);return s.usages.get(e)}getOrCreateCacheForReportId(e){if(!this.outputCacheByReportId.has(e)){const t=this.getReportLayoutForReportId(e),s=new C(t);this.outputCacheByReportId.set(e,s)}return this.outputCacheByReportId.get(e)}getFeatureUsage(e){return h(this,void 0,void 0,(function*(){const t=this.getReportIdForUsage(e),s=yield this.device.receiveFeatureReport(t),i=this.getUsageInReportForUsage(e),o=[];for(let e=1;e<=Math.ceil(i.size/8);e+=1)o.push(s.getUint8(e));return o}))}setFeatureUsage(e,t){return h(this,void 0,void 0,(function*(){const s=this.getReportIdForUsage(e),i=this.getOrCreateCacheForReportId(s),o=this.getUsageInReportForUsage(e).onOutput(t),r=i.writeUsage(e,o);yield this.device.sendFeatureReport(s,r)}))}}class T{constructor(e,t,s,i){this.name=e,this.vid=t,this.pid=s,this.id=i.sessionId;const o=new A(i);this.inputReports=o.inputReports,this.outputReports=o.outputReports,this.featureReports=o.featureReports,this.inputHandler=new F(i,o.inputReports),this.outputHandler=new O(i,o.outputReports,o.outputUsages),this.featureHandler=new N(i,o.featureReports,o.featureUsages)}}class x{constructor(e,t){this.hid=e,this.broadcastChannel=t,this.deviceAddedSubject=new c,this.deviceAdded=this.deviceAddedSubject,this.deviceRemovedSubject=new c,this.deviceRemoved=this.deviceRemovedSubject}setupListeners(){this.hid.onconnect=e=>this.onConnect(e),this.hid.ondisconnect=e=>this.onDisconnect(e),this.broadcastChannel.onmessage=()=>this.getPairedDevices()}addNewDevice(e){return h(this,void 0,void 0,(function*(){if(x.hasGeneratedDeviceId(e))return;x.getOrGenerateDeviceId(e);const t=new T(e.productName,e.vendorId,e.productId,e);e.opened||(yield e.open()),this.deviceAddedSubject.next(t)}))}onConnect(e){return h(this,void 0,void 0,(function*(){setTimeout((()=>h(this,void 0,void 0,(function*(){yield this.addNewDevice(e.device)}))),1e3)}))}onDisconnect(e){const t=x.getOrGenerateDeviceId(e.device);this.deviceRemovedSubject.next(t)}getPairedDevices(){return h(this,void 0,void 0,(function*(){(yield this.hid.getDevices()).forEach((e=>h(this,void 0,void 0,(function*(){yield this.addNewDevice(e)}))))}))}static hasGeneratedDeviceId(e){return void 0!==e.sessionId}static getOrGenerateDeviceId(e){if(!x.hasGeneratedDeviceId(e)){const t=new f(4).toString();return e.sessionId=t,t}return e.sessionId}}class B{constructor(e,t,s,i,o){this.usagePage=e,this.usage=t,this.valueType=s,this.reportType=i,this.reportSize=o}}class H{constructor(e){this.deviceManagement=e,this.events=new c,this.setupDeviceHandler()}setupDeviceHandler(){this.deviceManagement.deviceAdded.subscribe((e=>{this.events.next({event:\"attach\",id:e.id,vid:e.vid,pid:e.pid,name:e.name,serialNumber:e.id,descriptor:H.generateDescriptors(e)})})),this.deviceManagement.deviceRemoved.subscribe((e=>{this.events.next({event:\"detach\",id:e.id})})),this.deviceManagement.onHidInput.subscribe((e=>{const t=1===e.value.length?e.value[0]:e.value;this.events.next({event:\"hid-input\",id:e.deviceId,usagePage:e.usagePage,usage:e.usage,value:t})})),this.deviceManagement.onGetFeatureReportResponse.subscribe((e=>{const t=1===e.value.length?e.value[0]:e.value;this.events.next({event:\"response-hid-feature\",token:e.token,value:t})}))}static generateDescriptors(e){let t=H.convertReportLayoutsToDescriptors(e.inputReports,\"input\");return t=t.concat(H.convertReportLayoutsToDescriptors(e.outputReports,\"output\")),t=t.concat(H.convertReportLayoutsToDescriptors(e.featureReports,\"feature\")),t}static convertReportLayoutsToDescriptors(e,t){const s=[];return e.forEach((e=>{e.usages.forEach(((e,i)=>{const o=L.usagePageFromRaw(i);65280===o&&\"output\"===t||s.push(new B(o,L.usageFromRaw(i),e.absolute?\"absolute\":\"relative\",t,Math.ceil(e.size/8)))}))})),s}}class z{constructor(e,t,s){this.deviceManagement=e,this.callLockManagement=t,this.logger=s,this.gnpLockAcquired=new c,this.callLockAcquired=new c,this.softphoneInFocus=new c,this.events=w(this.gnpLockAcquired.pipe(y(0)),this.callLockAcquired.pipe(y(0)),this.softphoneInFocus)}onNewSdkInput(e){if(!e.action)throw new v(\"Provided input has no action property.\",R.UNEXPECTED_ERROR);switch(e.action){case\"hid-output\":{const t=Array.isArray(e.value)?e.value:[e.value];this.deviceManagement.sendOutputUsage(e.id,e.usagePage,e.usage,t);break}case\"request-hid-feature\":this.deviceManagement.getFeatureUsage(e.id,e.token,e.usagePage,e.usage);break;case\"set-hid-feature\":{const t=Array.isArray(e.value)?e.value:[e.value];this.deviceManagement.setFeatureUsage(e.id,e.usagePage,e.usage,t);break}case\"request-gnp-lock\":this.gnpLockAcquired.next({event:\"response-gnp-lock\",token:e.token}),b(\"GNP lock requested with WebHID backend. This should not happen!\",this.logger,U.ERROR,I.NATIVE_CONSOLE);break;case\"release-gnp-lock\":break;case\"request-call-lock\":this.callLockManagement.tryAcquireCallLock(e.id).then((t=>{this.callLockAcquired.next({event:\"response-call-lock\",id:e.id,acquired:t})}));break;case\"release-call-lock\":this.callLockManagement.releaseCallLock(e.id);break;case\"set-softphone-info\":this.softphoneInFocus.next({event:\"softphone-in-focus\",infocus:!1}),this.softphoneInFocus.complete();break;default:throw new v(`Provided action is not recognized - ${e.action}.`,R.UNEXPECTED_ERROR)}}}class _{constructor(e,t,s){this.navigatorLocks=e,this.logger=s,this.releaseGlobalLock=null,this.localLockedDevices=new Set,t.deviceRemoved.subscribe((e=>{this.localLockedDevices.has(e.id)&&this.releaseCallLock(e.id)}))}tryAcquireCallLock(e){return h(this,void 0,void 0,(function*(){return!(yield this.checkWebLocksSupport())||(this.localLockedDevices.size>0&&!this.localLockedDevices.has(e)?(this.localLockedDevices.add(e),!0):new Promise((t=>{this.navigatorLocks.request(\"jabra-call-lock\",{ifAvailable:!0},(s=>s?(this.localLockedDevices.add(e),t(!0),new Promise((e=>{this.releaseGlobalLock=e}))):(t(!1),Promise.resolve())))})))}))}releaseCallLock(e){this.localLockedDevices.delete(e),this.releaseGlobalLock&&0===this.localLockedDevices.size&&this.releaseGlobalLock()}checkWebLocksSupport(){return h(this,void 0,void 0,(function*(){const e=yield this.navigatorLocks.query().catch((()=>{b(\"WebLocks unsupported. The cross-tab call lock is disabled.\",this.logger,U.WARNING)}));return Boolean(e)}))}}class G{constructor(e,t,s,i){this.scanner=e,this.deviceEventHandler=t,this.sdkInputEventHandler=s,this.logger=i,this.readyEvent=new c,this.events=new E,this.events=w(this.readyEvent,this.deviceEventHandler.events,this.sdkInputEventHandler.events)}start(){this.readyEvent.next({event:\"ready\",version:null,jabraDirectInstalled:!1}),this.readyEvent.complete(),this.scanner.getPairedDevices(),this.scanner.setupListeners()}sendMessage(e){var t;null===(t=this.sdkInputEventHandler)||void 0===t||t.onNewSdkInput(e)}}function q(e){if(\"undefined\"==typeof window)throw new v(\"WebHID is not supported outside of a browser environment.\",R.INIT_ERROR);if(void 0===window.navigator||void 0===window.navigator.hid)throw new v(\"WebHID is not supported on this platform/browser.\",R.INIT_ERROR);if(void 0===window.navigator.locks)throw new v(\"WebLocks is not supported on this platform/browser.\",R.INIT_ERROR);const t=window.navigator.hid,s=window.navigator.locks,i=new BroadcastChannel(k.PAIRING_CHANNEL),o=new x(t,i),r=new D(o),n=new H(r),a=new z(r,new _(s,r,e));return new G(o,n,a,e)}export{q as initHandler};\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack://SoftphoneVendorHeadsets/./node_modules/@gnaudio/jabra-js/browser-esm/init-handler-beba0bba.js"],"names":["y","e","t","s","m","a","u","i","pipe","subscribe","L","D","this","devices","Map","deviceInputSubscriptions","onHidInput","onGetFeatureReportResponse","deviceAdded","deviceRemoved","has","id","set","inputHandler","inputReports","usagePageFromRaw","usage","usageFromRaw","value","next","get","delete","unsubscribe","o","r","rawUsageFrom","outputHandler","sendOutputUsage","featureHandler","setFeatureUsage","n","getFeatureUsage","F","device","inputReportDescriptors","forEach","usages","oninputreport","currentTarget","reportId","BitView","data","buffer","bigEndian","Array","from","entries","makeWebHidInputReport","bind","filter","compareReportToCachedValue","offset","size","push","getBits","Math","min","onInput","UsageReport","length","some","C","report","fullReportSize","ceil","reportSizeInBits","bitView","reportSizeInBytes","ArrayBuffer","toString","padStart","UNEXPECTED_ERROR","getUsageInformationOrThrow","createBitViewIfNeeded","absolute","byteLength","Uint8Array","setBits","O","outputReports","outputUsages","outputCacheByReportId","getReportIdForUsage","getReportLayoutForReportId","getOrCreateCacheForReportId","getUsageInReportForUsage","onOutput","writeUsage","sendReport","S","M","P","rangeIndex","name","A","buildReportLayouts","collections","inputUsages","buildUsageMap","featureReports","featureUsages","reportsOfType","items","isRange","usageMinimum","usageMaximum","isArray","reportSize","isAbsolute","reportCount","children","N","receiveFeatureReport","getUint8","sendFeatureReport","T","vid","pid","sessionId","x","hid","broadcastChannel","deviceAddedSubject","deviceRemovedSubject","onconnect","onConnect","ondisconnect","onDisconnect","onmessage","getPairedDevices","hasGeneratedDeviceId","getOrGenerateDeviceId","productName","vendorId","productId","opened","open","setTimeout","addNewDevice","getDevices","B","usagePage","valueType","reportType","H","deviceManagement","events","setupDeviceHandler","event","serialNumber","descriptor","generateDescriptors","deviceId","token","convertReportLayoutsToDescriptors","concat","z","callLockManagement","logger","gnpLockAcquired","callLockAcquired","softphoneInFocus","action","ERROR","NATIVE_CONSOLE","tryAcquireCallLock","then","acquired","releaseCallLock","infocus","complete","_","navigatorLocks","releaseGlobalLock","localLockedDevices","Set","checkWebLocksSupport","add","Promise","request","ifAvailable","resolve","query","catch","WARNING","Boolean","G","scanner","deviceEventHandler","sdkInputEventHandler","readyEvent","version","jabraDirectInstalled","setupListeners","onNewSdkInput","q","window","INIT_ERROR","navigator","locks","BroadcastChannel","PAIRING_CHANNEL"],"mappings":"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","file":"2.softhphone-vendor-headsets.js","sourcesContent":["import{o as e,O as t,n as s,m as i,c as o,t as r,a as n,b as a,d as u,S as c,W as d,_ as h,e as p,f as l,I as g,J as v,E as R,u as f,g as w,l as b,h as I,L as U,i as E,j as k}from\"./index-923cf570.js\";function m(a,u){return u?function(i){return o(u.pipe(r(1),e((function(e,i){e.subscribe(new t(i,s))}))),i.pipe(m(a)))}:n((function(e,t){return a(e,t).pipe(r(1),function(e){return i((function(){return e}))}(e))}))}function y(e,t){void 0===t&&(t=u);var s=a(e,t);return m((function(){return s}))}class L{static rawUsageFrom(e,t){return(e<<16|t)>>>0}static usagePageFromRaw(e){return e>>>16}static usageFromRaw(e){return e<<16>>>16}}class D{constructor(e){this.devices=new Map,this.deviceInputSubscriptions=new Map,this.onHidInput=new c,this.onGetFeatureReportResponse=new c;const t=new c;this.deviceAdded=t;const s=new c;this.deviceRemoved=s,e.deviceAdded.subscribe((e=>{if(!this.devices.has(e.id)){this.devices.set(e.id,e);const s=e.inputHandler.inputReports.pipe(i((t=>new d(e.id,L.usagePageFromRaw(t.usage),L.usageFromRaw(t.usage),t.value)))).subscribe((e=>this.onHidInput.next(e)));this.deviceInputSubscriptions.set(e.id,s),t.next(e)}})),e.deviceRemoved.subscribe((e=>{var t;const i=this.devices.get(e);i&&(this.devices.delete(e),null===(t=this.deviceInputSubscriptions.get(e))||void 0===t||t.unsubscribe(),this.deviceInputSubscriptions.delete(e),s.next(i))}))}sendOutputUsage(e,t,s,i){var o;const r=L.rawUsageFrom(t,s);null===(o=this.devices.get(e))||void 0===o||o.outputHandler.sendOutputUsage(r,i)}setFeatureUsage(e,t,s,i){var o;const r=L.rawUsageFrom(t,s);null===(o=this.devices.get(e))||void 0===o||o.featureHandler.setFeatureUsage(r,i)}getFeatureUsage(e,t,s,i){var o;return h(this,void 0,void 0,(function*(){const r=L.rawUsageFrom(s,i),n=yield null===(o=this.devices.get(e))||void 0===o?void 0:o.featureHandler.getFeatureUsage(r);void 0!==n&&this.onGetFeatureReportResponse.next(new p(t,n))}))}}class F{constructor(e,t){this.device=e,this.inputReportDescriptors=t;const s=new Map;this.inputReportDescriptors.forEach((e=>{e.usages.forEach(((e,t)=>{s.set(t,[0])}))}));const i=new c;this.inputReports=i,this.device.oninputreport=e=>{if(e.currentTarget!==this.device)return;const t=this.inputReportDescriptors.get(e.reportId);if(!t)return;const o=new l.BitView(e.data.buffer);o.bigEndian=!1;Array.from(t.usages.entries(),F.makeWebHidInputReport.bind(this,o)).filter((e=>F.compareReportToCachedValue(e,s))).forEach((e=>{s.set(e.usage,e.value),i.next(e)}))}}static makeWebHidInputReport(e,[t,s]){let i=s.offset,o=s.size,r=[];for(;o>0;)r.push(e.getBits(i,Math.min(o,8))),i+=8,o-=8;return r=s.onInput(r),new g.UsageReport(t,r)}static compareReportToCachedValue(e,t){const s=t.get(e.usage);if(!s)return!0;if(s.length!==e.value.length)return!0;return s.some(((t,s)=>e.value[s]!==t))}}class C{constructor(e){this.report=e}reportSizeInBits(){return this.report.fullReportSize}reportSizeInBytes(){return Math.ceil(this.reportSizeInBits()/8)}createBitViewIfNeeded(){if(!this.bitView){const e=this.reportSizeInBytes(),t=new ArrayBuffer(e);this.bitView=new l.BitView(t),this.bitView.bigEndian=!1}return this.bitView}getUsageInformationOrThrow(e){if(!this.report.usages.has(e))throw new v(`Unable to write usage (0x${e.toString(16).padStart(8,\"0\")}). It is not known by the device.`,R.UNEXPECTED_ERROR);return this.report.usages.get(e)}writeUsage(e,t){const s=this.getUsageInformationOrThrow(e);let i=this.createBitViewIfNeeded();if(!s.absolute){const e=function(e){const t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(new Uint8Array(e)),t}(i.buffer);i=new l.BitView(e)}let o=s.offset,r=s.size;return t.forEach((e=>{i.setBits(o,e,r),o+=8,r-=8})),i.buffer}}class O{constructor(e,t,s){this.device=e,this.outputReports=t,this.outputUsages=s,this.outputCacheByReportId=new Map}getReportIdForUsage(e){if(!this.outputUsages.has(e))throw new v(`Unknown usagePage: 0x${e.toString(16).padStart(8,\"0\")}.`,R.UNEXPECTED_ERROR);return this.outputUsages.get(e)}getReportLayoutForReportId(e){if(!this.outputReports.has(e))throw new v(`Unknown reportId: ${e}.`,R.UNEXPECTED_ERROR);return this.outputReports.get(e)}getUsageInReportForUsage(e){const t=this.getReportIdForUsage(e),s=this.getReportLayoutForReportId(t);if(!s.usages.has(e))throw new v(`Unknown rawUsage inside ReportLayout: ${e}.`,R.UNEXPECTED_ERROR);return s.usages.get(e)}getOrCreateCacheForReportId(e){if(!this.outputCacheByReportId.has(e)){const t=this.getReportLayoutForReportId(e),s=new C(t);this.outputCacheByReportId.set(e,s)}return this.outputCacheByReportId.get(e)}sendOutputUsage(e,t){return h(this,void 0,void 0,(function*(){const s=this.getReportIdForUsage(e),i=this.getOrCreateCacheForReportId(s),o=this.getUsageInReportForUsage(e).onOutput(t),r=i.writeUsage(e,o);yield this.device.sendReport(s,r)}))}}class S{constructor(e=new Map,t=0){this.usages=e,this.fullReportSize=t}}class M{constructor(e,t,s){this.offset=e,this.size=t,this.absolute=s}onInput(e){return e}onOutput(e){return e}}class P{constructor(e,t,s,i){this.offset=e,this.size=t,this.absolute=s,this.rangeIndex=i}onInput(e){if(e.length>1)throw new v(`Usages of type ${P.name} should not hold more than 1 byte of information.`,R.UNEXPECTED_ERROR);return e[0]===this.rangeIndex?[1]:[0]}onOutput(e){if(e.length>1)throw new v(`Usages of type ${P.name} should not hold more than 1 byte of information.`,R.UNEXPECTED_ERROR);return e[0]>0?[this.rangeIndex]:e}}class A{constructor(e){const t=new Map;this.buildReportLayouts(e.collections,\"input\",t),this.inputReports=t,this.inputUsages=A.buildUsageMap(t);const s=new Map;this.buildReportLayouts(e.collections,\"output\",s),this.outputReports=s,this.outputUsages=A.buildUsageMap(s);const i=new Map;this.buildReportLayouts(e.collections,\"feature\",i),this.featureReports=i,this.featureUsages=A.buildUsageMap(i)}static buildUsageMap(e){const t=new Map;return e.forEach(((e,s)=>{e.usages.forEach(((e,i)=>{t.set(i,s)}))})),t}buildReportLayouts(e,t,s){e.forEach((e=>{var i;null===(i=A.reportsOfType(e,t))||void 0===i||i.forEach((e=>{var t;const i=e.reportId;s.has(i)||s.set(i,new S);const o=s.get(i);let r=0;null===(t=e.items)||void 0===t||t.forEach((e=>{let t=e.usages;if(e.isRange){t=[];for(let s=e.usageMinimum;s<=e.usageMaximum;s+=1)t.push(s)}let s,i=r;if(e.isRange&&e.isArray&&(s=1),t.length>0){if(t.filter((e=>o.usages.has(e))).length===t.length)return}t.forEach((t=>{let r;r=s?new P(i,e.reportSize,e.isAbsolute,s):new M(i,e.reportSize,e.isAbsolute),o.usages.set(t,r),s?s+=1:i+=e.reportSize}));const n=e.reportCount*e.reportSize;o.fullReportSize+=n,r+=n}))})),e.children&&this.buildReportLayouts(e.children,t,s)}))}static reportsOfType(e,t){if(\"input\"===t)return e.inputReports;if(\"output\"===t)return e.outputReports;if(\"feature\"===t)return e.featureReports;throw new v(`Unexpected report type: ${t}!`,R.UNEXPECTED_ERROR)}}class N{constructor(e,t,s){this.device=e,this.featureReports=t,this.featureUsages=s,this.outputCacheByReportId=new Map}getReportIdForUsage(e){if(!this.featureUsages.has(e))throw new v(`Unknown usagePage: 0x${e.toString(16).padStart(8,\"0\")}.`,R.UNEXPECTED_ERROR);return this.featureUsages.get(e)}getReportLayoutForReportId(e){if(!this.featureReports.has(e))throw new v(`Unknown reportId: ${e}.`,R.UNEXPECTED_ERROR);return this.featureReports.get(e)}getUsageInReportForUsage(e){const t=this.getReportIdForUsage(e),s=this.getReportLayoutForReportId(t);if(!s.usages.has(e))throw new v(`Unknown rawUsage inside ReportLayout: ${e}.`,R.UNEXPECTED_ERROR);return s.usages.get(e)}getOrCreateCacheForReportId(e){if(!this.outputCacheByReportId.has(e)){const t=this.getReportLayoutForReportId(e),s=new C(t);this.outputCacheByReportId.set(e,s)}return this.outputCacheByReportId.get(e)}getFeatureUsage(e){return h(this,void 0,void 0,(function*(){const t=this.getReportIdForUsage(e),s=yield this.device.receiveFeatureReport(t),i=this.getUsageInReportForUsage(e),o=[];for(let e=1;e<=Math.ceil(i.size/8);e+=1)o.push(s.getUint8(e));return o}))}setFeatureUsage(e,t){return h(this,void 0,void 0,(function*(){const s=this.getReportIdForUsage(e),i=this.getOrCreateCacheForReportId(s),o=this.getUsageInReportForUsage(e).onOutput(t),r=i.writeUsage(e,o);yield this.device.sendFeatureReport(s,r)}))}}class T{constructor(e,t,s,i){this.name=e,this.vid=t,this.pid=s,this.id=i.sessionId;const o=new A(i);this.inputReports=o.inputReports,this.outputReports=o.outputReports,this.featureReports=o.featureReports,this.inputHandler=new F(i,o.inputReports),this.outputHandler=new O(i,o.outputReports,o.outputUsages),this.featureHandler=new N(i,o.featureReports,o.featureUsages)}}class x{constructor(e,t){this.hid=e,this.broadcastChannel=t,this.deviceAddedSubject=new c,this.deviceAdded=this.deviceAddedSubject,this.deviceRemovedSubject=new c,this.deviceRemoved=this.deviceRemovedSubject}setupListeners(){this.hid.onconnect=e=>this.onConnect(e),this.hid.ondisconnect=e=>this.onDisconnect(e),this.broadcastChannel.onmessage=()=>this.getPairedDevices()}addNewDevice(e){return h(this,void 0,void 0,(function*(){if(x.hasGeneratedDeviceId(e))return;x.getOrGenerateDeviceId(e);const t=new T(e.productName,e.vendorId,e.productId,e);e.opened||(yield e.open()),this.deviceAddedSubject.next(t)}))}onConnect(e){return h(this,void 0,void 0,(function*(){setTimeout((()=>h(this,void 0,void 0,(function*(){yield this.addNewDevice(e.device)}))),1e3)}))}onDisconnect(e){const t=x.getOrGenerateDeviceId(e.device);this.deviceRemovedSubject.next(t)}getPairedDevices(){return h(this,void 0,void 0,(function*(){(yield this.hid.getDevices()).forEach((e=>h(this,void 0,void 0,(function*(){yield this.addNewDevice(e)}))))}))}static hasGeneratedDeviceId(e){return void 0!==e.sessionId}static getOrGenerateDeviceId(e){if(!x.hasGeneratedDeviceId(e)){const t=new f(4).toString();return e.sessionId=t,t}return e.sessionId}}class B{constructor(e,t,s,i,o){this.usagePage=e,this.usage=t,this.valueType=s,this.reportType=i,this.reportSize=o}}class H{constructor(e){this.deviceManagement=e,this.events=new c,this.setupDeviceHandler()}setupDeviceHandler(){this.deviceManagement.deviceAdded.subscribe((e=>{this.events.next({event:\"attach\",id:e.id,vid:e.vid,pid:e.pid,name:e.name,serialNumber:e.id,descriptor:H.generateDescriptors(e)})})),this.deviceManagement.deviceRemoved.subscribe((e=>{this.events.next({event:\"detach\",id:e.id})})),this.deviceManagement.onHidInput.subscribe((e=>{const t=1===e.value.length?e.value[0]:e.value;this.events.next({event:\"hid-input\",id:e.deviceId,usagePage:e.usagePage,usage:e.usage,value:t})})),this.deviceManagement.onGetFeatureReportResponse.subscribe((e=>{const t=1===e.value.length?e.value[0]:e.value;this.events.next({event:\"response-hid-feature\",token:e.token,value:t})}))}static generateDescriptors(e){let t=H.convertReportLayoutsToDescriptors(e.inputReports,\"input\");return t=t.concat(H.convertReportLayoutsToDescriptors(e.outputReports,\"output\")),t=t.concat(H.convertReportLayoutsToDescriptors(e.featureReports,\"feature\")),t}static convertReportLayoutsToDescriptors(e,t){const s=[];return e.forEach((e=>{e.usages.forEach(((e,i)=>{const o=L.usagePageFromRaw(i);65280===o&&\"output\"===t||s.push(new B(o,L.usageFromRaw(i),e.absolute?\"absolute\":\"relative\",t,Math.ceil(e.size/8)))}))})),s}}class z{constructor(e,t,s){this.deviceManagement=e,this.callLockManagement=t,this.logger=s,this.gnpLockAcquired=new c,this.callLockAcquired=new c,this.softphoneInFocus=new c,this.events=w(this.gnpLockAcquired.pipe(y(0)),this.callLockAcquired.pipe(y(0)),this.softphoneInFocus)}onNewSdkInput(e){if(!e.action)throw new v(\"Provided input has no action property.\",R.UNEXPECTED_ERROR);switch(e.action){case\"hid-output\":{const t=Array.isArray(e.value)?e.value:[e.value];this.deviceManagement.sendOutputUsage(e.id,e.usagePage,e.usage,t);break}case\"request-hid-feature\":this.deviceManagement.getFeatureUsage(e.id,e.token,e.usagePage,e.usage);break;case\"set-hid-feature\":{const t=Array.isArray(e.value)?e.value:[e.value];this.deviceManagement.setFeatureUsage(e.id,e.usagePage,e.usage,t);break}case\"request-gnp-lock\":this.gnpLockAcquired.next({event:\"response-gnp-lock\",token:e.token}),b(\"GNP lock requested with WebHID backend. This should not happen!\",this.logger,U.ERROR,I.NATIVE_CONSOLE);break;case\"release-gnp-lock\":break;case\"request-call-lock\":this.callLockManagement.tryAcquireCallLock(e.id).then((t=>{this.callLockAcquired.next({event:\"response-call-lock\",id:e.id,acquired:t})}));break;case\"release-call-lock\":this.callLockManagement.releaseCallLock(e.id);break;case\"set-softphone-info\":this.softphoneInFocus.next({event:\"softphone-in-focus\",infocus:!1}),this.softphoneInFocus.complete();break;default:throw new v(`Provided action is not recognized - ${e.action}.`,R.UNEXPECTED_ERROR)}}}class _{constructor(e,t,s){this.navigatorLocks=e,this.logger=s,this.releaseGlobalLock=null,this.localLockedDevices=new Set,t.deviceRemoved.subscribe((e=>{this.localLockedDevices.has(e.id)&&this.releaseCallLock(e.id)}))}tryAcquireCallLock(e){return h(this,void 0,void 0,(function*(){return!(yield this.checkWebLocksSupport())||(this.localLockedDevices.size>0&&!this.localLockedDevices.has(e)?(this.localLockedDevices.add(e),!0):new Promise((t=>{this.navigatorLocks.request(\"jabra-call-lock\",{ifAvailable:!0},(s=>s?(this.localLockedDevices.add(e),t(!0),new Promise((e=>{this.releaseGlobalLock=e}))):(t(!1),Promise.resolve())))})))}))}releaseCallLock(e){this.localLockedDevices.delete(e),this.releaseGlobalLock&&0===this.localLockedDevices.size&&this.releaseGlobalLock()}checkWebLocksSupport(){return h(this,void 0,void 0,(function*(){const e=yield this.navigatorLocks.query().catch((()=>{b(\"WebLocks unsupported. The cross-tab call lock is disabled.\",this.logger,U.WARNING)}));return Boolean(e)}))}}class G{constructor(e,t,s,i){this.scanner=e,this.deviceEventHandler=t,this.sdkInputEventHandler=s,this.logger=i,this.readyEvent=new c,this.events=new E,this.events=w(this.readyEvent,this.deviceEventHandler.events,this.sdkInputEventHandler.events)}start(){this.readyEvent.next({event:\"ready\",version:null,jabraDirectInstalled:!1}),this.readyEvent.complete(),this.scanner.getPairedDevices(),this.scanner.setupListeners()}sendMessage(e){var t;null===(t=this.sdkInputEventHandler)||void 0===t||t.onNewSdkInput(e)}}function q(e){if(\"undefined\"==typeof window)throw new v(\"WebHID is not supported outside of a browser environment.\",R.INIT_ERROR);if(void 0===window.navigator||void 0===window.navigator.hid)throw new v(\"WebHID is not supported on this platform/browser.\",R.INIT_ERROR);if(void 0===window.navigator.locks)throw new v(\"WebLocks is not supported on this platform/browser.\",R.INIT_ERROR);const t=window.navigator.hid,s=window.navigator.locks,i=new BroadcastChannel(k.PAIRING_CHANNEL),o=new x(t,i),r=new D(o),n=new H(r),a=new z(r,new _(s,r,e));return new G(o,n,a,e)}export{q as initHandler};\n"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(window.webpackJsonpSoftphoneVendorHeadsets=window.webpackJsonpSoftphoneVendorHeadsets||[]).push([[3],{
|
|
1
|
+
(window.webpackJsonpSoftphoneVendorHeadsets=window.webpackJsonpSoftphoneVendorHeadsets||[]).push([[3],{20:function(e,t,n){"use strict";n.r(t),n.d(t,"WebHidTransport",(function(){return i}));var s=n(0);class i{constructor(e,t,n){this.webHidHandler=e,this.logger=t,this.recorder=n,this.events=new s.g,this.consoleAppEvent=this.events,this.webHidConnected=!1,this.context=s.h.WEB_HID}connect(){return this.webHidConnected?Promise.reject(new s.d("Already connected",s.b.UNEXPECTED_ERROR)):(this.webHidHandler.events.subscribe(e=>{var t;let n=e;this.recorder&&(n=null===(t=this.recorder)||void 0===t?void 0:t.recordInput(n)),this.events.next(n)}),this.webHidHandler.start(),this.webHidConnected=!0,Promise.resolve())}writeAction(e){var t;if(!this.webHidConnected){const e="WebHID is uninitialized.";throw Object(s.v)(e,this.logger,s.e.ERROR),new s.d(e,s.b.INIT_ERROR)}null===(t=this.recorder)||void 0===t||t.recordOutput(e),this.webHidHandler.sendMessage(e)}}}}]);
|
|
2
2
|
//# sourceMappingURL=3.softhphone-vendor-headsets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://SoftphoneVendorHeadsets/./node_modules/@gnaudio/jabra-js/browser-esm/web-hid-transport-
|
|
1
|
+
{"version":3,"sources":["webpack://SoftphoneVendorHeadsets/./node_modules/@gnaudio/jabra-js/browser-esm/web-hid-transport-58a9d844.js"],"names":["o","s","i","r","this","webHidHandler","logger","recorder","events","consoleAppEvent","webHidConnected","context","WEB_HID","Promise","reject","UNEXPECTED_ERROR","subscribe","e","t","recordInput","next","start","resolve","ERROR","INIT_ERROR","recordOutput","sendMessage"],"mappings":"uIAAA,kEAA2E,MAAMA,EAAE,YAAYC,EAAEC,EAAEC,GAAGC,KAAKC,cAAcJ,EAAEG,KAAKE,OAAOJ,EAAEE,KAAKG,SAASJ,EAAEC,KAAKI,OAAO,IAAI,IAAEJ,KAAKK,gBAAgBL,KAAKI,OAAOJ,KAAKM,iBAAgB,EAAGN,KAAKO,QAAQ,IAAEC,QAAQ,UAAU,OAAOR,KAAKM,gBAAgBG,QAAQC,OAAO,IAAI,IAAE,oBAAoB,IAAEC,oBAAoBX,KAAKC,cAAcG,OAAOQ,UAAWC,IAAI,IAAIC,EAAE,IAAIjB,EAAEgB,EAAEb,KAAKG,WAAWN,EAAE,QAAQiB,EAAEd,KAAKG,gBAAW,IAASW,OAAE,EAAOA,EAAEC,YAAYlB,IAAIG,KAAKI,OAAOY,KAAKnB,KAAMG,KAAKC,cAAcgB,QAAQjB,KAAKM,iBAAgB,EAAGG,QAAQS,WAAW,YAAYL,GAAG,IAAIC,EAAE,IAAId,KAAKM,gBAAgB,CAAC,MAAMO,EAAE,2BAA2B,MAAM,YAAEA,EAAEb,KAAKE,OAAO,IAAEiB,OAAO,IAAI,IAAEN,EAAE,IAAEO,YAAY,QAAQN,EAAEd,KAAKG,gBAAW,IAASW,GAAGA,EAAEO,aAAaR,GAAGb,KAAKC,cAAcqB,YAAYT","file":"3.softhphone-vendor-headsets.js","sourcesContent":["import{S as e,T as t,J as s,E as i,l as r,L as n}from\"./index-923cf570.js\";class o{constructor(s,i,r){this.webHidHandler=s,this.logger=i,this.recorder=r,this.events=new e,this.consoleAppEvent=this.events,this.webHidConnected=!1,this.context=t.WEB_HID}connect(){return this.webHidConnected?Promise.reject(new s(\"Already connected\",i.UNEXPECTED_ERROR)):(this.webHidHandler.events.subscribe((e=>{var t;let s=e;this.recorder&&(s=null===(t=this.recorder)||void 0===t?void 0:t.recordInput(s)),this.events.next(s)})),this.webHidHandler.start(),this.webHidConnected=!0,Promise.resolve())}writeAction(e){var t;if(!this.webHidConnected){const e=\"WebHID is uninitialized.\";throw r(e,this.logger,n.ERROR),new s(e,i.INIT_ERROR)}null===(t=this.recorder)||void 0===t||t.recordOutput(e),this.webHidHandler.sendMessage(e)}}export{o as WebHidTransport};\n"],"sourceRoot":""}
|