@microblink/blinkid-react-native 7.7.0 → 8000.0.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 (221) hide show
  1. package/BlinkidReactNative.podspec +2 -1
  2. package/README.md +490 -282
  3. package/android/build.gradle +56 -4
  4. package/android/gradle.properties +3 -4
  5. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdDeserializationUtilities.kt +312 -249
  6. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdSerializationUtilities.kt +109 -31
  7. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkidReactNativeModule.kt +39 -31
  8. package/ios/BlinkidReactNative.mm +42 -52
  9. package/ios/BlinkidReactNativeModule.swift +92 -57
  10. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/BlinkID +0 -0
  11. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/BlinkID-Swift.h +7535 -2758
  12. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/BlinkID.h +2 -1
  13. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Info.plist +0 -0
  14. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.abi.json +17584 -4445
  15. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.private.swiftinterface +352 -122
  16. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  17. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.swiftinterface +352 -122
  18. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/_CodeSignature/CodeResources +17 -28
  19. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/conan.xcconfig +3 -3
  20. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/BlinkID +0 -0
  21. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/BlinkID-Swift.h +42778 -33224
  22. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/BlinkID.h +2 -1
  23. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Info.plist +0 -0
  24. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.abi.json +17584 -4445
  25. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +352 -122
  26. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  27. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.swiftinterface +352 -122
  28. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.abi.json +17584 -4445
  29. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +352 -122
  30. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  31. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +352 -122
  32. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/_CodeSignature/CodeResources +27 -38
  33. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/conan.xcconfig +3 -3
  34. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeDirectory +0 -0
  35. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeResources +276 -276
  36. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeSignature +0 -0
  37. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX +0 -0
  38. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Assets.car +0 -0
  39. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Info.plist +0 -0
  40. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ak.lproj/Localizable.strings +0 -0
  41. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/am.lproj/Localizable.strings +0 -0
  42. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ar.lproj/Localizable.strings +0 -0
  43. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/bn.lproj/Localizable.strings +0 -0
  44. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/cs.lproj/Localizable.strings +0 -0
  45. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/da.lproj/Localizable.strings +0 -0
  46. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/de.lproj/Localizable.strings +0 -0
  47. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/el.lproj/Localizable.strings +0 -0
  48. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en-GB.lproj/Localizable.strings +0 -0
  49. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en.lproj/Localizable.strings +0 -0
  50. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es-MX.lproj/Localizable.strings +0 -0
  51. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es.lproj/Localizable.strings +0 -0
  52. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fa.lproj/Localizable.strings +0 -0
  53. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fi.lproj/Localizable.strings +0 -0
  54. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fil.lproj/Localizable.strings +0 -0
  55. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr-CA.lproj/Localizable.strings +0 -0
  56. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr.lproj/Localizable.strings +0 -0
  57. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ha.lproj/Localizable.strings +0 -0
  58. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/he.lproj/Localizable.strings +0 -0
  59. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hi.lproj/Localizable.strings +0 -0
  60. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hr.lproj/Localizable.strings +0 -0
  61. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hu.lproj/Localizable.strings +0 -0
  62. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/id.lproj/Localizable.strings +0 -0
  63. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/is.lproj/Localizable.strings +0 -0
  64. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/it.lproj/Localizable.strings +0 -0
  65. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ja.lproj/Localizable.strings +0 -0
  66. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ka-GE.lproj/Localizable.strings +0 -0
  67. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/kk.lproj/Localizable.strings +0 -0
  68. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/km-KH.lproj/Localizable.strings +0 -0
  69. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ko.lproj/Localizable.strings +0 -0
  70. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/lv.lproj/Localizable.strings +0 -0
  71. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ms.lproj/Localizable.strings +0 -0
  72. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nb.lproj/Localizable.strings +0 -0
  73. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ne.lproj/Localizable.strings +0 -0
  74. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nl.lproj/Localizable.strings +0 -0
  75. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pl.lproj/Localizable.strings +0 -0
  76. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ps-AF.lproj/Localizable.strings +0 -0
  77. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt-BR.lproj/Localizable.strings +0 -0
  78. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt.lproj/Localizable.strings +0 -0
  79. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ro.lproj/Localizable.strings +0 -0
  80. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ru.lproj/Localizable.strings +0 -0
  81. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/si.lproj/Localizable.strings +0 -0
  82. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sk.lproj/Localizable.strings +0 -0
  83. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sl.lproj/Localizable.strings +0 -0
  84. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sr.lproj/Localizable.strings +0 -0
  85. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sv.lproj/Localizable.strings +0 -0
  86. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sw.lproj/Localizable.strings +0 -0
  87. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/th.lproj/Localizable.strings +0 -0
  88. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/tr.lproj/Localizable.strings +0 -0
  89. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uk.lproj/Localizable.strings +0 -0
  90. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ur.lproj/Localizable.strings +0 -0
  91. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uz.lproj/Localizable.strings +0 -0
  92. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/vi.lproj/Localizable.strings +0 -0
  93. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/yo.lproj/Localizable.strings +0 -0
  94. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hans.lproj/Localizable.strings +0 -0
  95. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hant.lproj/Localizable.strings +0 -0
  96. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Info.plist +0 -0
  97. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.abi.json +2551 -1166
  98. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.package.swiftinterface +60 -24
  99. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.private.swiftinterface +60 -24
  100. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  101. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.swiftinterface +60 -24
  102. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX +0 -0
  103. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Assets.car +0 -0
  104. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Info.plist +0 -0
  105. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeDirectory +0 -0
  106. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeResources +114 -114
  107. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ak.lproj/Localizable.strings +0 -0
  108. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/am.lproj/Localizable.strings +0 -0
  109. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ar.lproj/Localizable.strings +0 -0
  110. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/bn.lproj/Localizable.strings +0 -0
  111. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/cs.lproj/Localizable.strings +0 -0
  112. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/da.lproj/Localizable.strings +0 -0
  113. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/de.lproj/Localizable.strings +0 -0
  114. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/el.lproj/Localizable.strings +0 -0
  115. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en-GB.lproj/Localizable.strings +0 -0
  116. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en.lproj/Localizable.strings +0 -0
  117. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es-MX.lproj/Localizable.strings +0 -0
  118. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es.lproj/Localizable.strings +0 -0
  119. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fa.lproj/Localizable.strings +0 -0
  120. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fi.lproj/Localizable.strings +0 -0
  121. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fil.lproj/Localizable.strings +0 -0
  122. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr-CA.lproj/Localizable.strings +0 -0
  123. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr.lproj/Localizable.strings +0 -0
  124. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ha.lproj/Localizable.strings +0 -0
  125. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/he.lproj/Localizable.strings +0 -0
  126. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hi.lproj/Localizable.strings +0 -0
  127. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hr.lproj/Localizable.strings +0 -0
  128. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hu.lproj/Localizable.strings +0 -0
  129. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/id.lproj/Localizable.strings +0 -0
  130. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/is.lproj/Localizable.strings +0 -0
  131. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/it.lproj/Localizable.strings +0 -0
  132. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ja.lproj/Localizable.strings +0 -0
  133. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ka-GE.lproj/Localizable.strings +0 -0
  134. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/kk.lproj/Localizable.strings +0 -0
  135. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/km-KH.lproj/Localizable.strings +0 -0
  136. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ko.lproj/Localizable.strings +0 -0
  137. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/lv.lproj/Localizable.strings +0 -0
  138. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ms.lproj/Localizable.strings +0 -0
  139. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nb.lproj/Localizable.strings +0 -0
  140. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ne.lproj/Localizable.strings +0 -0
  141. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nl.lproj/Localizable.strings +0 -0
  142. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pl.lproj/Localizable.strings +0 -0
  143. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ps-AF.lproj/Localizable.strings +0 -0
  144. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt-BR.lproj/Localizable.strings +0 -0
  145. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt.lproj/Localizable.strings +0 -0
  146. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ro.lproj/Localizable.strings +0 -0
  147. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ru.lproj/Localizable.strings +0 -0
  148. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/si.lproj/Localizable.strings +0 -0
  149. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sk.lproj/Localizable.strings +0 -0
  150. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sl.lproj/Localizable.strings +0 -0
  151. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sr.lproj/Localizable.strings +0 -0
  152. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sv.lproj/Localizable.strings +0 -0
  153. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sw.lproj/Localizable.strings +0 -0
  154. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/th.lproj/Localizable.strings +0 -0
  155. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/tr.lproj/Localizable.strings +0 -0
  156. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uk.lproj/Localizable.strings +0 -0
  157. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ur.lproj/Localizable.strings +0 -0
  158. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uz.lproj/Localizable.strings +0 -0
  159. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/vi.lproj/Localizable.strings +0 -0
  160. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/yo.lproj/Localizable.strings +0 -0
  161. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hans.lproj/Localizable.strings +0 -0
  162. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hant.lproj/Localizable.strings +0 -0
  163. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Info.plist +0 -0
  164. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.abi.json +2551 -1166
  165. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.package.swiftinterface +60 -24
  166. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +60 -24
  167. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  168. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.swiftinterface +60 -24
  169. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.abi.json +2551 -1166
  170. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.package.swiftinterface +60 -24
  171. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +60 -24
  172. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  173. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +60 -24
  174. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/_CodeSignature/CodeResources +1 -1
  175. package/ios/Serialization/BlinkIdDeserializationUtils.swift +492 -0
  176. package/ios/{BlinkIdSerializationUtilities.swift → Serialization/BlinkIdSerializationUtils.swift} +246 -256
  177. package/lib/module/NativeBlinkidReactNative.js.map +1 -1
  178. package/lib/module/blinkIdResult.js +1 -822
  179. package/lib/module/blinkIdResult.js.map +1 -1
  180. package/lib/module/blinkIdSettings.js +1 -496
  181. package/lib/module/blinkIdSettings.js.map +1 -1
  182. package/lib/module/index.js +81 -17
  183. package/lib/module/index.js.map +1 -1
  184. package/lib/module/types.js +694 -3406
  185. package/lib/module/types.js.map +1 -1
  186. package/lib/typescript/src/NativeBlinkidReactNative.d.ts +26 -5
  187. package/lib/typescript/src/NativeBlinkidReactNative.d.ts.map +1 -1
  188. package/lib/typescript/src/blinkIdResult.d.ts +12 -20
  189. package/lib/typescript/src/blinkIdResult.d.ts.map +1 -1
  190. package/lib/typescript/src/blinkIdSettings.d.ts +36 -297
  191. package/lib/typescript/src/blinkIdSettings.d.ts.map +1 -1
  192. package/lib/typescript/src/index.d.ts +38 -10
  193. package/lib/typescript/src/index.d.ts.map +1 -1
  194. package/lib/typescript/src/types.d.ts +960 -1182
  195. package/lib/typescript/src/types.d.ts.map +1 -1
  196. package/package.json +5 -4
  197. package/src/NativeBlinkidReactNative.ts +28 -5
  198. package/src/blinkIdResult.ts +13 -466
  199. package/src/blinkIdSettings.ts +53 -373
  200. package/src/index.tsx +208 -35
  201. package/src/types.ts +1116 -1442
  202. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  203. package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
  204. package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
  205. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  206. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  207. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  208. package/android/.gradle/8.9/gc.properties +0 -0
  209. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  210. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  211. package/android/.gradle/vcs-1/gc.properties +0 -0
  212. package/android/.project +0 -28
  213. package/ios/BlinkIdDeserializationUtilities.swift +0 -374
  214. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/MBSampleBufferWrapper.h +0 -28
  215. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/MBSampleBufferWrapper.h +0 -28
  216. package/lib/module/blinkIdUtilities.js +0 -21
  217. package/lib/module/blinkIdUtilities.js.map +0 -1
  218. package/lib/typescript/src/blinkIdUtilities.d.ts +0 -8
  219. package/lib/typescript/src/blinkIdUtilities.d.ts.map +0 -1
  220. package/src/android/.project +0 -28
  221. package/src/blinkIdUtilities.ts +0 -20
@@ -4,7 +4,9 @@ import android.graphics.Bitmap
4
4
  import com.microblink.blinkid.core.result.AddressDetailedInfo
5
5
  import com.microblink.blinkid.core.result.AlphabetType
6
6
  import com.microblink.blinkid.core.result.DataMatchFieldState
7
+ import com.microblink.blinkid.core.result.DataMatchFieldType
7
8
  import com.microblink.blinkid.core.result.DataMatchResult
9
+ import com.microblink.blinkid.core.result.DataMatchState
8
10
  import com.microblink.blinkid.core.result.DependentInfo
9
11
  import com.microblink.blinkid.core.result.DriverLicenseDetailedInfo
10
12
  import com.microblink.blinkid.core.result.SingleSideScanningResult
@@ -12,7 +14,9 @@ import com.microblink.blinkid.core.result.StringResult
12
14
  import com.microblink.blinkid.core.result.VehicleClassInfo
13
15
  import com.microblink.blinkid.core.result.barcode.BarcodeData
14
16
  import com.microblink.blinkid.core.result.barcode.BarcodeResult
17
+ import com.microblink.blinkid.core.result.barcode.BarcodeType
15
18
  import com.microblink.blinkid.core.result.classinfo.DocumentClassInfo
19
+ import com.microblink.blinkid.core.result.mrz.DocumentType
16
20
  import com.microblink.blinkid.core.result.mrz.MrzResult
17
21
  import com.microblink.blinkid.core.result.viz.VizResult
18
22
  import com.microblink.blinkid.core.session.BlinkIdScanningResult
@@ -21,19 +25,16 @@ import java.io.ByteArrayOutputStream
21
25
  import android.util.Base64
22
26
  import com.microblink.blinkid.core.result.ParentInfo
23
27
  import com.microblink.blinkid.core.result.barcode.BarcodeElement
24
- import com.microblink.core.result.DateResult
25
- import com.microblink.core.result.DetailedCroppedImageResult
26
- import com.microblink.core.result.Rectangle
27
- import com.microblink.core.result.ScanningSide
28
+ import com.microblink.blinkid.core.result.DateResult
29
+ import com.microblink.blinkid.core.result.DetailedCroppedImageResult
30
+ import com.microblink.blinkid.core.result.Rectangle
31
+ import com.microblink.blinkid.core.result.ScanningSide
28
32
  import org.json.JSONArray
29
33
 
30
34
  object BlinkIdSerializationUtilities {
31
35
  fun serializeBlinkIdScanningResult(scanningResult: BlinkIdScanningResult?): String {
32
36
  val scanningResultJson: JSONObject = JSONObject()
33
37
 
34
- scanningResult?.mode.let {
35
- scanningResultJson.put("recognitionMode", it?.name)
36
- }
37
38
  scanningResult?.documentClassInfo?.let {
38
39
  scanningResultJson.put("documentClassInfo", serializeDocumentClassInfo(it))
39
40
  }
@@ -109,6 +110,9 @@ object BlinkIdSerializationUtilities {
109
110
  scanningResult?.documentNumber?.let {
110
111
  scanningResultJson.put("documentNumber", serializeStringResult(it))
111
112
  }
113
+ scanningResult?.cardAccessNumber?.let {
114
+ scanningResultJson.put("cardAccessNumber", serializeStringResult(it))
115
+ }
112
116
  scanningResult?.personalIdNumber?.let {
113
117
  scanningResultJson.put("personalIdNumber", serializeStringResult(it))
114
118
  }
@@ -247,8 +251,8 @@ object BlinkIdSerializationUtilities {
247
251
  scanningResult?.inputImage(ScanningSide.Second)?.let {
248
252
  scanningResultJson.put("secondInputImage", encodeBase64Image(it.bitmap))
249
253
  }
250
- scanningResult?.barcodeInputImage()?.let {
251
- scanningResultJson.put("barcodeInputImage", encodeBase64Image(it.bitmap))
254
+ scanningResult?.barcodeImage()?.let {
255
+ scanningResultJson.put("barcodeImage", encodeBase64Image(it.bitmap))
252
256
  }
253
257
  scanningResult?.documentImage(ScanningSide.First)?.let {
254
258
  scanningResultJson.put("firstDocumentImage", encodeBase64Image(it.bitmap))
@@ -266,7 +270,7 @@ object BlinkIdSerializationUtilities {
266
270
  return scanningResultJson.toString()
267
271
  }
268
272
 
269
- private fun <T> serializeDateResult(dateResult: DateResult<T>?): JSONObject {
273
+ private fun serializeDateResult(dateResult: DateResult<*>?): JSONObject {
270
274
  val dateResultJson = JSONObject()
271
275
 
272
276
  dateResultJson.put("date", serializeSimpleDateResult(dateResult));
@@ -276,7 +280,7 @@ object BlinkIdSerializationUtilities {
276
280
  return dateResultJson
277
281
  }
278
282
 
279
- private fun <T> serializeSimpleDateResult(dateResult: DateResult<T>?): JSONObject {
283
+ private fun serializeSimpleDateResult(dateResult: DateResult<*>?): JSONObject {
280
284
  val simpleDateResultJson = JSONObject()
281
285
  dateResult?.day?.let {
282
286
  simpleDateResultJson.put("day", it)
@@ -292,6 +296,9 @@ object BlinkIdSerializationUtilities {
292
296
 
293
297
  private fun serializeDocumentClassInfo(documentClassInfo: DocumentClassInfo): JSONObject {
294
298
  val documentClassInfoJson = JSONObject()
299
+ // TODO: Align country/region/documentType strings with iOS (rawValue). Android uses
300
+ // enum.name with only the first character lowercased; values usually match but are not
301
+ // guaranteed identical for every enum. Prefer shared explicit string mappers on both platforms.
295
302
  documentClassInfo.country?.name?.let {
296
303
  documentClassInfoJson.put("country", it.replaceFirstChar { char -> char.lowercase() })
297
304
  }
@@ -312,6 +319,10 @@ object BlinkIdSerializationUtilities {
312
319
  documentClassInfo.isoAlpha3CountryCode?.let {
313
320
  documentClassInfoJson.put("isoAlpha3CountryCode", it)
314
321
  }
322
+ documentClassInfo.isoNumericCountryCode?.let {
323
+ documentClassInfoJson.put("isoNumericCountryCode", it)
324
+ }
325
+ documentClassInfoJson.put("empty", documentClassInfo.isEmpty())
315
326
  return documentClassInfoJson
316
327
  }
317
328
 
@@ -324,18 +335,37 @@ object BlinkIdSerializationUtilities {
324
335
  }
325
336
 
326
337
  dataMatchResultJson.put("states", statesArray)
327
- dataMatchResultJson.put("overallState", dataMatchResult.overallState.ordinal)
338
+ dataMatchResultJson.put("overallState", serializeDataMatchState(dataMatchResult.overallState))
328
339
 
329
340
  return dataMatchResultJson
330
341
  }
331
342
 
332
343
  private fun serializeDataMatchField(dataMatchField: DataMatchFieldState): JSONObject {
333
344
  val dataMatchFieldJson = JSONObject()
334
- dataMatchFieldJson.put("field", dataMatchField.fieldType.ordinal)
335
- dataMatchFieldJson.put("state", dataMatchField.state.ordinal)
345
+ dataMatchFieldJson.put("field", serializeDataMatchFieldType(dataMatchField.fieldType))
346
+ dataMatchFieldJson.put("state", serializeDataMatchState(dataMatchField.state))
336
347
  return dataMatchFieldJson
337
348
  }
338
349
 
350
+ private fun serializeDataMatchFieldType(fieldType: DataMatchFieldType): String {
351
+ return when (fieldType) {
352
+ DataMatchFieldType.DateOfBirth -> "dateOfBirth"
353
+ DataMatchFieldType.DateOfExpiry -> "dateOfExpiry"
354
+ DataMatchFieldType.DocumentNumber -> "documentNumber"
355
+ DataMatchFieldType.DocumentAdditionalNumber -> "documentAdditionalNumber"
356
+ DataMatchFieldType.DocumentOptionalAdditionalNumber -> "documentOptionalAdditionalNumber"
357
+ DataMatchFieldType.PersonalIdNumber -> "personalIdNumber"
358
+ }
359
+ }
360
+
361
+ private fun serializeDataMatchState(state: DataMatchState): String {
362
+ return when (state) {
363
+ DataMatchState.NotPerformed -> "notPerformed"
364
+ DataMatchState.Failed -> "failed"
365
+ DataMatchState.Success -> "success"
366
+ }
367
+ }
368
+
339
369
  private fun serializeStringResult(stringResult: StringResult): JSONObject {
340
370
  val stringResultJson = JSONObject()
341
371
  stringResultJson.put("value", stringResult.value(AlphabetType.Latin))
@@ -361,16 +391,16 @@ object BlinkIdSerializationUtilities {
361
391
 
362
392
  val sideJson = JSONObject()
363
393
  stringResult.side(AlphabetType.Latin)?.let {
364
- sideJson.put("latin", it.ordinal)
394
+ sideJson.put("latin", serializeScanningSide(it))
365
395
  }
366
396
  stringResult.side(AlphabetType.Arabic)?.let {
367
- sideJson.put("arabic", it.ordinal)
397
+ sideJson.put("arabic", serializeScanningSide(it))
368
398
  }
369
399
  stringResult.side(AlphabetType.Cyrillic)?.let {
370
- sideJson.put("cyrillic", it.ordinal)
400
+ sideJson.put("cyrillic", serializeScanningSide(it))
371
401
  }
372
402
  stringResult.side(AlphabetType.Greek)?.let {
373
- sideJson.put("greek", it.ordinal)
403
+ sideJson.put("greek", serializeScanningSide(it))
374
404
  }
375
405
  stringResultJson.put("side", sideJson)
376
406
 
@@ -386,8 +416,8 @@ object BlinkIdSerializationUtilities {
386
416
  return locationJson
387
417
  }
388
418
 
389
- private fun <T> serializeDriverLicenseDetailedInfo(
390
- driverLicenseDetailedInfo: DriverLicenseDetailedInfo<T>?
419
+ private fun serializeDriverLicenseDetailedInfo(
420
+ driverLicenseDetailedInfo: DriverLicenseDetailedInfo<*>?
391
421
  ): JSONObject {
392
422
  val json = JSONObject()
393
423
 
@@ -407,7 +437,7 @@ object BlinkIdSerializationUtilities {
407
437
  return json
408
438
  }
409
439
 
410
- private fun <T> serializeVehicleClassInfo(vehicleClassInfo: VehicleClassInfo<T>): JSONObject {
440
+ private fun serializeVehicleClassInfo(vehicleClassInfo: VehicleClassInfo<*>): JSONObject {
411
441
  val vehicleClassInfoJson = JSONObject()
412
442
  vehicleClassInfoJson.put(
413
443
  "effectiveDate",
@@ -443,8 +473,8 @@ object BlinkIdSerializationUtilities {
443
473
  val subResultJson = JSONObject()
444
474
  subResultJson.put("barcode", serializeBarcodeResult(subResult.barcode))
445
475
  subResultJson.put(
446
- "barcodeInputImage",
447
- encodeBase64Image(subResult.barcodeInputImage?.bitmap)
476
+ "barcodeImage",
477
+ encodeBase64Image(subResult.barcodeImage?.bitmap)
448
478
  )
449
479
  subResultJson.put("documentImage", encodeBase64Image(subResult.documentImage?.bitmap))
450
480
  subResultJson.put("faceImage", serializeDetailedCroppedImageResult(subResult.faceImage))
@@ -512,21 +542,39 @@ object BlinkIdSerializationUtilities {
512
542
 
513
543
  private fun serializeBarcodeData(barcodeData: BarcodeData?): JSONObject {
514
544
  val barcodeDataJson = JSONObject()
515
- barcodeDataJson.put("barcodeType", barcodeData?.barcodeType?.ordinal)
516
- barcodeDataJson.put("rawData", barcodeData?.rawData.toString())
545
+ barcodeDataJson.put("barcodeType", serializeBarcodeType(barcodeData?.barcodeType))
546
+ barcodeDataJson.put("rawData", encodeBase64Bytes(barcodeData?.rawData))
517
547
  barcodeDataJson.put("stringData", barcodeData?.stringData)
518
548
  barcodeDataJson.put("uncertain", barcodeData?.uncertain)
519
549
 
520
550
  return barcodeDataJson
521
551
  }
522
552
 
553
+ private fun serializeBarcodeType(barcodeType: BarcodeType?): String {
554
+ return when (barcodeType) {
555
+ BarcodeType.None -> "none"
556
+ BarcodeType.QRCode -> "qrCode"
557
+ BarcodeType.DataMatrix -> "dataMatrix"
558
+ BarcodeType.UPCE -> "upce"
559
+ BarcodeType.UPCA -> "upca"
560
+ BarcodeType.EAN8 -> "ean8"
561
+ BarcodeType.EAN13 -> "ean13"
562
+ BarcodeType.Code128 -> "code128"
563
+ BarcodeType.Code39 -> "code39"
564
+ BarcodeType.ITF -> "itf"
565
+ BarcodeType.Aztec -> "aztec"
566
+ BarcodeType.PDF417 -> "pdf417"
567
+ null -> "none"
568
+ }
569
+ }
570
+
523
571
  private fun serializeMrzResult(mrzResult: MrzResult?): JSONObject {
524
572
  val mrzResultJson = JSONObject()
525
573
  mrzResultJson.put("dateOfBirth", serializeDateResult(mrzResult?.dateOfBirth))
526
574
  mrzResultJson.put("dateOfExpiry", serializeDateResult(mrzResult?.dateOfExpiry))
527
575
  mrzResultJson.put("documentCode", mrzResult?.documentCode)
528
576
  mrzResultJson.put("documentNumber", mrzResult?.documentNumber)
529
- mrzResultJson.put("documentType", mrzResult?.documentType?.ordinal)
577
+ mrzResultJson.put("documentType", serializeMrzDocumentType(mrzResult?.documentType))
530
578
  mrzResultJson.put("gender", mrzResult?.gender)
531
579
  mrzResultJson.put("issuer", mrzResult?.issuer)
532
580
  mrzResultJson.put("issuerName", mrzResult?.issuerName)
@@ -614,15 +662,18 @@ object BlinkIdSerializationUtilities {
614
662
  vizResult?.documentAdditionalNumber?.let {
615
663
  vizResultJson.put("documentAdditionalNumber", serializeStringResult(it))
616
664
  }
617
- vizResult?.dependentsInfo.let {
665
+ vizResult?.dependentsInfo?.let {
618
666
  vizResultJson.put(
619
667
  "dependentsInfo",
620
- JSONArray(it?.map { dependentInfo -> serializeDependentInfo(dependentInfo) })
668
+ JSONArray(it.map { dependentInfo -> serializeDependentInfo(dependentInfo) })
621
669
  )
622
670
  }
623
671
  vizResult?.documentNumber?.let {
624
672
  vizResultJson.put("documentNumber", serializeStringResult(it))
625
673
  }
674
+ vizResult?.cardAccessNumber?.let {
675
+ vizResultJson.put("cardAccessNumber", serializeStringResult(it))
676
+ }
626
677
  vizResult?.documentOptionalAdditionalNumber?.let {
627
678
  vizResultJson.put("documentOptionalAdditionalNumber", serializeStringResult(it))
628
679
  }
@@ -754,13 +805,34 @@ object BlinkIdSerializationUtilities {
754
805
  detailedCroppedImageResult?.location?.let {
755
806
  detailedCroppedImageResultJson.put("location", serializeLocation(it))
756
807
  }
757
- detailedCroppedImageResult?.side?.let {
758
- detailedCroppedImageResultJson.put("side", it.ordinal)
759
-
808
+ detailedCroppedImageResult?.side?.let { side ->
809
+ detailedCroppedImageResultJson.put("side", serializeScanningSide(side))
760
810
  }
761
811
  return detailedCroppedImageResultJson
762
812
  }
763
813
 
814
+ private fun serializeMrzDocumentType(documentType: DocumentType?): String? {
815
+ return when (documentType) {
816
+ DocumentType.Unknown -> "unknown"
817
+ DocumentType.IdentityCard -> "identityCard"
818
+ DocumentType.Passport -> "passport"
819
+ DocumentType.Visa -> "visa"
820
+ DocumentType.GreenCard -> "greenCard"
821
+ DocumentType.MysPassIMM13P -> "mysPassIMM13P"
822
+ DocumentType.DriverLicense -> "driverLicense"
823
+ DocumentType.InternalTravelDocument -> "internalTravelDocument"
824
+ DocumentType.BorderCrossingCard -> "borderCrossingCard"
825
+ null -> null
826
+ }
827
+ }
828
+
829
+ private fun serializeScanningSide(side: ScanningSide): String {
830
+ return when (side) {
831
+ ScanningSide.First -> "first"
832
+ ScanningSide.Second -> "second"
833
+ }
834
+ }
835
+
764
836
  private fun serializeBarcodeExtendedElements(barcodeExtendedElements: Array<BarcodeElement>?): JSONObject {
765
837
  val barcodeExtendedElementsJson = JSONObject()
766
838
 
@@ -797,6 +869,12 @@ object BlinkIdSerializationUtilities {
797
869
  }
798
870
  }
799
871
 
872
+ private fun encodeBase64Bytes(data: ByteArray?): String? {
873
+ return data?.let {
874
+ Base64.encodeToString(it, Base64.NO_WRAP)
875
+ }
876
+ }
877
+
800
878
  private fun encodeBase64Image(image: Bitmap?): String? {
801
879
  return image?.let { bmp ->
802
880
  val outputStream = ByteArrayOutputStream()
@@ -12,10 +12,10 @@ import com.microblink.blinkid.core.BlinkIdSdkSettings
12
12
  import com.microblink.blinkid.core.session.BlinkIdProcessResult
13
13
  import com.microblink.blinkid.ux.contract.BlinkIdScanActivitySettings
14
14
  import com.microblink.blinkid.ux.contract.MbBlinkIdScan
15
- import com.microblink.core.image.InputImage
16
- import com.microblink.core.ping.PingManager
17
- import com.microblink.core.ping.pinglets.WrapperProductInfo
18
- import com.microblink.ux.contract.ScanActivityResultStatus
15
+ import com.microblink.blinkid.core.image.InputImage
16
+ import com.microblink.blinkid.core.ping.PingManager
17
+ import com.microblink.blinkid.core.ping.pinglets.WrapperProductInfo
18
+ import com.microblink.blinkid.ux.contract.ScanActivityResultStatus
19
19
  import kotlinx.coroutines.CoroutineScope
20
20
  import kotlinx.coroutines.Dispatchers
21
21
  import kotlinx.coroutines.launch
@@ -122,6 +122,7 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
122
122
  blinkIdSessionSettings: String?,
123
123
  blinkIdScanningUxSettings: String?,
124
124
  classFilter: String?,
125
+ redactionSettingsResolver: String?,
125
126
  promise: Promise?
126
127
  ) {
127
128
  CoroutineScope(Dispatchers.Main).launch {
@@ -129,32 +130,36 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
129
130
  try {
130
131
  val sdkSettingsJson = blinkIdSdkSettings?.let { JSONObject(it) }
131
132
  val sessionSettingsJson = blinkIdSessionSettings?.let { JSONObject(it) }
132
- val classFilterJson = classFilter?.let { JSONObject(it) }
133
- val blinkIdScanningUxJson = blinkIdScanningUxSettings?.let { JSONObject(it) }
133
+ val classFilterJson = parseOptionalJsonObject(classFilter)
134
+ val redactionResolverJson = parseOptionalJsonObject(redactionSettingsResolver)
135
+ val blinkIdScanningUxJson = parseOptionalJsonObject(blinkIdScanningUxSettings)
134
136
  val sdkSettings: BlinkIdSdkSettings = sdkSettingsJson?.let {
135
137
  BlinkIdDeserializationUtilities.deserializeBlinkIdSdkSettings(it)
136
- }?:return@launch withContext(Dispatchers.Main) {
138
+ } ?: return@launch withContext(Dispatchers.Main) {
137
139
  promise?.reject(BLINKID_ERROR_RESULT_CODE, "Invalid SDK settings")
138
140
  }
139
141
 
140
- blinkIdSdk = ensureLoadedSdk(sdkSettingsJson)
141
-
142
142
  reactApplicationContext.currentActivity?.applicationContext?.let {
143
143
  val intent = MbBlinkIdScan().createIntent(
144
144
  it,
145
145
  BlinkIdScanActivitySettings(
146
146
  sdkSettings = sdkSettings,
147
- cameraSettings = BlinkIdDeserializationUtilities.deserializeCameraSettings(blinkIdScanningUxJson),
147
+ cameraSettings = BlinkIdDeserializationUtilities.deserializeCameraSettings(
148
+ blinkIdScanningUxJson
149
+ ),
148
150
  scanningSessionSettings = BlinkIdDeserializationUtilities.deserializeBlinkIdSessionSettings(
149
151
  sessionSettingsJson,
150
152
  false
151
153
  ),
152
- uxSettings = BlinkIdDeserializationUtilities.deserializeBlinkIdScanningUxSettings(
154
+ uxSettings = BlinkIdDeserializationUtilities.deserializeBlinkIdUxSettings(
153
155
  blinkIdScanningUxJson,
156
+ sessionSettingsJson,
154
157
  classFilterJson,
158
+ redactionResolverJson,
155
159
  ),
156
- showHelpButton = blinkIdScanningUxJson?.optBoolean("showHelpButton", true)?: true,
157
- showOnboardingDialog = blinkIdScanningUxJson?.optBoolean("showOnboardingDialog", true) ?: true
160
+ showHelpButton = blinkIdScanningUxJson?.optBoolean("showHelpButton", true) ?: true,
161
+ showOnboardingDialog = blinkIdScanningUxJson?.optBoolean("showOnboardingDialog", true)
162
+ ?: true
158
163
  )
159
164
  )
160
165
  addReactNativePinglet(it)
@@ -173,6 +178,7 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
173
178
  blinkIdSessionSettings: String?,
174
179
  firstImage: String?,
175
180
  secondImage: String?,
181
+ redactionSettings: String?,
176
182
  promise: Promise?
177
183
  ) {
178
184
  pendingPromise = promise
@@ -180,6 +186,7 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
180
186
  try {
181
187
  val sdkSettingsJson = blinkIdSdkSettings?.let { JSONObject(it) }
182
188
  val sessionSettingsJson = blinkIdSessionSettings?.let { JSONObject(it) }
189
+ val redactionSettingsJson = parseOptionalJsonObject(redactionSettings)
183
190
 
184
191
  val context = reactApplicationContext.applicationContext
185
192
  ?: return@launch withContext(Dispatchers.Main) {
@@ -193,31 +200,25 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
193
200
  sessionSettingsJson,
194
201
  true
195
202
  )
196
- )
203
+ ).getOrThrow()
197
204
 
198
205
  val inputImages = listOfNotNull(
199
206
  firstImage?.let { BlinkIdDeserializationUtilities.base64ToBitmap(it) },
200
207
  secondImage?.let { BlinkIdDeserializationUtilities.base64ToBitmap(it) }
201
208
  )
202
209
 
203
- var result: Result<BlinkIdProcessResult>? = null
204
-
205
210
  for (img in inputImages) {
206
- result = session.process(InputImage.createFromBitmap(img))
211
+ session.process(InputImage.createFromBitmap(img)).getOrThrow()
207
212
  }
208
213
 
209
- if (result?.isSuccess == true) {
210
- val scanResult = session.getResult()
211
- val resultJson =
212
- BlinkIdSerializationUtilities.serializeBlinkIdScanningResult(scanResult)
214
+ val scanResult = session.getResult(
215
+ BlinkIdDeserializationUtilities.deserializeRedactionSettings(redactionSettingsJson)
216
+ ).getOrThrow()
217
+ val resultJson =
218
+ BlinkIdSerializationUtilities.serializeBlinkIdScanningResult(scanResult)
213
219
 
214
- withContext(Dispatchers.Main) {
215
- promise?.resolve(resultJson.toString())
216
- }
217
- } else {
218
- withContext(Dispatchers.Main) {
219
- promise?.reject(BLINKID_ERROR_RESULT_CODE, "Could not get the results.")
220
- }
220
+ withContext(Dispatchers.Main) {
221
+ promise?.resolve(resultJson)
221
222
  }
222
223
 
223
224
  it.close()
@@ -260,10 +261,17 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
260
261
 
261
262
  private fun addReactNativePinglet(context: Context) {
262
263
  PingManager.getInstance(context).add(
263
- WrapperProductInfo(
264
- wrapperProduct = WrapperProductInfo.WrapperProduct.CROSSPLATFORMREACTNATIVE),
265
- 0)
264
+ WrapperProductInfo(WrapperProductInfo.WrapperProduct.CROSSPLATFORMREACTNATIVE),
265
+ 0
266
+ )
266
267
  }
268
+ private fun parseOptionalJsonObject(value: String?): JSONObject? {
269
+ if (value.isNullOrBlank() || value == "null" || value == "undefined") {
270
+ return null
271
+ }
272
+ return JSONObject(value)
273
+ }
274
+
267
275
  companion object {
268
276
  const val NAME = "BlinkidReactNative"
269
277
  }
@@ -1,5 +1,6 @@
1
1
  #import "BlinkidReactNative.h"
2
2
  #import "BlinkidReactNative-Swift.h"
3
+ #import <React/RCTUtils.h>
3
4
 
4
5
  #ifdef RCT_NEW_ARCH_ENABLED
5
6
  #import <BlinkidReactNativeSpec/BlinkidReactNativeSpec.h>
@@ -43,64 +44,45 @@ RCT_EXPORT_METHOD(unloadBlinkIdSdk:(BOOL)deleteCachedResources
43
44
  }];
44
45
  }
45
46
 
46
- RCT_EXPORT_METHOD(performScan:(NSString *)blinkIdSdkSettings
47
- blinkIdSessionSettings:(NSString *)blinkIdSessionSettings
48
- blinkIdScanningUxSettings:(NSString *)blinkIdScanningUxSettings
49
- classFilter:(NSString *)classFilter
50
- resolve:(RCTPromiseResolveBlock)resolve
51
- reject:(RCTPromiseRejectBlock)reject)
52
- {
47
+ RCT_EXPORT_METHOD(performDirectApiScan:(nonnull NSString *)blinkIdSdkSettings blinkIdSessionSettings:(nonnull NSString *)blinkIdSessionSettings firstImage:(nonnull NSString *)firstImage secondImage:(nonnull NSString *)secondImage redactionSettings:(nonnull NSString *)redactionSettings resolve:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject) {
48
+ [self->moduleImplementation
49
+ performDirectApiScanWithBlinkIdSdkSettings: [self createDictionaryFromBlinkIdObject: blinkIdSdkSettings]
50
+ blinkIdSessionSettings: [self createDictionaryFromBlinkIdObject: blinkIdSessionSettings]
51
+ redactionSettings: [self createDictionaryFromBlinkIdObject:redactionSettings]
52
+ firstImage:firstImage
53
+ secondImage:secondImage
54
+ onResolve:^(NSString * _Nonnull result) {
55
+ resolve(result);
56
+ } onReject:^(NSString * _Nonnull error) {
57
+ reject(@"BlinkIdIosError", error, nil);
58
+ }];
59
+ }
60
+
61
+
62
+ RCT_EXPORT_METHOD(performScan:(NSString *)blinkIdSdkSettings blinkIdSessionSettings:(NSString *)blinkIdSessionSettings blinkIdScanningUxSettings:(NSString *)blinkIdScanningUxSettings classFilter:(NSString *)classFilter redactionSettingsResolver:(NSString *)redactionSettingsResolver resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) {
53
63
  dispatch_async(dispatch_get_main_queue(), ^{
54
- UIWindow *keyWindow = nil;
55
-
56
- for (UIWindowScene *scene in [UIApplication sharedApplication].connectedScenes) {
57
- if (scene.activationState == UISceneActivationStateForegroundActive &&
58
- [scene isKindOfClass:[UIWindowScene class]]) {
59
- for (UIWindow *window in scene.windows) {
60
- if (window.isKeyWindow) {
61
- keyWindow = window;
62
- break;
63
- }
64
- }
65
- }
66
- if (keyWindow) {
67
- break;
68
- }
64
+ UIViewController *rootViewController = RCTPresentedViewController();
65
+ if (rootViewController == nil) {
66
+ reject(@"BlinkIdIosError", @"No view controller is available to present the BlinkID scanning UI.", nil);
67
+ return;
69
68
  }
70
-
69
+
71
70
  [self->moduleImplementation
72
- performScan:keyWindow.rootViewController
71
+ performScan:rootViewController
73
72
  blinkIdSdkSettings:[self createDictionaryFromBlinkIdObject:blinkIdSdkSettings]
74
73
  blinkIdSessionSettings:[self createDictionaryFromBlinkIdObject:blinkIdSessionSettings]
75
74
  blinkIdScanningUxSettings:[self createDictionaryFromBlinkIdObject:blinkIdScanningUxSettings]
76
75
  classFilterSettings:[self createDictionaryFromBlinkIdObject:classFilter]
76
+ redactionSettingsResolver: [self createDictionaryFromBlinkIdObject:redactionSettingsResolver]
77
77
  onResolve:^(NSString * _Nonnull result) {
78
- resolve(@[result]);
78
+ resolve(result);
79
79
  } onReject:^(NSString * _Nonnull error) {
80
- reject(@"BlinkIdIosError", error, nil);
80
+ NSString *message = error.length > 0 ? error : @"Unknown BlinkID iOS error.";
81
+ reject(@"BlinkIdIosError", message, nil);
81
82
  }];
82
83
  });
83
84
  }
84
85
 
85
- RCT_EXPORT_METHOD(performDirectApiScan:(NSString *)blinkIdSdkSettings
86
- blinkIdSessionSettings:(NSString *)blinkIdSessionSettings
87
- firstImage:(NSString *)firstImage
88
- secondImage:(NSString *)secondImage
89
- resolve:(RCTPromiseResolveBlock)resolve
90
- reject:(RCTPromiseRejectBlock)reject)
91
- {
92
- [self->moduleImplementation
93
- performDirectApiScanWithBlinkIdSdkSettings: [self createDictionaryFromBlinkIdObject: blinkIdSdkSettings]
94
- blinkIdSessionSettings: [self createDictionaryFromBlinkIdObject: blinkIdSessionSettings]
95
- firstImage:firstImage
96
- secondImage:secondImage
97
- onResolve:^(NSString * _Nonnull result) {
98
- resolve(@[result]);
99
- } onReject:^(NSString * _Nonnull error) {
100
- reject(@"BlinkIdIosError", error, nil);
101
- }];
102
- }
103
-
104
86
  #ifdef RCT_NEW_ARCH_ENABLED
105
87
  - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
106
88
  (const facebook::react::ObjCTurboModule::InitParams &)params
@@ -111,16 +93,24 @@ RCT_EXPORT_METHOD(performDirectApiScan:(NSString *)blinkIdSdkSettings
111
93
 
112
94
  - (NSDictionary *)createDictionaryFromBlinkIdObject:(NSString *)jsonString
113
95
  {
114
- NSError *jsonError;
96
+ if (jsonString == nil || jsonString.length == 0) {
97
+ return @{};
98
+ }
99
+
115
100
  NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
116
- if (!data) {
117
- return nil;
101
+ if (data == nil) {
102
+ return @{};
103
+ }
104
+
105
+ NSError *jsonError = nil;
106
+ id parsed = [NSJSONSerialization JSONObjectWithData:data
107
+ options:NSJSONReadingMutableContainers
108
+ error:&jsonError];
109
+ if (![parsed isKindOfClass:[NSDictionary class]]) {
110
+ return @{};
118
111
  }
119
112
 
120
- NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data
121
- options:NSJSONReadingMutableContainers
122
- error:&jsonError];
123
- return dict;
113
+ return (NSDictionary *)parsed;
124
114
  }
125
115
 
126
116
  @end