@regulaforensics/document-reader 9.1.485-nightly → 9.1.493-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.
- package/RNDocumentReader.podspec +2 -2
- package/android/build.gradle +2 -2
- package/android/cordova.gradle +2 -2
- package/android/src/main/java/com/regula/plugin/documentreader/Config.kt +8 -0
- package/android/src/main/java/com/regula/plugin/documentreader/JSONConstructor.kt +346 -40
- package/android/src/main/java/com/regula/plugin/documentreader/Main.kt +62 -8
- package/android/src/main/java/com/regula/plugin/documentreader/Utils.kt +62 -0
- package/examples/capacitor/ios/App/App/Info.plist +2 -0
- package/examples/capacitor/package.json +1 -1
- package/examples/ionic/config.xml +2 -0
- package/examples/ionic/package-lock.json +5257 -2650
- package/examples/ionic/package.json +10 -10
- package/examples/react_native/app.config.ts +3 -1
- package/examples/react_native/package-lock.json +3 -3
- package/examples/react_native/package.json +1 -1
- package/ios/RGLWConfig.m +9 -2
- package/ios/RGLWJSONConstructor.h +19 -0
- package/ios/RGLWJSONConstructor.m +349 -0
- package/ios/RGLWMain.m +49 -0
- package/package.json +1 -1
- package/plugin.xml +2 -2
- package/test/json.tsx +200 -95
- package/test/package-lock.json +1 -1
- package/test/test.tsx +12 -2
- package/www/capacitor/engagement/DataRetrieval.js +55 -0
- package/www/capacitor/engagement/DeviceEngagement.js +30 -0
- package/www/capacitor/engagement/DeviceRetrievalMethod.js +41 -0
- package/www/capacitor/engagement/DocumentRequestMDL.js +212 -0
- package/www/capacitor/engagement/NameSpaceMDL.js +33 -0
- package/www/capacitor/index.js +54 -2
- package/www/capacitor/info/DocReaderException.js +2 -0
- package/www/capacitor/params/Functionality.js +16 -0
- package/www/capacitor/params/customization/Customization.js +8 -0
- package/www/capacitor/params/process_params/ProcessParams.js +16 -0
- package/www/capacitor/results/Results.js +8 -1
- package/www/capacitor/results/status/AgeStatus.js +35 -0
- package/www/capacitor/results/status/ResultsStatus.js +13 -0
- package/www/capacitor/results/visible_digital_seals/DocFeature.js +23 -0
- package/www/capacitor/results/visible_digital_seals/VDSData.js +75 -0
- package/www/capacitor/results/visual_results/FieldType.js +3 -0
- package/www/capacitor/rfid/PKDCertificate.js +3 -0
- package/www/cordova.js +951 -177
- package/www/react-native/engagement/DataRetrieval.js +55 -0
- package/www/react-native/engagement/DeviceEngagement.js +30 -0
- package/www/react-native/engagement/DeviceRetrievalMethod.js +41 -0
- package/www/react-native/engagement/DocumentRequestMDL.js +212 -0
- package/www/react-native/engagement/NameSpaceMDL.js +33 -0
- package/www/react-native/index.js +54 -2
- package/www/react-native/info/DocReaderException.js +2 -0
- package/www/react-native/params/Functionality.js +16 -0
- package/www/react-native/params/customization/Customization.js +8 -0
- package/www/react-native/params/process_params/ProcessParams.js +16 -0
- package/www/react-native/results/Results.js +8 -1
- package/www/react-native/results/status/AgeStatus.js +35 -0
- package/www/react-native/results/status/ResultsStatus.js +13 -0
- package/www/react-native/results/visible_digital_seals/DocFeature.js +23 -0
- package/www/react-native/results/visible_digital_seals/VDSData.js +75 -0
- package/www/react-native/results/visual_results/FieldType.js +3 -0
- package/www/react-native/rfid/PKDCertificate.js +3 -0
- package/www/types/engagement/DataRetrieval.d.ts +28 -0
- package/www/types/engagement/DeviceEngagement.d.ts +16 -0
- package/www/types/engagement/DeviceRetrievalMethod.d.ts +18 -0
- package/www/types/engagement/DocumentRequestMDL.d.ts +61 -0
- package/www/types/engagement/NameSpaceMDL.d.ts +16 -0
- package/www/types/index.d.ts +35 -2
- package/www/types/info/DocReaderException.d.ts +2 -0
- package/www/types/params/Functionality.d.ts +7 -0
- package/www/types/params/customization/Customization.d.ts +5 -0
- package/www/types/params/process_params/ProcessParams.d.ts +13 -0
- package/www/types/results/Results.d.ts +9 -1
- package/www/types/results/status/AgeStatus.d.ts +14 -0
- package/www/types/results/status/ResultsStatus.d.ts +9 -0
- package/www/types/results/visible_digital_seals/DocFeature.d.ts +9 -0
- package/www/types/results/visible_digital_seals/VDSData.d.ts +32 -0
- package/www/types/results/visible_digital_seals/VDSNCData.d.ts +1 -1
- package/www/types/results/visual_results/FieldType.d.ts +6 -0
- package/www/types/rfid/PKDCertificate.d.ts +7 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { CheckResult } from './CheckResult';
|
|
2
|
+
|
|
3
|
+
export class AgeStatus {
|
|
4
|
+
threshold
|
|
5
|
+
overThreshold
|
|
6
|
+
over18
|
|
7
|
+
over21
|
|
8
|
+
over25
|
|
9
|
+
over65
|
|
10
|
+
|
|
11
|
+
static fromJson(jsonObject) {
|
|
12
|
+
if (jsonObject == null) return null;
|
|
13
|
+
const result = new AgeStatus();
|
|
14
|
+
|
|
15
|
+
result.threshold = jsonObject["threshold"];
|
|
16
|
+
result.overThreshold = jsonObject["overThreshold"];
|
|
17
|
+
result.over18 = jsonObject["over18"];
|
|
18
|
+
result.over21 = jsonObject["over21"];
|
|
19
|
+
result.over25 = jsonObject["over25"];
|
|
20
|
+
result.over65 = jsonObject["over65"];
|
|
21
|
+
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
toJson() {
|
|
26
|
+
return {
|
|
27
|
+
"threshold": this.threshold,
|
|
28
|
+
"overThreshold": this.overThreshold,
|
|
29
|
+
"over18": this.over18,
|
|
30
|
+
"over21": this.over21,
|
|
31
|
+
"over25": this.over25,
|
|
32
|
+
"over65": this.over65,
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CheckResult } from './CheckResult';
|
|
2
2
|
import { OpticalStatus } from './OpticalStatus';
|
|
3
|
+
import { AgeStatus } from './AgeStatus';
|
|
3
4
|
import { RFIDStatus } from './RFIDStatus';
|
|
4
5
|
|
|
5
6
|
export class ResultsStatus {
|
|
@@ -10,6 +11,10 @@ export class ResultsStatus {
|
|
|
10
11
|
detailsRFID
|
|
11
12
|
portrait
|
|
12
13
|
stopList
|
|
14
|
+
mDL
|
|
15
|
+
age
|
|
16
|
+
captureProcessIntegrity
|
|
17
|
+
ageStatus
|
|
13
18
|
|
|
14
19
|
static fromJson(jsonObject) {
|
|
15
20
|
if (jsonObject == null) return null;
|
|
@@ -22,6 +27,10 @@ export class ResultsStatus {
|
|
|
22
27
|
result.detailsRFID = RFIDStatus.fromJson(jsonObject["detailsRFID"]);
|
|
23
28
|
result.portrait = jsonObject["portrait"];
|
|
24
29
|
result.stopList = jsonObject["stopList"];
|
|
30
|
+
result.mDL = jsonObject["mDL"];
|
|
31
|
+
result.age = jsonObject["age"];
|
|
32
|
+
result.captureProcessIntegrity = jsonObject["captureProcessIntegrity"];
|
|
33
|
+
result.ageStatus = AgeStatus.fromJson(jsonObject["detailsAge"]);
|
|
25
34
|
|
|
26
35
|
return result;
|
|
27
36
|
}
|
|
@@ -33,8 +42,12 @@ export class ResultsStatus {
|
|
|
33
42
|
"rfid": this.rfid,
|
|
34
43
|
"portrait": this.portrait,
|
|
35
44
|
"stopList": this.stopList,
|
|
45
|
+
"mDL": this.mDL,
|
|
46
|
+
"age": this.age,
|
|
47
|
+
"captureProcessIntegrity": this.captureProcessIntegrity,
|
|
36
48
|
"detailsOptical": this.detailsOptical?.toJson(),
|
|
37
49
|
"detailsRFID": this.detailsRFID?.toJson(),
|
|
50
|
+
"detailsAge": this.ageStatus?.toJson(),
|
|
38
51
|
}
|
|
39
52
|
}
|
|
40
53
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BytesData } from './BytesData';
|
|
2
|
+
|
|
3
|
+
export class DocFeature {
|
|
4
|
+
type
|
|
5
|
+
data
|
|
6
|
+
|
|
7
|
+
static fromJson(jsonObject) {
|
|
8
|
+
if (jsonObject == null) return null;
|
|
9
|
+
|
|
10
|
+
const result = new DocFeature();
|
|
11
|
+
result.type = jsonObject["type"];
|
|
12
|
+
result.data = BytesData.fromJson(jsonObject["data"]);
|
|
13
|
+
|
|
14
|
+
return result;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
toJson() {
|
|
18
|
+
return {
|
|
19
|
+
"type": this.type,
|
|
20
|
+
"data": this.data?.toJson(),
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { CertificateChain } from '../rfid/CertificateChain';
|
|
2
|
+
import { BytesData } from './BytesData';
|
|
3
|
+
import { DocFeature } from './DocFeature';
|
|
4
|
+
|
|
5
|
+
export class VDSData {
|
|
6
|
+
type
|
|
7
|
+
docType
|
|
8
|
+
featureRef
|
|
9
|
+
version
|
|
10
|
+
issuingCountry
|
|
11
|
+
docIssueDate
|
|
12
|
+
signature
|
|
13
|
+
signatureDate
|
|
14
|
+
signer
|
|
15
|
+
certificate
|
|
16
|
+
certificateChain
|
|
17
|
+
docFeatures
|
|
18
|
+
notifications
|
|
19
|
+
|
|
20
|
+
static fromJson(jsonObject) {
|
|
21
|
+
if (jsonObject == null) return null;
|
|
22
|
+
const result = new VDSData();
|
|
23
|
+
|
|
24
|
+
result.type = jsonObject["type"];
|
|
25
|
+
result.docType = jsonObject["docType"];
|
|
26
|
+
result.featureRef = jsonObject["featureRef"];
|
|
27
|
+
result.version = jsonObject["version"];
|
|
28
|
+
result.issuingCountry = jsonObject["issuingCountry"];
|
|
29
|
+
result.docIssueDate = jsonObject["docIssueDate"];
|
|
30
|
+
result.signature = BytesData.fromJson(jsonObject["signature"]);
|
|
31
|
+
result.signatureDate = jsonObject["signatureDate"];
|
|
32
|
+
result.signer = jsonObject["signer"];
|
|
33
|
+
result.certificate = jsonObject["certificate"];
|
|
34
|
+
result.notifications = jsonObject["notifications"];
|
|
35
|
+
|
|
36
|
+
if (jsonObject["certificateChain"] != null) {
|
|
37
|
+
result.certificateChain = [];
|
|
38
|
+
for (const item of jsonObject["certificateChain"]) {
|
|
39
|
+
const certificateChain = CertificateChain.fromJson(item);
|
|
40
|
+
if (certificateChain != null) {
|
|
41
|
+
result.certificateChain.push(certificateChain);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (jsonObject["docFeatures"] != null) {
|
|
46
|
+
result.docFeatures = [];
|
|
47
|
+
for (const item of jsonObject["docFeatures"]) {
|
|
48
|
+
const docFeature = DocFeature.fromJson(item);
|
|
49
|
+
if (docFeature != null) {
|
|
50
|
+
result.docFeatures.push(docFeature);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
toJson() {
|
|
59
|
+
return {
|
|
60
|
+
"type": this.type,
|
|
61
|
+
"docType": this.docType,
|
|
62
|
+
"featureRef": this.featureRef,
|
|
63
|
+
"version": this.version,
|
|
64
|
+
"issuingCountry": this.issuingCountry,
|
|
65
|
+
"docIssueDate": this.docIssueDate,
|
|
66
|
+
"signature": this.signature?.toJson(),
|
|
67
|
+
"signatureDate": this.signatureDate,
|
|
68
|
+
"signer": this.signer,
|
|
69
|
+
"certificate": this.certificate,
|
|
70
|
+
"certificateChain": this.certificateChain?.map(e => e.toJson()),
|
|
71
|
+
"docFeatures": this.docFeatures?.map(e => e.toJson()),
|
|
72
|
+
"notifications": this.notifications,
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -653,6 +653,9 @@ export const FieldType = {
|
|
|
653
653
|
NATIONALITY_CODE_ALPHA_2: 697,
|
|
654
654
|
FIRST_ISSUE_DATE_CHECKDIGIT: 698,
|
|
655
655
|
FIRST_ISSUE_DATE_CHECKSUM: 699,
|
|
656
|
+
COMMERCIAL_INDICATOR: 701,
|
|
657
|
+
NON_DOMICILED_INDICATOR: 702,
|
|
658
|
+
JURISDICTION_SPECIFIC_DATA: 703,
|
|
656
659
|
}
|
|
657
660
|
|
|
658
661
|
FieldType.getTranslation = async function (value) {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { DocumentRequestMDL } from "./DocumentRequestMDL";
|
|
2
|
+
import { MDLIntentToRetain } from "./NameSpaceMDL";
|
|
3
|
+
|
|
4
|
+
export declare class DataRetrieval {
|
|
5
|
+
constructor(deviceRetrieval: MDLDocRequestPreset);
|
|
6
|
+
|
|
7
|
+
setDocRequestPreset(docRequestPreset: MDLDocRequestPreset, intentToRetain: MDLIntentToRetain): void
|
|
8
|
+
addDocRequest(request: DocumentRequestMDL): void;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Allows you to deserialize object.
|
|
12
|
+
* @param jsonObject
|
|
13
|
+
*/
|
|
14
|
+
static fromJson(jsonObject: any): DataRetrieval | null;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export declare enum MDLDocRequestPreset {
|
|
18
|
+
ALL = 0,
|
|
19
|
+
AGE = 1,
|
|
20
|
+
STANDARD_ID = 2,
|
|
21
|
+
TRAVEL = 3,
|
|
22
|
+
DRIVERS_LICENSE = 4,
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export declare enum MDLDeviceRetrieval {
|
|
26
|
+
NFC = 1,
|
|
27
|
+
BLE = 2,
|
|
28
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DeviceRetrievalMethod } from "./DeviceRetrievalMethod";
|
|
2
|
+
|
|
3
|
+
export declare class DeviceEngagement {
|
|
4
|
+
deviceRetrievalMethods: DeviceRetrievalMethod[];
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Allows you to deserialize object.
|
|
8
|
+
* @param jsonObject
|
|
9
|
+
*/
|
|
10
|
+
static fromJson(jsonObject: any): DeviceEngagement | null;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export declare enum MDLDeviceEngagement {
|
|
14
|
+
QR = 0,
|
|
15
|
+
NFC = 1,
|
|
16
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { MDLDeviceRetrieval } from "./DataRetrieval";
|
|
2
|
+
|
|
3
|
+
export declare class DeviceRetrievalMethod {
|
|
4
|
+
readonly type: MDLDeviceRetrieval;
|
|
5
|
+
readonly version?: number;
|
|
6
|
+
readonly cmdMaxLength?: number;
|
|
7
|
+
readonly respMaxLength?: number;
|
|
8
|
+
readonly clientModeSupport?: boolean;
|
|
9
|
+
readonly clientModeUUID?: string;
|
|
10
|
+
readonly serverModeSupport?: boolean;
|
|
11
|
+
readonly serverModeUUID?: string;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Allows you to deserialize object.
|
|
15
|
+
* @param jsonObject
|
|
16
|
+
*/
|
|
17
|
+
static fromJson(jsonObject: any): DeviceRetrievalMethod | null;
|
|
18
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { NameSpaceMDL, MDLIntentToRetain } from "./NameSpaceMDL";
|
|
2
|
+
|
|
3
|
+
export declare class DocumentRequestMDL {
|
|
4
|
+
constructor(docType: string);
|
|
5
|
+
|
|
6
|
+
addNameSpace(namespace: NameSpaceMDL): void;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Allows you to deserialize object.
|
|
10
|
+
* @param jsonObject
|
|
11
|
+
*/
|
|
12
|
+
static fromJson(jsonObject: any): DocumentRequestMDL | null;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export declare class DocumentRequest18013MDL extends DocumentRequestMDL {
|
|
16
|
+
familyName? : MDLIntentToRetain;
|
|
17
|
+
givenName? : MDLIntentToRetain;
|
|
18
|
+
birthDate? : MDLIntentToRetain;
|
|
19
|
+
issueDate? : MDLIntentToRetain;
|
|
20
|
+
expiryDate? : MDLIntentToRetain;
|
|
21
|
+
issuingCountry? : MDLIntentToRetain;
|
|
22
|
+
issuingAuthority? : MDLIntentToRetain;
|
|
23
|
+
documentNumber? : MDLIntentToRetain;
|
|
24
|
+
portrait? : MDLIntentToRetain;
|
|
25
|
+
drivingPrivileges? : MDLIntentToRetain;
|
|
26
|
+
unDistinguishingSign? : MDLIntentToRetain;
|
|
27
|
+
administrativeNumber? : MDLIntentToRetain;
|
|
28
|
+
sex? : MDLIntentToRetain;
|
|
29
|
+
height? : MDLIntentToRetain;
|
|
30
|
+
weight? : MDLIntentToRetain;
|
|
31
|
+
eyeColour? : MDLIntentToRetain;
|
|
32
|
+
hairColour? : MDLIntentToRetain;
|
|
33
|
+
birthPlace? : MDLIntentToRetain;
|
|
34
|
+
residentAddress? : MDLIntentToRetain;
|
|
35
|
+
portraitCaptureDate? : MDLIntentToRetain;
|
|
36
|
+
ageInYears? : MDLIntentToRetain;
|
|
37
|
+
ageBirthYear? : MDLIntentToRetain;
|
|
38
|
+
ageOver18? : MDLIntentToRetain;
|
|
39
|
+
issuingJurisdiction? : MDLIntentToRetain;
|
|
40
|
+
nationality? : MDLIntentToRetain;
|
|
41
|
+
residentCity? : MDLIntentToRetain;
|
|
42
|
+
residentState? : MDLIntentToRetain;
|
|
43
|
+
residentPostalCode? : MDLIntentToRetain;
|
|
44
|
+
residentCountry? : MDLIntentToRetain;
|
|
45
|
+
biometricTemplateFace? : MDLIntentToRetain;
|
|
46
|
+
biometricTemplateIris? : MDLIntentToRetain;
|
|
47
|
+
biometricTemplateFinger? : MDLIntentToRetain;
|
|
48
|
+
biometricTemplateSignatureSign? : MDLIntentToRetain;
|
|
49
|
+
familyNameNationalCharacter? : MDLIntentToRetain;
|
|
50
|
+
givenNameNationalCharacter? : MDLIntentToRetain;
|
|
51
|
+
signatureUsualMark? : MDLIntentToRetain;
|
|
52
|
+
|
|
53
|
+
disableIntentToRetainValues(): void
|
|
54
|
+
enableIntentToRetainValues(): void
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Allows you to deserialize object.
|
|
58
|
+
* @param jsonObject
|
|
59
|
+
*/
|
|
60
|
+
static fromJson(jsonObject: any): DocumentRequest18013MDL | null;
|
|
61
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare class NameSpaceMDL {
|
|
2
|
+
constructor(name: string);
|
|
3
|
+
|
|
4
|
+
addField(name: string, intentToRetain: MDLIntentToRetain): void;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Allows you to deserialize object.
|
|
8
|
+
* @param jsonObject
|
|
9
|
+
*/
|
|
10
|
+
static fromJson(jsonObject: any): NameSpaceMDL | null;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export declare enum MDLIntentToRetain {
|
|
14
|
+
FALSE = 0,
|
|
15
|
+
TRUE = 1,
|
|
16
|
+
}
|
package/www/types/index.d.ts
CHANGED
|
@@ -41,8 +41,9 @@ import { RFIDStatus } from './results/status/RFIDStatus';
|
|
|
41
41
|
import { ResultsStatus } from './results/status/ResultsStatus';
|
|
42
42
|
import { CheckResult } from './results/status/CheckResult';
|
|
43
43
|
import { OpticalStatus } from './results/status/OpticalStatus';
|
|
44
|
+
import { AgeStatus } from './results/status/AgeStatus';
|
|
44
45
|
import { ProcessingFinishedStatus } from './results/Results';
|
|
45
|
-
export { RFIDStatus, ResultsStatus, CheckResult, OpticalStatus, ProcessingFinishedStatus };
|
|
46
|
+
export { RFIDStatus, ResultsStatus, CheckResult, OpticalStatus, AgeStatus, ProcessingFinishedStatus };
|
|
46
47
|
|
|
47
48
|
import { CheckDiagnose } from './results/authenticity/CheckDiagnose';
|
|
48
49
|
import { AuthenticityElement } from './results/authenticity/AuthenticityElement';
|
|
@@ -67,8 +68,10 @@ export { ImageQuality, ImageQualityGroup, ImageQualityCheckType };
|
|
|
67
68
|
import { LDSParsingErrorCodes } from './results/visible_digital_seals/LDSParsingErrorCodes';
|
|
68
69
|
import { VDSNCData } from './results/visible_digital_seals/VDSNCData';
|
|
69
70
|
import { BytesData } from './results/visible_digital_seals/BytesData';
|
|
71
|
+
import { DocFeature } from './results/visible_digital_seals/DocFeature';
|
|
72
|
+
import { VDSData } from './results/visible_digital_seals/VDSData';
|
|
70
73
|
import { LDSParsingNotificationCodes } from './results/visible_digital_seals/LDSParsingNotificationCodes';
|
|
71
|
-
export { LDSParsingErrorCodes, VDSNCData, BytesData, LDSParsingNotificationCodes };
|
|
74
|
+
export { LDSParsingErrorCodes, VDSNCData, BytesData, DocFeature, VDSData, LDSParsingNotificationCodes };
|
|
72
75
|
|
|
73
76
|
import { SecurityObject } from './results/rfid/SecurityObject';
|
|
74
77
|
import { CardProperties } from './results/rfid/CardProperties';
|
|
@@ -129,6 +132,13 @@ import { TAChallenge } from './rfid/TAChallenge';
|
|
|
129
132
|
import { PKDCertificate, PKDResourceType } from './rfid/PKDCertificate';
|
|
130
133
|
export { PAResourcesIssuer, RFIDErrorCodes, TccParams, RFIDNotification, RFIDNotificationCodes, PAAttribute, TAChallenge, PKDCertificate, PKDResourceType };
|
|
131
134
|
|
|
135
|
+
import { DataRetrieval, MDLDocRequestPreset, MDLDeviceRetrieval } from './engagement/DataRetrieval';
|
|
136
|
+
import { DeviceEngagement, MDLDeviceEngagement } from './engagement/DeviceEngagement';
|
|
137
|
+
import { NameSpaceMDL, MDLIntentToRetain } from './engagement/NameSpaceMDL';
|
|
138
|
+
import { DocumentRequestMDL, DocumentRequest18013MDL } from './engagement/DocumentRequestMDL';
|
|
139
|
+
import { DeviceRetrievalMethod } from './engagement/DeviceRetrievalMethod';
|
|
140
|
+
export { DataRetrieval, MDLDocRequestPreset, MDLDeviceRetrieval, DeviceEngagement, MDLDeviceEngagement, DeviceRetrievalMethod, DocumentRequest18013MDL, MDLIntentToRetain, NameSpaceMDL, DocumentRequestMDL };
|
|
141
|
+
|
|
132
142
|
|
|
133
143
|
/**
|
|
134
144
|
* Entry point of the Regula Document Reader.
|
|
@@ -369,6 +379,29 @@ export class DocumentReader {
|
|
|
369
379
|
|
|
370
380
|
/** It's used to end transaction during backend processing. */
|
|
371
381
|
endBackendTransaction(): void;
|
|
382
|
+
|
|
383
|
+
/**
|
|
384
|
+
* Used to read MDL.
|
|
385
|
+
*/
|
|
386
|
+
readMDL(type: MDLDeviceEngagement, retrieval: DataRetrieval): Promise<[action: DocReaderAction, results: Results | null, error: DocReaderException | null]>;
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* Used to engage device.
|
|
390
|
+
*
|
|
391
|
+
* @param withoutUI - If `true`, then Regula's UI will not be shown and user is supposed to implement the UI himself.
|
|
392
|
+
*
|
|
393
|
+
* @param data - Required if @param type = {@link MDLDeviceEngagement.QR} and @param withoutUI = `true`.
|
|
394
|
+
*/
|
|
395
|
+
engageDevice(type: MDLDeviceEngagement, options?: {withoutUI: boolean, data?: string}): Promise<[engagement: DeviceEngagement | null, error: DocReaderException | null]>;
|
|
396
|
+
|
|
397
|
+
/**
|
|
398
|
+
* Used to retrieve data.
|
|
399
|
+
*
|
|
400
|
+
* @param withoutUI - If set, then Regula's UI will not be shown and user is supposed to implement the UI himself.
|
|
401
|
+
*
|
|
402
|
+
* @param engagement - Required for @param withoutUI = `null` or {@link MDLDeviceRetrieval.BLE}. Not needed for {@link MDLDeviceRetrieval.NFC}
|
|
403
|
+
*/
|
|
404
|
+
retrieveData(retrieval: DataRetrieval, options?: {withoutUI: MDLDeviceRetrieval, engagement?: DeviceEngagement}): Promise<[action: DocReaderAction, results: Results | null, error: DocReaderException | null]>;
|
|
372
405
|
}
|
|
373
406
|
|
|
374
407
|
/**
|
|
@@ -68,6 +68,7 @@ export declare enum ErrorCodes {
|
|
|
68
68
|
CAMERA_NOT_AVAILABLE = 30,
|
|
69
69
|
/** The camera not supported in this scenario. */
|
|
70
70
|
CANNOT_USE_CAMERA_IN_SCENario = 40,
|
|
71
|
+
BLUETOOTH_NO_PERMISSION = 41,
|
|
71
72
|
BACKEND_ONLINE_PROCESSING = 303,
|
|
72
73
|
WRONG_INPUT = 400,
|
|
73
74
|
/** Missing output result. */
|
|
@@ -79,5 +80,6 @@ export declare enum ErrorCodes {
|
|
|
79
80
|
FEATURE_BLUETOOTH_LE_NOT_SUPPORTED = 601,
|
|
80
81
|
APP_BACKGROUND = 700,
|
|
81
82
|
ONLINE_PROCESSING_WRONG_INPUT = 800,
|
|
83
|
+
MDL_EXCEPTION = 900,
|
|
82
84
|
NATIVE_JAVA_EXCEPTION = 1000,
|
|
83
85
|
}
|
|
@@ -135,6 +135,12 @@ export declare class Functionality {
|
|
|
135
135
|
* @default false
|
|
136
136
|
*/
|
|
137
137
|
preventScreenRecording?: boolean;
|
|
138
|
+
/**
|
|
139
|
+
* If it's set to true, system is allowed to hide the visual indicator for returning to the Home Screen in landscape mode.
|
|
140
|
+
*
|
|
141
|
+
* @default true
|
|
142
|
+
*/
|
|
143
|
+
homeIndicatorAutoHide?: boolean;
|
|
138
144
|
/**
|
|
139
145
|
* Allows you to specify a time interval when the Capture button
|
|
140
146
|
* has to be displayed after the document is detected.
|
|
@@ -219,6 +225,7 @@ export declare class Functionality {
|
|
|
219
225
|
* Android only.
|
|
220
226
|
*/
|
|
221
227
|
videoRecordingSizeDownscaleFactor?: number;
|
|
228
|
+
mdlTimeout?: number;
|
|
222
229
|
/**
|
|
223
230
|
* A list of devices that must not use the camera2 API.
|
|
224
231
|
*
|
|
@@ -272,6 +272,11 @@ export declare class Customization {
|
|
|
272
272
|
*/
|
|
273
273
|
cameraPreviewVerticalPositionMultiplier?: number;
|
|
274
274
|
|
|
275
|
+
/**
|
|
276
|
+
* Allows you to change the location of the multipage button.
|
|
277
|
+
*/
|
|
278
|
+
multipageButtonPositionMultiplier?: number;
|
|
279
|
+
|
|
275
280
|
/**
|
|
276
281
|
* Allows you to set any image for the multipage animation (front side). Base64 string.
|
|
277
282
|
*/
|
|
@@ -206,6 +206,11 @@ export declare class ProcessParams {
|
|
|
206
206
|
* Default: `true`.
|
|
207
207
|
*/
|
|
208
208
|
returnTransliteratedFields?: boolean;
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Android only.
|
|
212
|
+
*/
|
|
213
|
+
checkCaptureProcessIntegrity?: boolean;
|
|
209
214
|
/**
|
|
210
215
|
* There are documents that contain barcodes which data can be parsed only
|
|
211
216
|
* if document type verification is performed. The following property allows
|
|
@@ -396,6 +401,14 @@ export declare class ProcessParams {
|
|
|
396
401
|
* Unmodifiable property. Use setter instead of editing.
|
|
397
402
|
*/
|
|
398
403
|
lcidFilter?: LCID[];
|
|
404
|
+
/**
|
|
405
|
+
* If a document contains a Visual zone, you can specify a list of field types that should be excluded from extraction.
|
|
406
|
+
* All field types listed in this array are skipped during processing, while the remaining fields are recognized.
|
|
407
|
+
* This filter is not applicable to the MRZ, barcode or RFID. If the fieldTypesIgnoreFilter is empty, all fields are extracted.
|
|
408
|
+
*
|
|
409
|
+
* Unmodifiable property. Use setter instead of editing.
|
|
410
|
+
*/
|
|
411
|
+
fieldTypesIgnoreFilter?: FieldType[];
|
|
399
412
|
/**
|
|
400
413
|
* Controls properties of {@link ImageQA} checks.
|
|
401
414
|
*/
|
|
@@ -15,6 +15,7 @@ import { VDSNCData } from "./visible_digital_seals/VDSNCData";
|
|
|
15
15
|
import { Position } from "./Position";
|
|
16
16
|
import { DocumentType } from "./DocumentType";
|
|
17
17
|
import { TransactionInfo } from "./TransactionInfo";
|
|
18
|
+
import { VDSData } from "./visible_digital_seals/VDSData";
|
|
18
19
|
|
|
19
20
|
/** Class describing results returned on completion of Document Reader work. */
|
|
20
21
|
export declare class Results {
|
|
@@ -47,6 +48,8 @@ export declare class Results {
|
|
|
47
48
|
readonly barcodeResult: BarcodeResult | null;
|
|
48
49
|
/** Visible Digital Seal data. */
|
|
49
50
|
readonly vdsncData: VDSNCData | null;
|
|
51
|
+
/** Visible Digital Seal data. */
|
|
52
|
+
readonly vdsData: VDSData | null;
|
|
50
53
|
/** DTCVC data. */
|
|
51
54
|
readonly dtcData: string | null;
|
|
52
55
|
/** Document processing finish status, one of RGLProcessingFinishedStatus values. */
|
|
@@ -279,5 +282,10 @@ export declare enum ResultType {
|
|
|
279
282
|
*/
|
|
280
283
|
RFID_ORIGINAL_GRAPHICS = 105,
|
|
281
284
|
/** Digital Travel Credential data. */
|
|
282
|
-
RFID_DTC_VC = 109
|
|
285
|
+
RFID_DTC_VC = 109,
|
|
286
|
+
MDL_PARSED_RESPONSE = 121,
|
|
287
|
+
/** VDS_NC. */
|
|
288
|
+
VDS_NC = 124,
|
|
289
|
+
/** VDS. */
|
|
290
|
+
VDS = 125,
|
|
283
291
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CheckResult } from "./CheckResult";
|
|
2
|
+
|
|
3
|
+
/** Container for an age related scanning statuses. */
|
|
4
|
+
export declare class AgeStatus {
|
|
5
|
+
readonly threshold: number;
|
|
6
|
+
readonly overThreshold: CheckResult;
|
|
7
|
+
readonly over18: CheckResult;
|
|
8
|
+
readonly over21: CheckResult;
|
|
9
|
+
readonly over25: CheckResult;
|
|
10
|
+
readonly over65: CheckResult;
|
|
11
|
+
|
|
12
|
+
/** Allows you to deserialize object. */
|
|
13
|
+
static fromJson(jsonObject: any): AgeStatus | null;
|
|
14
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CheckResult } from "./CheckResult";
|
|
2
2
|
import { OpticalStatus } from "./OpticalStatus";
|
|
3
|
+
import { AgeStatus } from "./AgeStatus";
|
|
3
4
|
import { RFIDStatus } from "./RFIDStatus";
|
|
4
5
|
|
|
5
6
|
/** Provision of document verification status. */
|
|
@@ -18,6 +19,14 @@ export declare class ResultsStatus {
|
|
|
18
19
|
readonly portrait: CheckResult;
|
|
19
20
|
/** Verification status for document data against database. */
|
|
20
21
|
readonly stopList: CheckResult;
|
|
22
|
+
/** Summary of all mDL results. */
|
|
23
|
+
readonly mDL: CheckResult;
|
|
24
|
+
/** Summary of all age results. */
|
|
25
|
+
readonly age: CheckResult;
|
|
26
|
+
/** Android only. */
|
|
27
|
+
readonly captureProcessIntegrity: CheckResult;
|
|
28
|
+
/** Container for an age related scanning statuses. */
|
|
29
|
+
readonly ageStatus: AgeStatus;
|
|
21
30
|
|
|
22
31
|
/** Allows you to deserialize object. */
|
|
23
32
|
static fromJson(jsonObject: any): ResultsStatus | null;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { CertificateChain } from "../rfid/CertificateChain";
|
|
2
|
+
import { BytesData } from './BytesData';
|
|
3
|
+
import { DocFeature } from "./DocFeature";
|
|
4
|
+
|
|
5
|
+
/** Visible Digital Seal. */
|
|
6
|
+
export declare class VDSData {
|
|
7
|
+
readonly type?: number;
|
|
8
|
+
readonly docType?: number;
|
|
9
|
+
readonly featureRef?: number;
|
|
10
|
+
/** Visible Digital Seal use case version. */
|
|
11
|
+
readonly version?: number;
|
|
12
|
+
/** Three letter code identifying the issuing state or organization. */
|
|
13
|
+
readonly issuingCountry?: string;
|
|
14
|
+
readonly docIssueDate?: string;
|
|
15
|
+
/** The binary data of the verified digital signature. */
|
|
16
|
+
readonly signature?: BytesData;
|
|
17
|
+
readonly signatureDate?: string;
|
|
18
|
+
readonly signer?: string;
|
|
19
|
+
readonly certificate?: string;
|
|
20
|
+
/** The certificate chain, used for the digital signature verification. */
|
|
21
|
+
readonly certificateChain: CertificateChain[];
|
|
22
|
+
/** The doc features. */
|
|
23
|
+
readonly docFeatures: DocFeature[];
|
|
24
|
+
/**
|
|
25
|
+
* The list of remarks occured during the scanning procedure.
|
|
26
|
+
* Each element belongs to the {@link LDSParsingErrorCodes} or the {@link LDSParsingNotificationCodes}.
|
|
27
|
+
*/
|
|
28
|
+
readonly notifications: number[];
|
|
29
|
+
|
|
30
|
+
/** Allows you to deserialize object. */
|
|
31
|
+
static fromJson(jsonObject: any): VDSData | null;
|
|
32
|
+
}
|
|
@@ -28,7 +28,7 @@ export declare class VDSNCData {
|
|
|
28
28
|
* The list of remarks occured during the scanning procedure.
|
|
29
29
|
* Each element belongs to the {@link LDSParsingErrorCodes} or the {@link LDSParsingNotificationCodes}.
|
|
30
30
|
*/
|
|
31
|
-
readonly notifications
|
|
31
|
+
readonly notifications: number[];
|
|
32
32
|
|
|
33
33
|
/** Allows you to deserialize object. */
|
|
34
34
|
static fromJson(jsonObject: any): VDSNCData | null;
|
|
@@ -1307,6 +1307,12 @@ export declare enum FieldType {
|
|
|
1307
1307
|
FIRST_ISSUE_DATE_CHECKDIGIT = 698,
|
|
1308
1308
|
/** First issue date checksum. */
|
|
1309
1309
|
FIRST_ISSUE_DATE_CHECKSUM = 699,
|
|
1310
|
+
/** Commercial indicator. */
|
|
1311
|
+
COMMERCIAL_INDICATOR = 701,
|
|
1312
|
+
/** Non-domiciled indicator. */
|
|
1313
|
+
NON_DOMICILED_INDICATOR = 702,
|
|
1314
|
+
/** Jurisdiction specific data. */
|
|
1315
|
+
JURISDICTION_SPECIFIC_DATA = 703,
|
|
1310
1316
|
}
|
|
1311
1317
|
|
|
1312
1318
|
export declare namespace FieldType {
|
|
@@ -26,7 +26,13 @@ export declare enum PKDResourceType {
|
|
|
26
26
|
/** Deviance List (.dl, .dls, .dvl). */
|
|
27
27
|
DEVL = 6,
|
|
28
28
|
/** Black List (.bl, .bls). */
|
|
29
|
-
BL = 7
|
|
29
|
+
BL = 7,
|
|
30
|
+
/** LDIF file contents for TA. */
|
|
31
|
+
LDIF_TA = 8,
|
|
32
|
+
/** Master List with CV certificates for TA. */
|
|
33
|
+
ML_TA = 9,
|
|
34
|
+
/** CBOR List. */
|
|
35
|
+
CBOR = 10,
|
|
30
36
|
}
|
|
31
37
|
|
|
32
38
|
export declare namespace PKDResourceType {
|