@microblink/blinkid-react-native 7.6.2 → 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 (223) 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 -251
  6. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdSerializationUtilities.kt +859 -710
  7. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkidReactNativeModule.kt +42 -34
  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 +23857 -17935
  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 +24452 -8480
  15. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.private.swiftinterface +536 -234
  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 +536 -234
  18. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/PrivateHeaders/SwiftCxxBridge.hpp +2 -0
  19. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/_CodeSignature/CodeResources +19 -30
  20. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/conan.xcconfig +3 -3
  21. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/BlinkID +0 -0
  22. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/BlinkID-Swift.h +51708 -39864
  23. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/BlinkID.h +2 -1
  24. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Info.plist +0 -0
  25. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.abi.json +24452 -8480
  26. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +536 -234
  27. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  28. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.swiftinterface +536 -234
  29. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.abi.json +24452 -8480
  30. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +536 -234
  31. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  32. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +536 -234
  33. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/PrivateHeaders/SwiftCxxBridge.hpp +2 -0
  34. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/_CodeSignature/CodeResources +29 -40
  35. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/conan.xcconfig +3 -3
  36. package/ios/Frameworks/BlinkIDUX.xcframework/Info.plist +5 -5
  37. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeDirectory +0 -0
  38. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeResources +276 -859
  39. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeSignature +0 -0
  40. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX +0 -0
  41. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Assets.car +0 -0
  42. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Info.plist +0 -0
  43. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ak.lproj/Localizable.strings +0 -0
  44. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/am.lproj/Localizable.strings +0 -0
  45. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ar.lproj/Localizable.strings +0 -0
  46. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/bn.lproj/Localizable.strings +0 -0
  47. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/cs.lproj/Localizable.strings +0 -0
  48. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/da.lproj/Localizable.strings +0 -0
  49. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/de.lproj/Localizable.strings +0 -0
  50. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/el.lproj/Localizable.strings +0 -0
  51. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en-GB.lproj/Localizable.strings +0 -0
  52. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en.lproj/Localizable.strings +0 -0
  53. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es-MX.lproj/Localizable.strings +0 -0
  54. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es.lproj/Localizable.strings +0 -0
  55. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fa.lproj/Localizable.strings +0 -0
  56. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fi.lproj/Localizable.strings +0 -0
  57. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fil.lproj/Localizable.strings +0 -0
  58. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr-CA.lproj/Localizable.strings +0 -0
  59. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr.lproj/Localizable.strings +0 -0
  60. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ha.lproj/Localizable.strings +0 -0
  61. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/he.lproj/Localizable.strings +0 -0
  62. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hi.lproj/Localizable.strings +0 -0
  63. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hr.lproj/Localizable.strings +0 -0
  64. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hu.lproj/Localizable.strings +0 -0
  65. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/id.lproj/Localizable.strings +0 -0
  66. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/is.lproj/Localizable.strings +0 -0
  67. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/it.lproj/Localizable.strings +0 -0
  68. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ja.lproj/Localizable.strings +0 -0
  69. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ka-GE.lproj/Localizable.strings +0 -0
  70. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/kk.lproj/Localizable.strings +0 -0
  71. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/km-KH.lproj/Localizable.strings +0 -0
  72. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ko.lproj/Localizable.strings +0 -0
  73. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/lv.lproj/Localizable.strings +0 -0
  74. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ms.lproj/Localizable.strings +0 -0
  75. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nb.lproj/Localizable.strings +0 -0
  76. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ne.lproj/Localizable.strings +0 -0
  77. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nl.lproj/Localizable.strings +0 -0
  78. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pl.lproj/Localizable.strings +0 -0
  79. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ps-AF.lproj/Localizable.strings +0 -0
  80. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt-BR.lproj/Localizable.strings +0 -0
  81. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt.lproj/Localizable.strings +0 -0
  82. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ro.lproj/Localizable.strings +0 -0
  83. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ru.lproj/Localizable.strings +0 -0
  84. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/si.lproj/Localizable.strings +0 -0
  85. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sk.lproj/Localizable.strings +0 -0
  86. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sl.lproj/Localizable.strings +0 -0
  87. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sr.lproj/Localizable.strings +0 -0
  88. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sv.lproj/Localizable.strings +0 -0
  89. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sw.lproj/Localizable.strings +0 -0
  90. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/th.lproj/Localizable.strings +0 -0
  91. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/tr.lproj/Localizable.strings +0 -0
  92. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uk.lproj/Localizable.strings +0 -0
  93. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ur.lproj/Localizable.strings +0 -0
  94. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uz.lproj/Localizable.strings +0 -0
  95. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/vi.lproj/Localizable.strings +0 -0
  96. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/yo.lproj/Localizable.strings +0 -0
  97. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hans.lproj/Localizable.strings +0 -0
  98. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hant.lproj/Localizable.strings +0 -0
  99. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Info.plist +0 -0
  100. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.abi.json +8983 -4775
  101. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.package.swiftinterface +234 -100
  102. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.private.swiftinterface +234 -100
  103. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  104. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.swiftinterface +234 -100
  105. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX +0 -0
  106. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Assets.car +0 -0
  107. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Info.plist +0 -0
  108. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeDirectory +0 -0
  109. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeResources +114 -346
  110. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ak.lproj/Localizable.strings +0 -0
  111. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/am.lproj/Localizable.strings +0 -0
  112. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ar.lproj/Localizable.strings +0 -0
  113. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/bn.lproj/Localizable.strings +0 -0
  114. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/cs.lproj/Localizable.strings +0 -0
  115. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/da.lproj/Localizable.strings +0 -0
  116. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/de.lproj/Localizable.strings +0 -0
  117. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/el.lproj/Localizable.strings +0 -0
  118. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en-GB.lproj/Localizable.strings +0 -0
  119. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en.lproj/Localizable.strings +0 -0
  120. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es-MX.lproj/Localizable.strings +0 -0
  121. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es.lproj/Localizable.strings +0 -0
  122. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fa.lproj/Localizable.strings +0 -0
  123. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fi.lproj/Localizable.strings +0 -0
  124. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fil.lproj/Localizable.strings +0 -0
  125. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr-CA.lproj/Localizable.strings +0 -0
  126. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr.lproj/Localizable.strings +0 -0
  127. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ha.lproj/Localizable.strings +0 -0
  128. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/he.lproj/Localizable.strings +0 -0
  129. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hi.lproj/Localizable.strings +0 -0
  130. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hr.lproj/Localizable.strings +0 -0
  131. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hu.lproj/Localizable.strings +0 -0
  132. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/id.lproj/Localizable.strings +0 -0
  133. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/is.lproj/Localizable.strings +0 -0
  134. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/it.lproj/Localizable.strings +0 -0
  135. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ja.lproj/Localizable.strings +0 -0
  136. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ka-GE.lproj/Localizable.strings +0 -0
  137. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/kk.lproj/Localizable.strings +0 -0
  138. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/km-KH.lproj/Localizable.strings +0 -0
  139. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ko.lproj/Localizable.strings +0 -0
  140. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/lv.lproj/Localizable.strings +0 -0
  141. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ms.lproj/Localizable.strings +0 -0
  142. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nb.lproj/Localizable.strings +0 -0
  143. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ne.lproj/Localizable.strings +0 -0
  144. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nl.lproj/Localizable.strings +0 -0
  145. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pl.lproj/Localizable.strings +0 -0
  146. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ps-AF.lproj/Localizable.strings +0 -0
  147. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt-BR.lproj/Localizable.strings +0 -0
  148. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt.lproj/Localizable.strings +0 -0
  149. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ro.lproj/Localizable.strings +0 -0
  150. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ru.lproj/Localizable.strings +0 -0
  151. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/si.lproj/Localizable.strings +0 -0
  152. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sk.lproj/Localizable.strings +0 -0
  153. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sl.lproj/Localizable.strings +0 -0
  154. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sr.lproj/Localizable.strings +0 -0
  155. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sv.lproj/Localizable.strings +0 -0
  156. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sw.lproj/Localizable.strings +0 -0
  157. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/th.lproj/Localizable.strings +0 -0
  158. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/tr.lproj/Localizable.strings +0 -0
  159. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uk.lproj/Localizable.strings +0 -0
  160. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ur.lproj/Localizable.strings +0 -0
  161. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uz.lproj/Localizable.strings +0 -0
  162. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/vi.lproj/Localizable.strings +0 -0
  163. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/yo.lproj/Localizable.strings +0 -0
  164. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hans.lproj/Localizable.strings +0 -0
  165. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hant.lproj/Localizable.strings +0 -0
  166. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Info.plist +0 -0
  167. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.abi.json +8983 -4775
  168. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.package.swiftinterface +234 -100
  169. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +234 -100
  170. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  171. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.swiftinterface +234 -100
  172. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.abi.json +8983 -4775
  173. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.package.swiftinterface +234 -100
  174. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +234 -100
  175. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  176. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +234 -100
  177. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/_CodeSignature/CodeResources +1 -1
  178. package/ios/Serialization/BlinkIdDeserializationUtils.swift +492 -0
  179. package/ios/Serialization/BlinkIdSerializationUtils.swift +866 -0
  180. package/lib/module/NativeBlinkidReactNative.js.map +1 -1
  181. package/lib/module/blinkIdResult.js +1 -764
  182. package/lib/module/blinkIdResult.js.map +1 -1
  183. package/lib/module/blinkIdSettings.js +1 -496
  184. package/lib/module/blinkIdSettings.js.map +1 -1
  185. package/lib/module/index.js +81 -17
  186. package/lib/module/index.js.map +1 -1
  187. package/lib/module/types.js +697 -3334
  188. package/lib/module/types.js.map +1 -1
  189. package/lib/typescript/src/NativeBlinkidReactNative.d.ts +26 -5
  190. package/lib/typescript/src/NativeBlinkidReactNative.d.ts.map +1 -1
  191. package/lib/typescript/src/blinkIdResult.d.ts +35 -17
  192. package/lib/typescript/src/blinkIdResult.d.ts.map +1 -1
  193. package/lib/typescript/src/blinkIdSettings.d.ts +36 -297
  194. package/lib/typescript/src/blinkIdSettings.d.ts.map +1 -1
  195. package/lib/typescript/src/index.d.ts +38 -10
  196. package/lib/typescript/src/index.d.ts.map +1 -1
  197. package/lib/typescript/src/types.d.ts +992 -1149
  198. package/lib/typescript/src/types.d.ts.map +1 -1
  199. package/package.json +5 -4
  200. package/src/NativeBlinkidReactNative.ts +28 -5
  201. package/src/blinkIdResult.ts +44 -432
  202. package/src/blinkIdSettings.ts +53 -373
  203. package/src/index.tsx +208 -35
  204. package/src/types.ts +1180 -1398
  205. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  206. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  207. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  208. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  209. package/android/.gradle/8.9/gc.properties +0 -0
  210. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  211. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  212. package/android/.gradle/vcs-1/gc.properties +0 -0
  213. package/ios/BlinkIdDeserializationUtilities.swift +0 -374
  214. package/ios/BlinkIdSerializationUtilities.swift +0 -839
  215. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/MBSampleBufferWrapper.h +0 -28
  216. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/MBSampleBufferWrapper.h +0 -28
  217. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
  218. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeRequirements-1 +0 -0
  219. package/lib/module/blinkIdUtilities.js +0 -21
  220. package/lib/module/blinkIdUtilities.js.map +0 -1
  221. package/lib/typescript/src/blinkIdUtilities.d.ts +0 -8
  222. package/lib/typescript/src/blinkIdUtilities.d.ts.map +0 -1
  223. package/src/blinkIdUtilities.ts +0 -20
@@ -0,0 +1,866 @@
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
+
12
+ class BlinkIdSerializationUtils {
13
+
14
+ static func serializeBlinkIdScanningResult(_ scanningResult: BlinkIDScanningResult?) -> String? {
15
+ var scanningResultDict = Dictionary<String, Any>()
16
+
17
+ if let scanningResult {
18
+
19
+ scanningResultDict["documentClassInfo"] = serializeDocumentClassInfo(scanningResult.documentClassInfo)
20
+
21
+ if let dataMatchResult = scanningResult.dataMatchResult {
22
+ scanningResultDict["dataMatchResult"] = serializeDataMatchResult(dataMatchResult)
23
+ }
24
+ if let firstName = scanningResult.firstName {
25
+ scanningResultDict["firstName"] = serializeStringResult(firstName)
26
+ }
27
+ if let lastName = scanningResult.lastName {
28
+ scanningResultDict["lastName"] = serializeStringResult(lastName)
29
+ }
30
+ if let fullName = scanningResult.fullName {
31
+ scanningResultDict["fullName"] = serializeStringResult(fullName)
32
+ }
33
+ if let additionalNameInformation = scanningResult.additionalNameInformation {
34
+ scanningResultDict["additionalNameInformation"] = serializeStringResult(additionalNameInformation)
35
+ }
36
+ if let localizedName = scanningResult.localizedName {
37
+ scanningResultDict["localizedName"] = serializeStringResult(localizedName)
38
+ }
39
+ if let fathersName = scanningResult.fathersName {
40
+ scanningResultDict["fathersName"] = serializeStringResult(fathersName)
41
+ }
42
+ if let mothersName = scanningResult.mothersName {
43
+ scanningResultDict["mothersName"] = serializeStringResult(mothersName)
44
+ }
45
+ if let address = scanningResult.address {
46
+ scanningResultDict["address"] = serializeStringResult(address)
47
+ }
48
+ if let additionalAddressInformation = scanningResult.additionalAddressInformation {
49
+ scanningResultDict["additionalAddressInformation"] = serializeStringResult(additionalAddressInformation)
50
+ }
51
+ if let additionalOptionalAddressInformation = scanningResult.additionalOptionalAddressInformation {
52
+ scanningResultDict["additionalOptionalAddressInformation"] = serializeStringResult(additionalOptionalAddressInformation)
53
+ }
54
+ if let placeOfBirth = scanningResult.placeOfBirth {
55
+ scanningResultDict["placeOfBirth"] = serializeStringResult(placeOfBirth)
56
+ }
57
+ if let nationality = scanningResult.nationality {
58
+ scanningResultDict["nationality"] = serializeStringResult(nationality)
59
+ }
60
+ if let race = scanningResult.race {
61
+ scanningResultDict["race"] = serializeStringResult(race)
62
+ }
63
+ if let religion = scanningResult.religion {
64
+ scanningResultDict["religion"] = serializeStringResult(religion)
65
+ }
66
+ if let profession = scanningResult.profession {
67
+ scanningResultDict["profession"] = serializeStringResult(profession)
68
+ }
69
+ if let maritalStatus = scanningResult.maritalStatus {
70
+ scanningResultDict["maritalStatus"] = serializeStringResult(maritalStatus)
71
+ }
72
+ if let residentialStatus = scanningResult.residentialStatus {
73
+ scanningResultDict["residentialStatus"] = serializeStringResult(residentialStatus)
74
+ }
75
+ if let employer = scanningResult.employer {
76
+ scanningResultDict["employer"] = serializeStringResult(employer)
77
+ }
78
+ if let sex = scanningResult.sex {
79
+ scanningResultDict["sex"] = serializeStringResult(sex)
80
+ }
81
+ if let sponsor = scanningResult.sponsor {
82
+ scanningResultDict["sponsor"] = serializeStringResult(sponsor)
83
+ }
84
+ if let bloodType = scanningResult.bloodType {
85
+ scanningResultDict["bloodType"] = serializeStringResult(bloodType)
86
+ }
87
+ if let documentNumber = scanningResult.documentNumber {
88
+ scanningResultDict["documentNumber"] = serializeStringResult(documentNumber)
89
+ }
90
+ if let cardAccessNumber = scanningResult.cardAccessNumber {
91
+ scanningResultDict["cardAccessNumber"] = serializeStringResult(cardAccessNumber)
92
+ }
93
+ if let personalIdNumber = scanningResult.personalIdNumber {
94
+ scanningResultDict["personalIdNumber"] = serializeStringResult(personalIdNumber)
95
+ }
96
+ if let documentAdditionalNumber = scanningResult.documentAdditionalNumber {
97
+ scanningResultDict["documentAdditionalNumber"] = serializeStringResult(documentAdditionalNumber)
98
+ }
99
+ if let documentOptionalAdditionalNumber = scanningResult.documentOptionalAdditionalNumber {
100
+ scanningResultDict["documentOptionalAdditionalNumber"] = serializeStringResult(documentOptionalAdditionalNumber)
101
+ }
102
+ if let additionalPersonalIdNumber = scanningResult.additionalPersonalIdNumber {
103
+ scanningResultDict["additionalPersonalIdNumber"] = serializeStringResult(additionalPersonalIdNumber)
104
+ }
105
+ if let issuingAuthority = scanningResult.issuingAuthority {
106
+ scanningResultDict["issuingAuthority"] = serializeStringResult(issuingAuthority)
107
+ }
108
+ if let documentSubtype = scanningResult.documentSubtype {
109
+ scanningResultDict["documentSubtype"] = serializeStringResult(documentSubtype)
110
+ }
111
+ if let remarks = scanningResult.remarks {
112
+ scanningResultDict["remarks"] = serializeStringResult(remarks)
113
+ }
114
+ if let residencePermitType = scanningResult.residencePermitType {
115
+ scanningResultDict["residencePermitType"] = serializeStringResult(residencePermitType)
116
+ }
117
+ if let manufacturingYear = scanningResult.manufacturingYear {
118
+ scanningResultDict["manufacturingYear"] = serializeStringResult(manufacturingYear)
119
+ }
120
+ if let vehicleType = scanningResult.vehicleType {
121
+ scanningResultDict["vehicleType"] = serializeStringResult(vehicleType)
122
+ }
123
+ if let eligibilityCategory = scanningResult.eligibilityCategory {
124
+ scanningResultDict["eligibilityCategory"] = serializeStringResult(eligibilityCategory)
125
+ }
126
+ if let specificDocumentValidity = scanningResult.specificDocumentValidity {
127
+ scanningResultDict["specificDocumentValidity"] = serializeStringResult(specificDocumentValidity)
128
+ }
129
+ if let visaType = scanningResult.visaType {
130
+ scanningResultDict["visaType"] = serializeStringResult(visaType)
131
+ }
132
+ if let vehicleOwner = scanningResult.vehicleOwner {
133
+ scanningResultDict["vehicleOwner"] = serializeStringResult(vehicleOwner)
134
+ }
135
+ if let certificateNumber = scanningResult.certificateNumber {
136
+ scanningResultDict["certificateNumber"] = serializeStringResult(certificateNumber)
137
+ }
138
+ if let countryCode = scanningResult.countryCode {
139
+ scanningResultDict["countryCode"] = serializeStringResult(countryCode)
140
+ }
141
+ if let nationalInsuranceNumber = scanningResult.nationalInsuranceNumber {
142
+ scanningResultDict["nationalInsuranceNumber"] = serializeStringResult(nationalInsuranceNumber)
143
+ }
144
+ if let localityCode = scanningResult.localityCode {
145
+ scanningResultDict["localityCode"] = serializeStringResult(localityCode)
146
+ }
147
+ if let maidenName = scanningResult.maidenName {
148
+ scanningResultDict["maidenName"] = serializeStringResult(maidenName)
149
+ }
150
+ if let municipalityCode = scanningResult.municipalityCode {
151
+ scanningResultDict["municipalityCode"] = serializeStringResult(municipalityCode)
152
+ }
153
+ if let municipalityOfRegistration = scanningResult.municipalityOfRegistration {
154
+ scanningResultDict["municipalityOfRegistration"] = serializeStringResult(municipalityOfRegistration)
155
+ }
156
+ if let pollingStationCode = scanningResult.pollingStationCode {
157
+ scanningResultDict["pollingStationCode"] = serializeStringResult(pollingStationCode)
158
+ }
159
+ if let registrationCenterCode = scanningResult.registrationCenterCode {
160
+ scanningResultDict["registrationCenterCode"] = serializeStringResult(registrationCenterCode)
161
+ }
162
+ if let sectionCode = scanningResult.sectionCode {
163
+ scanningResultDict["sectionCode"] = serializeStringResult(sectionCode)
164
+ }
165
+ if let stateCode = scanningResult.stateCode {
166
+ scanningResultDict["stateCode"] = serializeStringResult(stateCode)
167
+ }
168
+ if let stateName = scanningResult.stateName {
169
+ scanningResultDict["stateName"] = serializeStringResult(stateName)
170
+ }
171
+ if let dateOfBirth = scanningResult.dateOfBirth {
172
+ scanningResultDict["dateOfBirth"] = serializeDateResult(dateOfBirth)
173
+ }
174
+ if let dateOfIssue = scanningResult.dateOfIssue {
175
+ scanningResultDict["dateOfIssue"] = serializeDateResult(dateOfIssue)
176
+ }
177
+ if let dateOfExpiry = scanningResult.dateOfExpiry {
178
+ scanningResultDict["dateOfExpiry"] = serializeDateResult(dateOfExpiry)
179
+ }
180
+ if let dateOfEntry = scanningResult.dateOfEntry {
181
+ scanningResultDict["dateOfEntry"] = serializeDateResult(dateOfEntry)
182
+ }
183
+ if let effectiveDate = scanningResult.effectiveDate {
184
+ scanningResultDict["effectiveDate"] = serializeDateResult(effectiveDate)
185
+ }
186
+ if let dateOfExpiryPermanent = scanningResult.dateOfExpiryPermanent {
187
+ scanningResultDict["dateOfExpiryPermanent"] = dateOfExpiryPermanent
188
+ }
189
+ if let driverLicenseDetailedInfo = scanningResult.driverLicenseDetailedInfo {
190
+ scanningResultDict["driverLicenseDetailedInfo"] = serializeDriverLicenseDetailedInfo(driverLicenseDetailedInfo)
191
+ }
192
+ if let dependentsInfo = scanningResult.dependentsInfo {
193
+ scanningResultDict["dependentsInfo"] = dependentsInfo.map(serializeDependentInfo(_:))
194
+ }
195
+ if let parentsInfo = scanningResult.parentsInfo {
196
+ scanningResultDict["parentsInfo"] = parentsInfo.map(serializeParentInfo(_:))
197
+ }
198
+ if let husbandName = scanningResult.husbandName {
199
+ scanningResultDict["husbandName"] = serializeStringResult(husbandName)
200
+ }
201
+ if let legalStatus = scanningResult.legalStatus {
202
+ scanningResultDict["legalStatus"] = serializeStringResult(legalStatus)
203
+ }
204
+ if let socialSecurityStatus = scanningResult.socialSecurityStatus {
205
+ scanningResultDict["socialSecurityStatus"] = serializeStringResult(socialSecurityStatus)
206
+ }
207
+ if let workRestriction = scanningResult.workRestriction {
208
+ scanningResultDict["workRestriction"] = serializeStringResult(workRestriction)
209
+ }
210
+ scanningResultDict["subResults"] = scanningResult.subResults.map(serializeSingleSideScanningResult(_:))
211
+
212
+ if let firstInputImage = scanningResult.getInputImage(scanningSide: .first) {
213
+ scanningResultDict["firstInputImage"] = encodeImage(firstInputImage.uiImage)
214
+ }
215
+ if let secondInputImage = scanningResult.getInputImage(scanningSide: .second) {
216
+ scanningResultDict["secondInputImage"] = encodeImage(secondInputImage.uiImage)
217
+ }
218
+ if let barcodeImage = scanningResult.getBarcodeImage() {
219
+ scanningResultDict["barcodeImage"] = encodeImage(barcodeImage.uiImage)
220
+ }
221
+ if let firstDocumentImage = scanningResult.getDocumentImage(scanningSide: .first) {
222
+ scanningResultDict["firstDocumentImage"] = encodeImage(firstDocumentImage.uiImage)
223
+ }
224
+ if let secondDocumentImage = scanningResult.getDocumentImage(scanningSide: .second) {
225
+ scanningResultDict["secondDocumentImage"] = encodeImage(secondDocumentImage.uiImage)
226
+ }
227
+ if let faceImage = scanningResult.getFaceImage() {
228
+ scanningResultDict["faceImage"] = serializeDetailedCroppedImageResult(faceImage)
229
+ }
230
+ if let signatureImage = scanningResult.getSignatureImage() {
231
+ scanningResultDict["signatureImage"] = serializeDetailedCroppedImageResult(signatureImage)
232
+ }
233
+ }
234
+
235
+ return encodeToJson(scanningResultDict)
236
+ }
237
+
238
+ static func serializeDocumentClassInfo(_ documentClassInfo: BlinkIDSDK.DocumentClassInfo) -> Dictionary<String, Any?> {
239
+ // TODO: Align country/region/documentType strings with Android (enum.name lowercased).
240
+ // iOS uses rawValue here; values usually match TS types but are not guaranteed identical
241
+ // for every enum. Prefer shared explicit string mappers on both platforms.
242
+ [
243
+ "country": documentClassInfo.country.rawValue,
244
+ "region": documentClassInfo.region.rawValue,
245
+ "documentType": documentClassInfo.documentType.rawValue,
246
+ "countryName": documentClassInfo.countryName,
247
+ "isoNumericCountryCode": documentClassInfo.isoNumericCountryCode,
248
+ "isoAlpha2CountryCode": documentClassInfo.isoAlpha2CountryCode,
249
+ "isoAlpha3CountryCode": documentClassInfo.isoAlpha3CountryCode,
250
+ "empty": documentClassInfo.isEmpty()
251
+ ]
252
+ }
253
+
254
+ static func serializeDataMatchResult(_ dataMatchResult: DataMatchResult?) -> Dictionary<String, Any?> {
255
+ return [
256
+ "states": dataMatchResult?.states.map(serializeDataMatchState(_:)),
257
+ "overallState": deserializeDataMatchState(dataMatchResult?.overallState)
258
+ ]
259
+ }
260
+
261
+ static func serializeDataMatchState(_ dataMatchState: FieldState) -> Dictionary<String, Any> {
262
+ return [
263
+ "field": deserializeDataMatchField(dataMatchState.fieldType),
264
+ "state": deserializeDataMatchState(dataMatchState.state)
265
+ ]
266
+ }
267
+
268
+ static func deserializeDataMatchField(_ field: DataMatchFieldType) -> String {
269
+ switch field {
270
+ case .dateOfBirth:
271
+ return "dateOfBirth"
272
+ case .dateOfExpiry:
273
+ return "dateOfExpiry"
274
+ case .documentNumber:
275
+ return "documentNumber"
276
+ case .documentAdditionalNumber:
277
+ return "documentAdditionalNumber"
278
+ case .documentOptionalAdditionalNumber:
279
+ return "documentOptionalAdditionalNumber"
280
+ case .personalIdNumber:
281
+ return "personalIdNumber"
282
+ @unknown default:
283
+ return ""
284
+ }
285
+ }
286
+
287
+ static func serializeStringResult(_ stringResult: BlinkIDSDK.StringResult?) -> Dictionary<String, Any?>{
288
+ var stringResultDict: Dictionary<String, Any?> = [
289
+ "value": stringResult?.value,
290
+ "latin": stringResult?.value(for: .latin),
291
+ "arabic": stringResult?.value(for: .arabic),
292
+ "cyrillic": stringResult?.value(for: .cyrillic),
293
+ "greek": stringResult?.value(for: .greek)
294
+ ]
295
+
296
+ stringResultDict["location"] = [
297
+ "latin": serializeRect(stringResult?.location(for: .latin)),
298
+ "arabic": serializeRect(stringResult?.location(for: .arabic)),
299
+ "cyrillic": serializeRect(stringResult?.location(for: .cyrillic)),
300
+ "greek": serializeRect(stringResult?.location(for: .greek))
301
+ ]
302
+
303
+ var sideDict: Dictionary<String, Any?> = [
304
+ "latin": serializeScanningSide(stringResult?.side(for: .latin)),
305
+ "arabic": serializeScanningSide(stringResult?.side(for: .arabic)),
306
+ "cyrillic": serializeScanningSide(stringResult?.side(for: .cyrillic)),
307
+ "greek": serializeScanningSide(stringResult?.side(for: .greek))
308
+ ]
309
+ stringResultDict["side"] = sideDict
310
+
311
+ return stringResultDict
312
+ }
313
+
314
+ static func serializeRect(_ rectangle: BlinkID.RectangleF?) -> Dictionary<String, Any> {
315
+ let rectangleDict: [String: Any?] = [
316
+ "x": rectangle?.origin.x,
317
+ "y": rectangle?.origin.y,
318
+ "width": rectangle?.width,
319
+ "height": rectangle?.height
320
+ ]
321
+ return rectangleDict.compactMapValues { $0 }
322
+ }
323
+
324
+ static func serializeDateResult<T>(_ dateResult: DateResult<T>?) -> Dictionary<String, Any?>? {
325
+ return [
326
+ "date": serializeSimpleDate(dateResult),
327
+ "filledByDomainKnowledge": dateResult?.filledByDomainKnowledge,
328
+ "successfullyParsed": dateResult?.successfullyParsed,
329
+ "originalString": serializeStringType(dateResult?.originalString)
330
+ ]
331
+ }
332
+
333
+ static func serializeSimpleDate<T>(_ dateResult: DateResult<T>?) -> Dictionary<String, Any>? {
334
+ let simpleDateDict: [String: Any?] = [
335
+ "day": dateResult?.day,
336
+ "month": dateResult?.month,
337
+ "year": dateResult?.year,
338
+ ]
339
+ return simpleDateDict.compactMapValues { $0 }
340
+ }
341
+
342
+ static func serializeDriverLicenseDetailedInfo<T>(_ driverLicenseDetailedInfo: DriverLicenseDetailedInfo<T>?) -> Dictionary<String, Any?>? {
343
+ return [
344
+ "conditions": serializeStringType(driverLicenseDetailedInfo?.conditions),
345
+ "endorsements": serializeStringType(driverLicenseDetailedInfo?.endorsements),
346
+ "restrictions": serializeStringType(driverLicenseDetailedInfo?.restrictions),
347
+ "vehicleClass": serializeStringType(driverLicenseDetailedInfo?.vehicleClass),
348
+ "vehicleClassesInfo": driverLicenseDetailedInfo?.vehicleClassesInfo?.map(serializeVehicleClassInfo(_:)),
349
+ ]
350
+ }
351
+
352
+ static func serializeVehicleClassInfo<T>(_ vehicleClassInfo: VehicleClassInfo<T>?) -> Dictionary<String, Any?> {
353
+ return [
354
+ "effectiveDate": serializeDateResult(vehicleClassInfo?.effectiveDate),
355
+ "expiryDate": serializeDateResult(vehicleClassInfo?.expiryDate),
356
+ "licenceType": serializeStringType(vehicleClassInfo?.licenceType),
357
+ "vehicleClass": serializeStringType(vehicleClassInfo?.vehicleClass)
358
+ ]
359
+ }
360
+ static func serializeDependentInfo(_ dependentInfo: DependentInfo?) -> Dictionary<String, Any?> {
361
+ return [
362
+ "dateOfBirth": serializeDateResult(dependentInfo?.dateOfBirth),
363
+ "documentNumber": serializeStringResult(dependentInfo?.documentNumber),
364
+ "fullName": serializeStringResult(dependentInfo?.fullName),
365
+ "sex": serializeStringResult(dependentInfo?.sex)
366
+ ]
367
+ }
368
+
369
+ static func serializeSingleSideScanningResult(_ singleSideScanningResult: SingleSideScanningResult?) -> Dictionary<String, Any?> {
370
+ guard let singleSideScanningResult else { return [:] }
371
+
372
+ return [
373
+ "viz": serializeVizResult(singleSideScanningResult.viz),
374
+ "mrz": serializeMrzResult(singleSideScanningResult.mrz),
375
+ "barcode": serializeBarcodeResult(singleSideScanningResult.barcode),
376
+ "inputImage": encodeImage(singleSideScanningResult.inputImage?.uiImage),
377
+ "barcodeImage": encodeImage(singleSideScanningResult.barcodeImage?.uiImage),
378
+ "documentImage": encodeImage(singleSideScanningResult.documentImage?.uiImage),
379
+ "faceImage": serializeDetailedCroppedImageResult(singleSideScanningResult.faceImage),
380
+ "signatureImage": serializeDetailedCroppedImageResult(singleSideScanningResult.signatureImage),
381
+
382
+ ]
383
+ }
384
+
385
+ static func serializeBarcodeResult(_ barcodeResult: BarcodeResult?) -> Dictionary<String, Any?> {
386
+ return [
387
+ "barcodeData": serializeBarcodeData(barcodeResult?.barcodeData),
388
+ "parsed": barcodeResult?.parsed,
389
+ "firstName": barcodeResult?.firstName,
390
+ "middleName": barcodeResult?.middleName,
391
+ "lastName": barcodeResult?.lastName,
392
+ "fullName": barcodeResult?.fullName,
393
+ "additionalNameInformation": barcodeResult?.additionalNameInformation,
394
+ "address": barcodeResult?.address,
395
+ "nationality": barcodeResult?.nationality,
396
+ "placeOfBirth": barcodeResult?.placeOfBirth,
397
+ "race": barcodeResult?.race,
398
+ "religion": barcodeResult?.religion,
399
+ "profession": barcodeResult?.profession,
400
+ "maritalStatus": barcodeResult?.maritalStatus,
401
+ "residentialStatus": barcodeResult?.residentialStatus,
402
+ "employer": barcodeResult?.employer,
403
+ "sex": barcodeResult?.sex,
404
+ "dateOfBirth": serializeDateResult(barcodeResult?.dateOfBirth),
405
+ "dateOfIssue": serializeDateResult(barcodeResult?.dateOfIssue),
406
+ "dateOfExpiry": serializeDateResult(barcodeResult?.dateOfExpiry),
407
+ "documentNumber": barcodeResult?.documentNumber,
408
+ "personalIdNumber": barcodeResult?.personalIdNumber,
409
+ "documentAdditionalNumber": barcodeResult?.documentAdditionalNumber,
410
+ "issuingAuthority": barcodeResult?.issuingAuthority,
411
+ "addressDetailedInfo": serializeAddressDetailedInfo(barcodeResult?.addressDetailedInfo),
412
+ "driverLicenseDetailedInfo": serializeDriverLicenseDetailedInfo(barcodeResult?.driverLicenseDetailedInfo),
413
+ "extendedElements": serializeBarcodeExtendedElements(barcodeResult?.extendedElements),
414
+ ]
415
+ }
416
+
417
+ static func serializeAddressDetailedInfo(_ addressDetailedInfo: AddressDetailedInfo?) -> Dictionary<String, Any?> {
418
+ return [
419
+ "city": addressDetailedInfo?.city,
420
+ "postalCode": addressDetailedInfo?.postalCode,
421
+ "jurisdiction": addressDetailedInfo?.jurisdiction,
422
+ "street": addressDetailedInfo?.street
423
+ ]
424
+ }
425
+ static func serializeBarcodeData(_ barcodeData: BarcodeData?) -> Dictionary<String, Any?> {
426
+ return [
427
+ "barcodeType": serializeBarcodeType(barcodeData?.barcodeType),
428
+ "rawData": barcodeData?.rawData.base64EncodedString(),
429
+ "stringData": barcodeData?.stringData,
430
+ "uncertain": barcodeData?.uncertain
431
+ ]
432
+ }
433
+
434
+ static func serializeBarcodeType(_ barcodeType: BarcodeType?) -> String {
435
+ switch barcodeType {
436
+ case nil:
437
+ return "none"
438
+ case .qrCode:
439
+ return "qrCode"
440
+ case .dataMatrix:
441
+ return "dataMatrix"
442
+ case .upce:
443
+ return "upce"
444
+ case .upca:
445
+ return "upca"
446
+ case .ean8:
447
+ return "ean8"
448
+ case .ean13:
449
+ return "ean13"
450
+ case .code128:
451
+ return "code128"
452
+ case .code39:
453
+ return "code39"
454
+ case .itf:
455
+ return "itf"
456
+ case .aztec:
457
+ return "aztec"
458
+ case .pdf417:
459
+ return "pdf417"
460
+ case .none?:
461
+ return "none"
462
+ @unknown default:
463
+ return "none"
464
+ }
465
+ }
466
+
467
+ static func serializeBarcodeExtendedElements(_ barcodeExtendedElements: BarcodeElements?) -> [String: Any?] {
468
+ var elements = barcodeExtendedElements
469
+
470
+ return [
471
+ "addressCity": elements?.getValue(for: .addressCity),
472
+ "addressJurisdictionCode": elements?.getValue(for: .addressJurisdictionCode),
473
+ "addressPostalCode": elements?.getValue(for: .addressPostalCode),
474
+ "addressStreet": elements?.getValue(for: .addressStreet),
475
+ "addressStreet2": elements?.getValue(for: .addressStreet2),
476
+ "akaDateOfBirth": elements?.getValue(for: .akaDateOfBirth),
477
+ "akaFamilyName": elements?.getValue(for: .akaFamilyName),
478
+ "akaFullName": elements?.getValue(for: .akaFullName),
479
+ "akaGivenName": elements?.getValue(for: .akaGivenName),
480
+ "akaMiddleName": elements?.getValue(for: .akaMiddleName),
481
+ "akaPrefixName": elements?.getValue(for: .akaPrefixName),
482
+ "akaSocialSecurityNumber": elements?.getValue(for: .akaSocialSecurityNumber),
483
+ "akaSuffixName": elements?.getValue(for: .akaSuffixName),
484
+ "auditInformation": elements?.getValue(for: .auditInformation),
485
+ "cardRevisionDate": elements?.getValue(for: .cardRevisionDate),
486
+ "complianceType": elements?.getValue(for: .complianceType),
487
+ "countryIdentification": elements?.getValue(for: .countryIdentification),
488
+ "customerFamilyName": elements?.getValue(for: .customerFamilyName),
489
+ "customerIdNumber": elements?.getValue(for: .customerIdNumber),
490
+ "customerFirstName": elements?.getValue(for: .customerFirstName),
491
+ "customerFullName": elements?.getValue(for: .customerFullName),
492
+ "customerMiddleName": elements?.getValue(for: .customerMiddleName),
493
+ "dataDiscriminator": elements?.getValue(for: .dataDiscriminator),
494
+ "dateOfBirth": elements?.getValue(for: .dateOfBirth),
495
+ "documentDiscriminator": elements?.getValue(for: .documentDiscriminator),
496
+ "documentExpirationDate": elements?.getValue(for: .documentExpirationDate),
497
+ "documentExpirationMonth": elements?.getValue(for: .documentExpirationMonth),
498
+ "documentIssueDate": elements?.getValue(for: .documentIssueDate),
499
+ "documentNonexpiring": elements?.getValue(for: .documentNonexpiring),
500
+ "documentType": elements?.getValue(for: .documentType),
501
+ "eyeColor": elements?.getValue(for: .eyeColor),
502
+ "familyNameTruncation": elements?.getValue(for: .familyNameTruncation),
503
+ "federalCommercialVehicleCodes": elements?.getValue(for: .federalCommercialVehicleCodes),
504
+ "firstNameTruncation": elements?.getValue(for: .firstNameTruncation),
505
+ "fullAddress": elements?.getValue(for: .fullAddress),
506
+ "hairColor": elements?.getValue(for: .hairColor),
507
+ "height": elements?.getValue(for: .height),
508
+ "heightIn": elements?.getValue(for: .heightIn),
509
+ "heightCm": elements?.getValue(for: .heightCm),
510
+ "issuerIdentificationNumber": elements?.getValue(for: .issuerIdentificationNumber),
511
+ "issuingJurisdiction": elements?.getValue(for: .issuingJurisdiction),
512
+ "issuingJurisdictionName": elements?.getValue(for: .issuingJurisdictionName),
513
+ "jurisdictionEndorsementCodes": elements?.getValue(for: .jurisdictionEndorsementCodes),
514
+ "jurisdictionEndorsmentCodeDescription": elements?.getValue(for: .jurisdictionEndorsmentCodeDescription),
515
+ "jurisdictionRestrictionCodeDescription": elements?.getValue(for: .jurisdictionRestrictionCodeDescription),
516
+ "jurisdictionRestrictionCodes": elements?.getValue(for: .jurisdictionRestrictionCodes),
517
+ "jurisdictionVehicleClass": elements?.getValue(for: .jurisdictionVehicleClass),
518
+ "jurisdictionVehicleClassificationDescription": elements?.getValue(for: .jurisdictionVehicleClassificationDescription),
519
+ "jurisdictionVersionNumber": elements?.getValue(for: .jurisdictionVersionNumber),
520
+ "limitedDurationDocument": elements?.getValue(for: .limitedDurationDocument),
521
+ "medicalIndicator": elements?.getValue(for: .medicalIndicator),
522
+ "middleNameTruncation": elements?.getValue(for: .middleNameTruncation),
523
+ "namePrefix": elements?.getValue(for: .namePrefix),
524
+ "nameSuffix": elements?.getValue(for: .nameSuffix),
525
+ "nonResident": elements?.getValue(for: .nonResident),
526
+ "numberOfDuplicates": elements?.getValue(for: .numberOfDuplicates),
527
+ "organDonor": elements?.getValue(for: .organDonor),
528
+ "permitExpirationDate": elements?.getValue(for: .permitExpirationDate),
529
+ "permitIdentifier": elements?.getValue(for: .permitIdentifier),
530
+ "permitIssueDate": elements?.getValue(for: .permitIssueDate),
531
+ "placeOfBirth": elements?.getValue(for: .placeOfBirth),
532
+ "raceEthnicity": elements?.getValue(for: .raceEthnicity),
533
+ "residenceCity": elements?.getValue(for: .residenceCity),
534
+ "residenceFullAddress": elements?.getValue(for: .residenceFullAddress),
535
+ "residenceJurisdictionCode": elements?.getValue(for: .residenceJurisdictionCode),
536
+ "residencePostalCode": elements?.getValue(for: .residencePostalCode),
537
+ "residenceStreetAddress": elements?.getValue(for: .residenceStreetAddress),
538
+ "residenceStreetAddress2": elements?.getValue(for: .residenceStreetAddress2),
539
+ "securityVersion": elements?.getValue(for: .securityVersion),
540
+ "sex": elements?.getValue(for: .sex),
541
+ "socialSecurityNumber": elements?.getValue(for: .socialSecurityNumber),
542
+ "standardEndorsementCode": elements?.getValue(for: .standardEndorsementCode),
543
+ "standardRestrictionCode": elements?.getValue(for: .standardRestrictionCode),
544
+ "standardVehicleClassification": elements?.getValue(for: .standardVehicleClassification),
545
+ "standardVersionNumber": elements?.getValue(for: .standardVersionNumber),
546
+ "under18": elements?.getValue(for: .under18),
547
+ "under19": elements?.getValue(for: .under19),
548
+ "under21": elements?.getValue(for: .under21),
549
+ "uniqueCustomerId": elements?.getValue(for: .uniqueCustomerId),
550
+ "veteran": elements?.getValue(for: .veteran),
551
+ "weightKilograms": elements?.getValue(for: .weightKilograms),
552
+ "weightPounds": elements?.getValue(for: .weightPounds),
553
+ "weightRange": elements?.getValue(for: .weightRange),
554
+ ]
555
+ }
556
+
557
+
558
+ static func serializeStringType<T>(_ value: T) -> Any? {
559
+ if let stringResult = value as? BlinkID.BlinkIDSDK.StringResult {
560
+ return serializeStringResult(stringResult)
561
+ } else if let str = value as? Swift.String {
562
+ return str
563
+ }
564
+ return nil
565
+ }
566
+
567
+ static func encodeImage(_ image: UIImage?) -> String? {
568
+ return image?.jpegData(compressionQuality: 1.0)?.base64EncodedString()
569
+ }
570
+ static func serializeMrzResult(_ mrzResult: MRZResult?) -> Dictionary<String, Any?> {
571
+ return [
572
+ "rawMRZString": mrzResult?.rawMRZString,
573
+ "documentCode": mrzResult?.documentCode,
574
+ "issuer": mrzResult?.issuer,
575
+ "documentNumber": mrzResult?.documentNumber,
576
+ "opt1": mrzResult?.opt1,
577
+ "opt2": mrzResult?.opt2,
578
+ "gender": mrzResult?.gender,
579
+ "nationality": mrzResult?.nationality,
580
+ "primaryID": mrzResult?.primaryID,
581
+ "secondaryID": mrzResult?.secondaryID,
582
+ "issuerName": mrzResult?.issuerName,
583
+ "nationalityName": mrzResult?.nationalityName,
584
+ "verified": mrzResult?.verified,
585
+ "dateOfBirth": serializeDateResult(mrzResult?.dateOfBirth),
586
+ "dateOfExpiry": serializeDateResult(mrzResult?.dateOfExpiry),
587
+ "documentType": serializeMrzDocumentType(mrzResult?.documentType),
588
+ "sanitizedOpt1": mrzResult?.sanitizedOpt1,
589
+ "sanitizedOpt2": mrzResult?.sanitizedOpt2,
590
+ "sanitizedNationality": mrzResult?.sanitizedNationality,
591
+ "sanitizedIssuer": mrzResult?.sanitizedIssuer,
592
+ "sanitizedDocumentCode": mrzResult?.sanitizedDocumentCode,
593
+ "sanitizedDocumentNumber": mrzResult?.sanitizedDocumentNumber,
594
+ ]
595
+ }
596
+
597
+ static func serializeMrzDocumentType(_ documentType: MRZDocumentType?) -> String? {
598
+ switch documentType {
599
+ case .unknown:
600
+ return "unknown"
601
+ case .identityCard:
602
+ return "identityCard"
603
+ case .passport:
604
+ return "passport"
605
+ case .visa:
606
+ return "visa"
607
+ case .greenCard:
608
+ return "greenCard"
609
+ case .mysPassIMM13P:
610
+ return "mysPassIMM13P"
611
+ case .driverLicense:
612
+ return "driverLicense"
613
+ case .internalTravelDocument:
614
+ return "internalTravelDocument"
615
+ case .borderCrossingCard:
616
+ return "borderCrossingCard"
617
+ case .none:
618
+ return nil
619
+ @unknown default:
620
+ return nil
621
+ }
622
+ }
623
+
624
+ static func serializeVizResult(_ vizResult: VIZResult?) -> Dictionary<String, Any> {
625
+ var vizResultDict = Dictionary<String, Any>()
626
+ if let vizResult {
627
+ if let firstName = vizResult.firstName {
628
+ vizResultDict["firstName"] = serializeStringResult(firstName)
629
+ }
630
+ if let lastName = vizResult.lastName {
631
+ vizResultDict["lastName"] = serializeStringResult(lastName)
632
+ }
633
+ if let fullName = vizResult.fullName {
634
+ vizResultDict["fullName"] = serializeStringResult(fullName)
635
+ }
636
+ if let additionalNameInformation = vizResult.additionalNameInformation {
637
+ vizResultDict["additionalNameInformation"] = serializeStringResult(additionalNameInformation)
638
+ }
639
+ if let localizedName = vizResult.localizedName {
640
+ vizResultDict["localizedName"] = serializeStringResult(localizedName)
641
+ }
642
+ if let fathersName = vizResult.fathersName {
643
+ vizResultDict["fathersName"] = serializeStringResult(fathersName)
644
+ }
645
+ if let mothersName = vizResult.mothersName {
646
+ vizResultDict["mothersName"] = serializeStringResult(mothersName)
647
+ }
648
+ if let address = vizResult.address {
649
+ vizResultDict["address"] = serializeStringResult(address)
650
+ }
651
+ if let additionalAddressInformation = vizResult.additionalAddressInformation {
652
+ vizResultDict["additionalAddressInformation"] = serializeStringResult(additionalAddressInformation)
653
+ }
654
+ if let additionalOptionalAddressInformation = vizResult.additionalOptionalAddressInformation {
655
+ vizResultDict["additionalOptionalAddressInformation"] = serializeStringResult(additionalOptionalAddressInformation)
656
+ }
657
+ if let placeOfBirth = vizResult.placeOfBirth {
658
+ vizResultDict["placeOfBirth"] = serializeStringResult(placeOfBirth)
659
+ }
660
+ if let nationality = vizResult.nationality {
661
+ vizResultDict["nationality"] = serializeStringResult(nationality)
662
+ }
663
+ if let race = vizResult.race {
664
+ vizResultDict["race"] = serializeStringResult(race)
665
+ }
666
+ if let religion = vizResult.religion {
667
+ vizResultDict["religion"] = serializeStringResult(religion)
668
+ }
669
+ if let profession = vizResult.profession {
670
+ vizResultDict["profession"] = serializeStringResult(profession)
671
+ }
672
+ if let maritalStatus = vizResult.maritalStatus {
673
+ vizResultDict["maritalStatus"] = serializeStringResult(maritalStatus)
674
+ }
675
+ if let residentialStatus = vizResult.residentialStatus {
676
+ vizResultDict["residentialStatus"] = serializeStringResult(residentialStatus)
677
+ }
678
+ if let sex = vizResult.sex {
679
+ vizResultDict["sex"] = serializeStringResult(sex)
680
+ }
681
+ if let employer = vizResult.employer {
682
+ vizResultDict["employer"] = serializeStringResult(employer)
683
+ }
684
+ if let sponsor = vizResult.sponsor {
685
+ vizResultDict["sponsor"] = serializeStringResult(sponsor)
686
+ }
687
+ if let bloodType = vizResult.bloodType {
688
+ vizResultDict["bloodType"] = serializeStringResult(bloodType)
689
+ }
690
+ if let dateOfBirth = vizResult.dateOfBirth {
691
+ vizResultDict["dateOfBirth"] = serializeDateResult(dateOfBirth)
692
+ }
693
+ if let dateOfIssue = vizResult.dateOfIssue {
694
+ vizResultDict["dateOfIssue"] = serializeDateResult(dateOfIssue)
695
+ }
696
+ if let dateOfExpiry = vizResult.dateOfExpiry {
697
+ vizResultDict["dateOfExpiry"] = serializeDateResult(dateOfExpiry)
698
+ }
699
+ if let dateOfEntry = vizResult.dateOfEntry {
700
+ vizResultDict["dateOfEntry"] = serializeDateResult(dateOfEntry)
701
+ }
702
+ vizResultDict["dateOfExpiryPermanent"] = vizResult.dateOfExpiryPermanent
703
+ if let effectiveDate = vizResult.effectiveDate {
704
+ vizResultDict["effectiveDate"] = serializeDateResult(effectiveDate)
705
+ }
706
+ if let documentNumber = vizResult.documentNumber {
707
+ vizResultDict["documentNumber"] = serializeStringResult(documentNumber)
708
+ }
709
+ if let cardAccessNumber = vizResult.cardAccessNumber {
710
+ vizResultDict["cardAccessNumber"] = serializeStringResult(cardAccessNumber)
711
+ }
712
+ if let personalIdNumber = vizResult.personalIdNumber {
713
+ vizResultDict["personalIdNumber"] = serializeStringResult(personalIdNumber)
714
+ }
715
+ if let documentAdditionalNumber = vizResult.documentAdditionalNumber {
716
+ vizResultDict["documentAdditionalNumber"] = serializeStringResult(documentAdditionalNumber)
717
+ }
718
+ if let documentOptionalAdditionalNumber = vizResult.documentOptionalAdditionalNumber {
719
+ vizResultDict["documentOptionalAdditionalNumber"] = serializeStringResult(documentOptionalAdditionalNumber)
720
+ }
721
+ if let additionalPersonalIdNumber = vizResult.additionalPersonalIdNumber {
722
+ vizResultDict["additionalPersonalIdNumber"] = serializeStringResult(additionalPersonalIdNumber)
723
+ }
724
+ if let issuingAuthority = vizResult.issuingAuthority {
725
+ vizResultDict["issuingAuthority"] = serializeStringResult(issuingAuthority)
726
+ }
727
+ if let visaType = vizResult.visaType {
728
+ vizResultDict["visaType"] = serializeStringResult(visaType)
729
+ }
730
+ if let certificateNumber = vizResult.certificateNumber {
731
+ vizResultDict["certificateNumber"] = serializeStringResult(certificateNumber)
732
+ }
733
+ if let countryCode = vizResult.countryCode {
734
+ vizResultDict["countryCode"] = serializeStringResult(countryCode)
735
+ }
736
+ if let driverLicenseDetailedInfo = vizResult.driverLicenseDetailedInfo {
737
+ vizResultDict["driverLicenseDetailedInfo"] = serializeDriverLicenseDetailedInfo(driverLicenseDetailedInfo)
738
+ }
739
+ if let documentSubtype = vizResult.documentSubtype {
740
+ vizResultDict["documentSubtype"] = serializeStringResult(documentSubtype)
741
+ }
742
+ if let remarks = vizResult.remarks {
743
+ vizResultDict["remarks"] = serializeStringResult(remarks)
744
+ }
745
+ if let residencePermitType = vizResult.residencePermitType {
746
+ vizResultDict["residencePermitType"] = serializeStringResult(residencePermitType)
747
+ }
748
+ if let manufacturingYear = vizResult.manufacturingYear {
749
+ vizResultDict["manufacturingYear"] = serializeStringResult(manufacturingYear)
750
+ }
751
+ if let nationalInsuranceNumber = vizResult.nationalInsuranceNumber {
752
+ vizResultDict["nationalInsuranceNumber"] = serializeStringResult(nationalInsuranceNumber)
753
+ }
754
+ if let vehicleType = vizResult.vehicleType {
755
+ vizResultDict["vehicleType"] = serializeStringResult(vehicleType)
756
+ }
757
+ if let eligibilityCategory = vizResult.eligibilityCategory {
758
+ vizResultDict["eligibilityCategory"] = serializeStringResult(eligibilityCategory)
759
+ }
760
+ if let specificDocumentValidity = vizResult.specificDocumentValidity {
761
+ vizResultDict["specificDocumentValidity"] = serializeStringResult(specificDocumentValidity)
762
+ }
763
+ if let dependentsInfo = vizResult.dependentsInfo {
764
+ vizResultDict["dependentsInfo"] = dependentsInfo.compactMap(serializeDependentInfo(_:))
765
+ }
766
+ if let vehicleOwner = vizResult.vehicleOwner {
767
+ vizResultDict["vehicleOwner"] = serializeStringResult(vehicleOwner)
768
+ }
769
+ if let parentsInfo = vizResult.parentsInfo {
770
+ vizResultDict["parentsInfo"] = parentsInfo.map(serializeParentInfo(_:))
771
+ }
772
+ if let localityCode = vizResult.localityCode {
773
+ vizResultDict["localityCode"] = serializeStringResult(localityCode)
774
+ }
775
+ if let maidenName = vizResult.maidenName {
776
+ vizResultDict["maidenName"] = serializeStringResult(maidenName)
777
+ }
778
+ if let municipalityCode = vizResult.municipalityCode {
779
+ vizResultDict["municipalityCode"] = serializeStringResult(municipalityCode)
780
+ }
781
+ if let municipalityOfRegistration = vizResult.municipalityOfRegistration {
782
+ vizResultDict["municipalityOfRegistration"] = serializeStringResult(municipalityOfRegistration)
783
+ }
784
+ if let pollingStationCode = vizResult.pollingStationCode {
785
+ vizResultDict["pollingStationCode"] = serializeStringResult(pollingStationCode)
786
+ }
787
+ if let registrationCenterCode = vizResult.registrationCenterCode {
788
+ vizResultDict["registrationCenterCode"] = serializeStringResult(registrationCenterCode)
789
+ }
790
+ if let sectionCode = vizResult.sectionCode {
791
+ vizResultDict["sectionCode"] = serializeStringResult(sectionCode)
792
+ }
793
+ if let stateCode = vizResult.stateCode {
794
+ vizResultDict["stateCode"] = serializeStringResult(stateCode)
795
+ }
796
+ if let stateName = vizResult.stateName {
797
+ vizResultDict["stateName"] = serializeStringResult(stateName)
798
+ }
799
+ if let husbandName = vizResult.husbandName {
800
+ vizResultDict["husbandName"] = serializeStringResult(husbandName)
801
+ }
802
+ if let legalStatus = vizResult.legalStatus {
803
+ vizResultDict["legalStatus"] = serializeStringResult(legalStatus)
804
+ }
805
+ if let socialSecurityStatus = vizResult.socialSecurityStatus {
806
+ vizResultDict["socialSecurityStatus"] = serializeStringResult(socialSecurityStatus)
807
+ }
808
+ if let workRestriction = vizResult.workRestriction {
809
+ vizResultDict["workRestriction"] = serializeStringResult(workRestriction)
810
+ }
811
+ }
812
+ return vizResultDict
813
+ }
814
+
815
+ static func serializeDetailedCroppedImageResult(_ detailedcroppedImageResult: DetailedCroppedImageResult?) -> Dictionary<String, Any?> {
816
+ return [
817
+ "location": serializeRect(detailedcroppedImageResult?.location),
818
+ "side": serializeScanningSide(detailedcroppedImageResult?.side),
819
+ "image": encodeImage(detailedcroppedImageResult?.uiImage)
820
+ ]
821
+ }
822
+
823
+ static func serializeScanningSide(_ side: ScanningSide?) -> String? {
824
+ switch side {
825
+ case .first:
826
+ return "first"
827
+ case .second:
828
+ return "second"
829
+ case .none:
830
+ return nil
831
+ @unknown default:
832
+ return nil
833
+ }
834
+ }
835
+
836
+ static func deserializeDataMatchState(_ state: DataMatchState?) -> String {
837
+ switch state {
838
+ case .notPerformed: return "notPerformed"
839
+ case .failed: return "failed"
840
+ case .success: return "success"
841
+ case .none: return "none"
842
+ @unknown default: return "none"
843
+ }
844
+ }
845
+
846
+ static func serializeParentInfo(_ parentInfo: ParentInfo) -> Dictionary<String, Any> {
847
+ var parentInfoDict: [String: Any] = [:]
848
+ if let firstName = parentInfo.firstName {
849
+ parentInfoDict["firstName"] = serializeStringResult(firstName)
850
+ }
851
+ if let lastName = parentInfo.lastName {
852
+ parentInfoDict["lastName"] = serializeStringResult(lastName)
853
+ }
854
+ return parentInfoDict
855
+ }
856
+
857
+ static func encodeToJson(_ dict: Dictionary<String, Any>) -> String? {
858
+ do {
859
+ let jsonData = try JSONSerialization.data(withJSONObject: dict, options: .prettyPrinted)
860
+ let resultForJson = String(data: jsonData, encoding: .utf8)
861
+ return resultForJson
862
+ } catch {
863
+ return ""
864
+ }
865
+ }
866
+ }