@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
@@ -0,0 +1,492 @@
1
+ //
2
+ // BlinkIdDeserializationUtilities.swift
3
+ // BlinkidReactNative
4
+ //
5
+ // Created by Milan Parađina on 22.05.2025..
6
+ //
7
+
8
+ import Foundation
9
+ import BlinkID
10
+ import UIKit
11
+ import BlinkIDUX
12
+
13
+ struct BlinkIdDeserializationUtils {
14
+ static func deserializeBlinkIdSdkSettings(_ sdkSettingsDict: Dictionary<String, Any>?) -> BlinkIDSdkSettings? {
15
+ var blinkidSdkSettings: BlinkIDSdkSettings?
16
+
17
+ if let licenseKey = sdkSettingsDict?["licenseKey"] as? String {
18
+ blinkidSdkSettings = BlinkIDSdkSettings(licenseKey: licenseKey)
19
+ }
20
+
21
+ if let licensee = sdkSettingsDict?["licensee"] as? String {
22
+ blinkidSdkSettings?.licensee = licensee
23
+ }
24
+
25
+ if let helloLogEnabled = sdkSettingsDict?["helloLogEnabled"] as? Bool {
26
+ blinkidSdkSettings?.helloLogEnabled = helloLogEnabled
27
+ }
28
+
29
+ if let downloadResources = sdkSettingsDict?["downloadResources"] as? Bool {
30
+ blinkidSdkSettings?.downloadResources = downloadResources
31
+ }
32
+
33
+ if let resourceDownloadUrl = sdkSettingsDict?["resourceDownloadUrl"] as? String {
34
+ blinkidSdkSettings?.resourceDownloadUrl = resourceDownloadUrl
35
+ }
36
+
37
+ if let resourceLocalFolder = sdkSettingsDict?["resourceLocalFolder"] as? String {
38
+ blinkidSdkSettings?.resourceLocalFolder = resourceLocalFolder
39
+ }
40
+
41
+ if let bundleURL = sdkSettingsDict?["bundleIdentifier"] as? String,
42
+ let bundle: Bundle = Bundle.init(identifier: bundleURL) {
43
+ blinkidSdkSettings?.bundleURL = bundle.bundleURL
44
+ }
45
+
46
+ if sdkSettingsDict?["resourceRequestTimeout"] != nil {
47
+ blinkidSdkSettings?.resourceRequestTimeout = BlinkID.RequestTimeout.default
48
+ }
49
+
50
+ if let microblinkProxyUrl = sdkSettingsDict?["microblinkProxyURL"] as? String
51
+ ?? sdkSettingsDict?["microblinkProxyUrl"] as? String {
52
+ blinkidSdkSettings?.microblinkProxyURL = microblinkProxyUrl
53
+ }
54
+
55
+ return blinkidSdkSettings
56
+ }
57
+
58
+ static func deserializeBlinkIdSessionSettings(_ sessionSettingsDict: Dictionary<String, Any>?, isFromDirectApi: Bool = false) -> BlinkIDSessionSettings {
59
+ var blinkidSessionSettings = BlinkIDSessionSettings()
60
+
61
+ if let scanningSettings = sessionSettingsDict?["scanningSettings"] as? Dictionary<String, Any> {
62
+ blinkidSessionSettings.scanningSettings = deserializeBlinkIdScanningSettings(scanningSettings)
63
+ }
64
+
65
+ if let scanningMode = sessionSettingsDict?["scanningMode"] as? String {
66
+ blinkidSessionSettings.scanningMode = deseralizeScanningMode(scanningMode)
67
+ }
68
+
69
+ if let stepTimeoutDuration = sessionSettingsDict?["stepTimeoutDuration"] as? Int {
70
+ blinkidSessionSettings.stepTimeoutDuration = Double(stepTimeoutDuration) / 1000.0
71
+ }
72
+
73
+ if let inactivityTimeoutDuration = sessionSettingsDict?["inactivityTimeoutDuration"] as? Int {
74
+ blinkidSessionSettings.inactivityTimeoutDuration = Double(inactivityTimeoutDuration) / 1000.0
75
+ }
76
+
77
+ if isFromDirectApi {
78
+ blinkidSessionSettings.inputImageSource = .photo
79
+ }
80
+
81
+ return blinkidSessionSettings
82
+ }
83
+
84
+ static func deserializeBlinkIdScanningSettings(_ scanningSettingsDict: Dictionary<String, Any>?) -> ScanningSettings {
85
+ var scanningSettings = ScanningSettings()
86
+ guard let scanningSettingsDict else {
87
+ return scanningSettings
88
+ }
89
+
90
+ if scanningSettingsDict.keys.contains("barcodeModule") {
91
+ if let barcodeModuleDict = scanningSettingsDict["barcodeModule"] as? Dictionary<String, Any> {
92
+ scanningSettings.barcodeModule = deserializeBarcodeModule(barcodeModuleDict)
93
+ } else {
94
+ scanningSettings.barcodeModule = nil
95
+ }
96
+ }
97
+
98
+ if scanningSettingsDict.keys.contains("documentCaptureModule") {
99
+ if let documentCaptureDict = scanningSettingsDict["documentCaptureModule"] as? Dictionary<String, Any> {
100
+ scanningSettings.documentCaptureModule = deserializeDocumentCaptureModule(documentCaptureDict)
101
+ } else {
102
+ scanningSettings.documentCaptureModule = nil
103
+ }
104
+ }
105
+
106
+ if scanningSettingsDict.keys.contains("mrzModule") {
107
+ if let mrzModuleDict = scanningSettingsDict["mrzModule"] as? Dictionary<String, Any> {
108
+ scanningSettings.mrzModule = deserializeMrzModule(mrzModuleDict)
109
+ } else {
110
+ scanningSettings.mrzModule = nil
111
+ }
112
+ }
113
+
114
+ if scanningSettingsDict.keys.contains("vizModule") {
115
+ if let vizModuleDict = scanningSettingsDict["vizModule"] as? Dictionary<String, Any> {
116
+ scanningSettings.vizModule = deserializeVizModule(vizModuleDict)
117
+ } else {
118
+ scanningSettings.vizModule = nil
119
+ }
120
+ }
121
+
122
+ if let maxAllowedMismatchesPerField = scanningSettingsDict["maxAllowedMismatchesPerField"] as? Int {
123
+ scanningSettings.maxAllowedMismatchesPerField = maxAllowedMismatchesPerField
124
+ }
125
+
126
+ return scanningSettings
127
+ }
128
+
129
+ static func deserializeBarcodeModule(_ barcodeModuleDict: Dictionary<String, Any>) -> BarcodeModuleSettings {
130
+ var barodeModuleSettings = BarcodeModuleSettings()
131
+
132
+ if let barcodeImageReturnEnabled = barcodeModuleDict["barcodeImageReturnEnabled"] as? Bool {
133
+ barodeModuleSettings.barcodeImageReturnEnabled = barcodeImageReturnEnabled
134
+ }
135
+
136
+ if let code128ScanningEnabled = barcodeModuleDict["code128ScanningEnabled"] as? Bool {
137
+ barodeModuleSettings.code128ScanningEnabled = code128ScanningEnabled
138
+ }
139
+
140
+ if let code39ScanningEnabled = barcodeModuleDict["code39ScanningEnabled"] as? Bool {
141
+ barodeModuleSettings.code39ScanningEnabled = code39ScanningEnabled
142
+ }
143
+
144
+ if let dataMatrixScanningEnabled = barcodeModuleDict["dataMatrixScanningEnabled"] as? Bool {
145
+ barodeModuleSettings.dataMatrixScanningEnabled = dataMatrixScanningEnabled
146
+ }
147
+
148
+ if let ean13ScanningEnabled = barcodeModuleDict["ean13ScanningEnabled"] as? Bool {
149
+ barodeModuleSettings.ean13ScanningEnabled = ean13ScanningEnabled
150
+ }
151
+
152
+ if let ean8ScanningEnabled = barcodeModuleDict["ean8ScanningEnabled"] as? Bool {
153
+ barodeModuleSettings.ean8ScanningEnabled = ean8ScanningEnabled
154
+ }
155
+
156
+ if let itfScanningEnabled = barcodeModuleDict["itfScanningEnabled"] as? Bool {
157
+ barodeModuleSettings.itfScanningEnabled = itfScanningEnabled
158
+ }
159
+
160
+ if let pdf417ScanningEnabled = barcodeModuleDict["pdf417ScanningEnabled"] as? Bool {
161
+ barodeModuleSettings.pdf417ScanningEnabled = pdf417ScanningEnabled
162
+ }
163
+
164
+ if let presenceMandatory = barcodeModuleDict["presenceMandatory"] as? Bool {
165
+ barodeModuleSettings.presenceMandatory = presenceMandatory
166
+ }
167
+
168
+ if let qrScanningEnabled = barcodeModuleDict["qrScanningEnabled"] as? Bool {
169
+ barodeModuleSettings.qrScanningEnabled = qrScanningEnabled
170
+ }
171
+
172
+ if let upcaScanningEnabled = barcodeModuleDict["upcaScanningEnabled"] as? Bool {
173
+ barodeModuleSettings.upcaScanningEnabled = upcaScanningEnabled
174
+ }
175
+
176
+ if let upceScanningEnabled = barcodeModuleDict["upceScanningEnabled"] as? Bool {
177
+ barodeModuleSettings.upceScanningEnabled = upceScanningEnabled
178
+ }
179
+
180
+ return barodeModuleSettings
181
+ }
182
+
183
+ static func deserializeDocumentCaptureModule(_ documentCaptureModuleDict: Dictionary<String, Any>) -> DocumentCaptureModuleSettings {
184
+ var documentCaptureSettings = DocumentCaptureModuleSettings()
185
+
186
+ if let blurSensitivityLevel = documentCaptureModuleDict["blurSensitivityLevel"] as? String {
187
+ documentCaptureSettings.blurSensitivityLevel = deserializeSensitivityLevel(blurSensitivityLevel)
188
+ }
189
+
190
+ if let glareSensitivityLevel = documentCaptureModuleDict["glareSensitivityLevel"] as? String {
191
+ documentCaptureSettings.glareSensitivityLevel = deserializeSensitivityLevel(glareSensitivityLevel)
192
+ }
193
+
194
+ if let tiltSensitivityLevel = documentCaptureModuleDict["tiltSensitivityLevel"] as? String {
195
+ documentCaptureSettings.tiltSensitivityLevel = deserializeSensitivityLevel(tiltSensitivityLevel)
196
+ }
197
+
198
+ if let documentImageReturnEnabled = documentCaptureModuleDict["documentImageReturnEnabled"] as? Bool {
199
+ documentCaptureSettings.documentImageReturnEnabled = documentImageReturnEnabled
200
+ }
201
+
202
+ if let dotsPerInch = documentCaptureModuleDict["dotsPerInch"] as? Int {
203
+ documentCaptureSettings.dotsPerInch = DPI(dotsPerInch)
204
+ }
205
+
206
+ if let extensionFactor = documentCaptureModuleDict["extensionFactor"] as? Double {
207
+ documentCaptureSettings.extensionFactor = Float(extensionFactor)
208
+ }
209
+
210
+ if let faceImageExtractionEnabled = documentCaptureModuleDict["faceImageExtractionEnabled"] as? Bool {
211
+ documentCaptureSettings.faceImageExtractionEnabled = faceImageExtractionEnabled
212
+ }
213
+
214
+ if let faceImagePresenceMandatory = documentCaptureModuleDict["faceImagePresenceMandatory"] as? Bool {
215
+ documentCaptureSettings.faceImagePresenceMandatory = faceImagePresenceMandatory
216
+ }
217
+
218
+ if let imageWithBlurRejected = documentCaptureModuleDict["imageWithBlurRejected"] as? Bool {
219
+ documentCaptureSettings.imageWithBlurRejected = imageWithBlurRejected
220
+ }
221
+
222
+ if let imageWithGlareRejected = documentCaptureModuleDict["imageWithGlareRejected"] as? Bool {
223
+ documentCaptureSettings.imageWithGlareRejected = imageWithGlareRejected
224
+ }
225
+
226
+ if let imageWithHandOcclusionRejected = documentCaptureModuleDict["imageWithHandOcclusionRejected"] as? Bool {
227
+ documentCaptureSettings.imageWithHandOcclusionRejected = imageWithHandOcclusionRejected
228
+ }
229
+
230
+ if let imageWithPoorLightingRejected = documentCaptureModuleDict["imageWithPoorLightingRejected"] as? Bool {
231
+ documentCaptureSettings.imageWithPoorLightingRejected = imageWithPoorLightingRejected
232
+ }
233
+
234
+ if let inputImageCropped = documentCaptureModuleDict["inputImageCropped"] as? Bool {
235
+ documentCaptureSettings.inputImageCropped = inputImageCropped
236
+ }
237
+
238
+ if let inputImageReturnEnabled = documentCaptureModuleDict["inputImageReturnEnabled"] as? Bool {
239
+ documentCaptureSettings.inputImageReturnEnabled = inputImageReturnEnabled
240
+ }
241
+
242
+ if let passportDataPageScanOnly = documentCaptureModuleDict["passportDataPageScanOnly"] as? Bool {
243
+ documentCaptureSettings.passportDataPageScanOnly = passportDataPageScanOnly
244
+ }
245
+
246
+ if let secondSideWithNoExtractableDataSkipped = documentCaptureModuleDict["secondSideWithNoExtractableDataSkipped"] as? Bool {
247
+ documentCaptureSettings.secondSideWithNoExtractableDataSkipped = secondSideWithNoExtractableDataSkipped
248
+ }
249
+
250
+ if let unsupportedDocumentsAllowed = documentCaptureModuleDict["unsupportedDocumentsAllowed"] as? Bool {
251
+ documentCaptureSettings.unsupportedDocumentsAllowed = unsupportedDocumentsAllowed
252
+ }
253
+
254
+ if let inputImageMargin = documentCaptureModuleDict["inputImageMargin"] as? Double {
255
+ documentCaptureSettings.inputImageMargin = Float(inputImageMargin)
256
+ }
257
+
258
+ if let tiltSensitivityLevel = documentCaptureModuleDict["tiltSensitivityLevel"] as? String {
259
+ documentCaptureSettings.tiltSensitivityLevel = deserializeSensitivityLevel(tiltSensitivityLevel)
260
+ }
261
+ return documentCaptureSettings
262
+ }
263
+
264
+ static func deserializeSensitivityLevel(_ sensitivityLevelRawValue: String) -> SensitivityLevel {
265
+ switch sensitivityLevelRawValue {
266
+ case "off": return .off
267
+ case "low": return .low
268
+ case "mid": return .mid
269
+ case "high": return .high
270
+ default: return .mid
271
+ }
272
+ }
273
+
274
+ static func deserializeMrzModule(_ mrzModuleDict: Dictionary<String, Any>) -> MrzModuleSettings {
275
+
276
+ var mrzModuleSettings = MrzModuleSettings()
277
+
278
+ if let presenceMandatory = mrzModuleDict["presenceMandatory"] as? Bool {
279
+ mrzModuleSettings.presenceMandatory = presenceMandatory
280
+ }
281
+
282
+ return mrzModuleSettings
283
+ }
284
+
285
+ static func deserializeVizModule(_ vizModuleDict: Dictionary<String, Any>) -> VizModuleSettings {
286
+ var vizModuleSettings = VizModuleSettings()
287
+
288
+ if let characterValidationEnabled = vizModuleDict["characterValidationEnabled"] as? Bool {
289
+ vizModuleSettings.characterValidationEnabled = characterValidationEnabled
290
+ }
291
+
292
+ if let presenceMandatory = vizModuleDict["presenceMandatory"] as? Bool {
293
+ vizModuleSettings.presenceMandatory = presenceMandatory
294
+ }
295
+
296
+ if let signatureImageExtractionEnabled = vizModuleDict["signatureImageExtractionEnabled"] as? Bool {
297
+ vizModuleSettings.signatureImageExtractionEnabled = signatureImageExtractionEnabled
298
+ }
299
+
300
+ if let resultAggregationEnabled = vizModuleDict["resultAggregationEnabled"] as? Bool {
301
+ vizModuleSettings.resultAggregationEnabled = resultAggregationEnabled
302
+ }
303
+
304
+ return vizModuleSettings
305
+ }
306
+
307
+ static func deserializeRedactionSettings(_ redactionDict: Dictionary<String, Any>) -> RedactionSettings? {
308
+ var redactionSettings: RedactionSettings?
309
+ if let fieldsRaw = redactionDict["fields"] as? [String] {
310
+ let fieldTypes: [FieldType] = fieldsRaw.compactMap { FieldType(rawValue: $0) }
311
+ redactionSettings = RedactionSettings(fields: fieldTypes)
312
+ } else {
313
+ return nil
314
+ }
315
+
316
+ if let modeRaw = redactionDict["mode"] as? String,
317
+ let mode = RedactionMode(rawValue: modeRaw) {
318
+ redactionSettings?.mode = mode
319
+ }
320
+
321
+ if let redactBarcode = redactionDict["redactBarcode"] as? Bool
322
+ ?? redactionDict["redactBarcodeResult"] as? Bool {
323
+ redactionSettings?.redactBarcode = redactBarcode
324
+ }
325
+
326
+ if let redactMrz = redactionDict["redactMrz"] as? Bool
327
+ ?? redactionDict["redactMrzResult"] as? Bool {
328
+ redactionSettings?.redactMrz = redactMrz
329
+ }
330
+
331
+ if let documentNumberRedactionDict = redactionDict["documentNumberRedactionSettings"] as? Dictionary<String, Any> {
332
+ redactionSettings?.documentNumberRedactionSettings =
333
+ deserializeDocumentNumberRedactionSettings(documentNumberRedactionDict)
334
+ }
335
+
336
+ return redactionSettings
337
+ }
338
+
339
+ static func deserializeDocumentNumberRedactionSettings(_ documentNumberRedactionSettingsDict: Dictionary<String, Any>) -> DocumentNumberRedactionSettings {
340
+ var documentNumberRedactionSettings = DocumentNumberRedactionSettings()
341
+
342
+ if let prefixDigitsVisible = documentNumberRedactionSettingsDict["prefixDigitsVisible"] as? Int {
343
+ documentNumberRedactionSettings.prefixDigitsVisible = UInt8(prefixDigitsVisible)
344
+ }
345
+
346
+ if let suffixDigitsVisible = documentNumberRedactionSettingsDict["suffixDigitsVisible"] as? Int {
347
+ documentNumberRedactionSettings.suffixDigitsVisible = UInt8(suffixDigitsVisible)
348
+ }
349
+
350
+ return documentNumberRedactionSettings
351
+ }
352
+
353
+
354
+ static func deserializeBlinkIdUxScanningSettings(_ scanningUxSettingsDict: Dictionary<String, Any>?) -> ScanningUXSettings {
355
+ guard let scanningUxSettingsDict = scanningUxSettingsDict,
356
+ !scanningUxSettingsDict.isEmpty else {
357
+ return ScanningUXSettings()
358
+ }
359
+
360
+ let preferredCameraRaw = scanningUxSettingsDict["preferredCamera"] as? String
361
+ return ScanningUXSettings(
362
+ showIntroductionAlert: scanningUxSettingsDict["showOnboardingDialog"] as? Bool ?? true,
363
+ showHelpButton: scanningUxSettingsDict["showHelpButton"] as? Bool ?? true,
364
+ preferredCameraPosition: deserializePreferredCameraPosition(preferredCameraRaw ?? "back"),
365
+ allowHapticFeedback: scanningUxSettingsDict["allowHapticFeedback"] as? Bool ?? true)
366
+ }
367
+
368
+ static func deserializePreferredCameraPosition(_ value: String) -> Camera.CameraPosition {
369
+ switch value {
370
+ case "front":
371
+ return Camera.CameraPosition.front
372
+ case "back":
373
+ return Camera.CameraPosition.back
374
+ default:
375
+ return Camera.CameraPosition.back
376
+ }
377
+ }
378
+
379
+ static func deseralizeScanningMode(_ value: String) -> ScanningMode {
380
+ switch value {
381
+ case "single":
382
+ return ScanningMode.single
383
+ case "automatic":
384
+ return ScanningMode.automatic
385
+ default:
386
+ return ScanningMode.automatic
387
+ }
388
+ }
389
+
390
+
391
+ static func deserializeDetailedFieldType(_ detailedFieldTypeDict: Dictionary<String, Any>?) -> DetailedFieldType? {
392
+ if let fieldType = detailedFieldTypeDict?["fieldType"] as? String,
393
+ let alphabetType = detailedFieldTypeDict?["alphabetType"] as? String,
394
+ let fieldTypeValue = FieldType.init(rawValue: fieldType),
395
+ let alphabetTypeValue = AlphabetType(rawValue: alphabetType) {
396
+ return DetailedFieldType(
397
+ fieldType: fieldTypeValue,
398
+ alphabetType: alphabetTypeValue)
399
+ }
400
+ return nil
401
+ }
402
+
403
+ static func deserializeRedactionSettingsResolver(
404
+ _ redactionResolverDict: Dictionary<String, Any>?,
405
+ _ classInfo: BlinkID.BlinkIDSDK.DocumentClassInfo
406
+ ) -> RedactionSettings? {
407
+
408
+ guard let redactionResolverDict,
409
+ let documentRedactionList = redactionResolverDict["documentRedactionList"] as? [[String: Any]] else { return nil }
410
+
411
+ for redactionDict in documentRedactionList {
412
+ if shouldUseRedactionSettings(redactionDict, classInfo: classInfo) {
413
+ return deserializeRedactionSettings(redactionDict)
414
+ }
415
+ }
416
+
417
+ return nil
418
+ }
419
+
420
+ private static func shouldUseRedactionSettings(
421
+ _ redactionDict: [String: Any],
422
+ classInfo: BlinkID.BlinkIDSDK.DocumentClassInfo
423
+ ) -> Bool {
424
+ if let documentFilters = redactionDict["documentFilter"] as? [[String: Any]] {
425
+ if documentFilters.isEmpty {
426
+ return true
427
+ }
428
+ return documentFilters.contains { filterDict in
429
+ matchClassFilter(filterDict, classInfo: classInfo)
430
+ }
431
+ }
432
+
433
+ if let documentFilter = redactionDict["documentFilter"] as? Dictionary<String, Any> {
434
+ return matchClassFilter(documentFilter, classInfo: classInfo)
435
+ }
436
+
437
+ return true
438
+ }
439
+
440
+ static func deserializeClassFilter(_ classFilterDictArr: Dictionary<String, Any>?, _ classInfo: BlinkID.BlinkIDSDK.DocumentClassInfo) -> Bool {
441
+ guard let sanitizedDict = sanitizeDictionary(classFilterDictArr) else { return true}
442
+ var includeClass = false
443
+ var excludeClass = true
444
+
445
+ if let includedClasses = sanitizedDict["includeDocuments"] as? Array<Dictionary<String, Any>> {
446
+ for includedClass in includedClasses {
447
+ includeClass = includeClass || matchClassFilter(includedClass, classInfo: classInfo)
448
+ }
449
+ } else {
450
+ includeClass = true
451
+ }
452
+
453
+ if let excludedClasses = sanitizedDict["excludeDocuments"] as? Array<Dictionary<String, Any>> {
454
+ for excludedClass in excludedClasses {
455
+ excludeClass = excludeClass && !matchClassFilter(excludedClass, classInfo: classInfo)
456
+ }
457
+ }
458
+
459
+ return includeClass && excludeClass
460
+ }
461
+
462
+ static func matchClassFilter(_ filteredClass: Dictionary<String, Any>, classInfo: BlinkID.BlinkIDSDK.DocumentClassInfo) -> Bool {
463
+ let country = filteredClass["country"] as? String
464
+ let type = filteredClass["documentType"] as? String
465
+ let region = filteredClass["region"] as? String
466
+
467
+ return (country == nil || classInfo.country == Country.init(rawValue: country!)) &&
468
+ (type == nil || classInfo.documentType == DocumentType.init(rawValue: type!)) &&
469
+ (region == nil || classInfo.region == Region.init(rawValue: region!))
470
+ }
471
+
472
+ static func sanitizeDictionary(_ dictionary: Dictionary<String, Any>?) -> Dictionary<String, Any>? {
473
+ if let dictionary = dictionary {
474
+ var sanitized = dictionary
475
+ for (key, value) in dictionary {
476
+ if value is NSNull {
477
+ sanitized[key] = nil
478
+ }
479
+ }
480
+ return sanitized
481
+ }
482
+ return dictionary
483
+ }
484
+
485
+ static func deserializeBase64Image(_ base64Image: String?) -> UIImage? {
486
+ if let base64Image = base64Image,
487
+ let data = Data(base64Encoded: base64Image, options: .ignoreUnknownCharacters) {
488
+ return UIImage(data: data)
489
+ }
490
+ return nil
491
+ }
492
+ }