softphone-vendor-headsets 2.0.0-develop.8 → 2.0.0-develop.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/dist/cjs/src/config/i18n.d.ts +2 -0
  2. package/dist/cjs/src/config/i18n.js +28 -0
  3. package/dist/cjs/src/config/i18n.js.map +1 -0
  4. package/dist/cjs/src/library/index.d.ts +8 -0
  5. package/dist/cjs/src/library/index.js +29 -0
  6. package/dist/cjs/src/library/index.js.map +1 -0
  7. package/dist/cjs/src/library/services/headset.d.ts +44 -0
  8. package/dist/cjs/src/library/services/headset.js +313 -0
  9. package/dist/cjs/src/library/services/headset.js.map +1 -0
  10. package/dist/cjs/src/library/services/headset.test.d.ts +1 -0
  11. package/dist/cjs/src/library/services/headset.test.js +800 -0
  12. package/dist/cjs/src/library/services/headset.test.js.map +1 -0
  13. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.d.ts +45 -0
  14. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js +254 -0
  15. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js.map +1 -0
  16. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.d.ts +1 -0
  17. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js +569 -0
  18. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js.map +1 -0
  19. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/types.d.ts +33 -0
  20. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/types.js +20 -0
  21. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/types.js.map +1 -0
  22. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.d.ts +48 -0
  23. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.js +396 -0
  24. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.js.map +1 -0
  25. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.test.d.ts +1 -0
  26. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.test.js +945 -0
  27. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.test.js.map +1 -0
  28. package/dist/cjs/src/library/services/vendor-implementations/jabra/mock-jabra-sdk.d.ts +7 -0
  29. package/dist/cjs/src/library/services/vendor-implementations/jabra/mock-jabra-sdk.js +11 -0
  30. package/dist/cjs/src/library/services/vendor-implementations/jabra/mock-jabra-sdk.js.map +1 -0
  31. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.d.ts +47 -0
  32. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js +51 -0
  33. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js.map +1 -0
  34. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.d.ts +1 -0
  35. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js +111 -0
  36. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js.map +1 -0
  37. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.d.ts +352 -0
  38. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js +390 -0
  39. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js.map +1 -0
  40. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.d.ts +62 -0
  41. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.js +394 -0
  42. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.js.map +1 -0
  43. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.test.d.ts +2 -0
  44. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.test.js +983 -0
  45. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.test.js.map +1 -0
  46. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.d.ts +42 -0
  47. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.js +277 -0
  48. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.js.map +1 -0
  49. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.d.ts +1 -0
  50. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js +708 -0
  51. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js.map +1 -0
  52. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/types.d.ts +40 -0
  53. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/types.js +32 -0
  54. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/types.js.map +1 -0
  55. package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.d.ts +49 -0
  56. package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.js +99 -0
  57. package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.js.map +1 -0
  58. package/dist/cjs/src/library/services/vendor-implementations/vendor-implemntation.test.d.ts +1 -0
  59. package/dist/cjs/src/library/services/vendor-implementations/vendor-implemntation.test.js +106 -0
  60. package/dist/cjs/src/library/services/vendor-implementations/vendor-implemntation.test.js.map +1 -0
  61. package/dist/cjs/src/library/test-utils.d.ts +16 -0
  62. package/dist/cjs/src/library/test-utils.js +43 -0
  63. package/dist/cjs/src/library/test-utils.js.map +1 -0
  64. package/dist/cjs/src/library/types/call-info.d.ts +4 -0
  65. package/dist/cjs/src/library/types/call-info.js +3 -0
  66. package/dist/cjs/src/library/types/call-info.js.map +1 -0
  67. package/dist/cjs/src/library/types/consumed-headset-events.d.ts +32 -0
  68. package/dist/cjs/src/library/types/consumed-headset-events.js +18 -0
  69. package/dist/cjs/src/library/types/consumed-headset-events.js.map +1 -0
  70. package/dist/cjs/src/library/types/device-info.d.ts +8 -0
  71. package/dist/cjs/src/library/types/device-info.js +3 -0
  72. package/dist/cjs/src/library/types/device-info.js.map +1 -0
  73. package/dist/cjs/src/library/types/emitted-headset-events.d.ts +34 -0
  74. package/dist/cjs/src/library/types/emitted-headset-events.js +3 -0
  75. package/dist/cjs/src/library/types/emitted-headset-events.js.map +1 -0
  76. package/dist/cjs/src/library/types/headset-states.d.ts +10 -0
  77. package/dist/cjs/src/library/types/headset-states.js +3 -0
  78. package/dist/cjs/src/library/types/headset-states.js.map +1 -0
  79. package/dist/cjs/src/library/utils.d.ts +14 -0
  80. package/dist/cjs/src/library/utils.js +80 -0
  81. package/dist/cjs/src/library/utils.js.map +1 -0
  82. package/dist/cjs/src/library/utils.test.d.ts +1 -0
  83. package/dist/cjs/src/library/utils.test.js +46 -0
  84. package/dist/cjs/src/library/utils.test.js.map +1 -0
  85. package/dist/cjs/src/mocks/call.d.ts +11 -0
  86. package/dist/cjs/src/mocks/call.js +55 -0
  87. package/dist/cjs/src/mocks/call.js.map +1 -0
  88. package/dist/cjs/src/mocks/device-service.d.ts +8 -0
  89. package/dist/cjs/src/mocks/device-service.js +44 -0
  90. package/dist/cjs/src/mocks/device-service.js.map +1 -0
  91. package/dist/cjs/src/setupTests.d.ts +1 -0
  92. package/dist/cjs/src/setupTests.js +8 -0
  93. package/dist/cjs/src/setupTests.js.map +1 -0
  94. package/dist/deploy-info.json +560 -2
  95. package/dist/es/src/config/i18n.d.ts +2 -0
  96. package/dist/es/src/config/i18n.js +23 -0
  97. package/dist/es/src/config/i18n.js.map +1 -0
  98. package/dist/es/src/library/index.d.ts +8 -0
  99. package/dist/es/src/library/index.js +9 -0
  100. package/dist/es/src/library/index.js.map +1 -0
  101. package/dist/es/src/library/services/headset.d.ts +44 -0
  102. package/dist/es/src/library/services/headset.js +307 -0
  103. package/dist/es/src/library/services/headset.js.map +1 -0
  104. package/dist/es/src/library/services/headset.test.d.ts +1 -0
  105. package/dist/es/src/library/services/headset.test.js +795 -0
  106. package/dist/es/src/library/services/headset.test.js.map +1 -0
  107. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.d.ts +45 -0
  108. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js +251 -0
  109. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js.map +1 -0
  110. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.d.ts +1 -0
  111. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js +541 -0
  112. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js.map +1 -0
  113. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/types.d.ts +33 -0
  114. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/types.js +17 -0
  115. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/types.js.map +1 -0
  116. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.d.ts +48 -0
  117. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.js +393 -0
  118. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.js.map +1 -0
  119. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.test.d.ts +1 -0
  120. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.test.js +940 -0
  121. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.test.js.map +1 -0
  122. package/dist/es/src/library/services/vendor-implementations/jabra/mock-jabra-sdk.d.ts +7 -0
  123. package/dist/es/src/library/services/vendor-implementations/jabra/mock-jabra-sdk.js +7 -0
  124. package/dist/es/src/library/services/vendor-implementations/jabra/mock-jabra-sdk.js.map +1 -0
  125. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.d.ts +47 -0
  126. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js +48 -0
  127. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js.map +1 -0
  128. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.d.ts +1 -0
  129. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js +109 -0
  130. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js.map +1 -0
  131. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.d.ts +352 -0
  132. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js +388 -0
  133. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js.map +1 -0
  134. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.d.ts +62 -0
  135. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.js +388 -0
  136. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.js.map +1 -0
  137. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.test.d.ts +2 -0
  138. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.test.js +978 -0
  139. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.test.js.map +1 -0
  140. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.d.ts +42 -0
  141. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.js +251 -0
  142. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.js.map +1 -0
  143. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.d.ts +1 -0
  144. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js +680 -0
  145. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js.map +1 -0
  146. package/dist/es/src/library/services/vendor-implementations/sennheiser/types.d.ts +40 -0
  147. package/dist/es/src/library/services/vendor-implementations/sennheiser/types.js +29 -0
  148. package/dist/es/src/library/services/vendor-implementations/sennheiser/types.js.map +1 -0
  149. package/dist/es/src/library/services/vendor-implementations/vendor-implementation.d.ts +49 -0
  150. package/dist/es/src/library/services/vendor-implementations/vendor-implementation.js +95 -0
  151. package/dist/es/src/library/services/vendor-implementations/vendor-implementation.js.map +1 -0
  152. package/dist/es/src/library/services/vendor-implementations/vendor-implemntation.test.d.ts +1 -0
  153. package/dist/es/src/library/services/vendor-implementations/vendor-implemntation.test.js +104 -0
  154. package/dist/es/src/library/services/vendor-implementations/vendor-implemntation.test.js.map +1 -0
  155. package/dist/es/src/library/test-utils.d.ts +16 -0
  156. package/dist/es/src/library/test-utils.js +38 -0
  157. package/dist/es/src/library/test-utils.js.map +1 -0
  158. package/dist/es/src/library/types/call-info.d.ts +4 -0
  159. package/dist/es/src/library/types/call-info.js +2 -0
  160. package/dist/es/src/library/types/call-info.js.map +1 -0
  161. package/dist/es/src/library/types/consumed-headset-events.d.ts +32 -0
  162. package/dist/es/src/library/types/consumed-headset-events.js +15 -0
  163. package/dist/es/src/library/types/consumed-headset-events.js.map +1 -0
  164. package/dist/es/src/library/types/device-info.d.ts +8 -0
  165. package/dist/es/src/library/types/device-info.js +2 -0
  166. package/dist/es/src/library/types/device-info.js.map +1 -0
  167. package/dist/es/src/library/types/emitted-headset-events.d.ts +34 -0
  168. package/dist/es/src/library/types/emitted-headset-events.js +2 -0
  169. package/dist/es/src/library/types/emitted-headset-events.js.map +1 -0
  170. package/dist/es/src/library/types/headset-states.d.ts +10 -0
  171. package/dist/es/src/library/types/headset-states.js +2 -0
  172. package/dist/es/src/library/types/headset-states.js.map +1 -0
  173. package/dist/es/src/library/utils.d.ts +14 -0
  174. package/dist/es/src/library/utils.js +69 -0
  175. package/dist/es/src/library/utils.js.map +1 -0
  176. package/dist/es/src/library/utils.test.d.ts +1 -0
  177. package/dist/es/src/library/utils.test.js +44 -0
  178. package/dist/es/src/library/utils.test.js.map +1 -0
  179. package/dist/es/src/mocks/call.d.ts +11 -0
  180. package/dist/es/src/mocks/call.js +52 -0
  181. package/dist/es/src/mocks/call.js.map +1 -0
  182. package/dist/es/src/mocks/device-service.d.ts +8 -0
  183. package/dist/es/src/mocks/device-service.js +41 -0
  184. package/dist/es/src/mocks/device-service.js.map +1 -0
  185. package/dist/es/src/setupTests.d.ts +1 -0
  186. package/dist/es/src/setupTests.js +6 -0
  187. package/dist/es/src/setupTests.js.map +1 -0
  188. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headset-states.js","sourceRoot":"","sources":["../../../../../react-app/src/library/types/headset-states.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ export declare function isFirefox(): boolean;
2
+ /**
3
+ *
4
+ * @param promise
5
+ * @param timeoutInMillis
6
+ *
7
+ * Returns a promise that resolves if the passed in promise resolves before the timeout
8
+ * time elapses. If the timeout elapses, then the returned promise rejects with a
9
+ * message that the timeout time was exceeded.
10
+ */
11
+ export declare function timedPromise(promise: Promise<any>, timeoutInMillis: number, timeoutError?: Error): Promise<any>;
12
+ export declare function debounce(func: () => void, delay: number): any;
13
+ export declare function isCefHosted(): boolean;
14
+ export declare function requestCefPromise(cmd: any): Promise<any>;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ /* istanbul ignore file */
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.requestCefPromise = exports.isCefHosted = exports.debounce = exports.timedPromise = exports.isFirefox = void 0;
8
+ const browserama_1 = __importDefault(require("browserama"));
9
+ function isFirefox() {
10
+ return browserama_1.default.isFireFox;
11
+ }
12
+ exports.isFirefox = isFirefox;
13
+ /**
14
+ *
15
+ * @param promise
16
+ * @param timeoutInMillis
17
+ *
18
+ * Returns a promise that resolves if the passed in promise resolves before the timeout
19
+ * time elapses. If the timeout elapses, then the returned promise rejects with a
20
+ * message that the timeout time was exceeded.
21
+ */
22
+ function timedPromise(promise, timeoutInMillis, timeoutError) {
23
+ let timeoutId;
24
+ const timeoutPromise = new Promise((resolve, reject) => {
25
+ timeoutId = setTimeout(() => {
26
+ clearTimeout(timeoutId);
27
+ reject(timeoutError ? timeoutError : 'Timed out in ' + timeoutInMillis + 'ms');
28
+ }, timeoutInMillis);
29
+ }).then(result => {
30
+ clearTimeout(timeoutId);
31
+ return result;
32
+ });
33
+ return Promise.race([promise, timeoutPromise]);
34
+ }
35
+ exports.timedPromise = timedPromise;
36
+ function debounce(func, delay) {
37
+ let timer = null;
38
+ return function () {
39
+ clearTimeout(timer);
40
+ timer = setTimeout(function () {
41
+ func();
42
+ }, delay);
43
+ };
44
+ }
45
+ exports.debounce = debounce;
46
+ function isCefHosted() {
47
+ return !!window._HostedContextFunctions;
48
+ }
49
+ exports.isCefHosted = isCefHosted;
50
+ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
51
+ function requestCefPromise(cmd) {
52
+ /* eslint-enable */
53
+ return new Promise((resolve, reject) => {
54
+ try {
55
+ const sCmd = JSON.stringify(cmd);
56
+ window.cefQuery({
57
+ request: sCmd,
58
+ persistent: false,
59
+ onSuccess: response => {
60
+ try {
61
+ const obj = JSON.parse(response);
62
+ resolve(obj);
63
+ }
64
+ catch (e) {
65
+ resolve({});
66
+ }
67
+ },
68
+ onFailure: response => {
69
+ reject(response);
70
+ }
71
+ });
72
+ }
73
+ catch (e) {
74
+ console.error('Error requesting desktop promise', e);
75
+ reject(e);
76
+ }
77
+ });
78
+ }
79
+ exports.requestCefPromise = requestCefPromise;
80
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../react-app/src/library/utils.ts"],"names":[],"mappings":";AAAA,0BAA0B;;;;;;AAE1B,4DAAoC;AAEpC,SAAgB,SAAS;IACvB,OAAO,oBAAU,CAAC,SAAS,CAAC;AAC9B,CAAC;AAFD,8BAEC;AAED;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAC1B,OAAqB,EACrB,eAAuB,EACvB,YAAoB;IAEpB,IAAI,SAAS,CAAC;IACd,MAAM,cAAc,GAAiB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnE,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,GAAG,eAAe,GAAG,IAAI,CAAC,CAAC;QACjF,CAAC,EAAE,eAAe,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACf,YAAY,CAAC,SAAS,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;AACjD,CAAC;AAjBD,oCAiBC;AAED,SAAgB,QAAQ,CAAE,IAAgB,EAAE,KAAa;IACvD,IAAI,KAAK,GAAG,IAAI,CAAC;IAEjB,OAAO;QACL,YAAY,CAAC,KAAK,CAAC,CAAC;QAEpB,KAAK,GAAG,UAAU,CAAC;YACjB,IAAI,EAAE,CAAC;QACT,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC;AAVD,4BAUC;AAED,SAAgB,WAAW;IACzB,OAAO,CAAC,CAAE,MAAc,CAAC,uBAAuB,CAAC;AACnD,CAAC;AAFD,kCAEC;AAED,sEAAsE;AACtE,SAAgB,iBAAiB,CAAE,GAAQ;IAC3C,mBAAmB;IACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAChC,MAAc,CAAC,QAAQ,CAAC;gBACvB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,KAAK;gBACjB,SAAS,EAAE,QAAQ,CAAC,EAAE;oBACpB,IAAI;wBACF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBACjC,OAAO,CAAC,GAAG,CAAC,CAAC;qBACd;oBAAC,OAAO,CAAC,EAAE;wBACV,OAAO,CAAC,EAAE,CAAC,CAAC;qBACb;gBACH,CAAC;gBACD,SAAS,EAAE,QAAQ,CAAC,EAAE;oBACpB,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnB,CAAC;aACF,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,CAAC,CAAC,CAAC;SACX;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAzBD,8CAyBC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("./utils");
4
+ describe('utils', () => {
5
+ describe('timedPromise', () => {
6
+ it('should return a promise rejection after the specified timeout', done => {
7
+ const timeout = 250;
8
+ const promiseResolutionDelay = 1000;
9
+ const expectedRejection = `Timed out in ${timeout}ms`;
10
+ const passedInPromise = new Promise((resolve) => {
11
+ const timeoutId = setTimeout(() => {
12
+ clearTimeout(timeoutId);
13
+ resolve();
14
+ }, promiseResolutionDelay);
15
+ });
16
+ (0, utils_1.timedPromise)(passedInPromise, timeout)
17
+ .then(() => {
18
+ fail('The promise should not have resolved before the specified timeout');
19
+ })
20
+ .catch(err => {
21
+ expect(err).toEqual(expectedRejection);
22
+ done();
23
+ });
24
+ }, 3000);
25
+ it('should return a promise resolution if the promise resolves before the timeout elapses', done => {
26
+ const timeout = 1000;
27
+ const promiseResolutionDelay = 100;
28
+ const expectedResolution = 'success';
29
+ const passedInPromise = new Promise((resolve) => {
30
+ const timeoutId = setTimeout(() => {
31
+ clearTimeout(timeoutId);
32
+ resolve(expectedResolution);
33
+ }, promiseResolutionDelay);
34
+ });
35
+ (0, utils_1.timedPromise)(passedInPromise, timeout)
36
+ .then(result => {
37
+ expect(result).toEqual(expectedResolution);
38
+ done();
39
+ })
40
+ .catch(() => {
41
+ fail('Promise should have resolved before the timeout elapsed');
42
+ });
43
+ }, 3000);
44
+ });
45
+ });
46
+ //# sourceMappingURL=utils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../../react-app/src/library/utils.test.ts"],"names":[],"mappings":";;AAAA,mCAAuC;AAEvC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,+DAA+D,EAAE,IAAI,CAAC,EAAE;YACzE,MAAM,OAAO,GAAG,GAAG,CAAC;YACpB,MAAM,sBAAsB,GAAG,IAAI,CAAC;YACpC,MAAM,iBAAiB,GAAG,gBAAgB,OAAO,IAAI,CAAC;YAEtD,MAAM,eAAe,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACpD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAChC,YAAY,CAAC,SAAS,CAAC,CAAC;oBACxB,OAAO,EAAE,CAAC;gBACZ,CAAC,EAAE,sBAAsB,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,IAAA,oBAAY,EAAC,eAAe,EAAE,OAAO,CAAC;iBACnC,IAAI,CAAC,GAAG,EAAE;gBACT,IAAI,CAAC,mEAAmE,CAAC,CAAC;YAC5E,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE;gBACX,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBACvC,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,EAAE,CAAC,uFAAuF,EAAE,IAAI,CAAC,EAAE;YACjG,MAAM,OAAO,GAAG,IAAI,CAAC;YACrB,MAAM,sBAAsB,GAAG,GAAG,CAAC;YACnC,MAAM,kBAAkB,GAAG,SAAS,CAAC;YAErC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAChC,YAAY,CAAC,SAAS,CAAC,CAAC;oBACxB,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBAC9B,CAAC,EAAE,sBAAsB,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,IAAA,oBAAY,EAAC,eAAe,EAAE,OAAO,CAAC;iBACnC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACb,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBAC3C,IAAI,EAAE,CAAC;YACT,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE;gBACV,IAAI,CAAC,yDAAyD,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ export default class MockCall {
2
+ id: string;
3
+ contactName: string;
4
+ ringing: boolean;
5
+ connected: boolean;
6
+ muted: boolean;
7
+ held: boolean;
8
+ constructor();
9
+ answer(): void;
10
+ end(): void;
11
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* istanbul ignore file */
4
+ const uuid_1 = require("uuid");
5
+ const defaultContacts = [
6
+ 'Lawrence W. Larson',
7
+ 'Noah Lane',
8
+ 'Pataky Pista',
9
+ 'Vladimír Brhel',
10
+ 'Lukáš Bařina',
11
+ 'Manaka Niiya',
12
+ 'Hella Tokareva',
13
+ 'Otto Mikaelsen',
14
+ 'Claudette Beaupré',
15
+ 'Paula Korhonen',
16
+ 'Archer Code',
17
+ 'Jin Maeda',
18
+ 'Leea Nikkola',
19
+ 'Michael Rabin',
20
+ 'Jasmine Cremor',
21
+ 'Human Torch',
22
+ 'Demolition Man',
23
+ 'Thomas Burton',
24
+ 'Charles Alderman',
25
+ 'Anne Ramirez',
26
+ 'Brad Halley',
27
+ 'Jesse Wingard',
28
+ 'Alexis Melville',
29
+ 'Stephanie McConnan',
30
+ 'Riley Blanchard'
31
+ ];
32
+ const getRandomContact = () => {
33
+ const index = Math.floor(Math.random() * defaultContacts.length);
34
+ return defaultContacts[index];
35
+ };
36
+ class MockCall {
37
+ constructor() {
38
+ this.ringing = true;
39
+ this.connected = false;
40
+ this.muted = false;
41
+ this.held = false;
42
+ this.id = (0, uuid_1.v4)();
43
+ this.contactName = getRandomContact();
44
+ }
45
+ answer() {
46
+ this.ringing = false;
47
+ this.connected = true;
48
+ }
49
+ end() {
50
+ this.ringing = false;
51
+ this.connected = false;
52
+ }
53
+ }
54
+ exports.default = MockCall;
55
+ //# sourceMappingURL=call.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call.js","sourceRoot":"","sources":["../../../../react-app/src/mocks/call.ts"],"names":[],"mappings":";;AAAA,0BAA0B;AAC1B,+BAA0B;AAE1B,MAAM,eAAe,GAAG;IACtB,oBAAoB;IACpB,WAAW;IACX,cAAc;IACd,gBAAgB;IAChB,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,mBAAmB;IACnB,gBAAgB;IAChB,aAAa;IACb,WAAW;IACX,cAAc;IACd,eAAe;IACf,gBAAgB;IAChB,aAAa;IACb,gBAAgB;IAChB,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,aAAa;IACb,eAAe;IACf,iBAAiB;IACjB,oBAAoB;IACpB,iBAAiB;CAClB,CAAC;AAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACjE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAqB,QAAQ;IAQzB;QALA,YAAO,GAAG,IAAI,CAAC;QACf,cAAS,GAAG,KAAK,CAAC;QAClB,UAAK,GAAG,KAAK,CAAC;QACd,SAAI,GAAG,KAAK,CAAC;QAGX,IAAI,CAAC,EAAE,GAAG,IAAA,SAAE,GAAE,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,gBAAgB,EAAE,CAAC;IACxC,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,GAAG;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;CACJ;AAtBD,2BAsBC"}
@@ -0,0 +1,8 @@
1
+ export default class DeviceService {
2
+ private hasPermissions;
3
+ private static defaultMicrophone;
4
+ initialize: () => Promise<void>;
5
+ ensureAudioPermissions: () => Promise<void | undefined>;
6
+ getDefaultMicrophone: () => MediaDeviceInfo;
7
+ setDefaultMicrophone: (microphone: MediaDeviceInfo) => void;
8
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ /* istanbul ignore file */
13
+ class DeviceService {
14
+ constructor() {
15
+ this.hasPermissions = false;
16
+ this.initialize = () => __awaiter(this, void 0, void 0, function* () {
17
+ this.ensureAudioPermissions();
18
+ const devices = yield navigator.mediaDevices.enumerateDevices();
19
+ const audioDevices = devices.filter((device) => device.kind === 'audioinput');
20
+ let mic = audioDevices.find((device) => device.deviceId === 'default' && device.kind === 'audioinput');
21
+ if (!mic) {
22
+ mic = audioDevices[0];
23
+ }
24
+ DeviceService.defaultMicrophone = mic;
25
+ });
26
+ this.ensureAudioPermissions = () => __awaiter(this, void 0, void 0, function* () {
27
+ if (this.hasPermissions) {
28
+ return;
29
+ }
30
+ const stream = yield navigator.mediaDevices.getUserMedia({ audio: true, video: false });
31
+ stream.getTracks().forEach(track => track.stop());
32
+ this.hasPermissions = true;
33
+ });
34
+ this.getDefaultMicrophone = () => {
35
+ return DeviceService.defaultMicrophone;
36
+ };
37
+ this.setDefaultMicrophone = (microphone) => {
38
+ DeviceService.defaultMicrophone = microphone;
39
+ };
40
+ }
41
+ }
42
+ exports.default = DeviceService;
43
+ DeviceService.defaultMicrophone = {};
44
+ //# sourceMappingURL=device-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-service.js","sourceRoot":"","sources":["../../../../react-app/src/mocks/device-service.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0BAA0B;AAC1B,MAAqB,aAAa;IAAlC;QACY,mBAAc,GAAG,KAAK,CAAC;QAG/B,eAAU,GAAG,GAAwB,EAAE;YACrC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;YAChE,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;YAC9E,IAAI,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;YACvG,IAAI,CAAC,GAAG,EAAE;gBACR,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;aACvB;YACD,aAAa,CAAC,iBAAiB,GAAG,GAAG,CAAC;QACxC,CAAC,CAAA,CAAA;QAED,2BAAsB,GAAG,GAAoC,EAAE;YAC7D,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,OAAO;aACR;YAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACxF,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAA,CAAA;QAED,yBAAoB,GAAG,GAAoB,EAAE;YAC3C,OAAO,aAAa,CAAC,iBAAiB,CAAC;QACzC,CAAC,CAAA;QAED,yBAAoB,GAAG,CAAC,UAA2B,EAAQ,EAAE;YAC3D,aAAa,CAAC,iBAAiB,GAAG,UAAU,CAAC;QAC/C,CAAC,CAAA;IACL,CAAC;;AAhCD,gCAgCC;AA9BkB,+BAAiB,GAAG,EAAqB,CAAC"}
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // jest-dom adds custom jest matchers for asserting on DOM nodes.
4
+ // allows you to do things like:
5
+ // expect(element).toHaveTextContent(/react/i)
6
+ // learn more: https://github.com/testing-library/jest-dom
7
+ require("@testing-library/jest-dom");
8
+ //# sourceMappingURL=setupTests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupTests.js","sourceRoot":"","sources":["../../../react-app/src/setupTests.ts"],"names":[],"mappings":";;AAAA,iEAAiE;AACjE,gCAAgC;AAChC,8CAA8C;AAC9C,0DAA0D;AAC1D,qCAAmC"}