@microblink/blinkid-react-native 7.2.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 (176) hide show
  1. package/BlinkidReactNative.podspec +31 -0
  2. package/LICENSE +21 -0
  3. package/README.md +409 -0
  4. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  5. package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
  6. package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
  7. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  8. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  9. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  10. package/android/.gradle/8.9/gc.properties +0 -0
  11. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  12. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  13. package/android/.gradle/vcs-1/gc.properties +0 -0
  14. package/android/build.gradle +85 -0
  15. package/android/gradle.properties +5 -0
  16. package/android/src/main/AndroidManifest.xml +2 -0
  17. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdDeserializationUtilities.kt +354 -0
  18. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdSerializationUtilities.kt +661 -0
  19. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkidReactNativeModule.kt +209 -0
  20. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkidReactNativePackage.kt +33 -0
  21. package/ios/BlinkIdDeserializationUtilities.swift +345 -0
  22. package/ios/BlinkIdSerializationUtilities.swift +675 -0
  23. package/ios/BlinkidReactNative.h +6 -0
  24. package/ios/BlinkidReactNative.mm +97 -0
  25. package/ios/BlinkidReactNativeModule.swift +138 -0
  26. package/ios/Frameworks/BlinkID.xcframework/Info.plist +44 -0
  27. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/BlinkID +0 -0
  28. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/BlinkID-Swift.h +34696 -0
  29. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/BlinkID.h +19 -0
  30. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/MBSampleBufferWrapper.h +28 -0
  31. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Info.plist +0 -0
  32. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.abi.json +59963 -0
  33. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.private.swiftinterface +1630 -0
  34. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  35. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.swiftinterface +1630 -0
  36. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/module.modulemap +10 -0
  37. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/module.private.modulemap +12 -0
  38. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/PrivacyInfo.xcprivacy +56 -0
  39. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/PrivateHeaders/SwiftCxxBridge.hpp +16 -0
  40. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/_CodeSignature/CodeResources +245 -0
  41. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/conan.xcconfig +36 -0
  42. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/BlinkID +0 -0
  43. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/BlinkID-Swift.h +69407 -0
  44. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/BlinkID.h +19 -0
  45. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/MBSampleBufferWrapper.h +28 -0
  46. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Info.plist +0 -0
  47. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.abi.json +59963 -0
  48. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +1630 -0
  49. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  50. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.swiftinterface +1630 -0
  51. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.abi.json +59963 -0
  52. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +1630 -0
  53. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  54. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +1630 -0
  55. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/module.modulemap +10 -0
  56. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/module.private.modulemap +12 -0
  57. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/PrivacyInfo.xcprivacy +56 -0
  58. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/PrivateHeaders/SwiftCxxBridge.hpp +16 -0
  59. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/_CodeSignature/CodeResources +300 -0
  60. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/conan.xcconfig +36 -0
  61. package/ios/Frameworks/BlinkIDUX.xcframework/Info.plist +44 -0
  62. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeDirectory +0 -0
  63. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeRequirements +0 -0
  64. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
  65. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeResources +1575 -0
  66. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeSignature +0 -0
  67. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX +0 -0
  68. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Assets.car +0 -0
  69. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Info.plist +0 -0
  70. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/PrivacyInfo.xcprivacy +56 -0
  71. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ar.lproj/Localizable.strings +0 -0
  72. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/cs.lproj/Localizable.strings +0 -0
  73. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/de.lproj/Localizable.strings +0 -0
  74. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en.lproj/Localizable.strings +0 -0
  75. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es.lproj/Localizable.strings +0 -0
  76. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fil.lproj/Localizable.strings +0 -0
  77. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr.lproj/Localizable.strings +0 -0
  78. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/he.lproj/Localizable.strings +0 -0
  79. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hr.lproj/Localizable.strings +0 -0
  80. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hu.lproj/Localizable.strings +0 -0
  81. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/id.lproj/Localizable.strings +0 -0
  82. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/it.lproj/Localizable.strings +0 -0
  83. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ms.lproj/Localizable.strings +0 -0
  84. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nl.lproj/Localizable.strings +0 -0
  85. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt.lproj/Localizable.strings +0 -0
  86. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ro.lproj/Localizable.strings +0 -0
  87. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sk.lproj/Localizable.strings +0 -0
  88. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sl.lproj/Localizable.strings +0 -0
  89. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sr.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/vi.lproj/Localizable.strings +0 -0
  92. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hans.lproj/Localizable.strings +0 -0
  93. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hant.lproj/Localizable.strings +0 -0
  94. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Info.plist +0 -0
  95. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.abi.json +15405 -0
  96. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.package.swiftinterface +563 -0
  97. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.private.swiftinterface +563 -0
  98. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  99. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.swiftinterface +563 -0
  100. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX +0 -0
  101. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Assets.car +0 -0
  102. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Info.plist +0 -0
  103. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/PrivacyInfo.xcprivacy +56 -0
  104. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeDirectory +0 -0
  105. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeRequirements +0 -0
  106. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeRequirements-1 +0 -0
  107. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeResources +634 -0
  108. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeSignature +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/cs.lproj/Localizable.strings +0 -0
  111. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/de.lproj/Localizable.strings +0 -0
  112. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en.lproj/Localizable.strings +0 -0
  113. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es.lproj/Localizable.strings +0 -0
  114. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fil.lproj/Localizable.strings +0 -0
  115. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr.lproj/Localizable.strings +0 -0
  116. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/he.lproj/Localizable.strings +0 -0
  117. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hr.lproj/Localizable.strings +0 -0
  118. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hu.lproj/Localizable.strings +0 -0
  119. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/id.lproj/Localizable.strings +0 -0
  120. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/it.lproj/Localizable.strings +0 -0
  121. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ms.lproj/Localizable.strings +0 -0
  122. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nl.lproj/Localizable.strings +0 -0
  123. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt.lproj/Localizable.strings +0 -0
  124. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ro.lproj/Localizable.strings +0 -0
  125. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sk.lproj/Localizable.strings +0 -0
  126. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sl.lproj/Localizable.strings +0 -0
  127. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sr.lproj/Localizable.strings +0 -0
  128. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/th.lproj/Localizable.strings +0 -0
  129. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/vi.lproj/Localizable.strings +0 -0
  130. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hans.lproj/Localizable.strings +0 -0
  131. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hant.lproj/Localizable.strings +0 -0
  132. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Info.plist +0 -0
  133. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.abi.json +15405 -0
  134. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.package.swiftinterface +563 -0
  135. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +563 -0
  136. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  137. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.swiftinterface +563 -0
  138. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.abi.json +15405 -0
  139. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.package.swiftinterface +563 -0
  140. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +563 -0
  141. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  142. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +563 -0
  143. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/_CodeSignature/CodeResources +101 -0
  144. package/lib/module/NativeBlinkidReactNative.js +15 -0
  145. package/lib/module/NativeBlinkidReactNative.js.map +1 -0
  146. package/lib/module/blinkIdResult.js +612 -0
  147. package/lib/module/blinkIdResult.js.map +1 -0
  148. package/lib/module/blinkIdSettings.js +465 -0
  149. package/lib/module/blinkIdSettings.js.map +1 -0
  150. package/lib/module/blinkIdUtilities.js +21 -0
  151. package/lib/module/blinkIdUtilities.js.map +1 -0
  152. package/lib/module/index.js +63 -0
  153. package/lib/module/index.js.map +1 -0
  154. package/lib/module/package.json +1 -0
  155. package/lib/module/types.js +3375 -0
  156. package/lib/module/types.js.map +1 -0
  157. package/lib/typescript/package.json +1 -0
  158. package/lib/typescript/src/NativeBlinkidReactNative.d.ts +43 -0
  159. package/lib/typescript/src/NativeBlinkidReactNative.d.ts.map +1 -0
  160. package/lib/typescript/src/blinkIdResult.d.ts +294 -0
  161. package/lib/typescript/src/blinkIdResult.d.ts.map +1 -0
  162. package/lib/typescript/src/blinkIdSettings.d.ts +416 -0
  163. package/lib/typescript/src/blinkIdSettings.d.ts.map +1 -0
  164. package/lib/typescript/src/blinkIdUtilities.d.ts +8 -0
  165. package/lib/typescript/src/blinkIdUtilities.d.ts.map +1 -0
  166. package/lib/typescript/src/index.d.ts +52 -0
  167. package/lib/typescript/src/index.d.ts.map +1 -0
  168. package/lib/typescript/src/types.d.ts +3025 -0
  169. package/lib/typescript/src/types.d.ts.map +1 -0
  170. package/package.json +110 -0
  171. package/src/NativeBlinkidReactNative.ts +45 -0
  172. package/src/blinkIdResult.ts +711 -0
  173. package/src/blinkIdSettings.ts +515 -0
  174. package/src/blinkIdUtilities.ts +20 -0
  175. package/src/index.tsx +72 -0
  176. package/src/types.ts +4334 -0
@@ -0,0 +1,661 @@
1
+ package com.microblink.blinkid.reactnative
2
+
3
+ import android.graphics.Bitmap
4
+ import com.microblink.blinkid.core.result.AddressDetailedInfo
5
+ import com.microblink.blinkid.core.result.AlphabetType
6
+ import com.microblink.blinkid.core.result.DataMatchFieldState
7
+ import com.microblink.blinkid.core.result.DataMatchResult
8
+ import com.microblink.blinkid.core.result.DateResult
9
+ import com.microblink.blinkid.core.result.DependentInfo
10
+ import com.microblink.blinkid.core.result.DriverLicenseDetailedInfo
11
+ import com.microblink.blinkid.core.result.Rectangle
12
+ import com.microblink.blinkid.core.result.SingleSideScanningResult
13
+ import com.microblink.blinkid.core.result.StringResult
14
+ import com.microblink.blinkid.core.result.VehicleClassInfo
15
+ import com.microblink.blinkid.core.result.barcode.BarcodeData
16
+ import com.microblink.blinkid.core.result.barcode.BarcodeResult
17
+ import com.microblink.blinkid.core.result.classinfo.DocumentClassInfo
18
+ import com.microblink.blinkid.core.result.image.DetailedCroppedImageResult
19
+ import com.microblink.blinkid.core.result.mrz.MrzResult
20
+ import com.microblink.blinkid.core.result.viz.VizResult
21
+ import com.microblink.blinkid.core.session.BlinkIdScanningResult
22
+ import org.json.JSONObject
23
+ import java.io.ByteArrayOutputStream
24
+ import android.util.Base64
25
+ import com.microblink.blinkid.core.result.ScanningSide
26
+ import com.microblink.blinkid.core.result.barcode.BarcodeElement
27
+ import org.json.JSONArray
28
+
29
+ object BlinkIdSerializationUtilities {
30
+ fun serializeBlinkIdScanningResult(scanningResult: BlinkIdScanningResult?): String {
31
+ val scanningResultJson: JSONObject = JSONObject()
32
+
33
+ scanningResult?.mode.let {
34
+ scanningResultJson.put("recognitionMode", it?.name)
35
+ }
36
+ scanningResult?.documentClassInfo?.let {
37
+ scanningResultJson.put("documentClassInfo", serializeDocumentClassInfo(it))
38
+ }
39
+ scanningResult?.dataMatchResult?.let {
40
+ scanningResultJson.put("dataMatchResult", serializeDataMatchResult(it))
41
+ }
42
+ scanningResult?.firstName?.let {
43
+ scanningResultJson.put("firstName", serializeStringResult(it))
44
+ }
45
+ scanningResult?.lastName?.let {
46
+ scanningResultJson.put("lastName", serializeStringResult(it))
47
+ }
48
+ scanningResult?.fullName?.let {
49
+ scanningResultJson.put("fullName", serializeStringResult(it))
50
+ }
51
+ scanningResult?.additionalNameInformation?.let {
52
+ scanningResultJson.put("additionalNameInformation", serializeStringResult(it))
53
+ }
54
+ scanningResult?.localizedName?.let {
55
+ scanningResultJson.put("localizedName", serializeStringResult(it))
56
+ }
57
+ scanningResult?.fathersName?.let {
58
+ scanningResultJson.put("fathersName", serializeStringResult(it))
59
+ }
60
+ scanningResult?.mothersName?.let {
61
+ scanningResultJson.put("mothersName", serializeStringResult(it))
62
+ }
63
+ scanningResult?.address?.let {
64
+ scanningResultJson.put("address", serializeStringResult(it))
65
+ }
66
+ scanningResult?.additionalAddressInformation?.let {
67
+ scanningResultJson.put("additionalAddressInformation", serializeStringResult(it))
68
+ }
69
+ scanningResult?.additionalOptionalAddressInformation?.let {
70
+ scanningResultJson.put("additionalOptionalAddressInformation", serializeStringResult(it))
71
+ }
72
+ scanningResult?.placeOfBirth?.let {
73
+ scanningResultJson.put("placeOfBirth", serializeStringResult(it))
74
+ }
75
+ scanningResult?.nationality?.let {
76
+ scanningResultJson.put("nationality", serializeStringResult(it))
77
+ }
78
+ scanningResult?.race?.let {
79
+ scanningResultJson.put("race", serializeStringResult(it))
80
+ }
81
+ scanningResult?.religion?.let {
82
+ scanningResultJson.put("religion", serializeStringResult(it))
83
+ }
84
+ scanningResult?.profession?.let {
85
+ scanningResultJson.put("profession", serializeStringResult(it))
86
+ }
87
+ scanningResult?.maritalStatus?.let {
88
+ scanningResultJson.put("maritalStatus", serializeStringResult(it))
89
+ }
90
+ scanningResult?.residentialStatus?.let {
91
+ scanningResultJson.put("residentialStatus", serializeStringResult(it))
92
+ }
93
+ scanningResult?.employer?.let {
94
+ scanningResultJson.put("employer", serializeStringResult(it))
95
+ }
96
+ scanningResult?.sex?.let {
97
+ scanningResultJson.put("sex", serializeStringResult(it))
98
+ }
99
+ scanningResult?.sponsor?.let {
100
+ scanningResultJson.put("sponsor", serializeStringResult(it))
101
+ }
102
+ scanningResult?.bloodType?.let {
103
+ scanningResultJson.put("bloodType", serializeStringResult(it))
104
+ }
105
+ scanningResult?.documentNumber?.let {
106
+ scanningResultJson.put("documentNumber", serializeStringResult(it))
107
+ }
108
+ scanningResult?.personalIdNumber?.let {
109
+ scanningResultJson.put("personalIdNumber", serializeStringResult(it))
110
+ }
111
+ scanningResult?.documentAdditionalNumber?.let {
112
+ scanningResultJson.put("documentAdditionalNumber", serializeStringResult(it))
113
+ }
114
+ scanningResult?.documentOptionalAdditionalNumber?.let {
115
+ scanningResultJson.put("documentOptionalAdditionalNumber", serializeStringResult(it))
116
+ }
117
+ scanningResult?.additionalPersonalIdNumber?.let {
118
+ scanningResultJson.put("additionalPersonalIdNumber", serializeStringResult(it))
119
+ }
120
+ scanningResult?.issuingAuthority?.let {
121
+ scanningResultJson.put("issuingAuthority", serializeStringResult(it))
122
+ }
123
+ scanningResult?.documentSubtype?.let {
124
+ scanningResultJson.put("documentSubtype", serializeStringResult(it))
125
+ }
126
+ scanningResult?.remarks?.let {
127
+ scanningResultJson.put("remarks", serializeStringResult(it))
128
+ }
129
+ scanningResult?.residencePermitType?.let {
130
+ scanningResultJson.put("residencePermitType", serializeStringResult(it))
131
+ }
132
+ scanningResult?.manufacturingYear?.let {
133
+ scanningResultJson.put("manufacturingYear", serializeStringResult(it))
134
+ }
135
+ scanningResult?.vehicleType?.let {
136
+ scanningResultJson.put("vehicleType", serializeStringResult(it))
137
+ }
138
+ scanningResult?.eligibilityCategory?.let {
139
+ scanningResultJson.put("eligibilityCategory", serializeStringResult(it))
140
+ }
141
+ scanningResult?.specificDocumentValidity?.let {
142
+ scanningResultJson.put("specificDocumentValidity", serializeStringResult(it))
143
+ }
144
+ scanningResult?.visaType?.let {
145
+ scanningResultJson.put("visaType", serializeStringResult(it))
146
+ }
147
+
148
+ scanningResult?.dateOfBirth?.let {
149
+ scanningResultJson.put("dateOfBirth", serializeDateResult(it))
150
+ }
151
+ scanningResult?.dateOfIssue?.let {
152
+ scanningResultJson.put("dateOfIssue", serializeDateResult(it))
153
+ }
154
+ scanningResult?.dateOfExpiry?.let {
155
+ scanningResultJson.put("dateOfExpiry", serializeDateResult(it))
156
+ }
157
+ scanningResult?.dateOfExpiryPermanent?.let {
158
+ scanningResultJson.put("dateOfExpiryPermanent", it)
159
+ }
160
+ scanningResult?.driverLicenseDetailedInfo?.let {
161
+ scanningResultJson.put("driverLicenseDetailedInfo", serializeDriverLicenseDetailedInfo(it))
162
+ }
163
+ scanningResult?.dependentsInfo?.let {
164
+ scanningResultJson.put(
165
+ "dependentsInfo",
166
+ JSONArray(it.map { dependentInfo -> serializeDependentInfo(dependentInfo) })
167
+ )
168
+ }
169
+ scanningResult?.subResults?.let {
170
+ scanningResultJson.put(
171
+ "subResults",
172
+ JSONArray(it.map { subResult -> serializeSubResult(subResult) })
173
+ )
174
+ }
175
+
176
+ scanningResult?.inputImage(ScanningSide.First)?.let {
177
+ scanningResultJson.put("firstInputImage", encodeBase64Image(it.bitmap))
178
+ }
179
+ scanningResult?.inputImage(ScanningSide.Second)?.let {
180
+ scanningResultJson.put("secondInputImage", encodeBase64Image(it.bitmap))
181
+ }
182
+ scanningResult?.barcodeInputImage()?.let {
183
+ scanningResultJson.put("barcodeInputImage", encodeBase64Image(it.bitmap))
184
+ }
185
+ scanningResult?.documentImage(ScanningSide.First)?.let {
186
+ scanningResultJson.put("firstDocumentImage", encodeBase64Image(it.bitmap))
187
+ }
188
+ scanningResult?.documentImage(ScanningSide.Second)?.let {
189
+ scanningResultJson.put("secondDocumentImage", encodeBase64Image(it.bitmap))
190
+ }
191
+ scanningResult?.faceImage()?.let {
192
+ scanningResultJson.put("faceImage", serializeDetailedCroppedImageResult(it))
193
+ }
194
+ scanningResult?.signatureImage()?.let {
195
+ scanningResultJson.put("signatureImage", serializeDetailedCroppedImageResult(it))
196
+ }
197
+
198
+ return scanningResultJson.toString()
199
+ }
200
+
201
+ private fun <T> serializeDateResult(dateResult: DateResult<T>?): JSONObject {
202
+ val dateResultJson = JSONObject()
203
+
204
+ dateResultJson.put("date", serializeSimpleDateResult(dateResult));
205
+ dateResultJson.put("filledByDomainKnowledge", dateResult?.filledByDomainKnowledge)
206
+ dateResultJson.put("successfullyParsed", dateResult?.successfullyParsed)
207
+ dateResultJson.put("originalString", serializeStringType(dateResult?.originalString))
208
+ return dateResultJson
209
+ }
210
+
211
+ private fun <T> serializeSimpleDateResult(dateResult: DateResult<T>?): JSONObject {
212
+ val simpleDateResultJson = JSONObject()
213
+ dateResult?.day?.let {
214
+ simpleDateResultJson.put("day", it)
215
+ }
216
+ dateResult?.month?.let {
217
+ simpleDateResultJson.put("month", it)
218
+ }
219
+ dateResult?.year?.let {
220
+ simpleDateResultJson.put("year", it)
221
+ }
222
+ return simpleDateResultJson;
223
+ }
224
+
225
+ private fun serializeDocumentClassInfo(documentClassInfo: DocumentClassInfo): JSONObject {
226
+ val documentClassInfoJson = JSONObject()
227
+ documentClassInfo.country?.name?.let {
228
+ documentClassInfoJson.put("country", it.replaceFirstChar { char -> char.lowercase() })
229
+ }
230
+ documentClassInfo.region?.name?.let {
231
+ documentClassInfoJson.put("region", it.replaceFirstChar { char -> char.lowercase() })
232
+ }
233
+ documentClassInfo.type?.name?.let {
234
+ documentClassInfoJson.put("documentType", it.replaceFirstChar { char -> char.lowercase() })
235
+ }
236
+ documentClassInfo.countryName?.let {
237
+ documentClassInfoJson.put("countryName", it)
238
+ }
239
+ documentClassInfo.isoAlpha2CountryCode?.let {
240
+ documentClassInfoJson.put("isoAlpha2CountryCode", it)
241
+ }
242
+ documentClassInfo.isoAlpha3CountryCode?.let {
243
+ documentClassInfoJson.put("isoAlpha3CountryCode", it)
244
+ }
245
+ return documentClassInfoJson
246
+ }
247
+
248
+ private fun serializeDataMatchResult(dataMatchResult: DataMatchResult): JSONObject {
249
+ val dataMatchResultJson = JSONObject()
250
+
251
+ val statesArray = JSONArray()
252
+ dataMatchResult.statePerField.forEach {
253
+ statesArray.put(serializeDataMatchField(it))
254
+ }
255
+
256
+ dataMatchResultJson.put("states", statesArray)
257
+ dataMatchResultJson.put("overallState", dataMatchResult.overallState.ordinal)
258
+
259
+ return dataMatchResultJson
260
+ }
261
+
262
+ private fun serializeDataMatchField(dataMatchField: DataMatchFieldState): JSONObject {
263
+ val dataMatchFieldJson = JSONObject()
264
+ dataMatchFieldJson.put("field", dataMatchField.fieldType.ordinal)
265
+ dataMatchFieldJson.put("state", dataMatchField.state.ordinal)
266
+ return dataMatchFieldJson
267
+ }
268
+
269
+ private fun serializeStringResult(stringResult: StringResult): JSONObject {
270
+ val stringResultJson = JSONObject()
271
+ stringResultJson.put("value", stringResult.value(AlphabetType.Latin))
272
+ stringResultJson.put("latin", stringResult.value(AlphabetType.Latin))
273
+ stringResultJson.put("arabic", stringResult.value(AlphabetType.Arabic))
274
+ stringResultJson.put("cyrillic", stringResult.value(AlphabetType.Cyrillic))
275
+ stringResultJson.put("greek", stringResult.value(AlphabetType.Greek))
276
+
277
+ val locationJson = JSONObject()
278
+ stringResult.location(AlphabetType.Latin)?.let {
279
+ locationJson.put("latin", serializeLocation(it))
280
+ }
281
+ stringResult.location(AlphabetType.Arabic)?.let {
282
+ locationJson.put("arabic", serializeLocation(it))
283
+ }
284
+ stringResult.location(AlphabetType.Cyrillic)?.let {
285
+ locationJson.put("cyrillic", serializeLocation(it))
286
+ }
287
+ stringResult.location(AlphabetType.Greek)?.let {
288
+ locationJson.put("greek", serializeLocation(it))
289
+ }
290
+ stringResultJson.put("location", locationJson)
291
+
292
+ val sideJson = JSONObject()
293
+ stringResult.side(AlphabetType.Latin)?.let {
294
+ sideJson.put("latin", it.ordinal)
295
+ }
296
+ stringResult.side(AlphabetType.Arabic)?.let {
297
+ sideJson.put("arabic", it.ordinal)
298
+ }
299
+ stringResult.side(AlphabetType.Cyrillic)?.let {
300
+ sideJson.put("cyrillic", it.ordinal)
301
+ }
302
+ stringResult.side(AlphabetType.Greek)?.let {
303
+ sideJson.put("greek", it.ordinal)
304
+ }
305
+ stringResultJson.put("side", sideJson)
306
+
307
+ return stringResultJson
308
+ }
309
+
310
+ private fun serializeLocation(rectangle: Rectangle): JSONObject {
311
+ val locationJson = JSONObject()
312
+ locationJson.put("x", rectangle.x.toDouble())
313
+ locationJson.put("y", rectangle.y.toDouble())
314
+ locationJson.put("width", rectangle.width.toDouble())
315
+ locationJson.put("height", rectangle.height.toDouble())
316
+ return locationJson
317
+ }
318
+
319
+ private fun <T> serializeDriverLicenseDetailedInfo(
320
+ driverLicenseDetailedInfo: DriverLicenseDetailedInfo<T>?
321
+ ): JSONObject {
322
+ val json = JSONObject()
323
+
324
+ json.put("conditions", serializeStringType(driverLicenseDetailedInfo?.conditions))
325
+ json.put("endorsements", serializeStringType(driverLicenseDetailedInfo?.endorsements))
326
+ json.put("restrictions", serializeStringType(driverLicenseDetailedInfo?.restrictions))
327
+ json.put("vehicleClass", serializeStringType(driverLicenseDetailedInfo?.vehicleClass))
328
+
329
+ driverLicenseDetailedInfo?.vehicleClassesInfo?.let { vehicleClasses ->
330
+ val array = JSONArray()
331
+ for (info in vehicleClasses) {
332
+ array.put(serializeVehicleClassInfo(info))
333
+ }
334
+ json.put("vehicleClassesInfo", array)
335
+ }
336
+
337
+ return json
338
+ }
339
+
340
+ private fun <T> serializeVehicleClassInfo(vehicleClassInfo: VehicleClassInfo<T>): JSONObject {
341
+ val vehicleClassInfoJson = JSONObject()
342
+ vehicleClassInfoJson.put("effectiveDate", serializeStringType(vehicleClassInfo.effectiveDate))
343
+ vehicleClassInfoJson.put("expiryDate", serializeStringType(vehicleClassInfo.expiryDate))
344
+ vehicleClassInfoJson.put("licenceType", serializeStringType(vehicleClassInfo.licenceType))
345
+ vehicleClassInfoJson.put("vehicleClass", serializeStringType(vehicleClassInfo.vehicleClass))
346
+ return vehicleClassInfoJson
347
+ }
348
+
349
+ private fun serializeDependentInfo(dependentInfo: DependentInfo): JSONObject {
350
+ val dependentInfoJson = JSONObject()
351
+
352
+ dependentInfo.fullName?.let {
353
+ dependentInfoJson.put("fullName", serializeStringResult(it))
354
+ }
355
+ dependentInfo.sex?.let {
356
+ dependentInfoJson.put("sex", serializeStringResult(it))
357
+ }
358
+ dependentInfo.dateOfBirth?.let {
359
+ dependentInfoJson.put("dateOfBirth", serializeDateResult(it))
360
+ }
361
+
362
+ dependentInfo.documentNumber?.let {
363
+ dependentInfoJson.put("documentNumber", serializeStringResult(it))
364
+ }
365
+
366
+ return dependentInfoJson
367
+ }
368
+
369
+ private fun serializeSubResult(subResult: SingleSideScanningResult): JSONObject {
370
+ val subResultJson = JSONObject()
371
+ subResultJson.put("barcode", serializeBarcodeResult(subResult.barcode))
372
+ subResultJson.put("barcodeInputImage", encodeBase64Image(subResult.barcodeInputImage?.bitmap))
373
+ subResultJson.put("documentImage", encodeBase64Image(subResult.documentImage?.bitmap))
374
+ subResultJson.put("faceImage", serializeDetailedCroppedImageResult(subResult.faceImage))
375
+ subResultJson.put("inputImage", encodeBase64Image(subResult.inputImage?.bitmap))
376
+ subResultJson.put("mrz", serializeMrzResult(subResult.mrz))
377
+ subResultJson.put(
378
+ "signatureImage",
379
+ serializeDetailedCroppedImageResult(subResult.signatureImage)
380
+ )
381
+ subResultJson.put("viz", serializeVizResult(subResult.viz))
382
+ return subResultJson
383
+ }
384
+
385
+ private fun serializeBarcodeResult(barcodeResult: BarcodeResult?): JSONObject {
386
+ val barcodeResultJson = JSONObject()
387
+ barcodeResultJson.put("additionalNameInformation", barcodeResult?.additionalNameInformation)
388
+ barcodeResultJson.put("address", barcodeResult?.address)
389
+ barcodeResultJson.put(
390
+ "addressDetailedInfo",
391
+ serializeAddressDetailedInfo(barcodeResult?.addressDetailedInfo)
392
+ )
393
+ barcodeResultJson.put("barcodeData", serializeBarcodeData(barcodeResult?.barcodeData))
394
+ barcodeResultJson.put("dateOfBirth", serializeDateResult(barcodeResult?.dateOfBirth))
395
+ barcodeResultJson.put("dateOfExpiry", serializeDateResult(barcodeResult?.dateOfExpiry))
396
+ barcodeResultJson.put("dateOfIssue", serializeDateResult(barcodeResult?.dateOfIssue))
397
+ barcodeResultJson.put("documentAdditionalNumber", barcodeResult?.documentAdditionalNumber)
398
+ barcodeResultJson.put("documentNumber", barcodeResult?.documentNumber)
399
+ barcodeResultJson.put(
400
+ "driverLicenseDetailedInfo",
401
+ serializeDriverLicenseDetailedInfo(barcodeResult?.driverLicenseDetailedInfo)
402
+ )
403
+ barcodeResultJson.put("employer", barcodeResult?.employer)
404
+ barcodeResultJson.put("firstName", barcodeResult?.firstName)
405
+ barcodeResultJson.put("fullName", barcodeResult?.fullName)
406
+ barcodeResultJson.put("issuingAuthority", barcodeResult?.issuingAuthority)
407
+ barcodeResultJson.put("lastName", barcodeResult?.lastName)
408
+ barcodeResultJson.put("maritalStatus", barcodeResult?.maritalStatus)
409
+ barcodeResultJson.put("middleName", barcodeResult?.middleName)
410
+ barcodeResultJson.put("nationality", barcodeResult?.nationality)
411
+ barcodeResultJson.put("personalIdNumber", barcodeResult?.personalIdNumber)
412
+ barcodeResultJson.put("placeOfBirth", barcodeResult?.placeOfBirth)
413
+ barcodeResultJson.put("profession", barcodeResult?.profession)
414
+ barcodeResultJson.put("race", barcodeResult?.race)
415
+ barcodeResultJson.put("religion", barcodeResult?.religion)
416
+ barcodeResultJson.put("residentialStatus", barcodeResult?.residentialStatus)
417
+ barcodeResultJson.put("sex", barcodeResult?.sex)
418
+ barcodeResultJson.put(
419
+ "extendedElements",
420
+ serializeBarcodeExtendedElements(barcodeResult?.extendedElements?.barcodeElements)
421
+ )
422
+
423
+ return barcodeResultJson
424
+ }
425
+
426
+ private fun serializeAddressDetailedInfo(addressDetailedInfo: AddressDetailedInfo?): JSONObject {
427
+ val addressDetailedInfoJson = JSONObject()
428
+ addressDetailedInfoJson.put("city", addressDetailedInfo?.city)
429
+ addressDetailedInfoJson.put("postalCode", addressDetailedInfo?.postalCode)
430
+ addressDetailedInfoJson.put("jurisdiction", addressDetailedInfo?.jurisdiction)
431
+ addressDetailedInfoJson.put("street", addressDetailedInfo?.street)
432
+
433
+ return addressDetailedInfoJson
434
+ }
435
+
436
+ private fun serializeBarcodeData(barcodeData: BarcodeData?): JSONObject {
437
+ val barcodeDataJson = JSONObject()
438
+ barcodeDataJson.put("barcodeType", barcodeData?.barcodeType?.ordinal)
439
+ barcodeDataJson.put("rawData", barcodeData?.rawData.toString())
440
+ barcodeDataJson.put("stringData", barcodeData?.stringData)
441
+ barcodeDataJson.put("uncertain", barcodeData?.uncertain)
442
+
443
+ return barcodeDataJson
444
+ }
445
+
446
+ private fun serializeMrzResult(mrzResult: MrzResult?): JSONObject {
447
+ val mrzResultJson = JSONObject()
448
+ mrzResultJson.put("dateOfBirth", serializeDateResult(mrzResult?.dateOfBirth))
449
+ mrzResultJson.put("dateOfExpiry", serializeDateResult(mrzResult?.dateOfExpiry))
450
+ mrzResultJson.put("documentCode", mrzResult?.documentCode)
451
+ mrzResultJson.put("documentNumber", mrzResult?.documentNumber)
452
+ mrzResultJson.put("documentType", mrzResult?.documentType?.ordinal)
453
+ mrzResultJson.put("gender", mrzResult?.gender)
454
+ mrzResultJson.put("issuer", mrzResult?.issuer)
455
+ mrzResultJson.put("issuerName", mrzResult?.issuerName)
456
+ mrzResultJson.put("nationality", mrzResult?.nationality)
457
+ mrzResultJson.put("nationalityName", mrzResult?.nationalityName)
458
+ mrzResultJson.put("opt1", mrzResult?.opt1)
459
+ mrzResultJson.put("opt2", mrzResult?.opt2)
460
+ mrzResultJson.put("primaryID", mrzResult?.primaryID)
461
+ mrzResultJson.put("rawMRZString", mrzResult?.rawMRZString)
462
+ mrzResultJson.put("sanitizedDocumentCode", mrzResult?.sanitizedDocumentCode)
463
+ mrzResultJson.put("sanitizedDocumentNumber", mrzResult?.sanitizedDocumentNumber)
464
+ mrzResultJson.put("sanitizedIssuer", mrzResult?.sanitizedIssuer)
465
+ mrzResultJson.put("sanitizedNationality", mrzResult?.sanitizedNationality)
466
+ mrzResultJson.put("sanitizedOpt1", mrzResult?.sanitizedOpt1)
467
+ mrzResultJson.put("sanitizedOpt2", mrzResult?.sanitizedOpt2)
468
+ mrzResultJson.put("secondaryID", mrzResult?.secondaryID)
469
+ mrzResultJson.put("verified", mrzResult?.verified)
470
+
471
+ return mrzResultJson
472
+ }
473
+
474
+ private fun serializeVizResult(vizResult: VizResult?): JSONObject {
475
+ val vizResultJson = JSONObject()
476
+
477
+ vizResult?.additionalAddressInformation?.let {
478
+ vizResultJson.put("additionalAddressInformation", serializeStringResult(it))
479
+ }
480
+ vizResult?.additionalNameInformation?.let {
481
+ vizResultJson.put("additionalNameInformation", serializeStringResult(it))
482
+ }
483
+ vizResult?.additionalOptionalAddressInformation?.let {
484
+ vizResultJson.put("additionalOptionalAddressInformation", serializeStringResult(it))
485
+ }
486
+ vizResult?.additionalPersonalIdNumber?.let {
487
+ vizResultJson.put("additionalPersonalIdNumber", serializeStringResult(it))
488
+ }
489
+ vizResult?.address?.let {
490
+ vizResultJson.put("address", serializeStringResult(it))
491
+ }
492
+ vizResult?.bloodType?.let {
493
+ vizResultJson.put("bloodType", serializeStringResult(it))
494
+ }
495
+ vizResult?.dateOfBirth?.let {
496
+ vizResultJson.put("dateOfBirth", serializeDateResult(it))
497
+ }
498
+ vizResult?.dateOfExpiry?.let {
499
+ vizResultJson.put("dateOfExpiry", serializeDateResult(it))
500
+ }
501
+ vizResult?.dateOfIssue?.let {
502
+ vizResultJson.put("dateOfIssue", serializeDateResult(it))
503
+ }
504
+ vizResult?.dateOfExpiryPermanent?.let {
505
+ vizResultJson.put("dateOfExpiryPermanent", it)
506
+ }
507
+ vizResult?.documentAdditionalNumber?.let {
508
+ vizResultJson.put("documentAdditionalNumber", serializeStringResult(it))
509
+ }
510
+ vizResult?.dependentsInfo.let {
511
+ vizResultJson.put(
512
+ "dependentsInfo",
513
+ JSONArray(it?.map { dependentInfo -> serializeDependentInfo(dependentInfo) })
514
+ )
515
+ }
516
+ vizResult?.documentNumber?.let {
517
+ vizResultJson.put("documentNumber", serializeStringResult(it))
518
+ }
519
+ vizResult?.documentOptionalAdditionalNumber?.let {
520
+ vizResultJson.put("documentOptionalAdditionalNumber", serializeStringResult(it))
521
+ }
522
+ vizResult?.documentSubtype?.let {
523
+ vizResultJson.put("documentSubtype", serializeStringResult(it))
524
+ }
525
+ vizResult?.driverLicenseDetailedInfo?.let {
526
+ vizResultJson.put("driverLicenseDetailedInfo", serializeDriverLicenseDetailedInfo(it))
527
+ }
528
+ vizResult?.eligibilityCategory?.let {
529
+ vizResultJson.put("eligibilityCategory", serializeStringResult(it))
530
+ }
531
+ vizResult?.employer?.let {
532
+ vizResultJson.put("employer", serializeStringResult(it))
533
+ }
534
+ vizResult?.fathersName?.let {
535
+ vizResultJson.put("fathersName", serializeStringResult(it))
536
+ }
537
+ vizResult?.firstName?.let {
538
+ vizResultJson.put("firstName", serializeStringResult(it))
539
+ }
540
+ vizResult?.fullName?.let {
541
+ vizResultJson.put("fullName", serializeStringResult(it))
542
+ }
543
+ vizResult?.issuingAuthority?.let {
544
+ vizResultJson.put("issuingAuthority", serializeStringResult(it))
545
+ }
546
+ vizResult?.lastName?.let {
547
+ vizResultJson.put("lastName", serializeStringResult(it))
548
+ }
549
+ vizResult?.localizedName?.let {
550
+ vizResultJson.put("localizedName", serializeStringResult(it))
551
+ }
552
+ vizResult?.profession?.let {
553
+ vizResultJson.put("profession", serializeStringResult(it))
554
+ }
555
+ vizResult?.placeOfBirth?.let {
556
+ vizResultJson.put("placeOfBirth", serializeStringResult(it))
557
+ }
558
+ vizResult?.personalIdNumber?.let {
559
+ vizResultJson.put("personalIdNumber", serializeStringResult(it))
560
+ }
561
+ vizResult?.nationality?.let {
562
+ vizResultJson.put("nationality", serializeStringResult(it))
563
+ }
564
+ vizResult?.mothersName?.let {
565
+ vizResultJson.put("mothersName", serializeStringResult(it))
566
+ }
567
+ vizResult?.maritalStatus?.let {
568
+ vizResultJson.put("maritalStatus", serializeStringResult(it))
569
+ }
570
+ vizResult?.manufacturingYear?.let {
571
+ vizResultJson.put("manufacturingYear", serializeStringResult(it))
572
+ }
573
+ vizResult?.race?.let {
574
+ vizResultJson.put("race", serializeStringResult(it))
575
+ }
576
+ vizResult?.religion?.let {
577
+ vizResultJson.put("religion", serializeStringResult(it))
578
+ }
579
+ vizResult?.remarks?.let {
580
+ vizResultJson.put("remarks", serializeStringResult(it))
581
+ }
582
+ vizResult?.residencePermitType?.let {
583
+ vizResultJson.put("residencePermitType", serializeStringResult(it))
584
+ }
585
+ vizResult?.residentialStatus?.let {
586
+ vizResultJson.put("residentialStatus", serializeStringResult(it))
587
+ }
588
+ vizResult?.sex?.let {
589
+ vizResultJson.put("sex", serializeStringResult(it))
590
+ }
591
+ vizResult?.specificDocumentValidity?.let {
592
+ vizResultJson.put("specificDocumentValidity", serializeStringResult(it))
593
+ }
594
+ vizResult?.sponsor?.let {
595
+ vizResultJson.put("sponsor", serializeStringResult(it))
596
+ }
597
+ vizResult?.vehicleOwner?.let {
598
+ vizResultJson.put("vehicleOwner", serializeStringResult(it))
599
+ }
600
+ vizResult?.vehicleType?.let {
601
+ vizResultJson.put("vehicleType", serializeStringResult(it))
602
+ }
603
+ vizResult?.visaType?.let {
604
+ vizResultJson.put("visaType", serializeStringResult(it))
605
+ }
606
+ return vizResultJson
607
+ }
608
+
609
+ private fun serializeDetailedCroppedImageResult(detailedCroppedImageResult: DetailedCroppedImageResult?): JSONObject {
610
+ val detailedCroppedImageResultJson = JSONObject()
611
+
612
+ detailedCroppedImageResult?.bitmap?.let {
613
+ encodeBase64Image(it)?.let { image ->
614
+ detailedCroppedImageResultJson.put("image", image)
615
+ }
616
+ }
617
+ detailedCroppedImageResult?.location?.let {
618
+ detailedCroppedImageResultJson.put("location", serializeLocation(it))
619
+ }
620
+ detailedCroppedImageResult?.side?.let {
621
+ detailedCroppedImageResultJson.put("side", it.ordinal)
622
+
623
+ }
624
+ return detailedCroppedImageResultJson
625
+ }
626
+
627
+ private fun serializeBarcodeExtendedElements(barcodeExtendedElements: Array<BarcodeElement>?): JSONObject {
628
+ val barcodeExtendedElementsJson = JSONObject()
629
+
630
+ barcodeExtendedElements?.let {
631
+ it.map { element ->
632
+ barcodeExtendedElementsJson.put(
633
+ element.key.name.replaceFirstChar { char -> char.lowercase() },
634
+ element.value
635
+ )
636
+ }
637
+ }
638
+ return barcodeExtendedElementsJson
639
+ }
640
+
641
+ private fun serializeStringType(value: Any?): Any? {
642
+ return when (value) {
643
+ is StringResult -> serializeStringResult(value)
644
+ is String -> value
645
+ else -> null
646
+ }
647
+ }
648
+
649
+ private fun encodeBase64Image(image: Bitmap?): String? {
650
+ return image?.let { bmp ->
651
+ val outputStream = ByteArrayOutputStream()
652
+ outputStream.use { stream ->
653
+ bmp.compress(Bitmap.CompressFormat.JPEG, 95, stream)
654
+ Base64.encodeToString(
655
+ stream.toByteArray(),
656
+ Base64.NO_WRAP
657
+ )
658
+ }
659
+ }
660
+ }
661
+ }