petrus-react-native 0.1.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/PetrusReactNative.podspec +20 -0
- package/android/build.gradle +64 -0
- package/android/src/main/AndroidManifest.xml +4 -0
- package/android/src/main/java/com/petrusreactnative/PDF417ScanSession.kt +86 -0
- package/android/src/main/java/com/petrusreactnative/PassportScanSession.kt +137 -0
- package/android/src/main/java/com/petrusreactnative/PetrusCameraView.kt +146 -0
- package/android/src/main/java/com/petrusreactnative/PetrusCameraViewManager.kt +93 -0
- package/android/src/main/java/com/petrusreactnative/PetrusOverlayView.kt +87 -0
- package/android/src/main/java/com/petrusreactnative/PetrusReactNativeModule.kt +253 -0
- package/android/src/main/java/com/petrusreactnative/PetrusReactNativePackage.kt +38 -0
- package/android/src/main/java/com/petrusreactnative/VehicleRegistrationScanSession.kt +119 -0
- package/android/src/main/java/com/petrusreactnative/events/CapturedEvent.kt +30 -0
- package/android/src/main/java/com/petrusreactnative/events/DocumentDetectedEvent.kt +49 -0
- package/android/src/main/java/com/petrusreactnative/events/FrameMetadataEvent.kt +24 -0
- package/android/src/main/java/com/petrusreactnative/mrz/PassportResultMapping.kt +54 -0
- package/android/src/main/java/com/petrusreactnative/ocr/OCRResultMapping.kt +52 -0
- package/android/src/main/java/com/petrusreactnative/pdf417/SouthAfricanDriversLicenseResultMapping.kt +80 -0
- package/android/src/main/java/com/petrusreactnative/sa/SouthAfricanIDResultMapping.kt +50 -0
- package/android/src/main/java/com/petrusreactnative/vehicle/VehicleRegistrationResultMapping.kt +72 -0
- package/ios/PetrusReactNative.h +5 -0
- package/ios/PetrusReactNative.mm +21 -0
- package/lib/module/NativePetrusReactNative.js +5 -0
- package/lib/module/NativePetrusReactNative.js.map +1 -0
- package/lib/module/PetrusCameraView.js +6 -0
- package/lib/module/PetrusCameraView.js.map +1 -0
- package/lib/module/PetrusCameraView.native.js +24 -0
- package/lib/module/PetrusCameraView.native.js.map +1 -0
- package/lib/module/PetrusCameraViewNativeComponent.ts +47 -0
- package/lib/module/cameraPermissions.js +9 -0
- package/lib/module/cameraPermissions.js.map +1 -0
- package/lib/module/cameraPermissions.native.js +10 -0
- package/lib/module/cameraPermissions.native.js.map +1 -0
- package/lib/module/getPipelineVersion.js +6 -0
- package/lib/module/getPipelineVersion.js.map +1 -0
- package/lib/module/getPipelineVersion.native.js +7 -0
- package/lib/module/getPipelineVersion.native.js.map +1 -0
- package/lib/module/index.js +45 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/parseMRZ.js +6 -0
- package/lib/module/parseMRZ.js.map +1 -0
- package/lib/module/parseMRZ.native.js +12 -0
- package/lib/module/parseMRZ.native.js.map +1 -0
- package/lib/module/parseSouthAfricanDriversLicense.js +6 -0
- package/lib/module/parseSouthAfricanDriversLicense.js.map +1 -0
- package/lib/module/parseSouthAfricanDriversLicense.native.js +12 -0
- package/lib/module/parseSouthAfricanDriversLicense.native.js.map +1 -0
- package/lib/module/parseSouthAfricanID.js +6 -0
- package/lib/module/parseSouthAfricanID.js.map +1 -0
- package/lib/module/parseSouthAfricanID.native.js +8 -0
- package/lib/module/parseSouthAfricanID.native.js.map +1 -0
- package/lib/module/parseVehicleRegistration.js +6 -0
- package/lib/module/parseVehicleRegistration.js.map +1 -0
- package/lib/module/parseVehicleRegistration.native.js +8 -0
- package/lib/module/parseVehicleRegistration.native.js.map +1 -0
- package/lib/module/recognizeText.js +6 -0
- package/lib/module/recognizeText.js.map +1 -0
- package/lib/module/recognizeText.native.js +8 -0
- package/lib/module/recognizeText.native.js.map +1 -0
- package/lib/module/scanPDF417.js +6 -0
- package/lib/module/scanPDF417.js.map +1 -0
- package/lib/module/scanPDF417.native.js +8 -0
- package/lib/module/scanPDF417.native.js.map +1 -0
- package/lib/module/scanPassport.js +6 -0
- package/lib/module/scanPassport.js.map +1 -0
- package/lib/module/scanPassport.native.js +13 -0
- package/lib/module/scanPassport.native.js.map +1 -0
- package/lib/module/scanSouthAfricanDriversLicense.js +6 -0
- package/lib/module/scanSouthAfricanDriversLicense.js.map +1 -0
- package/lib/module/scanSouthAfricanDriversLicense.native.js +12 -0
- package/lib/module/scanSouthAfricanDriversLicense.native.js.map +1 -0
- package/lib/module/scanVehicleRegistration.js +6 -0
- package/lib/module/scanVehicleRegistration.js.map +1 -0
- package/lib/module/scanVehicleRegistration.native.js +13 -0
- package/lib/module/scanVehicleRegistration.native.js.map +1 -0
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/NativePetrusReactNative.d.ts +271 -0
- package/lib/typescript/src/NativePetrusReactNative.d.ts.map +1 -0
- package/lib/typescript/src/PetrusCameraView.d.ts +10 -0
- package/lib/typescript/src/PetrusCameraView.d.ts.map +1 -0
- package/lib/typescript/src/PetrusCameraView.native.d.ts +4 -0
- package/lib/typescript/src/PetrusCameraView.native.d.ts.map +1 -0
- package/lib/typescript/src/PetrusCameraViewNativeComponent.d.ts +38 -0
- package/lib/typescript/src/PetrusCameraViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/cameraPermissions.d.ts +4 -0
- package/lib/typescript/src/cameraPermissions.d.ts.map +1 -0
- package/lib/typescript/src/cameraPermissions.native.d.ts +4 -0
- package/lib/typescript/src/cameraPermissions.native.d.ts.map +1 -0
- package/lib/typescript/src/getPipelineVersion.d.ts +2 -0
- package/lib/typescript/src/getPipelineVersion.d.ts.map +1 -0
- package/lib/typescript/src/getPipelineVersion.native.d.ts +2 -0
- package/lib/typescript/src/getPipelineVersion.native.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +45 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/parseMRZ.d.ts +3 -0
- package/lib/typescript/src/parseMRZ.d.ts.map +1 -0
- package/lib/typescript/src/parseMRZ.native.d.ts +8 -0
- package/lib/typescript/src/parseMRZ.native.d.ts.map +1 -0
- package/lib/typescript/src/parseSouthAfricanDriversLicense.d.ts +3 -0
- package/lib/typescript/src/parseSouthAfricanDriversLicense.d.ts.map +1 -0
- package/lib/typescript/src/parseSouthAfricanDriversLicense.native.d.ts +8 -0
- package/lib/typescript/src/parseSouthAfricanDriversLicense.native.d.ts.map +1 -0
- package/lib/typescript/src/parseSouthAfricanID.d.ts +3 -0
- package/lib/typescript/src/parseSouthAfricanID.d.ts.map +1 -0
- package/lib/typescript/src/parseSouthAfricanID.native.d.ts +4 -0
- package/lib/typescript/src/parseSouthAfricanID.native.d.ts.map +1 -0
- package/lib/typescript/src/parseVehicleRegistration.d.ts +3 -0
- package/lib/typescript/src/parseVehicleRegistration.d.ts.map +1 -0
- package/lib/typescript/src/parseVehicleRegistration.native.d.ts +4 -0
- package/lib/typescript/src/parseVehicleRegistration.native.d.ts.map +1 -0
- package/lib/typescript/src/recognizeText.d.ts +3 -0
- package/lib/typescript/src/recognizeText.d.ts.map +1 -0
- package/lib/typescript/src/recognizeText.native.d.ts +4 -0
- package/lib/typescript/src/recognizeText.native.d.ts.map +1 -0
- package/lib/typescript/src/scanPDF417.d.ts +3 -0
- package/lib/typescript/src/scanPDF417.d.ts.map +1 -0
- package/lib/typescript/src/scanPDF417.native.d.ts +4 -0
- package/lib/typescript/src/scanPDF417.native.d.ts.map +1 -0
- package/lib/typescript/src/scanPassport.d.ts +3 -0
- package/lib/typescript/src/scanPassport.d.ts.map +1 -0
- package/lib/typescript/src/scanPassport.native.d.ts +9 -0
- package/lib/typescript/src/scanPassport.native.d.ts.map +1 -0
- package/lib/typescript/src/scanSouthAfricanDriversLicense.d.ts +3 -0
- package/lib/typescript/src/scanSouthAfricanDriversLicense.d.ts.map +1 -0
- package/lib/typescript/src/scanSouthAfricanDriversLicense.native.d.ts +8 -0
- package/lib/typescript/src/scanSouthAfricanDriversLicense.native.d.ts.map +1 -0
- package/lib/typescript/src/scanVehicleRegistration.d.ts +3 -0
- package/lib/typescript/src/scanVehicleRegistration.d.ts.map +1 -0
- package/lib/typescript/src/scanVehicleRegistration.native.d.ts +9 -0
- package/lib/typescript/src/scanVehicleRegistration.native.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +237 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/package.json +124 -0
- package/src/NativePetrusReactNative.ts +303 -0
- package/src/PetrusCameraView.native.tsx +44 -0
- package/src/PetrusCameraView.tsx +19 -0
- package/src/PetrusCameraViewNativeComponent.ts +47 -0
- package/src/cameraPermissions.native.tsx +10 -0
- package/src/cameraPermissions.tsx +13 -0
- package/src/getPipelineVersion.native.tsx +5 -0
- package/src/getPipelineVersion.tsx +5 -0
- package/src/index.tsx +83 -0
- package/src/parseMRZ.native.tsx +11 -0
- package/src/parseMRZ.tsx +7 -0
- package/src/parseSouthAfricanDriversLicense.native.tsx +13 -0
- package/src/parseSouthAfricanDriversLicense.tsx +9 -0
- package/src/parseSouthAfricanID.native.tsx +7 -0
- package/src/parseSouthAfricanID.tsx +7 -0
- package/src/parseVehicleRegistration.native.tsx +9 -0
- package/src/parseVehicleRegistration.tsx +9 -0
- package/src/recognizeText.native.tsx +7 -0
- package/src/recognizeText.tsx +7 -0
- package/src/scanPDF417.native.tsx +7 -0
- package/src/scanPDF417.tsx +7 -0
- package/src/scanPassport.native.tsx +12 -0
- package/src/scanPassport.tsx +7 -0
- package/src/scanSouthAfricanDriversLicense.native.tsx +11 -0
- package/src/scanSouthAfricanDriversLicense.tsx +7 -0
- package/src/scanVehicleRegistration.native.tsx +12 -0
- package/src/scanVehicleRegistration.tsx +7 -0
- package/src/types.ts +272 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
package com.petrusreactnative.pdf417
|
|
2
|
+
|
|
3
|
+
import android.util.Base64
|
|
4
|
+
import com.facebook.react.bridge.Arguments
|
|
5
|
+
import com.facebook.react.bridge.WritableArray
|
|
6
|
+
import com.facebook.react.bridge.WritableMap
|
|
7
|
+
import com.petrus.vision.pdf417.CalendarDate
|
|
8
|
+
import com.petrus.vision.pdf417.PDF417Result
|
|
9
|
+
import com.petrus.vision.pdf417.SouthAfricanDriversLicenseResult
|
|
10
|
+
import com.petrus.vision.pdf417.SouthAfricanDriversLicenseVersion
|
|
11
|
+
import com.petrus.vision.sa.SouthAfricanGender
|
|
12
|
+
import com.petrus.vision.sa.SouthAfricanIDValidator
|
|
13
|
+
|
|
14
|
+
/** Converts petrus-core's plain-Kotlin PDF417/licence model into RN bridge (WritableMap) types. */
|
|
15
|
+
|
|
16
|
+
fun PDF417Result.toWritableMap(): WritableMap =
|
|
17
|
+
Arguments.createMap().apply {
|
|
18
|
+
putString("rawDataBase64", Base64.encodeToString(rawBytes, Base64.NO_WRAP))
|
|
19
|
+
putString("rawText", rawText)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
fun SouthAfricanDriversLicenseResult.toWritableMap(): WritableMap =
|
|
23
|
+
Arguments.createMap().apply {
|
|
24
|
+
putString("version", version.toWireValue())
|
|
25
|
+
putString("surname", surname)
|
|
26
|
+
putString("initials", initials)
|
|
27
|
+
if (idNumber != null) putString("idNumber", idNumber) else putNull("idNumber")
|
|
28
|
+
if (idNumberValidation != null) {
|
|
29
|
+
putMap("idNumberValidation", idNumberValidation.toWritableMap())
|
|
30
|
+
} else {
|
|
31
|
+
putNull("idNumberValidation")
|
|
32
|
+
}
|
|
33
|
+
putString("licenseNumber", licenseNumber)
|
|
34
|
+
putArray("vehicleCodes", vehicleCodes.toWritableStringArray())
|
|
35
|
+
putArray("vehicleRestrictions", vehicleRestrictions.toWritableStringArray())
|
|
36
|
+
if (prdpCode != null) putString("prdpCode", prdpCode) else putNull("prdpCode")
|
|
37
|
+
putString("idCountryOfIssue", idCountryOfIssue)
|
|
38
|
+
putString("licenseCountryOfIssue", licenseCountryOfIssue)
|
|
39
|
+
if (gender != null) putString("gender", gender.toWireValue()) else putNull("gender")
|
|
40
|
+
if (dateOfBirth != null) putMap("dateOfBirth", dateOfBirth.toWritableMap()) else putNull("dateOfBirth")
|
|
41
|
+
if (licenseIssueNumber != null) putInt("licenseIssueNumber", licenseIssueNumber) else putNull("licenseIssueNumber")
|
|
42
|
+
if (licenseValidFrom != null) putMap("licenseValidFrom", licenseValidFrom.toWritableMap()) else putNull("licenseValidFrom")
|
|
43
|
+
if (licenseValidTo != null) putMap("licenseValidTo", licenseValidTo.toWritableMap()) else putNull("licenseValidTo")
|
|
44
|
+
if (prdpExpiry != null) putMap("prdpExpiry", prdpExpiry.toWritableMap()) else putNull("prdpExpiry")
|
|
45
|
+
putArray("driverRestrictionCodes", driverRestrictionCodes.toWritableIntArray())
|
|
46
|
+
putArray("parseWarnings", parseWarnings.toWritableStringArray())
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
private fun SouthAfricanDriversLicenseVersion.toWireValue(): String =
|
|
50
|
+
when (this) {
|
|
51
|
+
SouthAfricanDriversLicenseVersion.V1 -> "v1"
|
|
52
|
+
SouthAfricanDriversLicenseVersion.V2 -> "v2"
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
private fun SouthAfricanGender.toWireValue(): String =
|
|
56
|
+
when (this) {
|
|
57
|
+
SouthAfricanGender.MALE -> "male"
|
|
58
|
+
SouthAfricanGender.FEMALE -> "female"
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
private fun CalendarDate.toWritableMap(): WritableMap =
|
|
62
|
+
Arguments.createMap().apply {
|
|
63
|
+
putInt("year", year)
|
|
64
|
+
putInt("month", month)
|
|
65
|
+
putInt("day", day)
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
private fun SouthAfricanIDValidator.ValidationResult.toWritableMap(): WritableMap =
|
|
69
|
+
Arguments.createMap().apply {
|
|
70
|
+
putBoolean("isValid", isValid)
|
|
71
|
+
putBoolean("hasValidChecksum", hasValidChecksum)
|
|
72
|
+
putBoolean("hasValidDateOfBirth", hasValidDateOfBirth)
|
|
73
|
+
putBoolean("hasValidCitizenshipDigit", hasValidCitizenshipDigit)
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
private fun List<String>.toWritableStringArray(): WritableArray =
|
|
77
|
+
Arguments.createArray().apply { forEach { pushString(it) } }
|
|
78
|
+
|
|
79
|
+
private fun List<Int>.toWritableIntArray(): WritableArray =
|
|
80
|
+
Arguments.createArray().apply { forEach { pushInt(it) } }
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
package com.petrusreactnative.sa
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Arguments
|
|
4
|
+
import com.facebook.react.bridge.WritableMap
|
|
5
|
+
import com.petrus.vision.sa.SouthAfricanCitizenship
|
|
6
|
+
import com.petrus.vision.sa.SouthAfricanDateOfBirth
|
|
7
|
+
import com.petrus.vision.sa.SouthAfricanGender
|
|
8
|
+
import com.petrus.vision.sa.SouthAfricanIDResult
|
|
9
|
+
import com.petrus.vision.sa.SouthAfricanIDValidator
|
|
10
|
+
|
|
11
|
+
/** Converts petrus-core's plain-Kotlin SA ID model into RN bridge (WritableMap) types. */
|
|
12
|
+
|
|
13
|
+
fun SouthAfricanIDResult.toWritableMap(): WritableMap =
|
|
14
|
+
Arguments.createMap().apply {
|
|
15
|
+
if (idNumber != null) putString("idNumber", idNumber) else putNull("idNumber")
|
|
16
|
+
putBoolean("isValid", isValid)
|
|
17
|
+
if (dateOfBirth != null) putMap("dateOfBirth", dateOfBirth.toWritableMap()) else putNull("dateOfBirth")
|
|
18
|
+
if (gender != null) putString("gender", gender.toWireValue()) else putNull("gender")
|
|
19
|
+
if (citizenship != null) putString("citizenship", citizenship.toWireValue()) else putNull("citizenship")
|
|
20
|
+
if (validation != null) putMap("validation", validation.toWritableMap()) else putNull("validation")
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
private fun SouthAfricanDateOfBirth.toWritableMap(): WritableMap =
|
|
24
|
+
Arguments.createMap().apply {
|
|
25
|
+
putInt("year", year)
|
|
26
|
+
putInt("month", month)
|
|
27
|
+
putInt("day", day)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
private fun SouthAfricanGender.toWireValue(): String =
|
|
31
|
+
when (this) {
|
|
32
|
+
SouthAfricanGender.MALE -> "male"
|
|
33
|
+
SouthAfricanGender.FEMALE -> "female"
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
private fun SouthAfricanCitizenship.toWireValue(): String =
|
|
37
|
+
when (this) {
|
|
38
|
+
SouthAfricanCitizenship.CITIZEN -> "citizen"
|
|
39
|
+
SouthAfricanCitizenship.PERMANENT_RESIDENT -> "permanent_resident"
|
|
40
|
+
SouthAfricanCitizenship.REFUGEE -> "refugee"
|
|
41
|
+
SouthAfricanCitizenship.UNKNOWN -> "unknown"
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
private fun SouthAfricanIDValidator.ValidationResult.toWritableMap(): WritableMap =
|
|
45
|
+
Arguments.createMap().apply {
|
|
46
|
+
putBoolean("isValid", isValid)
|
|
47
|
+
putBoolean("hasValidChecksum", hasValidChecksum)
|
|
48
|
+
putBoolean("hasValidDateOfBirth", hasValidDateOfBirth)
|
|
49
|
+
putBoolean("hasValidCitizenshipDigit", hasValidCitizenshipDigit)
|
|
50
|
+
}
|
package/android/src/main/java/com/petrusreactnative/vehicle/VehicleRegistrationResultMapping.kt
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
package com.petrusreactnative.vehicle
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Arguments
|
|
4
|
+
import com.facebook.react.bridge.WritableMap
|
|
5
|
+
import com.petrus.vision.sa.SouthAfricanIDValidator
|
|
6
|
+
import com.petrus.vision.vehicle.VINValidator
|
|
7
|
+
import com.petrus.vision.vehicle.VehicleDocumentType
|
|
8
|
+
import com.petrus.vision.vehicle.VehicleRegistrationResult
|
|
9
|
+
import com.petrus.vision.vehicle.VehicleRegistrationValidator
|
|
10
|
+
|
|
11
|
+
/** Converts petrus-core's plain-Kotlin vehicle registration model into RN bridge (WritableMap) types. */
|
|
12
|
+
|
|
13
|
+
fun VehicleRegistrationResult.toWritableMap(): WritableMap =
|
|
14
|
+
Arguments.createMap().apply {
|
|
15
|
+
putString("documentType", documentType.toWireValue())
|
|
16
|
+
if (registrationNumber != null) putString("registrationNumber", registrationNumber) else putNull("registrationNumber")
|
|
17
|
+
if (vin != null) putString("vin", vin) else putNull("vin")
|
|
18
|
+
if (vinValidation != null) putMap("vinValidation", vinValidation.toWritableMap()) else putNull("vinValidation")
|
|
19
|
+
if (engineNumber != null) putString("engineNumber", engineNumber) else putNull("engineNumber")
|
|
20
|
+
if (make != null) putString("make", make) else putNull("make")
|
|
21
|
+
if (model != null) putString("model", model) else putNull("model")
|
|
22
|
+
if (yearModel != null) putInt("yearModel", yearModel) else putNull("yearModel")
|
|
23
|
+
if (ownerName != null) putString("ownerName", ownerName) else putNull("ownerName")
|
|
24
|
+
if (ownerIdNumber != null) putString("ownerIdNumber", ownerIdNumber) else putNull("ownerIdNumber")
|
|
25
|
+
if (ownerIdValidation != null) {
|
|
26
|
+
putMap("ownerIdValidation", ownerIdValidation.toWritableMap())
|
|
27
|
+
} else {
|
|
28
|
+
putNull("ownerIdValidation")
|
|
29
|
+
}
|
|
30
|
+
putMap("validation", validation.toWritableMap())
|
|
31
|
+
putArray("parseWarnings", parseWarnings.toWritableStringArray())
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
private fun VehicleDocumentType.toWireValue(): String =
|
|
35
|
+
when (this) {
|
|
36
|
+
VehicleDocumentType.REGISTRATION_CERTIFICATE -> "registration_certificate"
|
|
37
|
+
VehicleDocumentType.LICENSE_DISC -> "license_disc"
|
|
38
|
+
VehicleDocumentType.NOTIFICATION_OF_CHANGE -> "notification_of_change"
|
|
39
|
+
VehicleDocumentType.ROADWORTHY_CERTIFICATE -> "roadworthy_certificate"
|
|
40
|
+
VehicleDocumentType.UNKNOWN -> "unknown"
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
private fun VINValidator.ValidationResult.toWritableMap(): WritableMap =
|
|
44
|
+
Arguments.createMap().apply {
|
|
45
|
+
putBoolean("hasValidLength", hasValidLength)
|
|
46
|
+
putBoolean("hasValidCharacterSet", hasValidCharacterSet)
|
|
47
|
+
putBoolean("isStructurallyValid", isStructurallyValid)
|
|
48
|
+
if (northAmericanCheckDigitValid != null) {
|
|
49
|
+
putBoolean("northAmericanCheckDigitValid", northAmericanCheckDigitValid)
|
|
50
|
+
} else {
|
|
51
|
+
putNull("northAmericanCheckDigitValid")
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
private fun VehicleRegistrationValidator.ValidationResult.toWritableMap(): WritableMap =
|
|
56
|
+
Arguments.createMap().apply {
|
|
57
|
+
putBoolean("isValid", isValid)
|
|
58
|
+
putBoolean("hasStructurallyValidVin", hasStructurallyValidVin)
|
|
59
|
+
putBoolean("hasPlausibleRegistrationNumber", hasPlausibleRegistrationNumber)
|
|
60
|
+
putBoolean("hasPlausibleYearModel", hasPlausibleYearModel)
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
private fun SouthAfricanIDValidator.ValidationResult.toWritableMap(): WritableMap =
|
|
64
|
+
Arguments.createMap().apply {
|
|
65
|
+
putBoolean("isValid", isValid)
|
|
66
|
+
putBoolean("hasValidChecksum", hasValidChecksum)
|
|
67
|
+
putBoolean("hasValidDateOfBirth", hasValidDateOfBirth)
|
|
68
|
+
putBoolean("hasValidCitizenshipDigit", hasValidCitizenshipDigit)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
private fun List<String>.toWritableStringArray() =
|
|
72
|
+
Arguments.createArray().apply { forEach { pushString(it) } }
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#import "PetrusReactNative.h"
|
|
2
|
+
|
|
3
|
+
@implementation PetrusReactNative
|
|
4
|
+
// Phase 0 placeholder: petrus-core is Android-only so far (see architecture doc),
|
|
5
|
+
// this just keeps the iOS side of the TurboModule contract compiling/inert.
|
|
6
|
+
- (NSString *)getPipelineVersion {
|
|
7
|
+
return @"petrus-core@unavailable-ios-phase0";
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
11
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params
|
|
12
|
+
{
|
|
13
|
+
return std::make_shared<facebook::react::NativePetrusReactNativeSpecJSI>(params);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
+ (NSString *)moduleName
|
|
17
|
+
{
|
|
18
|
+
return @"PetrusReactNative";
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"..\\..\\src","sources":["NativePetrusReactNative.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAA0B,cAAc;AA8SpE,eAAeA,mBAAmB,CAACC,YAAY,CAAO,mBAAmB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PetrusCameraView","_props","Error"],"sourceRoot":"..\\..\\src","sources":["PetrusCameraView.tsx"],"mappings":";;AAcA,OAAO,SAASA,gBAAgBA,CAACC,MAA6B,EAAS;EACrE,MAAM,IAAIC,KAAK,CACb,gFACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import NativePetrusCameraView from './PetrusCameraViewNativeComponent';
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
export function PetrusCameraView({
|
|
6
|
+
onFrameMetadata,
|
|
7
|
+
onDocumentDetected,
|
|
8
|
+
onCaptured,
|
|
9
|
+
...rest
|
|
10
|
+
}) {
|
|
11
|
+
return /*#__PURE__*/_jsx(NativePetrusCameraView, {
|
|
12
|
+
...rest,
|
|
13
|
+
onFrameMetadata: onFrameMetadata == null ? undefined : event => {
|
|
14
|
+
onFrameMetadata(event.nativeEvent);
|
|
15
|
+
},
|
|
16
|
+
onDocumentDetected: onDocumentDetected == null ? undefined : event => {
|
|
17
|
+
onDocumentDetected(event.nativeEvent);
|
|
18
|
+
},
|
|
19
|
+
onCaptured: onCaptured == null ? undefined : event => {
|
|
20
|
+
onCaptured(event.nativeEvent);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=PetrusCameraView.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativePetrusCameraView","jsx","_jsx","PetrusCameraView","onFrameMetadata","onDocumentDetected","onCaptured","rest","undefined","event","nativeEvent"],"sourceRoot":"..\\..\\src","sources":["PetrusCameraView.native.tsx"],"mappings":";;AACA,OAAOA,sBAAsB,MAAM,mCAAmC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUvE,OAAO,SAASC,gBAAgBA,CAAC;EAC/BC,eAAe;EACfC,kBAAkB;EAClBC,UAAU;EACV,GAAGC;AACkB,CAAC,EAAE;EACxB,oBACEL,IAAA,CAACF,sBAAsB;IAAA,GACjBO,IAAI;IACRH,eAAe,EACbA,eAAe,IAAI,IAAI,GACnBI,SAAS,GACRC,KAAgD,IAAK;MACpDL,eAAe,CAACK,KAAK,CAACC,WAAW,CAAC;IACpC,CACL;IACDL,kBAAkB,EAChBA,kBAAkB,IAAI,IAAI,GACtBG,SAAS,GACRC,KAAwD,IAAK;MAC5DJ,kBAAkB,CAACI,KAAK,CAACC,WAAW,CAAC;IACvC,CACL;IACDJ,UAAU,EACRA,UAAU,IAAI,IAAI,GACdE,SAAS,GACRC,KAAgD,IAAK;MACpDH,UAAU,CAACG,KAAK,CAACC,WAAW,CAAC;IAC/B;EACL,CACF,CAAC;AAEN","ignoreList":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { codegenNativeComponent, type ViewProps, type CodegenTypes } from 'react-native';
|
|
2
|
+
|
|
3
|
+
type NativePoint2D = Readonly<{
|
|
4
|
+
x: CodegenTypes.Double;
|
|
5
|
+
y: CodegenTypes.Double;
|
|
6
|
+
}>;
|
|
7
|
+
|
|
8
|
+
// Always sent as a well-formed object (zeroed when nothing's detected), never
|
|
9
|
+
// null/omitted -- avoids relying on nullable/optional object support in the event
|
|
10
|
+
// codegen path. `detected`/callers should treat these as meaningless when unset.
|
|
11
|
+
type NativeDocumentCorners = Readonly<{
|
|
12
|
+
topLeft: NativePoint2D;
|
|
13
|
+
topRight: NativePoint2D;
|
|
14
|
+
bottomRight: NativePoint2D;
|
|
15
|
+
bottomLeft: NativePoint2D;
|
|
16
|
+
frameWidth: CodegenTypes.Int32;
|
|
17
|
+
frameHeight: CodegenTypes.Int32;
|
|
18
|
+
rotationDegrees: CodegenTypes.Int32;
|
|
19
|
+
}>;
|
|
20
|
+
|
|
21
|
+
export interface NativeProps extends ViewProps {
|
|
22
|
+
isActive?: CodegenTypes.WithDefault<boolean, false>;
|
|
23
|
+
|
|
24
|
+
onFrameMetadata?: CodegenTypes.DirectEventHandler<{
|
|
25
|
+
width: CodegenTypes.Int32;
|
|
26
|
+
height: CodegenTypes.Int32;
|
|
27
|
+
rotation: CodegenTypes.Int32;
|
|
28
|
+
// Epoch milliseconds -- exceeds Int32 range, so this must be Double.
|
|
29
|
+
timestamp: CodegenTypes.Double;
|
|
30
|
+
}>;
|
|
31
|
+
|
|
32
|
+
onDocumentDetected?: CodegenTypes.DirectEventHandler<{
|
|
33
|
+
detected: boolean;
|
|
34
|
+
isStable: boolean;
|
|
35
|
+
stableDurationMs: CodegenTypes.Double;
|
|
36
|
+
confidence: CodegenTypes.Double;
|
|
37
|
+
corners: NativeDocumentCorners;
|
|
38
|
+
}>;
|
|
39
|
+
|
|
40
|
+
onCaptured?: CodegenTypes.DirectEventHandler<{
|
|
41
|
+
corners: NativeDocumentCorners;
|
|
42
|
+
confidence: CodegenTypes.Double;
|
|
43
|
+
timestamp: CodegenTypes.Double;
|
|
44
|
+
}>;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export default codegenNativeComponent<NativeProps>('PetrusCameraView');
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export function checkPermission() {
|
|
4
|
+
return Promise.reject(new Error("'petrus-react-native' is only supported on native platforms."));
|
|
5
|
+
}
|
|
6
|
+
export function requestPermission() {
|
|
7
|
+
return Promise.reject(new Error("'petrus-react-native' is only supported on native platforms."));
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=cameraPermissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["checkPermission","Promise","reject","Error","requestPermission"],"sourceRoot":"..\\..\\src","sources":["cameraPermissions.tsx"],"mappings":";;AAEA,OAAO,SAASA,eAAeA,CAAA,EAA0C;EACvE,OAAOC,OAAO,CAACC,MAAM,CACnB,IAAIC,KAAK,CAAC,8DAA8D,CAC1E,CAAC;AACH;AAEA,OAAO,SAASC,iBAAiBA,CAAA,EAA0C;EACzE,OAAOH,OAAO,CAACC,MAAM,CACnB,IAAIC,KAAK,CAAC,8DAA8D,CAC1E,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import PetrusReactNative from "./NativePetrusReactNative.js";
|
|
4
|
+
export function checkPermission() {
|
|
5
|
+
return PetrusReactNative.checkPermission();
|
|
6
|
+
}
|
|
7
|
+
export function requestPermission() {
|
|
8
|
+
return PetrusReactNative.requestPermission();
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=cameraPermissions.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PetrusReactNative","checkPermission","requestPermission"],"sourceRoot":"..\\..\\src","sources":["cameraPermissions.native.tsx"],"mappings":";;AAAA,OAAOA,iBAAiB,MAAM,8BAA2B;AAGzD,OAAO,SAASC,eAAeA,CAAA,EAA0C;EACvE,OAAOD,iBAAiB,CAACC,eAAe,CAAC,CAAC;AAC5C;AAEA,OAAO,SAASC,iBAAiBA,CAAA,EAA0C;EACzE,OAAOF,iBAAiB,CAACE,iBAAiB,CAAC,CAAC;AAC9C","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getPipelineVersion","Error"],"sourceRoot":"..\\..\\src","sources":["getPipelineVersion.tsx"],"mappings":";;AAAA,OAAO,SAASA,kBAAkBA,CAAA,EAAW;EAC3C,MAAM,IAAIC,KAAK,CACb,8DACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PetrusReactNative","getPipelineVersion"],"sourceRoot":"..\\..\\src","sources":["getPipelineVersion.native.tsx"],"mappings":";;AAAA,OAAOA,iBAAiB,MAAM,8BAA2B;AAEzD,OAAO,SAASC,kBAAkBA,CAAA,EAAW;EAC3C,OAAOD,iBAAiB,CAACC,kBAAkB,CAAC,CAAC;AAC/C","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { getPipelineVersion } from './getPipelineVersion';
|
|
4
|
+
import { checkPermission, requestPermission } from './cameraPermissions';
|
|
5
|
+
import { recognizeText } from './recognizeText';
|
|
6
|
+
import { parseSouthAfricanID } from './parseSouthAfricanID';
|
|
7
|
+
import { scanPDF417 } from './scanPDF417';
|
|
8
|
+
import { parseSouthAfricanDriversLicense } from './parseSouthAfricanDriversLicense';
|
|
9
|
+
import { scanSouthAfricanDriversLicense } from './scanSouthAfricanDriversLicense';
|
|
10
|
+
import { parseVehicleRegistration } from './parseVehicleRegistration';
|
|
11
|
+
import { scanVehicleRegistration } from './scanVehicleRegistration';
|
|
12
|
+
import { parseMRZ } from './parseMRZ';
|
|
13
|
+
import { scanPassport } from './scanPassport';
|
|
14
|
+
export { getPipelineVersion } from './getPipelineVersion';
|
|
15
|
+
export { PetrusCameraView } from './PetrusCameraView';
|
|
16
|
+
export { checkPermission, requestPermission } from './cameraPermissions';
|
|
17
|
+
export { recognizeText } from './recognizeText';
|
|
18
|
+
export { parseSouthAfricanID } from './parseSouthAfricanID';
|
|
19
|
+
export { scanPDF417 } from './scanPDF417';
|
|
20
|
+
export { parseSouthAfricanDriversLicense } from './parseSouthAfricanDriversLicense';
|
|
21
|
+
export { scanSouthAfricanDriversLicense } from './scanSouthAfricanDriversLicense';
|
|
22
|
+
export { parseVehicleRegistration } from './parseVehicleRegistration';
|
|
23
|
+
export { scanVehicleRegistration } from './scanVehicleRegistration';
|
|
24
|
+
export { parseMRZ } from './parseMRZ';
|
|
25
|
+
export { scanPassport } from './scanPassport';
|
|
26
|
+
/**
|
|
27
|
+
* Namespaced convenience alias over the same functions above (e.g.
|
|
28
|
+
* `Petrus.parseSouthAfricanID(text)`), for callers who prefer a single import over
|
|
29
|
+
* multiple named ones. Both forms call the same underlying implementation.
|
|
30
|
+
*/
|
|
31
|
+
export const Petrus = {
|
|
32
|
+
getPipelineVersion,
|
|
33
|
+
checkPermission,
|
|
34
|
+
requestPermission,
|
|
35
|
+
recognizeText,
|
|
36
|
+
parseSouthAfricanID,
|
|
37
|
+
scanPDF417,
|
|
38
|
+
parseSouthAfricanDriversLicense,
|
|
39
|
+
scanSouthAfricanDriversLicense,
|
|
40
|
+
parseVehicleRegistration,
|
|
41
|
+
scanVehicleRegistration,
|
|
42
|
+
parseMRZ,
|
|
43
|
+
scanPassport
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getPipelineVersion","checkPermission","requestPermission","recognizeText","parseSouthAfricanID","scanPDF417","parseSouthAfricanDriversLicense","scanSouthAfricanDriversLicense","parseVehicleRegistration","scanVehicleRegistration","parseMRZ","scanPassport","PetrusCameraView","Petrus"],"sourceRoot":"..\\..\\src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,eAAe,EAAEC,iBAAiB,QAAQ,qBAAqB;AACxE,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,+BAA+B,QAAQ,mCAAmC;AACnF,SAASC,8BAA8B,QAAQ,kCAAkC;AACjF,SAASC,wBAAwB,QAAQ,4BAA4B;AACrE,SAASC,uBAAuB,QAAQ,2BAA2B;AACnE,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,YAAY,QAAQ,gBAAgB;AAE7C,SAASX,kBAAkB,QAAQ,sBAAsB;AAEzD,SAASY,gBAAgB,QAAQ,oBAAoB;AAGrD,SAASX,eAAe,EAAEC,iBAAiB,QAAQ,qBAAqB;AAExE,SAASC,aAAa,QAAQ,iBAAiB;AAE/C,SAASC,mBAAmB,QAAQ,uBAAuB;AAE3D,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,+BAA+B,QAAQ,mCAAmC;AACnF,SAASC,8BAA8B,QAAQ,kCAAkC;AAEjF,SAASC,wBAAwB,QAAQ,4BAA4B;AACrE,SAASC,uBAAuB,QAAQ,2BAA2B;AAEnE,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,YAAY,QAAQ,gBAAgB;AAiC7C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,MAAM,GAAG;EACpBb,kBAAkB;EAClBC,eAAe;EACfC,iBAAiB;EACjBC,aAAa;EACbC,mBAAmB;EACnBC,UAAU;EACVC,+BAA+B;EAC/BC,8BAA8B;EAC9BC,wBAAwB;EACxBC,uBAAuB;EACvBC,QAAQ;EACRC;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["parseMRZ","_text","Error"],"sourceRoot":"..\\..\\src","sources":["parseMRZ.tsx"],"mappings":";;AAEA,OAAO,SAASA,QAAQA,CAACC,KAAa,EAAkB;EACtD,MAAM,IAAIC,KAAK,CACb,8DACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import PetrusReactNative from "./NativePetrusReactNative.js";
|
|
4
|
+
/**
|
|
5
|
+
* `text` is expected to be MRZ OCR output (e.g. recognizeText's `fullText`,
|
|
6
|
+
* already cropped to the MRZ region, or pasted raw two-line MRZ text). Never
|
|
7
|
+
* throws -- see PassportResult's doc comment for the "no MRZ found" shape.
|
|
8
|
+
*/
|
|
9
|
+
export function parseMRZ(text) {
|
|
10
|
+
return PetrusReactNative.parseMRZ(text);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=parseMRZ.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PetrusReactNative","parseMRZ","text"],"sourceRoot":"..\\..\\src","sources":["parseMRZ.native.tsx"],"mappings":";;AAAA,OAAOA,iBAAiB,MAAM,8BAA2B;AAGzD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,QAAQA,CAACC,IAAY,EAAkB;EACrD,OAAOF,iBAAiB,CAACC,QAAQ,CAACC,IAAI,CAAC;AACzC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["parseSouthAfricanDriversLicense","_rawDataBase64","Error"],"sourceRoot":"..\\..\\src","sources":["parseSouthAfricanDriversLicense.tsx"],"mappings":";;AAEA,OAAO,SAASA,+BAA+BA,CAC7CC,cAAsB,EACY;EAClC,MAAM,IAAIC,KAAK,CACb,8DACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import PetrusReactNative from "./NativePetrusReactNative.js";
|
|
4
|
+
/**
|
|
5
|
+
* `rawDataBase64` is expected to be already-scanned raw barcode bytes (e.g.
|
|
6
|
+
* scanPDF417's `rawDataBase64`). Throws if it doesn't decode to a recognized SA
|
|
7
|
+
* driver's licence barcode format.
|
|
8
|
+
*/
|
|
9
|
+
export function parseSouthAfricanDriversLicense(rawDataBase64) {
|
|
10
|
+
return PetrusReactNative.parseSouthAfricanDriversLicense(rawDataBase64);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=parseSouthAfricanDriversLicense.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PetrusReactNative","parseSouthAfricanDriversLicense","rawDataBase64"],"sourceRoot":"..\\..\\src","sources":["parseSouthAfricanDriversLicense.native.tsx"],"mappings":";;AAAA,OAAOA,iBAAiB,MAAM,8BAA2B;AAGzD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,+BAA+BA,CAC7CC,aAAqB,EACa;EAClC,OAAOF,iBAAiB,CAACC,+BAA+B,CAACC,aAAa,CAAC;AACzE","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["parseSouthAfricanID","_text","Error"],"sourceRoot":"..\\..\\src","sources":["parseSouthAfricanID.tsx"],"mappings":";;AAEA,OAAO,SAASA,mBAAmBA,CAACC,KAAa,EAAwB;EACvE,MAAM,IAAIC,KAAK,CACb,8DACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import PetrusReactNative from "./NativePetrusReactNative.js";
|
|
4
|
+
/** `text` is expected to be OCR output (e.g. recognizeText's `fullText`). */
|
|
5
|
+
export function parseSouthAfricanID(text) {
|
|
6
|
+
return PetrusReactNative.parseSouthAfricanID(text);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=parseSouthAfricanID.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PetrusReactNative","parseSouthAfricanID","text"],"sourceRoot":"..\\..\\src","sources":["parseSouthAfricanID.native.tsx"],"mappings":";;AAAA,OAAOA,iBAAiB,MAAM,8BAA2B;AAGzD;AACA,OAAO,SAASC,mBAAmBA,CAACC,IAAY,EAAwB;EACtE,OAAOF,iBAAiB,CAACC,mBAAmB,CAACC,IAAI,CAAC;AACpD","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["parseVehicleRegistration","_text","Error"],"sourceRoot":"..\\..\\src","sources":["parseVehicleRegistration.tsx"],"mappings":";;AAEA,OAAO,SAASA,wBAAwBA,CACtCC,KAAa,EACc;EAC3B,MAAM,IAAIC,KAAK,CACb,8DACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import PetrusReactNative from "./NativePetrusReactNative.js";
|
|
4
|
+
/** `text` is expected to be OCR output (e.g. recognizeText's `fullText`). */
|
|
5
|
+
export function parseVehicleRegistration(text) {
|
|
6
|
+
return PetrusReactNative.parseVehicleRegistration(text);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=parseVehicleRegistration.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PetrusReactNative","parseVehicleRegistration","text"],"sourceRoot":"..\\..\\src","sources":["parseVehicleRegistration.native.tsx"],"mappings":";;AAAA,OAAOA,iBAAiB,MAAM,8BAA2B;AAGzD;AACA,OAAO,SAASC,wBAAwBA,CACtCC,IAAY,EACe;EAC3B,OAAOF,iBAAiB,CAACC,wBAAwB,CAACC,IAAI,CAAC;AACzD","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["recognizeText","_imagePath","Promise","reject","Error"],"sourceRoot":"..\\..\\src","sources":["recognizeText.tsx"],"mappings":";;AAEA,OAAO,SAASA,aAAaA,CAACC,UAAkB,EAAsB;EACpE,OAAOC,OAAO,CAACC,MAAM,CACnB,IAAIC,KAAK,CAAC,8DAA8D,CAC1E,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import PetrusReactNative from "./NativePetrusReactNative.js";
|
|
4
|
+
/** `imagePath` may be a bare filesystem path or a URI (file://, content://, ...). */
|
|
5
|
+
export function recognizeText(imagePath) {
|
|
6
|
+
return PetrusReactNative.recognizeText(imagePath);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=recognizeText.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PetrusReactNative","recognizeText","imagePath"],"sourceRoot":"..\\..\\src","sources":["recognizeText.native.tsx"],"mappings":";;AAAA,OAAOA,iBAAiB,MAAM,8BAA2B;AAGzD;AACA,OAAO,SAASC,aAAaA,CAACC,SAAiB,EAAsB;EACnE,OAAOF,iBAAiB,CAACC,aAAa,CAACC,SAAS,CAAC;AACnD","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["scanPDF417","_imagePath","Promise","reject","Error"],"sourceRoot":"..\\..\\src","sources":["scanPDF417.tsx"],"mappings":";;AAEA,OAAO,SAASA,UAAUA,CAACC,UAAkB,EAA6B;EACxE,OAAOC,OAAO,CAACC,MAAM,CACnB,IAAIC,KAAK,CAAC,8DAA8D,CAC1E,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import PetrusReactNative from "./NativePetrusReactNative.js";
|
|
4
|
+
/** `imagePath` may be a bare filesystem path or a URI (file://, content://, ...). */
|
|
5
|
+
export function scanPDF417(imagePath) {
|
|
6
|
+
return PetrusReactNative.scanPDF417(imagePath);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=scanPDF417.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PetrusReactNative","scanPDF417","imagePath"],"sourceRoot":"..\\..\\src","sources":["scanPDF417.native.tsx"],"mappings":";;AAAA,OAAOA,iBAAiB,MAAM,8BAA2B;AAGzD;AACA,OAAO,SAASC,UAAUA,CAACC,SAAiB,EAA6B;EACvE,OAAOF,iBAAiB,CAACC,UAAU,CAACC,SAAS,CAAC;AAChD","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["scanPassport","Promise","reject","Error"],"sourceRoot":"..\\..\\src","sources":["scanPassport.tsx"],"mappings":";;AAEA,OAAO,SAASA,YAAYA,CAAA,EAA4B;EACtD,OAAOC,OAAO,CAACC,MAAM,CACnB,IAAIC,KAAK,CAAC,8DAA8D,CAC1E,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import PetrusReactNative from "./NativePetrusReactNative.js";
|
|
4
|
+
/**
|
|
5
|
+
* Opens a headless (no preview UI) camera session; per frame, detects the
|
|
6
|
+
* document boundary, crops just the MRZ band, runs OCR on only that crop, and
|
|
7
|
+
* parses it -- stops once a frame yields a non-empty passport number. Rejects
|
|
8
|
+
* on timeout (~20s) or if no Activity is available.
|
|
9
|
+
*/
|
|
10
|
+
export function scanPassport() {
|
|
11
|
+
return PetrusReactNative.scanPassport();
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=scanPassport.native.js.map
|