softphone-vendor-headsets 2.5.5-develop.61 → 2.5.5-webpack-test.2

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"softhphone-vendor-headsets.min.js","mappings":"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","sources":["webpack://SoftphoneVendorHeadsets/webpack/universalModuleDefinition","webpack://SoftphoneVendorHeadsets/./node_modules/tslib/tslib.es6.mjs","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isFunction.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/Subscription.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/config.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/noop.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/NotificationFactories.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/errorContext.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/Subscriber.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/symbol/observable.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/identity.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/Observable.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/pipe.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/Subject.js","webpack://SoftphoneVendorHeadsets/./react-app/src/library/utils.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/CyberAcoustics/CyberAcoustics.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/plantronics/plantronics-call-events.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/plantronics/plantronics.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/sennheiser/types.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/sennheiser/sennheiser.ts","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/EmptyError.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/firstValueFrom.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/Action.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/Scheduler.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/async.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/lift.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isPromise.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isIterable.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/timeout.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isDate.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/defaultIfEmpty.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/filter.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/observable/empty.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/throwIfEmpty.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/first.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/take.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/map.js","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/jabra/jabra.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/jabra/jabra-native/types.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/yealink/yealink.ts","webpack://SoftphoneVendorHeadsets/./node_modules/@vbet/webhid-sdk/dist/index.es.js","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/vbet/vbet.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/headset.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/vendor-implementation.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/types/consumed-headset-events.ts","webpack://SoftphoneVendorHeadsets/./react-app/node_modules/browserama/out/browserama.min.js","webpack://SoftphoneVendorHeadsets/./react-app/node_modules/events/events.js","webpack://SoftphoneVendorHeadsets/./react-app/node_modules/fetch-jsonp/build/fetch-jsonp.js","webpack://SoftphoneVendorHeadsets/external umd \"@gnaudio/jabra-js\"","webpack://SoftphoneVendorHeadsets/webpack/bootstrap","webpack://SoftphoneVendorHeadsets/webpack/runtime/compat get default export","webpack://SoftphoneVendorHeadsets/webpack/runtime/define property getters","webpack://SoftphoneVendorHeadsets/webpack/runtime/hasOwnProperty shorthand","webpack://SoftphoneVendorHeadsets/webpack/runtime/make namespace object","webpack://SoftphoneVendorHeadsets/./react-app/src/library/index.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@gnaudio/jabra-js\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@gnaudio/jabra-js\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"SoftphoneVendorHeadsets\"] = factory(require(\"@gnaudio/jabra-js\"));\n\telse\n\t\troot[\"SoftphoneVendorHeadsets\"] = factory(root[\"@gnaudio/jabra-js\"]);\n})(self, (__WEBPACK_EXTERNAL_MODULE__690__) => {\nreturn ","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","export var COMPLETE_NOTIFICATION = (function () { return createNotification('C', undefined, undefined); })();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind: kind,\n value: value,\n error: error,\n };\n}\n//# sourceMappingURL=NotificationFactories.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { createErrorClass } from './createErrorClass';\nexport var ObjectUnsubscribedError = createErrorClass(function (_super) {\n return function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n };\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","import { __extends, __values } from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.closed = false;\n _this.currentObservers = null;\n _this.observers = [];\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype._throwIfClosed = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n };\n Subject.prototype.next = function (value) {\n var _this = this;\n errorContext(function () {\n var e_1, _a;\n _this._throwIfClosed();\n if (!_this.isStopped) {\n if (!_this.currentObservers) {\n _this.currentObservers = Array.from(_this.observers);\n }\n try {\n for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n observer.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n });\n };\n Subject.prototype.error = function (err) {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.hasError = _this.isStopped = true;\n _this.thrownError = err;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n };\n Subject.prototype.complete = function () {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.isStopped = true;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n };\n Object.defineProperty(Subject.prototype, \"observed\", {\n get: function () {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Subject.prototype._trySubscribe = function (subscriber) {\n this._throwIfClosed();\n return _super.prototype._trySubscribe.call(this, subscriber);\n };\n Subject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n };\n Subject.prototype._innerSubscribe = function (subscriber) {\n var _this = this;\n var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(function () {\n _this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n };\n Subject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n };\n AnonymousSubject.prototype.error = function (err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n };\n AnonymousSubject.prototype.complete = function () {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map","/* istanbul ignore file */\n\nimport browserama from 'browserama';\n\nexport function isFirefox (): boolean {\n return browserama.isFireFox;\n}\n\n/**\n *\n * @param promise\n * @param timeoutInMillis\n *\n * Returns a promise that resolves if the passed in promise resolves before the timeout\n * time elapses. If the timeout elapses, then the returned promise rejects with a\n * message that the timeout time was exceeded.\n */\nexport function timedPromise (\n promise: Promise<any>,\n timeoutInMillis: number,\n timeoutError?: Error\n): Promise<any> {\n let timeoutId;\n const timeoutPromise: Promise<any> = new Promise((resolve, reject) => {\n timeoutId = setTimeout(() => {\n clearTimeout(timeoutId);\n reject(timeoutError ? timeoutError : 'Timed out in ' + timeoutInMillis + 'ms');\n }, timeoutInMillis);\n }).then(result => {\n clearTimeout(timeoutId);\n return result;\n });\n\n return Promise.race([promise, timeoutPromise]);\n}\n\nexport function debounce (func: () => void, delay: number): any {\n let timer = null;\n\n return function () {\n clearTimeout(timer);\n\n timer = setTimeout(function () {\n func();\n }, delay);\n };\n}\n\nexport function isCefHosted (): boolean {\n return !!(window as any)._HostedContextFunctions;\n}\n\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nexport function requestCefPromise (cmd: any): Promise<any> {\n/* eslint-enable */\n return new Promise((resolve, reject) => {\n try {\n const sCmd = JSON.stringify(cmd);\n (window as any).cefQuery({\n request: sCmd,\n persistent: false,\n onSuccess: response => {\n try {\n const obj = JSON.parse(response);\n resolve(obj);\n } catch (e) {\n resolve({});\n }\n },\n onFailure: response => {\n reject(response);\n }\n });\n } catch (e) {\n console.error('Error requesting desktop promise', e);\n reject(e);\n }\n });\n}\n","import { VendorImplementation, ImplementationConfig } from \"../vendor-implementation\";\nimport { CallInfo } from '../../..';\nimport DeviceInfo, { PartialHIDDevice } from \"../../../types/device-info\";\nimport { PartialInputReportEvent } from '../../../types/consumed-headset-events';\nimport { isCefHosted } from \"../../../utils\";\n\n\nlet hookswFlag = 0x01;\nlet micMuteFlag = 0x04;\nconst ringFlag = 0x08;\n\nconst defaultFlagSupport = 0x0F;\nconst muteButtonToggle = 0x13;\n\n// JLChip support\nconst JLmuteButtonToggle = 0x0203;\nconst JLFlagSupport = 0x0240;\nconst JLMicMuteFlag = 0x40;\nconst JLhookswFlag = 0x0200;\n\n// call states\nconst CALL_IDLE = 'callIdle';\nconst CALL_INCOMING = 'callIncoming';\nconst CALL_ANSWERING = 'callAnswering';\nconst CALL_REJECTING = 'callRejecting';\nconst CALL_ACTIVE = 'callActive';\nconst CALL_END = 'callEnd';\nconst CALL_OUTGOING = 'callOutgoing';\n\n// CAStateEvents\nconst ca_st_event_hooksw_on = 0;\nconst ca_st_event_answerConfirm = 1;\nconst ca_st_event_incomingCall = 2;\nconst ca_st_event_callEnd = 3;\nconst ca_st_event_hooksw_off = 5;\nconst ca_st_event_busy = 6;\nconst ca_st_event_call_answer = 7;\nconst ca_st_event_outgoingCall = 8;\n\n// CADeviceEvents\nconst ca_dev_event_hooksw_on = 0x01;\nconst ca_dev_event_hooksw_off = 0x00;\nconst ca_dev_event_busy = 0x02;\nconst ca_dev_event_ans_confirm = 0x02;\n\nconst PHONE_USAGE = 0x0001;\nconst HEADSET_USAGE = 0x0005;\nconst HEADSET_USAGE_PAGE = 0x000B;\n\nexport default class CyberAcousticsService extends VendorImplementation {\n private static instance: CyberAcousticsService;\n\n vendorName = 'CyberAcoustics';\n private activeConversationId: string;\n private _deviceInfo: DeviceInfo = null;\n activeDevice: any;\n\n private numDeviceEventListeners = 0;\n\n private currentProductID = null;\n private headsetOutputReportId = 3;\n private headsetInputReportId = 3;\n private vendorInputReportId = 4;\n\n private currentState = 0x00;\n private isHolding = false;\n private currentlDeviceLabel: string;\n\n private currentCallInfo: CallInfo;\n protected currentCallState = CALL_IDLE;\n private deviceStatus = 0;\n\n protected gCmdBuf = new Uint8Array( [0x00, 0x00]);\n\n private inputReportReportId = 0x03;\n private outputReportReportId = 0x03;\n\n private JLCommandSet = false;\n private callControlSuport = true;\n\n private flagSupport = defaultFlagSupport;\n private handeledInputReportIds = [this.headsetInputReportId, this.vendorInputReportId];\n\n static getInstance (config: ImplementationConfig): CyberAcousticsService {\n if (!CyberAcousticsService.instance) {\n CyberAcousticsService.instance = new CyberAcousticsService(config);\n }\n return CyberAcousticsService.instance;\n }\n\n get deviceInfo (): DeviceInfo {\n return this._deviceInfo;\n }\n\n // called to check if the WebHID interface is supported\n isSupported (): boolean {\n const supported: boolean = (window.navigator as any).hid && !isCefHosted();\n return supported;\n }\n\n deviceLabelMatchesVendor (label: string): boolean {\n this.logger.debug(\"CA: matchVendor\");\n const lowerLabel = label.toLowerCase();\n\n return ['ac-104enc', 'ac-204enc', 'ac-304','foundever',\n 'ca essential', 'ca-2890'].some(searchVal => lowerLabel.includes(searchVal));\n }\n\n // Connect: Attempt to connect to the device\n async connect (originalDeviceLabel: string): Promise<void> {\n //// DEBUG CODE ////\n // uncomment to test Forgetdevice with requestWebHidPermissions\n\n // const devicesListTest = await (window.navigator as any).hid.getDevices({\n // filters: [{ vendorId: 0x3391 },],\n // });\n // if(devicesListTest.length > 0){\n // const deviceTest = devicesListTest[0];\n // deviceTest.forget();\n // }\n\n //// END DEBUG CODE ////\n\n let bConnectSuccess = false;\n this.logger.debug(\"CA: Connect Attempt\");\n\n this.currentlDeviceLabel = originalDeviceLabel;\n this.logger.debug(`CA Device String = ${originalDeviceLabel}`);\n\n if (!this.isConnecting) {\n this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });\n }\n\n // First try to see if this is a previously connected device- does not require\n // WebHID permission dialog\n const devList: PartialHIDDevice[] = await (window.navigator as any).hid.getDevices();\n this.selectDevice(devList, originalDeviceLabel);\n\n if(this.activeDevice) {\n // Open the device\n if (!this.activeDevice.opened) {\n await this.activeDevice.open();\n }\n if(this.activeDevice.opened) {\n //SUCESSFUL connection!\n bConnectSuccess = true;\n this.handleDeviceConnect();\n this.logger.debug(\"CA: Connect SUCCESS- previously connected device\");\n }\n else{\n this.logger.debug(\"CA: Connect FAIL- Failed connect to previously connected device\");\n }\n }\n\n //// DEBUG CODE uncomment to test initial connect fail\n //this.activeDevice.close();\n //bConnectSuccess = false;\n ////\n\n if(!bConnectSuccess) {\n try{\n bConnectSuccess = await new Promise((resolve, reject) => {\n const HIDPermissionTimeout = setTimeout(reject, 30000);\n this.requestWebHidPermissions(async () => {\n this.logger.debug(\"Requesting web HID permissions\");\n const productId = this.deductProductId(originalDeviceLabel);\n\n const devList = await (window.navigator as any).hid.requestDevice({\n filters: [\n {\n vendorId: 0x3391,\n //vendorId: 0x046D,\n productId: productId || undefined\n },\n ],\n });\n clearTimeout(HIDPermissionTimeout);\n const deviceFound = await this.connectFromHidPermissions(devList, originalDeviceLabel);\n if(deviceFound){\n resolve(deviceFound);\n }\n else\n {\n reject();\n }\n console.debug(`CA: requestWebHidPermissions device found = ${ deviceFound } `);\n });\n });\n } catch (error) {\n this.isConnecting && this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });\n this.logger.error('CA: WebHID permissions denied');\n return;\n }\n //\n }\n }\n /* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n async connectFromHidPermissions (devList: any, originalDeviceLabel: string): Promise<boolean>\n /* eslint-enable */\n {\n\n this.activeDevice = null;\n this.selectDevice(devList, originalDeviceLabel);\n\n if(this.activeDevice) {\n // Open the device\n if (!this.activeDevice.opened) {\n await this.activeDevice.open();\n }\n if(this.activeDevice.opened) {\n // SUCESSFUL connection!\n this.handleDeviceConnect();\n this.logger.debug(\"CA: Connect SUCCESS- from HIDWebPermission request \");\n return true;\n }\n else{\n this.logger.debug(\"CA: Connect FAIL requesting WebHID permissions\");\n return false;\n }\n }\n }\n\n // Called when the device sends an input report\n handleInputReport (event: PartialInputReportEvent): void {\n const reportID = event.reportId;\n // If reportId is not in the list, return immediately\n if (!this.handeledInputReportIds.includes(reportID)) {\n return;\n }\n\n const byte0 = event.data.getUint8(0);\n const byte1 = event.data.getUint8(1);\n\n ////this.logger.debug(`CA Received Input Report #${event.reportId}. byte0 = ${byte0}, byte1 = ${byte1}`);\n\n // Process device input\n const wordCommand = (byte1 << 8) + byte0;\n this.logger.debug(`CA received button press ${ this.formatHex(wordCommand) } reportID ${reportID} from Device`);\n this.handleDeviceButtonPress(wordCommand, reportID);\n }\n\n // called on sucessful connect to do initialization work\n async handleDeviceConnect (): Promise<void>\n {\n this._deviceInfo = {\n ProductName: this.activeDevice.productName,\n };\n\n this.handleInputReport = this.handleInputReport.bind(this);\n //\n this.activeDevice.addEventListener('inputreport', this.handleInputReport);\n this.numDeviceEventListeners++;\n console.debug(`Installed Device Input listener, num listeners = ${this.numDeviceEventListeners} `);\n if(this.numDeviceEventListeners > 1 )\n {\n this.logger.debug(`%c CA: ********************************************************`, 'color: red');\n this.logger.debug(`%c CA: *****WARNING ***** MULTIPLE EVENT LISTENERS ON DEVICE!!!`, 'color: red');\n this.logger.debug(`%c CA: ********************************************************`, 'color: red');\n }\n\n this.currentProductID = this.activeDevice.productId;\n this.logger.debug(`Product ID: 0x${this.currentProductID.toString(16)}`);\n\n this.currentCallState = CALL_IDLE;\n\n // This could potentially change with different products, but for now this is\n // constant across all products.\n this.headsetOutputReportId = this.outputReportReportId;\n this.headsetInputReportId = this.outputReportReportId;\n this.vendorInputReportId = 4;\n\n this.handeledInputReportIds = [this.headsetInputReportId, this.vendorInputReportId];\n\n\n switch(this.currentProductID )\n {\n case 0x04: // BT1500\n this.flagSupport = JLFlagSupport;\n this.JLCommandSet = true;\n\n hookswFlag = JLhookswFlag;\n micMuteFlag = JLMicMuteFlag;\n break;\n\n case 0x18 : // ac-304\n this.flagSupport = 0x05;\n break;\n\n default:\n this.flagSupport = defaultFlagSupport;\n break;\n }\n\n this.logger.debug( `flagSupport = ${ this.formatHex(this.flagSupport) } `);\n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\n }\n\n selectDevice (devList: PartialHIDDevice[], originalDeviceLabel : string): boolean {\n this.logger.debug(\"CA: SelectDevice\");\n\n const deviceLabel = originalDeviceLabel.toLowerCase();\n\n let deviceFound = false;\n devList.forEach(device => {\n if (deviceLabel.includes(device?.productName?.toLowerCase())) {\n for (const collection of device.collections) {\n if ( (collection.usage === HEADSET_USAGE || collection.usage === PHONE_USAGE ) &&\n (collection.usagePage === HEADSET_USAGE_PAGE )) {\n this.activeDevice = device;\n deviceFound = true;\n if (collection.inputReports.length !== 0) {\n this.inputReportReportId = collection.inputReports[0].reportId;\n this.logger.debug(`CA inputReportReportId = ${this.inputReportReportId}`);\n }\n if (collection.outputReports.length !== 0) {\n this.outputReportReportId = collection.outputReports[0].reportId;\n this.logger.debug(`CA outputReportReportId = ${this.outputReportReportId}`);\n }\n break;\n }\n }\n }\n });\n return deviceFound;\n }\n\n async disconnect (): Promise<void> {\n if (this.activeDevice) {\n this.logger.debug(`CA: Disconnecting`);\n this.ChangeCallState(CALL_END);\n this.ChangeCallState(CALL_IDLE);\n\n if(this.isMuted)\n {\n this.setMute(false);\n this.deviceMuteChanged({\n isMuted: false,\n name: 'CallUnmuted'\n });\n }\n\n ////\n this.activeDevice.removeEventListener('inputreport', this.handleInputReport); \n this.numDeviceEventListeners--;\n console.debug(`Removed Device Input listener, num listeners = ${this.numDeviceEventListeners} `);\n ////\n await this.activeDevice.close();\n this.logger.debug(`CA: Device closed`);\n this.activeDevice = null;\n this._deviceInfo = null;\n\n this.currentCallState = CALL_IDLE;\n\n if (this.isConnected || this.isConnecting) {\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\n }\n }\n }\n\n async incomingCall (callInfo: CallInfo): Promise<void> {\n this.logger.debug(\"CA: incomingCall\");\n this.currentCallInfo = callInfo;\n this.activeConversationId = callInfo.conversationId;\n this.ParseStateEvents(ca_st_event_incomingCall);\n }\n\n async outgoingCall (callInfo: CallInfo): Promise<void> {\n this.logger.debug(\"CA: outgoingCall\");\n this.currentCallInfo = callInfo;\n this.activeConversationId = callInfo.conversationId;\n this.ParseStateEvents(ca_st_event_outgoingCall);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async answerCall (conversationId: string, autoAnswer?: boolean): Promise<void> {\n this.logger.debug(\"CA: Answer Call from UI\");\n this.activeConversationId = conversationId;\n if( autoAnswer)\n { // let the state machine know there is an incoming call\n this.logger.debug(\"CA: AutoAnswer\");\n this.ParseStateEvents(ca_st_event_incomingCall);\n }\n\n // answer call\n this.ParseStateEvents(ca_st_event_call_answer);\n }\n\n async rejectCall (): Promise<void> {\n this.logger.debug(\"CA: rejectCall from UI\");\n this.ParseStateEvents( ca_st_event_callEnd);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async endCall (conversationId: string, hasOtherActiveCalls: boolean): Promise<void> {\n this.logger.debug(\"CA: endCall from UI\");\n this.ParseStateEvents( ca_st_event_callEnd);\n }\n\n async endAllCalls (): Promise<void> {\n this.logger.debug(\"CA: endAllCalls from UI\");\n this.ParseStateEvents( ca_st_event_callEnd);\n }\n\n async setMute (value: boolean): Promise<void> {\n this.logger.debug(`CA: setMute. Value: ${value}`);\n\n // Set the global mute state- this is how Genesys keeps track of mute state.\n this.isMuted = value;\n // set the device state\n this.UpdateDeviceStatus (micMuteFlag, value);\n }\n\n async setHold (conversationId: string, value: boolean): Promise<void> {\n this.logger.debug(`CA: setHold. Value: ${value}`);\n this.activeConversationId = conversationId;\n this.isHolding = value;\n }\n\n handleDeviceButtonPress (wordCommand: number, reportID: number): void {\n if (!this.activeDevice) {\n this.logger.error('do not have active device');\n return;\n }\n\n if(reportID === this.headsetInputReportId )\n {\n if( this.currentProductID === 0x18 ) //ac-304\n {\n\n switch (wordCommand)\n {\n\n case 0x1:\n case 0x05:\n this.isMuted = !this.isMuted;\n this.deviceMuteChanged({\n isMuted: this.isMuted,\n name: this.isMuted ? 'CallMuted' : 'CallUnmuted'\n });\n\n // Don't do this- updateDeviceStatus instead\n // this.setMute(this.isMuted);\n\n this.UpdateDeviceStatus (micMuteFlag, this.isMuted);\n this.logger.debug(`CA: AC304 Mute update micMuteFlag = ${ this.formatHex(micMuteFlag) } this.isMuted = ${this.isMuted}`);\n\n break;\n }\n return;\n\n\n // This mode of operation will be enabled in a future firmware release\n // switch (wordCommand)\n // {\n // case 0x01: this.isMuted = false; break;\n // case 0x05: this.isMuted = true; break;\n // }\n\n // this.deviceMuteChanged({\n // isMuted: this.isMuted,\n // name: this.isMuted ? 'CallMuted' : 'CallUnmuted'\n // });\n\n // // send command back to device\n // this.setMute(this.isMuted);\n\n // return;\n }\n\n switch (wordCommand)\n {\n case JLmuteButtonToggle : // 0x0203\n case muteButtonToggle: // 0x13\n this.isMuted = !this.isMuted;\n this.deviceMuteChanged({\n isMuted: this.isMuted,\n name: this.isMuted ? 'CallMuted' : 'CallUnmuted'\n });\n\n // send mute or unmute command back to device\n // this seems to help debounce button presses\n this.setMute(this.isMuted);\n\n break;\n\n // call rejected if call incoming\n case ca_dev_event_hooksw_off: //0x00\n this.ParseStateEvents(ca_st_event_hooksw_off);\n break;\n\n // Answer Incomming Call\n case ca_dev_event_hooksw_on : //0x01\n this.ParseStateEvents(ca_st_event_hooksw_on);\n break;\n\n // hang up\n case ca_dev_event_busy: //0x02\n this.ParseStateEvents(ca_st_event_busy);\n break;\n\n }\n }\n else if( reportID === this.vendorInputReportId)\n {\n switch (wordCommand)\n {\n case ca_dev_event_ans_confirm : //0x02\n this.ParseStateEvents(ca_st_event_answerConfirm);\n break;\n }\n }\n else\n {\n console.debug(`CA: Unhandeled input report #${reportID.toString(16)}`);\n }\n\n } // handleDeviceButtonPress\n\n\n // This is the main call control engine. State dependant events from the device\n // and/or the UI are handled here.\n ParseStateEvents (CAStateEvent: number): void\n {\n switch(this.currentCallState)\n {\n case CALL_IDLE:\n switch(CAStateEvent)\n {\n case ca_st_event_incomingCall:\n this.ChangeCallState(CALL_INCOMING);\n break;\n\n case ca_st_event_outgoingCall:\n this.ChangeCallState(CALL_OUTGOING);\n break;\n\n }\n break;\n\n case CALL_INCOMING:\n switch(CAStateEvent)\n {\n // pickup\n case ca_st_event_hooksw_on: // call answer from Device\n case ca_st_event_call_answer: // call answer from UI\n this.ChangeCallState(CALL_ANSWERING);\n break;\n\n // reject\n case ca_st_event_hooksw_off: // call reject from Device\n case ca_st_event_callEnd: // call reject from UI\n this.ChangeCallState(CALL_REJECTING);\n this.ChangeCallState(CALL_END);\n this.ChangeCallState(CALL_IDLE);\n break;\n }\n break;\n\n case CALL_ANSWERING:\n switch(CAStateEvent)\n {\n case ca_st_event_answerConfirm:\n this.ChangeCallState(CALL_ACTIVE);\n break;\n\n case ca_st_event_callEnd:\n case ca_st_event_hooksw_off:\n this.ChangeCallState(CALL_END);\n this.ChangeCallState(CALL_IDLE);\n break;\n }\n break;\n\n case CALL_ACTIVE:\n switch(CAStateEvent)\n {\n case ca_st_event_callEnd:\n case ca_st_event_busy:\n this.ChangeCallState(CALL_END );\n this.ChangeCallState(CALL_IDLE);\n break;\n }\n break;\n\n case CALL_OUTGOING:\n switch(CAStateEvent)\n {\n case ca_st_event_callEnd:\n case ca_st_event_busy:\n this.ChangeCallState(CALL_END );\n this.ChangeCallState(CALL_IDLE);\n break;\n }\n break;\n\n } // switch callstate\n\n }\n\n // Events handled in the previous function may change the global call state.\n // This is handeled here. Entering a new state may require work to be done- this\n // is also handled here.\n ChangeCallState (newstate: string): void\n {\n this.logger.debug(`%cCA SETTING STATE: ${newstate}`, 'color: red');\n this.currentCallState = newstate;\n switch(this.currentCallState)\n {\n case CALL_IDLE:\n this.deviceStatus = 0;\n break;\n\n case CALL_INCOMING:\n this.UpdateDeviceStatus(ringFlag, true);\n break;\n\n case CALL_OUTGOING:\n case CALL_ANSWERING:\n this.UpdateDeviceStatus(hookswFlag, true);\n // if call answered muted, unmute\n if(this.isMuted)\n {\n this.setMute(false);\n this.deviceMuteChanged({\n isMuted: false,\n name: 'CallUnmuted'\n });\n }\n break;\n\n case CALL_ACTIVE:\n this.UpdateDeviceStatus(ringFlag, false);\n\n this.deviceAnsweredCall({ name: 'CallOffHook', conversationId: this.activeConversationId });\n break;\n\n case CALL_END:\n this.UpdateDeviceStatus(hookswFlag, false);\n this.deviceEndedCall({ name: 'CallOnHook', conversationId: this.activeConversationId });\n break;\n\n case CALL_REJECTING:\n this.UpdateDeviceStatus(ringFlag, false);\n this.deviceRejectedCall({ name: 'CallRejected', conversationId: this.activeConversationId });\n break;\n }\n }\n\n // This will set/clear bits in the hardware as needed.\n UpdateDeviceStatus (flag: number, value: boolean): void\n {\n if(!(flag & this.flagSupport)) {\n console.debug(`CA: UpdateDeviceStatus called with unsupported flag ${flag.toString(16)}... returning`);\n return;\n }\n\n this.deviceStatus = value ? this.deviceStatus | flag : this.deviceStatus & ~flag;\n this.SendCommandToDevice(this.deviceStatus);\n }\n\n // ResetDeviceStatus ()\n // {\n // this.deviceStatus = 0x0000;\n // this.SendCommandToDevice(this.deviceStatus);\n // }\n\n // sends output report to device\n async SendCommandToDevice ( value: number): Promise<void> {\n if(this.JLCommandSet)\n {\n\n this.gCmdBuf[0] = value >> 8;\n this.gCmdBuf[1] = value & 0x00ff;\n\n }\n else\n {\n this.gCmdBuf[0] = value;\n }\n ////this.logger.debug(`CA: Command assembled: ${this.gCmdBuf[0].toString(16)}, ${this.gCmdBuf[1].toString(16)} `);\n ////this.logger.debug(`CA: reportID ${this.headsetOutputReportId.toString(16)} `);\n await this.activeDevice.sendReport(this.headsetOutputReportId, this.gCmdBuf );\n this.logger.debug(`CA: Sent Command to Device. Value: ${ this.formatHex(this.gCmdBuf[0])}, ${ this.formatHex(this.gCmdBuf[1])} `);\n\n this.gCmdBuf[0] = 0;\n this.gCmdBuf[1] = 0;\n }\n\n formatHex (value:number): string {\n return `0x${value.toString(16).padStart(2, '0')}`;\n }\n\n // Creates a mock device that is in scope for Jest tests that\n // require this.activeDevice to be valid\n async HidMockDeviceInit (): Promise<PartialHIDDevice>\n {\n const deviceLists: PartialHIDDevice[] = await (window.navigator as any).hid.getDevices();\n this.activeDevice = deviceLists[0];\n return this.activeDevice;\n }\n ////\n // Getter and Setter for currentCallState\n get _currentCallState (): string {\n return this.currentCallState;\n }\n\n set _currentCallState (s: string) {\n this.currentCallState = s;\n }\n // Getter and Setter for deviceStatus\n get _deviceStatus (): number {\n return this.deviceStatus;\n }\n\n set _deviceStatus (s: number) {\n this.deviceStatus = s;\n }\n\n // Getter for activeConversationId\n get _activeConversationId (): string {\n return this.activeConversationId;\n }\n\n // Getter for currentCallInfo\n get _currentCallInfo (): CallInfo {\n return this.currentCallInfo;\n }\n\n // Getter for isHolding\n get holdState (): boolean {\n return this.isHolding;\n }\n\n get _headsetInputReportId (): number {\n return this.headsetInputReportId;\n }\n\n get _vendorInputReportId (): number {\n return this.vendorInputReportId;\n }\n\n\n get _headsetOutputReportId (): number {\n return this.headsetOutputReportId;\n }\n\n\n get muteState (): boolean {\n return this.isMuted;\n }\n\n set muteState (s: boolean) {\n this.isMuted = s;\n }\n\n set _JLCommandSet (s: boolean) {\n this.JLCommandSet= s;\n }\n\n set _handeledInputReportIds (id: number) {\n this.handeledInputReportIds[0] = id;\n }\n\n set _flagSupport (val: number) {\n this.flagSupport = val;\n }\n\n set _currentProductID (val: number) {\n this.currentProductID = val;\n }\n\n} // End CA Vendor Implementation class\n","export enum PlantronicsCallEventCodes {\n Unknown = 0,\n AcceptCall = 1,\n TerminateCall = 2,\n HoldCall = 3,\n ResumeCall = 4,\n Flash = 5,\n CallInProgress = 6,\n CallRinging = 7,\n CallEnded = 8,\n TransferToHeadset = 9,\n TransferToSpeaker = 10,\n Mute = 11,\n Unmute = 12,\n MobileCallRinging = 13,\n MobileCallInProgress = 14,\n MobileCallEnded = 15,\n DOn = 16,\n DOff = 17,\n CallIdle = 18,\n Play = 19,\n Pause = 20,\n Stop = 21,\n DTMLKey = 22,\n RejectCall = 23,\n MakeCall = 24,\n Hook = 25,\n HookIdle = 26,\n HookDocked = 27,\n HookUndocked = 28,\n BaseEvent = 29,\n CallAnsweredAndEnded = 30,\n CallUnansweredAndEnded = 31,\n DeviceChange = 32,\n DeviceArrived = 33,\n DeviceRemoved = 34,\n}\n\nexport interface PlantronicsCallEvent {\n Action: PlantronicsCallEventCodes;\n CallId: {\n ConferenceId: number;\n Id: number;\n InConference: boolean;\n };\n CallSource: string;\n DeviceEvent: number;\n}\n\n// Don't need this, because CallEvents[code] will return the name\n// const reverseCallEvents: Dictionary;\n// for (const eventName of Object.keys(CallEvents)) {\n// const code = CallEvents[eventName];\n// reverseCallEvents[code] = eventName;\n// }\n\n// export function getEventName (code) {\n// return reverseCallEvents[code];\n// }\n","import fetchJsonp from 'fetch-jsonp';\nimport { VendorImplementation, ImplementationConfig } from '../vendor-implementation';\nimport { PlantronicsCallEvent, PlantronicsCallEventCodes } from './plantronics-call-events';\nimport browserama from 'browserama';\nimport DeviceInfo from '../../../types/device-info';\nimport { CallInfo } from '../../../types/call-info';\nimport { UpdateReasons } from '../../../types/headset-states';\n\nconst defaultAppName = 'genesys-cloud-headset-library';\n\n/**\n * TODO: This looks like a feasible way to implement the polling we need\n * https://makeitnew.io/polling-using-rxjs-8347d05e9104\n * */\nexport default class PlantronicsService extends VendorImplementation {\n private static instance: PlantronicsService;\n activePollingInterval = 2000;\n connectedDeviceInterval = 6000;\n disconnectedDeviceInterval = 2000;\n deviceIdRetryInterval = 2000;\n vendorName = 'Plantronics';\n pluginName: string;\n apiHost = 'https://127.0.0.1:32018/Spokes';\n isActive = false;\n disableEventPolling = false;\n config: ImplementationConfig;\n deviceStatusTimer = null;\n isRetry = false;\n _deviceInfo: DeviceInfo;\n callEventsTimerId: any;\n deviceStatusTimerId: any;\n incomingConversationId: string;\n callMappings: {[callIdOrConversationId in string|number]: string|number} = {};\n\n private constructor (config: ImplementationConfig) {\n super(config);\n this.config = config;\n this.pluginName = config.appName || defaultAppName;\n this._deviceInfo = null;\n this.callEventsTimerId = null;\n this.deviceStatusTimerId = null;\n this.incomingConversationId = null;\n }\n\n private _createCallMapping (conversationId: string): number {\n const ID_LENGTH = 8;\n const callId = Math.round(Math.random() * Math.pow(10, ID_LENGTH)); // Generate random number\n\n this.callMappings[conversationId] = callId;\n this.callMappings[callId] = conversationId;\n\n this.logger.info('Created callId mapping for plantronics headset', {\n conversationId,\n plantronicsCallId: callId,\n });\n\n return callId;\n }\n\n clearTimeouts (): void {\n clearTimeout(this.callEventsTimerId);\n clearTimeout(this.deviceStatusTimerId);\n }\n\n deviceLabelMatchesVendor (label: string): boolean {\n // includes vendor name or vendorId (chrome only)\n const lowerLabel = label.toLowerCase();\n return ['plantronics', 'plt', 'poly', '(047f:'].some(searchVal => lowerLabel.includes(searchVal));\n }\n\n static getInstance (config: ImplementationConfig): PlantronicsService {\n if (!PlantronicsService.instance || config.createNew) {\n PlantronicsService.instance = new PlantronicsService(config);\n }\n\n return PlantronicsService.instance;\n }\n\n get deviceName (): string | undefined {\n return this._deviceInfo?.ProductName;\n }\n\n get deviceInfo (): DeviceInfo {\n return this._deviceInfo;\n }\n\n get isDeviceAttached (): boolean {\n return !!this.deviceInfo;\n }\n\n pollForCallEvents (): void {\n if (this.callEventsTimerId) {\n clearTimeout(this.callEventsTimerId);\n this.callEventsTimerId = null;\n }\n\n // if(this.isConnected && this.isActive && !this.disableEventPolling) {\n if(this.isConnected && !this.disableEventPolling) {\n this.logger.debug('**** POLLING FOR CALL EVENTS ****');\n this.getCallEvents();\n }\n this.callEventsTimerId = setTimeout(() => {\n this.pollForCallEvents();\n }, this.activePollingInterval);\n }\n\n pollForDeviceStatus (): void {\n if (this.deviceStatusTimerId) {\n clearTimeout(this.deviceStatusTimerId);\n this.deviceStatusTimerId = null;\n }\n\n if (this.isConnected && !this.isConnecting && !this.disableEventPolling) {\n this.logger.debug('**** POLLING FOR DEVICE STATUS ****');\n this.getDeviceStatus();\n }\n this.deviceStatusTimerId = setTimeout(() => {\n this.pollForDeviceStatus();\n }, this.isDeviceAttached ? this.connectedDeviceInterval : this.disconnectedDeviceInterval\n );\n }\n\n async _makeRequestTask (endpoint: string, isRetry?: boolean): Promise<any> {\n return await this._makeRequest(endpoint, isRetry);\n }\n\n _fetch (url: string): Promise<fetchJsonp.Response> {\n return fetchJsonp(url);\n }\n\n async _makeRequest (endpoint: string, isRetry: boolean | undefined): Promise<any> {\n const plantronicsInstance = PlantronicsService.instance;\n return this._fetch(`${this.apiHost}${endpoint}`)\n .then(response => {\n return response.json();\n })\n .then(response => {\n // we should just eat the response if we are not connected and not trying to connect\n if (!this.isConnected && !this.isConnecting) {\n return;\n }\n\n if (response.ok === false || response.Type_Name === 'Error') {\n if (response.status === 404) {\n if (isRetry) {\n this.isConnected && this.changeConnectionStatus({ isConnected: false, isConnecting: this.isConnecting });\n this.disconnect();\n const error = new Error(\n 'Headset: Failed connection to middleware. Headset features unavailable.'\n );\n (error as any).handled = true;\n this.logger.info(error);\n return Promise.reject(error);\n }\n return this._makeRequestTask(endpoint, true);\n }\n\n if (browserama.isFirefox) {\n this.errorCode = 'browser';\n this.disableRetry = true;\n }\n\n return Promise.reject(response);\n } else {\n if (!plantronicsInstance) {\n return Promise.reject(new Error('Application destroyed.'));\n }\n !this.isConnected && this.changeConnectionStatus({ isConnected: true, isConnecting: this.isConnecting });\n return response;\n }\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n async _checkIsActiveTask (): Promise<void> {\n const calls = await this._getActiveCalls();\n this.isActive = !!calls.length;\n }\n\n async _getActiveCalls (): Promise<any[]> {\n let result;\n try {\n const request = await this._makeRequestTask(`/CallServices/CallManagerState?`);\n result = request;\n } catch (e) {\n this.logger.info('Error making request for active calls', e);\n return [];\n }\n\n if (!Array.isArray(result?.Result?.Calls)) {\n return [];\n }\n return result.Result.Calls.filter(call => call.Source === this.pluginName);\n // return result?.Result?.Calls.filter(call => call.Source === this.pluginName);\n }\n\n async getCallEvents (): Promise<any> {\n let response;\n try {\n response = await this._makeRequestTask(`/CallServices/CallEvents?name=${this.pluginName}`);\n } catch (e) {\n this.logger.info('Error making request for call events', e);\n return;\n }\n if (response.Result) {\n response.Result.forEach((event: PlantronicsCallEvent) => {\n const eventType = PlantronicsCallEventCodes[event.Action];\n\n if (!eventType) {\n return this.logger.info('Unknown call event from headset', { event });\n }\n\n const eventInfo = { name: eventType, event };\n this.logger.debug('headset info', eventInfo);\n this.callCorrespondingFunction(eventInfo);\n });\n }\n }\n\n async getDeviceStatus (): Promise<void> {\n await this._makeRequestTask(`/DeviceServices/Info`)\n .then(response => {\n this._deviceInfo = response.Result;\n })\n .catch(err => {\n const noDevicesError = err.Err && err.Err.Description.includes('no supported devices');\n if (!noDevicesError) {\n this.logger.info('Error making request for device status', err);\n }\n });\n }\n\n callCorrespondingFunction (eventInfo: {name: string, event?: PlantronicsCallEvent }): void {\n const callId = eventInfo.event.CallId.Id;\n const conversationId = this.callMappings[callId] as string;\n\n switch (eventInfo.name) {\n case 'AcceptCall':\n this.deviceAnsweredCall({ ...eventInfo, conversationId });\n break;\n case 'RejectCall':\n this.endCall(conversationId);\n this.deviceRejectedCall({ name: eventInfo.name, conversationId: this.incomingConversationId });\n break;\n case 'TerminateCall':\n this.deviceEndedCall({ ...eventInfo, conversationId });\n break;\n case 'CallEnded':\n delete this.callMappings[callId];\n delete this.callMappings[conversationId];\n this._checkIsActiveTask();\n break;\n case 'Mute':\n this.deviceMuteChanged({ isMuted: true, ...eventInfo, conversationId });\n break;\n case 'Unmute':\n this.deviceMuteChanged({ isMuted: false, ...eventInfo, conversationId });\n break;\n case 'HoldCall':\n this.deviceHoldStatusChanged({ holdRequested: true, ...eventInfo, conversationId });\n break;\n case 'ResumeCall':\n this.deviceHoldStatusChanged({ holdRequested: false, ...eventInfo, conversationId });\n break;\n default:\n this.logger.info('A headset event has occurred', { ...eventInfo, conversationId });\n this.deviceEventLogs({ ...eventInfo, conversationId });\n }\n }\n\n async unregisterPlugin (): Promise<any> {\n try {\n return await this._makeRequestTask(`/SessionManager/UnRegister?name=${this.pluginName}`);\n } catch (response: any) {\n if (response?.Err?.Description === 'Invalid plugin name') {\n return;\n }\n\n this.logger.error(response);\n }\n }\n\n async connect (): Promise<any> {\n !this.isConnecting && this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });\n this.pollForDeviceStatus();\n this.pollForCallEvents();\n await this.unregisterPlugin();\n return this._makeRequestTask(`/SessionManager/Register?name=${this.pluginName}`)\n .catch(response => {\n if (response.Err && response.Err.Description === 'Plugin exists') {\n return this.logger.debug('Plugin already exists', response);\n }\n\n return Promise.reject(response);\n })\n .then(() =>\n this._makeRequestTask(`/SessionManager/IsActive?name=${this.pluginName}&active=true`)\n )\n .catch(response => {\n if (response.Err && !response.isError) {\n return this.logger.debug('Is Active', response);\n }\n\n return Promise.reject(response);\n })\n .then(response => {\n if (response?.Result !== true) {\n return Promise.reject(response);\n }\n\n return this._makeRequestTask(`/UserPreference/SetDefaultSoftPhone?name=${this.pluginName}`);\n })\n .then(() => {\n this.getDeviceStatus();\n })\n .then(() => {\n return this._getActiveCalls();\n })\n .then(calls => {\n if (calls.length) {\n this.isActive = true;\n this.logger.warn('Plantronics headset should be in vanilla state but is reporting active call state.');\n } else {\n return this.getCallEvents();\n }\n })\n .catch(err => {\n if (!err?.handled) {\n return Promise.reject(err);\n }\n return this.logger.error('Unable to properly connect headset');\n })\n .finally(() => {\n this.isConnecting && this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });\n });\n }\n\n async disconnect (clearReason?: UpdateReasons): Promise<any> {\n if (!this.isConnected) {\n return;\n }\n if (clearReason !== 'alternativeClient') {\n await this.unregisterPlugin();\n }\n this.clearTimeouts();\n this._deviceInfo = null;\n this.isConnected && this.changeConnectionStatus({ isConnected: false, isConnecting: this.isConnecting });\n this.isActive = false;\n }\n\n incomingCall (callInfo: CallInfo): Promise<any> {\n this.logger.info('Inside incomingCall of selected implementation (Plantronics/Poly)');\n const { conversationId, contactName } = callInfo;\n if (!conversationId) {\n throw new Error('Must provide conversationId');\n }\n\n // this is because plantronics only accepts numeric callIds, so we have to make one up\n const callId = this._createCallMapping(conversationId);\n\n this.incomingConversationId = conversationId;\n let params = `?name=${this.pluginName}&tones=Unknown&route=ToHeadset`;\n\n const halfEncodedCallIdString = `\"Id\":\"${callId}\"`;\n params += `&callID={${encodeURI(halfEncodedCallIdString)}}`;\n\n if (contactName) {\n const halfEncodedContactString = `\"Name\":\"${contactName}\"`;\n params += `&contact={${encodeURI(halfEncodedContactString)}}`;\n }\n\n this.logger.info('params of endpoint', params);\n\n this.isActive = true;\n return this._makeRequestTask(`/CallServices/IncomingCall${params}`);\n }\n\n async outgoingCall ({ conversationId, contactName }: CallInfo): Promise<any> {\n if (!conversationId) {\n throw new Error('Must provide conversationId');\n }\n\n // this is because plantronics only accepts numeric callIds, so we have to make one up\n const callId = this._createCallMapping(conversationId);\n\n let params = `?name=${this.pluginName}&tones=Unknown&route=ToHeadset`;\n\n const halfEncodedCallIdString = `\"Id\":\"${callId}\"`;\n params += `&callID={${encodeURI(halfEncodedCallIdString)}}`;\n\n if (contactName) {\n const halfEncodedContactString = `\"Name\":\"${contactName}\"`;\n params += `&contact={${encodeURI(halfEncodedContactString)}}`;\n }\n\n this.isActive = true;\n await this._makeRequestTask(`/CallServices/OutgoingCall${params}`);\n }\n\n async answerCall (conversationId: string, autoAnswer?: boolean): Promise<any> {\n if (autoAnswer) {\n await this.incomingCall({ conversationId });\n }\n const callId = this.callMappings[conversationId];\n const halfEncodedCallIdString = `\"Id\":\"${callId}\"`;\n const params = `?name=${this.pluginName}&callID={${encodeURI(halfEncodedCallIdString)}}`;\n\n this.isActive = true;\n this.incomingConversationId = null;\n return this._makeRequestTask(`/CallServices/AnswerCall${params}`);\n }\n\n rejectCall (conversationId: string): Promise<any> {\n this.incomingConversationId = null;\n return this.endCall(conversationId);\n }\n\n async endCall (conversationId: string): Promise<any> {\n let params = `?name=${this.pluginName}`;\n const callId = this.callMappings[conversationId];\n const halfEncodedCallIdString = `\"Id\":\"${callId}\"`;\n params += `&callID={${encodeURI(halfEncodedCallIdString)}}`;\n\n const response = await this._makeRequestTask(`/CallServices/TerminateCall${params}`);\n await this.getCallEvents();\n this._checkIsActiveTask();\n return response;\n }\n\n async endAllCalls (): Promise<void> {\n const calls = await this._getActiveCalls();\n calls.forEach(call => this.endCall(this.callMappings[call.CallId] as string));\n }\n\n async setMute (value: boolean): Promise<any> {\n const response = await this._makeRequestTask(\n `/CallServices/MuteCall?name=${this.pluginName}&muted=${value}`\n );\n return response;\n }\n\n async setHold (conversationId: string, value: boolean): Promise<any> {\n const callId = this.callMappings[conversationId];\n const halfEncodedCallIdString = `\"Id\":\"${callId}\"`;\n const params = `?name=${this.pluginName}&callID={${encodeURI(halfEncodedCallIdString)}}`;\n const response = await this._makeRequestTask(\n `/CallServices/${value ? 'HoldCall' : 'ResumeCall'}${params}`\n );\n\n return response;\n }\n}","export interface SennheiserPayload {\n CallID?: string;\n DNDOption?: 'Yes' | 'No';\n Event?: SennheiserEvents;\n EventType?: SennheiserEventTypes;\n HeadsetName?: string;\n HeadsetType?: string;\n MuteSupport?: 'Yes' | 'No';\n OffHookSupport?: 'Yes' | 'No';\n RedialSupport?: 'Yes' | 'No';\n ReturnCode?: number;\n SPName?: string;\n SPIconImage?: string;\n}\n\nexport enum SennheiserEvents {\n SocketConnected = 'SocketConnected',\n EstablishConnection = 'EstablishConnection',\n SPLogin = 'SPLoggedIn',\n SPLogout = 'SPLoggedOut',\n TerminateConnection = 'TerminateConnection',\n IncomingCall = 'IncomingCall',\n IncomingCallRejected = 'InCallRejected',\n IncomingCallAccepted = 'InCallAccepted',\n OutgoingCall = 'OutgoingCall',\n CallEnded = 'CallEnded',\n SystemInformation = 'SystemInformation',\n HeadsetConnected = 'HeadsetConnected',\n HeadsetDisconnected = 'HeadsetDisconnected',\n Hold = 'CallHold',\n Resume = 'HeldCallResumed',\n MuteFromApp = 'MuteHeadset',\n UnmuteFromApp = 'UnmuteHeadset',\n MuteFromHeadset = 'MuteSoftphone',\n UnmuteFromHeadset = 'UnmuteSoftphone',\n}\n\nexport enum SennheiserEventTypes {\n Request = 'Request', // outgoing actions\n Notification = 'Notification', // typically actions from headset\n Ack = 'Acknowledgement',\n}\n","import { VendorImplementation, ImplementationConfig } from '../vendor-implementation';\nimport DeviceInfo from '../../../types/device-info';\nimport { CallInfo } from '../../..';\nimport * as utils from '../../../utils';\nimport { SennheiserPayload, SennheiserEvents, SennheiserEventTypes } from './types';\n\nconst websocketUri = 'wss://127.0.0.1:41088';\n\nexport default class SennheiserService extends VendorImplementation {\n private static instance: SennheiserService;\n\n connectTimeout = 5000;\n\n vendorName = 'Sennheiser';\n isActive = false;\n devices = null;\n activeDeviceId = null;\n websocketConnected = false;\n\n websocket = null;\n deviceInfo: DeviceInfo = null;\n ignoreAcknowledgement = false;\n\n static getInstance (config: ImplementationConfig): SennheiserService {\n if (!SennheiserService.instance || config.createNew) {\n SennheiserService.instance = new SennheiserService(config);\n }\n\n return SennheiserService.instance;\n }\n\n deviceLabelMatchesVendor (label: string): boolean {\n const lowerLabel = label.toLowerCase();\n return ['senn', 'epos'].some(searchVal => lowerLabel.includes(searchVal));\n }\n\n get deviceName (): string {\n return this.deviceInfo && this.deviceInfo.ProductName;\n }\n\n get isDeviceAttached (): boolean {\n return !!this.deviceInfo;\n }\n\n resetHeadsetStateForCall (conversationId: string): Promise<any> {\n this.ignoreAcknowledgement = true;\n return this.endCall(conversationId);\n }\n\n _handleError (payload: SennheiserPayload): void {\n this.logger.error('Non-zero return code from sennheiser', payload);\n }\n _handleAck (payload: SennheiserPayload): void {\n this.logger.debug(`Received Ack for ${payload.Event}`);\n }\n\n _sendMessage (payload: SennheiserPayload): void {\n this.logger.debug('sending sennheiser message', payload);\n this.websocket.send(JSON.stringify(payload));\n }\n\n _registerSoftphone (): void {\n const payload: SennheiserPayload = {\n Event: SennheiserEvents.EstablishConnection,\n EventType: SennheiserEventTypes.Request,\n SPName: 'Genesys Cloud Softphone',\n SPIconImage: 'SPImage.ico',\n RedialSupport: 'No',\n OffHookSupport: 'No',\n MuteSupport: 'Yes',\n DNDOption: 'No',\n };\n\n this._sendMessage(payload);\n }\n\n connect (): Promise<void> {\n this.ignoreAcknowledgement = false;\n !this.isConnecting && this.changeConnectionStatus({ isConnected: false, isConnecting: true });\n\n const socket = new WebSocket(websocketUri);\n socket.onopen = this.webSocketOnOpen.bind(this);\n socket.onclose = this.webSocketOnClose.bind(this);\n socket.onmessage = this._handleMessage.bind(this);\n this.websocket = socket;\n\n return Promise.resolve();\n }\n\n webSocketOnOpen = (): void => {\n this.websocketConnected = true;\n this.logger.info('websocket open the sennheiser software');\n };\n\n webSocketOnClose (err: { code: number, reason: string, wasClean: boolean }): void {\n this.websocketConnected = false;\n if (!err.wasClean) {\n this.logger.error(err);\n }\n if (!this.isConnected) {\n this.logger.error(\n new Error('Failed to connect to sennheiser software. Make sure it is installed')\n );\n if (utils.isFirefox()) {\n this.errorCode = 'browser';\n this.disableRetry = true;\n }\n }\n\n if (this.isConnected || this.isConnecting) {\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\n }\n }\n\n disconnect (): Promise<void> {\n if (!this.isConnected) {\n return Promise.resolve();\n }\n\n this._sendMessage({\n Event: SennheiserEvents.TerminateConnection,\n EventType: SennheiserEventTypes.Request,\n });\n\n return Promise.resolve();\n }\n\n setMute (value: boolean): Promise<void> {\n this._sendMessage({\n Event: value ? SennheiserEvents.MuteFromApp : SennheiserEvents.UnmuteFromApp,\n EventType: SennheiserEventTypes.Request,\n });\n return Promise.resolve();\n }\n\n setHold (conversationId: string, value: boolean): Promise<void> {\n this._sendMessage({\n Event: value ? SennheiserEvents.Hold : SennheiserEvents.Resume,\n EventType: SennheiserEventTypes.Request,\n CallID: conversationId,\n });\n\n return Promise.resolve();\n }\n\n incomingCall (callInfo: CallInfo): Promise<void> {\n this.ignoreAcknowledgement = false;\n this._sendMessage({\n Event: SennheiserEvents.IncomingCall,\n EventType: SennheiserEventTypes.Request,\n CallID: callInfo.conversationId,\n });\n\n return Promise.resolve();\n }\n\n answerCall (conversationId: string, autoAnswer?: boolean): Promise<void> {\n if (autoAnswer) {\n this.incomingCall({ conversationId });\n }\n\n this._sendMessage({\n Event: SennheiserEvents.IncomingCallAccepted,\n EventType: SennheiserEventTypes.Request,\n CallID: conversationId,\n });\n return Promise.resolve();\n }\n\n rejectCall (conversationId: string): Promise<void> {\n this._sendMessage({\n Event: SennheiserEvents.IncomingCallRejected,\n EventType: SennheiserEventTypes.Request,\n CallID: conversationId,\n });\n return Promise.resolve();\n }\n\n outgoingCall (callInfo: CallInfo): Promise<void> {\n this.ignoreAcknowledgement = false;\n const { conversationId } = callInfo;\n\n this._sendMessage({\n Event: SennheiserEvents.OutgoingCall,\n EventType: SennheiserEventTypes.Request,\n CallID: conversationId,\n });\n\n return Promise.resolve();\n }\n\n endCall (conversationId: string, hasOtherActiveCalls?: boolean): Promise<void> {\n if (!hasOtherActiveCalls) {\n this._sendMessage({\n Event: SennheiserEvents.Resume,\n EventType: SennheiserEventTypes.Request\n });\n this._sendMessage({\n Event: SennheiserEvents.UnmuteFromApp,\n EventType: SennheiserEventTypes.Request,\n });\n }\n this._sendMessage({\n Event: SennheiserEvents.CallEnded,\n EventType: SennheiserEventTypes.Request,\n CallID: conversationId,\n });\n return Promise.resolve();\n }\n\n endAllCalls (): Promise<void> {\n this.logger.warn('There is no functionality defined for SennheiserService.endAllCalls()');\n return Promise.resolve();\n }\n\n _handleMessage (message: { data: string }): void {\n let payload: SennheiserPayload;\n try {\n payload = JSON.parse(message.data);\n } catch (err) {\n this.logger.error(err);\n this.logger.error('Failed to parse sennheiser payload', { message });\n return;\n }\n this.logger.debug('incoming sennheiser message', payload);\n\n if (payload.ReturnCode) {\n this._handleError(payload);\n return;\n }\n\n const conversationId = payload.CallID;\n\n if (!this.ignoreAcknowledgement) {\n switch (payload.Event) {\n case SennheiserEvents.SocketConnected:\n this._registerSoftphone();\n break;\n case SennheiserEvents.EstablishConnection:\n this._sendMessage({\n Event: SennheiserEvents.SPLogin,\n EventType: SennheiserEventTypes.Request,\n });\n break;\n case SennheiserEvents.SPLogin:\n if (!this.isConnected || this.isConnecting) {\n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\n }\n\n this._sendMessage({\n Event: SennheiserEvents.SystemInformation,\n EventType: SennheiserEventTypes.Request,\n });\n break;\n case SennheiserEvents.HeadsetConnected:\n if (payload.HeadsetName) {\n this.deviceInfo = {\n deviceName: payload.HeadsetName,\n headsetType: payload.HeadsetType,\n };\n }\n break;\n case SennheiserEvents.HeadsetDisconnected:\n if (payload.HeadsetName === this.deviceName) {\n this.deviceInfo = null;\n }\n\n break;\n case SennheiserEvents.IncomingCallAccepted:\n if (payload.EventType === SennheiserEventTypes.Notification) {\n this.deviceAnsweredCall({ name: payload.Event, conversationId });\n }\n\n break;\n case SennheiserEvents.Hold:\n if (payload.EventType === SennheiserEventTypes.Ack) {\n this._handleAck(payload);\n break;\n }\n this.deviceHoldStatusChanged({ holdRequested: true, name: payload.Event, conversationId });\n break;\n case SennheiserEvents.Resume:\n if (payload.EventType === SennheiserEventTypes.Ack) {\n this._handleAck(payload);\n break;\n }\n this.deviceHoldStatusChanged({ holdRequested: false, name: payload.Event, conversationId });\n break;\n case SennheiserEvents.MuteFromHeadset:\n this.deviceMuteChanged({ isMuted: true, name: payload.Event });\n break;\n case SennheiserEvents.UnmuteFromHeadset:\n this.deviceMuteChanged({ isMuted: false, name: payload.Event });\n break;\n case SennheiserEvents.CallEnded:\n if (payload.EventType === SennheiserEventTypes.Notification) {\n this._sendMessage({\n Event: SennheiserEvents.UnmuteFromApp,\n EventType: SennheiserEventTypes.Request,\n });\n this.deviceEndedCall({ name: payload.Event, conversationId });\n }\n break;\n case SennheiserEvents.IncomingCallRejected:\n if (payload.EventType === SennheiserEventTypes.Notification) {\n this.deviceRejectedCall({ name: payload.Event, conversationId });\n }\n break;\n case SennheiserEvents.TerminateConnection:\n if (this.websocket.readyState === 1) {\n this.websocket.close();\n }\n this.websocket = null;\n break;\n default:\n if (payload.EventType === SennheiserEventTypes.Ack) {\n // this is mostly for testing purposes so we can confirm reciept of events we don't normally care about\n this._handleAck(payload);\n }\n break;\n }\n }\n }\n}","import { createErrorClass } from './createErrorClass';\nexport var EmptyError = createErrorClass(function (_super) { return function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n}; });\n//# sourceMappingURL=EmptyError.js.map","import { EmptyError } from './util/EmptyError';\nimport { SafeSubscriber } from './Subscriber';\nexport function firstValueFrom(source, config) {\n var hasConfig = typeof config === 'object';\n return new Promise(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n resolve(value);\n subscriber.unsubscribe();\n },\n error: reject,\n complete: function () {\n if (hasConfig) {\n resolve(config.defaultValue);\n }\n else {\n reject(new EmptyError());\n }\n },\n });\n source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=firstValueFrom.js.map","import { __extends } from \"tslib\";\nimport { Subscription } from '../Subscription';\nvar Action = (function (_super) {\n __extends(Action, _super);\n function Action(scheduler, work) {\n return _super.call(this) || this;\n }\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n return this;\n };\n return Action;\n}(Subscription));\nexport { Action };\n//# sourceMappingURL=Action.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var intervalProvider = {\n setInterval: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = intervalProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {\n return delegate.setInterval.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setInterval.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearInterval: function (handle) {\n var delegate = intervalProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=intervalProvider.js.map","import { __extends } from \"tslib\";\nimport { Action } from './Action';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nvar AsyncAction = (function (_super) {\n __extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.pending = false;\n return _this;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n var _a;\n if (delay === void 0) { delay = 0; }\n if (this.closed) {\n return this;\n }\n this.state = state;\n var id = this.id;\n var scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = (_a = this.id) !== null && _a !== void 0 ? _a : this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, _id, delay) {\n if (delay === void 0) { delay = 0; }\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (_scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n return undefined;\n };\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, _delay) {\n var errored = false;\n var errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype.unsubscribe = function () {\n if (!this.closed) {\n var _a = this, id = _a.id, scheduler = _a.scheduler;\n var actions = scheduler.actions;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n _super.prototype.unsubscribe.call(this);\n }\n };\n return AsyncAction;\n}(Action));\nexport { AsyncAction };\n//# sourceMappingURL=AsyncAction.js.map","export var dateTimestampProvider = {\n now: function () {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar Scheduler = (function () {\n function Scheduler(schedulerActionCtor, now) {\n if (now === void 0) { now = Scheduler.now; }\n this.schedulerActionCtor = schedulerActionCtor;\n this.now = now;\n }\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) { delay = 0; }\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n };\n Scheduler.now = dateTimestampProvider.now;\n return Scheduler;\n}());\nexport { Scheduler };\n//# sourceMappingURL=Scheduler.js.map","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport var asyncScheduler = new AsyncScheduler(AsyncAction);\nexport var async = asyncScheduler;\n//# sourceMappingURL=async.js.map","import { __extends } from \"tslib\";\nimport { Scheduler } from '../Scheduler';\nvar AsyncScheduler = (function (_super) {\n __extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) { now = Scheduler.now; }\n var _this = _super.call(this, SchedulerAction, now) || this;\n _this.actions = [];\n _this._active = false;\n return _this;\n }\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this._active) {\n actions.push(action);\n return;\n }\n var error;\n this._active = true;\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()));\n this._active = false;\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler));\nexport { AsyncScheduler };\n//# sourceMappingURL=AsyncScheduler.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return function (source) {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { __asyncValues, __awaiter, __generator, __values } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable(function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable(function (subscriber) {\n for (var i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable(function (subscriber) {\n promise\n .then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable(function (subscriber) {\n var e_1, _a;\n try {\n for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {\n var value = iterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable(function (subscriber) {\n process(asyncIterable, subscriber).catch(function (err) { return subscriber.error(err); });\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_2, _a;\n return __awaiter(this, void 0, void 0, function () {\n var value, e_2_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 5, 6, 11]);\n asyncIterable_1 = __asyncValues(asyncIterable);\n _b.label = 1;\n case 1: return [4, asyncIterable_1.next()];\n case 2:\n if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];\n value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return [2];\n }\n _b.label = 3;\n case 3: return [3, 1];\n case 4: return [3, 11];\n case 5:\n e_2_1 = _b.sent();\n e_2 = { error: e_2_1 };\n return [3, 11];\n case 6:\n _b.trys.push([6, , 9, 10]);\n if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];\n return [4, _a.call(asyncIterable_1)];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8: return [3, 10];\n case 9:\n if (e_2) throw e_2.error;\n return [7];\n case 10: return [7];\n case 11:\n subscriber.complete();\n return [2];\n }\n });\n });\n}\n//# sourceMappingURL=innerFrom.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n//# sourceMappingURL=isInteropObservable.js.map","export var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n//# sourceMappingURL=isPromise.js.map","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n//# sourceMappingURL=isAsyncIterable.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n//# sourceMappingURL=isIterable.js.map","import { __asyncGenerator, __await, __generator } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {\n var reader, _a, value, done;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n reader = readableStream.getReader();\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 9, 10]);\n _b.label = 2;\n case 2:\n if (!true) return [3, 8];\n return [4, __await(reader.read())];\n case 3:\n _a = _b.sent(), value = _a.value, done = _a.done;\n if (!done) return [3, 5];\n return [4, __await(void 0)];\n case 4: return [2, _b.sent()];\n case 5: return [4, __await(value)];\n case 6: return [4, _b.sent()];\n case 7:\n _b.sent();\n return [3, 2];\n case 8: return [3, 10];\n case 9:\n reader.releaseLock();\n return [7];\n case 10: return [2];\n }\n });\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n//# sourceMappingURL=isReadableStreamLike.js.map","export function createInvalidObservableTypeError(input) {\n return new TypeError(\"You provided \" + (input !== null && typeof input === 'object' ? 'an invalid object' : \"'\" + input + \"'\") + \" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.\");\n}\n//# sourceMappingURL=throwUnobservableError.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","import { asyncScheduler } from '../scheduler/async';\nimport { isValidDate } from '../util/isDate';\nimport { operate } from '../util/lift';\nimport { innerFrom } from '../observable/innerFrom';\nimport { createErrorClass } from '../util/createErrorClass';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { executeSchedule } from '../util/executeSchedule';\nexport var TimeoutError = createErrorClass(function (_super) {\n return function TimeoutErrorImpl(info) {\n if (info === void 0) { info = null; }\n _super(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n this.info = info;\n };\n});\nexport function timeout(config, schedulerArg) {\n var _a = (isValidDate(config) ? { first: config } : typeof config === 'number' ? { each: config } : config), first = _a.first, each = _a.each, _b = _a.with, _with = _b === void 0 ? timeoutErrorFactory : _b, _c = _a.scheduler, scheduler = _c === void 0 ? schedulerArg !== null && schedulerArg !== void 0 ? schedulerArg : asyncScheduler : _c, _d = _a.meta, meta = _d === void 0 ? null : _d;\n if (first == null && each == null) {\n throw new TypeError('No timeout provided.');\n }\n return operate(function (source, subscriber) {\n var originalSourceSubscription;\n var timerSubscription;\n var lastValue = null;\n var seen = 0;\n var startTimer = function (delay) {\n timerSubscription = executeSchedule(subscriber, scheduler, function () {\n try {\n originalSourceSubscription.unsubscribe();\n innerFrom(_with({\n meta: meta,\n lastValue: lastValue,\n seen: seen,\n })).subscribe(subscriber);\n }\n catch (err) {\n subscriber.error(err);\n }\n }, delay);\n };\n originalSourceSubscription = source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n seen++;\n subscriber.next((lastValue = value));\n each > 0 && startTimer(each);\n }, undefined, undefined, function () {\n if (!(timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.closed)) {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n }\n lastValue = null;\n }));\n !seen && startTimer(first != null ? (typeof first === 'number' ? first : +first - scheduler.now()) : each);\n });\n}\nfunction timeoutErrorFactory(info) {\n throw new TimeoutError(info);\n}\n//# sourceMappingURL=timeout.js.map","export function isValidDate(value) {\n return value instanceof Date && !isNaN(value);\n}\n//# sourceMappingURL=isDate.js.map","export function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {\n if (delay === void 0) { delay = 0; }\n if (repeat === void 0) { repeat = false; }\n var scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n//# sourceMappingURL=executeSchedule.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function defaultIfEmpty(defaultValue) {\n return operate(function (source, subscriber) {\n var hasValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n hasValue = true;\n subscriber.next(value);\n }, function () {\n if (!hasValue) {\n subscriber.next(defaultValue);\n }\n subscriber.complete();\n }));\n });\n}\n//# sourceMappingURL=defaultIfEmpty.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return predicate.call(thisArg, value, index++) && subscriber.next(value); }));\n });\n}\n//# sourceMappingURL=filter.js.map","import { Observable } from '../Observable';\nexport var EMPTY = new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map","import { EmptyError } from '../util/EmptyError';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function throwIfEmpty(errorFactory) {\n if (errorFactory === void 0) { errorFactory = defaultErrorFactory; }\n return operate(function (source, subscriber) {\n var hasValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n hasValue = true;\n subscriber.next(value);\n }, function () { return (hasValue ? subscriber.complete() : subscriber.error(errorFactory())); }));\n });\n}\nfunction defaultErrorFactory() {\n return new EmptyError();\n}\n//# sourceMappingURL=throwIfEmpty.js.map","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { take } from './take';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { identity } from '../util/identity';\nexport function first(predicate, defaultValue) {\n var hasDefaultValue = arguments.length >= 2;\n return function (source) {\n return source.pipe(predicate ? filter(function (v, i) { return predicate(v, i, source); }) : identity, take(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(function () { return new EmptyError(); }));\n };\n}\n//# sourceMappingURL=first.js.map","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function take(count) {\n return count <= 0\n ?\n function () { return EMPTY; }\n : operate(function (source, subscriber) {\n var seen = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n if (++seen <= count) {\n subscriber.next(value);\n if (count <= seen) {\n subscriber.complete();\n }\n }\n }));\n });\n}\n//# sourceMappingURL=take.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","import { VendorImplementation, ImplementationConfig } from '../vendor-implementation';\nimport DeviceInfo from '../../../types/device-info';\nimport {\n IApi,\n CallControlFactory,\n SignalType,\n ICallControl,\n ErrorType,\n init,\n RequestedBrowserTransport,\n webHidPairing,\n IDevice,\n} from '@gnaudio/jabra-js';\nimport { CallInfo } from '../../..';\nimport { Subscription, firstValueFrom, Observable, TimeoutError, EmptyError } from 'rxjs';\nimport { defaultIfEmpty, filter, first, map, timeout } from 'rxjs/operators';\nimport { isCefHosted } from '../../../utils';\n\nexport default class JabraService extends VendorImplementation {\n private static instance: JabraService;\n private headsetEventSubscription: Subscription;\n static connectTimeout = 5000;\n\n isActive = false;\n _deviceInfo: DeviceInfo;\n isMuted = false;\n isHeld = false;\n version: string = null;\n _connectDeferred: any; // { resolve: Function, reject: Function }\n jabraSdk: IApi;\n callControlFactory: CallControlFactory;\n callControl: ICallControl;\n ongoingCalls = 0;\n callLock = false;\n pendingConversationId: string;\n pendingConversationIsOutbound: boolean;\n activeConversationId: string;\n\n private constructor (config: ImplementationConfig) {\n super(config);\n this.vendorName = 'Jabra';\n }\n\n isSupported (): boolean {\n return (window.navigator as any).hid && !isCefHosted();\n }\n\n deviceLabelMatchesVendor (label: string): boolean {\n const lowerLabel = label.toLowerCase();\n if (['jabra'].some((searchVal) => lowerLabel.includes(searchVal))) {\n return true;\n }\n return false;\n }\n\n static getInstance (config: ImplementationConfig): JabraService {\n if (!JabraService.instance || config.createNew) {\n JabraService.instance = new JabraService(config);\n }\n\n return JabraService.instance;\n }\n\n get deviceInfo (): DeviceInfo {\n return this._deviceInfo;\n }\n\n get deviceName (): string {\n return this.deviceInfo?.deviceName;\n }\n\n get isDeviceAttached (): boolean {\n return !!this.deviceInfo;\n }\n\n resetState (): void {\n this.setHold(null, false);\n this.setMute(false);\n }\n\n _processEvents (callControl: ICallControl): void {\n this.headsetEventSubscription = callControl.deviceSignals.subscribe(async (signal) => {\n if (!this.callLock) {\n this.logger.debug(\n 'Currently not in possession of the Call Lock; Cannot react to Device Actions'\n );\n return;\n }\n\n switch (signal.type) {\n case SignalType.HOOK_SWITCH:\n // do nothing when the end call button is pressed and we have an incoming call while we have an active call\n if (this.activeConversationId && this.pendingConversationId) {\n this.logger.info('ignoring hookswitch event because there is an active and incoming call');\n break;\n }\n\n if (signal.value) {\n callControl.offHook(true);\n callControl.ring(false);\n this.activeConversationId = this.pendingConversationId;\n this.pendingConversationId = null;\n if (!this.pendingConversationIsOutbound) {\n this.deviceAnsweredCall({\n name: 'CallOffHook',\n code: signal.type,\n conversationId: this.activeConversationId,\n });\n }\n } else {\n callControl.mute(false);\n callControl.hold(false);\n callControl.offHook(false);\n this.deviceEndedCall({\n name: 'CallOnHook',\n code: signal.type,\n conversationId: this.activeConversationId,\n });\n try {\n callControl.releaseCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n } else {\n this.logger.error(type, message);\n }\n } finally {\n this.activeConversationId = null;\n this.callLock = false;\n }\n }\n break;\n case SignalType.FLASH:\n case SignalType.ALT_HOLD:\n this.isHeld = !this.isHeld;\n callControl.hold(this.isHeld);\n this.deviceHoldStatusChanged({\n holdRequested: this.isHeld,\n name: this.isHeld ? 'OnHold' : 'ResumeCall',\n code: signal.type,\n conversationId: this.activeConversationId,\n });\n break;\n case SignalType.PHONE_MUTE:\n this.isMuted = !this.isMuted;\n callControl.mute(this.isMuted);\n this.deviceMuteChanged({\n isMuted: this.isMuted,\n name: this.isMuted ? 'CallMuted' : 'CallUnmuted',\n code: signal.type,\n conversationId: this.activeConversationId,\n });\n break;\n case SignalType.REJECT_CALL:\n callControl.ring(false);\n this.deviceRejectedCall({\n name: SignalType[signal.type],\n conversationId: this.pendingConversationId,\n });\n this.pendingConversationId = null;\n try {\n // we only want to release call controls if there isn't another call active\n if (!this.activeConversationId) {\n callControl.releaseCallLock();\n this.callLock = false;\n }\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n } else {\n this.logger.error(type, message);\n }\n }\n }\n });\n }\n\n async setMute (value: boolean): Promise<void> {\n if (!this.callLock) {\n return;\n }\n this.isMuted = value;\n this.callControl.mute(value);\n }\n\n async setHold (conversationId: string, value: boolean): Promise<void> {\n if (!this.callLock) {\n return;\n }\n this.isHeld = value;\n this.callControl.hold(value);\n }\n\n async incomingCall (callInfo: CallInfo): Promise<void> {\n this.pendingConversationId = callInfo.conversationId;\n this.pendingConversationIsOutbound = false;\n try {\n this.callLock = await this.callControl.takeCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n this.callLock = true;\n } else {\n this.logger.error(type, message);\n }\n }\n\n if (this.callLock) {\n this.callControl.ring(true);\n }\n }\n\n async answerCall (conversationId: string, autoAnswer?: boolean): Promise<void> {\n if (autoAnswer) {\n this.pendingConversationId = conversationId;\n try {\n this.callLock = await this.callControl.takeCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n this.callLock = true;\n } else {\n this.logger.error(type, message);\n }\n }\n }\n\n if (!this.callLock) {\n return;\n }\n\n this.callControl.ring(false);\n this.callControl.offHook(true);\n }\n\n async rejectCall (): Promise<void> {\n if (!this.callLock) {\n return this.logger.info(\n 'Currently not in possession of the Call Lock; Cannot react to Device Actions'\n );\n }\n this.callControl.ring(false);\n this.pendingConversationId = null;\n if (!this.activeConversationId) {\n try {\n this.resetState();\n this.callControl.releaseCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n } else {\n this.logger.error(type, message);\n }\n } finally {\n this.pendingConversationId = null;\n this.callLock = false;\n }\n }\n }\n\n async outgoingCall (callInfo: CallInfo): Promise<void> {\n try {\n this.callLock = await this.callControl.takeCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n this.callLock = true;\n } else {\n this.logger.error(type, message);\n }\n }\n\n if (this.callLock) {\n this.pendingConversationId = callInfo.conversationId;\n this.pendingConversationIsOutbound = true;\n this.callControl.offHook(true);\n }\n }\n\n async endCall (conversationId: string, hasOtherActiveCalls: boolean): Promise<void> {\n if (hasOtherActiveCalls) {\n return;\n }\n\n if (conversationId === this.activeConversationId) {\n this.activeConversationId = null;\n }\n\n try {\n if (!this.callLock) {\n return this.logger.info(\n 'Currently not in possession of the Call Lock; Cannot react to Device Actions'\n );\n }\n this.callControl.offHook(false);\n this.resetState();\n this.callControl.releaseCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n } else {\n this.logger.error(type, message);\n }\n } finally {\n this.callLock = false;\n }\n }\n\n async endAllCalls (): Promise<void> {\n try {\n if (!this.callLock) {\n return this.logger.info(\n 'Currently not in possession of the Call Lock; Cannot react to Device Actions'\n );\n }\n this.activeConversationId = null;\n this.callControl.offHook(false);\n this.resetState();\n this.callControl.releaseCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n } else {\n this.logger.error(type, message);\n }\n } finally {\n this.callLock = false;\n }\n }\n\n isDeviceInList (device: IDevice, deviceLabel: string): boolean {\n return deviceLabel.toLowerCase().includes(device?.name?.toLowerCase());\n }\n\n async connect (originalDeviceLabel: string): Promise<void> {\n if (this.isConnecting) {\n return;\n }\n\n this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });\n if (!this.jabraSdk) {\n this.jabraSdk = await this.initializeJabraSdk();\n this.callControlFactory = this.createCallControlFactory(this.jabraSdk);\n }\n\n const deviceLabel = originalDeviceLabel.toLocaleLowerCase();\n\n this._deviceInfo = null;\n\n let selectedDevice;\n if (await this.deviceHasPermissions(deviceLabel)) {\n selectedDevice = await this.getPreviouslyConnectedDevice(deviceLabel);\n\n if (!selectedDevice) {\n console.warn('Unable to find appropriate device. Setting state to \"Not Running\" to allow a retry\"', deviceLabel);\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\n return;\n }\n } else {\n try {\n selectedDevice = await this.getDeviceFromWebhid(deviceLabel);\n } catch (e) {\n this.isConnecting &&\n this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });\n return;\n }\n }\n\n this.callControl = await this.callControlFactory.createCallControl(selectedDevice);\n await this.resetHeadsetState();\n this._processEvents(this.callControl);\n this._deviceInfo = {\n ProductName: selectedDevice.name,\n deviceName: selectedDevice.name,\n attached: true,\n deviceId: selectedDevice.id.toString(),\n };\n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\n }\n\n async deviceHasPermissions (deviceLabel: string): Promise<boolean> {\n const allowedHIDDevices = await (window.navigator as any).hid.getDevices();\n let deviceFound = false;\n allowedHIDDevices.forEach(device => {\n if (deviceLabel.includes(device?.productName?.toLowerCase())) {\n deviceFound = true;\n }\n });\n return deviceFound;\n }\n\n async getPreviouslyConnectedDevice (deviceLabel: string): Promise<IDevice> {\n const waitForDevice: Observable<IDevice> = this.jabraSdk.deviceList.pipe(\n defaultIfEmpty(null),\n first((devices: IDevice[]) => !!devices.length),\n map((devices: IDevice[]) =>\n devices.find((device) => this.isDeviceInList(device, deviceLabel))\n ),\n filter((device) => !!device),\n timeout(15000)\n );\n\n return firstValueFrom(waitForDevice).catch((err) => {\n if (err instanceof TimeoutError || err instanceof EmptyError) {\n return null;\n }\n\n return Promise.reject(err);\n });\n }\n\n async getDeviceFromWebhid (deviceLabel: string): Promise<IDevice> {\n this.requestWebHidPermissions(webHidPairing);\n\n return firstValueFrom(\n this.jabraSdk.deviceList.pipe(\n map((devices: IDevice[]) =>\n devices.find((device) => this.isDeviceInList(device, deviceLabel))\n ),\n filter((device) => !!device),\n first(),\n timeout(30000)\n )\n ).catch((err) => {\n if (err instanceof TimeoutError) {\n err = new Error('The selected device was not granted WebHID permissions');\n }\n this.logger.error(err);\n return Promise.reject(err);\n });\n }\n\n /* istanbul ignore next */\n async initializeJabraSdk (): Promise<IApi> {\n return init({\n appId: 'softphone-vendor-headsets',\n appName: 'Softphone Headset Library',\n transport: RequestedBrowserTransport.CHROME_EXTENSION_WITH_WEB_HID_FALLBACK,\n });\n }\n\n /* istanbul ignore next */\n createCallControlFactory (sdk: IApi): CallControlFactory {\n return new CallControlFactory(sdk);\n }\n\n checkForCallLockError (message: unknown, type: unknown): boolean {\n return (\n (type as ErrorType) === ErrorType.SDK_USAGE_ERROR && (message as string).includes('call lock')\n );\n }\n\n async resetHeadsetState (): Promise<void> {\n if (!this.callControl) {\n return;\n }\n\n try {\n await this.callControl.takeCallLock();\n this.callControl.hold(false);\n this.callControl.mute(false);\n this.callControl.offHook(false);\n this.callControl.releaseCallLock();\n } catch (e) {\n this.logger.warn('Failed to takeCallLock in order to resetHeadsetState. Ignoring reset.');\n }\n }\n\n async disconnect (): Promise<void> {\n try {\n if (!this.callLock) {\n return this.logger.info(\n 'Currently not in possession of the Call Lock; Cannot react to Device Actions'\n );\n }\n this.callControl.releaseCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n } else {\n this.logger.error(type, message);\n }\n } finally {\n this.resetHeadsetState();\n this.callLock = false;\n if (this.activeConversationId) {\n this.activeConversationId = null;\n }\n this.headsetEventSubscription && this.headsetEventSubscription.unsubscribe();\n (this.isConnected || this.isConnecting) &&\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\n }\n }\n}","export enum JabraNativeCommands {\n Ring = 'ringer',\n Offhook = 'offhook',\n Mute = 'mute',\n Hold = 'hold',\n}\n\nexport interface JabraNativeHeadsetState {\n ringing: boolean;\n offHook: boolean;\n}\n\nexport const HeadsetEvent = 'JabraEvent';\nexport const DeviceEvent = 'JabraDeviceAttached';\n\ntype HeadsetEvent = typeof HeadsetEvent;\ntype DeviceEvent = typeof DeviceEvent;\n\nexport interface JabraHeadsetEvent {\n msg: HeadsetEvent;\n eventName: JabraNativeEventNames;\n value?: any;\n hidInput: string;\n}\n\nexport interface JabraDeviceEvent {\n msg: DeviceEvent;\n attached: boolean;\n deviceId: number;\n deviceName: string;\n}\n\nexport enum JabraNativeEventNames {\n OffHook = 'OffHook',\n Mute = 'Mute',\n Hold = 'Flash',\n RejectCall = 'RejectCall',\n}\n","import { debounce, isCefHosted, requestCefPromise, timedPromise } from '../../../../utils';\nimport { VendorImplementation, ImplementationConfig } from '../../vendor-implementation';\nimport DeviceInfo from '../../../../types/device-info';\nimport { CallInfo } from '../../../../types/call-info';\nimport { JabraNativeHeadsetState, JabraHeadsetEvent, HeadsetEvent, JabraDeviceEvent, DeviceEvent, JabraNativeCommands, JabraNativeEventNames } from './types';\n\nconst connectTimeout = 5000;\nconst offHookThrottleTime = 500;\n\nexport default class JabraNativeService extends VendorImplementation {\n private static instance: JabraNativeService;\n\n isActive = false;\n devices: Map<string, DeviceInfo> = null;\n activeDeviceId: string = null;\n headsetState: JabraNativeHeadsetState = null;\n ignoreNextOffhookEvent = false;\n cefSupportsJabra = true;\n pendingConversationId: string;\n activeConversationId: string;\n pendingConversationIsOutbound: boolean;\n\n private constructor(config: ImplementationConfig) {\n super(config);\n this.vendorName = 'Jabra';\n this.headsetState = { ringing: false, offHook: false };\n this.devices = new Map<string, DeviceInfo>();\n\n if (isCefHosted()) {\n if (this.isHostedContextInitialized()) {\n this.setupNativeHandlers();\n } else {\n this.waitForHostedContext();\n }\n }\n }\n\n private isHostedContextInitialized (): boolean {\n return (window as any).Orgspan?.serviceFor('application').get('hostedContext').isHosted();\n }\n\n private waitForHostedContext () {\n setTimeout(() => {\n if (this.isHostedContextInitialized()) {\n this.setupNativeHandlers()\n } else {\n this.waitForHostedContext();\n }\n }, 500);\n }\n\n private setupNativeHandlers () {\n const hostedContext = (window as any).Orgspan?.serviceFor('application').get('hostedContext');\n this.cefSupportsJabra = hostedContext.supportsJabra();\n hostedContext.on('JabraEvent', this.handleJabraEvent.bind(this));\n hostedContext.on('JabraDeviceAttached', this.handleJabraDeviceAttached.bind(this));\n }\n\n static getInstance(config: ImplementationConfig): JabraNativeService {\n if (!JabraNativeService.instance || config.createNew) {\n JabraNativeService.instance = new JabraNativeService(config);\n }\n\n return JabraNativeService.instance;\n }\n\n get deviceInfo(): DeviceInfo {\n if (\n this.activeDeviceId === null ||\n this.devices === null ||\n (this.devices && !this.devices.size)\n ) {\n return null;\n }\n\n return this.devices.get(this.activeDeviceId);\n }\n\n get deviceName(): string {\n return this.deviceInfo && this.deviceInfo.deviceName;\n }\n\n get isDeviceAttached(): boolean {\n return !!this.deviceInfo;\n }\n\n private isHeadsetEvent (event: any): event is JabraHeadsetEvent {\n return event.msg === HeadsetEvent;\n }\n\n private isDeviceEvent (event: any): event is JabraDeviceEvent {\n return event.msg === DeviceEvent;\n }\n\n private handleCefEvent(event: any): void {\n if (!this.isConnected) {\n return;\n }\n\n if (this.isDeviceEvent(event)) {\n this.handleJabraDeviceAttached(event)\n } else if (this.isHeadsetEvent(event)) {\n this.handleJabraEvent(event);\n }\n }\n\n private handleJabraDeviceAttached(event: JabraDeviceEvent): void {\n this.logger.debug('handling jabra attach/detach event', event);\n this.updateDevices();\n }\n\n private handleJabraEvent(event: JabraHeadsetEvent): void {\n this.logger.debug(`Jabra event received`, event);\n this._processEvent(event.eventName, event.value);\n }\n\n private _handleOffhookEvent(isOffhook: boolean): void {\n // if is incoming\n if (isOffhook) {\n this.activeConversationId = this.pendingConversationId;\n this.pendingConversationId = null;\n if (this.headsetState.ringing) {\n\n if (!this.pendingConversationIsOutbound) {\n this.deviceAnsweredCall({name: 'CallOffHook', conversationId: this.activeConversationId});\n }\n\n // jabra requires you to echo the event back in acknowledgement\n this._sendCmd(JabraNativeCommands.Offhook, isOffhook);\n this._setRinging(false);\n }\n\n return;\n }\n\n if (this.activeConversationId) {\n this._sendCmd(JabraNativeCommands.Offhook, isOffhook);\n this.deviceEndedCall({name: 'CallOnHook', conversationId: this.activeConversationId});\n }\n this._getHeadsetIntoVanillaState();\n this.activeConversationId = null;\n }\n\n private _handleMuteEvent(isMuted: boolean): void {\n // jabra requires you to echo the event back in acknowledgement\n this._sendCmd(JabraNativeCommands.Mute, isMuted);\n this.isMuted = isMuted;\n this.deviceMuteChanged({\n isMuted: isMuted,\n name: isMuted ? 'CallMuted' : 'CallUnmuted',\n conversationId: this.activeConversationId\n });\n }\n\n private _handleHoldEvent(isHeld: boolean): void {\n // jabra requires you to echo the event back in acknowledgement\n this._sendCmd(JabraNativeCommands.Hold, !!isHeld);\n this.deviceHoldStatusChanged({\n holdRequested: !!isHeld,\n name: !!isHeld ? 'OnHold' : 'ResumeCall',\n conversationId: this.activeConversationId\n });\n }\n\n private _getHeadsetIntoVanillaState(): void {\n this.setHold(null, false);\n this.setMute(false);\n }\n\n private _sendCmd(cmd: JabraNativeCommands, value: boolean): void {\n const deviceId = this.activeDeviceId;\n this.logger.debug('Sending command to headset', { deviceId, cmd, value });\n\n (window as any)._HostedContextFunctions.sendEventToDesktop(\n 'jabraEvent',\n {\n deviceID: deviceId,\n event: cmd,\n value\n }\n );\n }\n\n private _setRinging(value: boolean): void {\n this._sendCmd(JabraNativeCommands.Ring, value);\n this.headsetState.ringing = value;\n }\n\n isSupported (): boolean {\n return isCefHosted() && this.cefSupportsJabra;\n }\n\n deviceLabelMatchesVendor(label: string): boolean {\n const lowerLabel = label.toLowerCase();\n return ['jabra'].some(searchVal => lowerLabel.includes(searchVal));\n }\n\n async setMute(value: boolean): Promise<void> {\n this._sendCmd(JabraNativeCommands.Mute, value);\n }\n\n async setHold(conversationId: string, value: boolean): Promise<void> {\n this._sendCmd(JabraNativeCommands.Hold, value);\n }\n\n async incomingCall(callInfo: CallInfo): Promise<void> {\n this.pendingConversationId = callInfo.conversationId;\n this.pendingConversationIsOutbound = false;\n this._setRinging(true);\n }\n\n async answerCall(conversationId: string, autoAnswer?: boolean): Promise<void> {\n if (autoAnswer) {\n this.pendingConversationId = conversationId;\n }\n // HACK: for some reason the headset echos an offhook event even though it was the app that answered the call rather than the headset\n this.ignoreNextOffhookEvent = true;\n this._sendCmd(JabraNativeCommands.Offhook, true);\n }\n\n async rejectCall(): Promise<void> {\n this._setRinging(false);\n this.pendingConversationId = null;\n }\n\n async outgoingCall(callInfo: CallInfo): Promise<void> {\n this.pendingConversationId = callInfo.conversationId;\n this.pendingConversationIsOutbound = true;\n this._sendCmd(JabraNativeCommands.Offhook, true);\n }\n\n async endCall(conversationId: string, hasOtherActiveCalls: boolean): Promise<void> {\n this._setRinging(false);\n\n if (!hasOtherActiveCalls) {\n this._sendCmd(JabraNativeCommands.Offhook, false);\n }\n this.activeConversationId = null;\n }\n\n async endAllCalls(): Promise<void> {\n this._setRinging(false);\n this._sendCmd(JabraNativeCommands.Offhook, false);\n this.activeConversationId = null;\n }\n\n async updateDevices(): Promise<void> {\n try {\n const data = (await requestCefPromise({ cmd: 'requestJabraDevices' })) as DeviceInfo[];\n\n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\n\n if (!data || !data.length) {\n this.devices.clear();\n this.activeDeviceId = null;\n\n this.logger.error(new Error('No attached jabra devices'));\n return;\n }\n\n this.logger.info('connected jabra devices', data);\n this.devices.clear();\n data.forEach(device => this.devices.set(device.deviceID, device));\n this.activeDeviceId = data[0].deviceID;\n\n // reset headset state\n this._setRinging(false);\n this.setMute(false);\n } catch (err) {\n this.logger.error('Failed to connect to jabra', err);\n this.disconnect();\n }\n }\n\n private _processEvent(eventName: any, value: any): void {\n switch (eventName) {\n case JabraNativeEventNames.OffHook:\n debounce(() => this._handleOffhookEvent(value), offHookThrottleTime)();\n break;\n\n case JabraNativeEventNames.RejectCall:\n this.deviceRejectedCall({name: JabraNativeEventNames.RejectCall, conversationId: this.pendingConversationId});\n break;\n\n case JabraNativeEventNames.Mute:\n this._handleMuteEvent(value);\n break;\n\n case JabraNativeEventNames.Hold:\n this._handleHoldEvent(value);\n break;\n }\n }\n\n connect(): Promise<void> {\n this.changeConnectionStatus({ isConnected: false, isConnecting: true });\n\n return timedPromise(this.updateDevices(), connectTimeout).catch(err => {\n this.logger.error('Failed to connect to Jabra', err);\n });\n }\n\n disconnect(): Promise<void> {\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\n\n return Promise.resolve();\n }\n}","import { VendorImplementation, ImplementationConfig } from \"../vendor-implementation\";\r\nimport { CallInfo } from '../../..';\r\nimport DeviceInfo, { PartialHIDDevice } from \"../../../types/device-info\";\r\nimport { PartialInputReportEvent } from '../../../types/consumed-headset-events';\r\nimport { isCefHosted } from \"../../../utils\";\r\n\r\nconst offhookFlag = 0b1;\r\nconst muteFlag = 0b10;\r\nconst ringFlag = 0b100;\r\nconst holdFlag = 0b1000;\r\nconst recMuteFlag = 0b100;\r\nconst recReject = 0x40;\r\nconst HEADSET_USAGE = 0x0005;\r\nconst HEADSET_USAGE_PAGE = 0x000B;\r\nconst VENDOR_ID = 0x6993;\r\n\r\nexport default class YealinkService extends VendorImplementation {\r\n private static instance: YealinkService;\r\n\r\n private pendingConversationId: string;\r\n private activeConversationId: string;\r\n\r\n private _deviceInfo: DeviceInfo = null;\r\n private activeDevice: any;\r\n\r\n private callState = 0;\r\n private recCallState = 0;\r\n\r\n private isHold = false;\r\n\r\n private inputReportReportId: null|number = null;\r\n vendorName = 'Yealink';\r\n\r\n static getInstance (config: ImplementationConfig): YealinkService {\r\n if (!YealinkService.instance) {\r\n YealinkService.instance = new YealinkService(config);\r\n }\r\n\r\n return YealinkService.instance;\r\n }\r\n\r\n get deviceInfo (): DeviceInfo {\r\n return this._deviceInfo;\r\n }\r\n\r\n isSupported (): boolean {\r\n return (window.navigator as any).hid && !isCefHosted();\r\n }\r\n\r\n deviceLabelMatchesVendor (label: string): boolean {\r\n const lowerLabel = label.toLowerCase();\r\n return ['yealink', '(6993:'].some(searchVal => lowerLabel.includes(searchVal));\r\n }\r\n\r\n async connect (originalDeviceLabel: string): Promise<void> {\r\n if (!this.isConnecting) {\r\n this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });\r\n }\r\n const deviceLabel = originalDeviceLabel.toLowerCase();\r\n\r\n const deviceList: PartialHIDDevice[] = await (window.navigator as any).hid.getDevices();\r\n deviceList.forEach(device => {\r\n if (!this.activeDevice) {\r\n if (deviceLabel.includes(device?.productName?.toLowerCase())) {\r\n for (const collection of device.collections) {\r\n if (collection.usage === HEADSET_USAGE &&\r\n collection.usagePage === HEADSET_USAGE_PAGE) {\r\n this.activeDevice = device;\r\n if (collection.inputReports.length !== 0) {\r\n this.inputReportReportId = collection.inputReports[0].reportId;\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (!this.activeDevice) {\r\n try {\r\n this.activeDevice = await new Promise((resolve, reject) => {\r\n const waiter = setTimeout(reject, 30000);\r\n this.requestWebHidPermissions(async () => {\r\n const productId = this.deductProductId(originalDeviceLabel);\r\n const filters = [{ usage: HEADSET_USAGE, usagePage: HEADSET_USAGE_PAGE, vendorId: VENDOR_ID, productId: productId || undefined }];\r\n await (window.navigator as any).hid.requestDevice({ filters });\r\n clearTimeout(waiter);\r\n const deviceLists: PartialHIDDevice[] = await (window.navigator as any).hid.getDevices();\r\n let bFind = false;\r\n deviceLists.forEach(device => {\r\n if (deviceLabel.includes(device?.productName?.toLowerCase())) {\r\n for (const collection of device.collections) {\r\n if (collection.usage === HEADSET_USAGE\r\n && collection.usagePage === HEADSET_USAGE_PAGE) {\r\n bFind = true;\r\n if (collection.inputReports.length !== 0) {\r\n this.inputReportReportId = collection.inputReports[0].reportId;\r\n }\r\n resolve(device);\r\n break;\r\n }\r\n }\r\n }\r\n });\r\n if (!bFind) {\r\n reject();\r\n }\r\n });\r\n });\r\n } catch (error) {\r\n this.isConnecting && this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });\r\n this.logger.error('The selected device was not granted WebHID permissions');\r\n return;\r\n }\r\n }\r\n\r\n if (!this.activeDevice.opened) {\r\n await this.activeDevice.open();\r\n }\r\n\r\n this.logger.debug(`get device reportId ${this.inputReportReportId}`);\r\n this.activeDevice.addEventListener('inputreport', (event: PartialInputReportEvent) => {\r\n if (event.reportId !== this.inputReportReportId) {\r\n return;\r\n }\r\n const value = event.data.getUint8(0);\r\n\r\n this.processBtnPress(value);\r\n });\r\n this._deviceInfo = {\r\n ProductName: this.activeDevice.productName,\r\n };\r\n\r\n if (this.isConnecting && !this.isConnected) {\r\n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\r\n }\r\n }\r\n\r\n async disconnect (): Promise<void> {\r\n if (this.isConnected || this.isConnecting) {\r\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\r\n }\r\n if (this.activeDevice) {\r\n this.activeDevice.close();\r\n this.activeDevice = null;\r\n this._deviceInfo = null;\r\n this.inputReportReportId = 0;\r\n }\r\n }\r\n\r\n processBtnPress (value: number): void {\r\n if (!this.activeDevice) {\r\n this.logger.error('do not have active device');\r\n return;\r\n }\r\n this.logger.debug(`User pressed button ${value}. local ${this.recCallState}`);\r\n const changeFlag = value ^ this.recCallState;\r\n if (changeFlag === 0) {\r\n return;\r\n }\r\n if (value !== 0\r\n && (this.callState & (~muteFlag)) === 0) {\r\n this.logger.debug(`Not talking, ignore key`);\r\n return;\r\n }\r\n this.recCallState = value;\r\n if (changeFlag & offhookFlag) {\r\n if (value & offhookFlag) {\r\n this.answerCall();\r\n if (this.activeConversationId) {\r\n this.deviceAnsweredCall({\r\n name: 'OffHook',\r\n conversationId: this.activeConversationId,\r\n });\r\n }\r\n else {\r\n this.logger.debug(`activeConversationId is empty`);\r\n }\r\n } else if (!this.isHold) {\r\n this.sendOpToDevice(this.isMuted ? muteFlag : 0);\r\n if (this.activeConversationId) {\r\n this.deviceEndedCall({\r\n name: 'OnHook',\r\n conversationId: this.activeConversationId,\r\n });\r\n }\r\n else {\r\n this.logger.debug(`activeConversationId is empty`);\r\n }\r\n this.activeConversationId = null;\r\n }\r\n } else if (changeFlag & recMuteFlag) {\r\n if (value & recMuteFlag) {\r\n this.setMute(!this.isMuted);\r\n this.deviceMuteChanged({\r\n isMuted: this.isMuted,\r\n name: this.isMuted ? 'CallMuted' : 'CallUnmuted',\r\n conversationId: this.activeConversationId,\r\n });\r\n }\r\n } else if (changeFlag & holdFlag) {\r\n if (value & holdFlag) {\r\n this.setHold(null, !this.isHold);\r\n this.deviceHoldStatusChanged({\r\n holdRequested: this.isHold,\r\n name: this.isHold ? 'OnHold' : 'ResumeCall',\r\n conversationId: this.activeConversationId,\r\n });\r\n }\r\n } else if (changeFlag & recReject) {\r\n if (value & recReject) {\r\n this.deviceRejectedCall({\r\n name: 'Reject',\r\n conversationId: this.pendingConversationId,\r\n });\r\n this.rejectCall();\r\n }\r\n }\r\n }\r\n\r\n async incomingCall (callInfo: CallInfo): Promise<void> {\r\n if (callInfo) {\r\n this.pendingConversationId = callInfo.conversationId;\r\n const val = this.isMuted ? muteFlag : 0;\r\n this.sendOpToDevice(val | ringFlag);\r\n }\r\n }\r\n\r\n async outgoingCall (callInfo: CallInfo): Promise<void> {\r\n this.pendingConversationId = callInfo.conversationId;\r\n this.sendOpToDevice(offhookFlag);\r\n }\r\n\r\n async answerCall (): Promise<void> {\r\n if (this.pendingConversationId) {\r\n this.activeConversationId = this.pendingConversationId;\r\n this.pendingConversationId = null;\r\n }\r\n const val = this.isMuted ? muteFlag : 0;\r\n this.sendOpToDevice(val | offhookFlag);\r\n }\r\n\r\n async rejectCall (): Promise<void> {\r\n this.pendingConversationId = null;\r\n this.sendOpToDevice(this.isMuted ? muteFlag : 0);\r\n }\r\n\r\n async endCall (conversationId: string, hasOtherActiveCalls: boolean): Promise<void> {\r\n if (hasOtherActiveCalls) {\r\n return;\r\n }\r\n\r\n if (conversationId === this.activeConversationId) {\r\n this.activeConversationId = null;\r\n }\r\n // keep mute state\r\n this.sendOpToDevice(this.isMuted ? muteFlag : 0);\r\n }\r\n\r\n async endAllCalls (): Promise<void> {\r\n this.activeConversationId = null;\r\n this.sendOpToDevice(this.isMuted ? muteFlag : 0);\r\n }\r\n\r\n async setMute (value: boolean): Promise<void> {\r\n if (value) {\r\n this.sendOpToDevice(this.callState | muteFlag);\r\n } else {\r\n this.sendOpToDevice(this.callState & (~muteFlag));\r\n }\r\n }\r\n\r\n async setHold (conversationId: string, value: boolean): Promise<void> {\r\n if (value) {\r\n const setValue = this.callState & (~offhookFlag);\r\n this.sendOpToDevice(setValue | holdFlag);\r\n } else {\r\n const setValue = this.callState & (~holdFlag);\r\n this.sendOpToDevice(setValue | offhookFlag);\r\n }\r\n }\r\n\r\n async sendOpToDevice (value: number): Promise<void> {\r\n if (!this.activeDevice || this.inputReportReportId === 0) {\r\n this.logger.error('do not have active device');\r\n return;\r\n }\r\n\r\n if (value & holdFlag) {\r\n this.isHold = true;\r\n } else {\r\n this.isHold = false;\r\n }\r\n\r\n if (value & muteFlag) {\r\n this.isMuted = true;\r\n } else {\r\n this.isMuted = false;\r\n }\r\n\r\n this.logger.debug(`send to dev ${value}`);\r\n this.callState = value;\r\n await this.activeDevice.sendReport(this.inputReportReportId, new Uint8Array([value]));\r\n }\r\n}","function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function e(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function r(t){return function(){var r=this,n=arguments;return new Promise((function(o,i){var a=t.apply(r,n);function u(t){e(a,o,i,u,c,\"next\",t)}function c(t){e(a,o,i,u,c,\"throw\",t)}u(void 0)}))}}function n(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,f(n.key),n)}}function o(t,e){var r=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!r){if(Array.isArray(t)||(r=l(t))||e){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function i(t,e,r){return(e=f(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function u(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?a(Object(r),!0).forEach((function(e){i(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function c(){c=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i=\"function\"==typeof Symbol?Symbol:{},a=i.iterator||\"@@iterator\",u=i.asyncIterator||\"@@asyncIterator\",s=i.toStringTag||\"@@toStringTag\";function f(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{f({},\"\")}catch(t){f=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var i=e&&e.prototype instanceof b?e:b,a=Object.create(i.prototype),u=new N(n||[]);return o(a,\"_invoke\",{value:x(t,r,u)}),a}function p(t,e,r){try{return{type:\"normal\",arg:t.call(e,r)}}catch(t){return{type:\"throw\",arg:t}}}e.wrap=l;var v=\"suspendedStart\",h=\"suspendedYield\",d=\"executing\",y=\"completed\",g={};function b(){}function O(){}function E(){}var w={};f(w,a,(function(){return this}));var m=Object.getPrototypeOf,T=m&&m(m(A([])));T&&T!==r&&n.call(T,a)&&(w=T);var L=E.prototype=b.prototype=Object.create(w);function k(t){[\"next\",\"throw\",\"return\"].forEach((function(e){f(t,e,(function(t){return this._invoke(e,t)}))}))}function I(t,e){function r(o,i,a,u){var c=p(t[o],t,i);if(\"throw\"!==c.type){var s=c.arg,f=s.value;return f&&\"object\"==typeof f&&n.call(f,\"__await\")?e.resolve(f.__await).then((function(t){r(\"next\",t,a,u)}),(function(t){r(\"throw\",t,a,u)})):e.resolve(f).then((function(t){s.value=t,a(s)}),(function(t){return r(\"throw\",t,a,u)}))}u(c.arg)}var i;o(this,\"_invoke\",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function x(e,r,n){var o=v;return function(i,a){if(o===d)throw Error(\"Generator is already running\");if(o===y){if(\"throw\"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var u=n.delegate;if(u){var c=_(u,n);if(c){if(c===g)continue;return c}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(o===v)throw o=y,n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);o=d;var s=p(e,r,n);if(\"normal\"===s.type){if(o=n.done?y:h,s.arg===g)continue;return{value:s.arg,done:n.done}}\"throw\"===s.type&&(o=y,n.method=\"throw\",n.arg=s.arg)}}}function _(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,\"throw\"===n&&e.iterator.return&&(r.method=\"return\",r.arg=t,_(e,r),\"throw\"===r.method)||\"return\"!==n&&(r.method=\"throw\",r.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),g;var i=p(o,e.iterator,r.arg);if(\"throw\"===i.type)return r.method=\"throw\",r.arg=i.arg,r.delegate=null,g;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,\"return\"!==r.method&&(r.method=\"next\",r.arg=t),r.delegate=null,g):a:(r.method=\"throw\",r.arg=new TypeError(\"iterator result is not an object\"),r.delegate=null,g)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function N(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(C,this),this.reset(!0)}function A(e){if(e||\"\"===e){var r=e[a];if(r)return r.call(e);if(\"function\"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return i.next=i}}throw new TypeError(typeof e+\" is not iterable\")}return O.prototype=E,o(L,\"constructor\",{value:E,configurable:!0}),o(E,\"constructor\",{value:O,configurable:!0}),O.displayName=f(E,s,\"GeneratorFunction\"),e.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===O||\"GeneratorFunction\"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,E):(t.__proto__=E,f(t,s,\"GeneratorFunction\")),t.prototype=Object.create(L),t},e.awrap=function(t){return{__await:t}},k(I.prototype),f(I.prototype,u,(function(){return this})),e.AsyncIterator=I,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new I(l(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},k(L),f(L,s,\"Generator\"),f(L,a,(function(){return this})),f(L,\"toString\",(function(){return\"[object Generator]\"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=A,N.prototype={constructor:N,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=t,this.tryEntries.forEach(S),!e)for(var r in this)\"t\"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return u.type=\"throw\",u.arg=e,r.next=n,o&&(r.method=\"next\",r.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],u=a.completion;if(\"root\"===a.tryLoc)return o(\"end\");if(a.tryLoc<=this.prev){var c=n.call(a,\"catchLoc\"),s=n.call(a,\"finallyLoc\");if(c&&s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!s)throw Error(\"try statement without catch or finally\");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,\"finallyLoc\")&&this.prev<o.finallyLoc){var i=o;break}}i&&(\"break\"===t||\"continue\"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method=\"next\",this.next=i.finallyLoc,g):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),g},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),S(r),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if(\"throw\"===n.type){var o=n.arg;S(r)}return o}}throw Error(\"illegal catch attempt\")},delegateYield:function(e,r,n){return this.delegate={iterator:A(e),resultName:r,nextLoc:n},\"next\"===this.method&&(this.arg=t),g}},e}function s(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e);else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(t,e)||l(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function f(t){var e=function(t,e){if(\"object\"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e||\"default\");if(\"object\"!=typeof n)return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"==typeof e?e:e+\"\"}function l(e,r){if(e){if(\"string\"==typeof e)return t(e,r);var n={}.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}}var p,v,h,d;function y(t){return 65535&t}function g(t){return t>>>16}function b(t){return t.isAbsolute?d.ToggleSwitch:d.ToggleButton}!function(t){t[t.LED=8]=\"LED\",t[t.TELEPHONY=11]=\"TELEPHONY\"}(p||(p={})),function(t){t[t.PROGRAMMABLE_BUTTON=7]=\"PROGRAMMABLE_BUTTON\",t[t.HOOK_SWITCH=32]=\"HOOK_SWITCH\",t[t.FLASH=33]=\"FLASH\",t[t.PHONE_MUTE=47]=\"PHONE_MUTE\"}(v||(v={})),function(t){t[t.MUTE=9]=\"MUTE\",t[t.OFF_HOOK=23]=\"OFF_HOOK\",t[t.RING=24]=\"RING\",t[t.HOLD=32]=\"HOLD\"}(h||(h={})),function(t){t[t.ToggleButton=0]=\"ToggleButton\",t[t.ToggleSwitch=1]=\"ToggleSwitch\"}(d||(d={}));var O,E={usage:5,usagePage:p.TELEPHONY},w=[v.HOOK_SWITCH,v.PHONE_MUTE,v.PROGRAMMABLE_BUTTON],m=[h.OFF_HOOK,h.RING,h.MUTE],T=function(){function t(e){var r=this;!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),i(this,\"device\",void 0),i(this,\"inputEventInfos\",void 0),i(this,\"inputEventObserverCallbacks\",void 0),i(this,\"outputEventInfos\",void 0),this.device=e,this.inputEventInfos=w.reduce((function(t,e){return u(u({},t),{},i({},e,void 0))}),{}),this.inputEventObserverCallbacks=w.reduce((function(t,e){return u(u({},t),{},i({},e,[]))}),{}),this.outputEventInfos=m.reduce((function(t,e){return u(u({},t),{},i({},e,void 0))}),{}),this.parseDeviceDescriptors(),this.device.addEventListener(\"inputreport\",(function(t){return r.onInputReport(t)}))}return e=t,a=[{key:\"onInputReport\",value:function(t){var e,r,n,i,a,u,c,s,f=this.device.productId;if(f>=64&&f<=130&&5===t.reportId)switch(t.data.getUint8(0)){case 32:null===(e=(r=this.inputEventObserverCallbacks[v.HOOK_SWITCH])[0])||void 0===e||e.call(r,!0,d.ToggleSwitch);break;case 8:this.inputEventObserverCallbacks[v.PROGRAMMABLE_BUTTON][0](!0,d.ToggleSwitch);break;case 0:null===(n=(i=this.inputEventObserverCallbacks[v.HOOK_SWITCH])[0])||void 0===n||n.call(i,!1,d.ToggleSwitch);break;case 1:null===(a=(u=this.inputEventObserverCallbacks[v.PHONE_MUTE])[0])||void 0===a||a.call(u,!1,d.ToggleSwitch);break;case 5:null===(c=(s=this.inputEventObserverCallbacks[v.PHONE_MUTE])[0])||void 0===c||c.call(s,!0,d.ToggleSwitch)}else for(var l=0,p=w;l<p.length;l++){var h=p[l],y=this.inputEventInfos[h];if(void 0!==y&&t.reportId===y.reportId){var g,b=Math.trunc(y.offset/8),O=y.offset%8,E=!!(t.data.getUint8(b)&1<<O),m=o(this.inputEventObserverCallbacks[h]);try{for(m.s();!(g=m.n()).done;)(0,g.value)(E,y.controlType)}catch(t){m.e(t)}finally{m.f()}}}}},{key:\"close\",value:(E=r(c().mark((function t(){return c().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.device.opened){t.next=3;break}return t.next=3,this.device.close();case 3:case\"end\":return t.stop()}}),t,this)}))),function(){return E.apply(this,arguments)})},{key:\"parseDeviceDescriptors\",value:function(){if(void 0===this.device.collections)throw new Error(\"Undefined device collection\");var t=this.device.collections.find((function(t){return t.usagePage===p.TELEPHONY}));if(void 0===t)throw new Error(\"No telephony collection\");t.inputReports&&this.parseInputReport(t.inputReports),t.outputReports&&this.parseOutputReport(t.outputReports)}},{key:\"parseInputReport\",value:function(t){var e,r,n=o(t);try{for(n.s();!(e=n.n()).done;){var i=e.value,a=0;if(void 0!==i.items&&void 0!==i.reportId){var u,c=o(i.items);try{for(c.s();!(u=c.n()).done;){var f=u.value;if(void 0!==f.usages&&void 0!==f.reportSize&&void 0!==f.reportCount&&void 0!==f.isAbsolute){var l,v=o(f.usages.entries());try{for(v.s();!(l=v.n()).done;){var h=s(l.value,2),d=h[0],O=h[1];if(g(O)===p.TELEPHONY||589831===O){var E=y(O);r=E,w.includes(r)&&(this.inputEventInfos[E]={reportId:i.reportId,offset:a+d*f.reportSize,controlType:b(f)})}}}catch(t){v.e(t)}finally{v.f()}a+=f.reportCount*f.reportSize}}}catch(t){c.e(t)}finally{c.f()}}}}catch(t){n.e(t)}finally{n.f()}}},{key:\"parseOutputReport\",value:function(t){var e,r=this,n=o(t);try{var i=function(){var t=e.value;if(void 0===t.items||void 0===t.reportId)return 1;var n,i,a=0,u=[],c=o(t.items);try{for(c.s();!(n=c.n()).done;){var f=n.value;if(void 0===f.usages||void 0===f.reportSize||void 0===f.reportCount){u=[];break}var l,v=o(f.usages.entries());try{for(v.s();!(l=v.n()).done;){var h=s(l.value,2),d=h[0],b=h[1];if(g(b)===p.LED){var O=y(b);i=O,m.includes(i)&&u.push([O,a+d*f.reportSize])}}}catch(t){v.e(t)}finally{v.f()}a+=f.reportCount*f.reportSize}}catch(t){c.e(t)}finally{c.f()}for(var E=a,w=function(){var e=s(L[T],2),n=e[0],o=e[1];r.outputEventInfos[n]={reportId:t.reportId,state:!1,offset:o,generator:function(){var e=new Uint8Array(E/8);return{reportId:t.reportId,data:e}},setter:function(t,e){if(o>=0){var r=Math.trunc(o/8),n=o%8;e[r]|=(t?1:0)<<n}return e}}},T=0,L=u;T<L.length;T++)w()};for(n.s();!(e=n.n()).done;)i()}catch(t){n.e(t)}finally{n.f()}}},{key:\"getControlType\",value:function(t){var e;if(this.supportInput(t))return null===(e=this.inputEventInfos[t])||void 0===e?void 0:e.controlType}},{key:\"supportInput\",value:function(t){return void 0!==this.inputEventInfos[t]}},{key:\"supportOutput\",value:function(t){return void 0!==this.outputEventInfos[t]}},{key:\"subscribe\",value:function(t,e){this.inputEventObserverCallbacks[t].push(e)}},{key:\"unsubscribe\",value:function(t){this.inputEventObserverCallbacks[t]=[]}},{key:\"setState\",value:function(t,e){if(this.device.opened){var r=this.outputEventInfos[t];void 0!==r&&(r.state=e)}}},{key:\"getState\",value:function(t){var e;if(this.device.opened)return null===(e=this.outputEventInfos[t])||void 0===e?void 0:e.state}},{key:\"send\",value:(O=r(c().mark((function t(e){var r,n,i,a,u,f,l,p,v,d,y,g,b,O,E,w=this;return c().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.device.opened){t.next=2;break}return t.abrupt(\"return\");case 2:if(!((r=this.device.productId)>=64&&r<=130)){t.next=21;break}if(n=e.get(h.RING),i=e.get(h.OFF_HOOK),a=e.get(h.MUTE),void 0===n){t.next=11;break}return this.setState(h.RING,n),t.next=11,this.device.sendReport(6,new Uint8Array([n?1:0,0]));case 11:if(void 0===i){t.next=15;break}return this.setState(h.OFF_HOOK,i),t.next=15,this.device.sendReport(6,new Uint8Array([i?2:0,0]));case 15:if(void 0===a){t.next=19;break}return this.setState(h.MUTE,a),t.next=19,this.device.sendReport(6,new Uint8Array([a?4:5,0]));case 19:t.next=58;break;case 21:u=[],f=o(e),t.prev=23,p=c().mark((function t(){var e,r,n,o,i;return c().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=s(l.value,2),r=e[0],n=e[1],void 0!==(o=w.outputEventInfos[r])){t.next=4;break}return t.abrupt(\"return\",1);case 4:i=u.find((function(t){return t.reportId===(null==o?void 0:o.reportId)})),void 0===i&&u.push(null==o?void 0:o.generator()),o.state=n;case 7:case\"end\":return t.stop()}}),t)})),f.s();case 26:if((l=f.n()).done){t.next=32;break}return t.delegateYield(p(),\"t0\",28);case 28:if(!t.t0){t.next=30;break}return t.abrupt(\"continue\",30);case 30:t.next=26;break;case 32:t.next=37;break;case 34:t.prev=34,t.t1=t.catch(23),f.e(t.t1);case 37:return t.prev=37,f.f(),t.finish(37);case 40:v=0,d=u;case 41:if(!(v<d.length)){t.next=58;break}y=d[v],g=0,b=m;case 44:if(!(g<b.length)){t.next=53;break}if(O=b[g],void 0!==(E=this.outputEventInfos[O])&&E.reportId===y.reportId&&E.state){t.next=49;break}return t.abrupt(\"continue\",50);case 49:y.data=E.setter(E.state,y.data);case 50:g++,t.next=44;break;case 53:return t.next=55,this.device.sendReport(y.reportId,y.data);case 55:v++,t.next=41;break;case 58:case\"end\":return t.stop()}}),t,this,[[23,34,37,40]])}))),function(t){return O.apply(this,arguments)})}],f=[{key:\"create\",value:(l=r(c().mark((function e(r){return c().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r.opened){e.next=3;break}return e.next=3,r.open();case 3:return e.abrupt(\"return\",new t(r));case 4:case\"end\":return e.stop()}}),e)}))),function(t){return l.apply(this,arguments)})}],a&&n(e.prototype,a),f&&n(e,f),Object.defineProperty(e,\"prototype\",{writable:!1}),e;var e,a,f,l,O,E}(),L=function(t){if(!t.supportInput(v.HOOK_SWITCH))throw new Error(\"Device is missing hook switch support\");if(!t.supportInput(v.PHONE_MUTE))throw new Error(\"Device is missing mute switch support\")},k=function(t){if(!t.supportOutput(h.RING))throw new Error(\"Device is missing ring support\");if(!t.supportOutput(h.OFF_HOOK))throw new Error(\"Device is missing off/on hook support\");if(!t.supportOutput(h.MUTE))throw new Error(\"Device is missing mute support\")};function I(t){return x.apply(this,arguments)}function x(){return(x=r(c().mark((function t(e){var r;return c().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,T.create(e);case 2:return r=t.sent,k(r),L(r),t.abrupt(\"return\",{productName:r.device.productName,ring:function(){return r.send(new Map([[h.RING,!0]]))},onHook:function(){return r.send(new Map([[h.OFF_HOOK,!1],[h.RING,!1],[h.MUTE,!1]]))},offHook:function(){return r.send(new Map([[h.OFF_HOOK,!0],[h.RING,!1],[h.MUTE,!1]]))},muteOn:function(){return r.send(new Map([[h.OFF_HOOK,!0],[h.RING,!1],[h.MUTE,!0]]))},muteOff:function(){return r.send(new Map([[h.OFF_HOOK,!0],[h.RING,!1],[h.MUTE,!1]]))},subscribe:function(t){r.subscribe(v.HOOK_SWITCH,(function(e,n){if(n===d.ToggleButton&&e){if(r.getState(h.RING))return void t(O.ACCEPT_CALL);if(r.getState(h.OFF_HOOK))return void t(O.END_CALL)}if(n===d.ToggleSwitch){if(e&&r.getState(h.RING))return void t(O.ACCEPT_CALL);if(!e&&r.getState(h.OFF_HOOK))return void t(O.END_CALL)}})),r.subscribe(v.PHONE_MUTE,(function(e,n){if(n===d.ToggleButton&&e)t(r.getState(h.MUTE)?O.UNMUTE_CALL:O.MUTE_CALL);else if(n===d.ToggleSwitch){if(e&&!r.getState(h.MUTE))return void t(O.MUTE_CALL);if(!e&&r.getState(h.MUTE))return void t(O.UNMUTE_CALL)}})),r.subscribe(v.PROGRAMMABLE_BUTTON,(function(e,r){e&&t(O.REJECT_CALL)}))},unsubscribe:function(){r.unsubscribe(v.HOOK_SWITCH),r.unsubscribe(v.PHONE_MUTE),r.unsubscribe(v.PROGRAMMABLE_BUTTON)}});case 6:case\"end\":return t.stop()}}),t)})))).apply(this,arguments)}function _(t){return C.apply(this,arguments)}function C(){return(C=r(c().mark((function t(e){var r,n,i,a;return c().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,window.navigator.hid.getDevices();case 2:r=t.sent,n=o(r),t.prev=4,n.s();case 6:if((i=n.n()).done){t.next=14;break}if(a=i.value,!e.toLowerCase().includes(a.productName.toLowerCase())){t.next=12;break}return t.next=11,I(a);case 11:return t.abrupt(\"return\",t.sent);case 12:t.next=6;break;case 14:t.next=19;break;case 16:t.prev=16,t.t0=t.catch(4),n.e(t.t0);case 19:return t.prev=19,n.f(),t.finish(19);case 22:case\"end\":return t.stop()}}),t,null,[[4,16,19,22]])})))).apply(this,arguments)}function S(t){return N.apply(this,arguments)}function N(){return(N=r(c().mark((function t(e){var r;return c().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,window.navigator.hid.requestDevice({filters:[u({vendorId:13323,productId:e.productId},E)]});case 2:if(0!==(r=t.sent).length){t.next=5;break}throw new Error(\"No requested device found\");case 5:return t.next=7,I(r[0]);case 7:return t.abrupt(\"return\",t.sent);case 8:case\"end\":return t.stop()}}),t)})))).apply(this,arguments)}!function(t){t[t.ACCEPT_CALL=0]=\"ACCEPT_CALL\",t[t.END_CALL=1]=\"END_CALL\",t[t.REJECT_CALL=2]=\"REJECT_CALL\",t[t.MUTE_CALL=3]=\"MUTE_CALL\",t[t.UNMUTE_CALL=4]=\"UNMUTE_CALL\"}(O||(O={}));export{O as DeviceSignalType,_ as findDevice,S as webhidConsent};\n","import { VendorImplementation, ImplementationConfig } from '../vendor-implementation';\nimport { CallInfo } from '../../..';\nimport DeviceInfo from '../../../types/device-info';\nimport { isCefHosted } from '../../../utils';\nimport { webhidConsent, IDevice, DeviceSignalType, findDevice } from '@vbet/webhid-sdk';\n\nexport default class VBetService extends VendorImplementation {\n private static instance: VBetService;\n\n private activeConversationId: string;\n private pendingConversationId: string;\n\n private _deviceInfo: DeviceInfo | null = null;\n private activeDevice: IDevice | null = null;\n vendorName = 'VBet';\n\n static getInstance (config: ImplementationConfig): VBetService {\n if (!VBetService.instance) {\n VBetService.instance = new VBetService(config);\n }\n return VBetService.instance;\n }\n\n get deviceInfo (): DeviceInfo {\n return this._deviceInfo;\n }\n\n isSupported (): boolean {\n return (window.navigator as any).hid && !isCefHosted();\n }\n\n deviceLabelMatchesVendor (label: string): boolean {\n const lowerLabel = label.toLowerCase();\n return ['vt', '340b'].some((searchVal) => lowerLabel.includes(searchVal));\n }\n\n async connect (originalDeviceLabel: string): Promise<void> {\n if (!this.isConnecting) {\n this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });\n }\n try {\n const dev = await findDevice(originalDeviceLabel);\n if (dev) {\n this.activeDevice = dev;\n } else {\n const dev = await new Promise<IDevice>((resolve, reject) => {\n const productId = this.deductProductId(originalDeviceLabel);\n const waiter = setTimeout(()=>reject('The selected device was not granted WebHID permissions'), 30000);\n this.requestWebHidPermissions(() => {\n webhidConsent({\n productId: productId ? productId : undefined,\n })\n .then((res) => {\n resolve(res);\n clearTimeout(waiter);\n })\n .catch((err) => {\n reject(err);\n });\n });\n });\n this.activeDevice = dev;\n }\n } catch (error) {\n this.isConnecting &&\n this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });\n this.logger.error(error);\n return;\n }\n\n this._deviceInfo = {\n ProductName: this.activeDevice.productName,\n };\n\n this.activeDevice.subscribe(this.processBtnPress);\n \n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\n }\n\n processBtnPress = (signal:DeviceSignalType):void => {\n switch (signal) {\n case DeviceSignalType.ACCEPT_CALL:\n if (this.pendingConversationId) {\n this.answerCall(this.pendingConversationId);\n this.deviceAnsweredCall({\n name: 'OffHook',\n conversationId: this.activeConversationId,\n });\n } else {\n this.logger.error('No call to be answered');\n }\n break;\n case DeviceSignalType.END_CALL:\n if (this.activeConversationId) {\n const id = this.activeConversationId;\n this.endCall(id);\n this.deviceEndedCall({\n name: 'OnHook',\n conversationId: id,\n });\n } else {\n this.logger.error('No call to be terminated');\n }\n break;\n case DeviceSignalType.MUTE_CALL:\n case DeviceSignalType.UNMUTE_CALL:\n if (this.activeConversationId) {\n this.setMute(signal===DeviceSignalType.MUTE_CALL);\n this.deviceMuteChanged({\n isMuted: this.isMuted,\n name: this.isMuted ? 'CallMuted' : 'CallUnmuted',\n conversationId: this.activeConversationId,\n });\n } else {\n this.logger.error('No call to be muted');\n }\n break;\n case DeviceSignalType.REJECT_CALL:\n if (this.pendingConversationId) {\n this.rejectCall(this.pendingConversationId);\n this.deviceRejectedCall({\n name: 'Reject',\n conversationId: this.pendingConversationId,\n });\n } else {\n this.logger.error('No call to be rejected');\n }\n break;\n }\n }\n\n async disconnect (): Promise<void> {\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\n this.activeDevice && this.activeDevice.unsubscribe();\n this.activeDevice = null;\n this._deviceInfo = null;\n this.isMuted = false;\n }\n\n async incomingCall (callInfo: CallInfo): Promise<void> {\n this.pendingConversationId = callInfo.conversationId;\n this.activeDevice.ring();\n }\n\n async outgoingCall (callInfo: CallInfo): Promise<void> {\n this.activeConversationId = callInfo.conversationId;\n this.activeDevice.offHook();\n }\n\n async answerCall (conversationId: string, autoAnswer?: boolean): Promise<void> {\n if (this.pendingConversationId === conversationId || autoAnswer) {\n this.activeConversationId = conversationId;\n this.pendingConversationId = '';\n this.activeDevice.offHook();\n } else {\n this.logger.error('no call to be answered');\n }\n }\n\n async rejectCall (conversationId: string): Promise<void> {\n if (conversationId === this.pendingConversationId) {\n this.pendingConversationId = '';\n this.activeDevice.onHook();\n } else {\n this.logger.error('no call to be rejected');\n }\n }\n\n async endCall (conversationId: string): Promise<void> {\n if (conversationId === this.activeConversationId) {\n this.activeConversationId = '';\n this.pendingConversationId = '';\n this.activeDevice.onHook();\n } else {\n this.logger.error('no call to be ended');\n }\n }\n\n async endAllCalls (): Promise<void> {\n this.activeConversationId = '';\n this.pendingConversationId = '';\n this.activeDevice.onHook();\n }\n\n async setMute (value: boolean): Promise<void> {\n this.isMuted = value;\n this.isMuted ? this.activeDevice.muteOn() : this.activeDevice.muteOff();\n }\n}\n","import { Observable, Subject } from 'rxjs';\nimport { VendorImplementation, ImplementationConfig } from './vendor-implementations/vendor-implementation';\nimport CyberAcousticsService from './vendor-implementations/CyberAcoustics/CyberAcoustics';\nimport PlantronicsService from './vendor-implementations/plantronics/plantronics';\nimport SennheiserService from './vendor-implementations/sennheiser/sennheiser';\nimport JabraService from './vendor-implementations/jabra/jabra';\nimport JabraNativeService from './vendor-implementations/jabra/jabra-native/jabra-native';\nimport YealinkService from './vendor-implementations/yealink/yealink';\nimport VBetService from './vendor-implementations/vbet/vbet';\nimport { CallInfo } from '../types/call-info';\nimport { VendorEvent, HoldEventInfo, MutedEventInfo, EventInfoWithConversationId } from '../types/emitted-headset-events';\nimport { WebHidPermissionRequest } from '..';\nimport { ConsumedHeadsetEvents, HeadsetEvents, DeviceConnectionStatus } from '../types/consumed-headset-events';\nimport { HeadsetState, HeadsetStateRecord, UpdateReasons } from '../types/headset-states';\n\ntype StateProps = Partial<HeadsetState>;\ntype StateCompareProps = { conversationId: string; state: StateProps };\n\nconst REMOVE_WAIT = 2000;\n\nexport default class HeadsetService {\n private static instance: HeadsetService;\n\n plantronics: VendorImplementation;\n jabraNative: VendorImplementation;\n jabra: VendorImplementation;\n sennheiser: VendorImplementation;\n yealink: VendorImplementation;\n vbet:VendorImplementation;\n cyberAcoustics: VendorImplementation;\n selectedImplementation: VendorImplementation;\n headsetEvents$: Observable<ConsumedHeadsetEvents>;\n\n private headsetConversationStates: { [conversationId: string]: HeadsetStateRecord } = {};\n private _headsetEvents$: Subject<ConsumedHeadsetEvents>;\n private logger: any;\n\n private constructor (config: ImplementationConfig) {\n this._headsetEvents$ = new Subject<ConsumedHeadsetEvents>();\n this.headsetEvents$ = this._headsetEvents$.asObservable();\n\n this.logger = config.logger || console;\n this.plantronics = PlantronicsService.getInstance({ logger: this.logger, appName: config.appName });\n this.jabraNative = JabraNativeService.getInstance({ logger: this.logger });\n this.jabra = JabraService.getInstance({ logger: this.logger });\n this.sennheiser = SennheiserService.getInstance({ logger: this.logger });\n this.yealink = YealinkService.getInstance({ logger: this.logger });\n this.vbet = VBetService.getInstance({ logger: this.logger });\n this.cyberAcoustics = CyberAcousticsService.getInstance({ logger: this.logger });\n\n [this.plantronics, this.jabra, this.jabraNative, this.sennheiser, this.yealink, this.vbet, this.cyberAcoustics].forEach(implementation => this.subscribeToHeadsetEvents(implementation));\n }\n\n static getInstance (config: ImplementationConfig): HeadsetService {\n if (!HeadsetService.instance || config.createNew) {\n HeadsetService.instance = new HeadsetService(config);\n }\n\n return HeadsetService.instance;\n }\n\n get implementations (): VendorImplementation[] {\n const implementations = [\n this.sennheiser,\n this.plantronics,\n this.jabra,\n this.jabraNative,\n this.yealink,\n this.vbet,\n this.cyberAcoustics\n ].filter((impl) => impl.isSupported());\n\n return implementations;\n }\n\n private isDifferentState (props: StateCompareProps): boolean {\n const state = this.headsetConversationStates[props.conversationId];\n\n // different if there's no state or any of the provided state props don't match\n return !state || Object.entries(props.state).some(([key, value]) => state[key] !== value);\n }\n\n private updateHeadsetState (props: StateCompareProps, opts = { expectExistingConversation: true }): boolean {\n if (this.isDifferentState(props)) {\n const state = this.headsetConversationStates[props.conversationId];\n if (!state) {\n if (opts.expectExistingConversation) {\n this.logger.warn('updateHeadsetState has no existing state for provided conversationId.', { conversationId: props.conversationId });\n }\n return false;\n }\n Object.assign(state, props.state);\n return true;\n }\n\n return false;\n }\n\n deviceIsSupported (params: { micLabel: string }): boolean {\n if (!params.micLabel) {\n return false;\n }\n\n const implementation = this.implementations.find((implementation) => {\n return implementation.deviceLabelMatchesVendor(params.micLabel);\n });\n return !!implementation;\n }\n\n activeMicChange (newMicLabel: string, changeReason?: UpdateReasons): void {\n if (newMicLabel) {\n const implementation = this.implementations.find((implementation) => implementation.deviceLabelMatchesVendor(newMicLabel));\n if (implementation) {\n this.changeImplementation(implementation, newMicLabel);\n } else if (this.selectedImplementation) {\n this.clearSelectedImplementation(changeReason);\n }\n } else {\n this.clearSelectedImplementation(changeReason);\n }\n }\n\n async changeImplementation (implementation: VendorImplementation | null, deviceLabel: string): Promise<void> {\n if (implementation === this.selectedImplementation) {\n return;\n }\n\n if (this.selectedImplementation) {\n // remove headsetStates associated with implementation\n this.headsetConversationStates = {};\n\n await this.selectedImplementation.disconnect();\n }\n\n this.selectedImplementation = implementation;\n\n this._headsetEvents$.next({ event: HeadsetEvents.implementationChanged, payload: implementation });\n\n if (implementation) {\n await implementation.connect(deviceLabel);\n }\n }\n\n async incomingCall (callInfo: CallInfo, hasOtherActiveCalls?: boolean): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n this.headsetConversationStates[callInfo.conversationId] = {\n conversationId: callInfo.conversationId,\n held: false,\n muted: false,\n offHook: false,\n ringing: true\n };\n\n return implementation.incomingCall(callInfo, hasOtherActiveCalls);\n }\n\n async outgoingCall (callInfo: CallInfo): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n this.headsetConversationStates[callInfo.conversationId] = {\n conversationId: callInfo.conversationId,\n held: false,\n muted: false,\n offHook: true,\n ringing: false\n };\n\n return implementation.outgoingCall(callInfo);\n }\n\n async answerCall (conversationId: string, autoAnswer?: boolean): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n if (!autoAnswer) {\n const expectedStatePostAction: Partial<HeadsetState> = {\n ringing: false,\n offHook: true\n };\n\n if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {\n return implementation.answerCall(conversationId);\n }\n } else {\n this.headsetConversationStates[conversationId] = {\n conversationId: conversationId,\n held: false,\n muted: false,\n offHook: true,\n ringing: false\n };\n\n return implementation.answerCall(conversationId, autoAnswer);\n }\n }\n\n async rejectCall (conversationId: string, expectExistingConversation = true): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n ringing: false\n };\n\n if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction }, { expectExistingConversation })) {\n const headsetState = this.headsetConversationStates[conversationId];\n headsetState.removeTimer = this.setRemoveTimer(conversationId);\n return implementation.rejectCall(conversationId);\n }\n }\n\n async setMute (value: boolean): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n if (Object.values(this.headsetConversationStates).some(headsetState => headsetState.muted !== value)) {\n Object.values(this.headsetConversationStates).forEach(headsetState => headsetState.muted = value);\n return implementation.setMute(value);\n }\n }\n\n async setHold (conversationId: string, value: boolean): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n held: value\n };\n\n if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {\n return implementation.setHold(conversationId, value);\n }\n }\n\n async endCall (conversationId: string, hasOtherActiveCalls?: boolean): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n offHook: false\n };\n\n if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {\n const headsetState = this.headsetConversationStates[conversationId];\n headsetState.removeTimer = this.setRemoveTimer(conversationId);\n return implementation.endCall(conversationId, hasOtherActiveCalls);\n }\n }\n\n async endAllCalls (): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n Object.values(this.headsetConversationStates).forEach((headsetState) => {\n if (!headsetState.removeTimer) {\n headsetState.removeTimer = this.setRemoveTimer(headsetState.conversationId);\n }\n });\n\n return implementation.endAllCalls();\n }\n\n retryConnection (micLabel: string): Promise<void> {\n if (!this.selectedImplementation) {\n return Promise.reject(new Error('No active headset implementation'));\n }\n\n return this.selectedImplementation.connect(micLabel);\n }\n\n connectionStatus (): DeviceConnectionStatus {\n if (this.selectedImplementation) {\n if (!this.selectedImplementation.isConnected && !this.selectedImplementation.isConnecting) {\n return 'notRunning';\n }\n return this.selectedImplementation.isConnected ? 'running' : 'checking';\n }\n return 'noVendor';\n }\n\n resetHeadsetStateForCall (conversationId: string): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (implementation) {\n return implementation.resetHeadsetStateForCall(conversationId);\n } else {\n this.logger.info('No active implementation, headset state does not require a reset');\n }\n }\n\n private getConnectedImpl (): VendorImplementation {\n const impl = this.selectedImplementation;\n if (!impl || !impl.isConnected) {\n return null;\n }\n\n return impl;\n }\n\n private subscribeToHeadsetEvents (implementation: VendorImplementation) {\n implementation.on(HeadsetEvents.deviceAnsweredCall, this.handleDeviceAnsweredCall.bind(this));\n implementation.on(HeadsetEvents.deviceRejectedCall, this.handleDeviceRejectedCall.bind(this));\n implementation.on(HeadsetEvents.deviceEndedCall, this.handleDeviceEndedCall.bind(this));\n implementation.on(HeadsetEvents.deviceMuteStatusChanged, this.handleDeviceMuteStatusChanged.bind(this));\n implementation.on(HeadsetEvents.deviceHoldStatusChanged, this.handleDeviceHoldStatusChanged.bind(this));\n implementation.on(HeadsetEvents.deviceEventLogs, this.handleDeviceLogs.bind(this));\n implementation.on(HeadsetEvents.deviceConnectionStatusChanged, this.handleDeviceConnectionStatusChanged.bind(this));\n implementation.on(HeadsetEvents.webHidPermissionRequested, this.handleWebHidPermissionRequested.bind(this));\n }\n\n private clearSelectedImplementation (clearReason?: UpdateReasons): void {\n if (!this.selectedImplementation) {\n return;\n }\n\n this.selectedImplementation.disconnect(clearReason);\n this._headsetEvents$.next({ event: HeadsetEvents.implementationChanged, payload: null });\n this.selectedImplementation = null;\n this.handleDeviceConnectionStatusChanged();\n }\n\n private setRemoveTimer (conversationId) {\n return setTimeout(() => {\n // we are using the removeTimer to make sure this is actually slated for removal.\n // if we get a new incoming call for example, it will replace the current state which is slated for\n // removal and we don't want to remove it if it's a new/updated state\n if (this.headsetConversationStates[conversationId].removeTimer) {\n delete this.headsetConversationStates[conversationId];\n }\n }, REMOVE_WAIT);\n }\n\n private handleDeviceAnsweredCall (event: VendorEvent<EventInfoWithConversationId>): void {\n if (event.vendor !== this.selectedImplementation) {\n return;\n }\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n ringing: false,\n offHook: true\n };\n\n this.updateHeadsetState({ conversationId: event.body.conversationId, state: expectedStatePostAction });\n\n this.logger.info('Headset: device answered the call');\n this._headsetEvents$.next({ event: HeadsetEvents.deviceAnsweredCall, payload: { ...event.body } });\n }\n\n private handleDeviceRejectedCall (event: VendorEvent<EventInfoWithConversationId>): void {\n if (event.vendor !== this.selectedImplementation) {\n return;\n }\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n ringing: false\n };\n const conversationId = event.body.conversationId;\n if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {\n const headsetState = this.headsetConversationStates[conversationId];\n headsetState.removeTimer = this.setRemoveTimer(conversationId);\n }\n\n this.logger.info('Headset: device rejected the call');\n this._headsetEvents$.next({ event: HeadsetEvents.deviceRejectedCall, payload: { ...event.body } });\n }\n\n private handleDeviceEndedCall (event: VendorEvent<EventInfoWithConversationId>): void {\n this.logger.info('Headset: device ended the call');\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n offHook: false\n };\n\n const conversationId = event.body.conversationId;\n\n if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {\n const headsetState = this.headsetConversationStates[conversationId];\n headsetState.removeTimer = this.setRemoveTimer(conversationId);\n }\n\n this._headsetEvents$.next({ event: HeadsetEvents.deviceEndedCall, payload: { ...event.body } });\n }\n\n private handleDeviceMuteStatusChanged (event: VendorEvent<MutedEventInfo>): void {\n this.logger.info('Headset: device mute status changed: ', event.body.isMuted);\n if (Object.values(this.headsetConversationStates).some(headsetState => headsetState.muted !== event.body.isMuted)) {\n Object.values(this.headsetConversationStates).forEach(headsetState => headsetState.muted = event.body.isMuted);\n }\n this._headsetEvents$.next({ event: HeadsetEvents.deviceMuteStatusChanged, payload: { ...event.body } });\n }\n\n private handleDeviceHoldStatusChanged (event: VendorEvent<HoldEventInfo>): void {\n this.logger.info('Headset: device hold status changed', event.body.holdRequested);\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n held: event.body.holdRequested\n };\n const conversationId = event.body.conversationId;\n this.updateHeadsetState({ conversationId, state: expectedStatePostAction });\n\n this._headsetEvents$.next({ event: HeadsetEvents.deviceHoldStatusChanged, payload: { ...event.body } });\n }\n\n private handleDeviceConnectionStatusChanged (): void {\n this._headsetEvents$.next({ event: HeadsetEvents.deviceConnectionStatusChanged, payload: this.connectionStatus() });\n }\n\n private handleWebHidPermissionRequested (event: VendorEvent<WebHidPermissionRequest>): void {\n this.logger.debug('Requesting Webhid Permissions');\n this._headsetEvents$.next({ event: HeadsetEvents.webHidPermissionRequested, payload: { ...event.body } });\n }\n\n /* This function has no functional purpose in a real life example\n * It is here to help log all events in the call process at least for Plantronics\n */\n private handleDeviceLogs (eventInfo: VendorEvent<any>): void {\n this._headsetEvents$.next({ event: HeadsetEvents.loggableEvent, payload: { ...eventInfo.body } });\n }\n}","import DeviceInfo from '../../types/device-info';\nimport StrictEventEmitter from 'strict-event-emitter-types';\nimport { EventEmitter } from 'events';\nimport { EmittedHeadsetEvents, EventInfo, EventInfoWithConversationId, HoldEventInfo, MutedEventInfo } from '../../types/emitted-headset-events';\nimport { CallInfo } from '../..';\nimport { UpdateReasons } from '../../types/headset-states';\n\ntype HeadsetEventName = keyof EmittedHeadsetEvents;\n\nexport interface ImplementationConfig {\n logger: any;\n vendorName?: string;\n appName?: string;\n createNew?: boolean; // this should only be used for testing\n}\n\nexport abstract class VendorImplementation extends (EventEmitter as { new(): StrictEventEmitter<EventEmitter, EmittedHeadsetEvents> }) {\n // TODO: rename this to something more descriptive\n vendorName = 'Not Specified';\n isConnecting = false; // trying to connect with the headset controlling software, ex: plantronics hub\n isConnected = false; // represents a connection to the headset controlling software, ex: plantronics hub\n isMuted = false;\n errorCode: string = null;\n disableRetry = false;\n logger: any; // TODO: pass this in on creation?\n config: ImplementationConfig;\n\n constructor (config: ImplementationConfig) {\n super();\n const eventEmitter = new EventEmitter();\n Object.keys((eventEmitter as any).__proto__).forEach((name) => {\n this[name] = eventEmitter[name];\n });\n\n this.config = config;\n this.vendorName = config.vendorName;\n this.logger = config.logger;\n }\n\n get isDeviceAttached (): boolean {\n throw new Error(`${this.vendorName} - isDeviceAttatched getter not implemented`);\n }\n\n isSupported (): boolean {\n return true;\n }\n\n abstract get deviceInfo (): DeviceInfo;\n\n /* eslint-disable @typescript-eslint/no-unused-vars */\n deviceLabelMatchesVendor (label: string): boolean {\n throw new Error(`${this.vendorName} - deviceLabelMatchesVendor() not implemented`);\n }\n\n connect (selectedMicLabel?: string): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - connect() not implemented`));\n }\n\n disconnect (clearReason?: UpdateReasons): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - disconnect() not implemented`));\n }\n\n incomingCall (callInfo: CallInfo, hasOtherActiveCalls?: boolean): Promise<any> {\n // TODO: propagate this changed parameter (used to be callInfo, but there are several differents signatures in the implementing classes)\n return Promise.reject(new Error(`${this.vendorName} - incomingCall() not implemented`));\n }\n\n outgoingCall (callInfo: CallInfo): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - outgoingCall() not implemented`));\n }\n\n answerCall (conversationId: string, autoAnswer?: boolean): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - answerCall() not implemented`));\n }\n\n rejectCall (conversationId: string): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - rejectCall() not implemented`));\n }\n\n endCall (conversationId: string, hasOtherActiveCalls: boolean): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - endCall() not implemented`));\n }\n\n endAllCalls (): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - endAllCalls() not implemented`));\n }\n\n setMute (value: boolean): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - setMute() not implemented`));\n }\n\n setHold (conversationId: string, value: boolean): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - setHold() not implemented`));\n }\n\n resetHeadsetStateForCall (conversationId?: string): Promise<any> {\n return this.rejectCall(conversationId);\n }\n /* eslint-enable */\n\n private emitEvent (eventName: HeadsetEventName, eventBody: any) {\n this.emit(eventName, { vendor: this, body: { ...eventBody } });\n }\n\n /* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n requestWebHidPermissions (callback: any): void {\n /* eslint-enable */\n this.logger.debug('Emitting premission request event');\n this.emitEvent('webHidPermissionRequested', { callback });\n }\n\n deviceAnsweredCall (eventInfo: EventInfoWithConversationId): void {\n this.emitEvent('deviceAnsweredCall', eventInfo);\n }\n\n deviceRejectedCall (eventInfo: EventInfoWithConversationId): void {\n this.emitEvent('deviceRejectedCall', eventInfo);\n }\n\n deviceEndedCall (eventInfo: EventInfoWithConversationId): void {\n this.emitEvent('deviceEndedCall', eventInfo);\n }\n\n deviceMuteChanged (eventInfo: MutedEventInfo): void {\n this.emitEvent('deviceMuteStatusChanged', { ...eventInfo });\n }\n\n deviceHoldStatusChanged (eventInfo: HoldEventInfo): void {\n this.emitEvent('deviceHoldStatusChanged', { ...eventInfo });\n }\n\n deviceEventLogs (eventInfo: EventInfo): void {\n this.emitEvent('deviceEventLogs', eventInfo);\n }\n\n changeConnectionStatus (headsetState: {isConnected: boolean, isConnecting: boolean}): void {\n this.isConnected = headsetState.isConnected;\n this.isConnecting = headsetState.isConnecting;\n this.emitEvent('deviceConnectionStatusChanged', { currentVendor: this, ...headsetState });\n }\n\n /**\n * Try to deduct the product id based on the label.\n * Making the assumption that the label will end with (vendorid:productid).\n *\n * @param selectedMicLabel\n * @returns The product id if matched or null.\n */\n deductProductId (selectedMicLabel: string) : number {\n const match = selectedMicLabel?.match(/\\((\\w+):(\\w+)\\)$/);\n return match ? parseInt(match[2], 16) : null;\n }\n}\n","import { VendorImplementation } from \"../services/vendor-implementations/vendor-implementation\";\nimport { EventInfoWithConversationId, HoldEventInfo, MutedEventInfo, WebHidPermissionRequest } from \"./emitted-headset-events\";\n\nexport enum HeadsetEvents {\n implementationChanged = 'implementationChanged',\n deviceHoldStatusChanged = 'deviceHoldStatusChanged',\n deviceMuteStatusChanged = 'deviceMuteStatusChanged',\n deviceAnsweredCall = 'deviceAnsweredCall',\n deviceEndedCall = 'deviceEndedCall',\n deviceRejectedCall = 'deviceRejectedCall',\n loggableEvent = 'loggableEvent',\n webHidPermissionRequested = 'webHidPermissionRequested',\n deviceConnectionStatusChanged = 'deviceConnectionStatusChanged',\n deviceEventLogs = 'deviceEventLogs',\n}\n\ntype Events = {\n [HeadsetEvents.implementationChanged]: VendorImplementation;\n [HeadsetEvents.deviceHoldStatusChanged]: HoldEventInfo;\n [HeadsetEvents.deviceMuteStatusChanged]: MutedEventInfo;\n [HeadsetEvents.deviceAnsweredCall]: EventInfoWithConversationId;\n [HeadsetEvents.deviceEndedCall]: EventInfoWithConversationId\n [HeadsetEvents.deviceRejectedCall]: EventInfoWithConversationId;\n [HeadsetEvents.loggableEvent]: any;\n [HeadsetEvents.webHidPermissionRequested]: WebHidPermissionRequest;\n [HeadsetEvents.deviceConnectionStatusChanged]: DeviceConnectionStatus;\n}\n\nexport type DeviceConnectionStatus = 'checking' | 'running' | 'notRunning' | 'noVendor';\n\nexport type ConsumedHeadsetEvents<T = keyof Events> = T extends keyof Events\n ? { event: T, payload: Events[T] }\n : never;\n\nexport interface PartialInputReportEvent {\n reportId: number;\n data: DataView;\n}","!function(e,r){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=r():\"function\"==typeof define&&define.amd?define(r):e.browserama=r()}(this,function(){\"use strict\";var e=\"undefined\"==typeof window,r=!1,t=!1,o=!1,i=!1,n=!1,d=!1,u=!1,w=!1,s=!1,m=!1;return e||(r=\"undefined\"!=typeof InstallTrigger,t=!!window.chrome,o=!!window.chrome,i=t&&!window.chrome.webstore&&!window.chrome.runtime,n=0<Object.prototype.toString.call(window.HTMLElement).indexOf(\"Constructor\")||window.safari&&window.safari.pushNotification,d=!!window.opr&&!!window.opr.addons||!!window.opera,u=!!window.StyleMedia,w=t&&!!navigator.userAgent.match(/edg/i),s=(o||d)&&!!window.CSS,m=!(t||n||r||d||!document.documentMode)),{get isChrome(){return o},get isChromeOrChromium(){return t},get isChromium(){return i},get isFirefox(){return r},get isSafari(){return n},get isOpera(){return d},get isEdge(){return u},get isEdgeChromium(){return w},get isIE(){return m},get isBlink(){return s}}});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n define(['exports', 'module'], factory);\n } else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {\n factory(exports, module);\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, mod);\n global.fetchJsonp = mod.exports;\n }\n})(this, function (exports, module) {\n 'use strict';\n\n var defaultOptions = {\n timeout: 5000,\n jsonpCallback: 'callback',\n jsonpCallbackFunction: null\n };\n\n function generateCallbackFunction() {\n return 'jsonp_' + Date.now() + '_' + Math.ceil(Math.random() * 100000);\n }\n\n function clearFunction(functionName) {\n // IE8 throws an exception when you try to delete a property on window\n // http://stackoverflow.com/a/1824228/751089\n try {\n delete window[functionName];\n } catch (e) {\n window[functionName] = undefined;\n }\n }\n\n function removeScript(scriptId) {\n var script = document.getElementById(scriptId);\n if (script) {\n document.getElementsByTagName('head')[0].removeChild(script);\n }\n }\n\n function fetchJsonp(_url) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n // to avoid param reassign\n var url = _url;\n var timeout = options.timeout || defaultOptions.timeout;\n var jsonpCallback = options.jsonpCallback || defaultOptions.jsonpCallback;\n\n var timeoutId = undefined;\n\n return new Promise(function (resolve, reject) {\n var callbackFunction = options.jsonpCallbackFunction || generateCallbackFunction();\n var scriptId = jsonpCallback + '_' + callbackFunction;\n\n window[callbackFunction] = function (response) {\n resolve({\n ok: true,\n // keep consistent with fetch API\n json: function json() {\n return Promise.resolve(response);\n }\n });\n\n if (timeoutId) clearTimeout(timeoutId);\n\n removeScript(scriptId);\n\n clearFunction(callbackFunction);\n };\n\n // Check if the user set their own params, and if not add a ? to start a list of params\n url += url.indexOf('?') === -1 ? '?' : '&';\n\n var jsonpScript = document.createElement('script');\n jsonpScript.setAttribute('src', '' + url + jsonpCallback + '=' + callbackFunction);\n if (options.charset) {\n jsonpScript.setAttribute('charset', options.charset);\n }\n if (options.nonce) {\n jsonpScript.setAttribute('nonce', options.nonce);\n }\n if (options.referrerPolicy) {\n jsonpScript.setAttribute('referrerPolicy', options.referrerPolicy);\n }\n if (options.crossorigin) {\n jsonpScript.setAttribute('crossorigin', 'true');\n }\n jsonpScript.id = scriptId;\n document.getElementsByTagName('head')[0].appendChild(jsonpScript);\n\n timeoutId = setTimeout(function () {\n reject(new Error('JSONP request to ' + _url + ' timed out'));\n\n clearFunction(callbackFunction);\n removeScript(scriptId);\n window[callbackFunction] = function () {\n clearFunction(callbackFunction);\n };\n }, timeout);\n\n // Caught if got 404/500\n jsonpScript.onerror = function () {\n reject(new Error('JSONP request to ' + _url + ' failed'));\n\n clearFunction(callbackFunction);\n removeScript(scriptId);\n if (timeoutId) clearTimeout(timeoutId);\n };\n });\n }\n\n // export as global function\n /*\n let local;\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n local.fetchJsonp = fetchJsonp;\n */\n\n module.exports = fetchJsonp;\n});","module.exports = __WEBPACK_EXTERNAL_MODULE__690__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import HeadsetService from './services/headset';\nimport { VendorImplementation } from './services/vendor-implementations/vendor-implementation';\n\nexport * from './types/call-info';\nexport * from './types/consumed-headset-events';\nexport * from './types/device-info';\nexport * from './types/emitted-headset-events';\nexport * from './types/headset-states';\nexport { VendorImplementation };\nexport default HeadsetService;\n"],"names":["root","factory","exports","module","require","define","amd","self","__WEBPACK_EXTERNAL_MODULE__690__","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__generator","thisArg","body","f","y","t","g","_","label","sent","trys","ops","next","verb","Symbol","iterator","n","v","op","done","value","pop","length","push","e","step","__values","o","s","m","i","__read","r","ar","error","__spreadArray","to","from","pack","arguments","l","slice","concat","__await","isFunction","createErrorClass","createImpl","ctorFunc","instance","Error","stack","SuppressedError","UnsubscriptionError","_super","errors","message","map","err","toString","join","name","arrRemove","arr","item","index","indexOf","splice","Subscription","initialTeardown","closed","_parentage","_finalizers","unsubscribe","e_1","_a","e_2","_b","isArray","_parentage_1","_parentage_1_1","remove","e_1_1","return","initialFinalizer","_finalizers_1","_finalizers_1_1","finalizer","execFinalizer","e_2_1","add","teardown","_hasParent","_addParent","parent","includes","_removeParent","EMPTY","empty","EMPTY_SUBSCRIPTION","isSubscription","config","undefined","timeoutProvider","setTimeout","handler","timeout","args","_i","delegate","apply","clearTimeout","handle","reportUnhandledError","noop","COMPLETE_NOTIFICATION","createNotification","kind","context","errorContext","cb","isRoot","errorThrown","Subscriber","destination","_this","isStopped","EMPTY_OBSERVER","complete","SafeSubscriber","handleStoppedNotification","nextNotification","_next","_error","_complete","_bind","Function","bind","fn","ConsumerObserver","partialObserver","handleUnhandledError","observerOrNext","context_1","notification","subscriber","onStoppedNotification","observable","identity","x","Observable","subscribe","_subscribe","lift","operator","source","isObserver","_trySubscribe","sink","forEach","promiseCtor","getPromiseCtor","resolve","reject","pipe","operations","fns","input","reduce","prev","toPromise","Promise","ObjectUnsubscribedError","Subject","currentObservers","observers","hasError","thrownError","subject","AnonymousSubject","_throwIfClosed","_c","shift","defineProperty","get","enumerable","configurable","_checkFinalizedStatuses","_innerSubscribe","asObservable","isCefHosted","window","_HostedContextFunctions","requestCefPromise","cmd","sCmd","JSON","stringify","cefQuery","request","persistent","onSuccess","response","obj","parse","onFailure","console","_regeneratorRuntime","a","c","asyncIterator","u","toStringTag","writable","wrap","Generator","Context","makeInvokeMethod","tryCatch","type","arg","h","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","values","defineIteratorMethods","_invoke","AsyncIterator","invoke","_typeof","then","callInvokeWithMethodAndArg","method","maybeInvokeDelegate","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","mark","awrap","async","keys","reverse","charAt","stop","rval","finish","delegateYield","asyncGeneratorStep","gen","_throw","key","info","_asyncToGenerator","_defineProperties","target","props","descriptor","_toPropertyKey","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_getPrototypeOf","_setPrototypeOf","_defineProperty","toPrimitive","_toPrimitive","hookswFlag","micMuteFlag","CALL_IDLE","CALL_INCOMING","CALL_ANSWERING","CALL_REJECTING","CALL_ACTIVE","CALL_END","CALL_OUTGOING","CyberAcousticsService","_VendorImplementation","Constructor","_classCallCheck","_len","_key","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_callSuper","Uint8Array","headsetInputReportId","vendorInputReportId","subClass","superClass","_inherits","protoProps","_deviceInfo","navigator","hid","logger","debug","lowerLabel","toLowerCase","some","searchVal","_connect","_callee2","originalDeviceLabel","bConnectSuccess","devList","_this2","_context2","currentlDeviceLabel","isConnecting","changeConnectionStatus","isConnected","getDevices","selectDevice","activeDevice","opened","open","handleDeviceConnect","HIDPermissionTimeout","requestWebHidPermissions","_callee","productId","deviceFound","_context","deductProductId","requestDevice","filters","vendorId","connectFromHidPermissions","t0","_x","_connectFromHidPermissions","_callee3","_context3","_x2","_x3","event","reportID","reportId","handeledInputReportIds","byte0","data","getUint8","wordCommand","formatHex","handleDeviceButtonPress","_handleDeviceConnect","_callee4","_context4","ProductName","productName","handleInputReport","addEventListener","numDeviceEventListeners","currentProductID","currentCallState","headsetOutputReportId","outputReportReportId","flagSupport","JLCommandSet","_this3","deviceLabel","device","_device$productName","_step","_iterator","_createForOfIteratorHelper","collections","collection","usage","usagePage","inputReports","inputReportReportId","outputReports","_disconnect","_callee5","_context5","ChangeCallState","isMuted","setMute","deviceMuteChanged","removeEventListener","close","_incomingCall","_callee6","callInfo","_context6","currentCallInfo","activeConversationId","conversationId","ParseStateEvents","_x4","_outgoingCall","_callee7","_context7","_x5","_answerCall","_callee8","autoAnswer","_context8","_x6","_x7","_rejectCall","_callee9","_context9","_endCall","_callee10","hasOtherActiveCalls","_context10","_x8","_x9","_endAllCalls","_callee11","_context11","_setMute","_callee12","_context12","UpdateDeviceStatus","_x10","_setHold","_callee13","_context13","isHolding","_x11","_x12","CAStateEvent","newstate","deviceStatus","deviceAnsweredCall","deviceEndedCall","deviceRejectedCall","flag","SendCommandToDevice","_SendCommandToDevice","_callee14","_context14","gCmdBuf","sendReport","_x13","padStart","_HidMockDeviceInit","_callee15","deviceLists","_context15","set","id","val","staticProps","VendorImplementation","PlantronicsCallEventCodes","PlantronicsService","pluginName","appName","callEventsTimerId","deviceStatusTimerId","incomingConversationId","callId","Math","round","random","pow","callMappings","plantronicsCallId","_this$_deviceInfo","deviceInfo","disableEventPolling","getCallEvents","pollForCallEvents","activePollingInterval","getDeviceStatus","pollForDeviceStatus","isDeviceAttached","connectedDeviceInterval","disconnectedDeviceInterval","_makeRequestTask2","endpoint","isRetry","_makeRequest","url","fetchJsonp","_makeRequest2","plantronicsInstance","_this4","_fetch","apiHost","json","ok","Type_Name","status","disconnect","handled","_makeRequestTask","browserama","errorCode","disableRetry","_checkIsActiveTask2","calls","_getActiveCalls","isActive","_getActiveCalls2","_result","result","_this5","Result","Calls","filter","Source","_getCallEvents","_this6","eventType","Action","eventInfo","callCorrespondingFunction","_getDeviceStatus","_this7","Err","Description","CallId","Id","_objectSpread","endCall","_checkIsActiveTask","deviceHoldStatusChanged","holdRequested","deviceEventLogs","_unregisterPlugin","_response$Err","_this8","unregisterPlugin","isError","warn","clearReason","clearTimeouts","contactName","_createCallMapping","params","halfEncodedCallIdString","encodeURI","halfEncodedContactString","_ref","incomingCall","_this9","createNew","SennheiserEvents","SennheiserEventTypes","SennheiserService","websocketConnected","ignoreAcknowledgement","payload","Event","websocket","send","EstablishConnection","EventType","Request","SPName","SPIconImage","RedialSupport","OffHookSupport","MuteSupport","DNDOption","_sendMessage","socket","WebSocket","onopen","webSocketOnOpen","onclose","webSocketOnClose","onmessage","_handleMessage","wasClean","TerminateConnection","MuteFromApp","UnmuteFromApp","Hold","Resume","CallID","IncomingCall","IncomingCallAccepted","IncomingCallRejected","OutgoingCall","CallEnded","ReturnCode","_handleError","SocketConnected","_registerSoftphone","SPLogin","SystemInformation","HeadsetConnected","HeadsetName","deviceName","headsetType","HeadsetType","HeadsetDisconnected","Notification","Ack","_handleAck","MuteFromHeadset","UnmuteFromHeadset","readyState","EmptyError","firstValueFrom","hasConfig","defaultValue","scheduler","work","schedule","state","delay","intervalProvider","setInterval","clearInterval","AsyncAction","pending","recycleAsyncId","requestAsyncId","_id","flush","_scheduler","execute","_execute","_delay","errorValue","errored","actions","dateTimestampProvider","now","Date","Scheduler","schedulerActionCtor","asyncScheduler","AsyncScheduler","SchedulerAction","_active","action","operate","init","hasLift","liftedSource","innerFrom","isInteropObservable","obs","isArrayLike","array","promise","isAsyncIterable","fromAsyncIterable","isIterable","iterable","iterable_1","iterable_1_1","getReader","isReadableStreamLike","readableStream","_arguments","generator","q","resume","fulfill","settle","__asyncGenerator","reader","read","releaseLock","readableStreamLikeToAsyncGenerator","createInvalidObservableTypeError","asyncIterable","asyncIterable_1","asyncIterable_1_1","P","__asyncValues","fulfilled","rejected","process","catch","createOperatorSubscriber","onNext","onComplete","onError","onFinalize","OperatorSubscriber","shouldUnsubscribe","closed_1","TimeoutError","schedulerArg","first","each","with","_with","timeoutErrorFactory","_d","meta","originalSourceSubscription","timerSubscription","lastValue","seen","startTimer","parentSubscription","repeat","scheduleSubscription","executeSchedule","defaultIfEmpty","hasValue","predicate","defaultErrorFactory","hasDefaultValue","errorFactory","project","JabraService","vendorName","_this$deviceInfo","setHold","callControl","headsetEventSubscription","deviceSignals","signal","_message","_type","callLock","SignalType","HOOK_SWITCH","FLASH","ALT_HOLD","PHONE_MUTE","REJECT_CALL","pendingConversationId","offHook","ring","pendingConversationIsOutbound","code","mute","hold","releaseCallLock","_ref2","checkForCallLockError","isHeld","_ref3","takeCallLock","resetState","_ref6","_device$name","selectedDevice","jabraSdk","initializeJabraSdk","callControlFactory","createCallControlFactory","toLocaleLowerCase","deviceHasPermissions","getPreviouslyConnectedDevice","getDeviceFromWebhid","createCallControl","resetHeadsetState","_processEvents","attached","deviceId","_deviceHasPermissions","allowedHIDDevices","_getPreviouslyConnectedDevice","waitForDevice","deviceList","devices","find","isDeviceInList","_getDeviceFromWebhid","webHidPairing","_x14","_initializeJabraSdk","appId","transport","RequestedBrowserTransport","CHROME_EXTENSION_WITH_WEB_HID_FALLBACK","sdk","CallControlFactory","ErrorType","SDK_USAGE_ERROR","_resetHeadsetState","_callee16","_context16","JabraNativeCommands","JabraNativeEventNames","JabraNativeService","headsetState","ringing","Map","isHostedContextInitialized","setupNativeHandlers","waitForHostedContext","_Orgspan","Orgspan","serviceFor","isHosted","_Orgspan2","hostedContext","cefSupportsJabra","supportsJabra","on","handleJabraEvent","handleJabraDeviceAttached","activeDeviceId","size","msg","isDeviceEvent","isHeadsetEvent","updateDevices","_processEvent","eventName","isOffhook","_sendCmd","Offhook","_setRinging","_getHeadsetIntoVanillaState","Mute","sendEventToDesktop","deviceID","Ring","ignoreNextOffhookEvent","_updateDevices","clear","func","timer","OffHook","_handleOffhookEvent","RejectCall","_handleMuteEvent","_handleHoldEvent","timeoutId","timeoutPromise","race","allowArrayLike","it","minLen","_arrayLikeToArray","test","_unsupportedIterableToArray","F","_e","normalCompletion","didErr","_e2","len","arr2","YealinkService","waiter","bFind","_device$productName2","_step2","_iterator2","processBtnPress","recCallState","changeFlag","callState","answerCall","isHold","sendOpToDevice","rejectCall","setValue","_setValue","_sendOpToDevice","getOwnPropertySymbols","getOwnPropertyDescriptor","getOwnPropertyDescriptors","defineProperties","N","O","E","w","T","A","L","k","I","C","S","isAbsolute","ToggleSwitch","ToggleButton","LED","TELEPHONY","PROGRAMMABLE_BUTTON","MUTE","OFF_HOOK","RING","HOLD","inputEventInfos","inputEventObserverCallbacks","outputEventInfos","parseDeviceDescriptors","onInputReport","trunc","offset","controlType","parseInputReport","parseOutputReport","items","usages","reportSize","reportCount","entries","setter","supportInput","setState","t1","supportOutput","onHook","muteOn","muteOff","getState","ACCEPT_CALL","END_CALL","UNMUTE_CALL","MUTE_CALL","VBetService","DeviceSignalType","dev","_dev","findDevice","webhidConsent","res","HeadsetService","_headsetEvents$","headsetEvents$","plantronics","getInstance","jabraNative","jabra","sennheiser","yealink","vbet","cyberAcoustics","implementation","subscribeToHeadsetEvents","impl","isSupported","headsetConversationStates","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_slicedToArray","opts","expectExistingConversation","isDifferentState","assign","micLabel","implementations","deviceLabelMatchesVendor","newMicLabel","changeReason","changeImplementation","selectedImplementation","clearSelectedImplementation","_changeImplementation","HeadsetEvents","implementationChanged","connect","getConnectedImpl","held","muted","outgoingCall","expectedStatePostAction","updateHeadsetState","_args5","removeTimer","setRemoveTimer","endAllCalls","resetHeadsetStateForCall","handleDeviceAnsweredCall","handleDeviceRejectedCall","handleDeviceEndedCall","deviceMuteStatusChanged","handleDeviceMuteStatusChanged","handleDeviceHoldStatusChanged","handleDeviceLogs","deviceConnectionStatusChanged","handleDeviceConnectionStatusChanged","webHidPermissionRequested","handleWebHidPermissionRequested","vendor","connectionStatus","loggableEvent","eventEmitter","EventEmitter","selectedMicLabel","eventBody","emit","callback","emitEvent","currentVendor","match","parseInt","InstallTrigger","chrome","webstore","runtime","HTMLElement","safari","pushNotification","opr","addons","opera","StyleMedia","userAgent","CSS","document","documentMode","isChrome","isChromeOrChromium","isChromium","isFirefox","isSafari","isOpera","isEdge","isEdgeChromium","isIE","isBlink","ReflectOwnKeys","R","ReflectApply","receiver","ownKeys","getOwnPropertyNames","NumberIsNaN","Number","once","emitter","errorListener","removeListener","resolver","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","_getMaxListeners","that","_addListener","prepend","events","existing","warning","newListener","unshift","warned","count","onceWrapper","fired","wrapFn","_onceWrap","wrapped","_listeners","unwrap","evlistener","ret","unwrapListeners","arrayClone","listenerCount","copy","flags","wrapListener","RangeError","setMaxListeners","getMaxListeners","doError","er","listeners","addListener","prependListener","prependOnceListener","list","position","originalListener","spliceOne","off","removeAllListeners","rawListeners","eventNames","defaultOptions","clearFunction","functionName","removeScript","scriptId","script","getElementById","getElementsByTagName","removeChild","_url","options","jsonpCallback","callbackFunction","jsonpCallbackFunction","ceil","jsonpScript","createElement","setAttribute","charset","nonce","referrerPolicy","crossorigin","appendChild","onerror","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","definition","prop"],"sourceRoot":""}