@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
|
@@ -0,0 +1,106 @@
|
|
|
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 { detect } from 'detect-browser';
|
|
13
|
+
import { printLogs } from '../../internal/shared/shared.utils';
|
|
14
|
+
import { checkAndroidSupport, checkBrowserCompatibility, checkIOSSupport, checkMacOSSupport, checkWebBrowsersSupport, handleCacheContent, } from './engine.utils';
|
|
15
|
+
export class EngineService {
|
|
16
|
+
constructor(wasmOrchestratorService) {
|
|
17
|
+
this.wasmOrchestratorService = wasmOrchestratorService;
|
|
18
|
+
const { name, os, version } = detect();
|
|
19
|
+
this.browserName = name;
|
|
20
|
+
this.browserOS = os;
|
|
21
|
+
this.browserVersion = version;
|
|
22
|
+
}
|
|
23
|
+
loadModule(params) {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
printLogs('[EngineService] loadModule params', params);
|
|
26
|
+
const compatibility = checkBrowserCompatibility();
|
|
27
|
+
printLogs('[EngineService] loadModule compatibility', compatibility);
|
|
28
|
+
if (!compatibility.support) {
|
|
29
|
+
return compatibility;
|
|
30
|
+
}
|
|
31
|
+
const cacheContent = yield handleCacheContent();
|
|
32
|
+
try {
|
|
33
|
+
return yield this.wasmOrchestratorService.loadModule(Object.assign(Object.assign({}, params), { cacheContent }));
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
printLogs('[EngineService] loadModule error', error, 'ERROR');
|
|
37
|
+
return { support: false, message: error.message };
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
checkModelsAreLoaded() {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
try {
|
|
44
|
+
return yield this.wasmOrchestratorService.checkIfModelsLoaded();
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
printLogs('[EngineService] checkModelsAreLoaded error', error, 'ERROR');
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
freeMemory() {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
printLogs('[EngineService] freeMemory', '');
|
|
55
|
+
try {
|
|
56
|
+
return yield this.wasmOrchestratorService.freeWasmMemory();
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
printLogs('[EngineService] freeMemory error', error, 'ERROR');
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
encryptData(payload) {
|
|
65
|
+
var _a;
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
printLogs('[EngineService] encryptData payload', payload);
|
|
68
|
+
try {
|
|
69
|
+
const result = yield this.wasmOrchestratorService.pkiEncrypt(payload);
|
|
70
|
+
printLogs('[EngineService] encryptData result', result);
|
|
71
|
+
return (_a = result === null || result === void 0 ? void 0 : result.operation_result) === null || _a === void 0 ? void 0 : _a.request;
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
printLogs('[EngineService] encryptData error', error, 'ERROR');
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
checkPackageSupport() {
|
|
80
|
+
printLogs('[EngineService] checkPackageSupport', {
|
|
81
|
+
browserName: this.browserName,
|
|
82
|
+
browserVersion: this.browserVersion,
|
|
83
|
+
browserOS: this.browserOS,
|
|
84
|
+
});
|
|
85
|
+
let result = {
|
|
86
|
+
isSupported: false,
|
|
87
|
+
};
|
|
88
|
+
switch (this.browserOS) {
|
|
89
|
+
case 'Mac OS':
|
|
90
|
+
result = checkMacOSSupport(this.browserName, this.browserVersion);
|
|
91
|
+
break;
|
|
92
|
+
case 'iOS':
|
|
93
|
+
result = checkIOSSupport(this.browserName, this.browserVersion);
|
|
94
|
+
break;
|
|
95
|
+
case 'Android OS':
|
|
96
|
+
case 'android':
|
|
97
|
+
result = checkAndroidSupport(this.browserName, this.browserVersion);
|
|
98
|
+
break;
|
|
99
|
+
default:
|
|
100
|
+
result = checkWebBrowsersSupport(this.browserName, this.browserVersion);
|
|
101
|
+
}
|
|
102
|
+
printLogs('[EngineService] checkPackageSupport result', result);
|
|
103
|
+
return result;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=EngineService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EngineService.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/engine/EngineService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export declare const BROWSER_COMPATIBILITY_MESSAGES: {
|
|
2
|
+
readonly OPERA_MOBILE_NOT_SUPPORTED: "Opera mobile version 72 and below is not support WASM";
|
|
3
|
+
readonly OPERA_NOT_SUPPORTED: "Opera version 43 and below is not support WASM";
|
|
4
|
+
readonly CHROME_NOT_SUPPORTED: "Chrome version 57 and below is not support WASM";
|
|
5
|
+
readonly FIREFOX_NOT_SUPPORTED: "Firefox version 52 and below is not support WASM";
|
|
6
|
+
readonly ANDROID_BROWSER_NOT_SUPPORTED: "Android Browser version 96 and below is not supported.";
|
|
7
|
+
readonly UNABLE_TO_LOAD_WASM: "Unable to load wasm";
|
|
8
|
+
};
|
|
9
|
+
export declare const PACKAGE_COMPATIBILITY_MESSAGES: {
|
|
10
|
+
readonly SAFARI_NOT_SUPPORTED: "Safari version 10 and below is not supported.";
|
|
11
|
+
readonly OPERA_MOBILE_NOT_SUPPORTED: "Opera mobile version 72 and below is not support WASM";
|
|
12
|
+
readonly ANDROID_CHROME_NOT_SUPPORTED: "Android Chrome version 96 and below is not supported.";
|
|
13
|
+
readonly SAMSUNG_BROWSER_NOT_SUPPORTED: "Samsung browser version 6 and below is not supported.";
|
|
14
|
+
readonly FIREFOX_MOBILE_NOT_SUPPORTED: "Firefox mobile version 94 and below is not supported.";
|
|
15
|
+
readonly ANDROID_BROWSER_NOT_SUPPORTED: "Android Browser version 96 and below is not supported.";
|
|
16
|
+
readonly IE_NOT_SUPPORTED: "Internet Explorer is not supported.";
|
|
17
|
+
readonly EDGE_NOT_SUPPORTED: "Edge version 78 and below is not supported.";
|
|
18
|
+
readonly CHROME_NOT_SUPPORTED: "Chrome version 57 and below is not support WASM";
|
|
19
|
+
readonly FIREFOX_NOT_SUPPORTED: "Firefox version 52 and below is not supported.";
|
|
20
|
+
readonly OPERA_NOT_SUPPORTED: "Opera version 43 and below is not support WASM";
|
|
21
|
+
};
|
|
22
|
+
export declare const PACKAGE_COMPATIBILITY_MIN_VERSIONS: {
|
|
23
|
+
readonly SAFARI: 10;
|
|
24
|
+
readonly OPERA_MOBILE: 72;
|
|
25
|
+
readonly ANDROID_CHROME: 96;
|
|
26
|
+
readonly SAMSUNG_BROWSER: 6.2;
|
|
27
|
+
readonly FIREFOX_MOBILE: 94;
|
|
28
|
+
readonly ANDROID_BROWSER: 96;
|
|
29
|
+
readonly EDGE: 78;
|
|
30
|
+
readonly CHROME: 57;
|
|
31
|
+
readonly FIREFOX: 52;
|
|
32
|
+
readonly OPERA: 43;
|
|
33
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// Browser compatibility messages
|
|
2
|
+
export const BROWSER_COMPATIBILITY_MESSAGES = {
|
|
3
|
+
OPERA_MOBILE_NOT_SUPPORTED: 'Opera mobile version 72 and below is not support WASM',
|
|
4
|
+
OPERA_NOT_SUPPORTED: 'Opera version 43 and below is not support WASM',
|
|
5
|
+
CHROME_NOT_SUPPORTED: 'Chrome version 57 and below is not support WASM',
|
|
6
|
+
FIREFOX_NOT_SUPPORTED: 'Firefox version 52 and below is not support WASM',
|
|
7
|
+
ANDROID_BROWSER_NOT_SUPPORTED: 'Android Browser version 96 and below is not supported.',
|
|
8
|
+
UNABLE_TO_LOAD_WASM: 'Unable to load wasm',
|
|
9
|
+
};
|
|
10
|
+
export const PACKAGE_COMPATIBILITY_MESSAGES = {
|
|
11
|
+
SAFARI_NOT_SUPPORTED: 'Safari version 10 and below is not supported.',
|
|
12
|
+
OPERA_MOBILE_NOT_SUPPORTED: 'Opera mobile version 72 and below is not support WASM',
|
|
13
|
+
ANDROID_CHROME_NOT_SUPPORTED: 'Android Chrome version 96 and below is not supported.',
|
|
14
|
+
SAMSUNG_BROWSER_NOT_SUPPORTED: 'Samsung browser version 6 and below is not supported.',
|
|
15
|
+
FIREFOX_MOBILE_NOT_SUPPORTED: 'Firefox mobile version 94 and below is not supported.',
|
|
16
|
+
ANDROID_BROWSER_NOT_SUPPORTED: 'Android Browser version 96 and below is not supported.',
|
|
17
|
+
IE_NOT_SUPPORTED: 'Internet Explorer is not supported.',
|
|
18
|
+
EDGE_NOT_SUPPORTED: 'Edge version 78 and below is not supported.',
|
|
19
|
+
CHROME_NOT_SUPPORTED: 'Chrome version 57 and below is not support WASM',
|
|
20
|
+
FIREFOX_NOT_SUPPORTED: 'Firefox version 52 and below is not supported.',
|
|
21
|
+
OPERA_NOT_SUPPORTED: 'Opera version 43 and below is not support WASM',
|
|
22
|
+
};
|
|
23
|
+
export const PACKAGE_COMPATIBILITY_MIN_VERSIONS = {
|
|
24
|
+
SAFARI: 10,
|
|
25
|
+
OPERA_MOBILE: 72,
|
|
26
|
+
ANDROID_CHROME: 96,
|
|
27
|
+
SAMSUNG_BROWSER: 6.2,
|
|
28
|
+
FIREFOX_MOBILE: 94,
|
|
29
|
+
ANDROID_BROWSER: 96,
|
|
30
|
+
EDGE: 78,
|
|
31
|
+
CHROME: 57,
|
|
32
|
+
FIREFOX: 52,
|
|
33
|
+
OPERA: 43,
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=engine.constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.constants.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/engine/engine.constants.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,0BAA0B,EAAE,uDAAuD;IACnF,mBAAmB,EAAE,gDAAgD;IACrE,oBAAoB,EAAE,iDAAiD;IACvE,qBAAqB,EAAE,kDAAkD;IACzE,6BAA6B,EAAE,wDAAwD;IACvF,mBAAmB,EAAE,qBAAqB;CAClC,CAAC;AAEX,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,oBAAoB,EAAE,+CAA+C;IACrE,0BAA0B,EAAE,uDAAuD;IACnF,4BAA4B,EAAE,uDAAuD;IACrF,6BAA6B,EAAE,uDAAuD;IACtF,4BAA4B,EAAE,uDAAuD;IACrF,6BAA6B,EAAE,wDAAwD;IACvF,gBAAgB,EAAE,qCAAqC;IACvD,kBAAkB,EAAE,6CAA6C;IACjE,oBAAoB,EAAE,iDAAiD;IACvE,qBAAqB,EAAE,gDAAgD;IACvE,mBAAmB,EAAE,gDAAgD;CAC7D,CAAC;AAEX,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,MAAM,EAAE,EAAE;IACV,YAAY,EAAE,EAAE;IAChB,cAAc,EAAE,EAAE;IAClB,eAAe,EAAE,GAAG;IACpB,cAAc,EAAE,EAAE;IAClB,eAAe,EAAE,EAAE;IACnB,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;CACD,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { LoadModuleParams, LoadModuleResult, PackageSupportResult } from './engine.types';
|
|
2
|
+
export interface Engine {
|
|
3
|
+
/**
|
|
4
|
+
* Load the WASM modules with the given options
|
|
5
|
+
*/
|
|
6
|
+
loadModule(options: LoadModuleParams): Promise<LoadModuleResult>;
|
|
7
|
+
/**
|
|
8
|
+
* Check if The AI models used on the WASM are loaded
|
|
9
|
+
*/
|
|
10
|
+
checkModelsAreLoaded(): Promise<boolean>;
|
|
11
|
+
/**
|
|
12
|
+
* Free WASM Engine memory
|
|
13
|
+
*/
|
|
14
|
+
freeMemory(): Promise<boolean>;
|
|
15
|
+
/**
|
|
16
|
+
* Encrypt data using PKI encryption
|
|
17
|
+
*/
|
|
18
|
+
encryptData(payload: unknown): Promise<(string | null)[]>;
|
|
19
|
+
/**
|
|
20
|
+
* Check if the current browser supports the package
|
|
21
|
+
*/
|
|
22
|
+
checkPackageSupport(): PackageSupportResult;
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.domain.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/engine/engine.domain.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
type ApiUrl = {
|
|
2
|
+
collections: {
|
|
3
|
+
default: {
|
|
4
|
+
named_urls: {
|
|
5
|
+
base_url: string;
|
|
6
|
+
predict?: string;
|
|
7
|
+
enroll?: string;
|
|
8
|
+
validate_api_key?: string;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export type LoadModuleParams = {
|
|
14
|
+
apiUrl: ApiUrl;
|
|
15
|
+
sessionToken: string;
|
|
16
|
+
publicKey: string;
|
|
17
|
+
timeout?: number;
|
|
18
|
+
useCdn?: boolean;
|
|
19
|
+
usageScenario?: string;
|
|
20
|
+
shouldRegenerateSession?: boolean;
|
|
21
|
+
wasmFailureCallback?: (result: any) => void;
|
|
22
|
+
skipSimdCheck?: boolean;
|
|
23
|
+
};
|
|
24
|
+
export type LoadModuleResult = {
|
|
25
|
+
support: boolean;
|
|
26
|
+
message?: string;
|
|
27
|
+
};
|
|
28
|
+
export type PackageSupportResult = {
|
|
29
|
+
isSupported: boolean;
|
|
30
|
+
message?: string;
|
|
31
|
+
};
|
|
32
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.types.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/engine/engine.types.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
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"}
|
|
@@ -1,55 +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 };
|
|
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 };
|