idmission-web-sdk 2.3.105 → 2.3.107
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/dist/lib/models/CapabilityProbing.d.ts +1 -0
- package/dist/lib/models/CapabilityProbing.d.ts.map +1 -1
- package/dist/lib/models/VisionRuntime.d.ts +1 -0
- package/dist/lib/models/VisionRuntime.d.ts.map +1 -1
- package/dist/lib/models/defaults/BarcodeReadability.d.ts +1 -0
- package/dist/lib/models/defaults/BarcodeReadability.d.ts.map +1 -1
- package/dist/lib/models/defaults/DocumentDetector.d.ts +1 -0
- package/dist/lib/models/defaults/DocumentDetector.d.ts.map +1 -1
- package/dist/lib/models/defaults/FaceDetector.d.ts +1 -0
- package/dist/lib/models/defaults/FaceDetector.d.ts.map +1 -1
- package/dist/lib/models/defaults/Focus.d.ts +1 -0
- package/dist/lib/models/defaults/Focus.d.ts.map +1 -1
- package/dist/lib/models/defaults/index.d.ts +5 -0
- package/dist/lib/models/defaults/index.d.ts.map +1 -1
- package/dist/lib/models/preloadModels.d.ts +1 -1
- package/dist/lib/models/preloadModels.d.ts.map +1 -1
- package/dist/sdk2.cjs.development.js +70 -9
- package/dist/sdk2.cjs.development.js.map +1 -1
- package/dist/sdk2.cjs.production.js +1 -1
- package/dist/sdk2.cjs.production.js.map +1 -1
- package/dist/sdk2.esm.js +70 -9
- package/dist/sdk2.esm.js.map +1 -1
- package/dist/sdk2.umd.development.js +70 -9
- package/dist/sdk2.umd.development.js.map +1 -1
- package/dist/sdk2.umd.production.js +1 -1
- package/dist/sdk2.umd.production.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +3 -3
|
@@ -8,6 +8,7 @@ type ModelCapabilities = {
|
|
|
8
8
|
networkTestTime: number;
|
|
9
9
|
};
|
|
10
10
|
export declare const defaultImageSegmenterModelPath = "https://websdk-cdn-dev.idmission.com/assets/models/selfiesegmenter20240524/selfie_segmenter.tflite";
|
|
11
|
+
export declare const defaultImageSegmenterModelHash = "A2bQ8+iZyQM3KIGVBUf0FyetqxuynyKpjsjCE8uzoJEnj1ghCu6ge2daiRffAiS5";
|
|
11
12
|
export declare let modelCapabilities: ModelCapabilities;
|
|
12
13
|
export declare function probeModelCapabilities(): Promise<void>;
|
|
13
14
|
export declare function resetModelCapabilityProbe(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CapabilityProbing.d.ts","sourceRoot":"","sources":["../../../src/lib/models/CapabilityProbing.ts"],"names":[],"mappings":"AAKA,KAAK,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE9E,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;IAChC,WAAW,EAAE,WAAW,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,8BAA8B,uGAC2D,CAAA;
|
|
1
|
+
{"version":3,"file":"CapabilityProbing.d.ts","sourceRoot":"","sources":["../../../src/lib/models/CapabilityProbing.ts"],"names":[],"mappings":"AAKA,KAAK,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE9E,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;IAChC,WAAW,EAAE,WAAW,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,8BAA8B,uGAC2D,CAAA;AACtG,eAAO,MAAM,8BAA8B,qEACyB,CAAA;AAepE,eAAO,IAAI,iBAAiB,EAAE,iBAE7B,CAAA;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CA6B5D;AA+CD,wBAAgB,yBAAyB,SAGxC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export declare const visionTasksBasePath = "https://websdk-cdn-dev.idmission.com/assets/vision_wasm_internal_0.10.7";
|
|
2
|
+
export declare const visionRuntimeHash = "tdLjRcm8XLETT+lUxF1oNst5jULaTGDUc2YtazwbGnLVGD0D/4A274KuJF+adneW";
|
|
2
3
|
export declare function preloadVisionRuntime(): Promise<void>;
|
|
3
4
|
//# sourceMappingURL=VisionRuntime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisionRuntime.d.ts","sourceRoot":"","sources":["../../../src/lib/models/VisionRuntime.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,4EAA4E,CAAA;
|
|
1
|
+
{"version":3,"file":"VisionRuntime.d.ts","sourceRoot":"","sources":["../../../src/lib/models/VisionRuntime.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,4EAA4E,CAAA;AAC5G,eAAO,MAAM,iBAAiB,qEACsC,CAAA;AAIpE,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAkC1D"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export declare const defaultBarcodeReadabilityModelPath = "https://websdk-cdn-dev.idmission.com/assets/models/BarcodeReadability/BarcodeReadability-20250815_120417.tflite";
|
|
2
|
+
export declare const defaultBarcodeReadabilityModelHash = "ywkMzTifO2XccgeRu87imQodo69cZ66iIV/rkNyB4ZvYInUJB5HAF9ImCLYX+Of7";
|
|
2
3
|
//# sourceMappingURL=BarcodeReadability.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BarcodeReadability.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/BarcodeReadability.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kCAAkC,oHAA2F,CAAA"}
|
|
1
|
+
{"version":3,"file":"BarcodeReadability.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/BarcodeReadability.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kCAAkC,oHAA2F,CAAA;AAC1I,eAAO,MAAM,kCAAkC,qEACqB,CAAA"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export declare const defaultDocumentDetectorModelPath = "https://websdk-cdn-dev.idmission.com/assets/models/DocumentDetector/DocumentDetector-20250815_115859.tflite";
|
|
2
|
+
export declare const defaultDocumentDetectorModelHash = "64LSaO2ctQsTkGJoZ6Et4v2KH28Fz1ettgkxD+qFg6frxY7ufL9l/lkjw2ljX2cR";
|
|
2
3
|
//# sourceMappingURL=DocumentDetector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentDetector.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/DocumentDetector.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gCAAgC,gHAAuF,CAAA"}
|
|
1
|
+
{"version":3,"file":"DocumentDetector.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/DocumentDetector.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gCAAgC,gHAAuF,CAAA;AACpI,eAAO,MAAM,gCAAgC,qEACuB,CAAA"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export declare const defaultFaceDetectorModelPath = "https://websdk-cdn-dev.idmission.com/assets/models/FaceDetector/FaceDetector-20250820_154546.tflite";
|
|
2
|
+
export declare const defaultFaceDetectorModelHash = "DK7LKyczaWlQp0NJO4TTv5wARoWlAWz57/exd62cy3KJJNpayeiX3cT7q3iANQSy";
|
|
2
3
|
//# sourceMappingURL=FaceDetector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FaceDetector.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/FaceDetector.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,4BAA4B,wGAA+E,CAAA"}
|
|
1
|
+
{"version":3,"file":"FaceDetector.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/FaceDetector.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,4BAA4B,wGAA+E,CAAA;AACxH,eAAO,MAAM,4BAA4B,qEAC2B,CAAA"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export declare const defaultFocusModelPath = "https://websdk-cdn-dev.idmission.com/assets/models/Focus/Focus-20241008_102708.tflite";
|
|
2
|
+
export declare const defaultFocusModelHash = "HTJNLB7QybtPXIIyUI9oNqW40vE5bgSV5V24R1wXLQHknNEVOSyDQDo/QzRgJ8jb";
|
|
2
3
|
//# sourceMappingURL=Focus.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Focus.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/Focus.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,0FAAiE,CAAA"}
|
|
1
|
+
{"version":3,"file":"Focus.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/Focus.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,0FAAiE,CAAA;AACnG,eAAO,MAAM,qBAAqB,qEACkC,CAAA"}
|
|
@@ -4,8 +4,13 @@ export * from './FaceDetector';
|
|
|
4
4
|
export * from './BarcodeReadability';
|
|
5
5
|
export declare const defaultModelPaths: {
|
|
6
6
|
documentDetector: string;
|
|
7
|
+
documentDetectorHash: string;
|
|
7
8
|
focus: string;
|
|
9
|
+
focusHash: string;
|
|
8
10
|
faceDetection: string;
|
|
11
|
+
faceDetectionHash: string;
|
|
9
12
|
barcodeReadability: string;
|
|
13
|
+
barcodeReadabilityHash: string;
|
|
10
14
|
};
|
|
15
|
+
export type HashTypes = 'documentDetectorHash' | 'focusHash' | 'faceDetectionHash' | 'barcodeReadabilityHash';
|
|
11
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/defaults/index.ts"],"names":[],"mappings":"AAcA,cAAc,oBAAoB,CAAA;AAClC,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AAEpC,eAAO,MAAM,iBAAiB;;;;;;;;;CAS7B,CAAA;AAED,MAAM,MAAM,SAAS,GACjB,sBAAsB,GACtB,WAAW,GACX,mBAAmB,GACnB,wBAAwB,CAAA"}
|
|
@@ -15,7 +15,7 @@ export declare const progressByUseCase: {
|
|
|
15
15
|
faceDetection: PreloadProgress;
|
|
16
16
|
barcodeReadability: PreloadProgress;
|
|
17
17
|
};
|
|
18
|
-
export declare function preloadDependency(url: string): Promise<unknown>;
|
|
18
|
+
export declare function preloadDependency(url: string, hash: string): Promise<unknown>;
|
|
19
19
|
export declare const preloadDocumentDetectorDependencies: () => Promise<void>;
|
|
20
20
|
export declare const preloadFocusModelDependencies: () => Promise<void>;
|
|
21
21
|
export declare const preloadFaceDetectorDependencies: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preloadModels.d.ts","sourceRoot":"","sources":["../../../src/lib/models/preloadModels.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,yFAKvB;IACD,sBAAsB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACzC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC,KAAG,OAAO,CAAC,IAAI,CAsBf,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAGD,eAAO,MAAM,iBAAiB,EAAE;IAC9B,aAAa,EAAE,eAAe,CAAA;IAC9B,gBAAgB,EAAE,eAAe,CAAA;IACjC,KAAK,EAAE,eAAe,CAAA;IACtB,aAAa,EAAE,eAAe,CAAA;IAC9B,kBAAkB,EAAE,eAAe,CAAA;CAOpC,CAAA;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"preloadModels.d.ts","sourceRoot":"","sources":["../../../src/lib/models/preloadModels.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,yFAKvB;IACD,sBAAsB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACzC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC,KAAG,OAAO,CAAC,IAAI,CAsBf,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAGD,eAAO,MAAM,iBAAiB,EAAE;IAC9B,aAAa,EAAE,eAAe,CAAA;IAC9B,gBAAgB,EAAE,eAAe,CAAA;IACjC,KAAK,EAAE,eAAe,CAAA;IACtB,aAAa,EAAE,eAAe,CAAA;IAC9B,kBAAkB,EAAE,eAAe,CAAA;CAOpC,CAAA;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,oBAkChE;AAsBD,eAAO,MAAM,mCAAmC,qBACF,CAAA;AAC9C,eAAO,MAAM,6BAA6B,qBACP,CAAA;AACnC,eAAO,MAAM,+BAA+B,qBACD,CAAA;AAC3C,eAAO,MAAM,0CAA0C,qBACP,CAAA;AAEhD,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,kBAAkB,GAAG,OAAO,GAAG,eAAe,GAAG,oBAAoB,GAC3E,OAAO,CAAC,IAAI,CAAC,CAoDf;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,UAI7D;AAED,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EAAE,GACrB,eAAe,CAWjB"}
|
|
@@ -236,7 +236,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
236
236
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
237
237
|
};
|
|
238
238
|
|
|
239
|
-
var webSdkVersion = '2.3.
|
|
239
|
+
var webSdkVersion = '2.3.107';
|
|
240
240
|
|
|
241
241
|
function getPlatform() {
|
|
242
242
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -2205,6 +2205,7 @@ function useRevokeObjectUrlOnUnmount(url) {
|
|
|
2205
2205
|
}
|
|
2206
2206
|
|
|
2207
2207
|
var visionTasksBasePath = "https://websdk-cdn-dev.idmission.com/assets/vision_wasm_internal_0.10.7";
|
|
2208
|
+
var visionRuntimeHash = 'tdLjRcm8XLETT+lUxF1oNst5jULaTGDUc2YtazwbGnLVGD0D/4A274KuJF+adneW';
|
|
2208
2209
|
var visionRuntimePreloading = false;
|
|
2209
2210
|
function preloadVisionRuntime() {
|
|
2210
2211
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -2231,7 +2232,7 @@ function preloadVisionRuntime() {
|
|
|
2231
2232
|
_a.label = 1;
|
|
2232
2233
|
case 1:
|
|
2233
2234
|
_a.trys.push([1,, 3, 4]);
|
|
2234
|
-
return [4 /*yield*/, preloadDependency(url)];
|
|
2235
|
+
return [4 /*yield*/, preloadDependency(url, visionRuntimeHash)];
|
|
2235
2236
|
case 2:
|
|
2236
2237
|
_a.sent();
|
|
2237
2238
|
return [3 /*break*/, 4];
|
|
@@ -2247,6 +2248,7 @@ function preloadVisionRuntime() {
|
|
|
2247
2248
|
}
|
|
2248
2249
|
|
|
2249
2250
|
var defaultImageSegmenterModelPath = 'https://websdk-cdn-dev.idmission.com/assets/models/selfiesegmenter20240524/selfie_segmenter.tflite';
|
|
2251
|
+
var defaultImageSegmenterModelHash = 'A2bQ8+iZyQM3KIGVBUf0FyetqxuynyKpjsjCE8uzoJEnj1ghCu6ge2daiRffAiS5';
|
|
2250
2252
|
var imageSegmenterModelSizeInBytes = 256440.32;
|
|
2251
2253
|
// The idea here is that we globally set a cache key based on the time at page load. That way our built-in speed test
|
|
2252
2254
|
// isn't fooled by cache times, but subsequent downloads of the vision runtime still do load from the cache.
|
|
@@ -2330,7 +2332,7 @@ function loadTinyModel() {
|
|
|
2330
2332
|
_c.label = 1;
|
|
2331
2333
|
case 1:
|
|
2332
2334
|
_c.trys.push([1, 3,, 4]);
|
|
2333
|
-
return [4 /*yield*/, Promise.race([preloadDependency(modelAssetPath), giveUpAfter(maxTime)])];
|
|
2335
|
+
return [4 /*yield*/, Promise.race([preloadDependency(modelAssetPath, defaultImageSegmenterModelHash), giveUpAfter(maxTime)])];
|
|
2334
2336
|
case 2:
|
|
2335
2337
|
_c.sent();
|
|
2336
2338
|
return [3 /*break*/, 4];
|
|
@@ -2378,18 +2380,26 @@ function giveUpAfter(maxTime) {
|
|
|
2378
2380
|
var DEFAULT_CDN_URL = 'https://websdk-cdn-dev.idmission.com/assets';
|
|
2379
2381
|
|
|
2380
2382
|
var defaultDocumentDetectorModelPath = "".concat(DEFAULT_CDN_URL, "/models/DocumentDetector/DocumentDetector-20250815_115859.tflite");
|
|
2383
|
+
var defaultDocumentDetectorModelHash = '64LSaO2ctQsTkGJoZ6Et4v2KH28Fz1ettgkxD+qFg6frxY7ufL9l/lkjw2ljX2cR';
|
|
2381
2384
|
|
|
2382
2385
|
var defaultFocusModelPath = "".concat(DEFAULT_CDN_URL, "/models/Focus/Focus-20241008_102708.tflite");
|
|
2386
|
+
var defaultFocusModelHash = 'HTJNLB7QybtPXIIyUI9oNqW40vE5bgSV5V24R1wXLQHknNEVOSyDQDo/QzRgJ8jb';
|
|
2383
2387
|
|
|
2384
2388
|
var defaultFaceDetectorModelPath = "".concat(DEFAULT_CDN_URL, "/models/FaceDetector/FaceDetector-20250820_154546.tflite");
|
|
2389
|
+
var defaultFaceDetectorModelHash = 'DK7LKyczaWlQp0NJO4TTv5wARoWlAWz57/exd62cy3KJJNpayeiX3cT7q3iANQSy';
|
|
2385
2390
|
|
|
2386
2391
|
var defaultBarcodeReadabilityModelPath = "".concat(DEFAULT_CDN_URL, "/models/BarcodeReadability/BarcodeReadability-20250815_120417.tflite");
|
|
2392
|
+
var defaultBarcodeReadabilityModelHash = 'ywkMzTifO2XccgeRu87imQodo69cZ66iIV/rkNyB4ZvYInUJB5HAF9ImCLYX+Of7';
|
|
2387
2393
|
|
|
2388
2394
|
var defaultModelPaths = {
|
|
2389
2395
|
documentDetector: defaultDocumentDetectorModelPath,
|
|
2396
|
+
documentDetectorHash: defaultDocumentDetectorModelHash,
|
|
2390
2397
|
focus: defaultFocusModelPath,
|
|
2398
|
+
focusHash: defaultFocusModelHash,
|
|
2391
2399
|
faceDetection: defaultFaceDetectorModelPath,
|
|
2392
|
-
|
|
2400
|
+
faceDetectionHash: defaultFaceDetectorModelHash,
|
|
2401
|
+
barcodeReadability: defaultBarcodeReadabilityModelPath,
|
|
2402
|
+
barcodeReadabilityHash: defaultBarcodeReadabilityModelHash
|
|
2393
2403
|
};
|
|
2394
2404
|
|
|
2395
2405
|
var preloadModels = function preloadModels(_a) {
|
|
@@ -2453,8 +2463,9 @@ var progressByUseCase = {
|
|
|
2453
2463
|
total: 0
|
|
2454
2464
|
}
|
|
2455
2465
|
};
|
|
2456
|
-
function preloadDependency(url) {
|
|
2466
|
+
function preloadDependency(url, hash) {
|
|
2457
2467
|
return __awaiter(this, void 0, void 0, function () {
|
|
2468
|
+
var _this = this;
|
|
2458
2469
|
return __generator(this, function (_a) {
|
|
2459
2470
|
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
2460
2471
|
var req = new XMLHttpRequest();
|
|
@@ -2470,15 +2481,58 @@ function preloadDependency(url) {
|
|
|
2470
2481
|
}));
|
|
2471
2482
|
});
|
|
2472
2483
|
req.addEventListener('loadend', function () {
|
|
2473
|
-
|
|
2484
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
2485
|
+
var ok, err_1;
|
|
2486
|
+
return __generator(this, function (_a) {
|
|
2487
|
+
switch (_a.label) {
|
|
2488
|
+
case 0:
|
|
2489
|
+
_a.trys.push([0, 2,, 3]);
|
|
2490
|
+
if (req.status !== 200 || req.readyState !== 4) return [2 /*return*/, resolve(false)];
|
|
2491
|
+
return [4 /*yield*/, verifySRI(req.response, hash)];
|
|
2492
|
+
case 1:
|
|
2493
|
+
ok = _a.sent();
|
|
2494
|
+
if (!ok) return [2 /*return*/, reject(new Error("SRI mismatch for ".concat(url)))];
|
|
2495
|
+
resolve(true);
|
|
2496
|
+
return [3 /*break*/, 3];
|
|
2497
|
+
case 2:
|
|
2498
|
+
err_1 = _a.sent();
|
|
2499
|
+
reject(err_1);
|
|
2500
|
+
return [3 /*break*/, 3];
|
|
2501
|
+
case 3:
|
|
2502
|
+
return [2 /*return*/];
|
|
2503
|
+
}
|
|
2504
|
+
});
|
|
2505
|
+
});
|
|
2474
2506
|
});
|
|
2475
2507
|
req.addEventListener('error', reject);
|
|
2476
2508
|
req.open('GET', url, true);
|
|
2509
|
+
req.responseType = 'arraybuffer';
|
|
2477
2510
|
req.send();
|
|
2478
2511
|
})];
|
|
2479
2512
|
});
|
|
2480
2513
|
});
|
|
2481
2514
|
}
|
|
2515
|
+
function base64FromArrayBuffer(ab) {
|
|
2516
|
+
var bytes = new Uint8Array(ab);
|
|
2517
|
+
var bin = '';
|
|
2518
|
+
for (var i = 0; i < bytes.length; i++) bin += String.fromCharCode(bytes[i]);
|
|
2519
|
+
return btoa(bin);
|
|
2520
|
+
}
|
|
2521
|
+
function verifySRI(buf, hash) {
|
|
2522
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
2523
|
+
var hashBuf, actualB64;
|
|
2524
|
+
return __generator(this, function (_a) {
|
|
2525
|
+
switch (_a.label) {
|
|
2526
|
+
case 0:
|
|
2527
|
+
return [4 /*yield*/, crypto.subtle.digest('SHA-384', buf)];
|
|
2528
|
+
case 1:
|
|
2529
|
+
hashBuf = _a.sent();
|
|
2530
|
+
actualB64 = base64FromArrayBuffer(hashBuf);
|
|
2531
|
+
return [2 /*return*/, hash === actualB64];
|
|
2532
|
+
}
|
|
2533
|
+
});
|
|
2534
|
+
});
|
|
2535
|
+
}
|
|
2482
2536
|
var modelsPreloading = {
|
|
2483
2537
|
documentDetector: false,
|
|
2484
2538
|
focus: false,
|
|
@@ -2502,7 +2556,9 @@ function preloadModelDependencies(model) {
|
|
|
2502
2556
|
function handleModelDownloadProgress(event) {
|
|
2503
2557
|
var detail = event.detail;
|
|
2504
2558
|
if (!dependencies.includes(detail.url)) return;
|
|
2505
|
-
progressByUseCase[model] = sumUpProgressForDependencies(dependencies)
|
|
2559
|
+
progressByUseCase[model] = sumUpProgressForDependencies(dependencies.map(function (d) {
|
|
2560
|
+
return d.url;
|
|
2561
|
+
}));
|
|
2506
2562
|
document.dispatchEvent(new CustomEvent("idmission.preloadProgress.".concat(model), {
|
|
2507
2563
|
detail: progressByUseCase[model]
|
|
2508
2564
|
}));
|
|
@@ -2526,12 +2582,17 @@ function preloadModelDependencies(model) {
|
|
|
2526
2582
|
if (modelCapabilities.delegate === 'NONE') {
|
|
2527
2583
|
throw new Error("No available delegate for ".concat(model, " model."));
|
|
2528
2584
|
}
|
|
2529
|
-
dependencies = [
|
|
2585
|
+
dependencies = [{
|
|
2586
|
+
url: defaultModelPaths[model],
|
|
2587
|
+
hash: defaultModelPaths[model + 'Hash']
|
|
2588
|
+
}];
|
|
2530
2589
|
document.addEventListener('idmission.preloadProgress', handleModelDownloadProgress);
|
|
2531
2590
|
_a.label = 2;
|
|
2532
2591
|
case 2:
|
|
2533
2592
|
_a.trys.push([2,, 4, 5]);
|
|
2534
|
-
return [4 /*yield*/, Promise.all(dependencies.map(
|
|
2593
|
+
return [4 /*yield*/, Promise.all(dependencies.map(function (d) {
|
|
2594
|
+
return preloadDependency(d.url, d.hash);
|
|
2595
|
+
}))];
|
|
2535
2596
|
case 3:
|
|
2536
2597
|
_a.sent();
|
|
2537
2598
|
return [3 /*break*/, 5];
|