@privateid/ultrapass-web-sdk 1.3.1 → 1.3.2-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.
- package/README.md +75 -75
- package/dist/apiUtils.d.ts +46 -46
- package/dist/apiUtils.js +922 -922
- package/dist/application/index.d.ts +7 -7
- package/dist/application/index.js +27 -27
- package/dist/application/modules/core/document/DocumentService.d.ts +22 -22
- package/dist/application/modules/core/document/DocumentService.js +254 -254
- package/dist/application/modules/core/document/document.constants.d.ts +15 -15
- package/dist/application/modules/core/document/document.constants.js +21 -21
- package/dist/application/modules/core/document/document.domain.d.ts +7 -7
- package/dist/application/modules/core/document/document.domain.js +1 -1
- package/dist/application/modules/core/document/document.types.d.ts +17 -17
- package/dist/application/modules/core/document/document.types.js +1 -1
- package/dist/application/modules/core/document/document.utils.d.ts +3 -3
- package/dist/application/modules/core/document/document.utils.js +58 -58
- package/dist/application/modules/core/document/index.d.ts +3 -3
- package/dist/application/modules/core/document/index.js +1 -1
- package/dist/application/modules/core/face/FaceService.d.ts +33 -33
- package/dist/application/modules/core/face/FaceService.js +228 -221
- package/dist/application/modules/core/face/FaceService.js.map +1 -1
- package/dist/application/modules/core/face/face.constants.d.ts +53 -53
- package/dist/application/modules/core/face/face.constants.js +53 -53
- package/dist/application/modules/core/face/face.domain.d.ts +10 -10
- package/dist/application/modules/core/face/face.domain.js +1 -1
- package/dist/application/modules/core/face/face.types.d.ts +41 -38
- package/dist/application/modules/core/face/face.types.js +1 -1
- package/dist/application/modules/core/face/face.utils.d.ts +15 -15
- package/dist/application/modules/core/face/face.utils.js +101 -101
- package/dist/application/modules/core/face/index.d.ts +3 -3
- package/dist/application/modules/core/face/index.js +1 -1
- package/dist/application/modules/global/shared.constants.d.ts +2 -2
- package/dist/application/modules/global/shared.constants.js +2 -2
- package/dist/application/modules/global/shared.utils.d.ts +25 -25
- package/dist/application/modules/global/shared.utils.js +100 -100
- package/dist/application/modules/global/shared.utils.js.map +1 -1
- package/dist/application/modules/internal/feature-flag/LDFeatureFlagService.d.ts +9 -0
- package/dist/application/modules/internal/feature-flag/LDFeatureFlagService.js +32 -0
- package/dist/application/modules/internal/feature-flag/LDFeatureFlagService.js.map +1 -0
- package/dist/application/modules/internal/feature-flag/feature-flag-init.d.ts +11 -0
- package/dist/application/modules/internal/feature-flag/feature-flag-init.js +24 -0
- package/dist/application/modules/internal/feature-flag/feature-flag-init.js.map +1 -0
- package/dist/application/modules/internal/feature-flag/feature-flag.domain.d.ts +10 -0
- package/dist/application/modules/internal/feature-flag/feature-flag.domain.js +7 -0
- package/dist/application/modules/internal/feature-flag/feature-flag.domain.js.map +1 -0
- package/dist/application/modules/internal/feature-flag/featureFlagInit.d.ts +11 -0
- package/dist/application/modules/internal/feature-flag/featureFlagInit.js +44 -0
- package/dist/application/modules/internal/feature-flag/featureFlagInit.js.map +1 -0
- package/dist/application/modules/internal/feature-flag/index.d.ts +2 -0
- package/dist/application/modules/internal/feature-flag/index.js +3 -0
- package/dist/application/modules/internal/feature-flag/index.js.map +1 -0
- package/dist/application/modules/internal/shared/index.d.ts +2 -0
- package/dist/application/modules/internal/shared/index.js +3 -0
- package/dist/application/modules/internal/shared/index.js.map +1 -0
- package/dist/application/modules/internal/shared/shared.constants.d.ts +2 -0
- package/dist/application/modules/internal/shared/shared.constants.js +3 -0
- package/dist/application/modules/internal/shared/shared.constants.js.map +1 -0
- package/dist/application/modules/internal/shared/shared.utils.d.ts +44 -0
- package/dist/application/modules/internal/shared/shared.utils.js +204 -0
- package/dist/application/modules/internal/shared/shared.utils.js.map +1 -0
- package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.d.ts +28 -0
- package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.js +380 -0
- package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.js.map +1 -0
- package/dist/application/modules/internal/wasm-orchestrator/index.d.ts +6 -0
- package/dist/application/modules/internal/wasm-orchestrator/index.js +9 -0
- package/dist/application/modules/internal/wasm-orchestrator/index.js.map +1 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.constants.d.ts +28 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.constants.js +35 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.constants.js.map +1 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.domain.d.ts +51 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.domain.js +2 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.domain.js.map +1 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.types.d.ts +142 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.types.js +2 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.types.js.map +1 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.utils.d.ts +86 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.utils.js +201 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.utils.js.map +1 -0
- package/dist/application/modules/support/camera/CameraServiceFactory.d.ts +10 -10
- package/dist/application/modules/support/camera/CameraServiceFactory.js +33 -33
- package/dist/application/modules/support/camera/CameraServiceFactory.js.map +1 -1
- package/dist/application/modules/support/camera/camera.constants.d.ts +9 -9
- package/dist/application/modules/support/camera/camera.constants.js +48 -48
- package/dist/application/modules/support/camera/camera.domain.d.ts +15 -15
- package/dist/application/modules/support/camera/camera.domain.js +1 -1
- package/dist/application/modules/support/camera/camera.types.d.ts +42 -42
- package/dist/application/modules/support/camera/camera.types.js +10 -10
- package/dist/application/modules/support/camera/camera.utils.d.ts +157 -157
- package/dist/application/modules/support/camera/camera.utils.js +623 -623
- package/dist/application/modules/support/camera/index.d.ts +24 -24
- package/dist/application/modules/support/camera/index.js +27 -27
- package/dist/application/modules/support/camera/services/BaseCameraService.d.ts +41 -41
- package/dist/application/modules/support/camera/services/BaseCameraService.js +278 -278
- package/dist/application/modules/support/camera/services/DesktopCameraService.d.ts +5 -5
- package/dist/application/modules/support/camera/services/DesktopCameraService.js +46 -46
- package/dist/application/modules/support/camera/services/FirefoxCameraService.d.ts +5 -5
- package/dist/application/modules/support/camera/services/FirefoxCameraService.js +46 -46
- package/dist/application/modules/support/camera/services/MacSafariCameraService.d.ts +5 -5
- package/dist/application/modules/support/camera/services/MacSafariCameraService.js +47 -47
- package/dist/application/modules/support/camera/services/MobileCameraService.d.ts +5 -5
- package/dist/application/modules/support/camera/services/MobileCameraService.js +133 -133
- package/dist/application/modules/support/engine/EngineService.d.ts +15 -0
- package/dist/application/modules/support/engine/EngineService.js +106 -0
- package/dist/application/modules/support/engine/EngineService.js.map +1 -0
- package/dist/application/modules/support/engine/engine.constants.d.ts +33 -0
- package/dist/application/modules/support/engine/engine.constants.js +35 -0
- package/dist/application/modules/support/engine/engine.constants.js.map +1 -0
- package/dist/application/modules/support/engine/engine.domain.d.ts +23 -0
- package/dist/application/modules/support/engine/engine.domain.js +2 -0
- package/dist/application/modules/support/engine/engine.domain.js.map +1 -0
- package/dist/application/modules/support/engine/engine.types.d.ts +32 -0
- package/dist/application/modules/support/engine/engine.types.js +2 -0
- package/dist/application/modules/support/engine/engine.types.js.map +1 -0
- package/dist/application/modules/support/engine/engine.utils.d.ts +65 -0
- package/dist/application/modules/support/engine/engine.utils.js +135 -0
- package/dist/application/modules/support/engine/engine.utils.js.map +1 -0
- package/dist/application/modules/support/engine/index.d.ts +3 -0
- package/dist/application/modules/support/engine/index.js +2 -0
- package/dist/application/modules/support/engine/index.js.map +1 -0
- package/dist/application/modules/support/permissions/PermissionsService.d.ts +55 -55
- package/dist/application/modules/support/permissions/PermissionsService.js +183 -183
- package/dist/application/modules/support/permissions/index.d.ts +4 -4
- package/dist/application/modules/support/permissions/index.js +2 -2
- package/dist/application/modules/support/permissions/permission.utils.d.ts +6 -6
- package/dist/application/modules/support/permissions/permission.utils.js +33 -33
- package/dist/application/modules/support/permissions/permissions.domain.d.ts +6 -6
- package/dist/application/modules/support/permissions/permissions.domain.js +1 -1
- package/dist/application/modules/support/permissions/permissions.types.d.ts +9 -9
- package/dist/application/modules/support/permissions/permissions.types.js +1 -1
- package/dist/application/modules/support/wasm/WasmService.d.ts +25 -25
- package/dist/application/modules/support/wasm/WasmService.js +156 -155
- package/dist/application/modules/support/wasm/WasmService.js.map +1 -1
- package/dist/application/modules/support/wasm/index.d.ts +6 -6
- package/dist/application/modules/support/wasm/index.js +8 -8
- package/dist/application/modules/support/wasm/wasm.constants.d.ts +78 -78
- package/dist/application/modules/support/wasm/wasm.constants.js +86 -86
- package/dist/application/modules/support/wasm/wasm.domain.d.ts +52 -52
- package/dist/application/modules/support/wasm/wasm.domain.js +1 -1
- package/dist/application/modules/support/wasm/wasm.types.d.ts +119 -118
- package/dist/application/modules/support/wasm/wasm.types.js +1 -1
- package/dist/application/modules/support/wasm/wasm.utils.d.ts +88 -88
- package/dist/application/modules/support/wasm/wasm.utils.js +243 -243
- package/dist/application/modules/support/wasm-orchestrator/WasmOrchestratorService.d.ts +28 -0
- package/dist/application/modules/support/wasm-orchestrator/WasmOrchestratorService.js +324 -0
- package/dist/application/modules/support/wasm-orchestrator/WasmOrchestratorService.js.map +1 -0
- package/dist/application/modules/support/wasm-orchestrator/index.d.ts +6 -0
- package/dist/application/modules/support/wasm-orchestrator/index.js +9 -0
- package/dist/application/modules/support/wasm-orchestrator/index.js.map +1 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.constants.d.ts +36 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.constants.js +44 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.constants.js.map +1 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.domain.d.ts +47 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.domain.js +2 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.domain.js.map +1 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.types.d.ts +136 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.types.js +2 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.types.js.map +1 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.utils.d.ts +91 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.utils.js +250 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.utils.js.map +1 -0
- package/dist/application/workers/index.d.ts +42 -42
- package/dist/application/workers/index.js +8 -8
- package/dist/application/workers/wasm/WasmWorkerService.d.ts +66 -0
- package/dist/application/workers/wasm/WasmWorkerService.js +801 -0
- package/dist/application/workers/wasm/WasmWorkerService.js.map +1 -0
- package/dist/application/workers/wasm/index.d.ts +4 -0
- package/dist/application/workers/wasm/index.js +9 -0
- package/dist/application/workers/wasm/index.js.map +1 -0
- package/dist/application/workers/wasm/wasm-worker.constants.d.ts +5 -0
- package/dist/application/workers/wasm/wasm-worker.constants.js +6 -0
- package/dist/application/workers/wasm/wasm-worker.constants.js.map +1 -0
- package/dist/application/workers/wasm/wasm-worker.domain.d.ts +99 -0
- package/dist/application/workers/wasm/wasm-worker.domain.js +2 -0
- package/dist/application/workers/wasm/wasm-worker.domain.js.map +1 -0
- package/dist/application/workers/wasm/wasm-worker.types.d.ts +88 -0
- package/dist/application/workers/wasm/wasm-worker.types.js +2 -0
- package/dist/application/workers/wasm/wasm-worker.types.js.map +1 -0
- package/dist/application/workers/wasm/wasm-worker.utils.d.ts +10 -0
- package/dist/application/workers/wasm/wasm-worker.utils.js +130 -0
- package/dist/application/workers/wasm/wasm-worker.utils.js.map +1 -0
- package/dist/buildConfig.d.ts +3 -0
- package/dist/buildConfig.js +7 -0
- package/dist/buildConfig.js.map +1 -0
- package/dist/cameraUtils.d.ts +77 -77
- package/dist/cameraUtils.js +361 -361
- package/dist/constants.d.ts +9 -9
- package/dist/constants.js +13 -13
- package/dist/createCallback.d.ts +56 -56
- package/dist/createCallback.js +332 -331
- package/dist/createCallback.js.map +1 -1
- package/dist/dbUtils.d.ts +14 -14
- package/dist/dbUtils.js +148 -148
- package/dist/envUtils.d.ts +4 -4
- package/dist/envUtils.js +16 -16
- package/dist/faceModule.d.ts +196 -196
- package/dist/faceModule.js +978 -978
- package/dist/featureFlagInit.d.ts +11 -0
- package/dist/featureFlagInit.js +44 -0
- package/dist/featureFlagInit.js.map +1 -0
- package/dist/index.d.ts +38 -38
- package/dist/index.js +82 -82
- package/dist/main.d.ts +30 -30
- package/dist/main.js +84 -84
- package/dist/types.d.ts +139 -139
- package/dist/types.js +77 -77
- package/dist/utils.d.ts +84 -84
- package/dist/utils.js +580 -580
- package/package.json +102 -102
- package/wasm/ultra/nosimd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.js +18 -18
- package/wasm/ultra/nosimd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.wasm +0 -0
- package/wasm/ultra/nosimd/version.json +2 -2
- package/wasm/ultra/simd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.js +18 -18
- package/wasm/ultra/simd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.wasm +0 -0
- package/wasm/ultra/simd/version.json +2 -2
- package/workers/comlink.min.js +7 -7
- package/workers/comlink.min.js.map +1 -1
- package/workers/wasm.worker.js +936 -924
|
@@ -1,184 +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 };
|
|
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
184
|
//# sourceMappingURL=PermissionsService.js.map
|
|
@@ -1,4 +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';
|
|
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';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* eslint-disable import/prefer-default-export */
|
|
2
|
-
export { PermissionService } from './PermissionsService';
|
|
1
|
+
/* eslint-disable import/prefer-default-export */
|
|
2
|
+
export { PermissionService } from './PermissionsService';
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,6 +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;
|
|
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;
|
|
@@ -1,34 +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
|
-
}
|
|
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
34
|
//# sourceMappingURL=permission.utils.js.map
|
|
@@ -1,6 +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
|
-
}
|
|
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
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=permissions.domain.js.map
|
|
@@ -1,9 +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
|
-
};
|
|
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
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=permissions.types.js.map
|
|
@@ -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
|
+
}
|