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,69 @@
1
+ /* istanbul ignore file */
2
+ import browserama from 'browserama';
3
+ export function isFirefox() {
4
+ return browserama.isFireFox;
5
+ }
6
+ /**
7
+ *
8
+ * @param promise
9
+ * @param timeoutInMillis
10
+ *
11
+ * Returns a promise that resolves if the passed in promise resolves before the timeout
12
+ * time elapses. If the timeout elapses, then the returned promise rejects with a
13
+ * message that the timeout time was exceeded.
14
+ */
15
+ export function timedPromise(promise, timeoutInMillis, timeoutError) {
16
+ let timeoutId;
17
+ const timeoutPromise = new Promise((resolve, reject) => {
18
+ timeoutId = setTimeout(() => {
19
+ clearTimeout(timeoutId);
20
+ reject(timeoutError ? timeoutError : 'Timed out in ' + timeoutInMillis + 'ms');
21
+ }, timeoutInMillis);
22
+ }).then(result => {
23
+ clearTimeout(timeoutId);
24
+ return result;
25
+ });
26
+ return Promise.race([promise, timeoutPromise]);
27
+ }
28
+ export function debounce(func, delay) {
29
+ let timer = null;
30
+ return function () {
31
+ clearTimeout(timer);
32
+ timer = setTimeout(function () {
33
+ func();
34
+ }, delay);
35
+ };
36
+ }
37
+ export function isCefHosted() {
38
+ return !!window._HostedContextFunctions;
39
+ }
40
+ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
41
+ export function requestCefPromise(cmd) {
42
+ /* eslint-enable */
43
+ return new Promise((resolve, reject) => {
44
+ try {
45
+ const sCmd = JSON.stringify(cmd);
46
+ window.cefQuery({
47
+ request: sCmd,
48
+ persistent: false,
49
+ onSuccess: response => {
50
+ try {
51
+ const obj = JSON.parse(response);
52
+ resolve(obj);
53
+ }
54
+ catch (e) {
55
+ resolve({});
56
+ }
57
+ },
58
+ onFailure: response => {
59
+ reject(response);
60
+ }
61
+ });
62
+ }
63
+ catch (e) {
64
+ console.error('Error requesting desktop promise', e);
65
+ reject(e);
66
+ }
67
+ });
68
+ }
69
+ //# 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,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,MAAM,UAAU,SAAS;IACvB,OAAO,UAAU,CAAC,SAAS,CAAC;AAC9B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,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;AAED,MAAM,UAAU,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;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,CAAC,CAAE,MAAc,CAAC,uBAAuB,CAAC;AACnD,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,44 @@
1
+ import { timedPromise } from './utils';
2
+ describe('utils', () => {
3
+ describe('timedPromise', () => {
4
+ it('should return a promise rejection after the specified timeout', done => {
5
+ const timeout = 250;
6
+ const promiseResolutionDelay = 1000;
7
+ const expectedRejection = `Timed out in ${timeout}ms`;
8
+ const passedInPromise = new Promise((resolve) => {
9
+ const timeoutId = setTimeout(() => {
10
+ clearTimeout(timeoutId);
11
+ resolve();
12
+ }, promiseResolutionDelay);
13
+ });
14
+ timedPromise(passedInPromise, timeout)
15
+ .then(() => {
16
+ fail('The promise should not have resolved before the specified timeout');
17
+ })
18
+ .catch(err => {
19
+ expect(err).toEqual(expectedRejection);
20
+ done();
21
+ });
22
+ }, 3000);
23
+ it('should return a promise resolution if the promise resolves before the timeout elapses', done => {
24
+ const timeout = 1000;
25
+ const promiseResolutionDelay = 100;
26
+ const expectedResolution = 'success';
27
+ const passedInPromise = new Promise((resolve) => {
28
+ const timeoutId = setTimeout(() => {
29
+ clearTimeout(timeoutId);
30
+ resolve(expectedResolution);
31
+ }, promiseResolutionDelay);
32
+ });
33
+ timedPromise(passedInPromise, timeout)
34
+ .then(result => {
35
+ expect(result).toEqual(expectedResolution);
36
+ done();
37
+ })
38
+ .catch(() => {
39
+ fail('Promise should have resolved before the timeout elapsed');
40
+ });
41
+ }, 3000);
42
+ });
43
+ });
44
+ //# 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,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;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,YAAY,CAAC,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,YAAY,CAAC,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,52 @@
1
+ /* istanbul ignore file */
2
+ import { v4 } from "uuid";
3
+ const defaultContacts = [
4
+ 'Lawrence W. Larson',
5
+ 'Noah Lane',
6
+ 'Pataky Pista',
7
+ 'Vladimír Brhel',
8
+ 'Lukáš Bařina',
9
+ 'Manaka Niiya',
10
+ 'Hella Tokareva',
11
+ 'Otto Mikaelsen',
12
+ 'Claudette Beaupré',
13
+ 'Paula Korhonen',
14
+ 'Archer Code',
15
+ 'Jin Maeda',
16
+ 'Leea Nikkola',
17
+ 'Michael Rabin',
18
+ 'Jasmine Cremor',
19
+ 'Human Torch',
20
+ 'Demolition Man',
21
+ 'Thomas Burton',
22
+ 'Charles Alderman',
23
+ 'Anne Ramirez',
24
+ 'Brad Halley',
25
+ 'Jesse Wingard',
26
+ 'Alexis Melville',
27
+ 'Stephanie McConnan',
28
+ 'Riley Blanchard'
29
+ ];
30
+ const getRandomContact = () => {
31
+ const index = Math.floor(Math.random() * defaultContacts.length);
32
+ return defaultContacts[index];
33
+ };
34
+ export default class MockCall {
35
+ constructor() {
36
+ this.ringing = true;
37
+ this.connected = false;
38
+ this.muted = false;
39
+ this.held = false;
40
+ this.id = v4();
41
+ this.contactName = getRandomContact();
42
+ }
43
+ answer() {
44
+ this.ringing = false;
45
+ this.connected = true;
46
+ }
47
+ end() {
48
+ this.ringing = false;
49
+ this.connected = false;
50
+ }
51
+ }
52
+ //# 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,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;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,MAAM,CAAC,OAAO,OAAO,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,EAAE,EAAE,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"}
@@ -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,41 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ /* istanbul ignore file */
11
+ export default class DeviceService {
12
+ constructor() {
13
+ this.hasPermissions = false;
14
+ this.initialize = () => __awaiter(this, void 0, void 0, function* () {
15
+ this.ensureAudioPermissions();
16
+ const devices = yield navigator.mediaDevices.enumerateDevices();
17
+ const audioDevices = devices.filter((device) => device.kind === 'audioinput');
18
+ let mic = audioDevices.find((device) => device.deviceId === 'default' && device.kind === 'audioinput');
19
+ if (!mic) {
20
+ mic = audioDevices[0];
21
+ }
22
+ DeviceService.defaultMicrophone = mic;
23
+ });
24
+ this.ensureAudioPermissions = () => __awaiter(this, void 0, void 0, function* () {
25
+ if (this.hasPermissions) {
26
+ return;
27
+ }
28
+ const stream = yield navigator.mediaDevices.getUserMedia({ audio: true, video: false });
29
+ stream.getTracks().forEach(track => track.stop());
30
+ this.hasPermissions = true;
31
+ });
32
+ this.getDefaultMicrophone = () => {
33
+ return DeviceService.defaultMicrophone;
34
+ };
35
+ this.setDefaultMicrophone = (microphone) => {
36
+ DeviceService.defaultMicrophone = microphone;
37
+ };
38
+ }
39
+ }
40
+ DeviceService.defaultMicrophone = {};
41
+ //# 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,MAAM,CAAC,OAAO,OAAO,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;;AA9BkB,+BAAiB,GAAG,EAAqB,CAAC"}
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,6 @@
1
+ // jest-dom adds custom jest matchers for asserting on DOM nodes.
2
+ // allows you to do things like:
3
+ // expect(element).toHaveTextContent(/react/i)
4
+ // learn more: https://github.com/testing-library/jest-dom
5
+ import '@testing-library/jest-dom';
6
+ //# 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,OAAO,2BAA2B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "softphone-vendor-headsets",
3
- "version": "2.0.0-develop.8",
3
+ "version": "2.0.0-develop.9",
4
4
  "author": "Genesys",
5
5
  "license": "MIT",
6
6
  "cjs": "dist/cjs/src/library/index.js",
@@ -19,7 +19,7 @@
19
19
  "registry": "https://registry.npmjs.org"
20
20
  },
21
21
  "scripts": {
22
- "postinstall": "cd react-app && npm install && cd -",
22
+ "install:all": "npm ci; cd react-app; npm install; cd -",
23
23
  "build": "npm run build:react && npm run build:src && npm run build:es && npm run build:module",
24
24
  "build:react": "cd react-app; yarn build",
25
25
  "build:src": "tsc -p .",