@trustchex/react-native-sdk 1.354.1 → 1.357.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.
Files changed (256) hide show
  1. package/README.md +2 -9
  2. package/TrustchexSDK.podspec +5 -4
  3. package/android/build.gradle +6 -4
  4. package/android/src/main/AndroidManifest.xml +1 -1
  5. package/android/src/main/java/com/trustchex/reactnativesdk/TrustchexSDKPackage.kt +45 -25
  6. package/android/src/main/java/com/trustchex/reactnativesdk/camera/TrustchexCameraManager.kt +168 -0
  7. package/android/src/main/java/com/trustchex/reactnativesdk/camera/TrustchexCameraView.kt +871 -0
  8. package/android/src/main/java/com/trustchex/reactnativesdk/mlkit/MLKitModule.kt +245 -0
  9. package/android/src/main/java/com/trustchex/reactnativesdk/mrz/MRZValidationModule.kt +785 -0
  10. package/android/src/main/java/com/trustchex/reactnativesdk/mrz/MRZValidator.kt +419 -0
  11. package/android/src/main/java/com/trustchex/reactnativesdk/opencv/OpenCVModule.kt +818 -0
  12. package/ios/Camera/TrustchexCameraManager.m +37 -0
  13. package/ios/Camera/TrustchexCameraManager.swift +125 -0
  14. package/ios/Camera/TrustchexCameraView.swift +1176 -0
  15. package/ios/MLKit/MLKitModule.m +23 -0
  16. package/ios/MLKit/MLKitModule.swift +250 -0
  17. package/ios/MRZValidation.m +39 -0
  18. package/ios/MRZValidation.swift +802 -0
  19. package/ios/MRZValidator.swift +466 -0
  20. package/ios/OpenCV/OpenCVModule.h +4 -0
  21. package/ios/OpenCV/OpenCVModule.mm +810 -0
  22. package/lib/module/Screens/Dynamic/IdentityDocumentEIDScanningScreen.js +2 -3
  23. package/lib/module/Screens/Dynamic/IdentityDocumentScanningScreen.js +1 -2
  24. package/lib/module/Screens/Dynamic/LivenessDetectionScreen.js +418 -193
  25. package/lib/module/Screens/Static/OTPVerificationScreen.js +11 -11
  26. package/lib/module/Screens/Static/QrCodeScanningScreen.js +5 -1
  27. package/lib/module/Screens/Static/ResultScreen.js +25 -13
  28. package/lib/module/Screens/Static/VerificationSessionCheckScreen.js +25 -7
  29. package/lib/module/Shared/Components/DebugNavigationPanel.js +234 -24
  30. package/lib/module/Shared/Components/EIDScanner.js +99 -9
  31. package/lib/module/Shared/Components/FaceCamera.js +170 -179
  32. package/lib/module/Shared/Components/IdentityDocumentCamera.js +2149 -778
  33. package/lib/module/Shared/Components/QrCodeScannerCamera.js +109 -107
  34. package/lib/module/Shared/Components/TrustchexCamera.js +122 -0
  35. package/lib/module/Shared/EIDReader/tlv/tlv.helpers.js +91 -0
  36. package/lib/module/Shared/EIDReader/tlv/tlv.utils.js +2 -124
  37. package/lib/module/Shared/EIDReader/tlv/tlvInputStream.js +4 -4
  38. package/lib/module/Shared/EIDReader/tlv/tlvOutputState.js +4 -4
  39. package/lib/module/Shared/EIDReader/tlv/tlvOutputStream.js +4 -4
  40. package/lib/module/Shared/Libs/analytics.utils.js +2 -2
  41. package/lib/module/Shared/Libs/debug.utils.js +132 -0
  42. package/lib/module/Shared/Libs/deeplink.utils.js +6 -5
  43. package/lib/module/Shared/Libs/demo.utils.js +13 -3
  44. package/lib/module/Shared/Libs/http-client.js +1 -0
  45. package/lib/module/Shared/Libs/mrz.utils.js +1 -176
  46. package/lib/module/Shared/Libs/native-device-info.utils.js +12 -6
  47. package/lib/module/Shared/Libs/tts.utils.js +40 -6
  48. package/lib/module/Shared/Services/AnalyticsService.js +9 -8
  49. package/lib/module/Shared/Types/mrzFields.js +1 -0
  50. package/lib/module/Translation/Resources/en.js +87 -88
  51. package/lib/module/Translation/Resources/tr.js +84 -85
  52. package/lib/module/Trustchex.js +10 -19
  53. package/lib/module/index.js +1 -0
  54. package/lib/module/version.js +1 -1
  55. package/lib/typescript/src/Screens/Dynamic/IdentityDocumentEIDScanningScreen.d.ts.map +1 -1
  56. package/lib/typescript/src/Screens/Dynamic/IdentityDocumentScanningScreen.d.ts.map +1 -1
  57. package/lib/typescript/src/Screens/Dynamic/LivenessDetectionScreen.d.ts.map +1 -1
  58. package/lib/typescript/src/Screens/Static/OTPVerificationScreen.d.ts.map +1 -1
  59. package/lib/typescript/src/Screens/Static/QrCodeScanningScreen.d.ts.map +1 -1
  60. package/lib/typescript/src/Screens/Static/ResultScreen.d.ts.map +1 -1
  61. package/lib/typescript/src/Screens/Static/VerificationSessionCheckScreen.d.ts.map +1 -1
  62. package/lib/typescript/src/Shared/Components/DebugNavigationPanel.d.ts.map +1 -1
  63. package/lib/typescript/src/Shared/Components/EIDScanner.d.ts +2 -2
  64. package/lib/typescript/src/Shared/Components/EIDScanner.d.ts.map +1 -1
  65. package/lib/typescript/src/Shared/Components/FaceCamera.d.ts +18 -4
  66. package/lib/typescript/src/Shared/Components/FaceCamera.d.ts.map +1 -1
  67. package/lib/typescript/src/Shared/Components/IdentityDocumentCamera.d.ts +3 -4
  68. package/lib/typescript/src/Shared/Components/IdentityDocumentCamera.d.ts.map +1 -1
  69. package/lib/typescript/src/Shared/Components/QrCodeScannerCamera.d.ts +2 -1
  70. package/lib/typescript/src/Shared/Components/QrCodeScannerCamera.d.ts.map +1 -1
  71. package/lib/typescript/src/Shared/Components/TrustchexCamera.d.ts +124 -0
  72. package/lib/typescript/src/Shared/Components/TrustchexCamera.d.ts.map +1 -0
  73. package/lib/typescript/src/Shared/EIDReader/tlv/tlv.helpers.d.ts +11 -0
  74. package/lib/typescript/src/Shared/EIDReader/tlv/tlv.helpers.d.ts.map +1 -0
  75. package/lib/typescript/src/Shared/EIDReader/tlv/tlv.utils.d.ts +2 -39
  76. package/lib/typescript/src/Shared/EIDReader/tlv/tlv.utils.d.ts.map +1 -1
  77. package/lib/typescript/src/Shared/Libs/analytics.utils.d.ts.map +1 -1
  78. package/lib/typescript/src/Shared/Libs/debug.utils.d.ts +42 -0
  79. package/lib/typescript/src/Shared/Libs/debug.utils.d.ts.map +1 -0
  80. package/lib/typescript/src/Shared/Libs/deeplink.utils.d.ts.map +1 -1
  81. package/lib/typescript/src/Shared/Libs/demo.utils.d.ts.map +1 -1
  82. package/lib/typescript/src/Shared/Libs/http-client.d.ts.map +1 -1
  83. package/lib/typescript/src/Shared/Libs/mrz.utils.d.ts +0 -4
  84. package/lib/typescript/src/Shared/Libs/mrz.utils.d.ts.map +1 -1
  85. package/lib/typescript/src/Shared/Libs/native-device-info.utils.d.ts.map +1 -1
  86. package/lib/typescript/src/Shared/Libs/tts.utils.d.ts +4 -3
  87. package/lib/typescript/src/Shared/Libs/tts.utils.d.ts.map +1 -1
  88. package/lib/typescript/src/Shared/Services/AnalyticsService.d.ts.map +1 -1
  89. package/lib/typescript/src/Shared/Types/identificationInfo.d.ts +2 -2
  90. package/lib/typescript/src/Shared/Types/identificationInfo.d.ts.map +1 -1
  91. package/lib/typescript/src/Shared/Types/mrzFields.d.ts +11 -0
  92. package/lib/typescript/src/Shared/Types/mrzFields.d.ts.map +1 -0
  93. package/lib/typescript/src/Translation/Resources/en.d.ts +4 -5
  94. package/lib/typescript/src/Translation/Resources/en.d.ts.map +1 -1
  95. package/lib/typescript/src/Translation/Resources/tr.d.ts +4 -5
  96. package/lib/typescript/src/Translation/Resources/tr.d.ts.map +1 -1
  97. package/lib/typescript/src/Trustchex.d.ts +2 -0
  98. package/lib/typescript/src/Trustchex.d.ts.map +1 -1
  99. package/lib/typescript/src/index.d.ts +1 -0
  100. package/lib/typescript/src/index.d.ts.map +1 -1
  101. package/lib/typescript/src/version.d.ts +1 -1
  102. package/package.json +13 -36
  103. package/src/Screens/Dynamic/ContractAcceptanceScreen.tsx +1 -1
  104. package/src/Screens/Dynamic/IdentityDocumentEIDScanningScreen.tsx +7 -5
  105. package/src/Screens/Dynamic/IdentityDocumentScanningScreen.tsx +2 -3
  106. package/src/Screens/Dynamic/LivenessDetectionScreen.tsx +498 -216
  107. package/src/Screens/Static/OTPVerificationScreen.tsx +37 -31
  108. package/src/Screens/Static/QrCodeScanningScreen.tsx +8 -1
  109. package/src/Screens/Static/ResultScreen.tsx +136 -104
  110. package/src/Screens/Static/VerificationSessionCheckScreen.tsx +46 -13
  111. package/src/Shared/Components/DebugNavigationPanel.tsx +290 -34
  112. package/src/Shared/Components/EIDScanner.tsx +94 -16
  113. package/src/Shared/Components/FaceCamera.tsx +236 -203
  114. package/src/Shared/Components/IdentityDocumentCamera.tsx +3070 -1036
  115. package/src/Shared/Components/QrCodeScannerCamera.tsx +133 -127
  116. package/src/Shared/Components/TrustchexCamera.tsx +289 -0
  117. package/src/Shared/Config/camera-enhancement.config.ts +2 -2
  118. package/src/Shared/EIDReader/tlv/tlv.helpers.ts +96 -0
  119. package/src/Shared/EIDReader/tlv/tlv.utils.ts +2 -125
  120. package/src/Shared/EIDReader/tlv/tlvInputStream.ts +4 -4
  121. package/src/Shared/EIDReader/tlv/tlvOutputState.ts +4 -4
  122. package/src/Shared/EIDReader/tlv/tlvOutputStream.ts +4 -4
  123. package/src/Shared/Libs/analytics.utils.ts +48 -20
  124. package/src/Shared/Libs/debounce.utils.ts +1 -1
  125. package/src/Shared/Libs/debug.utils.ts +149 -0
  126. package/src/Shared/Libs/deeplink.utils.ts +7 -5
  127. package/src/Shared/Libs/demo.utils.ts +4 -0
  128. package/src/Shared/Libs/http-client.ts +13 -8
  129. package/src/Shared/Libs/mrz.utils.ts +1 -164
  130. package/src/Shared/Libs/native-device-info.utils.ts +12 -6
  131. package/src/Shared/Libs/tts.utils.ts +48 -6
  132. package/src/Shared/Services/AnalyticsService.ts +69 -24
  133. package/src/Shared/Types/identificationInfo.ts +2 -2
  134. package/src/Shared/Types/mrzFields.ts +29 -0
  135. package/src/Translation/Resources/en.ts +90 -100
  136. package/src/Translation/Resources/tr.ts +89 -97
  137. package/src/Translation/index.ts +1 -1
  138. package/src/Trustchex.tsx +22 -17
  139. package/src/index.tsx +14 -0
  140. package/src/version.ts +1 -1
  141. package/android/src/main/java/com/trustchex/reactnativesdk/visioncameraplugins/barcodescanner/BarcodeScannerFrameProcessorPlugin.kt +0 -301
  142. package/android/src/main/java/com/trustchex/reactnativesdk/visioncameraplugins/cropper/BitmapUtils.kt +0 -205
  143. package/android/src/main/java/com/trustchex/reactnativesdk/visioncameraplugins/cropper/CropperPlugin.kt +0 -72
  144. package/android/src/main/java/com/trustchex/reactnativesdk/visioncameraplugins/cropper/FrameMetadata.kt +0 -4
  145. package/android/src/main/java/com/trustchex/reactnativesdk/visioncameraplugins/facedetector/FaceDetectorFrameProcessorPlugin.kt +0 -303
  146. package/android/src/main/java/com/trustchex/reactnativesdk/visioncameraplugins/textrecognition/TextRecognitionFrameProcessorPlugin.kt +0 -115
  147. package/ios/VisionCameraPlugins/BarcodeScanner/BarcodeScannerFrameProcessorPlugin-Bridging-Header.h +0 -9
  148. package/ios/VisionCameraPlugins/BarcodeScanner/BarcodeScannerFrameProcessorPlugin.mm +0 -22
  149. package/ios/VisionCameraPlugins/BarcodeScanner/BarcodeScannerFrameProcessorPlugin.swift +0 -188
  150. package/ios/VisionCameraPlugins/Cropper/Cropper-Bridging-Header.h +0 -13
  151. package/ios/VisionCameraPlugins/Cropper/Cropper.h +0 -20
  152. package/ios/VisionCameraPlugins/Cropper/Cropper.mm +0 -22
  153. package/ios/VisionCameraPlugins/Cropper/Cropper.swift +0 -145
  154. package/ios/VisionCameraPlugins/Cropper/CropperUtils.swift +0 -49
  155. package/ios/VisionCameraPlugins/FaceDetector/FaceDetectorFrameProcessorPlugin-Bridging-Header.h +0 -4
  156. package/ios/VisionCameraPlugins/FaceDetector/FaceDetectorFrameProcessorPlugin.mm +0 -22
  157. package/ios/VisionCameraPlugins/FaceDetector/FaceDetectorFrameProcessorPlugin.swift +0 -320
  158. package/ios/VisionCameraPlugins/TextRecognition/TextRecognitionFrameProcessorPlugin-Bridging-Header.h +0 -4
  159. package/ios/VisionCameraPlugins/TextRecognition/TextRecognitionFrameProcessorPlugin.mm +0 -27
  160. package/ios/VisionCameraPlugins/TextRecognition/TextRecognitionFrameProcessorPlugin.swift +0 -144
  161. package/lib/module/Shared/Libs/camera.utils.js +0 -308
  162. package/lib/module/Shared/Libs/frame-enhancement.utils.js +0 -133
  163. package/lib/module/Shared/Libs/opencv.utils.js +0 -21
  164. package/lib/module/Shared/Libs/worklet.utils.js +0 -53
  165. package/lib/module/Shared/VisionCameraPlugins/BarcodeScanner/hooks/useBarcodeScanner.js +0 -46
  166. package/lib/module/Shared/VisionCameraPlugins/BarcodeScanner/hooks/useCameraPermissions.js +0 -35
  167. package/lib/module/Shared/VisionCameraPlugins/BarcodeScanner/index.js +0 -19
  168. package/lib/module/Shared/VisionCameraPlugins/BarcodeScanner/scanCodes.js +0 -26
  169. package/lib/module/Shared/VisionCameraPlugins/BarcodeScanner/types.js +0 -3
  170. package/lib/module/Shared/VisionCameraPlugins/BarcodeScanner/utils/convert.js +0 -197
  171. package/lib/module/Shared/VisionCameraPlugins/BarcodeScanner/utils/geometry.js +0 -101
  172. package/lib/module/Shared/VisionCameraPlugins/BarcodeScanner/utils/highlights.js +0 -60
  173. package/lib/module/Shared/VisionCameraPlugins/Cropper/index.js +0 -47
  174. package/lib/module/Shared/VisionCameraPlugins/FaceDetector/Camera.js +0 -42
  175. package/lib/module/Shared/VisionCameraPlugins/FaceDetector/detectFaces.js +0 -35
  176. package/lib/module/Shared/VisionCameraPlugins/FaceDetector/index.js +0 -4
  177. package/lib/module/Shared/VisionCameraPlugins/FaceDetector/types.js +0 -3
  178. package/lib/module/Shared/VisionCameraPlugins/TextRecognition/Camera.js +0 -56
  179. package/lib/module/Shared/VisionCameraPlugins/TextRecognition/PhotoRecognizer.js +0 -20
  180. package/lib/module/Shared/VisionCameraPlugins/TextRecognition/RemoveLanguageModel.js +0 -9
  181. package/lib/module/Shared/VisionCameraPlugins/TextRecognition/index.js +0 -6
  182. package/lib/module/Shared/VisionCameraPlugins/TextRecognition/scanText.js +0 -20
  183. package/lib/module/Shared/VisionCameraPlugins/TextRecognition/translateText.js +0 -19
  184. package/lib/module/Shared/VisionCameraPlugins/TextRecognition/types.js +0 -3
  185. package/lib/typescript/src/Shared/Libs/camera.utils.d.ts +0 -87
  186. package/lib/typescript/src/Shared/Libs/camera.utils.d.ts.map +0 -1
  187. package/lib/typescript/src/Shared/Libs/frame-enhancement.utils.d.ts +0 -25
  188. package/lib/typescript/src/Shared/Libs/frame-enhancement.utils.d.ts.map +0 -1
  189. package/lib/typescript/src/Shared/Libs/opencv.utils.d.ts +0 -3
  190. package/lib/typescript/src/Shared/Libs/opencv.utils.d.ts.map +0 -1
  191. package/lib/typescript/src/Shared/Libs/worklet.utils.d.ts +0 -3
  192. package/lib/typescript/src/Shared/Libs/worklet.utils.d.ts.map +0 -1
  193. package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/hooks/useBarcodeScanner.d.ts +0 -13
  194. package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/hooks/useBarcodeScanner.d.ts.map +0 -1
  195. package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/hooks/useCameraPermissions.d.ts +0 -6
  196. package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/hooks/useCameraPermissions.d.ts.map +0 -1
  197. package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/index.d.ts +0 -12
  198. package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/index.d.ts.map +0 -1
  199. package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/scanCodes.d.ts +0 -3
  200. package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/scanCodes.d.ts.map +0 -1
  201. package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/types.d.ts +0 -52
  202. package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/types.d.ts.map +0 -1
  203. package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/utils/convert.d.ts +0 -62
  204. package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/utils/convert.d.ts.map +0 -1
  205. package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/utils/geometry.d.ts +0 -34
  206. package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/utils/geometry.d.ts.map +0 -1
  207. package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/utils/highlights.d.ts +0 -32
  208. package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/utils/highlights.d.ts.map +0 -1
  209. package/lib/typescript/src/Shared/VisionCameraPlugins/Cropper/index.d.ts +0 -23
  210. package/lib/typescript/src/Shared/VisionCameraPlugins/Cropper/index.d.ts.map +0 -1
  211. package/lib/typescript/src/Shared/VisionCameraPlugins/FaceDetector/Camera.d.ts +0 -9
  212. package/lib/typescript/src/Shared/VisionCameraPlugins/FaceDetector/Camera.d.ts.map +0 -1
  213. package/lib/typescript/src/Shared/VisionCameraPlugins/FaceDetector/detectFaces.d.ts +0 -3
  214. package/lib/typescript/src/Shared/VisionCameraPlugins/FaceDetector/detectFaces.d.ts.map +0 -1
  215. package/lib/typescript/src/Shared/VisionCameraPlugins/FaceDetector/index.d.ts +0 -3
  216. package/lib/typescript/src/Shared/VisionCameraPlugins/FaceDetector/index.d.ts.map +0 -1
  217. package/lib/typescript/src/Shared/VisionCameraPlugins/FaceDetector/types.d.ts +0 -79
  218. package/lib/typescript/src/Shared/VisionCameraPlugins/FaceDetector/types.d.ts.map +0 -1
  219. package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/Camera.d.ts +0 -6
  220. package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/Camera.d.ts.map +0 -1
  221. package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/PhotoRecognizer.d.ts +0 -3
  222. package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/PhotoRecognizer.d.ts.map +0 -1
  223. package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/RemoveLanguageModel.d.ts +0 -3
  224. package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/RemoveLanguageModel.d.ts.map +0 -1
  225. package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/index.d.ts +0 -5
  226. package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/index.d.ts.map +0 -1
  227. package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/scanText.d.ts +0 -3
  228. package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/scanText.d.ts.map +0 -1
  229. package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/translateText.d.ts +0 -3
  230. package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/translateText.d.ts.map +0 -1
  231. package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/types.d.ts +0 -67
  232. package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/types.d.ts.map +0 -1
  233. package/src/Shared/Libs/camera.utils.ts +0 -345
  234. package/src/Shared/Libs/frame-enhancement.utils.ts +0 -217
  235. package/src/Shared/Libs/opencv.utils.ts +0 -40
  236. package/src/Shared/Libs/worklet.utils.ts +0 -58
  237. package/src/Shared/VisionCameraPlugins/BarcodeScanner/hooks/useBarcodeScanner.ts +0 -79
  238. package/src/Shared/VisionCameraPlugins/BarcodeScanner/hooks/useCameraPermissions.ts +0 -46
  239. package/src/Shared/VisionCameraPlugins/BarcodeScanner/index.ts +0 -60
  240. package/src/Shared/VisionCameraPlugins/BarcodeScanner/scanCodes.ts +0 -32
  241. package/src/Shared/VisionCameraPlugins/BarcodeScanner/types.ts +0 -82
  242. package/src/Shared/VisionCameraPlugins/BarcodeScanner/utils/convert.ts +0 -195
  243. package/src/Shared/VisionCameraPlugins/BarcodeScanner/utils/geometry.ts +0 -135
  244. package/src/Shared/VisionCameraPlugins/BarcodeScanner/utils/highlights.ts +0 -84
  245. package/src/Shared/VisionCameraPlugins/Cropper/index.ts +0 -78
  246. package/src/Shared/VisionCameraPlugins/FaceDetector/Camera.tsx +0 -63
  247. package/src/Shared/VisionCameraPlugins/FaceDetector/detectFaces.ts +0 -44
  248. package/src/Shared/VisionCameraPlugins/FaceDetector/index.ts +0 -3
  249. package/src/Shared/VisionCameraPlugins/FaceDetector/types.ts +0 -99
  250. package/src/Shared/VisionCameraPlugins/TextRecognition/Camera.tsx +0 -76
  251. package/src/Shared/VisionCameraPlugins/TextRecognition/PhotoRecognizer.ts +0 -18
  252. package/src/Shared/VisionCameraPlugins/TextRecognition/RemoveLanguageModel.ts +0 -7
  253. package/src/Shared/VisionCameraPlugins/TextRecognition/index.ts +0 -7
  254. package/src/Shared/VisionCameraPlugins/TextRecognition/scanText.ts +0 -27
  255. package/src/Shared/VisionCameraPlugins/TextRecognition/translateText.ts +0 -21
  256. package/src/Shared/VisionCameraPlugins/TextRecognition/types.ts +0 -141
@@ -0,0 +1,23 @@
1
+ #import <React/RCTBridgeModule.h>
2
+
3
+ @interface RCT_EXTERN_MODULE(MLKitModule, NSObject)
4
+
5
+ RCT_EXTERN_METHOD(recognizeText:(NSString *)base64Image
6
+ resolver:(RCTPromiseResolveBlock)resolve
7
+ rejecter:(RCTPromiseRejectBlock)reject)
8
+
9
+ RCT_EXTERN_METHOD(detectFaces:(NSString *)base64Image
10
+ resolver:(RCTPromiseResolveBlock)resolve
11
+ rejecter:(RCTPromiseRejectBlock)reject)
12
+
13
+ RCT_EXTERN_METHOD(scanBarcodes:(NSString *)base64Image
14
+ resolver:(RCTPromiseResolveBlock)resolve
15
+ rejecter:(RCTPromiseRejectBlock)reject)
16
+
17
+ RCT_EXTERN_METHOD(calculateBlur:(NSString *)yPlaneBase64
18
+ width:(nonnull NSNumber *)width
19
+ height:(nonnull NSNumber *)height
20
+ resolver:(RCTPromiseResolveBlock)resolve
21
+ rejecter:(RCTPromiseRejectBlock)reject)
22
+
23
+ @end
@@ -0,0 +1,250 @@
1
+ import Foundation
2
+ import React
3
+ import MLKitTextRecognition
4
+ import MLKitFaceDetection
5
+ import MLKitBarcodeScanning
6
+ import MLKitVision
7
+
8
+ @objc(MLKitModule)
9
+ class MLKitModule: NSObject {
10
+
11
+ private let textRecognizer = TextRecognizer.textRecognizer()
12
+ private lazy var faceDetector: FaceDetector = {
13
+ let options = FaceDetectorOptions()
14
+ options.performanceMode = .accurate
15
+ options.landmarkMode = .none
16
+ options.classificationMode = .all
17
+ options.minFaceSize = 0.1
18
+ options.isTrackingEnabled = true
19
+ return FaceDetector.faceDetector(options: options)
20
+ }()
21
+ private lazy var barcodeScanner: BarcodeScanner = {
22
+ let formats: BarcodeFormat = [.PDF417, .qrCode]
23
+ let options = BarcodeScannerOptions(formats: formats)
24
+ return BarcodeScanner.barcodeScanner(options: options)
25
+ }()
26
+
27
+ @objc
28
+ static func requiresMainQueueSetup() -> Bool {
29
+ return false
30
+ }
31
+
32
+ @objc
33
+ func recognizeText(_ base64Image: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
34
+ guard let image = base64ToVisionImage(base64Image) else {
35
+ rejecter("INVALID_IMAGE", "Failed to decode base64 image", nil)
36
+ return
37
+ }
38
+
39
+ textRecognizer.process(image) { result, error in
40
+ if let error = error {
41
+ rejecter("TEXT_RECOGNITION_ERROR", error.localizedDescription, error)
42
+ return
43
+ }
44
+
45
+ guard let result = result else {
46
+ resolver([])
47
+ return
48
+ }
49
+
50
+ var blocks: [[String: Any]] = []
51
+
52
+ for block in result.blocks {
53
+ var blockMap: [String: Any] = [
54
+ "text": block.text
55
+ ]
56
+
57
+ let frame = block.frame
58
+ blockMap["boundingBox"] = [
59
+ "left": Int(frame.minX),
60
+ "top": Int(frame.minY),
61
+ "right": Int(frame.maxX),
62
+ "bottom": Int(frame.maxY)
63
+ ]
64
+
65
+ var cornerPoints: [[String: Int]] = []
66
+ for point in block.cornerPoints ?? [] {
67
+ let cgPoint = point.cgPointValue
68
+ cornerPoints.append([
69
+ "x": Int(cgPoint.x),
70
+ "y": Int(cgPoint.y)
71
+ ])
72
+ }
73
+ blockMap["cornerPoints"] = cornerPoints
74
+
75
+ blocks.append(blockMap)
76
+ }
77
+
78
+ resolver(blocks)
79
+ }
80
+ }
81
+
82
+ @objc
83
+ func detectFaces(_ base64Image: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
84
+ guard let image = base64ToVisionImage(base64Image) else {
85
+ rejecter("INVALID_IMAGE", "Failed to decode base64 image", nil)
86
+ return
87
+ }
88
+
89
+ faceDetector.process(image) { faces, error in
90
+ if let error = error {
91
+ rejecter("FACE_DETECTION_ERROR", error.localizedDescription, error)
92
+ return
93
+ }
94
+
95
+ guard let faces = faces, !faces.isEmpty else {
96
+ resolver([])
97
+ return
98
+ }
99
+
100
+ var facesArray: [[String: Any]] = []
101
+
102
+ for face in faces {
103
+ var faceMap: [String: Any] = [:]
104
+
105
+ let frame = face.frame
106
+ faceMap["boundingBox"] = [
107
+ "left": Int(frame.minX),
108
+ "top": Int(frame.minY),
109
+ "right": Int(frame.maxX),
110
+ "bottom": Int(frame.maxY),
111
+ "width": Int(frame.width),
112
+ "height": Int(frame.height)
113
+ ]
114
+
115
+ if face.hasHeadEulerAngleY {
116
+ faceMap["headEulerAngleY"] = face.headEulerAngleY
117
+ }
118
+
119
+ if face.hasHeadEulerAngleZ {
120
+ faceMap["headEulerAngleZ"] = face.headEulerAngleZ
121
+ }
122
+
123
+ if face.hasTrackingID {
124
+ faceMap["trackingId"] = face.trackingID
125
+ }
126
+
127
+ facesArray.append(faceMap)
128
+ }
129
+
130
+ resolver(facesArray)
131
+ }
132
+ }
133
+
134
+ @objc
135
+ func scanBarcodes(_ base64Image: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
136
+ guard let image = base64ToVisionImage(base64Image) else {
137
+ rejecter("INVALID_IMAGE", "Failed to decode base64 image", nil)
138
+ return
139
+ }
140
+
141
+ barcodeScanner.process(image) { barcodes, error in
142
+ if let error = error {
143
+ rejecter("BARCODE_SCANNING_ERROR", error.localizedDescription, error)
144
+ return
145
+ }
146
+
147
+ guard let barcodes = barcodes, !barcodes.isEmpty else {
148
+ resolver([])
149
+ return
150
+ }
151
+
152
+ var barcodesArray: [[String: Any]] = []
153
+
154
+ for barcode in barcodes {
155
+ var barcodeMap: [String: Any] = [:]
156
+
157
+ if let rawValue = barcode.rawValue {
158
+ barcodeMap["rawValue"] = rawValue
159
+ }
160
+
161
+ if let displayValue = barcode.displayValue {
162
+ barcodeMap["displayValue"] = displayValue
163
+ }
164
+
165
+ barcodeMap["format"] = barcode.format.rawValue
166
+
167
+ let frame = barcode.frame
168
+ barcodeMap["boundingBox"] = [
169
+ "left": Int(frame.minX),
170
+ "top": Int(frame.minY),
171
+ "right": Int(frame.maxX),
172
+ "bottom": Int(frame.maxY)
173
+ ]
174
+
175
+ var cornerPoints: [[String: Int]] = []
176
+ for point in barcode.cornerPoints ?? [] {
177
+ let cgPoint = point.cgPointValue
178
+ cornerPoints.append([
179
+ "x": Int(cgPoint.x),
180
+ "y": Int(cgPoint.y)
181
+ ])
182
+ }
183
+ barcodeMap["cornerPoints"] = cornerPoints
184
+
185
+ barcodesArray.append(barcodeMap)
186
+ }
187
+
188
+ resolver(barcodesArray)
189
+ }
190
+ }
191
+
192
+ @objc
193
+ func calculateBlur(_ yPlaneBase64: String, width: NSNumber, height: NSNumber, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
194
+ guard let yPlaneData = Data(base64Encoded: yPlaneBase64) else {
195
+ rejecter("INVALID_DATA", "Failed to decode Y plane data", nil)
196
+ return
197
+ }
198
+
199
+ let w = width.intValue
200
+ let h = height.intValue
201
+
202
+ // Laplacian variance for blur detection (matches Flutter implementation)
203
+ var sum: Double = 0
204
+ var sumSq: Double = 0
205
+ var count = 0
206
+
207
+ yPlaneData.withUnsafeBytes { (buffer: UnsafeRawBufferPointer) in
208
+ guard let baseAddress = buffer.baseAddress?.assumingMemoryBound(to: UInt8.self) else {
209
+ return
210
+ }
211
+
212
+ // Apply Laplacian kernel (simplified 3x3)
213
+ for y in stride(from: 1, to: h - 1, by: 4) { // Sample every 4th row for performance
214
+ for x in stride(from: 1, to: w - 1, by: 4) { // Sample every 4th column
215
+ let idx = y * w + x
216
+ guard idx + w + 1 < yPlaneData.count && idx - w - 1 >= 0 else { continue }
217
+
218
+ let center = Double(baseAddress[idx])
219
+ let top = Double(baseAddress[idx - w])
220
+ let bottom = Double(baseAddress[idx + w])
221
+ let left = Double(baseAddress[idx - 1])
222
+ let right = Double(baseAddress[idx + 1])
223
+
224
+ // Laplacian: 4*center - (top + bottom + left + right)
225
+ let laplacian = 4 * center - (top + bottom + left + right)
226
+
227
+ sum += laplacian
228
+ sumSq += laplacian * laplacian
229
+ count += 1
230
+ }
231
+ }
232
+ }
233
+
234
+ if count > 0 {
235
+ let mean = sum / Double(count)
236
+ let variance = (sumSq / Double(count)) - (mean * mean)
237
+ resolver(variance)
238
+ } else {
239
+ resolver(0.0)
240
+ }
241
+ }
242
+
243
+ private func base64ToVisionImage(_ base64: String) -> VisionImage? {
244
+ guard let imageData = Data(base64Encoded: base64),
245
+ let uiImage = UIImage(data: imageData) else {
246
+ return nil
247
+ }
248
+ return VisionImage(image: uiImage)
249
+ }
250
+ }
@@ -0,0 +1,39 @@
1
+ #import <React/RCTBridgeModule.h>
2
+
3
+ @interface RCT_EXTERN_MODULE(MRZValidation, NSObject)
4
+
5
+ /**
6
+ * Primary MRZ validation with OCR corrections and composite checksum brute-force
7
+ * This is the main entry point for fast native processing
8
+ */
9
+ RCT_EXTERN_METHOD(validateMRZWithCorrections:(NSString *)ocrText
10
+ resolver:(RCTPromiseResolveBlock)resolve
11
+ rejecter:(RCTPromiseRejectBlock)reject)
12
+
13
+ /**
14
+ * Validates MRZ text and returns parse result with checksum validation
15
+ */
16
+ RCT_EXTERN_METHOD(validateMRZ:(NSString *)mrzText
17
+ resolver:(RCTPromiseResolveBlock)resolve
18
+ rejecter:(RCTPromiseRejectBlock)reject)
19
+
20
+ /**
21
+ * Calculates checksum for MRZ field using 7-3-1 algorithm
22
+ */
23
+ RCT_EXTERN_METHOD(calculateChecksum:(NSString *)data
24
+ resolver:(RCTPromiseResolveBlock)resolve
25
+ rejecter:(RCTPromiseRejectBlock)reject)
26
+
27
+ /**
28
+ * Fixes common OCR errors in MRZ text
29
+ */
30
+ RCT_EXTERN_METHOD(fixMRZText:(NSString *)mrzText
31
+ resolver:(RCTPromiseResolveBlock)resolve
32
+ rejecter:(RCTPromiseRejectBlock)reject)
33
+
34
+ + (BOOL)requiresMainQueueSetup
35
+ {
36
+ return NO;
37
+ }
38
+
39
+ @end