@privateid/ultrapass-web-sdk 0.1.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/application/modules/core/document/DocumentService.d.ts +9 -8
  2. package/dist/application/modules/core/document/DocumentService.js +122 -74
  3. package/dist/application/modules/core/document/DocumentService.js.map +1 -1
  4. package/dist/application/modules/core/document/document.constants.d.ts +0 -1
  5. package/dist/application/modules/core/document/document.constants.js +0 -1
  6. package/dist/application/modules/core/document/document.constants.js.map +1 -1
  7. package/dist/application/modules/core/document/document.domain.d.ts +3 -3
  8. package/dist/application/modules/core/document/document.types.d.ts +12 -10
  9. package/dist/application/modules/core/document/document.utils.d.ts +1 -2
  10. package/dist/application/modules/core/document/document.utils.js +11 -36
  11. package/dist/application/modules/core/document/document.utils.js.map +1 -1
  12. package/dist/application/modules/core/document/index.d.ts +1 -1
  13. package/dist/application/modules/core/face/FaceService.d.ts +2 -2
  14. package/dist/application/modules/core/face/FaceService.js +15 -28
  15. package/dist/application/modules/core/face/FaceService.js.map +1 -1
  16. package/dist/application/modules/core/face/face.constants.d.ts +22 -11
  17. package/dist/application/modules/core/face/face.constants.js +22 -11
  18. package/dist/application/modules/core/face/face.constants.js.map +1 -1
  19. package/dist/application/modules/core/face/face.domain.d.ts +2 -2
  20. package/dist/application/modules/core/face/face.types.d.ts +1 -1
  21. package/dist/application/modules/core/face/index.d.ts +1 -1
  22. package/dist/application/modules/global/shared.constants.d.ts +2 -0
  23. package/dist/application/modules/global/shared.constants.js +3 -0
  24. package/dist/application/modules/global/shared.constants.js.map +1 -0
  25. package/dist/application/modules/support/wasm/WasmService.d.ts +2 -1
  26. package/dist/application/modules/support/wasm/WasmService.js +22 -15
  27. package/dist/application/modules/support/wasm/WasmService.js.map +1 -1
  28. package/dist/application/modules/support/wasm/wasm.domain.d.ts +6 -2
  29. package/dist/application/workers/index.d.ts +11 -5
  30. package/dist/faceModule.d.ts +10 -7
  31. package/dist/faceModule.js +11 -1
  32. package/dist/faceModule.js.map +1 -1
  33. package/dist/main.d.ts +5 -2
  34. package/dist/main.js +9 -9
  35. package/dist/main.js.map +1 -1
  36. package/dist/types.d.ts +11 -5
  37. package/dist/utils.d.ts +11 -5
  38. package/package.json +1 -1
@@ -1,21 +1,22 @@
1
1
  import { Document } from './document.domain';
2
- import { BackScanParams, DocumentOcrParams, FrontScanParams } from './document.types';
2
+ import { BackScanParams, DocumentOcrParams, FrontDocumentScanParams, DocumentScanResponse } from './document.types';
3
3
  import { Wasm } from '../../support/wasm';
4
4
  import { Camera } from '../../support/camera/camera.domain';
5
5
  export declare class DocumentService implements Document {
6
6
  private isSimd;
7
- private debugType;
8
- private isDebugWithImages;
9
- private frontScanCanvas;
10
- private backScanCanvas;
7
+ private hasDebugWithImages;
8
+ private canvas;
9
+ private debugCanvas;
11
10
  private wasmService;
12
11
  private cameraService;
13
12
  privid_wasm_result: (operation: string, id: string, response_str: any) => void;
14
13
  constructor(wasmService: Wasm, cameraService: Camera);
15
- scanFrontDocument(params: FrontScanParams): Promise<void>;
16
- scanPassport(params: FrontScanParams): Promise<void>;
14
+ scanGovernmentPhotoId(params: FrontDocumentScanParams): Promise<DocumentScanResponse>;
15
+ scanPassport(params: FrontDocumentScanParams): Promise<DocumentScanResponse>;
17
16
  scanBackDocument(params: BackScanParams): Promise<void>;
18
17
  documentOcr(params: DocumentOcrParams): Promise<void>;
19
18
  private getVideoElement;
20
- private createImageData;
19
+ private generateDebugImages;
20
+ private generateImageData;
21
+ private prepareCanvas;
21
22
  }
@@ -14,85 +14,86 @@ import { proxy } from 'comlink';
14
14
  import { callbackTypeEnum, createCallback } from '../../../../createCallback';
15
15
  import { ImageType } from '../../../../types';
16
16
  import { getDebugType, getIsSIMD, printLogs, iOS } from '../../global/shared.utils';
17
- import { createImages, releaseCanvas } from './document.utils';
18
- import { DEBUG_TYPES_WITH_IMAGES, INPUT_IMAGE_FORMAT, CANVAS_ID, FINGERS_OVER_DOCUMENT_THRESHOLD, DOCUMENT_THRESHOLD_X, DOCUMENT_THRESHOLD_Y, DOCUMENT_TOO_CLOSE_THRESHOLD, DOCUMENT_TOO_FAR_THRESHOLD, CALCULATE_AGE_FROM_OCR_TEXT, ERROR_RESULT, ERROR_CODE, } from './document.constants';
17
+ import { imageDataFromBase64, releaseCanvas } from './document.utils';
18
+ import { DEBUG_TYPES_WITH_IMAGES, INPUT_IMAGE_FORMAT, FINGERS_OVER_DOCUMENT_THRESHOLD, DOCUMENT_THRESHOLD_X, DOCUMENT_THRESHOLD_Y, DOCUMENT_TOO_CLOSE_THRESHOLD, DOCUMENT_TOO_FAR_THRESHOLD, CALCULATE_AGE_FROM_OCR_TEXT, ERROR_RESULT, ERROR_CODE, IMAGE_EXPORT_FORMAT, DOWNLOAD_IMAGE_TYPE, FILE_EXTENSION, DOWNLOAD_DELAY_TIMEOUT, } from './document.constants';
19
+ import { CANVAS_ID, INVALID_VIDEO_ERROR } from '../../global/shared.constants';
19
20
  export class DocumentService {
20
21
  constructor(wasmService, cameraService) {
22
+ // TODO: Remove isSimd from here, it should belong to WasmService.
21
23
  this.isSimd = false;
22
- this.debugType = getDebugType();
23
- this.isDebugWithImages = DEBUG_TYPES_WITH_IMAGES.includes(this.debugType);
24
- this.frontScanCanvas = document.createElement('canvas');
25
- this.backScanCanvas = document.createElement('canvas');
24
+ this.hasDebugWithImages = false;
26
25
  getIsSIMD().then((simd) => (this.isSimd = simd));
26
+ const canvas = document.createElement('canvas');
27
+ canvas.setAttribute('id', CANVAS_ID);
28
+ const debugCanvas = document.createElement('canvas');
29
+ const debugType = getDebugType();
30
+ this.hasDebugWithImages = DEBUG_TYPES_WITH_IMAGES.includes(debugType);
31
+ this.canvas = canvas;
32
+ this.debugCanvas = debugCanvas;
27
33
  this.wasmService = wasmService;
28
34
  this.cameraService = cameraService;
29
35
  }
30
- scanFrontDocument(params) {
36
+ scanGovernmentPhotoId(params) {
31
37
  return __awaiter(this, void 0, void 0, function* () {
32
- const { callback, config } = params;
33
- printLogs('________________ FRONT DOCUMENT SCAN ______________', '');
34
- const videoEl = this.getVideoElement();
35
- let configuration = {
36
- input_image_format: INPUT_IMAGE_FORMAT,
37
- fingers_over_document_threshold: FINGERS_OVER_DOCUMENT_THRESHOLD,
38
- };
39
- if (config) {
40
- configuration = Object.assign(Object.assign({}, configuration), config);
41
- }
42
- if (!videoEl) {
43
- printLogs(`Capture need the video element id`, '', 'ERROR');
44
- return { result: ERROR_RESULT };
45
- }
46
- this.privid_wasm_result = createCallback({
47
- type: callbackTypeEnum.frontScan,
48
- callbackFunction: callback,
49
- });
50
- const cb = proxy(this.privid_wasm_result);
51
- const imageData = this.createImageData(videoEl);
52
- if (this.isDebugWithImages) {
53
- yield createImages([imageData], `${ImageType.original}_front_document_scan`, true);
54
- }
38
+ printLogs('[DocumentService] scanGovernmentPhotoId params', params);
55
39
  try {
56
- configuration = JSON.stringify(configuration);
57
- return yield this.wasmService.scanFrontDocument(imageData, this.isSimd, configuration, cb);
40
+ let configuration = {
41
+ input_image_format: INPUT_IMAGE_FORMAT,
42
+ fingers_over_document_threshold: FINGERS_OVER_DOCUMENT_THRESHOLD,
43
+ };
44
+ if (params.config) {
45
+ configuration = Object.assign(Object.assign({}, configuration), params.config);
46
+ }
47
+ const callback = createCallback({
48
+ type: callbackTypeEnum.frontScan,
49
+ callbackFunction: params.callback,
50
+ });
51
+ const workerCallback = proxy(callback);
52
+ const imageData = this.generateImageData();
53
+ if (this.hasDebugWithImages) {
54
+ yield this.generateDebugImages([imageData], `${ImageType.original}_front_gov_photo_id_document_scan`, 'enroll');
55
+ }
56
+ yield this.wasmService.scanFrontPhotoIdDocument(imageData, JSON.stringify(configuration), workerCallback);
57
+ return {
58
+ success: true,
59
+ };
58
60
  }
59
- catch (e) {
60
- printLogs(`isValidPhotoID error: `, e, 'ERROR');
61
+ catch (error) {
62
+ printLogs(`[DocumentService] scanGovernmentPhotoId error: `, error.message, 'ERROR');
61
63
  return {
62
- result: ERROR_CODE,
64
+ success: false,
63
65
  };
64
66
  }
65
67
  });
66
68
  }
67
69
  scanPassport(params) {
68
70
  return __awaiter(this, void 0, void 0, function* () {
69
- const { callback, config } = params;
70
- printLogs('________________ PASSPORT SCAN ______________', '');
71
- const videoEl = this.getVideoElement();
72
- let configuration = {
73
- input_image_format: INPUT_IMAGE_FORMAT,
74
- };
75
- if (config) {
76
- configuration = Object.assign(Object.assign({}, configuration), config);
77
- }
78
- this.privid_wasm_result = createCallback({ type: callbackTypeEnum.passportScan, callbackFunction: callback });
79
- if (!videoEl) {
80
- printLogs(`Capture need the video element id`, '', 'ERROR');
81
- return { result: ERROR_RESULT };
82
- }
83
- const cb = proxy(this.privid_wasm_result);
84
- const imageData = this.createImageData(videoEl);
85
- if (this.isDebugWithImages) {
86
- yield createImages([imageData], `${ImageType.original}_passport_scan`, true);
87
- }
71
+ printLogs('[DocumentService] scanPassport params', params);
88
72
  try {
89
- configuration = JSON.stringify(configuration);
90
- return yield this.wasmService.scanFrontDocument(imageData, this.isSimd, configuration, cb);
73
+ let configuration = {
74
+ input_image_format: INPUT_IMAGE_FORMAT,
75
+ };
76
+ if (params.config) {
77
+ configuration = Object.assign(Object.assign({}, configuration), params.config);
78
+ }
79
+ const callback = createCallback({
80
+ type: callbackTypeEnum.passportScan,
81
+ callbackFunction: params.callback,
82
+ });
83
+ const workerCallback = proxy(callback);
84
+ const imageData = this.generateImageData();
85
+ if (this.hasDebugWithImages) {
86
+ yield this.generateDebugImages([imageData], `${ImageType.original}_passport_scan`, 'enroll');
87
+ }
88
+ yield this.wasmService.scanPassport(imageData, JSON.stringify(configuration), workerCallback);
89
+ return {
90
+ success: true,
91
+ };
91
92
  }
92
- catch (e) {
93
- printLogs(`isValidPhotoID error: `, e, 'ERROR');
93
+ catch (error) {
94
+ printLogs(`[DocumentService] scanPassport error: `, error, 'ERROR');
94
95
  return {
95
- result: ERROR_CODE,
96
+ success: false,
96
97
  };
97
98
  }
98
99
  });
@@ -138,17 +139,18 @@ export class DocumentService {
138
139
  printLogs(`Capture need the video element id`, '', 'ERROR');
139
140
  return { result: ERROR_RESULT };
140
141
  }
141
- const imageData = this.createImageData(videoEl);
142
+ const imageData = this.generateImageData();
142
143
  if ((imageData === null || imageData === void 0 ? void 0 : imageData.width) === 0)
143
144
  return { result: ERROR_RESULT };
144
145
  let result = null;
145
- if (this.isDebugWithImages) {
146
- yield createImages([imageData], ImageType.original, true);
146
+ if (this.hasDebugWithImages) {
147
+ yield this.generateDebugImages([imageData], ImageType.original, 'enroll');
147
148
  }
148
149
  try {
149
150
  printLogs(`Configuration: back scan: `, configuration);
150
151
  result = yield this.wasmService.scanBackDocument(imageData, this.isSimd, configuration, proxy(this.privid_wasm_result));
151
- releaseCanvas(this.backScanCanvas);
152
+ // TODO: Validate if we need to release, and when, since we will have only one instance of canvas
153
+ releaseCanvas(this.canvas);
152
154
  return Object.assign({}, result);
153
155
  }
154
156
  catch (e) {
@@ -175,8 +177,9 @@ export class DocumentService {
175
177
  }
176
178
  this.privid_wasm_result = createCallback({ type: callbackTypeEnum.documentOcr, callbackFunction: params.callback });
177
179
  const cb = proxy(this.privid_wasm_result);
178
- if (this.isDebugWithImages) {
179
- yield createImages([params.inputImage], `${ImageType.original}_document_ocr`, true);
180
+ if (this.hasDebugWithImages) {
181
+ const imageData = yield imageDataFromBase64(params.inputImage);
182
+ yield this.generateDebugImages([imageData], `${ImageType.original}_document_ocr`, 'enroll');
180
183
  }
181
184
  try {
182
185
  configuration = JSON.stringify(configuration);
@@ -193,15 +196,60 @@ export class DocumentService {
193
196
  getVideoElement() {
194
197
  return this.cameraService.getVideoElementDOM();
195
198
  }
196
- createImageData(videoElement) {
197
- const height = videoElement.videoHeight;
198
- const width = videoElement.videoWidth;
199
- this.frontScanCanvas.setAttribute('id', CANVAS_ID);
200
- this.frontScanCanvas.setAttribute('height', `${height}`);
201
- this.frontScanCanvas.setAttribute('width', `${width}`);
202
- const context = this.frontScanCanvas.getContext('2d', { willReadFrequently: true });
203
- context.drawImage(videoElement, 0, 0);
204
- return context.getImageData(0, 0, width, height);
199
+ generateDebugImages(images, title, action) {
200
+ return __awaiter(this, void 0, void 0, function* () {
201
+ const a = document.createElement('a');
202
+ a.type = DOWNLOAD_IMAGE_TYPE;
203
+ document.body.appendChild(a);
204
+ for (const imageContent of images) {
205
+ this.debugCanvas.width = imageContent.width;
206
+ this.debugCanvas.height = imageContent.height;
207
+ const ctx = this.debugCanvas.getContext('2d');
208
+ ctx.putImageData(imageContent, 0, 0);
209
+ const blob = yield new Promise((resolve) => this.debugCanvas.toBlob((b) => resolve(b), IMAGE_EXPORT_FORMAT));
210
+ if (blob) {
211
+ const url = URL.createObjectURL(blob);
212
+ try {
213
+ a.href = url;
214
+ a.download = `${title}_${action}${FILE_EXTENSION}`;
215
+ a.click();
216
+ yield new Promise((r) => setTimeout(r, DOWNLOAD_DELAY_TIMEOUT));
217
+ }
218
+ catch (error) {
219
+ printLogs('[DocumentService] generateDebugImages error', error, 'ERROR');
220
+ }
221
+ finally {
222
+ URL.revokeObjectURL(url);
223
+ }
224
+ }
225
+ }
226
+ a.remove();
227
+ });
228
+ }
229
+ // TODO: Both DocumentService and FaceService uses generateImageData and prepareCanvas
230
+ // but in different ways, should we create an interface to secure these implementations?
231
+ // Or should we bring that to a different Class called CanvasService?
232
+ generateImageData() {
233
+ var _a;
234
+ const videoElement = this.cameraService.getVideoElementDOM();
235
+ printLogs('[DocumentService] generateImageData videoElement', videoElement);
236
+ const canvas = this.prepareCanvas(videoElement);
237
+ const context = this.canvas.getContext('2d', { willReadFrequently: true });
238
+ (_a = context.resetTransform) === null || _a === void 0 ? void 0 : _a.call(context);
239
+ context.clearRect(0, 0, canvas.width, canvas.height);
240
+ context.drawImage(videoElement, 0, 0, canvas.width, canvas.height);
241
+ return context.getImageData(0, 0, canvas.width, canvas.height);
242
+ }
243
+ prepareCanvas(videoElement) {
244
+ const height = videoElement.videoHeight || 0;
245
+ const width = videoElement.videoWidth || 0;
246
+ if (width === 0) {
247
+ throw new Error(INVALID_VIDEO_ERROR);
248
+ }
249
+ this.canvas.setAttribute('height', `${height}`);
250
+ this.canvas.setAttribute('width', `${width}`);
251
+ this.canvas.setAttribute('id', CANVAS_ID);
252
+ return this.canvas;
205
253
  }
206
254
  }
207
255
  //# sourceMappingURL=DocumentService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentService.js","sourceRoot":"","sources":["../../../../../src/application/modules/core/document/DocumentService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,gDAAgD;AAChD,iDAAiD;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,SAAS,EACT,+BAA+B,EAC/B,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,EAC3B,YAAY,EACZ,UAAU,GACX,MAAM,sBAAsB,CAAC;AAI9B,MAAM,OAAO,eAAe;IAU1B,YAAY,WAAiB,EAAE,aAAqB;QAT5C,WAAM,GAAG,KAAK,CAAC;QACf,cAAS,GAAG,YAAY,EAAE,CAAC;QAC3B,sBAAiB,GAAG,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrE,oBAAe,GAAsB,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACtE,mBAAc,GAAsB,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAM3E,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAEK,iBAAiB,CAAC,MAAuB;;YAC7C,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;YACpC,SAAS,CAAC,qDAAqD,EAAE,EAAE,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACvC,IAAI,aAAa,GAAQ;gBACvB,kBAAkB,EAAE,kBAAkB;gBACtC,+BAA+B,EAAE,+BAA+B;aACjE,CAAC;YAEF,IAAI,MAAM,EAAE;gBACV,aAAa,mCAAQ,aAAa,GAAK,MAAM,CAAE,CAAC;aACjD;YAED,IAAI,CAAC,OAAO,EAAE;gBACZ,SAAS,CAAC,mCAAmC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC5D,OAAO,EAAE,MAAM,EAAE,YAAY,EAAS,CAAC;aACxC;YAED,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC;gBACvC,IAAI,EAAE,gBAAgB,CAAC,SAAS;gBAChC,gBAAgB,EAAE,QAAQ;aAC3B,CAAC,CAAC;YAEH,MAAM,EAAE,GAAQ,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAEhD,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,MAAM,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,QAAQ,sBAAsB,EAAE,IAAI,CAAC,CAAC;aACpF;YAED,IAAI;gBACF,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAE9C,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;aAC5F;YAAC,OAAO,CAAC,EAAE;gBACV,SAAS,CAAC,wBAAwB,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;gBAChD,OAAO;oBACL,MAAM,EAAE,UAAU;iBACZ,CAAC;aACV;QACH,CAAC;KAAA;IAEK,YAAY,CAAC,MAAuB;;YACxC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;YACpC,SAAS,CAAC,+CAA+C,EAAE,EAAE,CAAC,CAAC;YAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACvC,IAAI,aAAa,GAAQ;gBACvB,kBAAkB,EAAE,kBAAkB;aACvC,CAAC;YACF,IAAI,MAAM,EAAE;gBACV,aAAa,mCAAQ,aAAa,GAAK,MAAM,CAAE,CAAC;aACjD;YAED,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;YAE9G,IAAI,CAAC,OAAO,EAAE;gBACZ,SAAS,CAAC,mCAAmC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC5D,OAAO,EAAE,MAAM,EAAE,YAAY,EAAS,CAAC;aACxC;YAED,MAAM,EAAE,GAAQ,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAEhD,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,MAAM,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,QAAQ,gBAAgB,EAAE,IAAI,CAAC,CAAC;aAC9E;YAED,IAAI;gBACF,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAC9C,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;aAC5F;YAAC,OAAO,CAAC,EAAE;gBACV,SAAS,CAAC,wBAAwB,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;gBAChD,OAAO;oBACL,MAAM,EAAE,UAAU;iBACZ,CAAC;aACV;QACH,CAAC;KAAA;IAEK,gBAAgB,CAAC,MAAsB;;YAC3C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;YAC3C,SAAS,CAAC,+CAA+C,EAAE,EAAE,CAAC,CAAC;YAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACvC,IAAI,aAAa,GAAQ;gBACvB,kBAAkB,EAAE,kBAAkB;aACvC,CAAC;YACF,IAAI,MAAM,EAAE;gBACV,aAAa,mCAAQ,aAAa,GAAK,MAAM,CAAE,CAAC;aACjD;YAED,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC;YACxB,IAAI,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;gBAC1D,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC;oBACvC,IAAI,EAAE,gBAAgB,CAAC,QAAQ;oBAC/B,gBAAgB,EAAE,QAAQ;oBAC1B,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;aACJ;iBAAM,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,0BAA0B,EAAE;gBACpD,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC;oBACvC,IAAI,EAAE,gBAAgB,CAAC,QAAQ;oBAC/B,gBAAgB,EAAE,QAAQ;oBAC1B,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;aACJ;iBAAM,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,8BAA8B,EAAE;gBACxD,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC;oBACvC,IAAI,EAAE,gBAAgB,CAAC,QAAQ;oBAC/B,gBAAgB,EAAE,QAAQ;iBAC3B,CAAC,CAAC;aACJ;iBAAM;gBACL,aAAa,mCAAQ,aAAa,KAAE,oBAAoB,EAAE,IAAI,GAAE,CAAC;gBACjE,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;aAC3G;YAED,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAE9C,IAAI,CAAC,OAAO,EAAE;gBACZ,SAAS,CAAC,mCAAmC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC5D,OAAO,EAAE,MAAM,EAAE,YAAY,EAAS,CAAC;aACxC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAEhD,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,MAAK,CAAC;gBAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAS,CAAC;YAEnE,IAAI,MAAM,GAAG,IAAI,CAAC;YAElB,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,MAAM,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;aAC3D;YAED,IAAI;gBACF,SAAS,CAAC,4BAA4B,EAAE,aAAa,CAAC,CAAC;gBACvD,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC9C,SAAS,EACT,IAAI,CAAC,MAAM,EACX,aAAa,EACb,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAC/B,CAAC;gBACF,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACnC,OAAO,kBAAK,MAAM,CAAS,CAAC;aAC7B;YAAC,OAAO,CAAC,EAAE;gBACV,SAAS,CAAC,wBAAwB,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;gBAChD,OAAO;oBACL,MAAM,EAAE,UAAU;iBACZ,CAAC;aACV;QACH,CAAC;KAAA;IAEK,WAAW,CAAC,MAAyB;;YACzC,SAAS,CAAC,8CAA8C,EAAE,EAAE,CAAC,CAAC;YAC9D,IAAI,aAAa,GAAQ;gBACvB,kBAAkB,EAAE,kBAAkB;gBACtC,2BAA2B,EAAE,2BAA2B;gBACxD,eAAe,EAAE,oBAAoB;gBACrC,eAAe,EAAE,oBAAoB;gBACrC,uBAAuB,EAAE,4BAA4B;gBACrD,qBAAqB,EAAE,0BAA0B;aAClD,CAAC;YACF,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,aAAa,mCACR,aAAa,GACb,MAAM,CAAC,MAAM,CACjB,CAAC;aACH;YAED,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEpH,MAAM,EAAE,GAAQ,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAE/C,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,MAAM,YAAY,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,SAAS,CAAC,QAAQ,eAAe,EAAE,IAAI,CAAC,CAAC;aACrF;YAED,IAAI;gBACF,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAC9C,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;aACjF;YAAC,OAAO,CAAC,EAAE;gBACV,SAAS,CAAC,wBAAwB,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;gBAChD,OAAO;oBACL,MAAM,EAAE,UAAU;iBACZ,CAAC;aACV;QACH,CAAC;KAAA;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC;IACjD,CAAC;IAEO,eAAe,CAAC,YAA8B;QACpD,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC;QACxC,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC;QAEtC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAEvD,MAAM,OAAO,GAA6B,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9G,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEtC,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;CACF"}
1
+ {"version":3,"file":"DocumentService.js","sourceRoot":"","sources":["../../../../../src/application/modules/core/document/DocumentService.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  export declare const DEBUG_TYPES_WITH_IMAGES: string[];
2
2
  export declare const INPUT_IMAGE_FORMAT = "rgba";
3
- export declare const CANVAS_ID = "test-canvas";
4
3
  export declare const CANVAS_RELEASE_DIMENSION = 1;
5
4
  export declare const FINGERS_OVER_DOCUMENT_THRESHOLD = 0.2;
6
5
  export declare const DOCUMENT_THRESHOLD_X = 0;
@@ -2,7 +2,6 @@
2
2
  export const DEBUG_TYPES_WITH_IMAGES = ['900', '901', '902', '903'];
3
3
  // Image and canvas configuration
4
4
  export const INPUT_IMAGE_FORMAT = 'rgba';
5
- export const CANVAS_ID = 'test-canvas';
6
5
  export const CANVAS_RELEASE_DIMENSION = 1;
7
6
  // Document scanning thresholds
8
7
  export const FINGERS_OVER_DOCUMENT_THRESHOLD = 0.2;
@@ -1 +1 @@
1
- {"version":3,"file":"document.constants.js","sourceRoot":"","sources":["../../../../../src/application/modules/core/document/document.constants.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAEpE,iCAAiC;AACjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACzC,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC;AACvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAE1C,+BAA+B;AAC/B,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AACjD,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,oBAAoB;AACpB,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAEhD,iBAAiB;AACjB,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC;AACpC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC;AAE7B,mBAAmB;AACnB,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAChD,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAC/C,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"document.constants.js","sourceRoot":"","sources":["../../../../../src/application/modules/core/document/document.constants.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAEpE,iCAAiC;AACjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACzC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAE1C,+BAA+B;AAC/B,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AACjD,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,oBAAoB;AACpB,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAEhD,iBAAiB;AACjB,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC;AACpC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC;AAE7B,mBAAmB;AACnB,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAChD,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAC/C,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC"}
@@ -1,7 +1,7 @@
1
- import { BackScanParams, DocumentOcrParams, FrontScanParams } from './document.types';
1
+ import { BackScanParams, DocumentOcrParams, FrontDocumentScanParams, DocumentScanResponse } from './document.types';
2
2
  export interface Document {
3
- scanFrontDocument: (params: FrontScanParams) => Promise<void>;
4
- scanPassport: (params: FrontScanParams) => Promise<void>;
3
+ scanGovernmentPhotoId: (params: FrontDocumentScanParams) => Promise<DocumentScanResponse>;
4
+ scanPassport: (params: FrontDocumentScanParams) => Promise<DocumentScanResponse>;
5
5
  scanBackDocument: (params: BackScanParams) => Promise<void>;
6
6
  documentOcr: (params: DocumentOcrParams) => Promise<void>;
7
7
  }
@@ -1,15 +1,17 @@
1
- export type BackScanParams = {
2
- callback: (returnData: any) => void;
3
- image?: ImageData;
4
- config?: any;
5
- };
6
- export type FrontScanParams = {
1
+ interface BaseScanParams {
7
2
  callback: (returnData: any) => void;
8
3
  config?: any;
4
+ }
5
+ export interface BackScanParams extends BaseScanParams {
6
+ image?: ImageData;
7
+ }
8
+ export interface FrontDocumentScanParams extends BaseScanParams {
9
9
  doOcr?: boolean;
10
+ }
11
+ export type DocumentScanResponse = {
12
+ success: boolean;
10
13
  };
11
- export type DocumentOcrParams = {
14
+ export interface DocumentOcrParams extends BaseScanParams {
12
15
  inputImage: string;
13
- callback: (returnData: any) => void;
14
- config?: any;
15
- };
16
+ }
17
+ export {};
@@ -1,4 +1,3 @@
1
1
  export declare const releaseCanvas: (canvasElement: HTMLCanvasElement) => void;
2
2
  export declare const compareEmbeddings: (embeddingsA: string, embeddingsB: string, callback: (result: any) => void, config?: {}, encryptData?: boolean) => Promise<any>;
3
- export declare const createImages: (images: Array<ImageData | string>, title: string, action: boolean) => Promise<void>;
4
- export declare function blobToBase64(blob: Blob): Promise<ArrayBuffer | string>;
3
+ export declare function imageDataFromBase64(base64: string): Promise<ImageData>;
@@ -11,7 +11,7 @@ import { proxy } from 'comlink';
11
11
  import { callbackTypeEnum, createCallback } from '../../../../createCallback';
12
12
  import { printLogs } from '../../global/shared.utils';
13
13
  import { ultraCompareEmbeddings } from '../../../../utils';
14
- import { CANVAS_RELEASE_DIMENSION, IMAGE_EXPORT_FORMAT, DOWNLOAD_IMAGE_TYPE, FILE_EXTENSION, DOWNLOAD_DELAY_TIMEOUT, } from './document.constants';
14
+ import { CANVAS_RELEASE_DIMENSION, } from './document.constants';
15
15
  export const releaseCanvas = (canvasElement) => {
16
16
  const canvas = canvasElement;
17
17
  try {
@@ -43,42 +43,17 @@ export const compareEmbeddings = (embeddingsA, embeddingsB, callback, config = {
43
43
  const result = yield ultraCompareEmbeddings(embeddingsA, embeddingsB, JSON.stringify(configuration), proxy(createCallback({ type: callbackTypeEnum.compareEmbeddings, callbackFunction: callback })));
44
44
  return result;
45
45
  });
46
- export const createImages = (images, title, action) => __awaiter(void 0, void 0, void 0, function* () {
47
- const promises = images.map((content) => new Promise((resolve) => __awaiter(void 0, void 0, void 0, function* () {
46
+ export function imageDataFromBase64(base64) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const img = new Image();
49
+ img.src = base64;
50
+ yield img.decode(); // wait until the image is loaded
48
51
  const canvas = document.createElement('canvas');
49
- canvas.width = content.width;
50
- canvas.height = content.height;
51
- const context = canvas.getContext('2d');
52
- context.putImageData(content, 0, 0);
53
- const blob = yield new Promise((resolve) => canvas.toBlob(resolve, IMAGE_EXPORT_FORMAT));
54
- const base64 = yield blobToBase64(blob);
55
- const url = URL.createObjectURL(blob);
56
- resolve({ url, base64 });
57
- })));
58
- const data = yield Promise.all(promises);
59
- const a = document.createElement('a');
60
- for (let i = 0; i < data.length; i++) {
61
- // if(!iOS()) {
62
- // eslint-disable-next-line no-loop-func
63
- yield new Promise((resolve) => {
64
- a.href = data[i].url;
65
- a.type = DOWNLOAD_IMAGE_TYPE;
66
- a.download = `${title}_${action ? 'enroll' : 'predict'}${FILE_EXTENSION}`;
67
- document.body.appendChild(a);
68
- a.click();
69
- setTimeout(() => {
70
- resolve();
71
- }, DOWNLOAD_DELAY_TIMEOUT);
72
- });
73
- // }
74
- // postImages(data[i].base64);
75
- }
76
- });
77
- export function blobToBase64(blob) {
78
- return new Promise((resolve) => {
79
- const reader = new FileReader();
80
- reader.onloadend = () => resolve(reader.result);
81
- reader.readAsDataURL(blob);
52
+ canvas.width = img.width;
53
+ canvas.height = img.height;
54
+ const ctx = canvas.getContext('2d');
55
+ ctx.drawImage(img, 0, 0);
56
+ return ctx.getImageData(0, 0, canvas.width, canvas.height);
82
57
  });
83
58
  }
84
59
  //# sourceMappingURL=document.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document.utils.js","sourceRoot":"","sources":["../../../../../src/application/modules/core/document/document.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.utils.js","sourceRoot":"","sources":["../../../../../src/application/modules/core/document/document.utils.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export type { Document } from './document.domain';
2
2
  export { DocumentService } from './DocumentService';
3
- export type { BackScanParams, FrontScanParams, DocumentOcrParams } from './document.types';
3
+ export type { BackScanParams, FrontDocumentScanParams, DocumentOcrParams } from './document.types';
@@ -1,6 +1,6 @@
1
1
  import { Face } from './face.domain';
2
2
  import { CameraFaceMode } from '../../../../types';
3
- import type { FaceLoginProps, PredictProps, EstimateAgeProps, FaceEnrollParams } from './face.types';
3
+ import type { FaceLoginProps, PredictProps, FaceEnrollParams, EstimateAgeParams } from './face.types';
4
4
  import { Wasm } from '../../support/wasm';
5
5
  import { Camera } from '../../support/camera';
6
6
  export declare class FaceService implements Face {
@@ -20,7 +20,7 @@ export declare class FaceService implements Face {
20
20
  predictWithStatus(props: PredictProps): Promise<unknown>;
21
21
  predictConfirmUser(props: PredictProps): Promise<unknown>;
22
22
  predictDeleteUser(props: PredictProps): Promise<unknown>;
23
- estimateAge(props: EstimateAgeProps): Promise<unknown>;
23
+ ageEstimation(params: EstimateAgeParams): Promise<unknown>;
24
24
  enroll(params: FaceEnrollParams): Promise<unknown>;
25
25
  private generateImageData;
26
26
  private prepareCanvas;
@@ -15,7 +15,8 @@ import { CameraFaceMode } from '../../../../types';
15
15
  import { defineDimensionsForCanvas, releaseCanvas } from './face.utils';
16
16
  import { DEFAULT_PREDICT_CONFIG } from '../../support/wasm';
17
17
  import { getIsSIMD, isMobileDevice, printLogs } from '../../global/shared.utils';
18
- import { CANVAS_TEST_ID, ENROLL_BASE_CONFIG, INVALID_VIDEO_ERROR, LOG_MESSAGES, URL_OVERRIDES } from './face.constants';
18
+ import { AGE_ESTIMATION_BASE_CONFIG, ENROLL_BASE_CONFIG, LOG_MESSAGES, URL_OVERRIDES } from './face.constants';
19
+ import { CANVAS_ID, INVALID_VIDEO_ERROR } from '../../global/shared.constants';
19
20
  export class FaceService {
20
21
  constructor(wasmService, cameraService) {
21
22
  this.isSimd = false;
@@ -26,7 +27,7 @@ export class FaceService {
26
27
  this.isSimd = simd;
27
28
  });
28
29
  const canvas = document.createElement('canvas');
29
- canvas.setAttribute('id', CANVAS_TEST_ID);
30
+ canvas.setAttribute('id', CANVAS_ID);
30
31
  this.canvas = canvas;
31
32
  this.wasmService = wasmService;
32
33
  this.cameraService = cameraService;
@@ -54,7 +55,7 @@ export class FaceService {
54
55
  else {
55
56
  canvas = document.createElement('canvas');
56
57
  }
57
- canvas.setAttribute('id', CANVAS_TEST_ID);
58
+ canvas.setAttribute('id', CANVAS_ID);
58
59
  canvas.setAttribute('height', `${height}`);
59
60
  canvas.setAttribute('width', `${width}`);
60
61
  const context = canvas.getContext('2d', { willReadFrequently: true });
@@ -66,6 +67,7 @@ export class FaceService {
66
67
  const imageData = context.getImageData(0, 0, width, height);
67
68
  return { imageData, canvas, width, height };
68
69
  }
70
+ // TODO: Refactor this method and validate if is really needed.
69
71
  runUltraProcess(fn, options) {
70
72
  return __awaiter(this, void 0, void 0, function* () {
71
73
  const { callback, image, config = {}, element, returnPortrait = false, useExistingCanvas = false, logMessage = LOG_MESSAGES.ULTRA_PROCESS, callbackType, } = options;
@@ -119,34 +121,19 @@ export class FaceService {
119
121
  return this.performPredict(Object.assign(Object.assign({}, props), { config: Object.assign({ url_name_override: URL_OVERRIDES.DELETE_USER }, props.config) }));
120
122
  });
121
123
  }
122
- estimateAge(props) {
124
+ ageEstimation(params) {
123
125
  return __awaiter(this, void 0, void 0, function* () {
124
- const baseConfig = {
125
- input_image_format: 'rgba',
126
- angle_rotation_left_threshold: 20.0,
127
- angle_rotation_right_threshold: 20.0,
128
- anti_spoofing_threshold: 0.8,
129
- threshold_profile_predict: 0.66,
130
- blur_threshold_enroll_pred: 40,
131
- threshold_user_too_close: 0.8,
132
- threshold_user_too_far: 0.2,
133
- threshold_user_up: 0.15,
134
- threshold_user_down: 0.9,
135
- threshold_user_left: 0.8,
136
- threshold_user_right: 0.2,
137
- threshold_high_vertical_predict: 0.9,
138
- threshold_down_vertical_predict: 2.2,
139
- url_name_override: '',
140
- disable_predict_mf: false,
141
- mf_count_override: 5,
142
- disable_estimate_age_mf: false,
143
- threshold_profile_enroll: 0.6,
144
- allow_only_one_face: false,
145
- };
146
- printLogs('[FaceService] estimateAge', true);
147
- return this.runUltraProcess(this.wasmService.estimateAge, Object.assign(Object.assign({}, props), { callbackType: callbackTypeEnum.ageEstimation, logMessage: props.logMessage || LOG_MESSAGES.AGE_ESTIMATION, config: Object.assign(Object.assign({}, baseConfig), props.config) }));
126
+ printLogs('[FaceService] estimateAge params', params);
127
+ try {
128
+ return this.runUltraProcess(this.wasmService.estimateAge, Object.assign(Object.assign({}, params), { callbackType: callbackTypeEnum.ageEstimation, logMessage: params.logMessage || LOG_MESSAGES.AGE_ESTIMATION, config: Object.assign(Object.assign({}, AGE_ESTIMATION_BASE_CONFIG), params.config) }));
129
+ }
130
+ catch (error) {
131
+ printLogs('[FaceService] estimateAge error', error.message, 'ERROR');
132
+ return undefined;
133
+ }
148
134
  });
149
135
  }
136
+ // TODO: Add try/catch block
150
137
  enroll(params) {
151
138
  return __awaiter(this, void 0, void 0, function* () {
152
139
  printLogs('[FaceService] enroll params', params);