softphone-vendor-headsets 2.3.1-polyhp-webhid-implementation.1 → 2.3.1-polyhp-webhid-implementation.3

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.
Files changed (35) hide show
  1. package/dist/1.softhphone-vendor-headsets.js +1 -1
  2. package/dist/2.softhphone-vendor-headsets.js +1 -1
  3. package/dist/3.softhphone-vendor-headsets.js +1 -1
  4. package/dist/cjs/src/library/services/headset.d.ts +1 -1
  5. package/dist/cjs/src/library/services/headset.js +4 -4
  6. package/dist/cjs/src/library/services/headset.js.map +1 -1
  7. package/dist/cjs/src/library/services/headset.test.js +93 -93
  8. package/dist/cjs/src/library/services/headset.test.js.map +1 -1
  9. package/dist/cjs/src/library/services/vendor-implementations/polyhp/polyhp.d.ts +29 -0
  10. package/dist/cjs/src/library/services/vendor-implementations/polyhp/polyhp.js +224 -0
  11. package/dist/cjs/src/library/services/vendor-implementations/polyhp/polyhp.js.map +1 -0
  12. package/dist/cjs/src/library/services/vendor-implementations/polyhp/polyhpwebhid/PolyHPWebHIDSDK.d.ts +56 -0
  13. package/dist/cjs/src/library/services/vendor-implementations/polyhp/polyhpwebhid/PolyHPWebHIDSDK.js +522 -0
  14. package/dist/cjs/src/library/services/vendor-implementations/polyhp/polyhpwebhid/PolyHPWebHIDSDK.js.map +1 -0
  15. package/dist/cjs/src/library/services/vendor-implementations/polyhp/polyhpwebhid/index.d.ts +2 -0
  16. package/dist/cjs/src/library/services/vendor-implementations/polyhp/polyhpwebhid/index.js +6 -0
  17. package/dist/cjs/src/library/services/vendor-implementations/polyhp/polyhpwebhid/index.js.map +1 -0
  18. package/dist/deploy-info.json +110 -56
  19. package/dist/es/src/library/services/headset.d.ts +1 -1
  20. package/dist/es/src/library/services/headset.js +4 -4
  21. package/dist/es/src/library/services/headset.js.map +1 -1
  22. package/dist/es/src/library/services/headset.test.js +93 -93
  23. package/dist/es/src/library/services/headset.test.js.map +1 -1
  24. package/dist/es/src/library/services/vendor-implementations/polyhp/polyhp.d.ts +29 -0
  25. package/dist/es/src/library/services/vendor-implementations/polyhp/polyhp.js +221 -0
  26. package/dist/es/src/library/services/vendor-implementations/polyhp/polyhp.js.map +1 -0
  27. package/dist/es/src/library/services/vendor-implementations/polyhp/polyhpwebhid/PolyHPWebHIDSDK.d.ts +56 -0
  28. package/dist/es/src/library/services/vendor-implementations/polyhp/polyhpwebhid/PolyHPWebHIDSDK.js +518 -0
  29. package/dist/es/src/library/services/vendor-implementations/polyhp/polyhpwebhid/PolyHPWebHIDSDK.js.map +1 -0
  30. package/dist/es/src/library/services/vendor-implementations/polyhp/polyhpwebhid/index.d.ts +2 -0
  31. package/dist/es/src/library/services/vendor-implementations/polyhp/polyhpwebhid/index.js +3 -0
  32. package/dist/es/src/library/services/vendor-implementations/polyhp/polyhpwebhid/index.js.map +1 -0
  33. package/dist/softhphone-vendor-headsets.js +4 -4
  34. package/dist/softhphone-vendor-headsets.js.map +1 -1
  35. package/package.json +1 -1
@@ -1,2 +1,2 @@
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}))}}}}]);
1
+ (window.webpackJsonpSoftphoneVendorHeadsets=window.webpackJsonpSoftphoneVendorHeadsets||[]).push([[1],{17: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,2 +1,2 @@
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)}}}]);
1
+ (window.webpackJsonpSoftphoneVendorHeadsets=window.webpackJsonpSoftphoneVendorHeadsets||[]).push([[2],{18: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,2 +1,2 @@
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)}}}}]);
1
+ (window.webpackJsonpSoftphoneVendorHeadsets=window.webpackJsonpSoftphoneVendorHeadsets||[]).push([[3],{19: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
@@ -4,7 +4,7 @@ import { CallInfo } from '../types/call-info';
4
4
  import { ConsumedHeadsetEvents, DeviceConnectionStatus } from '../types/consumed-headset-events';
5
5
  export default class HeadsetService {
6
6
  private static instance;
7
- plantronics: VendorImplementation;
7
+ polyhp: VendorImplementation;
8
8
  jabraNative: VendorImplementation;
9
9
  jabra: VendorImplementation;
10
10
  sennheiser: VendorImplementation;
@@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const rxjs_1 = require("rxjs");
16
- const plantronics_1 = __importDefault(require("./vendor-implementations/plantronics/plantronics"));
16
+ const polyhp_1 = __importDefault(require("./vendor-implementations/polyhp/polyhp"));
17
17
  const sennheiser_1 = __importDefault(require("./vendor-implementations/sennheiser/sennheiser"));
18
18
  const jabra_1 = __importDefault(require("./vendor-implementations/jabra/jabra"));
19
19
  const jabra_native_1 = __importDefault(require("./vendor-implementations/jabra/jabra-native/jabra-native"));
@@ -26,12 +26,12 @@ class HeadsetService {
26
26
  this._headsetEvents$ = new rxjs_1.Subject();
27
27
  this.headsetEvents$ = this._headsetEvents$.asObservable();
28
28
  this.logger = config.logger || console;
29
- this.plantronics = plantronics_1.default.getInstance({ logger: this.logger, appName: config.appName });
29
+ this.polyhp = polyhp_1.default.getInstance({ logger: this.logger, appName: config.appName });
30
30
  this.jabraNative = jabra_native_1.default.getInstance({ logger: this.logger });
31
31
  this.jabra = jabra_1.default.getInstance({ logger: this.logger });
32
32
  this.sennheiser = sennheiser_1.default.getInstance({ logger: this.logger });
33
33
  this.yealink = yealink_1.default.getInstance({ logger: this.logger });
34
- [this.plantronics, this.jabra, this.jabraNative, this.sennheiser, this.yealink].forEach(implementation => this.subscribeToHeadsetEvents(implementation));
34
+ [this.polyhp, this.jabra, this.jabraNative, this.sennheiser, this.yealink].forEach(implementation => this.subscribeToHeadsetEvents(implementation));
35
35
  }
36
36
  static getInstance(config) {
37
37
  if (!HeadsetService.instance || config.createNew) {
@@ -42,7 +42,7 @@ class HeadsetService {
42
42
  get implementations() {
43
43
  const implementations = [
44
44
  this.sennheiser,
45
- this.plantronics,
45
+ this.polyhp,
46
46
  this.jabra,
47
47
  this.jabraNative,
48
48
  this.yealink
@@ -1 +1 @@
1
- {"version":3,"file":"headset.js","sourceRoot":"","sources":["../../../../../react-app/src/library/services/headset.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+BAA2C;AAE3C,mGAAkF;AAClF,gGAA+E;AAC/E,iFAAgE;AAChE,4GAA0F;AAC1F,uFAAsE;AAItE,8EAAgH;AAMhH,MAAM,WAAW,GAAG,IAAI,CAAC;AAEzB,MAAqB,cAAc;IAejC,YAAqB,MAA4B;QAJzC,8BAAyB,GAAqD,EAAE,CAAC;QAKvF,IAAI,CAAC,eAAe,GAAG,IAAI,cAAO,EAAyB,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;QAE1D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,qBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACpG,IAAI,CAAC,WAAW,GAAG,sBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,GAAG,eAAY,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,GAAG,oBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,GAAG,iBAAc,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAEnE,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC,CAAC;IAC3J,CAAC;IAED,MAAM,CAAC,WAAW,CAAE,MAA4B;QAC9C,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE;YAChD,cAAc,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;SACtD;QAED,OAAO,cAAc,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,IAAI,eAAe;QACjB,MAAM,eAAe,GAAG;YACtB,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,OAAO;SACb,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAEvC,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,gBAAgB,CAAE,KAAwB;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEnE,+EAA+E;QAC/E,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC;IAC5F,CAAC;IAEO,kBAAkB,CAAE,KAAwB;QAClD,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACnE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,eAAe,CAAE,WAAmB;QAClC,IAAI,WAAW,EAAE;YACf,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;YAC3H,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;aACxD;iBAAM,IAAI,IAAI,CAAC,sBAAsB,EAAE;gBACtC,IAAI,CAAC,2BAA2B,EAAE,CAAC;aACpC;SACF;aAAM;YACL,IAAI,CAAC,2BAA2B,EAAE,CAAC;SACpC;IACH,CAAC;IAEK,oBAAoB,CAAE,cAA2C,EAAE,WAAmB;;YAC1F,IAAI,cAAc,KAAK,IAAI,CAAC,sBAAsB,EAAE;gBAClD,OAAO;aACR;YAED,IAAI,IAAI,CAAC,sBAAsB,EAAE;gBAC/B,sDAAsD;gBACtD,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC;gBAEpC,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,CAAC;aAChD;YAED,IAAI,CAAC,sBAAsB,GAAG,cAAc,CAAC;YAE7C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uCAAa,CAAC,qBAAqB,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;YAEnG,IAAI,cAAc,EAAE;gBAClB,MAAM,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;aAC3C;QACH,CAAC;KAAA;IAEK,YAAY,CAAE,QAAkB,EAAE,mBAA6B;;YACnE,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,EAAE;gBACnB,OAAO;aACR;YAED,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG;gBACxD,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI;aACd,CAAC;YAEF,OAAO,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QACpE,CAAC;KAAA;IAEK,YAAY,CAAE,QAAkB;;YACpC,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,EAAE;gBACnB,OAAO;aACR;YAED,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG;gBACxD,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,KAAK;aACf,CAAC;YAEF,OAAO,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;KAAA;IAEK,UAAU,CAAE,cAAsB,EAAE,UAAoB;;YAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,EAAE;gBACnB,OAAO;aACR;YAED,IAAI,CAAC,UAAU,EAAE;gBACf,MAAM,uBAAuB,GAA0B;oBACrD,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,IAAI;iBACd,CAAC;gBAEF,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,EAAE;oBAC/E,OAAO,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;iBAClD;aACF;iBAAM;gBACL,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,GAAG;oBAC/C,cAAc,EAAE,cAAc;oBAC9B,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,KAAK;iBACf,CAAC;gBAEF,OAAO,cAAc,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;aAC9D;QACH,CAAC;KAAA;IAEK,UAAU,CAAE,cAAsB;;YACtC,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,EAAE;gBACnB,OAAO;aACR;YAED,MAAM,uBAAuB,GAA0B;gBACrD,OAAO,EAAE,KAAK;aACf,CAAC;YAEF,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,EAAE;gBAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;gBACpE,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gBAC/D,OAAO,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;aAClD;QACH,CAAC;KAAA;IAEK,OAAO,CAAE,KAAc;;YAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,EAAE;gBACnB,OAAO;aACR;YAED,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE;gBACpG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;gBAClG,OAAO,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACtC;QACH,CAAC;KAAA;IAEK,OAAO,CAAE,cAAsB,EAAE,KAAc;;YACnD,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,EAAE;gBACnB,OAAO;aACR;YAED,MAAM,uBAAuB,GAA0B;gBACrD,IAAI,EAAE,KAAK;aACZ,CAAC;YAEF,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,EAAE;gBAC/E,OAAO,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;aACtD;QACH,CAAC;KAAA;IAEK,OAAO,CAAE,cAAsB,EAAE,mBAA6B;;YAClE,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,EAAE;gBACnB,OAAO;aACR;YAED,MAAM,uBAAuB,GAA0B;gBACrD,OAAO,EAAE,KAAK;aACf,CAAC;YAEF,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,EAAE;gBAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;gBACpE,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gBAC/D,OAAO,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;aACpE;QACH,CAAC;KAAA;IAEK,WAAW;;YACf,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,EAAE;gBACnB,OAAO;aACR;YAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;gBACrE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;oBAC7B,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;iBAC7E;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,cAAc,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC;KAAA;IAED,eAAe,CAAE,QAAgB;QAC/B,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAChC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;SACtE;QAED,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE;gBACzF,OAAO,YAAY,CAAC;aACrB;YACD,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;SACzE;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,gBAAgB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC;QACzC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,wBAAwB,CAAE,cAAoC;QACpE,cAAc,CAAC,EAAE,CAAC,uCAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9F,cAAc,CAAC,EAAE,CAAC,uCAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9F,cAAc,CAAC,EAAE,CAAC,uCAAa,CAAC,eAAe,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxF,cAAc,CAAC,EAAE,CAAC,uCAAa,CAAC,uBAAuB,EAAE,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxG,cAAc,CAAC,EAAE,CAAC,uCAAa,CAAC,uBAAuB,EAAE,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxG,cAAc,CAAC,EAAE,CAAC,uCAAa,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnF,cAAc,CAAC,EAAE,CAAC,uCAAa,CAAC,6BAA6B,EAAE,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpH,cAAc,CAAC,EAAE,CAAC,uCAAa,CAAC,yBAAyB,EAAE,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9G,CAAC;IAEO,2BAA2B;QACjC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAChC,OAAO;SACR;QAED,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uCAAa,CAAC,qBAAqB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,mCAAmC,EAAE,CAAC;IAC7C,CAAC;IAEO,cAAc,CAAE,cAAc;QACpC,OAAO,UAAU,CAAC,GAAG,EAAE;YACrB,iFAAiF;YACjF,mGAAmG;YACnG,qEAAqE;YACrE,IAAI,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE;gBAC9D,OAAO,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;aACvD;QACH,CAAC,EAAE,WAAW,CAAC,CAAC;IAClB,CAAC;IAEO,wBAAwB,CAAE,KAA+C;QAC/E,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,sBAAsB,EAAE;YAChD,OAAO;SACR;QAED,MAAM,uBAAuB,GAA0B;YACrD,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,IAAI;SACd,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAEvG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACtD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uCAAa,CAAC,kBAAkB,EAAE,OAAO,oBAAO,KAAK,CAAC,IAAI,CAAE,EAAE,CAAC,CAAC;IACrG,CAAC;IAEO,wBAAwB,CAAE,KAA+C;QAC/E,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,sBAAsB,EAAE;YAChD,OAAO;SACR;QAED,MAAM,uBAAuB,GAA0B;YACrD,OAAO,EAAE,KAAK;SACf,CAAC;QACF,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;QACjD,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,EAAE;YAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;YACpE,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;SAChE;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACtD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uCAAa,CAAC,kBAAkB,EAAE,OAAO,oBAAO,KAAK,CAAC,IAAI,CAAE,EAAE,CAAC,CAAC;IACrG,CAAC;IAEO,qBAAqB,CAAE,KAA+C;QAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAEnD,MAAM,uBAAuB,GAA0B;YACrD,OAAO,EAAE,KAAK;SACf,CAAC;QAEF,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;QAEjD,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,EAAE;YAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;YACpE,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;SAChE;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uCAAa,CAAC,eAAe,EAAE,OAAO,oBAAO,KAAK,CAAC,IAAI,CAAE,EAAE,CAAC,CAAC;IAClG,CAAC;IAEO,6BAA6B,CAAE,KAAkC;QACvE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9E,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACjH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAChH;QACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uCAAa,CAAC,uBAAuB,EAAE,OAAO,oBAAO,KAAK,CAAC,IAAI,CAAE,EAAE,CAAC,CAAC;IAC1G,CAAC;IAEO,6BAA6B,CAAE,KAAiC;QACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAElF,MAAM,uBAAuB,GAA0B;YACrD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa;SAC/B,CAAC;QACF,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;QACjD,IAAI,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAE5E,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uCAAa,CAAC,uBAAuB,EAAE,OAAO,oBAAO,KAAK,CAAC,IAAI,CAAE,EAAE,CAAC,CAAC;IAC1G,CAAC;IAEO,mCAAmC;QACzC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uCAAa,CAAC,6BAA6B,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACtH,CAAC;IAEO,+BAA+B,CAAE,KAA2C;QAClF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uCAAa,CAAC,yBAAyB,EAAE,OAAO,oBAAO,KAAK,CAAC,IAAI,CAAE,EAAE,CAAC,CAAC;IAC5G,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAE,SAA2B;QACnD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uCAAa,CAAC,aAAa,EAAE,OAAO,oBAAO,SAAS,CAAC,IAAI,CAAE,EAAE,CAAC,CAAC;IACpG,CAAC;CACF;AAhYD,iCAgYC"}
1
+ {"version":3,"file":"headset.js","sourceRoot":"","sources":["../../../../../react-app/src/library/services/headset.ts"],"names":[],"mappings":"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"}