@privateid/ultrapass-web-sdk 1.2.0 → 1.3.1-1300478

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 (237) hide show
  1. package/README.md +75 -75
  2. package/dist/apiUtils.d.ts +46 -46
  3. package/dist/apiUtils.js +922 -921
  4. package/dist/apiUtils.js.map +1 -1
  5. package/dist/application/index.d.ts +7 -7
  6. package/dist/application/index.js +27 -25
  7. package/dist/application/index.js.map +1 -1
  8. package/dist/application/modules/core/document/DocumentService.d.ts +22 -22
  9. package/dist/application/modules/core/document/DocumentService.js +254 -254
  10. package/dist/application/modules/core/document/document.constants.d.ts +15 -15
  11. package/dist/application/modules/core/document/document.constants.js +21 -21
  12. package/dist/application/modules/core/document/document.domain.d.ts +7 -7
  13. package/dist/application/modules/core/document/document.domain.js +1 -1
  14. package/dist/application/modules/core/document/document.types.d.ts +17 -17
  15. package/dist/application/modules/core/document/document.types.js +1 -1
  16. package/dist/application/modules/core/document/document.utils.d.ts +3 -3
  17. package/dist/application/modules/core/document/document.utils.js +58 -58
  18. package/dist/application/modules/core/document/index.d.ts +3 -3
  19. package/dist/application/modules/core/document/index.js +1 -1
  20. package/dist/application/modules/core/face/FaceService.d.ts +33 -33
  21. package/dist/application/modules/core/face/FaceService.js +228 -221
  22. package/dist/application/modules/core/face/FaceService.js.map +1 -1
  23. package/dist/application/modules/core/face/face.constants.d.ts +53 -53
  24. package/dist/application/modules/core/face/face.constants.js +53 -53
  25. package/dist/application/modules/core/face/face.domain.d.ts +10 -10
  26. package/dist/application/modules/core/face/face.domain.js +1 -1
  27. package/dist/application/modules/core/face/face.types.d.ts +41 -38
  28. package/dist/application/modules/core/face/face.types.js +1 -1
  29. package/dist/application/modules/core/face/face.utils.d.ts +15 -15
  30. package/dist/application/modules/core/face/face.utils.js +101 -101
  31. package/dist/application/modules/core/face/index.d.ts +3 -3
  32. package/dist/application/modules/core/face/index.js +1 -1
  33. package/dist/application/modules/global/shared.constants.d.ts +2 -2
  34. package/dist/application/modules/global/shared.constants.js +2 -2
  35. package/dist/application/modules/global/shared.utils.d.ts +25 -25
  36. package/dist/application/modules/global/shared.utils.js +100 -100
  37. package/dist/application/modules/global/shared.utils.js.map +1 -1
  38. package/dist/application/modules/internal/feature-flag/LDFeatureFlagService.d.ts +9 -0
  39. package/dist/application/modules/internal/feature-flag/LDFeatureFlagService.js +32 -0
  40. package/dist/application/modules/internal/feature-flag/LDFeatureFlagService.js.map +1 -0
  41. package/dist/application/modules/internal/feature-flag/feature-flag-init.d.ts +11 -0
  42. package/dist/application/modules/internal/feature-flag/feature-flag-init.js +24 -0
  43. package/dist/application/modules/internal/feature-flag/feature-flag-init.js.map +1 -0
  44. package/dist/application/modules/internal/feature-flag/feature-flag.domain.d.ts +10 -0
  45. package/dist/application/modules/internal/feature-flag/feature-flag.domain.js +7 -0
  46. package/dist/application/modules/internal/feature-flag/feature-flag.domain.js.map +1 -0
  47. package/dist/application/modules/internal/feature-flag/featureFlagInit.d.ts +11 -0
  48. package/dist/application/modules/internal/feature-flag/featureFlagInit.js +44 -0
  49. package/dist/application/modules/internal/feature-flag/featureFlagInit.js.map +1 -0
  50. package/dist/application/modules/internal/feature-flag/index.d.ts +2 -0
  51. package/dist/application/modules/internal/feature-flag/index.js +3 -0
  52. package/dist/application/modules/internal/feature-flag/index.js.map +1 -0
  53. package/dist/application/modules/internal/shared/index.d.ts +2 -0
  54. package/dist/application/modules/internal/shared/index.js +3 -0
  55. package/dist/application/modules/internal/shared/index.js.map +1 -0
  56. package/dist/application/modules/internal/shared/shared.constants.d.ts +2 -0
  57. package/dist/application/modules/internal/shared/shared.constants.js +3 -0
  58. package/dist/application/modules/internal/shared/shared.constants.js.map +1 -0
  59. package/dist/application/modules/internal/shared/shared.utils.d.ts +44 -0
  60. package/dist/application/modules/internal/shared/shared.utils.js +204 -0
  61. package/dist/application/modules/internal/shared/shared.utils.js.map +1 -0
  62. package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.d.ts +28 -0
  63. package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.js +380 -0
  64. package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.js.map +1 -0
  65. package/dist/application/modules/internal/wasm-orchestrator/index.d.ts +6 -0
  66. package/dist/application/modules/internal/wasm-orchestrator/index.js +9 -0
  67. package/dist/application/modules/internal/wasm-orchestrator/index.js.map +1 -0
  68. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.constants.d.ts +28 -0
  69. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.constants.js +35 -0
  70. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.constants.js.map +1 -0
  71. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.domain.d.ts +51 -0
  72. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.domain.js +2 -0
  73. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.domain.js.map +1 -0
  74. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.types.d.ts +142 -0
  75. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.types.js +2 -0
  76. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.types.js.map +1 -0
  77. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.utils.d.ts +86 -0
  78. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.utils.js +201 -0
  79. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.utils.js.map +1 -0
  80. package/dist/application/modules/support/camera/CameraServiceFactory.d.ts +10 -8
  81. package/dist/application/modules/support/camera/CameraServiceFactory.js +33 -32
  82. package/dist/application/modules/support/camera/CameraServiceFactory.js.map +1 -1
  83. package/dist/application/modules/support/camera/camera.constants.d.ts +9 -9
  84. package/dist/application/modules/support/camera/camera.constants.js +48 -48
  85. package/dist/application/modules/support/camera/camera.domain.d.ts +15 -15
  86. package/dist/application/modules/support/camera/camera.domain.js +1 -1
  87. package/dist/application/modules/support/camera/camera.types.d.ts +42 -42
  88. package/dist/application/modules/support/camera/camera.types.js +10 -10
  89. package/dist/application/modules/support/camera/camera.utils.d.ts +157 -157
  90. package/dist/application/modules/support/camera/camera.utils.js +623 -637
  91. package/dist/application/modules/support/camera/camera.utils.js.map +1 -1
  92. package/dist/application/modules/support/camera/index.d.ts +24 -25
  93. package/dist/application/modules/support/camera/index.js +27 -29
  94. package/dist/application/modules/support/camera/index.js.map +1 -1
  95. package/dist/application/modules/support/camera/services/BaseCameraService.d.ts +41 -37
  96. package/dist/application/modules/support/camera/services/BaseCameraService.js +278 -277
  97. package/dist/application/modules/support/camera/services/BaseCameraService.js.map +1 -1
  98. package/dist/application/modules/support/camera/services/DesktopCameraService.d.ts +5 -5
  99. package/dist/application/modules/support/camera/services/DesktopCameraService.js +46 -45
  100. package/dist/application/modules/support/camera/services/DesktopCameraService.js.map +1 -1
  101. package/dist/application/modules/support/camera/services/FirefoxCameraService.d.ts +5 -5
  102. package/dist/application/modules/support/camera/services/FirefoxCameraService.js +46 -45
  103. package/dist/application/modules/support/camera/services/FirefoxCameraService.js.map +1 -1
  104. package/dist/application/modules/support/camera/services/MacSafariCameraService.d.ts +5 -5
  105. package/dist/application/modules/support/camera/services/MacSafariCameraService.js +47 -46
  106. package/dist/application/modules/support/camera/services/MacSafariCameraService.js.map +1 -1
  107. package/dist/application/modules/support/camera/services/MobileCameraService.d.ts +5 -5
  108. package/dist/application/modules/support/camera/services/MobileCameraService.js +133 -129
  109. package/dist/application/modules/support/camera/services/MobileCameraService.js.map +1 -1
  110. package/dist/application/modules/support/engine/EngineService.d.ts +15 -0
  111. package/dist/application/modules/support/engine/EngineService.js +106 -0
  112. package/dist/application/modules/support/engine/EngineService.js.map +1 -0
  113. package/dist/application/modules/support/engine/engine.constants.d.ts +33 -0
  114. package/dist/application/modules/support/engine/engine.constants.js +35 -0
  115. package/dist/application/modules/support/engine/engine.constants.js.map +1 -0
  116. package/dist/application/modules/support/engine/engine.domain.d.ts +23 -0
  117. package/dist/application/modules/support/engine/engine.domain.js +2 -0
  118. package/dist/application/modules/support/engine/engine.domain.js.map +1 -0
  119. package/dist/application/modules/support/engine/engine.types.d.ts +32 -0
  120. package/dist/application/modules/support/engine/engine.types.js +2 -0
  121. package/dist/application/modules/support/engine/engine.types.js.map +1 -0
  122. package/dist/application/modules/support/engine/engine.utils.d.ts +65 -0
  123. package/dist/application/modules/support/engine/engine.utils.js +135 -0
  124. package/dist/application/modules/support/engine/engine.utils.js.map +1 -0
  125. package/dist/application/modules/support/engine/index.d.ts +3 -0
  126. package/dist/application/modules/support/engine/index.js +2 -0
  127. package/dist/application/modules/support/engine/index.js.map +1 -0
  128. package/dist/application/modules/support/permissions/PermissionsService.d.ts +55 -0
  129. package/dist/application/modules/support/permissions/PermissionsService.js +184 -0
  130. package/dist/application/modules/support/permissions/PermissionsService.js.map +1 -0
  131. package/dist/application/modules/support/permissions/index.d.ts +4 -0
  132. package/dist/application/modules/support/permissions/index.js +3 -0
  133. package/dist/application/modules/support/permissions/index.js.map +1 -0
  134. package/dist/application/modules/support/permissions/permission.utils.d.ts +6 -0
  135. package/dist/application/modules/support/permissions/permission.utils.js +34 -0
  136. package/dist/application/modules/support/permissions/permission.utils.js.map +1 -0
  137. package/dist/application/modules/support/permissions/permissions.domain.d.ts +6 -0
  138. package/dist/application/modules/support/permissions/permissions.domain.js +2 -0
  139. package/dist/application/modules/support/permissions/permissions.domain.js.map +1 -0
  140. package/dist/application/modules/support/permissions/permissions.types.d.ts +9 -0
  141. package/dist/application/modules/support/permissions/permissions.types.js +2 -0
  142. package/dist/application/modules/support/permissions/permissions.types.js.map +1 -0
  143. package/dist/application/modules/support/wasm/WasmService.d.ts +25 -25
  144. package/dist/application/modules/support/wasm/WasmService.js +156 -155
  145. package/dist/application/modules/support/wasm/WasmService.js.map +1 -1
  146. package/dist/application/modules/support/wasm/index.d.ts +6 -6
  147. package/dist/application/modules/support/wasm/index.js +8 -8
  148. package/dist/application/modules/support/wasm/wasm.constants.d.ts +78 -78
  149. package/dist/application/modules/support/wasm/wasm.constants.js +86 -86
  150. package/dist/application/modules/support/wasm/wasm.domain.d.ts +52 -52
  151. package/dist/application/modules/support/wasm/wasm.domain.js +1 -1
  152. package/dist/application/modules/support/wasm/wasm.types.d.ts +119 -118
  153. package/dist/application/modules/support/wasm/wasm.types.js +1 -1
  154. package/dist/application/modules/support/wasm/wasm.utils.d.ts +88 -88
  155. package/dist/application/modules/support/wasm/wasm.utils.js +243 -243
  156. package/dist/application/modules/support/wasm-orchestrator/WasmOrchestratorService.d.ts +28 -0
  157. package/dist/application/modules/support/wasm-orchestrator/WasmOrchestratorService.js +324 -0
  158. package/dist/application/modules/support/wasm-orchestrator/WasmOrchestratorService.js.map +1 -0
  159. package/dist/application/modules/support/wasm-orchestrator/index.d.ts +6 -0
  160. package/dist/application/modules/support/wasm-orchestrator/index.js +9 -0
  161. package/dist/application/modules/support/wasm-orchestrator/index.js.map +1 -0
  162. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.constants.d.ts +36 -0
  163. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.constants.js +44 -0
  164. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.constants.js.map +1 -0
  165. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.domain.d.ts +47 -0
  166. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.domain.js +2 -0
  167. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.domain.js.map +1 -0
  168. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.types.d.ts +136 -0
  169. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.types.js +2 -0
  170. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.types.js.map +1 -0
  171. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.utils.d.ts +91 -0
  172. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.utils.js +250 -0
  173. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.utils.js.map +1 -0
  174. package/dist/application/workers/index.d.ts +42 -42
  175. package/dist/application/workers/index.js +8 -8
  176. package/dist/application/workers/wasm/WasmWorkerService.d.ts +66 -0
  177. package/dist/application/workers/wasm/WasmWorkerService.js +801 -0
  178. package/dist/application/workers/wasm/WasmWorkerService.js.map +1 -0
  179. package/dist/application/workers/wasm/index.d.ts +4 -0
  180. package/dist/application/workers/wasm/index.js +9 -0
  181. package/dist/application/workers/wasm/index.js.map +1 -0
  182. package/dist/application/workers/wasm/wasm-worker.constants.d.ts +5 -0
  183. package/dist/application/workers/wasm/wasm-worker.constants.js +6 -0
  184. package/dist/application/workers/wasm/wasm-worker.constants.js.map +1 -0
  185. package/dist/application/workers/wasm/wasm-worker.domain.d.ts +99 -0
  186. package/dist/application/workers/wasm/wasm-worker.domain.js +2 -0
  187. package/dist/application/workers/wasm/wasm-worker.domain.js.map +1 -0
  188. package/dist/application/workers/wasm/wasm-worker.types.d.ts +88 -0
  189. package/dist/application/workers/wasm/wasm-worker.types.js +2 -0
  190. package/dist/application/workers/wasm/wasm-worker.types.js.map +1 -0
  191. package/dist/application/workers/wasm/wasm-worker.utils.d.ts +10 -0
  192. package/dist/application/workers/wasm/wasm-worker.utils.js +130 -0
  193. package/dist/application/workers/wasm/wasm-worker.utils.js.map +1 -0
  194. package/dist/buildConfig.d.ts +3 -0
  195. package/dist/buildConfig.js +7 -0
  196. package/dist/buildConfig.js.map +1 -0
  197. package/dist/cameraUtils.d.ts +77 -77
  198. package/dist/cameraUtils.js +361 -360
  199. package/dist/cameraUtils.js.map +1 -1
  200. package/dist/constants.d.ts +9 -9
  201. package/dist/constants.js +13 -12
  202. package/dist/constants.js.map +1 -1
  203. package/dist/createCallback.d.ts +56 -56
  204. package/dist/createCallback.js +332 -330
  205. package/dist/createCallback.js.map +1 -1
  206. package/dist/dbUtils.d.ts +14 -14
  207. package/dist/dbUtils.js +148 -147
  208. package/dist/dbUtils.js.map +1 -1
  209. package/dist/envUtils.d.ts +4 -4
  210. package/dist/envUtils.js +16 -15
  211. package/dist/envUtils.js.map +1 -1
  212. package/dist/faceModule.d.ts +196 -196
  213. package/dist/faceModule.js +978 -981
  214. package/dist/faceModule.js.map +1 -1
  215. package/dist/featureFlagInit.d.ts +11 -0
  216. package/dist/featureFlagInit.js +44 -0
  217. package/dist/featureFlagInit.js.map +1 -0
  218. package/dist/index.d.ts +38 -38
  219. package/dist/index.js +82 -82
  220. package/dist/main.d.ts +30 -13
  221. package/dist/main.js +84 -51
  222. package/dist/main.js.map +1 -1
  223. package/dist/types.d.ts +139 -139
  224. package/dist/types.js +77 -77
  225. package/dist/utils.d.ts +84 -84
  226. package/dist/utils.js +580 -579
  227. package/dist/utils.js.map +1 -1
  228. package/package.json +102 -102
  229. package/wasm/ultra/nosimd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.js +18 -18
  230. package/wasm/ultra/nosimd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.wasm +0 -0
  231. package/wasm/ultra/nosimd/version.json +2 -2
  232. package/wasm/ultra/simd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.js +18 -18
  233. package/wasm/ultra/simd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.wasm +0 -0
  234. package/wasm/ultra/simd/version.json +2 -2
  235. package/workers/comlink.min.js +7 -7
  236. package/workers/comlink.min.js.map +1 -1
  237. package/workers/wasm.worker.js +936 -924
@@ -0,0 +1,65 @@
1
+ import { LoadModuleResult } from './engine.types';
2
+ /**
3
+ * Check if the current browser supports WASM Engine
4
+ */
5
+ export declare function checkBrowserCompatibility(): LoadModuleResult;
6
+ export declare function handleCacheContent(): Promise<string>;
7
+ /**
8
+ * Get URL parameter
9
+ */
10
+ export declare function getUrlParameter(sParam: string, defaultValue: string): string;
11
+ export declare function checkMacOSSupport(browserName: string, version: string): {
12
+ isSupported: boolean;
13
+ message: "Safari version 10 and below is not supported.";
14
+ } | {
15
+ isSupported: boolean;
16
+ message?: undefined;
17
+ };
18
+ export declare function checkIOSSupport(browserName: string, version: string): {
19
+ isSupported: boolean;
20
+ message: "Safari version 10 and below is not supported.";
21
+ } | {
22
+ isSupported: boolean;
23
+ message: "Opera mobile version 72 and below is not support WASM";
24
+ } | {
25
+ isSupported: boolean;
26
+ message?: undefined;
27
+ };
28
+ export declare function checkAndroidSupport(browserName: string, version: string): {
29
+ isSupported: boolean;
30
+ message: "Android Chrome version 96 and below is not supported.";
31
+ } | {
32
+ isSupported: boolean;
33
+ message: "Samsung browser version 6 and below is not supported.";
34
+ } | {
35
+ isSupported: boolean;
36
+ message: "Firefox mobile version 94 and below is not supported.";
37
+ } | {
38
+ isSupported: boolean;
39
+ message: "Opera mobile version 72 and below is not support WASM";
40
+ } | {
41
+ isSupported: boolean;
42
+ message: "Android Browser version 96 and below is not supported.";
43
+ } | {
44
+ isSupported: boolean;
45
+ message?: undefined;
46
+ };
47
+ export declare function checkWebBrowsersSupport(browserName: string, version: string): {
48
+ isSupported: boolean;
49
+ message: "Internet Explorer is not supported.";
50
+ } | {
51
+ isSupported: boolean;
52
+ message: "Edge version 78 and below is not supported.";
53
+ } | {
54
+ isSupported: boolean;
55
+ message: "Chrome version 57 and below is not support WASM";
56
+ } | {
57
+ isSupported: boolean;
58
+ message: "Firefox version 52 and below is not supported.";
59
+ } | {
60
+ isSupported: boolean;
61
+ message: "Opera version 43 and below is not support WASM";
62
+ } | {
63
+ isSupported: boolean;
64
+ message?: undefined;
65
+ };
@@ -0,0 +1,135 @@
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
+ import { detect } from 'detect-browser';
11
+ import { clearDB } from '../../../../dbUtils';
12
+ import { iOS, printLogs } from '../../internal/shared/shared.utils';
13
+ import { BROWSER_COMPATIBILITY_MESSAGES, PACKAGE_COMPATIBILITY_MESSAGES, PACKAGE_COMPATIBILITY_MIN_VERSIONS, } from './engine.constants';
14
+ /**
15
+ * Check if the current browser supports WASM Engine
16
+ */
17
+ export function checkBrowserCompatibility() {
18
+ const { name: browserName, version, os } = detect();
19
+ // Mobile checks
20
+ if (os === 'iOS' || iOS()) {
21
+ if (browserName === 'opera' && parseInt(version.split('.')[0], 10) <= 72) {
22
+ return { support: false, message: BROWSER_COMPATIBILITY_MESSAGES.OPERA_MOBILE_NOT_SUPPORTED };
23
+ }
24
+ }
25
+ if (os === 'Android OS') {
26
+ if (browserName === 'opera' && parseInt(version.split('.')[0], 10) <= 72) {
27
+ return { support: false, message: BROWSER_COMPATIBILITY_MESSAGES.OPERA_MOBILE_NOT_SUPPORTED };
28
+ }
29
+ if (browserName === 'android' && parseInt(version.split('.')[0], 10) <= 96) {
30
+ return { support: false, message: BROWSER_COMPATIBILITY_MESSAGES.ANDROID_BROWSER_NOT_SUPPORTED };
31
+ }
32
+ }
33
+ // Desktop browser checks
34
+ if (browserName === 'chrome' && parseInt(version.split('.')[0], 10) <= 57) {
35
+ return { support: false, message: BROWSER_COMPATIBILITY_MESSAGES.CHROME_NOT_SUPPORTED };
36
+ }
37
+ if (browserName === 'firefox' && parseInt(version.split('.')[0], 10) <= 52) {
38
+ return { support: false, message: BROWSER_COMPATIBILITY_MESSAGES.FIREFOX_NOT_SUPPORTED };
39
+ }
40
+ if (browserName === 'opera' && parseInt(version.split('.')[0], 10) <= 43) {
41
+ return { support: false, message: BROWSER_COMPATIBILITY_MESSAGES.OPERA_NOT_SUPPORTED };
42
+ }
43
+ return { support: true };
44
+ }
45
+ export function handleCacheContent() {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ const clearCacheParam = getUrlParameter('clear_cache', 'false');
48
+ const cacheAge = localStorage.getItem('cacheAge');
49
+ const cacheContent = localStorage.getItem('cache_content') || '';
50
+ if (!cacheAge) {
51
+ localStorage.setItem('cacheAge', Date.now().toString());
52
+ }
53
+ if ((cacheAge && Date.now() - Number(cacheAge) > 24 * 60 * 60 * 1000) || clearCacheParam === 'true') {
54
+ printLogs('ClearingCache', '');
55
+ yield clearDB();
56
+ localStorage.clear();
57
+ localStorage.setItem('cacheAge', Date.now().toString());
58
+ }
59
+ return cacheContent;
60
+ });
61
+ }
62
+ /**
63
+ * Get URL parameter
64
+ */
65
+ export function getUrlParameter(sParam, defaultValue) {
66
+ const sPageURL = window.location.search.substring(1);
67
+ const sURLVariables = sPageURL.split('&');
68
+ let sParameterName;
69
+ let i;
70
+ for (i = 0; i < sURLVariables.length; i++) {
71
+ sParameterName = sURLVariables[i].split('=');
72
+ if (sParameterName[0] === sParam) {
73
+ return typeof sParameterName[1] === undefined ? defaultValue : decodeURIComponent(sParameterName[1]);
74
+ }
75
+ }
76
+ return defaultValue;
77
+ }
78
+ export function checkMacOSSupport(browserName, version) {
79
+ if (browserName === 'safari' && parseInt(version.split('.')[0], 10) <= PACKAGE_COMPATIBILITY_MIN_VERSIONS.SAFARI) {
80
+ return { isSupported: false, message: PACKAGE_COMPATIBILITY_MESSAGES.SAFARI_NOT_SUPPORTED };
81
+ }
82
+ return { isSupported: true };
83
+ }
84
+ export function checkIOSSupport(browserName, version) {
85
+ if (browserName === 'safari' && parseInt(version.split('.')[0], 10) <= PACKAGE_COMPATIBILITY_MIN_VERSIONS.SAFARI) {
86
+ return { isSupported: false, message: PACKAGE_COMPATIBILITY_MESSAGES.SAFARI_NOT_SUPPORTED };
87
+ }
88
+ if (browserName === 'opera' &&
89
+ parseInt(version.split('.')[0], 10) <= PACKAGE_COMPATIBILITY_MIN_VERSIONS.OPERA_MOBILE) {
90
+ return { isSupported: false, message: PACKAGE_COMPATIBILITY_MESSAGES.OPERA_MOBILE_NOT_SUPPORTED };
91
+ }
92
+ return { isSupported: true };
93
+ }
94
+ export function checkAndroidSupport(browserName, version) {
95
+ if (browserName === 'chrome' &&
96
+ parseInt(version.split('.')[0], 10) <= PACKAGE_COMPATIBILITY_MIN_VERSIONS.ANDROID_CHROME) {
97
+ return { isSupported: false, message: PACKAGE_COMPATIBILITY_MESSAGES.ANDROID_CHROME_NOT_SUPPORTED };
98
+ }
99
+ if (browserName === 'samsung' &&
100
+ parseInt(version.split('.')[0], 10) <= PACKAGE_COMPATIBILITY_MIN_VERSIONS.SAMSUNG_BROWSER) {
101
+ return { isSupported: false, message: PACKAGE_COMPATIBILITY_MESSAGES.SAMSUNG_BROWSER_NOT_SUPPORTED };
102
+ }
103
+ if (browserName === 'firefox' &&
104
+ parseInt(version.split('.')[0], 10) <= PACKAGE_COMPATIBILITY_MIN_VERSIONS.FIREFOX_MOBILE) {
105
+ return { isSupported: false, message: PACKAGE_COMPATIBILITY_MESSAGES.FIREFOX_MOBILE_NOT_SUPPORTED };
106
+ }
107
+ if (browserName === 'opera' &&
108
+ parseInt(version.split('.')[0], 10) <= PACKAGE_COMPATIBILITY_MIN_VERSIONS.OPERA_MOBILE) {
109
+ return { isSupported: false, message: PACKAGE_COMPATIBILITY_MESSAGES.OPERA_MOBILE_NOT_SUPPORTED };
110
+ }
111
+ if (browserName === 'android' &&
112
+ parseInt(version.split('.')[0], 10) <= PACKAGE_COMPATIBILITY_MIN_VERSIONS.ANDROID_BROWSER) {
113
+ return { isSupported: false, message: PACKAGE_COMPATIBILITY_MESSAGES.ANDROID_BROWSER_NOT_SUPPORTED };
114
+ }
115
+ return { isSupported: true };
116
+ }
117
+ export function checkWebBrowsersSupport(browserName, version) {
118
+ if (browserName === 'ie') {
119
+ return { isSupported: false, message: PACKAGE_COMPATIBILITY_MESSAGES.IE_NOT_SUPPORTED };
120
+ }
121
+ if (browserName === 'edge' && parseInt(version.split('.')[0], 10) <= PACKAGE_COMPATIBILITY_MIN_VERSIONS.EDGE) {
122
+ return { isSupported: false, message: PACKAGE_COMPATIBILITY_MESSAGES.EDGE_NOT_SUPPORTED };
123
+ }
124
+ if (browserName === 'chrome' && parseInt(version.split('.')[0], 10) <= PACKAGE_COMPATIBILITY_MIN_VERSIONS.CHROME) {
125
+ return { isSupported: false, message: PACKAGE_COMPATIBILITY_MESSAGES.CHROME_NOT_SUPPORTED };
126
+ }
127
+ if (browserName === 'firefox' && parseInt(version.split('.')[0], 10) <= PACKAGE_COMPATIBILITY_MIN_VERSIONS.FIREFOX) {
128
+ return { isSupported: false, message: PACKAGE_COMPATIBILITY_MESSAGES.FIREFOX_NOT_SUPPORTED };
129
+ }
130
+ if (browserName === 'opera' && parseInt(version.split('.')[0], 10) <= PACKAGE_COMPATIBILITY_MIN_VERSIONS.OPERA) {
131
+ return { isSupported: false, message: PACKAGE_COMPATIBILITY_MESSAGES.OPERA_NOT_SUPPORTED };
132
+ }
133
+ return { isSupported: true };
134
+ }
135
+ //# sourceMappingURL=engine.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.utils.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/engine/engine.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { EngineService } from './EngineService';
2
+ export { Engine } from './engine.domain';
3
+ export { LoadModuleParams, LoadModuleResult } from './engine.types';
@@ -0,0 +1,2 @@
1
+ export { EngineService } from './EngineService';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/engine/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { PermissionDataState, PermissionListener } from './permissions.types';
2
+ import { IPermissionService } from './permissions.domain';
3
+ /**
4
+ * Singleton class to manage camera permissions across the application.
5
+ * Provides a single source of truth for camera permission state.
6
+ */
7
+ declare class PermissionService implements IPermissionService {
8
+ private static instance;
9
+ private permissionGranted;
10
+ private permissionState;
11
+ private listeners;
12
+ private userMediaTimeout;
13
+ static getInstance(): PermissionService;
14
+ /**
15
+ * Adds a listener for permission state changes.
16
+ * Returns an unsubscribe function to remove the listener.
17
+ */
18
+ addListener(listener: PermissionListener): () => void;
19
+ /**
20
+ * Notifies all listeners about state changes
21
+ */
22
+ private notifyListeners;
23
+ /**
24
+ * Requests camera permission via browser flow and returns the permission state.
25
+ * This is the simplified method for UI consumption.
26
+ * If permission is already granted, returns immediately without triggering browser flow.
27
+ */
28
+ requestCameraPermissions(): Promise<PermissionDataState>;
29
+ /**
30
+ * Checks camera permission status and returns a boolean.
31
+ * This is the simplified method for UI consumption.
32
+ */
33
+ checkCameraPermissions(): Promise<PermissionDataState>;
34
+ /**
35
+ * Requests camera permission and returns permission status.
36
+ * Internal method used by camera services.
37
+ */
38
+ private requestBrowserCameraPermission;
39
+ /**
40
+ * Checks permission against Permission API and requests via getUserMedia if needed.
41
+ * If permission is denied, avoids making getUserMedia call.
42
+ * If permission is 'prompt' or 'granted', proceeds with getUserMedia.
43
+ * @returns boolean indicating if permission was granted.
44
+ */
45
+ private grantPermission;
46
+ /**
47
+ * Checks permission against Permission API, if supported
48
+ * @returns boolean indicating if permission request should proceed.
49
+ */
50
+ private checkPermissionShouldBeRequested;
51
+ private getUserMediaWithTimeout;
52
+ private getPermissionStateData;
53
+ private setPermissionStateData;
54
+ }
55
+ export { PermissionService };
@@ -0,0 +1,184 @@
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
+ /* eslint-disable lines-between-class-members */
11
+ /* eslint-disable import/prefer-default-export */
12
+ import { printLogs } from '../../global/shared.utils';
13
+ import { logCameraError } from './permission.utils';
14
+ /**
15
+ * Singleton class to manage camera permissions across the application.
16
+ * Provides a single source of truth for camera permission state.
17
+ */
18
+ class PermissionService {
19
+ constructor() {
20
+ this.permissionGranted = false;
21
+ this.permissionState = 'prompt';
22
+ this.listeners = new Set();
23
+ this.userMediaTimeout = 5000;
24
+ }
25
+ static getInstance() {
26
+ if (!PermissionService.instance) {
27
+ printLogs('[PermissionService] Creating singleton instance', '');
28
+ PermissionService.instance = new PermissionService();
29
+ }
30
+ return PermissionService.instance;
31
+ }
32
+ /**
33
+ * Adds a listener for permission state changes.
34
+ * Returns an unsubscribe function to remove the listener.
35
+ */
36
+ addListener(listener) {
37
+ printLogs('[PermissionService] Adding listener', '');
38
+ this.listeners.add(listener);
39
+ // Return unsubscribe function
40
+ return () => {
41
+ printLogs('[PermissionService] Removing listener', '');
42
+ this.listeners.delete(listener);
43
+ };
44
+ }
45
+ /**
46
+ * Notifies all listeners about state changes
47
+ */
48
+ notifyListeners() {
49
+ const state = {
50
+ isGranted: this.permissionGranted,
51
+ permissionState: this.permissionState,
52
+ };
53
+ printLogs('[PermissionService] Notifying listeners', state);
54
+ this.listeners.forEach((listener) => {
55
+ try {
56
+ listener(state);
57
+ }
58
+ catch (error) {
59
+ printLogs('[PermissionService] Error in listener:', error, 'ERROR');
60
+ }
61
+ });
62
+ }
63
+ /**
64
+ * Requests camera permission via browser flow and returns the permission state.
65
+ * This is the simplified method for UI consumption.
66
+ * If permission is already granted, returns immediately without triggering browser flow.
67
+ */
68
+ requestCameraPermissions() {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ try {
71
+ // Even though permission is already granted, it will recheck to sync with browser state.
72
+ // This ensures the internal state is always up to date.
73
+ // Get UserMedia will not prompt again if already granted.
74
+ yield this.requestBrowserCameraPermission();
75
+ return this.getPermissionStateData();
76
+ }
77
+ catch (error) {
78
+ printLogs('[PermissionService] requestBrowserCameraPermissions error:', error, 'ERROR');
79
+ return this.getPermissionStateData();
80
+ }
81
+ });
82
+ }
83
+ /**
84
+ * Checks camera permission status and returns a boolean.
85
+ * This is the simplified method for UI consumption.
86
+ */
87
+ checkCameraPermissions() {
88
+ return __awaiter(this, void 0, void 0, function* () {
89
+ return this.getPermissionStateData();
90
+ });
91
+ }
92
+ /**
93
+ * Requests camera permission and returns permission status.
94
+ * Internal method used by camera services.
95
+ */
96
+ requestBrowserCameraPermission() {
97
+ return __awaiter(this, void 0, void 0, function* () {
98
+ printLogs('[PermissionService] requestCameraPermission called', {
99
+ permissionGranted: this.permissionGranted,
100
+ });
101
+ try {
102
+ const granted = yield this.grantPermission();
103
+ this.setPermissionStateData(granted, granted ? 'granted' : 'denied');
104
+ return granted;
105
+ }
106
+ catch (error) {
107
+ this.setPermissionStateData(false, (error === null || error === void 0 ? void 0 : error.name) === 'NotAllowedError' ? 'denied' : 'prompt');
108
+ printLogs('[PermissionService] Permission request failed', {
109
+ errorName: error === null || error === void 0 ? void 0 : error.name,
110
+ errorMessage: error === null || error === void 0 ? void 0 : error.message,
111
+ newState: this.permissionState,
112
+ }, 'ERROR');
113
+ return false;
114
+ }
115
+ });
116
+ }
117
+ /**
118
+ * Checks permission against Permission API and requests via getUserMedia if needed.
119
+ * If permission is denied, avoids making getUserMedia call.
120
+ * If permission is 'prompt' or 'granted', proceeds with getUserMedia.
121
+ * @returns boolean indicating if permission was granted.
122
+ */
123
+ grantPermission() {
124
+ return __awaiter(this, void 0, void 0, function* () {
125
+ try {
126
+ const shouldRequestPermission = this.checkPermissionShouldBeRequested();
127
+ if (!shouldRequestPermission) {
128
+ return false;
129
+ }
130
+ printLogs('[PermissionService] Calling getUserMedia to request permission', '');
131
+ const stream = yield this.getUserMediaWithTimeout();
132
+ printLogs('[PermissionService] getUserMedia successful, closing stream', '');
133
+ stream.getTracks().forEach((t) => t.stop());
134
+ yield new Promise((resolve) => setTimeout(resolve, 100));
135
+ return true;
136
+ }
137
+ catch (err) {
138
+ printLogs('[PermissionService] requestPermission failed:', err, 'ERROR');
139
+ logCameraError(err);
140
+ return false;
141
+ }
142
+ });
143
+ }
144
+ /**
145
+ * Checks permission against Permission API, if supported
146
+ * @returns boolean indicating if permission request should proceed.
147
+ */
148
+ checkPermissionShouldBeRequested() {
149
+ return __awaiter(this, void 0, void 0, function* () {
150
+ if (navigator.permissions && typeof navigator.permissions.query === 'function') {
151
+ printLogs('[PermissionService] Checking permission state via Permissions API', '');
152
+ const permission = yield navigator.permissions.query({ name: 'camera' });
153
+ this.permissionState = permission.state;
154
+ printLogs('[PermissionService] performPermissionRequest Permission state:', permission.state);
155
+ if (permission.state === 'denied') {
156
+ printLogs('[PermissionService] Camera permission is denied', '', 'WARN');
157
+ return false;
158
+ }
159
+ }
160
+ return true;
161
+ });
162
+ }
163
+ getUserMediaWithTimeout() {
164
+ return navigator.mediaDevices.getUserMedia({ video: true, audio: false });
165
+ }
166
+ getPermissionStateData() {
167
+ return {
168
+ isGranted: this.permissionGranted,
169
+ state: this.permissionState,
170
+ };
171
+ }
172
+ setPermissionStateData(isGranted, state) {
173
+ this.permissionGranted = isGranted;
174
+ this.permissionState = state;
175
+ printLogs('[PermissionService] setPermissionStateData', {
176
+ granted: isGranted,
177
+ state: this.permissionState,
178
+ });
179
+ // Notify listeners about state change
180
+ this.notifyListeners();
181
+ }
182
+ }
183
+ export { PermissionService };
184
+ //# sourceMappingURL=PermissionsService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermissionsService.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/permissions/PermissionsService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { PermissionService } from './PermissionsService';
2
+ export type { IPermissionService } from './permissions.domain';
3
+ export type { PermissionListener } from './permissions.types';
4
+ export type { PermissionState } from './permissions.types';
@@ -0,0 +1,3 @@
1
+ /* eslint-disable import/prefer-default-export */
2
+ export { PermissionService } from './PermissionsService';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/permissions/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Logs camera-related errors with detailed messages based on error type
3
+ * @param error - The error object to log
4
+ * @param context - Optional context string to prefix the log messages (defaults to 'MobileCameraService')
5
+ */
6
+ export declare function logCameraError(error: any, context?: string): void;
@@ -0,0 +1,34 @@
1
+ import { printLogs } from '../../global/shared.utils';
2
+ /**
3
+ * Logs camera-related errors with detailed messages based on error type
4
+ * @param error - The error object to log
5
+ * @param context - Optional context string to prefix the log messages (defaults to 'MobileCameraService')
6
+ */
7
+ export function logCameraError(error, context = 'MobileCameraService') {
8
+ const errorType = (error === null || error === void 0 ? void 0 : error.name) || (error === null || error === void 0 ? void 0 : error.message) || 'UNKNOWN';
9
+ switch (errorType) {
10
+ case 'NotAllowedError':
11
+ printLogs(`[${context}] Camera permission denied by user`, '', 'ERROR');
12
+ break;
13
+ case 'NotFoundError':
14
+ printLogs(`[${context}] No camera device found`, '', 'ERROR');
15
+ break;
16
+ case 'NotReadableError':
17
+ printLogs(`[${context}] Camera is already in use by another app/tab`, '', 'ERROR');
18
+ break;
19
+ case 'OverconstrainedError':
20
+ printLogs(`[${context}] Camera constraints cannot be satisfied`, '', 'ERROR');
21
+ break;
22
+ case 'NO_TRACK_SETTINGS':
23
+ printLogs(`[${context}] Failed to get track settings from camera`, '', 'ERROR');
24
+ break;
25
+ case 'NO_VIDEO_TRACKS':
26
+ printLogs(`[${context}] Stream has no video tracks`, '', 'ERROR');
27
+ break;
28
+ default:
29
+ printLogs(`[${context}] Unknown camera error: ${errorType}`, '', 'ERROR');
30
+ break;
31
+ }
32
+ printLogs(`[${context}] Error stack: `, (error === null || error === void 0 ? void 0 : error.stack) || 'no stack trace');
33
+ }
34
+ //# sourceMappingURL=permission.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission.utils.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/permissions/permission.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAU,EAAE,OAAO,GAAG,qBAAqB;IACxE,MAAM,SAAS,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAA,IAAI,SAAS,CAAC;IAE7D,QAAQ,SAAS,EAAE;QACjB,KAAK,iBAAiB;YACpB,SAAS,CAAC,IAAI,OAAO,oCAAoC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YACxE,MAAM;QAER,KAAK,eAAe;YAClB,SAAS,CAAC,IAAI,OAAO,0BAA0B,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YAC9D,MAAM;QAER,KAAK,kBAAkB;YACrB,SAAS,CAAC,IAAI,OAAO,+CAA+C,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YACnF,MAAM;QAER,KAAK,sBAAsB;YACzB,SAAS,CAAC,IAAI,OAAO,0CAA0C,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YAC9E,MAAM;QAER,KAAK,mBAAmB;YACtB,SAAS,CAAC,IAAI,OAAO,4CAA4C,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YAChF,MAAM;QAER,KAAK,iBAAiB;YACpB,SAAS,CAAC,IAAI,OAAO,8BAA8B,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YAClE,MAAM;QAER;YACE,SAAS,CAAC,IAAI,OAAO,2BAA2B,SAAS,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YAC1E,MAAM;KACT;IAED,SAAS,CAAC,IAAI,OAAO,iBAAiB,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,KAAI,gBAAgB,CAAC,CAAC;AAC5E,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { PermissionDataState, PermissionListener } from './permissions.types';
2
+ export interface IPermissionService {
3
+ requestCameraPermissions(): Promise<PermissionDataState>;
4
+ checkCameraPermissions(): Promise<PermissionDataState>;
5
+ addListener(listener: PermissionListener): () => void;
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=permissions.domain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.domain.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/permissions/permissions.domain.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export type PermissionState = 'prompt' | 'granted' | 'denied';
2
+ export type PermissionListener = (state: {
3
+ isGranted: boolean;
4
+ permissionState: PermissionState;
5
+ }) => void;
6
+ export type PermissionDataState = {
7
+ isGranted: boolean;
8
+ state: PermissionState;
9
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=permissions.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.types.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/permissions/permissions.types.ts"],"names":[],"mappings":""}
@@ -1,25 +1,25 @@
1
- import { Wasm } from './wasm.domain';
2
- import { WasmLoadResult, WasmModuleOptions, EncryptionResult, WasmResultCallback } from './wasm.types';
3
- export declare class WasmService implements Wasm {
4
- private workerFunctions;
5
- private isInitialized;
6
- private hasSimdSupport;
7
- constructor();
8
- initialize(): Promise<void>;
9
- loadModule(options: WasmModuleOptions): Promise<WasmLoadResult>;
10
- checkIfModelsLoaded: (isEnroll: boolean) => Promise<boolean>;
11
- enroll(imageData: any, config: string, callback: WasmResultCallback): Promise<any>;
12
- predict: (images: ImageData[], isSimd: boolean, config: string, callback: WasmResultCallback) => Promise<any>;
13
- estimateAge: (images: ImageData[], isSimd: boolean, config: string, callback: WasmResultCallback) => Promise<{
14
- result: number;
15
- imageData: Uint8ClampedArray | null;
16
- height: number | null;
17
- width: number | null;
18
- }>;
19
- compareEmbeddings: (embeddingsA: string, embeddingsB: string, config: string, callback: WasmResultCallback) => Promise<any>;
20
- scanFrontPhotoIdDocument: (imageData: ImageData, config: string, callback: WasmResultCallback) => Promise<void>;
21
- scanBackDocument: (imageData: ImageData, isSimd: boolean, config: string, callback: WasmResultCallback) => Promise<any>;
22
- scanPassport: (imageData: ImageData, config: string, callback: WasmResultCallback) => Promise<void>;
23
- documentOcr: (imageData: ImageData | string, config: string, callback: WasmResultCallback) => Promise<any>;
24
- pkiEncrypt: (payload: any) => Promise<EncryptionResult>;
25
- }
1
+ import { Wasm } from './wasm.domain';
2
+ import { WasmLoadResult, WasmModuleOptions, EncryptionResult, WasmResultCallback } from './wasm.types';
3
+ export declare class WasmService implements Wasm {
4
+ private workerFunctions;
5
+ private isInitialized;
6
+ private hasSimdSupport;
7
+ constructor();
8
+ initialize(): Promise<void>;
9
+ loadModule(options: WasmModuleOptions): Promise<WasmLoadResult>;
10
+ checkIfModelsLoaded: (isEnroll: boolean) => Promise<boolean>;
11
+ enroll(imageData: any, config: string, callback: WasmResultCallback): Promise<any>;
12
+ predict: (images: ImageData[], isSimd: boolean, config: string, callback: WasmResultCallback) => Promise<any>;
13
+ estimateAge: (images: ImageData[], isSimd: boolean, config: string, callback: WasmResultCallback, onAntiSpoofProgress?: any) => Promise<{
14
+ result: number;
15
+ imageData: Uint8ClampedArray | null;
16
+ height: number | null;
17
+ width: number | null;
18
+ }>;
19
+ compareEmbeddings: (embeddingsA: string, embeddingsB: string, config: string, callback: WasmResultCallback) => Promise<any>;
20
+ scanFrontPhotoIdDocument: (imageData: ImageData, config: string, callback: WasmResultCallback) => Promise<void>;
21
+ scanBackDocument: (imageData: ImageData, isSimd: boolean, config: string, callback: WasmResultCallback) => Promise<any>;
22
+ scanPassport: (imageData: ImageData, config: string, callback: WasmResultCallback) => Promise<void>;
23
+ documentOcr: (imageData: ImageData | string, config: string, callback: WasmResultCallback) => Promise<any>;
24
+ pkiEncrypt: (payload: any) => Promise<EncryptionResult>;
25
+ }