@microblink/blinkid-react-native 7.7.0 → 8001.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 (234) hide show
  1. package/BlinkidReactNative.podspec +2 -1
  2. package/README.md +621 -281
  3. package/android/build.gradle +56 -4
  4. package/android/gradle.properties +3 -4
  5. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdClassInfoIdMappings.kt +33 -0
  6. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdDeserializationUtilities.kt +370 -258
  7. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdSerializationUtilities.kt +149 -41
  8. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkidReactNativeModule.kt +54 -31
  9. package/ios/BlinkidReactNative.mm +49 -52
  10. package/ios/BlinkidReactNativeModule.swift +114 -57
  11. package/ios/Frameworks/BlinkID.xcframework/Info.plist +5 -9
  12. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/BlinkID +0 -0
  13. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/BlinkID.h +893 -13
  14. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Info.plist +0 -0
  15. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64.swiftdoc +0 -0
  16. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/{arm64-apple-ios.private.swiftinterface → arm64.swiftinterface} +2421 -2076
  17. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/module.modulemap +1 -7
  18. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/PrivacyInfo.xcprivacy +0 -0
  19. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/BlinkID +0 -0
  20. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/BlinkID.h +893 -13
  21. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Info.plist +0 -0
  22. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64.swiftdoc +0 -0
  23. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/{arm64-apple-ios-simulator.swiftinterface → arm64.swiftinterface} +2421 -2076
  24. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64.swiftdoc +0 -0
  25. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/{x86_64-apple-ios-simulator.private.swiftinterface → x86_64.swiftinterface} +2421 -2076
  26. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/module.modulemap +1 -7
  27. package/ios/Frameworks/BlinkIDUX.xcframework/Info.plist +5 -5
  28. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeDirectory +0 -0
  29. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeResources +276 -276
  30. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeSignature +0 -0
  31. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX +0 -0
  32. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Assets.car +0 -0
  33. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Info.plist +0 -0
  34. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ak.lproj/Localizable.strings +0 -0
  35. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/am.lproj/Localizable.strings +0 -0
  36. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ar.lproj/Localizable.strings +0 -0
  37. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/bn.lproj/Localizable.strings +0 -0
  38. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/cs.lproj/Localizable.strings +0 -0
  39. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/da.lproj/Localizable.strings +0 -0
  40. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/de.lproj/Localizable.strings +0 -0
  41. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/el.lproj/Localizable.strings +0 -0
  42. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en-GB.lproj/Localizable.strings +0 -0
  43. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en.lproj/Localizable.strings +0 -0
  44. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es-MX.lproj/Localizable.strings +0 -0
  45. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es.lproj/Localizable.strings +0 -0
  46. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fa.lproj/Localizable.strings +0 -0
  47. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fi.lproj/Localizable.strings +0 -0
  48. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fil.lproj/Localizable.strings +0 -0
  49. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr-CA.lproj/Localizable.strings +0 -0
  50. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr.lproj/Localizable.strings +0 -0
  51. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ha.lproj/Localizable.strings +0 -0
  52. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/he.lproj/Localizable.strings +0 -0
  53. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hi.lproj/Localizable.strings +0 -0
  54. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hr.lproj/Localizable.strings +0 -0
  55. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hu.lproj/Localizable.strings +0 -0
  56. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/id.lproj/Localizable.strings +0 -0
  57. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/is.lproj/Localizable.strings +0 -0
  58. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/it.lproj/Localizable.strings +0 -0
  59. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ja.lproj/Localizable.strings +0 -0
  60. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ka-GE.lproj/Localizable.strings +0 -0
  61. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/kk.lproj/Localizable.strings +0 -0
  62. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/km-KH.lproj/Localizable.strings +0 -0
  63. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ko.lproj/Localizable.strings +0 -0
  64. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/lv.lproj/Localizable.strings +0 -0
  65. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ms.lproj/Localizable.strings +0 -0
  66. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nb.lproj/Localizable.strings +0 -0
  67. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ne.lproj/Localizable.strings +0 -0
  68. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nl.lproj/Localizable.strings +0 -0
  69. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pl.lproj/Localizable.strings +0 -0
  70. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ps-AF.lproj/Localizable.strings +0 -0
  71. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt-BR.lproj/Localizable.strings +0 -0
  72. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt.lproj/Localizable.strings +0 -0
  73. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ro.lproj/Localizable.strings +0 -0
  74. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ru.lproj/Localizable.strings +0 -0
  75. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/si.lproj/Localizable.strings +0 -0
  76. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sk.lproj/Localizable.strings +0 -0
  77. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sl.lproj/Localizable.strings +0 -0
  78. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sr.lproj/Localizable.strings +0 -0
  79. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sv.lproj/Localizable.strings +0 -0
  80. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sw.lproj/Localizable.strings +0 -0
  81. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/th.lproj/Localizable.strings +0 -0
  82. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/tr.lproj/Localizable.strings +0 -0
  83. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uk.lproj/Localizable.strings +0 -0
  84. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ur.lproj/Localizable.strings +0 -0
  85. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uz.lproj/Localizable.strings +0 -0
  86. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/vi.lproj/Localizable.strings +0 -0
  87. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/yo.lproj/Localizable.strings +0 -0
  88. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hans.lproj/Localizable.strings +0 -0
  89. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hant.lproj/Localizable.strings +0 -0
  90. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Info.plist +0 -0
  91. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.abi.json +3860 -1881
  92. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.package.swiftinterface +87 -69
  93. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.private.swiftinterface +87 -69
  94. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  95. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.swiftinterface +87 -69
  96. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX +0 -0
  97. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Assets.car +0 -0
  98. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Info.plist +0 -0
  99. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeDirectory +0 -0
  100. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeResources +114 -114
  101. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ak.lproj/Localizable.strings +0 -0
  102. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/am.lproj/Localizable.strings +0 -0
  103. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ar.lproj/Localizable.strings +0 -0
  104. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/bn.lproj/Localizable.strings +0 -0
  105. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/cs.lproj/Localizable.strings +0 -0
  106. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/da.lproj/Localizable.strings +0 -0
  107. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/de.lproj/Localizable.strings +0 -0
  108. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/el.lproj/Localizable.strings +0 -0
  109. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en-GB.lproj/Localizable.strings +0 -0
  110. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en.lproj/Localizable.strings +0 -0
  111. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es-MX.lproj/Localizable.strings +0 -0
  112. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es.lproj/Localizable.strings +0 -0
  113. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fa.lproj/Localizable.strings +0 -0
  114. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fi.lproj/Localizable.strings +0 -0
  115. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fil.lproj/Localizable.strings +0 -0
  116. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr-CA.lproj/Localizable.strings +0 -0
  117. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr.lproj/Localizable.strings +0 -0
  118. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ha.lproj/Localizable.strings +0 -0
  119. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/he.lproj/Localizable.strings +0 -0
  120. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hi.lproj/Localizable.strings +0 -0
  121. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hr.lproj/Localizable.strings +0 -0
  122. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hu.lproj/Localizable.strings +0 -0
  123. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/id.lproj/Localizable.strings +0 -0
  124. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/is.lproj/Localizable.strings +0 -0
  125. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/it.lproj/Localizable.strings +0 -0
  126. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ja.lproj/Localizable.strings +0 -0
  127. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ka-GE.lproj/Localizable.strings +0 -0
  128. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/kk.lproj/Localizable.strings +0 -0
  129. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/km-KH.lproj/Localizable.strings +0 -0
  130. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ko.lproj/Localizable.strings +0 -0
  131. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/lv.lproj/Localizable.strings +0 -0
  132. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ms.lproj/Localizable.strings +0 -0
  133. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nb.lproj/Localizable.strings +0 -0
  134. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ne.lproj/Localizable.strings +0 -0
  135. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nl.lproj/Localizable.strings +0 -0
  136. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pl.lproj/Localizable.strings +0 -0
  137. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ps-AF.lproj/Localizable.strings +0 -0
  138. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt-BR.lproj/Localizable.strings +0 -0
  139. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt.lproj/Localizable.strings +0 -0
  140. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ro.lproj/Localizable.strings +0 -0
  141. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ru.lproj/Localizable.strings +0 -0
  142. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/si.lproj/Localizable.strings +0 -0
  143. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sk.lproj/Localizable.strings +0 -0
  144. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sl.lproj/Localizable.strings +0 -0
  145. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sr.lproj/Localizable.strings +0 -0
  146. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sv.lproj/Localizable.strings +0 -0
  147. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sw.lproj/Localizable.strings +0 -0
  148. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/th.lproj/Localizable.strings +0 -0
  149. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/tr.lproj/Localizable.strings +0 -0
  150. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uk.lproj/Localizable.strings +0 -0
  151. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ur.lproj/Localizable.strings +0 -0
  152. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uz.lproj/Localizable.strings +0 -0
  153. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/vi.lproj/Localizable.strings +0 -0
  154. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/yo.lproj/Localizable.strings +0 -0
  155. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hans.lproj/Localizable.strings +0 -0
  156. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hant.lproj/Localizable.strings +0 -0
  157. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Info.plist +0 -0
  158. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.abi.json +3860 -1881
  159. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.package.swiftinterface +87 -69
  160. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +87 -69
  161. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  162. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.swiftinterface +87 -69
  163. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.abi.json +3860 -1881
  164. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.package.swiftinterface +87 -69
  165. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +87 -69
  166. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  167. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +87 -69
  168. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/_CodeSignature/CodeResources +1 -1
  169. package/ios/Serialization/BlinkIdDeserializationUtils.swift +614 -0
  170. package/ios/{BlinkIdSerializationUtilities.swift → Serialization/BlinkIdSerializationUtils.swift} +294 -255
  171. package/lib/module/NativeBlinkidReactNative.js.map +1 -1
  172. package/lib/module/blinkIdResult.js +1 -822
  173. package/lib/module/blinkIdResult.js.map +1 -1
  174. package/lib/module/blinkIdSettings.js +1 -496
  175. package/lib/module/blinkIdSettings.js.map +1 -1
  176. package/lib/module/index.js +94 -17
  177. package/lib/module/index.js.map +1 -1
  178. package/lib/module/types.js +715 -3373
  179. package/lib/module/types.js.map +1 -1
  180. package/lib/typescript/src/NativeBlinkidReactNative.d.ts +36 -5
  181. package/lib/typescript/src/NativeBlinkidReactNative.d.ts.map +1 -1
  182. package/lib/typescript/src/blinkIdResult.d.ts +17 -20
  183. package/lib/typescript/src/blinkIdResult.d.ts.map +1 -1
  184. package/lib/typescript/src/blinkIdSettings.d.ts +195 -317
  185. package/lib/typescript/src/blinkIdSettings.d.ts.map +1 -1
  186. package/lib/typescript/src/index.d.ts +48 -10
  187. package/lib/typescript/src/index.d.ts.map +1 -1
  188. package/lib/typescript/src/types.d.ts +1062 -1210
  189. package/lib/typescript/src/types.d.ts.map +1 -1
  190. package/package.json +5 -4
  191. package/src/NativeBlinkidReactNative.ts +39 -5
  192. package/src/blinkIdResult.ts +19 -466
  193. package/src/blinkIdSettings.ts +218 -389
  194. package/src/index.tsx +221 -35
  195. package/src/types.ts +1253 -1463
  196. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  197. package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
  198. package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
  199. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  200. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  201. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  202. package/android/.gradle/8.9/gc.properties +0 -0
  203. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  204. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  205. package/android/.gradle/vcs-1/gc.properties +0 -0
  206. package/android/.project +0 -28
  207. package/ios/BlinkIdDeserializationUtilities.swift +0 -374
  208. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/BlinkID-Swift.h +0 -43937
  209. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/MBSampleBufferWrapper.h +0 -28
  210. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.abi.json +0 -78651
  211. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  212. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.swiftinterface +0 -2304
  213. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/module.private.modulemap +0 -12
  214. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/PrivateHeaders/SwiftCxxBridge.hpp +0 -19
  215. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/_CodeSignature/CodeResources +0 -245
  216. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/conan.xcconfig +0 -40
  217. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/BlinkID-Swift.h +0 -87870
  218. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/MBSampleBufferWrapper.h +0 -28
  219. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.abi.json +0 -78651
  220. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +0 -2304
  221. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  222. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.abi.json +0 -78651
  223. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  224. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +0 -2304
  225. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/module.private.modulemap +0 -12
  226. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/PrivateHeaders/SwiftCxxBridge.hpp +0 -19
  227. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/_CodeSignature/CodeResources +0 -300
  228. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/conan.xcconfig +0 -40
  229. package/lib/module/blinkIdUtilities.js +0 -21
  230. package/lib/module/blinkIdUtilities.js.map +0 -1
  231. package/lib/typescript/src/blinkIdUtilities.d.ts +0 -8
  232. package/lib/typescript/src/blinkIdUtilities.d.ts.map +0 -1
  233. package/src/android/.project +0 -28
  234. package/src/blinkIdUtilities.ts +0 -20
@@ -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,52 @@ 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
+ RCT_EXPORT_METHOD(refreshLicenseLease:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) {
62
+ [self->moduleImplementation refreshLicenseLeaseOnResolve:^(NSString * _Nonnull) {
63
+ resolve(@"");
64
+ } onReject:^(NSString * _Nonnull error) {
65
+ reject(@"BlinkIdIosError", error, nil);
66
+ }];
67
+ }
68
+
69
+ 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
70
  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
- }
71
+ UIViewController *rootViewController = RCTPresentedViewController();
72
+ if (rootViewController == nil) {
73
+ reject(@"BlinkIdIosError", @"No view controller is available to present the BlinkID scanning UI.", nil);
74
+ return;
69
75
  }
70
-
76
+
71
77
  [self->moduleImplementation
72
- performScan:keyWindow.rootViewController
78
+ performScan:rootViewController
73
79
  blinkIdSdkSettings:[self createDictionaryFromBlinkIdObject:blinkIdSdkSettings]
74
80
  blinkIdSessionSettings:[self createDictionaryFromBlinkIdObject:blinkIdSessionSettings]
75
81
  blinkIdScanningUxSettings:[self createDictionaryFromBlinkIdObject:blinkIdScanningUxSettings]
76
82
  classFilterSettings:[self createDictionaryFromBlinkIdObject:classFilter]
83
+ redactionSettingsResolver: [self createDictionaryFromBlinkIdObject:redactionSettingsResolver]
77
84
  onResolve:^(NSString * _Nonnull result) {
78
- resolve(@[result]);
85
+ resolve(result);
79
86
  } onReject:^(NSString * _Nonnull error) {
80
- reject(@"BlinkIdIosError", error, nil);
87
+ NSString *message = error.length > 0 ? error : @"Unknown BlinkID iOS error.";
88
+ reject(@"BlinkIdIosError", message, nil);
81
89
  }];
82
90
  });
83
91
  }
84
92
 
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
93
  #ifdef RCT_NEW_ARCH_ENABLED
105
94
  - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
106
95
  (const facebook::react::ObjCTurboModule::InitParams &)params
@@ -111,16 +100,24 @@ RCT_EXPORT_METHOD(performDirectApiScan:(NSString *)blinkIdSdkSettings
111
100
 
112
101
  - (NSDictionary *)createDictionaryFromBlinkIdObject:(NSString *)jsonString
113
102
  {
114
- NSError *jsonError;
103
+ if (jsonString == nil || jsonString.length == 0) {
104
+ return @{};
105
+ }
106
+
115
107
  NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
116
- if (!data) {
117
- return nil;
108
+ if (data == nil) {
109
+ return @{};
110
+ }
111
+
112
+ NSError *jsonError = nil;
113
+ id parsed = [NSJSONSerialization JSONObjectWithData:data
114
+ options:NSJSONReadingMutableContainers
115
+ error:&jsonError];
116
+ if (![parsed isKindOfClass:[NSDictionary class]]) {
117
+ return @{};
118
118
  }
119
119
 
120
- NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data
121
- options:NSJSONReadingMutableContainers
122
- error:&jsonError];
123
- return dict;
120
+ return (NSDictionary *)parsed;
124
121
  }
125
122
 
126
123
  @end
@@ -12,10 +12,10 @@ import Combine
12
12
  import BlinkID
13
13
  import BlinkIDUX
14
14
 
15
- @objc public class BlinkidReactNativeModule: NSObject {
15
+ @objc public final class BlinkidReactNativeModule: NSObject {
16
16
 
17
- private var cancellables = Set<AnyCancellable>()
18
17
  private var classFilterDict: [String: Any]?
18
+ private var redactionSettingsResolverDict: [String: Any]?
19
19
 
20
20
  private var blinkIdSdk: BlinkIDSdk?
21
21
 
@@ -25,7 +25,7 @@ import BlinkIDUX
25
25
  let _ = try await ensureLoadedSdk(blinkIdSdkSettings)
26
26
  onResolve("")
27
27
  } catch {
28
- onReject(error.localizedDescription)
28
+ onReject(BlinkIdReactNativeError.message(for: error))
29
29
  }
30
30
  }
31
31
  }
@@ -33,20 +33,21 @@ import BlinkIDUX
33
33
  private func ensureLoadedSdk(_ blinkIdSdkSettings: [String: Any]) async throws -> BlinkIDSdk? {
34
34
  if let blinkIdSdk = blinkIdSdk { return blinkIdSdk }
35
35
  do {
36
- guard let settings = BlinkIdDeserializationUtilities.deserializeBlinkIdSdkSettings(blinkIdSdkSettings) else { throw BlinkIdReactNativeError.incorrectArgument(message: "Incorrect BlinkID SDK settings!") }
36
+ guard let settings = BlinkIdDeserializationUtils.deserializeBlinkIdSdkSettings(blinkIdSdkSettings) else {
37
+ throw BlinkIdReactNativeError.incorrectArgument("BlinkID SDK settings (licenseKey is required)")
38
+ }
37
39
  blinkIdSdk = try await BlinkIDSdk.createBlinkIDSdk(withSettings: settings)
38
40
  return blinkIdSdk
39
41
  } catch {
40
42
  blinkIdSdk = nil
41
43
  throw error
42
44
  }
43
- return nil
44
45
  }
45
46
 
46
47
  @objc public func unloadSdk(_ deleteCachedResources: Bool, onResolve: @escaping (String) -> Void, onReject: @escaping (String) -> Void) {
47
48
  Task {
48
49
  if deleteCachedResources {
49
- await BlinkIDSdk.terminateBlinkIDSdkAndDeleteCachedResources()
50
+ await BlinkIDSdk.terminateBlinkIDSdkAndDeleteCachedResources()
50
51
  } else {
51
52
  await BlinkIDSdk.terminateBlinkIDSdk()
52
53
  }
@@ -55,110 +56,126 @@ import BlinkIDUX
55
56
  }
56
57
  }
57
58
 
58
- @objc public func performScan(_ rootVc: UIViewController, blinkIdSdkSettings: [String: Any], blinkIdSessionSettings: [String: Any], blinkIdScanningUxSettings: [String: Any], classFilterSettings: [String: Any], onResolve: @escaping (String) -> Void, onReject: @escaping (String) -> Void) {
59
+ @objc public func performScan(_ rootVc: UIViewController, blinkIdSdkSettings: [String: Any], blinkIdSessionSettings: [String: Any], blinkIdScanningUxSettings: [String: Any], classFilterSettings: [String: Any], redactionSettingsResolver: [String: Any], onResolve: @escaping (String) -> Void, onReject: @escaping (String) -> Void) {
59
60
  Task {
60
61
  do {
61
-
62
62
  blinkIdSdk = try await ensureLoadedSdk(blinkIdSdkSettings)
63
63
  guard let blinkIdSdk = blinkIdSdk else {
64
- onReject("The SDK is not loaded!")
65
- return
64
+ throw BlinkIdReactNativeError.initError("The BlinkID SDK is not initialized. Call the loadBlinkIdSdk() method to pre-load the SDK first, or try running the performScan() method with a valid internet connection.")
66
65
  }
67
- let sessionSettings = BlinkIdDeserializationUtilities.deserializeBlinkIdSessionSettings(blinkIdSessionSettings)
66
+
67
+ let sessionSettings = BlinkIdDeserializationUtils.deserializeBlinkIdSessionSettings(blinkIdSessionSettings)
68
+
68
69
  classFilterDict = classFilterSettings
70
+ redactionSettingsResolverDict = redactionSettingsResolver
69
71
 
70
72
  let analyzer = try await BlinkIDAnalyzer(
71
73
  sdk: blinkIdSdk,
72
74
  blinkIdSessionSettings: sessionSettings,
73
75
  eventStream: BlinkIDEventStream(),
74
- classFilter: self
76
+ classFilter: self,
77
+ redactionSettingsResolver: self
75
78
  )
76
79
  await addReactNativePinglet(with: analyzer.sessionNumber)
77
80
 
78
81
  let scanningUxModel = await BlinkIDUXModel(
79
82
  analyzer: analyzer,
80
- uxSettings: BlinkIdDeserializationUtilities.deserializeBlinkIdUxScanningSettings(blinkIdScanningUxSettings)
81
- )
82
-
83
- await scanningUxModel.$result
84
- .sink { [weak self] scanningResultState in
85
- if let scanningResultState {
86
- if let scanningResult = scanningResultState.scanningResult {
87
- DispatchQueue.main.async {
88
- if let result = BlinkIdSerializationUtilities.serializeBlinkIdScanningResult(scanningResult) {
89
- onResolve(result)
90
- rootVc.dismiss(animated: true)
91
- }
92
- }
93
- }
94
- else {
95
- Task {
96
- await BlinkIDSdk.terminateBlinkIDSdk()
97
- }
98
- DispatchQueue.main.async {
99
- onReject("Scanning has been canceled")
83
+ uxSettings: BlinkIdDeserializationUtils.deserializeBlinkIdUxScanningSettings(blinkIdScanningUxSettings), onScanCompleted: { blinkIdState in
84
+ if let scanningResult = blinkIdState.scanningResult {
85
+ DispatchQueue.main.async {
86
+ if let result = BlinkIdSerializationUtils.serializeBlinkIdScanningResult(scanningResult) {
87
+ onResolve(result)
100
88
  rootVc.dismiss(animated: true)
101
89
  }
102
- self?.cancellables.forEach{ $0.cancel() }
103
90
  }
104
91
  }
92
+ else {
93
+ Task { await BlinkIDSdk.terminateBlinkIDSdk() }
94
+ DispatchQueue.main.async {
95
+ onReject(BlinkIdReactNativeError.message(for: BlinkIdReactNativeError.scanningCancelled))
96
+ rootVc.dismiss(animated: true)
97
+ }
98
+ }
99
+
105
100
  }
106
- .store(in: &cancellables)
101
+ )
107
102
 
108
103
  self.presentScanningUI(scanningUxModel, rootVc)
104
+ } catch let blinkIdError as BlinkIdReactNativeError {
105
+ onReject(BlinkIdReactNativeError.message(for: blinkIdError))
109
106
  } catch {
110
107
  if let sdkError = error as? InvalidLicenseKeyError {
111
108
  onReject(sdkError.message)
112
109
  } else {
113
- onReject(error.localizedDescription)
110
+ onReject(BlinkIdReactNativeError.message(for: error))
114
111
  }
115
112
  }
116
113
  }
117
114
  }
118
115
 
119
- @objc public func performDirectApiScan(blinkIdSdkSettings: [String: Any], blinkIdSessionSettings: [String: Any], firstImage: String, secondImage: String?, onResolve: @escaping (String) -> Void, onReject: @escaping (String) -> Void) {
116
+ @objc public func performDirectApiScan(blinkIdSdkSettings: [String: Any], blinkIdSessionSettings: [String: Any], redactionSettings: [String: Any], firstImage: String, secondImage: String?, onResolve: @escaping (String) -> Void, onReject: @escaping (String) -> Void) {
120
117
  Task{
121
118
  do {
122
119
  blinkIdSdk = try await ensureLoadedSdk(blinkIdSdkSettings)
123
120
  guard let blinkIdSdk = blinkIdSdk else {
124
- onReject("The BlinkID SDK is not initialized!")
125
- return
121
+ throw BlinkIdReactNativeError.initError("The BlinkID SDK is not initialized. Call the loadBlinkIdSdk() method to pre-load the SDK first, or try running the performDirectApiScan() method with a valid internet connection.")
126
122
  }
127
- var sessionSettings = BlinkIdDeserializationUtilities.deserializeBlinkIdSessionSettings(blinkIdSessionSettings)
128
- sessionSettings.inputImageSource = .photo
129
123
 
124
+ let sessionSettings = BlinkIdDeserializationUtils.deserializeBlinkIdSessionSettings(blinkIdSessionSettings, isFromDirectApi: true)
130
125
  let session = try await blinkIdSdk.createScanningSession(sessionSettings: sessionSettings)
131
126
 
132
127
  await addReactNativePinglet(with: session.getSessionNumber())
133
128
 
134
- guard let frontUIImage = BlinkIdDeserializationUtilities.deserializeBase64Image(firstImage) else {
135
- onReject("Could not extract the information from the first image! An image of a valid document needs to be sent.")
136
- return
129
+ guard let frontUIImage = BlinkIdDeserializationUtils.deserializeBase64Image(firstImage) else {
130
+ throw BlinkIdReactNativeError.frontImageError
137
131
  }
138
132
 
139
- await session.process(inputImage: InputImage(uiImage: frontUIImage))
133
+ let _ = try await session.process(inputImage: InputImage(uiImage: frontUIImage))
140
134
 
141
- if let backUIImage = BlinkIdDeserializationUtilities.deserializeBase64Image(secondImage) {
142
- await session.process(inputImage: InputImage(uiImage: backUIImage))
135
+ if let backUIImage = BlinkIdDeserializationUtils.deserializeBase64Image(secondImage) {
136
+ let _ = try await session.process(inputImage: InputImage(uiImage: backUIImage))
143
137
  }
144
138
 
145
- let scannedResults = await session.getResult()
139
+ let scannedResults = await session.getResult(redactionSettings: BlinkIdDeserializationUtils.deserializeRedactionSettings(redactionSettings))
146
140
  DispatchQueue.main.async {
147
- if let results = BlinkIdSerializationUtilities.serializeBlinkIdScanningResult(scannedResults) {
141
+ if let results = BlinkIdSerializationUtils.serializeBlinkIdScanningResult(scannedResults) {
148
142
  onResolve(results)
149
143
  } else {
150
144
  onReject("Could not retrive the results from DirectAPI scanning!")
151
145
  }
152
146
  }
147
+ } catch let blinkIdError as BlinkIdReactNativeError {
148
+ onReject(BlinkIdReactNativeError.message(for: blinkIdError))
153
149
  } catch {
154
150
  if let sdkError = error as? InvalidLicenseKeyError {
155
151
  onReject(sdkError.message)
156
152
  } else {
157
- onReject(error.localizedDescription)
153
+ onReject(BlinkIdReactNativeError.message(for: error))
154
+ }
155
+ }
156
+ }
157
+ }
158
+
159
+ @objc public func refreshLicenseLease(onResolve: @escaping (String) -> Void, onReject: @escaping (String) -> Void) {
160
+ Task {
161
+ do {
162
+ guard blinkIdSdk != nil else {
163
+ throw BlinkIdReactNativeError.initError(
164
+ "The BlinkID SDK is not initialized. Call the loadBlinkIdSdk() method to pre-load the SDK first, or perform a scan."
165
+ )
166
+ }
167
+ try await BlinkIDSdk.refreshLicenseLease()
168
+ onResolve("")
169
+ } catch let blinkIdError as BlinkIdReactNativeError {
170
+ onReject(BlinkIdReactNativeError.message(for: blinkIdError))
171
+ } catch {
172
+ if let sdkError = error as? InvalidLicenseKeyError {
173
+ onReject(sdkError.message)
174
+ } else {
175
+ onReject(BlinkIdReactNativeError.message(for: error))
158
176
  }
159
177
  }
160
178
  }
161
-
162
179
  }
163
180
 
164
181
  private func presentScanningUI(_ model: BlinkIDUXModel, _ rootVc: UIViewController) {
@@ -174,15 +191,55 @@ import BlinkIDUX
174
191
  }
175
192
  }
176
193
 
177
- enum BlinkIdReactNativeError: Error {
178
- case incorrectArgument(message: String)
179
- }
180
-
181
194
  extension BlinkidReactNativeModule: BlinkIDClassFilter {
182
195
  public func classAllowed(classInfo: BlinkID.BlinkIDSDK.DocumentClassInfo) -> Bool {
183
- if let classInfoFilterDict = classFilterDict {
184
- return BlinkIdDeserializationUtilities.deserializeClassFilter(classInfoFilterDict, classInfo)
196
+ guard let classInfoFilterDict = classFilterDict, !classInfoFilterDict.isEmpty else {
197
+ return true
198
+ }
199
+ return BlinkIdDeserializationUtils.deserializeClassFilter(classInfoFilterDict, classInfo)
200
+ }
201
+ }
202
+
203
+ extension BlinkidReactNativeModule: RedactionSettingsResolver {
204
+ public func resolveRedactionSettings(classInfo: BlinkID.BlinkIDSDK.DocumentClassInfo) -> BlinkID.RedactionSettings? {
205
+ guard let redactionSettingsResolverDict, !redactionSettingsResolverDict.isEmpty else {
206
+ return nil
185
207
  }
186
- return true
208
+ return BlinkIdDeserializationUtils.deserializeRedactionSettingsResolver(redactionSettingsResolverDict, classInfo)
209
+ }
210
+ }
211
+
212
+ enum BlinkIdReactNativeError: LocalizedError {
213
+ case incorrectArgument(String)
214
+ case settingsError
215
+ case initError(String)
216
+ case frontImageError
217
+ case scanningCancelled
218
+
219
+ var errorDescription: String? {
220
+ switch self {
221
+ case .incorrectArgument(let argument):
222
+ return "Incorrect argument passed for \(argument)"
223
+ case .settingsError:
224
+ return "Invalid SDK settings provided"
225
+ case .initError(let initErrorReason):
226
+ return "Could not initialize the SDK. Reason: \(initErrorReason)"
227
+ case .frontImageError:
228
+ return "Could not extract the information from the first image! An image of a valid document needs to be sent."
229
+ case .scanningCancelled:
230
+ return "Scanning has been cancelled"
231
+ }
232
+ }
233
+
234
+ static func message(for error: Error) -> String {
235
+ if let localizedError = error as? LocalizedError,
236
+ let description = localizedError.errorDescription {
237
+ return description
238
+ }
239
+ return error.localizedDescription
240
+ }
241
+
242
+ static var iosErrorName : String {
243
+ return "blinkid_ios_error"
187
244
  }
188
245
  }
@@ -5,35 +5,31 @@
5
5
  <key>AvailableLibraries</key>
6
6
  <array>
7
7
  <dict>
8
- <key>BinaryPath</key>
9
- <string>BlinkID.framework/BlinkID</string>
10
8
  <key>LibraryIdentifier</key>
11
- <string>ios-arm64_x86_64-simulator</string>
9
+ <string>ios-arm64</string>
12
10
  <key>LibraryPath</key>
13
11
  <string>BlinkID.framework</string>
14
12
  <key>SupportedArchitectures</key>
15
13
  <array>
16
14
  <string>arm64</string>
17
- <string>x86_64</string>
18
15
  </array>
19
16
  <key>SupportedPlatform</key>
20
17
  <string>ios</string>
21
- <key>SupportedPlatformVariant</key>
22
- <string>simulator</string>
23
18
  </dict>
24
19
  <dict>
25
- <key>BinaryPath</key>
26
- <string>BlinkID.framework/BlinkID</string>
27
20
  <key>LibraryIdentifier</key>
28
- <string>ios-arm64</string>
21
+ <string>ios-arm64_x86_64-simulator</string>
29
22
  <key>LibraryPath</key>
30
23
  <string>BlinkID.framework</string>
31
24
  <key>SupportedArchitectures</key>
32
25
  <array>
33
26
  <string>arm64</string>
27
+ <string>x86_64</string>
34
28
  </array>
35
29
  <key>SupportedPlatform</key>
36
30
  <string>ios</string>
31
+ <key>SupportedPlatformVariant</key>
32
+ <string>simulator</string>
37
33
  </dict>
38
34
  </array>
39
35
  <key>CFBundlePackageType</key>