@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
@@ -6,9 +6,9 @@
6
6
  "android": "scripts/android.sh"
7
7
  },
8
8
  "dependencies": {
9
- "@regulaforensics/document-reader": "8.4.375-beta",
10
- "@regulaforensics/document-reader-core-fullauthrfid": "8.4.325-beta",
11
- "@regulaforensics/document-reader-btdevice": "8.4.20-beta",
9
+ "@regulaforensics/document-reader": "8.4.386-beta",
10
+ "@regulaforensics/document-reader-core-fullauthrfid": "8.4.572-beta",
11
+ "@regulaforensics/document-reader-btdevice": "8.4.29-beta",
12
12
  "@awesome-cordova-plugins/file": "6.6.0",
13
13
  "@awesome-cordova-plugins/camera": "6.6.0",
14
14
  "cordova-plugin-file": "8.1.3",
@@ -18,9 +18,9 @@
18
18
  "@awesome-cordova-plugins/file": "^8.1.0",
19
19
  "@ionic/angular": "^8.7.3",
20
20
  "@ionic/cordova-builders": "^12.3.0",
21
- "@regulaforensics/document-reader": "8.4.375-beta",
22
- "@regulaforensics/document-reader-core-fullauthrfid": "8.4.325-beta",
23
- "@regulaforensics/document-reader-btdevice": "8.4.20-beta",
21
+ "@regulaforensics/document-reader": "8.4.386-beta",
22
+ "@regulaforensics/document-reader-core-fullauthrfid": "8.4.572-beta",
23
+ "@regulaforensics/document-reader-btdevice": "8.4.29-beta",
24
24
  "cordova-android": "^14.0.1",
25
25
  "cordova-ios": "^7.1.1",
26
26
  "cordova-plugin-camera": "^8.0.0",
@@ -8,9 +8,9 @@
8
8
  "start": "expo start"
9
9
  },
10
10
  "dependencies": {
11
- "@regulaforensics/document-reader": "8.4.375-beta",
12
- "@regulaforensics/document-reader-core-fullauthrfid": "8.4.325-beta",
13
- "@regulaforensics/document-reader-btdevice": "8.4.20-beta",
11
+ "@regulaforensics/document-reader": "8.4.386-beta",
12
+ "@regulaforensics/document-reader-core-fullauthrfid": "8.4.572-beta",
13
+ "@regulaforensics/document-reader-btdevice": "8.4.29-beta",
14
14
  "react-native": "^0.81.4",
15
15
  "react-native-fs": "^2.20.0",
16
16
  "react-native-image-picker": "^8.2.1",
package/ios/RGLWConfig.m CHANGED
@@ -34,6 +34,7 @@
34
34
  if([options valueForKey:@"singleResult"] != nil)
35
35
  functionality.singleResult = [[options valueForKey:@"singleResult"] boolValue];
36
36
  if(options[@"torchTurnedOn"]) functionality.torchTurnedOn = [options[@"torchTurnedOn"] boolValue];
37
+ if(options[@"preventScreenRecording"]) functionality.preventScreenRecording = [options[@"preventScreenRecording"] boolValue];
37
38
 
38
39
  // Int
39
40
  if([options valueForKey:@"showCaptureButtonDelayFromDetect"] != nil)
@@ -88,6 +89,7 @@
88
89
  result[@"manualMultipageMode"] = [NSNumber numberWithBool:functionality.manualMultipageMode];
89
90
  result[@"singleResult"] = [NSNumber numberWithBool:functionality.singleResult];
90
91
  result[@"torchTurnedOn"] = @(functionality.torchTurnedOn);
92
+ result[@"preventScreenRecording"] = @(functionality.preventScreenRecording);
91
93
 
92
94
  // Int
93
95
  result[@"showCaptureButtonDelayFromDetect"] = [NSNumber numberWithDouble:functionality.showCaptureButtonDelayFromDetect];
@@ -257,22 +259,29 @@
257
259
  processParams.lcidFilter = [options mutableArrayValueForKey:@"lcidFilter"];
258
260
 
259
261
  // JSONObject
260
- if([options valueForKey:@"imageQA"] != nil)
262
+ if (options[@"customParams"]) processParams.customParams = options[@"customParams"];
263
+ if ([options valueForKey:@"imageQA"] != nil)
261
264
  [self setImageQA:processParams.imageQA input:[options valueForKey:@"imageQA"]];
262
- if([options valueForKey:@"rfidParams"] != nil)
265
+ if ([options valueForKey:@"rfidParams"] != nil)
263
266
  processParams.rfidParams = [RGLWJSONConstructor rfidParamsFromJson:[options valueForKey:@"rfidParams"]];
264
- if([options valueForKey:@"faceApiParams"] != nil)
267
+ if ([options valueForKey:@"faceApiParams"] != nil)
265
268
  processParams.faceApiParams = [RGLWJSONConstructor faceAPIParamsFromJson:[options valueForKey:@"faceApiParams"]];
266
- if([options valueForKey:@"backendProcessingConfig"] != nil)
269
+ if ([options valueForKey:@"backendProcessingConfig"] != nil)
267
270
  processParams.backendProcessingConfig = [RGLWJSONConstructor backendProcessingConfigFromJson:[options valueForKey:@"backendProcessingConfig"]];
268
- if([options valueForKey:@"authenticityParams"] != nil) {
271
+ if ([options valueForKey:@"authenticityParams"] != nil) {
269
272
  if(processParams.authenticityParams == nil) processParams.authenticityParams = [RGLAuthenticityParams defaultParams];
270
273
  [self setAuthenticityParams:processParams.authenticityParams input:[options valueForKey:@"authenticityParams"]];
271
274
  }
272
-
273
- // Custom
274
- if([options valueForKey:@"customParams"] != nil)
275
- processParams.customParams = [options valueForKey:@"customParams"];
275
+
276
+ if (options[@"setCheckFilter"]) [processParams
277
+ addFilter:[RGLWJSONConstructor filterObjectFromJson: options[@"setCheckFilter"][@"filterObject"]] forCheckType:options[@"setCheckFilter"][@"checkType"]];
278
+ if (options[@"removeCheckFilter"]) [processParams removeFilterForCheckType: options[@"removeCheckFilter"]];
279
+ if (options[@"clearCheckFilter"]) [processParams clearCheckFilter];
280
+ if (options[@"checkFilters"]) {
281
+ [processParams clearCheckFilter];
282
+ for (NSString* key in options[@"checkFilters"])
283
+ [processParams addFilter:[RGLWJSONConstructor filterObjectFromJson: options[@"checkFilters"][key]] forCheckType: key];
284
+ }
276
285
  }
277
286
 
278
287
  +(NSDictionary*)getProcessParams:(RGLProcessParams*)processParams {
@@ -1008,6 +1017,16 @@
1008
1017
  if([input valueForKey:@"checkLetterScreen"] != nil)
1009
1018
  result.checkLetterScreen = [input valueForKey:@"checkLetterScreen"];
1010
1019
  if(input[@"checkSecurityText"]) result.checkSecurityText = input[@"checkSecurityText"];
1020
+
1021
+ if (input[@"setCheckFilter"]) [result
1022
+ addFilter:[RGLWJSONConstructor filterObjectFromJson: input[@"setCheckFilter"][@"filterObject"]] forCheckType:input[@"setCheckFilter"][@"checkType"]];
1023
+ if (input[@"removeCheckFilter"]) [result removeFilterForCheckType: input[@"removeCheckFilter"]];
1024
+ if (input[@"clearCheckFilter"]) [result clearCheckFilter];
1025
+ if (input[@"checkFilters"]) {
1026
+ [result clearCheckFilter];
1027
+ for (NSString* key in input[@"checkFilters"])
1028
+ [result addFilter:[RGLWJSONConstructor filterObjectFromJson: input[@"checkFilters"][key]] forCheckType: key];
1029
+ }
1011
1030
  }
1012
1031
 
1013
1032
  +(NSDictionary*)getAuthenticityParams:(RGLAuthenticityParams*)input {
@@ -1046,6 +1065,16 @@
1046
1065
  if(input[@"checkBlackAndWhiteCopy"]) result.checkBlackAndWhiteCopy = input[@"checkBlackAndWhiteCopy"];
1047
1066
  if(input[@"checkDynaprint"]) result.checkDynaprint = input[@"checkDynaprint"];
1048
1067
  if(input[@"checkGeometry"]) result.checkGeometry = input[@"checkGeometry"];
1068
+
1069
+ if (input[@"setCheckFilter"]) [result
1070
+ addFilter:[RGLWJSONConstructor filterObjectFromJson: input[@"setCheckFilter"][@"filterObject"]] forCheckType:input[@"setCheckFilter"][@"checkType"]];
1071
+ if (input[@"removeCheckFilter"]) [result removeFilterForCheckType: input[@"removeCheckFilter"]];
1072
+ if (input[@"clearCheckFilter"]) [result clearCheckFilter];
1073
+ if (input[@"checkFilters"]) {
1074
+ [result clearCheckFilter];
1075
+ for (NSString* key in input[@"checkFilters"])
1076
+ [result addFilter:[RGLWJSONConstructor filterObjectFromJson: input[@"checkFilters"][key]] forCheckType: key];
1077
+ }
1049
1078
  }
1050
1079
 
1051
1080
  +(NSDictionary*)getLivenessParams:(RGLLivenessParams*)input {
@@ -175,6 +175,7 @@
175
175
  +(NSDictionary* _Nullable)generateTCCParams:(RGLTCCParams* _Nullable)input;
176
176
  +(RGLTransactionInfo* _Nullable)transactionInfoFromJson:(NSDictionary* _Nullable)input;
177
177
  +(NSDictionary* _Nullable)generateTransactionInfo:(RGLTransactionInfo* _Nullable)input;
178
+ +(RGLFilterObject* _Nonnull)filterObjectFromJson:(NSDictionary* _Nonnull)input;
178
179
 
179
180
  @end
180
181
 
@@ -161,6 +161,7 @@ static NSMutableArray* weakReferencesHolder;
161
161
 
162
162
  if (input[@"databasePath"]) config.databasePath = [[NSBundle mainBundle] pathForResource:input[@"databasePath"] ofType:nil];
163
163
  if (input[@"licenseUpdate"]) config.licenseUpdateCheck = [input[@"licenseUpdate"] boolValue];
164
+ if (input[@"licenseUpdateTimeout"]) config.licenseUpdateTimeout = input[@"licenseUpdateTimeout"];
164
165
  if (input[@"delayedNNLoad"]) config.delayedNNLoadEnabled = [input[@"delayedNNLoad"] boolValue];
165
166
 
166
167
  return config;
@@ -173,6 +174,7 @@ static NSMutableArray* weakReferencesHolder;
173
174
  result[@"license"] = [self base64Encode: input.licenseData];
174
175
  result[@"databasePath"] = input.databasePath;
175
176
  result[@"licenseUpdate"] = @(input.licenseUpdateCheck);
177
+ result[@"licenseUpdateTimeout"] = input.licenseUpdateTimeout;
176
178
  result[@"delayedNNLoad"] = @(input.delayedNNLoadEnabled);
177
179
 
178
180
  return result;
@@ -184,6 +186,7 @@ static NSMutableArray* weakReferencesHolder;
184
186
 
185
187
  if (input[@"databasePath"]) config.databasePath = [[NSBundle mainBundle] pathForResource:input[@"databasePath"] ofType:nil];
186
188
  if (input[@"licenseUpdate"]) config.licenseUpdateCheck = [input[@"licenseUpdate"] boolValue];
189
+ if (input[@"licenseUpdateTimeout"]) config.licenseUpdateTimeout = input[@"licenseUpdateTimeout"];
187
190
  if (input[@"delayedNNLoad"]) config.delayedNNLoadEnabled = [input[@"delayedNNLoad"] boolValue];
188
191
 
189
192
  return config;
@@ -2347,6 +2350,24 @@ static NSMutableArray* weakReferencesHolder;
2347
2350
  return result;
2348
2351
  }
2349
2352
 
2353
+ +(RGLFilterObject*)filterObjectFromJson:(NSDictionary*)input {
2354
+ RGLFilterObject* result = [RGLFilterObject new];
2355
+
2356
+ result.docIDsFilter = [self filterObjectTypeFromJSON: input[@"docIDsFilter"]];
2357
+ result.docFormatsFilter = [self filterObjectTypeFromJSON: input[@"docFormatsFilter"]];
2358
+ result.docCategoriesFilter = [self filterObjectTypeFromJSON: input[@"docCategoriesFilter"]];
2359
+ result.docCountriesFilter = [self filterObjectTypeFromJSON: input[@"docCountriesFilter"]];
2360
+
2361
+ return result;
2362
+ }
2363
+
2364
+ +(RGLFilterObjectType*)filterObjectTypeFromJSON:(NSDictionary*)input {
2365
+ NSArray* array = input[@"list"];
2366
+ if ([input[@"isInclude"] boolValue])
2367
+ return [RGLFilterObjectType createIncludeList:array];
2368
+ return [RGLFilterObjectType createExcludeList:array];
2369
+ }
2370
+
2350
2371
  +(NSDictionary*)generateDictionary:(NSDictionary<NSNumber*, NSNumber*>*)input {
2351
2372
  if(input == nil) return nil;
2352
2373
  NSMutableDictionary* result = [NSMutableDictionary new];
package/ios/RGLWMain.m CHANGED
@@ -83,6 +83,16 @@
83
83
  @"containers": ^{ [self containers :args[0] :args[1] :callback]; },
84
84
  @"encryptedContainers": ^{ [self encryptedContainers :args[0] :callback]; },
85
85
  @"getTranslation": ^{ [self getTranslation :args[0] :args[1] :callback]; },
86
+ // remove after finishing old dr support
87
+ @"processParamsSetCheckFilter": ^{ [self processParamsSetCheckFilter :args[0] :args[1]]; },
88
+ @"processParamsRemoveCheckFilter": ^{ [self processParamsRemoveCheckFilter :args[0]]; },
89
+ @"processParamsClearCheckFilter": ^{ [self processParamsClearCheckFilter]; },
90
+ @"authenticityParamsSetCheckFilter": ^{ [self authenticityParamsSetCheckFilter :args[0] :args[1]]; },
91
+ @"authenticityParamsRemoveCheckFilter": ^{ [self authenticityParamsRemoveCheckFilter :args[0]]; },
92
+ @"authenticityParamsClearCheckFilter": ^{ [self authenticityParamsClearCheckFilter]; },
93
+ @"livenessParamsSetCheckFilter": ^{ [self livenessParamsSetCheckFilter :args[0] :args[1]]; },
94
+ @"livenessParamsRemoveCheckFilter": ^{ [self livenessParamsRemoveCheckFilter :args[0]]; },
95
+ @"livenessParamsClearCheckFilter": ^{ [self livenessParamsClearCheckFilter]; },
86
96
  };
87
97
  ((void(^)(void))Switch[method])();
88
98
  }
@@ -520,6 +530,42 @@ RGLWCallback savedCallbackForBluetoothResult;
520
530
  callback([RGLDocumentReaderTextField lcidName:[value intValue]]);
521
531
  }
522
532
 
533
+ + (void)processParamsSetCheckFilter:(NSString*)checkType :(NSDictionary*)filter {
534
+ [RGLDocReader.shared.processParams addFilter:[RGLWJSONConstructor filterObjectFromJson:filter] forCheckType:checkType];
535
+ }
536
+
537
+ + (void)processParamsRemoveCheckFilter:(NSString*)checkType {
538
+ [RGLDocReader.shared.processParams removeFilterForCheckType:checkType];
539
+ }
540
+
541
+ + (void)processParamsClearCheckFilter {
542
+ [RGLDocReader.shared.processParams clearCheckFilter];
543
+ }
544
+
545
+ + (void)authenticityParamsSetCheckFilter:(NSString*)checkType :(NSDictionary*)filter {
546
+ [RGLDocReader.shared.processParams.authenticityParams addFilter:[RGLWJSONConstructor filterObjectFromJson:filter] forCheckType:checkType];
547
+ }
548
+
549
+ + (void)authenticityParamsRemoveCheckFilter:(NSString*)checkType {
550
+ [RGLDocReader.shared.processParams.authenticityParams removeFilterForCheckType:checkType];
551
+ }
552
+
553
+ + (void)authenticityParamsClearCheckFilter {
554
+ [RGLDocReader.shared.processParams.authenticityParams clearCheckFilter];
555
+ }
556
+
557
+ + (void)livenessParamsSetCheckFilter:(NSString*)checkType :(NSDictionary*)filter {
558
+ [RGLDocReader.shared.processParams.authenticityParams.livenessParams addFilter:[RGLWJSONConstructor filterObjectFromJson:filter] forCheckType:checkType];
559
+ }
560
+
561
+ + (void)livenessParamsRemoveCheckFilter:(NSString*)checkType {
562
+ [RGLDocReader.shared.processParams.authenticityParams.livenessParams removeFilterForCheckType:checkType];
563
+ }
564
+
565
+ + (void)livenessParamsClearCheckFilter {
566
+ [RGLDocReader.shared.processParams.authenticityParams.livenessParams clearCheckFilter];
567
+ }
568
+
523
569
  +(RGLDocumentReaderCompletion _Nonnull)completion {
524
570
  return ^(RGLDocReaderAction action, RGLDocumentReaderResults * _Nullable results, NSError * _Nullable error) {
525
571
  sendEvent(completionEvent, [RGLWJSONConstructor generateCompletion:[RGLWConfig generateDocReaderAction: action] :results :error]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@regulaforensics/document-reader",
3
- "version": "8.4.375-beta",
3
+ "version": "8.4.386-beta",
4
4
  "description": "This is an npm module for Regula Document Reader SDK. It allows you to read various kinds of identification documents using your phone's camera.",
5
5
  "main": "www/react-native/index.js",
6
6
  "module": "www/capacitor/index.js",
package/plugin.xml CHANGED
@@ -1,5 +1,5 @@
1
1
  <?xml version='1.0' encoding='utf-8'?>
2
- <plugin id="@regulaforensics/document-reader" version="8.4.375-beta" xmlns="http://apache.org/cordova/ns/plugins/1.0">
2
+ <plugin id="@regulaforensics/document-reader" version="8.4.386-beta" xmlns="http://apache.org/cordova/ns/plugins/1.0">
3
3
  <name>DocumentReader</name>
4
4
  <description>Cordova plugin for Regula Document Reader SDK</description>
5
5
  <license>commercial</license>
@@ -29,7 +29,7 @@
29
29
  <source url="https://github.com/CocoaPods/Specs.git" />
30
30
  </config>
31
31
  <pods>
32
- <pod name="DocumentReader" spec="8.3.5107" />
32
+ <pod name="DocumentReaderStage" spec="8.4.5290" />
33
33
  </pods>
34
34
  </podspec>
35
35
  </platform>
package/test/json.tsx CHANGED
@@ -17,6 +17,24 @@ export var faceApiParams = {
17
17
  "proxyType": 3,
18
18
  "searchParams": faceApiSearchParams,
19
19
  }
20
+ export var filterObject = {
21
+ "docIDsFilter": {
22
+ "list": [1, 2, 3],
23
+ "isInclude": true
24
+ },
25
+ "docFormatsFilter": {
26
+ "list": [4, 5, 6],
27
+ "isInclude": false
28
+ },
29
+ "docCategoriesFilter": {
30
+ "list": [7, 8, 9],
31
+ "isInclude": true
32
+ },
33
+ "docCountriesFilter": {
34
+ "list": ["test1", "test2", "test3"],
35
+ "isInclude": false
36
+ },
37
+ }
20
38
  export var livenessParams = {
21
39
  "checkOVI": true,
22
40
  "checkMLI": false,
@@ -25,6 +43,11 @@ export var livenessParams = {
25
43
  "checkBlackAndWhiteCopy": true,
26
44
  "checkDynaprint": false,
27
45
  "checkGeometry": true,
46
+ "checkFilters": {
47
+ "checkOVI": filterObject,
48
+ "checkMLI": filterObject,
49
+ "checkHolo": filterObject
50
+ },
28
51
  }
29
52
  export var authenticityParams = {
30
53
  "useLivenessCheck": true,
@@ -43,8 +66,13 @@ export var authenticityParams = {
43
66
  "checkLetterScreen": false,
44
67
  "checkSecurityText": true,
45
68
  "livenessParams": livenessParams,
69
+ "checkFilters": {
70
+ "checkImagePatterns": filterObject,
71
+ "checkFibers": filterObject,
72
+ "checkExtMRZ": filterObject
73
+ },
46
74
  }
47
- export var glaresCheckParams = {"imgMarginPart": 0.5, "maxGlaringPart": 1.5}
75
+ export var glaresCheckParams = { "imgMarginPart": 0.5, "maxGlaringPart": 1.5 }
48
76
  export var imageQA = {
49
77
  "dpiThreshold": 1,
50
78
  "angleThreshold": 2,
@@ -64,7 +92,7 @@ export var rfidParams = {
64
92
  export var backendProcessingConfig = {
65
93
  "url": "test",
66
94
  "rfidServerSideChipVerification": true,
67
- "httpHeaders": {"key1": "val1", "key2": "val2", "key3": "val3"},
95
+ "httpHeaders": { "key1": "val1", "key2": "val2", "key3": "val3" },
68
96
  "timeoutConnection": 0.5,
69
97
  }
70
98
  export var processParams = {
@@ -143,10 +171,11 @@ export var processParams = {
143
171
  "faceApiParams": faceApiParams,
144
172
  "backendProcessingConfig": backendProcessingConfig,
145
173
  "authenticityParams": authenticityParams,
146
- "customParams": {"test1": true, "test2": 1, "test3": "test"},
174
+ "customParams": { "test1": true, "test2": 1, "test3": "test" },
175
+ "checkFilters": { "checkAuth": filterObject },
147
176
  }
148
- export var font1 = {"name": "AppleSDGothicNeo-Thin", "size": 10, "style": 2}
149
- export var font2 = {"name": "Copperplate-Light", "size": 20, "style": 1}
177
+ export var font1 = { "name": "AppleSDGothicNeo-Thin", "size": 10, "style": 2 }
178
+ export var font2 = { "name": "Copperplate-Light", "size": 20, "style": 1 }
150
179
  export var customizationColors = {
151
180
  "rfidProcessingScreenBackground": 0xff000000,
152
181
  "rfidProcessingScreenHintLabelText": 0xff000001,
@@ -156,13 +185,23 @@ export var customizationColors = {
156
185
  "rfidProcessingScreenProgressBarBackground": 0xff000005,
157
186
  "rfidProcessingScreenResultLabelText": 0xff000006,
158
187
  "rfidProcessingScreenLoadingBar": 0xff000007,
188
+ "rfidEnableNfcTitleText": 0xff000008,
189
+ "rfidEnableNfcDescriptionText": 0xff000009,
190
+ "rfidEnableNfcButtonText": 0xff000010,
191
+ "rfidEnableNfcButtonBackground": 0xff000011,
159
192
  }
160
193
  export var customizationFonts = {
161
194
  "rfidProcessingScreenHintLabel": font1,
162
195
  "rfidProcessingScreenProgressLabel": font2,
163
196
  "rfidProcessingScreenResultLabel": font1,
197
+ "rfidEnableNfcTitleText": font2,
198
+ "rfidEnableNfcDescriptionText": font1,
199
+ "rfidEnableNfcButtonText": font2,
200
+ }
201
+ export var customizationImages = {
202
+ "rfidProcessingScreenFailureImage": img1,
203
+ "rfidEnableNfcImage": img2,
164
204
  }
165
- export var customizationImages = {"rfidProcessingScreenFailureImage": img1}
166
205
  export var customization = {
167
206
  "showStatusMessages": true,
168
207
  "showResultStatusMessages": false,
@@ -218,7 +257,7 @@ export var customization = {
218
257
  "multipageButtonImage": img1,
219
258
  "customLabelStatus": "test3",
220
259
  "cameraFrameLineCap": 2,
221
- "uiCustomizationLayer": {"test": "test"},
260
+ "uiCustomizationLayer": { "test": "test" },
222
261
  "statusTextFont": font1,
223
262
  "resultStatusTextFont": font2,
224
263
  "multipageButtonTextFont": font1,
@@ -256,7 +295,7 @@ export var customization = {
256
295
  "fonts": customizationFonts,
257
296
  "images": customizationImages,
258
297
  }
259
- export var cameraSize = {"width": 0, "height": 1}
298
+ export var cameraSize = { "width": 0, "height": 1 }
260
299
  export var functionality = {
261
300
  "pictureOnBoundsReady": true,
262
301
  "showTorchButton": false,
@@ -275,6 +314,7 @@ export var functionality = {
275
314
  "manualMultipageMode": true,
276
315
  "singleResult": false,
277
316
  "torchTurnedOn": false,
317
+ "preventScreenRecording": true,
278
318
  "showCaptureButtonDelayFromDetect": 0,
279
319
  "showCaptureButtonDelayFromStart": 1,
280
320
  "rfidTimeout": 2,
@@ -424,8 +464,9 @@ export var rfidScenario = {
424
464
  export var initConfig = {
425
465
  "delayedNNLoad": false,
426
466
  "licenseUpdate": true,
467
+ "licenseUpdateTimeout": 1.5,
427
468
  "customDb": img1,
428
- "blackList": {"key1": "val1", "key2": "val2", "key3": "val3"},
469
+ "blackList": { "key1": "val1", "key2": "val2", "key3": "val3" },
429
470
  "databasePath": "test",
430
471
  "license": img2,
431
472
  "useBleDevice": true,
@@ -436,9 +477,9 @@ export var onlineProcessingConfig = {
436
477
  "imageFormat": 1,
437
478
  "imageCompressionQuality": 1.5,
438
479
  "processParams": processParams,
439
- "requestHeaders": {"key1": "val1", "key2": "val2", "key3": "val3"},
480
+ "requestHeaders": { "key1": "val1", "key2": "val2", "key3": "val3" },
440
481
  }
441
- export var imageInputData = {"image": img1, "light": 128, "pageIndex": 2}
482
+ export var imageInputData = { "image": img1, "light": 128, "pageIndex": 2 }
442
483
  export var recognizeConfig = {
443
484
  "scenario": "Mrz",
444
485
  "livePortrait": img1,
@@ -503,9 +544,9 @@ export var license = {
503
544
  "countryFilter": ["test2", "test3", "test4"],
504
545
  "isRfidAvailable": true,
505
546
  }
506
- export var docReaderException = {"code": 1, "message": "test1"}
507
- export var rfidException = {"code": 2, "message": "test2"}
508
- export var prepareProgress = {"downloadedBytes": 1, "totalBytes": 2, "progress": 50}
547
+ export var docReaderException = { "code": 1, "message": "test1" }
548
+ export var rfidException = { "code": 2, "message": "test2" }
549
+ export var prepareProgress = { "downloadedBytes": 1, "totalBytes": 2, "progress": 50 }
509
550
 
510
551
  export var authenticityElement = {
511
552
  "status": 1,
@@ -525,7 +566,7 @@ export var authenticityResult = {
525
566
  "status": 2,
526
567
  "checks": [authenticityCheck, authenticityCheck, authenticityCheck],
527
568
  }
528
- export var pdf417Info = {"errorLevel": 2, "columns": 3, "rows": 4}
569
+ export var pdf417Info = { "errorLevel": 2, "columns": 3, "rows": 4 }
529
570
  export var barcodeField = {
530
571
  "barcodeType": 5,
531
572
  "status": -6001,
@@ -536,7 +577,7 @@ export var barcodeField = {
536
577
  export var barcodeResult = {
537
578
  "fields": [barcodeField, barcodeField, barcodeField],
538
579
  }
539
- export var rect = {"bottom": 0, "top": 1, "left": 2, "right": 3}
580
+ export var rect = { "bottom": 0, "top": 1, "left": 2, "right": 3 }
540
581
  export var imageQuality = {
541
582
  "featureType": 1,
542
583
  "result": 2,
@@ -555,9 +596,9 @@ export var accessControlProcedureType = {
555
596
  "status": 1,
556
597
  "notifications": [1, 2, 3],
557
598
  }
558
- export var fileData = {"data": "test", "length": 2, "type": 3, "status": 4}
559
- export var certificateData = {"data": "test", "length": 1}
560
- export var securityObjectCertificates = {"securityObject": certificateData}
599
+ export var fileData = { "data": "test", "length": 2, "type": 3, "status": 4 }
600
+ export var certificateData = { "data": "test", "length": 1 }
601
+ export var securityObjectCertificates = { "securityObject": certificateData }
561
602
  export var file = {
562
603
  "fileData": fileData,
563
604
  "fileID": "test1",
@@ -588,7 +629,7 @@ export var rfidValue = {
588
629
  "type": 3,
589
630
  "format": "test2",
590
631
  }
591
- export var attribute = {"type": "test", "value": rfidValue}
632
+ export var attribute = { "type": "test", "value": rfidValue }
592
633
  export var authority = {
593
634
  "attributes": [attribute, attribute, attribute],
594
635
  "data": "test",
@@ -610,8 +651,8 @@ export var cardProperties = {
610
651
  "baudrate2": "test4",
611
652
  "uID": "test5",
612
653
  }
613
- export var extension = {"data": "test1", "type": "test2"}
614
- export var rfidValidity = {"notAfter": rfidValue, "notBefore": rfidValue}
654
+ export var extension = { "data": "test1", "type": "test2" }
655
+ export var rfidValidity = { "notAfter": rfidValue, "notBefore": rfidValue }
615
656
  export var certificateChain = {
616
657
  "type": 1,
617
658
  "extensions": [extension, extension, extension],
@@ -627,7 +668,7 @@ export var certificateChain = {
627
668
  "validity": rfidValidity,
628
669
  "version": 4,
629
670
  }
630
- export var dataField = {"data": "test", "fieldType": 1}
671
+ export var dataField = { "data": "test", "fieldType": 1 }
631
672
  export var signerInfo = {
632
673
  "dataToHash": "test1",
633
674
  "digestAlgorithm": "test2",
@@ -666,12 +707,12 @@ export var rfidSessionData = {
666
707
  "extLeSupport": 1,
667
708
  "processTime": 4,
668
709
  }
669
- export var bytesData = {"data": "test", "length": 1, "status": 2, "type": 3}
710
+ export var bytesData = { "data": "test", "length": 1, "status": 2, "type": 3 }
670
711
  export var vdsncData = {
671
712
  "type": "test1",
672
713
  "version": 1,
673
714
  "issuingCountry": "test2",
674
- "message": {"key1": "val1", "key2": "val2", "key3": "val3"},
715
+ "message": { "key1": "val1", "key2": "val2", "key3": "val3" },
675
716
  "signatureAlgorithm": "test3",
676
717
  "signature": bytesData,
677
718
  "certificate": bytesData,
@@ -707,7 +748,7 @@ export var resultsStatus = {
707
748
  "detailsOptical": opticalStatus,
708
749
  "detailsRFID": rfidStatus,
709
750
  }
710
- export var comparison = {"sourceTypeLeft": 0, "sourceTypeRight": 1, "status": 2}
751
+ export var comparison = { "sourceTypeLeft": 0, "sourceTypeRight": 1, "status": 2 }
711
752
  export var graphicField = {
712
753
  "sourceType": 0,
713
754
  "fieldType": 201,
@@ -722,9 +763,9 @@ export var graphicField = {
722
763
  export var graphicResult = {
723
764
  "fields": [graphicField, graphicField, graphicField],
724
765
  }
725
- export var rfidOrigin = {"dg": 1, "dgTag": 2, "entryView": 3, "tagEntry": 4}
726
- export var symbol = {"rect": rect, "code": 1, "probability": 2}
727
- export var validity = {"sourceType": 1, "status": 2}
766
+ export var rfidOrigin = { "dg": 1, "dgTag": 2, "entryView": 3, "tagEntry": 4 }
767
+ export var symbol = { "rect": rect, "code": 1, "probability": 2 }
768
+ export var validity = { "sourceType": 1, "status": 2 }
728
769
  export var value = {
729
770
  "sourceType": 3,
730
771
  "value": "test1",
@@ -789,7 +830,7 @@ export var documentType = {
789
830
  "dCountryName": "test5",
790
831
  "pageIndex": 3,
791
832
  }
792
- export var coordinate = {"x": 1, "y": 2}
833
+ export var coordinate = { "x": 1, "y": 2 }
793
834
  export var position = {
794
835
  "docFormat": 0,
795
836
  "resultStatus": 1,
@@ -841,7 +882,7 @@ export var rfidNotification = {
841
882
  "dataFileType": 1,
842
883
  "progress": 2,
843
884
  }
844
- export var paAttribute = {"type": "test1", "value": "test2"}
885
+ export var paAttribute = { "type": "test1", "value": "test2" }
845
886
  export var paResourcesIssuer = {
846
887
  "data": img1,
847
888
  "friendlyName": "test",
@@ -13,7 +13,7 @@
13
13
  },
14
14
  "..": {
15
15
  "name": "@regulaforensics/document-reader",
16
- "version": "8.4.375-beta",
16
+ "version": "8.4.386-beta",
17
17
  "dev": true,
18
18
  "license": "commercial"
19
19
  },
package/test/test.tsx CHANGED
@@ -1,6 +1,6 @@
1
1
  import { compare } from './utils'
2
- import { AccessControlProcedureType, Application, Attribute, AuthenticityCheck, AuthenticityElement, AuthenticityParams, AuthenticityResult, Authority, BackendProcessingConfig, BarcodeField, BarcodeResult, BytesData, CardProperties, CertificateChain, CertificateData, Comparison, Coordinate, Customization, CustomizationColors, CustomizationFonts, CustomizationImages, DataField, DocReaderException, DocReaderScenario, DocReaderVersion, DocumentsDatabase, DocumentType, EDLDataGroups, EIDDataGroups, DTCDataGroup, EPassportDataGroups, Extension, FaceApiParams, FaceApiSearchParams, File, FileData, Functionality, GlaresCheckParams, RFIDParams, GraphicField, GraphicResult, ImageInputData, ImageQA, ImageQuality, ImageQualityGroup, InitConfig, License, LivenessParams, OnlineProcessingConfig, OpticalStatus, PAAttribute, PAResourcesIssuer, PDF417Info, PKDCertificate, Position, PrepareProgress, ProcessParams, RecognizeConfig, Rect, Results, ResultsStatus, RFIDException, RFIDNotification, RFIDOrigin, RFIDScenario, RFIDSessionData, RFIDStatus, RFIDValidity, RFIDValue, ScannerConfig, SecurityObject, SecurityObjectCertificates, SignerInfo, Symbol, TAChallenge, TccParams, TextField, TextResult, TextSource, TransactionInfo, Validity, Value, VDSNCData } from '@regulaforensics/document-reader/www/capacitor'
3
- import { accessControlProcedureType, application, attribute, authenticityCheck, authenticityElement, authenticityParams, authenticityResult, authority, backendProcessingConfig, barcodeField, barcodeResult, bytesData, cardProperties, certificateChain, certificateData, comparison, coordinate, customization, customizationColors, customizationFonts, customizationImages, dataField, docReaderException, docReaderScenario, docReaderVersion, documentsDatabase, documentType, eDLDataGroups, eIDDataGroups, dtcDataGroup, ePassportDataGroups, extension, faceApiParams, faceApiSearchParams, file, fileData, functionality, glaresCheckParams, rfidParams, graphicField, graphicResult, imageInputData, imageQA, imageQuality, imageQualityGroup, initConfig, license, livenessParams, onlineProcessingConfig, opticalStatus, paAttribute, paResourcesIssuer, pdf417Info, pkdCertificate, position, prepareProgress, processParams, recognizeConfig, recognizeConfig2, rect, results, resultsStatus, rfidException, rfidNotification, rfidOrigin, rfidScenario, rfidSessionData, rfidStatus, rfidValidity, rfidValue, scannerConfig, securityObject, securityObjectCertificates, signerInfo, symbol, taChallenge, tccParams, textField, textResult, textSource, transactionInfo, validity, value, vdsncData } from './json'
2
+ import { AccessControlProcedureType, Application, Attribute, AuthenticityCheck, AuthenticityElement, AuthenticityParams, AuthenticityResult, Authority, BackendProcessingConfig, BarcodeField, BarcodeResult, BytesData, CardProperties, CertificateChain, CertificateData, Comparison, Coordinate, Customization, CustomizationColors, CustomizationFonts, CustomizationImages, DataField, DocReaderException, DocReaderScenario, DocReaderVersion, DocumentsDatabase, DocumentType, EDLDataGroups, EIDDataGroups, DTCDataGroup, EPassportDataGroups, Extension, FaceApiParams, FaceApiSearchParams, File, FileData, Functionality, GlaresCheckParams, RFIDParams, GraphicField, GraphicResult, ImageInputData, ImageQA, ImageQuality, ImageQualityGroup, InitConfig, License, LivenessParams, OnlineProcessingConfig, OpticalStatus, PAAttribute, PAResourcesIssuer, PDF417Info, PKDCertificate, Position, PrepareProgress, FilterObject, ProcessParams, RecognizeConfig, Rect, Results, ResultsStatus, RFIDException, RFIDNotification, RFIDOrigin, RFIDScenario, RFIDSessionData, RFIDStatus, RFIDValidity, RFIDValue, ScannerConfig, SecurityObject, SecurityObjectCertificates, SignerInfo, Symbol, TAChallenge, TccParams, TextField, TextResult, TextSource, TransactionInfo, Validity, Value, VDSNCData } from '@regulaforensics/document-reader/www/capacitor'
3
+ import { accessControlProcedureType, application, attribute, authenticityCheck, authenticityElement, authenticityParams, authenticityResult, authority, backendProcessingConfig, barcodeField, barcodeResult, bytesData, cardProperties, certificateChain, certificateData, comparison, coordinate, customization, customizationColors, customizationFonts, customizationImages, dataField, docReaderException, docReaderScenario, docReaderVersion, documentsDatabase, documentType, eDLDataGroups, eIDDataGroups, dtcDataGroup, ePassportDataGroups, extension, faceApiParams, faceApiSearchParams, file, fileData, functionality, glaresCheckParams, rfidParams, graphicField, graphicResult, imageInputData, imageQA, imageQuality, imageQualityGroup, initConfig, license, livenessParams, onlineProcessingConfig, opticalStatus, paAttribute, paResourcesIssuer, pdf417Info, pkdCertificate, position, prepareProgress, filterObject, processParams, recognizeConfig, recognizeConfig2, rect, results, resultsStatus, rfidException, rfidNotification, rfidOrigin, rfidScenario, rfidSessionData, rfidStatus, rfidValidity, rfidValue, scannerConfig, securityObject, securityObjectCertificates, signerInfo, symbol, taChallenge, tccParams, textField, textResult, textSource, transactionInfo, validity, value, vdsncData } from './json'
4
4
 
5
5
  compare('initConfig', initConfig, InitConfig.fromJson)
6
6
  compare('onlineProcessingConfig', onlineProcessingConfig, OnlineProcessingConfig.fromJson)
@@ -18,6 +18,7 @@ compare('glaresCheckParams', glaresCheckParams, GlaresCheckParams.fromJson)
18
18
  compare('rfidParams', rfidParams, RFIDParams.fromJson)
19
19
  compare('imageQA', imageQA, ImageQA.fromJson)
20
20
  compare('backendProcessingConfig', backendProcessingConfig, BackendProcessingConfig.fromJson)
21
+ compare('filterObject', filterObject, FilterObject.fromJson)
21
22
  compare('processParams', processParams, ProcessParams.fromJson, ['logs'])
22
23
  compare('eDLDataGroups', eDLDataGroups, EDLDataGroups.fromJson)
23
24
  compare('ePassportDataGroups', ePassportDataGroups, EPassportDataGroups.fromJson)
@@ -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,