@trustchex/react-native-sdk 1.360.0 → 1.362.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/TrustchexSDK.podspec +3 -1
- package/android/src/main/java/com/trustchex/reactnativesdk/TrustchexSDKPackage.kt +0 -13
- package/android/src/main/java/com/trustchex/reactnativesdk/camera/TrustchexCameraManager.kt +0 -8
- package/android/src/main/java/com/trustchex/reactnativesdk/camera/TrustchexCameraView.kt +59 -39
- package/android/src/main/java/com/trustchex/reactnativesdk/opencv/OpenCVModule.kt +94 -13
- package/ios/Camera/TrustchexCameraManager.m +0 -2
- package/ios/Camera/TrustchexCameraManager.swift +0 -7
- package/ios/Camera/TrustchexCameraView.swift +16 -47
- package/ios/OpenCV/OpenCVHelper.h +17 -0
- package/ios/OpenCV/OpenCVHelper.mm +128 -0
- package/ios/OpenCV/OpenCVModule.h +6 -0
- package/ios/OpenCV/OpenCVModule.mm +141 -0
- package/ios/TrustchexSDK-Bridging-Header.h +8 -0
- package/lib/module/Screens/Debug/MRZTestScreen.js +175 -0
- package/lib/module/Shared/Components/DebugNavigationPanel.js +4 -0
- package/lib/module/Shared/Components/EIDScanner.js +0 -78
- package/lib/module/Shared/Components/FaceCamera.js +6 -3
- package/lib/module/Shared/Components/IdentityDocumentCamera.js +199 -153
- package/lib/module/Shared/Components/QrCodeScannerCamera.js +0 -3
- package/lib/module/Shared/Config/camera-enhancement.config.js +11 -12
- package/lib/module/Shared/Libs/mrz.utils.js +265 -0
- package/lib/module/Trustchex.js +4 -0
- package/lib/module/index.js +1 -0
- package/lib/module/version.js +1 -1
- package/lib/typescript/src/Screens/Debug/MRZTestScreen.d.ts +3 -0
- package/lib/typescript/src/Screens/Debug/MRZTestScreen.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Components/DebugNavigationPanel.d.ts.map +1 -1
- package/lib/typescript/src/Shared/Components/EIDScanner.d.ts.map +1 -1
- package/lib/typescript/src/Shared/Components/FaceCamera.d.ts.map +1 -1
- package/lib/typescript/src/Shared/Components/IdentityDocumentCamera.d.ts +3 -1
- package/lib/typescript/src/Shared/Components/IdentityDocumentCamera.d.ts.map +1 -1
- package/lib/typescript/src/Shared/Components/QrCodeScannerCamera.d.ts.map +1 -1
- package/lib/typescript/src/Shared/Components/TrustchexCamera.d.ts +0 -19
- package/lib/typescript/src/Shared/Components/TrustchexCamera.d.ts.map +1 -1
- package/lib/typescript/src/Shared/Config/camera-enhancement.config.d.ts +10 -10
- package/lib/typescript/src/Shared/Libs/mrz.utils.d.ts +18 -1
- package/lib/typescript/src/Shared/Libs/mrz.utils.d.ts.map +1 -1
- package/lib/typescript/src/Trustchex.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +3 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +2 -1
- package/src/Screens/Debug/MRZTestScreen.tsx +209 -0
- package/src/Shared/Components/DebugNavigationPanel.tsx +5 -0
- package/src/Shared/Components/EIDScanner.tsx +0 -53
- package/src/Shared/Components/FaceCamera.tsx +6 -3
- package/src/Shared/Components/IdentityDocumentCamera.tsx +246 -149
- package/src/Shared/Components/QrCodeScannerCamera.tsx +0 -9
- package/src/Shared/Components/TrustchexCamera.tsx +0 -20
- package/src/Shared/Config/camera-enhancement.config.ts +6 -6
- package/src/Shared/Libs/mrz.utils.ts +289 -1
- package/src/Trustchex.tsx +5 -0
- package/src/index.tsx +3 -0
- package/src/version.ts +1 -1
- package/android/src/main/java/com/trustchex/reactnativesdk/mrz/MRZValidationModule.kt +0 -785
- package/android/src/main/java/com/trustchex/reactnativesdk/mrz/MRZValidator.kt +0 -419
- package/ios/MRZValidation.m +0 -39
- package/ios/MRZValidation.swift +0 -802
- package/ios/MRZValidator.swift +0 -466
|
@@ -1,5 +1,267 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { parse } from 'mrz';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* MRZ Format Types according to ICAO 9303
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* MRZ Validation Result
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Fixes raw MRZ text by removing noise and normalizing
|
|
15
|
+
* @param rawText Raw OCR text
|
|
16
|
+
* @returns Cleaned and normalized MRZ text
|
|
17
|
+
*/
|
|
18
|
+
const fixMRZ = rawText => {
|
|
19
|
+
if (!rawText) {
|
|
20
|
+
return '';
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Ensure uppercase immediately
|
|
24
|
+
rawText = rawText.toUpperCase();
|
|
25
|
+
const fillerChar = '<';
|
|
26
|
+
const mrzFormats = [{
|
|
27
|
+
lines: 3,
|
|
28
|
+
length: 30
|
|
29
|
+
},
|
|
30
|
+
// TD1
|
|
31
|
+
{
|
|
32
|
+
lines: 2,
|
|
33
|
+
length: 36
|
|
34
|
+
},
|
|
35
|
+
// TD2
|
|
36
|
+
{
|
|
37
|
+
lines: 2,
|
|
38
|
+
length: 44
|
|
39
|
+
} // TD3
|
|
40
|
+
];
|
|
41
|
+
|
|
42
|
+
// Remove « characters, spaces, and tabs (but preserve newlines for line splitting)
|
|
43
|
+
// OCR sometimes inserts spaces within document numbers
|
|
44
|
+
let cleanedText = rawText.replace(/[« \t*]/g, '');
|
|
45
|
+
|
|
46
|
+
// Critical OCR fix: "1" at start of line is always "I" in MRZ (document code)
|
|
47
|
+
cleanedText = cleanedText.replace(/^1</gm, 'I<');
|
|
48
|
+
cleanedText = cleanedText.replace(/\n1</g, '\nI<');
|
|
49
|
+
|
|
50
|
+
// Conservative OCR error corrections - only fix clear filler character errors
|
|
51
|
+
// Don't touch valid digit sequences!
|
|
52
|
+
|
|
53
|
+
// Pattern 1: TD1 Line 2 filler area - After TUR, convert all K to < before check digit
|
|
54
|
+
// Structure: ...TUR<<<<<<<<<<<<8 (11 fillers + 1 check digit)
|
|
55
|
+
// OCR often reads: TUR<<<KKKK<<8 or TURK<<KK<<<8
|
|
56
|
+
cleanedText = cleanedText.replace(/TUR[<K]+(\d)$/gm, (match, checkDigit) => {
|
|
57
|
+
const fillerPart = match.substring(3, match.length - 1).replace(/K/g, '<');
|
|
58
|
+
return 'TUR' + fillerPart + checkDigit;
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
// Pattern 2: Convert K at the very end of a line before check digit
|
|
62
|
+
// e.g., "<<<K8" → "<<<8" (K is misread <, 8 is check digit)
|
|
63
|
+
cleanedText = cleanedText.replace(/K(\d)$/gm, '<$1');
|
|
64
|
+
|
|
65
|
+
// Pattern 3: Convert K when surrounded by fillers only
|
|
66
|
+
// e.g., "<<K<<" → "<<<<<" (clearly a filler position)
|
|
67
|
+
cleanedText = cleanedText.replace(/(<+)K(<+)/g, '$1<$2');
|
|
68
|
+
|
|
69
|
+
// Pattern 4: Fix trailing filler area corruption at line end
|
|
70
|
+
// e.g., "TUR<<<<<KK" → "TUR<<<<<<<" (only at end after clear filler sequence)
|
|
71
|
+
cleanedText = cleanedText.replace(/(<{5,})[KGB]+$/gm, (match, fillers) => {
|
|
72
|
+
return fillers.padEnd(match.length, '<');
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
// Split into lines and filter for MRZ-like content
|
|
76
|
+
// MRZ lines must start with I< or contain long sequences of < and alphanumeric chars
|
|
77
|
+
const lines = cleanedText.split('\n').map(line => line.trim()).filter(line => {
|
|
78
|
+
// Must contain filler characters
|
|
79
|
+
if (!/<+/.test(line)) return false;
|
|
80
|
+
|
|
81
|
+
// Prioritize lines starting with I< (document code)
|
|
82
|
+
if (line.startsWith('I<')) return true;
|
|
83
|
+
|
|
84
|
+
// Or lines with numbers and fillers (second line of TD1: birth date, expiry, etc.)
|
|
85
|
+
if (/\d{5,}/.test(line) && /<{3,}/.test(line)) return true;
|
|
86
|
+
|
|
87
|
+
// Or lines that look like name fields (third line of TD1: surname, given names)
|
|
88
|
+
// Accept shorter lines (min 10 chars) since OCR often truncates the third line
|
|
89
|
+
if (line.length >= 10 && /^[A-Z<]+$/.test(line) && /<{2,}/.test(line)) return true;
|
|
90
|
+
return false;
|
|
91
|
+
});
|
|
92
|
+
if (lines.length === 0) {
|
|
93
|
+
return rawText;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Detect format based on line lengths
|
|
97
|
+
let detectedFormat = null;
|
|
98
|
+
for (const format of mrzFormats) {
|
|
99
|
+
const expectedLen = format.length;
|
|
100
|
+
// Check if all lines are within acceptable length
|
|
101
|
+
if (lines.every(line => line.length <= expectedLen + 5)) {
|
|
102
|
+
detectedFormat = format;
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (!detectedFormat) {
|
|
107
|
+
return rawText;
|
|
108
|
+
}
|
|
109
|
+
const expectedLen = detectedFormat.length;
|
|
110
|
+
const expectedLines = detectedFormat.lines;
|
|
111
|
+
|
|
112
|
+
// Pad lines to expected length
|
|
113
|
+
const mrzLines = [];
|
|
114
|
+
for (let line of lines) {
|
|
115
|
+
if (line.includes('<')) {
|
|
116
|
+
if (line.length < expectedLen) {
|
|
117
|
+
// Pad to expected length
|
|
118
|
+
line = line.padEnd(expectedLen, fillerChar);
|
|
119
|
+
} else if (line.length > expectedLen) {
|
|
120
|
+
// Truncate to expected length
|
|
121
|
+
line = line.substring(0, expectedLen);
|
|
122
|
+
}
|
|
123
|
+
mrzLines.push(line);
|
|
124
|
+
|
|
125
|
+
// Stop when we have the expected number of lines
|
|
126
|
+
if (mrzLines.length >= expectedLines) break;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
if (mrzLines.length < 2) {
|
|
130
|
+
return rawText;
|
|
131
|
+
}
|
|
132
|
+
const fixedMRZ = mrzLines.join('\n');
|
|
133
|
+
return fixedMRZ;
|
|
134
|
+
};
|
|
135
|
+
const AMBIGUOUS_CHAR_MAP = {
|
|
136
|
+
'0': ['O', 'Q', 'D'],
|
|
137
|
+
O: ['0', 'Q', 'D'],
|
|
138
|
+
Q: ['0', 'O', 'D'],
|
|
139
|
+
D: ['0', 'O', 'Q'],
|
|
140
|
+
'1': ['I', 'L'],
|
|
141
|
+
I: ['1', 'L'],
|
|
142
|
+
L: ['1', 'I'],
|
|
143
|
+
'2': ['Z'],
|
|
144
|
+
Z: ['2'],
|
|
145
|
+
'5': ['S'],
|
|
146
|
+
S: ['5'],
|
|
147
|
+
'6': ['G'],
|
|
148
|
+
G: ['6'],
|
|
149
|
+
'8': ['B'],
|
|
150
|
+
B: ['8']
|
|
151
|
+
};
|
|
152
|
+
const generateAmbiguousVariants = (text, maxChanges = 2, maxVariants = 64) => {
|
|
153
|
+
const entries = [{
|
|
154
|
+
text,
|
|
155
|
+
changes: 0
|
|
156
|
+
}];
|
|
157
|
+
const seen = new Set([text]);
|
|
158
|
+
for (let i = 0; i < text.length; i++) {
|
|
159
|
+
const initialReplacements = AMBIGUOUS_CHAR_MAP[text[i]];
|
|
160
|
+
if (!initialReplacements) continue;
|
|
161
|
+
const currentLen = entries.length;
|
|
162
|
+
for (let j = 0; j < currentLen; j++) {
|
|
163
|
+
const entry = entries[j];
|
|
164
|
+
if (entry.changes >= maxChanges) continue;
|
|
165
|
+
const entryChar = entry.text[i];
|
|
166
|
+
const replacements = AMBIGUOUS_CHAR_MAP[entryChar];
|
|
167
|
+
if (!replacements) continue;
|
|
168
|
+
for (const replacement of replacements) {
|
|
169
|
+
if (replacement === entryChar) continue;
|
|
170
|
+
if (entries.length >= maxVariants) return entries.map(e => e.text);
|
|
171
|
+
const newText = entry.text.slice(0, i) + replacement + entry.text.slice(i + 1);
|
|
172
|
+
if (!seen.has(newText)) {
|
|
173
|
+
seen.add(newText);
|
|
174
|
+
entries.push({
|
|
175
|
+
text: newText,
|
|
176
|
+
changes: entry.changes + 1
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return entries.map(e => e.text);
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Validates MRZ text using the mrz npm package
|
|
187
|
+
* @param mrzText Raw or cleaned MRZ text
|
|
188
|
+
* @param autocorrect Enable autocorrection
|
|
189
|
+
* @returns Validation result with parsed fields
|
|
190
|
+
*/
|
|
191
|
+
const validateMRZ = (mrzText, autocorrect = true) => {
|
|
192
|
+
try {
|
|
193
|
+
const fixedText = fixMRZ(mrzText);
|
|
194
|
+
let result = parse(fixedText, {
|
|
195
|
+
autocorrect
|
|
196
|
+
});
|
|
197
|
+
if (!result || !result.valid) {
|
|
198
|
+
const variants = generateAmbiguousVariants(fixedText);
|
|
199
|
+
for (const variant of variants) {
|
|
200
|
+
if (variant === fixedText) continue;
|
|
201
|
+
const candidate = parse(variant, {
|
|
202
|
+
autocorrect
|
|
203
|
+
});
|
|
204
|
+
if (candidate && candidate.valid) {
|
|
205
|
+
result = candidate;
|
|
206
|
+
break;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
if (!result || !result.valid) {
|
|
211
|
+
return {
|
|
212
|
+
valid: false,
|
|
213
|
+
format: 'UNKNOWN',
|
|
214
|
+
error: 'Invalid MRZ format or checksum'
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
// Map mrz package format to our format
|
|
219
|
+
let format = 'UNKNOWN';
|
|
220
|
+
if (result.format === 'TD1') format = 'TD1';else if (result.format === 'TD2') format = 'TD2';else if (result.format === 'TD3') format = 'TD3';
|
|
221
|
+
|
|
222
|
+
// Map mrz package fields to our MRZFields type
|
|
223
|
+
const fields = {
|
|
224
|
+
documentCode: result.fields.documentCode || null,
|
|
225
|
+
issuingState: result.fields.issuingState || null,
|
|
226
|
+
documentNumber: result.fields.documentNumber || null,
|
|
227
|
+
documentNumberCheckDigit: result.fields.documentNumberCheckDigit || null,
|
|
228
|
+
nationality: result.fields.nationality || null,
|
|
229
|
+
lastName: result.fields.lastName || null,
|
|
230
|
+
firstName: result.fields.firstName || null,
|
|
231
|
+
sex: result.fields.sex || null,
|
|
232
|
+
birthDate: result.fields.birthDate || null,
|
|
233
|
+
birthDateCheckDigit: result.fields.birthDateCheckDigit || null,
|
|
234
|
+
expirationDate: result.fields.expirationDate || null,
|
|
235
|
+
expirationDateCheckDigit: result.fields.expirationDateCheckDigit || null,
|
|
236
|
+
personalNumber: result.fields.personalNumber || null,
|
|
237
|
+
personalNumberCheckDigit: result.fields.personalNumberCheckDigit || null,
|
|
238
|
+
compositeCheckDigit: result.fields.compositeCheckDigit || null,
|
|
239
|
+
optional1: result.fields.optional1 || null,
|
|
240
|
+
optional2: result.fields.optional2 || null
|
|
241
|
+
};
|
|
242
|
+
return {
|
|
243
|
+
valid: true,
|
|
244
|
+
format,
|
|
245
|
+
fields
|
|
246
|
+
};
|
|
247
|
+
} catch (error) {
|
|
248
|
+
return {
|
|
249
|
+
valid: false,
|
|
250
|
+
format: 'UNKNOWN',
|
|
251
|
+
error: error instanceof Error ? error.message : 'Unknown error'
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Validates MRZ with corrections (uses autocorrect from mrz package)
|
|
258
|
+
* @param mrzText Raw OCR text
|
|
259
|
+
* @returns Validation result with parsed fields
|
|
260
|
+
*/
|
|
261
|
+
const validateMRZWithCorrections = mrzText => {
|
|
262
|
+
return validateMRZ(mrzText, true);
|
|
263
|
+
};
|
|
264
|
+
|
|
3
265
|
/**
|
|
4
266
|
* Converts an MRZ date string to an ISO date string.
|
|
5
267
|
* @param mrzDate The MRZ date string to convert (YYMMDD format)
|
|
@@ -17,5 +279,8 @@ const convertMRZDateToISODate = mrzDate => {
|
|
|
17
279
|
return date.toISOString();
|
|
18
280
|
};
|
|
19
281
|
export default {
|
|
282
|
+
fixMRZ,
|
|
283
|
+
validateMRZ,
|
|
284
|
+
validateMRZWithCorrections,
|
|
20
285
|
convertMRZDateToISODate
|
|
21
286
|
};
|
package/lib/module/Trustchex.js
CHANGED
|
@@ -16,6 +16,7 @@ import ContractAcceptanceScreen from "./Screens/Dynamic/ContractAcceptanceScreen
|
|
|
16
16
|
import VerificationSessionCheckScreen from "./Screens/Static/VerificationSessionCheckScreen.js";
|
|
17
17
|
import QrCodeScanningScreen from "./Screens/Static/QrCodeScanningScreen.js";
|
|
18
18
|
import OTPVerificationScreen from "./Screens/Static/OTPVerificationScreen.js";
|
|
19
|
+
import MRZTestScreen from "./Screens/Debug/MRZTestScreen.js";
|
|
19
20
|
import AppContext from "./Shared/Contexts/AppContext.js";
|
|
20
21
|
import DebugNavigationPanel from "./Shared/Components/DebugNavigationPanel.js";
|
|
21
22
|
import i18n from "./Translation/index.js";
|
|
@@ -165,6 +166,9 @@ const Trustchex = ({
|
|
|
165
166
|
}), /*#__PURE__*/_jsx(Stack.Screen, {
|
|
166
167
|
name: "QrCodeScanningScreen",
|
|
167
168
|
component: QrCodeScanningScreen
|
|
169
|
+
}), /*#__PURE__*/_jsx(Stack.Screen, {
|
|
170
|
+
name: "MRZTestScreen",
|
|
171
|
+
component: MRZTestScreen
|
|
168
172
|
})]
|
|
169
173
|
}), /*#__PURE__*/_jsx(DebugNavigationPanel, {})]
|
|
170
174
|
})
|
package/lib/module/index.js
CHANGED
|
@@ -6,4 +6,5 @@ export { analyticsService } from "./Shared/Services/AnalyticsService.js";
|
|
|
6
6
|
export { LogLevel, setDebugMode, setLogLevel, isDebugEnabled, getLogLevel, traceLog, debugLog, infoLog, debugWarn, debugError, logError, logWarn } from "./Shared/Libs/debug.utils.js";
|
|
7
7
|
export { trackScreenView, trackScreenExit, trackButtonClick, trackError, trackErrorWithDetails, trackApiCall, trackVerificationStart, trackVerificationComplete, trackConsentGiven, trackSessionStart, trackSessionEnd, trackNFCScanStart, trackNFCScanComplete, trackNFCScanFailed, trackFunnelStep, trackStepAbandoned, trackStepSkipped, useScreenTracking } from "./Shared/Libs/analytics.utils.js";
|
|
8
8
|
export { AnalyticsEventCategory, AnalyticsEventName, ErrorCategory } from "./Shared/Types/analytics.types.js";
|
|
9
|
+
export { default as mrzUtils } from "./Shared/Libs/mrz.utils.js";
|
|
9
10
|
export default Trustchex;
|
package/lib/module/version.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MRZTestScreen.d.ts","sourceRoot":"","sources":["../../../../../src/Screens/Debug/MRZTestScreen.tsx"],"names":[],"mappings":"AAkBA,QAAA,MAAM,aAAa,+CAiIlB,CAAC;AA6DF,eAAe,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DebugNavigationPanel.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/DebugNavigationPanel.tsx"],"names":[],"mappings":"AAqCA,QAAA,MAAM,oBAAoB,+
|
|
1
|
+
{"version":3,"file":"DebugNavigationPanel.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/DebugNavigationPanel.tsx"],"names":[],"mappings":"AAqCA,QAAA,MAAM,oBAAoB,+CAgVzB,CAAC;AAqJF,eAAe,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EIDScanner.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/EIDScanner.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"EIDScanner.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/EIDScanner.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAapD,UAAU,eAAe;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,KACtB,IAAI,CAAC;IACV,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C;AAED,QAAA,MAAM,UAAU,GAAI,6FAOjB,eAAe,4CAskBjB,CAAC;AA+HF,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FaceCamera.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/FaceCamera.tsx"],"names":[],"mappings":"AAeA,OAAO,EAEL,KAAK,qBAAqB,EAE3B,MAAM,mBAAmB,CAAC;AAa3B,MAAM,MAAM,IAAI,GAAG;IACjB,MAAM,EAAE;QACN,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,CACf,KAAK,EAAE,IAAI,EAAE,EACb,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,OAAO,EACtB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,KAChB,IAAI,CAAC;IACV,mBAAmB,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC7D,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,QAAA,MAAM,UAAU,GAAI,wDAIjB,eAAe,
|
|
1
|
+
{"version":3,"file":"FaceCamera.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/FaceCamera.tsx"],"names":[],"mappings":"AAeA,OAAO,EAEL,KAAK,qBAAqB,EAE3B,MAAM,mBAAmB,CAAC;AAa3B,MAAM,MAAM,IAAI,GAAG;IACjB,MAAM,EAAE;QACN,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,CACf,KAAK,EAAE,IAAI,EAAE,EACb,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,OAAO,EACtB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,KAChB,IAAI,CAAC;IACV,mBAAmB,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC7D,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,QAAA,MAAM,UAAU,GAAI,wDAIjB,eAAe,4CA2SjB,CAAC;AA6BF,eAAe,UAAU,CAAC"}
|
|
@@ -12,6 +12,7 @@ export type DocumentScannedData = {
|
|
|
12
12
|
export type BlockText = {
|
|
13
13
|
blocks: BlocksData[];
|
|
14
14
|
resultText: string;
|
|
15
|
+
mrzOnlyText?: string;
|
|
15
16
|
};
|
|
16
17
|
type BlocksData = {
|
|
17
18
|
blockFrame: FrameType;
|
|
@@ -51,7 +52,8 @@ export type PhotoOptions = {
|
|
|
51
52
|
export interface IdentityDocumentCameraProps {
|
|
52
53
|
onlyMRZScan: boolean;
|
|
53
54
|
onIdentityDocumentScanned: (scannedData: DocumentScannedData) => void;
|
|
55
|
+
testMode?: boolean;
|
|
54
56
|
}
|
|
55
|
-
declare const IdentityDocumentCamera: ({ onlyMRZScan, onIdentityDocumentScanned, }: IdentityDocumentCameraProps) => import("react/jsx-runtime").JSX.Element;
|
|
57
|
+
declare const IdentityDocumentCamera: ({ onlyMRZScan, onIdentityDocumentScanned, testMode, }: IdentityDocumentCameraProps) => import("react/jsx-runtime").JSX.Element;
|
|
56
58
|
export default IdentityDocumentCamera;
|
|
57
59
|
//# sourceMappingURL=IdentityDocumentCamera.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdentityDocumentCamera.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/IdentityDocumentCamera.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IdentityDocumentCamera.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/IdentityDocumentCamera.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAepD,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,UAAU,EAAE,SAAS,CAAC;IACtB,iBAAiB,EAAE,gBAAgB,CAAC;IACpC,KAAK,EAAE,SAAS,CAAC;IACjB,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,gBAAgB,GAAG,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnD,KAAK,SAAS,GAAG;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,gBAAgB,EAAE,gBAAgB;IAClC,QAAQ,EAAE,YAAY;IACtB,SAAS,EAAE,SAAS;IACpB,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE;IAC5B,QAAQ,EAAE,MAAM;CACjB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,mBAAmB,EAAE,gBAAgB;IACrC,YAAY,EAAE,SAAS;IACvB,WAAW,EAAE,MAAM;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EACR,gBAAgB,GAChB,UAAU,GACV,oBAAoB,GACpB,eAAe,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,OAAO,CAAC;IACrB,yBAAyB,EAAE,CAAC,WAAW,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA4BD,QAAA,MAAM,sBAAsB,GAAI,uDAI7B,2BAA2B,4CAy6G7B,CAAC;AAgLF,eAAe,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QrCodeScannerCamera.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/QrCodeScannerCamera.tsx"],"names":[],"mappings":"AA2BA,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,QAAA,MAAM,mBAAmB,GAAI,+BAG1B,wBAAwB,
|
|
1
|
+
{"version":3,"file":"QrCodeScannerCamera.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/QrCodeScannerCamera.tsx"],"names":[],"mappings":"AA2BA,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,QAAA,MAAM,mBAAmB,GAAI,+BAG1B,wBAAwB,4CAoL1B,CAAC;AAwGF,eAAe,mBAAmB,CAAC"}
|
|
@@ -11,7 +11,6 @@ export interface Frame {
|
|
|
11
11
|
textBlocks?: NativeTextBlock[];
|
|
12
12
|
resultText?: string;
|
|
13
13
|
barcodes?: NativeBarcode[];
|
|
14
|
-
mrzResult?: NativeMRZResult;
|
|
15
14
|
}
|
|
16
15
|
export interface NativeFace {
|
|
17
16
|
bounds: {
|
|
@@ -57,23 +56,6 @@ export interface NativeBarcode {
|
|
|
57
56
|
y: number;
|
|
58
57
|
}>;
|
|
59
58
|
}
|
|
60
|
-
export interface NativeMRZResult {
|
|
61
|
-
valid: boolean;
|
|
62
|
-
format: string;
|
|
63
|
-
error?: string;
|
|
64
|
-
documentCode?: string;
|
|
65
|
-
issuingState?: string;
|
|
66
|
-
documentNumber?: string;
|
|
67
|
-
lastName?: string;
|
|
68
|
-
firstName?: string;
|
|
69
|
-
birthDate?: string;
|
|
70
|
-
sex?: string;
|
|
71
|
-
expirationDate?: string;
|
|
72
|
-
nationality?: string;
|
|
73
|
-
optional1?: string;
|
|
74
|
-
optional2?: string;
|
|
75
|
-
rawLines?: string;
|
|
76
|
-
}
|
|
77
59
|
interface TrustchexCameraProps {
|
|
78
60
|
style?: StyleProp<ViewStyle>;
|
|
79
61
|
cameraType?: 'front' | 'back';
|
|
@@ -83,7 +65,6 @@ interface TrustchexCameraProps {
|
|
|
83
65
|
enableFaceDetection?: boolean;
|
|
84
66
|
enableTextRecognition?: boolean;
|
|
85
67
|
enableBarcodeScanning?: boolean;
|
|
86
|
-
enableMrzValidation?: boolean;
|
|
87
68
|
includeBase64?: boolean;
|
|
88
69
|
onFrameAvailable?: (event: NativeSyntheticEvent<{
|
|
89
70
|
frame: Frame;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrustchexCamera.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/TrustchexCamera.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,EAEL,KAAK,oBAAoB,EAEzB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AA8CtB,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"TrustchexCamera.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/TrustchexCamera.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,EAEL,KAAK,oBAAoB,EAEzB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AA8CtB,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE;QACX,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED,UAAU,oBAAoB;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC3E,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,oBAAoB,CAAC;QAC1B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC,KACC,IAAI,CAAC;IACV,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACzE,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC9E,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;CAC7E;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,cAAc,EAAE,CAAC,OAAO,EAAE;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;QACxD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;KACvD,KAAK,IAAI,CAAC;IACX,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,eAAe,oGA+H1B,CAAC"}
|
|
@@ -11,19 +11,19 @@ export declare const ENHANCEMENT_CONFIG: {
|
|
|
11
11
|
readonly brightness: {
|
|
12
12
|
readonly thresholds: {
|
|
13
13
|
readonly general: {
|
|
14
|
-
readonly low:
|
|
15
|
-
readonly high:
|
|
16
|
-
readonly target:
|
|
14
|
+
readonly low: 60;
|
|
15
|
+
readonly high: 140;
|
|
16
|
+
readonly target: 100;
|
|
17
17
|
};
|
|
18
18
|
readonly faceDetection: {
|
|
19
|
-
readonly low:
|
|
20
|
-
readonly high:
|
|
21
|
-
readonly target:
|
|
19
|
+
readonly low: 70;
|
|
20
|
+
readonly high: 140;
|
|
21
|
+
readonly target: 105;
|
|
22
22
|
};
|
|
23
23
|
readonly mrzScanning: {
|
|
24
|
-
readonly low:
|
|
25
|
-
readonly high:
|
|
26
|
-
readonly target:
|
|
24
|
+
readonly low: 65;
|
|
25
|
+
readonly high: 150;
|
|
26
|
+
readonly target: 100;
|
|
27
27
|
};
|
|
28
28
|
};
|
|
29
29
|
readonly adaptiveStep: true;
|
|
@@ -33,7 +33,7 @@ export declare const ENHANCEMENT_CONFIG: {
|
|
|
33
33
|
readonly contrast: {
|
|
34
34
|
readonly enabled: true;
|
|
35
35
|
readonly clahe: {
|
|
36
|
-
readonly clipLimit:
|
|
36
|
+
readonly clipLimit: 1.5;
|
|
37
37
|
readonly tileGridSize: [number, number];
|
|
38
38
|
};
|
|
39
39
|
readonly applyWhen: {
|
|
@@ -1,5 +1,22 @@
|
|
|
1
|
+
import type { MRZFields } from '../Types/mrzFields';
|
|
2
|
+
/**
|
|
3
|
+
* MRZ Format Types according to ICAO 9303
|
|
4
|
+
*/
|
|
5
|
+
export type MRZFormat = 'TD1' | 'TD2' | 'TD3' | 'UNKNOWN';
|
|
6
|
+
/**
|
|
7
|
+
* MRZ Validation Result
|
|
8
|
+
*/
|
|
9
|
+
export interface MRZValidationResult {
|
|
10
|
+
valid: boolean;
|
|
11
|
+
format: MRZFormat;
|
|
12
|
+
fields?: MRZFields;
|
|
13
|
+
error?: string;
|
|
14
|
+
}
|
|
1
15
|
declare const _default: {
|
|
2
|
-
|
|
16
|
+
fixMRZ: (rawText: string) => string;
|
|
17
|
+
validateMRZ: (mrzText: string, autocorrect?: boolean) => MRZValidationResult;
|
|
18
|
+
validateMRZWithCorrections: (mrzText: string) => MRZValidationResult;
|
|
19
|
+
convertMRZDateToISODate: (mrzDate?: string | null) => string | null;
|
|
3
20
|
};
|
|
4
21
|
export default _default;
|
|
5
22
|
//# sourceMappingURL=mrz.utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mrz.utils.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Libs/mrz.utils.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"mrz.utils.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Libs/mrz.utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;sBAOwB,MAAM,KAAG,MAAM;2BAuL7B,MAAM,gBACF,OAAO,KACnB,mBAAmB;0CAwEX,MAAM,KACd,mBAAmB;wCASqB,MAAM,GAAG,IAAI,KAAG,MAAM,GAAG,IAAI;;AAgBxE,wBAKE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Trustchex.d.ts","sourceRoot":"","sources":["../../../src/Trustchex.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,OAAO,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"Trustchex.d.ts","sourceRoot":"","sources":["../../../src/Trustchex.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,OAAO,gCAAgC,CAAC;AAyBxC,UAAU,iBAAiB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;CACrE;AASD,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAyLvC,CAAC;AAWF,eAAe,SAAS,CAAC"}
|
|
@@ -5,5 +5,8 @@ export { LogLevel, setDebugMode, setLogLevel, isDebugEnabled, getLogLevel, trace
|
|
|
5
5
|
export { trackScreenView, trackScreenExit, trackButtonClick, trackError, trackErrorWithDetails, trackApiCall, trackVerificationStart, trackVerificationComplete, trackConsentGiven, trackSessionStart, trackSessionEnd, trackNFCScanStart, trackNFCScanComplete, trackNFCScanFailed, trackFunnelStep, trackStepAbandoned, trackStepSkipped, useScreenTracking, } from './Shared/Libs/analytics.utils';
|
|
6
6
|
export { AnalyticsEventCategory, AnalyticsEventName, ErrorCategory, } from './Shared/Types/analytics.types';
|
|
7
7
|
export type { AnalyticsConfig, AnalyticsEvent, ErrorSeverity, ErrorContext, ErrorEventMetadata, } from './Shared/Types/analytics.types';
|
|
8
|
+
export { default as mrzUtils } from './Shared/Libs/mrz.utils';
|
|
9
|
+
export type { MRZFormat, MRZValidationResult } from './Shared/Libs/mrz.utils';
|
|
10
|
+
export type { MRZFields, MRZFieldName } from './Shared/Types/mrzFields';
|
|
8
11
|
export default Trustchex;
|
|
9
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,SAAS,EACT,UAAU,EACV,QAAQ,EACR,OAAO,GACR,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,qBAAqB,EACrB,YAAY,EACZ,sBAAsB,EACtB,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,GACd,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,SAAS,EACT,UAAU,EACV,QAAQ,EACR,OAAO,GACR,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,qBAAqB,EACrB,YAAY,EACZ,sBAAsB,EACtB,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,GACd,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExE,eAAe,SAAS,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "1.
|
|
1
|
+
export declare const SDK_VERSION = "1.362.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trustchex/react-native-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.362.0",
|
|
4
4
|
"description": "Trustchex mobile app react native SDK for android or ios devices",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
|
@@ -118,6 +118,7 @@
|
|
|
118
118
|
"buffer": "^6.0.3",
|
|
119
119
|
"crypto-js": "^4.2.0",
|
|
120
120
|
"i18next": "^25.3.2",
|
|
121
|
+
"mrz": "^5.0.1",
|
|
121
122
|
"react-i18next": "^15.6.0",
|
|
122
123
|
"uuid": "^11.0.3"
|
|
123
124
|
},
|