@regulaforensics/document-reader 8.4.375-beta → 8.4.386-beta

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 (59) hide show
  1. package/RNDocumentReader.podspec +2 -2
  2. package/android/build.gradle +2 -2
  3. package/android/cordova.gradle +2 -2
  4. package/android/src/main/java/com/regula/plugin/documentreader/Config.kt +49 -1
  5. package/android/src/main/java/com/regula/plugin/documentreader/JSONConstructor.kt +30 -0
  6. package/android/src/main/java/com/regula/plugin/documentreader/Main.kt +24 -1
  7. package/examples/capacitor/package-lock.json +351 -313
  8. package/examples/capacitor/package.json +3 -3
  9. package/examples/ionic/package.json +3 -3
  10. package/examples/react_native/package.json +3 -3
  11. package/ios/RGLWConfig.m +38 -9
  12. package/ios/RGLWJSONConstructor.h +1 -0
  13. package/ios/RGLWJSONConstructor.m +21 -0
  14. package/ios/RGLWMain.m +46 -0
  15. package/package.json +1 -1
  16. package/plugin.xml +2 -2
  17. package/test/json.tsx +72 -31
  18. package/test/package-lock.json +1 -1
  19. package/test/test.tsx +3 -2
  20. package/www/capacitor/config/InitConfig.js +3 -0
  21. package/www/capacitor/index.js +5 -4
  22. package/www/capacitor/info/DocReaderException.js +2 -0
  23. package/www/capacitor/params/Functionality.js +8 -0
  24. package/www/capacitor/params/customization/CustomizationColors.js +32 -0
  25. package/www/capacitor/params/customization/CustomizationFonts.js +24 -0
  26. package/www/capacitor/params/customization/CustomizationImages.js +8 -0
  27. package/www/capacitor/params/process_params/AuthenticityParams.js +44 -0
  28. package/www/capacitor/params/process_params/FilterObject.js +60 -0
  29. package/www/capacitor/params/process_params/LivenessParams.js +38 -2
  30. package/www/capacitor/params/process_params/ProcessParams.js +30 -0
  31. package/www/capacitor/results/authenticity/CheckDiagnose.js +2 -0
  32. package/www/capacitor/results/authenticity/SecurityFeatureType.js +3 -1
  33. package/www/cordova.js +371 -92
  34. package/www/react-native/config/InitConfig.js +3 -0
  35. package/www/react-native/index.js +5 -4
  36. package/www/react-native/info/DocReaderException.js +2 -0
  37. package/www/react-native/params/Functionality.js +8 -0
  38. package/www/react-native/params/customization/CustomizationColors.js +32 -0
  39. package/www/react-native/params/customization/CustomizationFonts.js +24 -0
  40. package/www/react-native/params/customization/CustomizationImages.js +8 -0
  41. package/www/react-native/params/process_params/AuthenticityParams.js +44 -0
  42. package/www/react-native/params/process_params/FilterObject.js +60 -0
  43. package/www/react-native/params/process_params/LivenessParams.js +38 -2
  44. package/www/react-native/params/process_params/ProcessParams.js +30 -0
  45. package/www/react-native/results/authenticity/CheckDiagnose.js +2 -0
  46. package/www/react-native/results/authenticity/SecurityFeatureType.js +3 -1
  47. package/www/types/config/InitConfig.d.ts +5 -0
  48. package/www/types/index.d.ts +5 -4
  49. package/www/types/info/DocReaderException.d.ts +4 -0
  50. package/www/types/params/Functionality.d.ts +6 -0
  51. package/www/types/params/customization/CustomizationColors.d.ts +16 -8
  52. package/www/types/params/customization/CustomizationFonts.d.ts +6 -0
  53. package/www/types/params/customization/CustomizationImages.d.ts +6 -1
  54. package/www/types/params/process_params/AuthenticityParams.d.ts +25 -0
  55. package/www/types/params/process_params/FilterObject.d.ts +32 -0
  56. package/www/types/params/process_params/LivenessParams.d.ts +18 -0
  57. package/www/types/params/process_params/ProcessParams.d.ts +11 -0
  58. package/www/types/results/authenticity/CheckDiagnose.d.ts +4 -0
  59. package/www/types/results/authenticity/SecurityFeatureType.d.ts +4 -0
@@ -1,6 +1,7 @@
1
1
  export class InitConfig {
2
2
  license
3
3
  licenseUpdate
4
+ licenseUpdateTimeout
4
5
  delayedNNLoad
5
6
  databasePath
6
7
  customDb
@@ -30,6 +31,7 @@ export class InitConfig {
30
31
  result.customDb = jsonObject["customDb"];
31
32
  result.delayedNNLoad = jsonObject["delayedNNLoad"];
32
33
  result.licenseUpdate = jsonObject["licenseUpdate"];
34
+ result.licenseUpdateTimeout = jsonObject["licenseUpdateTimeout"];
33
35
  result.blackList = jsonObject["blackList"];
34
36
  result.databasePath = jsonObject["databasePath"];
35
37
  result.useBleDevice = jsonObject["useBleDevice"];
@@ -43,6 +45,7 @@ export class InitConfig {
43
45
  "license": this.license,
44
46
  "delayedNNLoad": this.delayedNNLoad,
45
47
  "licenseUpdate": this.licenseUpdate,
48
+ "licenseUpdateTimeout": this.licenseUpdateTimeout,
46
49
  "blackList": this.blackList,
47
50
  "customDb": this.customDb,
48
51
  "databasePath": this.databasePath,
@@ -94,16 +94,17 @@ import { Extension } from './results/rfid/Extension';
94
94
  import { AccessControlProcedureType } from './results/rfid/AccessControlProcedureType';
95
95
  export { SecurityObject, CardProperties, DataField, Attribute, SignerInfo, SecurityObjectCertificates, CertificateChain, Authority, File, RFIDValue, RFIDValidity, RFIDDataFileType, CertificateData, FileData, RFIDCertificateType, RFIDSessionData, Application, RFIDApplicationType, RFIDAccessControlProcedureType, Extension, AccessControlProcedureType };
96
96
 
97
- import { LivenessParams } from './params/process_params/LivenessParams';
98
- import { ProcessParams, MeasureSystem, MRZFormat, LogLevel, MrzDetectionModes } from './params/process_params/ProcessParams';
97
+ import { FilterObject, FilterObjectType } from './params/process_params/FilterObject';
98
+ import { LivenessParams, LivenessCheckType } from './params/process_params/LivenessParams';
99
+ import { ProcessParams, MeasureSystem, MRZFormat, LogLevel, MrzDetectionModes, FilterCheckType } from './params/process_params/ProcessParams';
99
100
  import { GlaresCheckParams } from './params/process_params/GlaresCheckParams';
100
101
  import { FaceApiParams } from './params/process_params/FaceApiParams';
101
102
  import { RFIDParams } from './params/process_params/RFIDParams';
102
103
  import { ImageQA } from './params/process_params/ImageQA';
103
- import { AuthenticityParams } from './params/process_params/AuthenticityParams';
104
+ import { AuthenticityParams, AuthenticityCheckType } from './params/process_params/AuthenticityParams';
104
105
  import { BackendProcessingConfig } from './params/process_params/BackendProcessingConfig';
105
106
  import { FaceApiSearchParams } from './params/process_params/FaceApiSearchParams';
106
- export { LivenessParams, ProcessParams, MeasureSystem, MRZFormat, LogLevel, MrzDetectionModes, GlaresCheckParams, FaceApiParams, RFIDParams, ImageQA, AuthenticityParams, BackendProcessingConfig, FaceApiSearchParams };
107
+ export { FilterObject, FilterObjectType, LivenessParams, LivenessCheckType, ProcessParams, MeasureSystem, MRZFormat, LogLevel, MrzDetectionModes, FilterCheckType, GlaresCheckParams, FaceApiParams, RFIDParams, ImageQA, AuthenticityParams, AuthenticityCheckType, BackendProcessingConfig, FaceApiSearchParams };
107
108
 
108
109
  import { Functionality, CameraPosition, CaptureMode, CameraMode, CaptureSessionPreset, DocReaderFrame, CameraSize } from './params/Functionality';
109
110
  export { Functionality, CameraPosition, CaptureMode, CameraMode, CaptureSessionPreset, DocReaderFrame, CameraSize };
@@ -55,6 +55,8 @@ export const ErrorCodes = {
55
55
  CANNOT_USE_CAMERA_IN_SCENARIO: 40,
56
56
  BACKEND_ONLINE_PROCESSING: 303,
57
57
  WRONG_INPUT: 400,
58
+ RESULT_UNAVAILABLE: 410,
59
+ RESULT_WRONG_OUTPUT: 411,
58
60
  STATE_EXCEPTION: 500,
59
61
  BLE_EXCEPTION: 600,
60
62
  FEATURE_BLUETOOTH_LE_NOT_SUPPORTED: 601,
@@ -105,6 +105,12 @@ export class Functionality {
105
105
  this._set({ "torchTurnedOn": val });
106
106
  }
107
107
 
108
+ get preventScreenRecording() { return this._preventScreenRecording; }
109
+ set preventScreenRecording(val) {
110
+ this._preventScreenRecording = val;
111
+ this._set({ "preventScreenRecording": val });
112
+ }
113
+
108
114
  get showCaptureButtonDelayFromDetect() { return this._showCaptureButtonDelayFromDetect; }
109
115
  set showCaptureButtonDelayFromDetect(val) {
110
116
  this._showCaptureButtonDelayFromDetect = val;
@@ -222,6 +228,7 @@ export class Functionality {
222
228
  result._manualMultipageMode = jsonObject["manualMultipageMode"];
223
229
  result._singleResult = jsonObject["singleResult"];
224
230
  result._torchTurnedOn = jsonObject["torchTurnedOn"];
231
+ result._preventScreenRecording = jsonObject["preventScreenRecording"];
225
232
  result._showCaptureButtonDelayFromDetect = jsonObject["showCaptureButtonDelayFromDetect"];
226
233
  result._showCaptureButtonDelayFromStart = jsonObject["showCaptureButtonDelayFromStart"];
227
234
  result._rfidTimeout = jsonObject["rfidTimeout"];
@@ -261,6 +268,7 @@ export class Functionality {
261
268
  "manualMultipageMode": this.manualMultipageMode,
262
269
  "singleResult": this.singleResult,
263
270
  "torchTurnedOn": this.torchTurnedOn,
271
+ "preventScreenRecording": this.preventScreenRecording,
264
272
  "showCaptureButtonDelayFromDetect": this.showCaptureButtonDelayFromDetect,
265
273
  "showCaptureButtonDelayFromStart": this.showCaptureButtonDelayFromStart,
266
274
  "rfidTimeout": this.rfidTimeout,
@@ -49,6 +49,30 @@ export class CustomizationColors {
49
49
  this._set({ "rfidProcessingScreenLoadingBar": val });
50
50
  }
51
51
 
52
+ get rfidEnableNfcTitleText() { return this._rfidEnableNfcTitleText; }
53
+ set rfidEnableNfcTitleText(val) {
54
+ this._rfidEnableNfcTitleText = val;
55
+ this._set({ "rfidEnableNfcTitleText": val });
56
+ }
57
+
58
+ get rfidEnableNfcDescriptionText() { return this._rfidEnableNfcDescriptionText; }
59
+ set rfidEnableNfcDescriptionText(val) {
60
+ this._rfidEnableNfcDescriptionText = val;
61
+ this._set({ "rfidEnableNfcDescriptionText": val });
62
+ }
63
+
64
+ get rfidEnableNfcButtonText() { return this._rfidEnableNfcButtonText; }
65
+ set rfidEnableNfcButtonText(val) {
66
+ this._rfidEnableNfcButtonText = val;
67
+ this._set({ "rfidEnableNfcButtonText": val });
68
+ }
69
+
70
+ get rfidEnableNfcButtonBackground() { return this._rfidEnableNfcButtonBackground; }
71
+ set rfidEnableNfcButtonBackground(val) {
72
+ this._rfidEnableNfcButtonBackground = val;
73
+ this._set({ "rfidEnableNfcButtonBackground": val });
74
+ }
75
+
52
76
  static fromJson(jsonObject) {
53
77
  if (jsonObject == null) return null;
54
78
 
@@ -61,6 +85,10 @@ export class CustomizationColors {
61
85
  result._rfidProcessingScreenProgressBarBackground = jsonObject["rfidProcessingScreenProgressBarBackground"];
62
86
  result._rfidProcessingScreenResultLabelText = jsonObject["rfidProcessingScreenResultLabelText"];
63
87
  result._rfidProcessingScreenLoadingBar = jsonObject["rfidProcessingScreenLoadingBar"];
88
+ result._rfidEnableNfcTitleText = jsonObject["rfidEnableNfcTitleText"];
89
+ result._rfidEnableNfcDescriptionText = jsonObject["rfidEnableNfcDescriptionText"];
90
+ result._rfidEnableNfcButtonText = jsonObject["rfidEnableNfcButtonText"];
91
+ result._rfidEnableNfcButtonBackground = jsonObject["rfidEnableNfcButtonBackground"];
64
92
 
65
93
  return result;
66
94
  }
@@ -82,6 +110,10 @@ export class CustomizationColors {
82
110
  "rfidProcessingScreenProgressBarBackground": this.rfidProcessingScreenProgressBarBackground,
83
111
  "rfidProcessingScreenResultLabelText": this.rfidProcessingScreenResultLabelText,
84
112
  "rfidProcessingScreenLoadingBar": this.rfidProcessingScreenLoadingBar,
113
+ "rfidEnableNfcTitleText": this.rfidEnableNfcTitleText,
114
+ "rfidEnableNfcDescriptionText": this.rfidEnableNfcDescriptionText,
115
+ "rfidEnableNfcButtonText": this.rfidEnableNfcButtonText,
116
+ "rfidEnableNfcButtonBackground": this.rfidEnableNfcButtonBackground,
85
117
  }
86
118
  }
87
119
  }
@@ -20,6 +20,24 @@ export class CustomizationFonts {
20
20
  this._set({ "rfidProcessingScreenResultLabel": val });
21
21
  }
22
22
 
23
+ get rfidEnableNfcTitleText() { return this._rfidEnableNfcTitleText; }
24
+ set rfidEnableNfcTitleText(val) {
25
+ this._rfidEnableNfcTitleText = val;
26
+ this._set({ "rfidEnableNfcTitleText": val });
27
+ }
28
+
29
+ get rfidEnableNfcDescriptionText() { return this._rfidEnableNfcDescriptionText; }
30
+ set rfidEnableNfcDescriptionText(val) {
31
+ this._rfidEnableNfcDescriptionText = val;
32
+ this._set({ "rfidEnableNfcDescriptionText": val });
33
+ }
34
+
35
+ get rfidEnableNfcButtonText() { return this._rfidEnableNfcButtonText; }
36
+ set rfidEnableNfcButtonText(val) {
37
+ this._rfidEnableNfcButtonText = val;
38
+ this._set({ "rfidEnableNfcButtonText": val });
39
+ }
40
+
23
41
  static fromJson(jsonObject) {
24
42
  if (jsonObject == null) return null;
25
43
 
@@ -27,6 +45,9 @@ export class CustomizationFonts {
27
45
  result._rfidProcessingScreenHintLabel = Font.fromJson(jsonObject["rfidProcessingScreenHintLabel"]);
28
46
  result._rfidProcessingScreenProgressLabel = Font.fromJson(jsonObject["rfidProcessingScreenProgressLabel"]);
29
47
  result._rfidProcessingScreenResultLabel = Font.fromJson(jsonObject["rfidProcessingScreenResultLabel"]);
48
+ result._rfidEnableNfcTitleText = Font.fromJson(jsonObject["rfidEnableNfcTitleText"]);
49
+ result._rfidEnableNfcDescriptionText = Font.fromJson(jsonObject["rfidEnableNfcDescriptionText"]);
50
+ result._rfidEnableNfcButtonText = Font.fromJson(jsonObject["rfidEnableNfcButtonText"]);
30
51
 
31
52
  return result;
32
53
  }
@@ -43,6 +64,9 @@ export class CustomizationFonts {
43
64
  "rfidProcessingScreenHintLabel": this.rfidProcessingScreenHintLabel?.toJson(),
44
65
  "rfidProcessingScreenProgressLabel": this.rfidProcessingScreenProgressLabel?.toJson(),
45
66
  "rfidProcessingScreenResultLabel": this.rfidProcessingScreenResultLabel?.toJson(),
67
+ "rfidEnableNfcTitleText": this.rfidEnableNfcTitleText?.toJson(),
68
+ "rfidEnableNfcDescriptionText": this.rfidEnableNfcDescriptionText?.toJson(),
69
+ "rfidEnableNfcButtonText": this.rfidEnableNfcButtonText?.toJson(),
46
70
  }
47
71
  }
48
72
  }
@@ -7,11 +7,18 @@ export class CustomizationImages {
7
7
  this._set({ "rfidProcessingScreenFailureImage": val });
8
8
  }
9
9
 
10
+ get rfidEnableNfcImage() { return this._rfidEnableNfcImage; }
11
+ set rfidEnableNfcImage(val) {
12
+ this._rfidEnableNfcImage = val;
13
+ this._set({ "rfidEnableNfcImage": val });
14
+ }
15
+
10
16
  static fromJson(jsonObject) {
11
17
  if (jsonObject == null) return null;
12
18
 
13
19
  const result = new CustomizationImages();
14
20
  result._rfidProcessingScreenFailureImage = jsonObject["rfidProcessingScreenFailureImage"];
21
+ result._rfidEnableNfcImage = jsonObject["rfidEnableNfcImage"];
15
22
 
16
23
  return result;
17
24
  }
@@ -26,6 +33,7 @@ export class CustomizationImages {
26
33
  toJson() {
27
34
  return {
28
35
  "rfidProcessingScreenFailureImage": this.rfidProcessingScreenFailureImage,
36
+ "rfidEnableNfcImage": this.rfidEnableNfcImage,
29
37
  }
30
38
  }
31
39
  }
@@ -1,5 +1,6 @@
1
1
  import { DocumentReader } from '../../index';
2
2
  import { LivenessParams } from './LivenessParams';
3
+ import { FilterObject } from './FilterObject';
3
4
 
4
5
  export class AuthenticityParams {
5
6
  get useLivenessCheck() { return this._useLivenessCheck; }
@@ -95,6 +96,28 @@ export class AuthenticityParams {
95
96
  this._set({ "checkSecurityText": val });
96
97
  }
97
98
 
99
+ _checkFilters = {};
100
+
101
+ setCheckFilter(checkType, filter) {
102
+ this._checkFilters[checkType] = filter;
103
+ this._set({
104
+ "setCheckFilter": {
105
+ "checkType": checkType,
106
+ "filterObject": filter.toJson(),
107
+ },
108
+ });
109
+ }
110
+
111
+ removeCheckFilter(checkType) {
112
+ delete this._checkFilters[checkType];
113
+ this._set({ "removeCheckFilter": checkType });
114
+ }
115
+
116
+ clearCheckFilter() {
117
+ this._checkFilters = {};
118
+ this._set({ "clearCheckFilter": null });
119
+ }
120
+
98
121
  static fromJson(jsonObject) {
99
122
  if (jsonObject == null) return new AuthenticityParams();
100
123
 
@@ -116,6 +139,8 @@ export class AuthenticityParams {
116
139
  result._checkPhotoComparison = jsonObject["checkPhotoComparison"];
117
140
  result._checkLetterScreen = jsonObject["checkLetterScreen"];
118
141
  result._checkSecurityText = jsonObject["checkSecurityText"];
142
+ result._checkFilters = Object.fromEntries(Object.entries(jsonObject["checkFilters"] ?? {})
143
+ .map(([k, v]) => [k, FilterObject.fromJson(v)]));
119
144
 
120
145
  return result;
121
146
  }
@@ -145,6 +170,25 @@ export class AuthenticityParams {
145
170
  "checkPhotoComparison": this.checkPhotoComparison,
146
171
  "checkLetterScreen": this.checkLetterScreen,
147
172
  "checkSecurityText": this.checkSecurityText,
173
+ "checkFilters": Object.fromEntries(Object.entries(this._checkFilters).map(([k, v]) => [k, v.toJson()])),
148
174
  }
149
175
  }
150
176
  }
177
+
178
+ export const AuthenticityCheckType = {
179
+ USE_LIVENESS: "checkLiveness",
180
+ UV_LUMINISCENCE: "checkUVLuminiscence",
181
+ IR_B900: "checkIRB900",
182
+ IMAGE_PATTERNS: "checkImagePatterns",
183
+ FIBERS: "checkFibers",
184
+ EXT_MRZ: "checkExtMRZ",
185
+ EXT_OCR: "checkExtOCR",
186
+ AXIAL: "checkAxial",
187
+ BARCODE_FORMAT: "checkBarcodeFormat",
188
+ IR_VISIBILITY: "checkIRVisibility",
189
+ IPI: "checkIPI",
190
+ PHOTO_EMBEDDING: "checkPhotoEmbedding",
191
+ PHOTO_COMPARISON: "checkPhotoComparison",
192
+ LETTER_SCREEN: "checkLetterScreen",
193
+ SECURITY_TEXT: "checkSecurityText",
194
+ };
@@ -0,0 +1,60 @@
1
+ export class FilterObject {
2
+ docIDsFilter
3
+ docFormatsFilter
4
+ docCategoriesFilter
5
+ docCountriesFilter
6
+
7
+ static fromJson(json) {
8
+ var result = new FilterObject();
9
+ result.docIDsFilter = FilterObjectType.fromJson(json["docIDsFilter"]);
10
+ result.docFormatsFilter = FilterObjectType.fromJson(json["docFormatsFilter"]);
11
+ result.docCategoriesFilter = FilterObjectType.fromJson(json["docCategoriesFilter"]);
12
+ result.docCountriesFilter = FilterObjectType.fromJson(json["docCountriesFilter"]);
13
+ return result;
14
+ }
15
+
16
+ toJson() {
17
+ return {
18
+ "docIDsFilter": this.docIDsFilter?.toJson(),
19
+ "docFormatsFilter": this.docFormatsFilter?.toJson(),
20
+ "docCategoriesFilter": this.docCategoriesFilter?.toJson(),
21
+ "docCountriesFilter": this.docCountriesFilter?.toJson()
22
+ }
23
+ }
24
+ }
25
+
26
+ export class FilterObjectType {
27
+ _list
28
+ _isInclude
29
+
30
+ static createIncludeList(list) {
31
+ var result = new FilterObjectType();
32
+ result._list = list;
33
+ result._isInclude = true;
34
+ return result;
35
+ }
36
+
37
+ static createExcludeList(list) {
38
+ var result = new FilterObjectType();
39
+ result._list = list;
40
+ result._isInclude = false;
41
+ return result;
42
+ }
43
+
44
+ static fromJson(json) {
45
+ if (json == null) return null;
46
+ if (json["isInclude"]) {
47
+ return FilterObjectType.createIncludeList(json["list"]);
48
+ } else {
49
+ return FilterObjectType.createExcludeList(json["list"]);
50
+ }
51
+ }
52
+
53
+ toJson() {
54
+ return {
55
+ "list": this._list,
56
+ "isInclude": this._isInclude,
57
+ }
58
+ }
59
+ }
60
+
@@ -1,4 +1,5 @@
1
1
  import { DocumentReader } from '../../index';
2
+ import { FilterObject } from './FilterObject';
2
3
 
3
4
  export class LivenessParams {
4
5
  get checkOVI() { return this._checkOVI; }
@@ -43,9 +44,31 @@ export class LivenessParams {
43
44
  this._set({ "checkGeometry": val });
44
45
  }
45
46
 
47
+ _checkFilters = {};
48
+
49
+ setCheckFilter(checkType, filter) {
50
+ this._checkFilters[checkType] = filter;
51
+ this._set({
52
+ "setCheckFilter": {
53
+ "checkType": checkType,
54
+ "filterObject": filter.toJson(),
55
+ },
56
+ });
57
+ }
58
+
59
+ removeCheckFilter(checkType) {
60
+ delete this._checkFilters[checkType];
61
+ this._set({ "removeCheckFilter": checkType });
62
+ }
63
+
64
+ clearCheckFilter() {
65
+ this._checkFilters = {};
66
+ this._set({ "clearCheckFilter": null });
67
+ }
68
+
46
69
  static fromJson(jsonObject) {
47
70
  if (jsonObject == null) return new LivenessParams();
48
-
71
+
49
72
  const result = new LivenessParams();
50
73
  result._checkOVI = jsonObject["checkOVI"];
51
74
  result._checkMLI = jsonObject["checkMLI"];
@@ -54,7 +77,9 @@ export class LivenessParams {
54
77
  result._checkBlackAndWhiteCopy = jsonObject["checkBlackAndWhiteCopy"];
55
78
  result._checkDynaprint = jsonObject["checkDynaprint"];
56
79
  result._checkGeometry = jsonObject["checkGeometry"];
57
-
80
+ result._checkFilters = Object.fromEntries(Object.entries(jsonObject["checkFilters"] ?? {})
81
+ .map(([k, v]) => [k, FilterObject.fromJson(v)]));
82
+
58
83
  return result;
59
84
  }
60
85
 
@@ -74,6 +99,17 @@ export class LivenessParams {
74
99
  "checkBlackAndWhiteCopy": this.checkBlackAndWhiteCopy,
75
100
  "checkDynaprint": this.checkDynaprint,
76
101
  "checkGeometry": this.checkGeometry,
102
+ "checkFilters": Object.fromEntries(Object.entries(this._checkFilters).map(([k, v]) => [k, v.toJson()])),
77
103
  }
78
104
  }
79
105
  }
106
+
107
+ export const LivenessCheckType = {
108
+ OVI: "checkOVI",
109
+ MLI: "checkMLI",
110
+ HOLO: "checkHolo",
111
+ ED: "checkED",
112
+ BLACK_AND_WHITE_COPY: "checkBlackAndWhiteCopy",
113
+ DYNAPRINT: "checkDynaprint",
114
+ GEOMETRY: "checkGeometry",
115
+ };
@@ -5,6 +5,7 @@ import { RFIDParams } from './RFIDParams';
5
5
  import { FaceApiParams } from './FaceApiParams';
6
6
  import { BackendProcessingConfig } from './BackendProcessingConfig';
7
7
  import { AuthenticityParams } from './AuthenticityParams';
8
+ import { FilterObject } from './FilterObject';
8
9
 
9
10
  export class ProcessParams {
10
11
  get multipageProcessing() { return this._multipageProcessing; }
@@ -463,6 +464,28 @@ export class ProcessParams {
463
464
  this._set({ "customParams": val });
464
465
  }
465
466
 
467
+ _checkFilters = {};
468
+
469
+ setCheckFilter(checkType, filter) {
470
+ this._checkFilters[checkType] = filter;
471
+ this._set({
472
+ "setCheckFilter": {
473
+ "checkType": checkType,
474
+ "filterObject": filter.toJson(),
475
+ },
476
+ });
477
+ }
478
+
479
+ removeCheckFilter(checkType) {
480
+ delete this._checkFilters[checkType];
481
+ this._set({ "removeCheckFilter": checkType });
482
+ }
483
+
484
+ clearCheckFilter() {
485
+ this._checkFilters = {};
486
+ this._set({ "clearCheckFilter": null });
487
+ }
488
+
466
489
  static fromJson(jsonObject) {
467
490
  if (jsonObject == null) return new ProcessParams();
468
491
  const result = new ProcessParams();
@@ -544,6 +567,8 @@ export class ProcessParams {
544
567
  result._backendProcessingConfig = BackendProcessingConfig.fromJson(jsonObject["backendProcessingConfig"]);
545
568
  result._authenticityParams = AuthenticityParams.fromJson(jsonObject["authenticityParams"]);
546
569
  result._customParams = jsonObject["customParams"];
570
+ result._checkFilters = Object.fromEntries(Object.entries(jsonObject["checkFilters"] ?? {})
571
+ .map(([k, v]) => [k, FilterObject.fromJson(v)]));
547
572
 
548
573
  return result;
549
574
  }
@@ -626,6 +651,7 @@ export class ProcessParams {
626
651
  "backendProcessingConfig": this.backendProcessingConfig?.toJson(),
627
652
  "authenticityParams": this.authenticityParams?.toJson(),
628
653
  "customParams": this.customParams,
654
+ "checkFilters": Object.fromEntries(Object.entries(this._checkFilters).map(([k, v]) => [k, v.toJson()])),
629
655
  }
630
656
  }
631
657
 
@@ -663,3 +689,7 @@ export const MrzDetectionModes = {
663
689
  RESIZE_BINARIZE_WINDOW: 1,
664
690
  BLUR_BEFORE_BINARIZATION: 2
665
691
  };
692
+
693
+ export const FilterCheckType = {
694
+ AUTH: "checkAuth",
695
+ };
@@ -46,6 +46,8 @@ export const CheckDiagnose = {
46
46
  FIELD_POS_CORRECTOR_FACE_PRESENCE_CHECK_ERROR: 84,
47
47
  FIELD_POS_CORRECTOR_FACE_ABSENCE_CHECK_ERROR: 85,
48
48
  CHD_FIELD_POS_CORRECTOR_INCORRECT_HEAD_POSITION: 86,
49
+ CHD_FIELD_POS_CORRECTOR_AGE_CHECK_ERROR: 87,
50
+ CHD_FIELD_POS_CORRECTOR_SEX_CHECK_ERROR: 88,
49
51
  OVI_IR_INVISIBLE: 90,
50
52
  OVI_INSUFFICIENT_AREA: 91,
51
53
  OVI_COLOR_INVARIABLE: 92,
@@ -55,5 +55,7 @@ export const SecurityFeatureType = {
55
55
  HEAD_POSITION_CHECK: 52,
56
56
  LIVENESS_BLACK_AND_WHITE_COPY_CHECK: 53,
57
57
  LIVENESS_DYNAPRINT: 54,
58
- LIVENESS_GEOMETRY_CHECK: 55
58
+ LIVENESS_GEOMETRY_CHECK: 55,
59
+ AGE_CHECK: 56,
60
+ SEX_CHECK: 57,
59
61
  }
@@ -14,6 +14,11 @@ export declare class InitConfig {
14
14
  */
15
15
  licenseUpdate: boolean;
16
16
 
17
+ /**
18
+ * Allows you to configure the maximum time needed for a license update (in seconds).
19
+ */
20
+ licenseUpdateTimeout?: number;
21
+
17
22
  /**
18
23
  * Defines whether the {@link DocumentReader} delays loading of neural networks.
19
24
  *
@@ -92,16 +92,17 @@ import { Extension } from './results/rfid/Extension';
92
92
  import { AccessControlProcedureType } from './results/rfid/AccessControlProcedureType';
93
93
  export { SecurityObject, CardProperties, DataField, Attribute, SignerInfo, SecurityObjectCertificates, CertificateChain, Authority, File, RFIDValue, RFIDValidity, RFIDDataFileType, CertificateData, FileData, RFIDCertificateType, RFIDSessionData, Application, RFIDApplicationType, RFIDAccessControlProcedureType, Extension, AccessControlProcedureType };
94
94
 
95
- import { LivenessParams } from './params/process_params/LivenessParams';
96
- import { ProcessParams, MeasureSystem, MRZFormat, LogLevel, MrzDetectionModes } from './params/process_params/ProcessParams';
95
+ import { FilterObject, FilterObjectType } from './params/process_params/FilterObject';
96
+ import { LivenessParams, LivenessCheckType } from './params/process_params/LivenessParams';
97
+ import { ProcessParams, MeasureSystem, MRZFormat, LogLevel, MrzDetectionModes, FilterCheckType } from './params/process_params/ProcessParams';
97
98
  import { GlaresCheckParams } from './params/process_params/GlaresCheckParams';
98
99
  import { FaceApiParams } from './params/process_params/FaceApiParams';
99
100
  import { RFIDParams } from './params/process_params/RFIDParams';
100
101
  import { ImageQA } from './params/process_params/ImageQA';
101
- import { AuthenticityParams } from './params/process_params/AuthenticityParams';
102
+ import { AuthenticityParams, AuthenticityCheckType } from './params/process_params/AuthenticityParams';
102
103
  import { BackendProcessingConfig } from './params/process_params/BackendProcessingConfig';
103
104
  import { FaceApiSearchParams } from './params/process_params/FaceApiSearchParams';
104
- export { LivenessParams, ProcessParams, MeasureSystem, MRZFormat, LogLevel, MrzDetectionModes, GlaresCheckParams, FaceApiParams, RFIDParams, ImageQA, AuthenticityParams, BackendProcessingConfig, FaceApiSearchParams };
105
+ export { FilterObject, FilterObjectType, LivenessParams, LivenessCheckType, ProcessParams, FilterCheckType, MeasureSystem, MRZFormat, LogLevel, MrzDetectionModes, GlaresCheckParams, FaceApiParams, RFIDParams, ImageQA, AuthenticityParams, AuthenticityCheckType,BackendProcessingConfig, FaceApiSearchParams };
105
106
 
106
107
  import { Functionality, CameraPosition, CaptureMode, CameraMode, CaptureSessionPreset, DocReaderFrame, CameraSize } from './params/Functionality';
107
108
  export { Functionality, CameraPosition, CaptureMode, CameraMode, CaptureSessionPreset, DocReaderFrame, CameraSize };
@@ -70,6 +70,10 @@ export declare enum ErrorCodes {
70
70
  CANNOT_USE_CAMERA_IN_SCENario = 40,
71
71
  BACKEND_ONLINE_PROCESSING = 303,
72
72
  WRONG_INPUT = 400,
73
+ /** Missing output result. */
74
+ RESULT_UNAVAILABLE = 410,
75
+ /** Incorrect result output. */
76
+ RESULT_WRONG_OUTPUT = 411,
73
77
  STATE_EXCEPTION = 500,
74
78
  BLE_EXCEPTION = 600,
75
79
  FEATURE_BLUETOOTH_LE_NOT_SUPPORTED = 601,
@@ -129,6 +129,12 @@ export declare class Functionality {
129
129
  * @default false
130
130
  */
131
131
  torchTurnedOn?: boolean;
132
+ /**
133
+ * When enabled, the SDK prevents both screen recording and screenshots.
134
+ *
135
+ * @default false
136
+ */
137
+ preventScreenRecording?: boolean;
132
138
  /**
133
139
  * Allows you to specify a time interval when the Capture button
134
140
  * has to be displayed after the document is detected.
@@ -1,12 +1,20 @@
1
1
  export declare class CustomizationColors {
2
- rfidProcessingScreenBackground: number;
3
- rfidProcessingScreenHintLabelText: number;
4
- rfidProcessingScreenHintLabelBackground: number;
5
- rfidProcessingScreenProgressLabelText: number;
6
- rfidProcessingScreenProgressBar: number;
7
- rfidProcessingScreenProgressBarBackground: number;
8
- rfidProcessingScreenResultLabelText: number;
9
- rfidProcessingScreenLoadingBar: number;
2
+ rfidProcessingScreenBackground?: number;
3
+ rfidProcessingScreenHintLabelText?: number;
4
+ rfidProcessingScreenHintLabelBackground?: number;
5
+ rfidProcessingScreenProgressLabelText?: number;
6
+ rfidProcessingScreenProgressBar?: number;
7
+ rfidProcessingScreenProgressBarBackground?: number;
8
+ rfidProcessingScreenResultLabelText?: number;
9
+ rfidProcessingScreenLoadingBar?: number;
10
+ /** Android only. */
11
+ rfidEnableNfcTitleText?: number;
12
+ /** Android only. */
13
+ rfidEnableNfcDescriptionText?: number;
14
+ /** Android only. */
15
+ rfidEnableNfcButtonText?: number;
16
+ /** Android only. */
17
+ rfidEnableNfcButtonBackground?: number;
10
18
 
11
19
  /**
12
20
  * Allows you to deserialize object.
@@ -4,6 +4,12 @@ export declare class CustomizationFonts {
4
4
  rfidProcessingScreenHintLabel?: Font;
5
5
  rfidProcessingScreenProgressLabel?: Font;
6
6
  rfidProcessingScreenResultLabel?: Font;
7
+ /** Android only. */
8
+ rfidEnableNfcTitleText?: number;
9
+ /** Android only. */
10
+ rfidEnableNfcDescriptionText?: number;
11
+ /** Android only. */
12
+ rfidEnableNfcButtonText?: number;
7
13
 
8
14
  /**
9
15
  * Allows you to deserialize object.
@@ -2,7 +2,12 @@ export declare class CustomizationImages {
2
2
  /**
3
3
  * Base64 string.
4
4
  */
5
- rfidProcessingScreenFailureImage: string;
5
+ rfidProcessingScreenFailureImage?: string;
6
+
7
+ /**
8
+ * Android only.
9
+ */
10
+ rfidEnableNfcImage?: string;
6
11
 
7
12
  /**
8
13
  * Allows you to deserialize object.
@@ -1,3 +1,4 @@
1
+ import { FilterObject } from "./FilterObject";
1
2
  import { LivenessParams } from "./LivenessParams";
2
3
 
3
4
  export declare class AuthenticityParams {
@@ -22,9 +23,33 @@ export declare class AuthenticityParams {
22
23
  checkLetterScreen?: boolean;
23
24
  checkSecurityText?: boolean;
24
25
 
26
+ setCheckFilter(checkType: AuthenticityCheckType, filter: FilterObject): void;
27
+
28
+ removeCheckFilter(checkType: AuthenticityCheckType): void;
29
+
30
+ clearCheckFilter(): void;
31
+
25
32
  /**
26
33
  * Allows you to deserialize object.
27
34
  * @param jsonObject
28
35
  */
29
36
  static fromJson(jsonObject: any): AuthenticityParams;
30
37
  }
38
+
39
+ export declare enum AuthenticityCheckType {
40
+ USE_LIVENESS = "checkLiveness",
41
+ UV_LUMINISCENCE = "checkUVLuminiscence",
42
+ IR_B900 = "checkIRB900",
43
+ IMAGE_PATTERNS = "checkImagePatterns",
44
+ FIBERS = "checkFibers",
45
+ EXT_MRZ = "checkExtMRZ",
46
+ EXT_OCR = "checkExtOCR",
47
+ AXIAL = "checkAxial",
48
+ BARCODE_FORMAT = "checkBarcodeFormat",
49
+ IR_VISIBILITY = "checkIRVisibility",
50
+ IPI = "checkIPI",
51
+ PHOTO_EMBEDDING = "checkPhotoEmbedding",
52
+ PHOTO_COMPARISON = "checkPhotoComparison",
53
+ LETTER_SCREEN = "checkLetterScreen",
54
+ SECURITY_TEXT = "checkSecurityText",
55
+ }